用于视频理解的使用基于运动的注意力的递归网络的制作方法

文档序号:15884506发布日期:2018-11-09 18:35阅读:102来源:国知局
用于视频理解的使用基于运动的注意力的递归网络的制作方法

本申请要求于2016年3月11日提交的题为“recurrentnetworkswithmotion-basedattentionforvideounderstanding(用于视频理解的使用基于运动的注意力的递归网络)”的美国临时专利申请no.62/306,972的权益,其公开内容通过援引全部明确纳入于此。

背景

领域

本公开的某些方面一般涉及机器学习,尤其涉及改进用于预测视频流的标签的系统和方法。

背景技术

可以包括一群互连的人工神经元(例如,神经元模型)的人工神经网络是一种计算设备或者表示将由计算设备执行的方法。

卷积神经网络是一种前馈人工神经网络。卷积神经网络可以包括神经元集合,其中每个神经元具有感受野并且共同地拼出一输入空间。卷积神经网络(cnn)具有众多应用。具体而言,cnn已被广泛使用于模式识别和分类领域。

递归神经网络(rnn)是一类神经网络,其包括网络的节点或单元之间的循环连接。循环连接创建了可以用作使得rnn能够对动态系统进行建模的存储器的内部状态。也就是说,这些循环连接为rnn提供编码存储器的能力,并且如此,这些网络在被成功地训练的情况下适用于序列学习应用。

长短期记忆(lstm)是微电路中的一种rnn,其由使用门控功能和乘法器来将值存储在存储器中的多个单元组成。lstm能够将值保持在存储器中达任一时间长度。如此,lstm在学习、分类系统(例如,手写和语音识别系统)和其他应用中可以是有用的。

概述

在本公开的一方面,给出了一种预测视频流的动作标签的方法。该方法包括接收视频流。该方法还包括计算视频流的当前帧和下一帧的光流。该方法另外包括从视频流的当前帧和计算出的光流生成注意力图。该方法进一步包括基于光流、先前隐藏状态和注意力图来预测当前帧的动作标签。

在本公开的另一方面,给出了一种用于预测视频流的动作标签的装置。该装置包括存储器以及耦合至该存储器的至少一个处理器。该一个或多个处理器被配置成接收视频流。(诸)处理器还被配置成计算视频流的当前帧和下一帧的光流。(诸)处理器被另外配置成从视频流的当前帧和计算出的光流生成注意力图。(诸)处理器被进一步配置成基于光流、先前隐藏状态和注意力图来预测当前帧的动作标签。

在本公开的又一方面,给出了一种用于预测视频流的动作标签的设备。该设备包括用于接收视频流的装置。该设备还包括用于计算视频流的当前帧和下一帧的光流的装置。该设备另外包括用于从视频流的当前帧和计算出的光流生成注意力图的装置。该设备进一步包括用于基于光流、先前隐藏状态和注意力图来预测当前帧的动作标签的装置。

根据本公开的再一方面,给出了一种非瞬态计算机可读介质。该非瞬态计算机可读介质其上编码有用于预测视频流的动作标签的程序代码。该程序代码由处理器执行,并且包括用于接收视频流的程序代码。该程序代码还包括用于计算视频流的当前帧和下一帧的光流的程序代码。该程序代码另外包括用于从视频流的当前帧和计算出的光流生成注意力图的程序代码。该程序代码进一步包括用于基于光流、先前隐藏状态和注意力图来预测当前帧的动作标签的程序代码。

本公开的附加特征和优点将在下文描述。本领域技术人员应当领会,本公开可容易地被用作修改或设计用于实施与本公开相同的目的的其他结构的基础。本领域技术人员还应认识到,这样的等效构造并不脱离所附权利要求中所阐述的本公开的教导。被认为是本公开的特性的新颖特征在其组织和操作方法两方面连同进一步的目的和优点在结合附图来考虑以下描述时将被更好地理解。然而,要清楚理解的是,提供每一幅附图均仅用于解说和描述目的,且无意作为对本公开的限定的定义。

附图简述

在结合附图理解下面阐述的详细描述时,本公开的特征、本质和优点将变得更加明显,在附图中,相同附图标记始终作相应标识。

图1解说了根据本公开的某些方面的使用片上系统(soc)(包括通用处理器)来设计神经网络的示例实现。

图2解说了根据本公开的各方面的系统的示例实现。

图3a是解说根据本公开的各方面的神经网络的示图。

图3b是解说根据本公开的各方面的示例性深度卷积网络(dcn)的框图。

图4是解说根据本公开的各方面的递归神经网络(rnn)的示意图。

图5a是解说根据本公开的各方面的视频帧中要为其预测标签的图像的示图。

图5b是解说根据本公开的各方面的用于预测视频帧中的动作的示例性架构的示图。

图6是解说根据本公开的各方面的用于预测视频帧中的动作的示例性架构的示图。

图7解说了根据本公开的各方面的用于预测视频流中的标签的方法。

详细描述

以下结合附图阐述的详细描述旨在作为各种配置的描述,而无意表示可实践本文中所描述的概念的仅有配置。本详细描述包括具体细节以便提供对各种概念的透彻理解。然而,对于本领域技术人员将显而易见的是,没有这些具体细节也可实践这些概念。在一些实例中,以框图形式示出众所周知的结构和组件以避免湮没此类概念。

基于本教导,本领域技术人员应领会,本公开的范围旨在覆盖本公开的任何方面,不论其是与本公开的任何其他方面相独立地还是组合地实现的。例如,可以使用所阐述的任何数目的方面来实现装置或实践方法。另外,本公开的范围旨在覆盖使用作为所阐述的本公开的各个方面的补充或者与之不同的其他结构、功能性、或者结构及功能性来实践的此类装置或方法。应当理解,所披露的本公开的任何方面可由权利要求的一个或多个元素来实施。

措辞“示例性”在本文中用于表示“用作示例、实例、或解说”。本文中描述为“示例性”的任何方面不必被解释为优于或胜过其他方面。

尽管本文描述了特定方面,但这些方面的众多变体和置换落在本公开的范围之内。虽然提到了优选方面的一些益处和优点,但本公开的范围并非旨在被限定于特定益处、用途或目标。相反,本公开的各方面旨在能宽泛地应用于不同的技术、系统配置、网络和协议,其中一些作为示例在附图以及以下对优选方面的描述中解说。详细描述和附图仅仅解说本公开而非限定本公开,本公开的范围由所附权利要求及其等效技术方案来定义。

用于视频理解的使用注意力和运动的递归网络

对于使用密集轨迹的传统视频编码或更新近的双流深度卷积神经网络架构两者而言,运动信息在传统上已经是自动视频理解的重要组成部分。与针对图像的卷积神经网络不同,最初提出递归网络来对有序数据进行优雅地建模。一种递归网络的流行变型是长短期记忆(lstm)架构。该模型可以处置消失的梯度,并且由此更适于对较长序列进行建模。因此,使用lstm可能有益于对视频的顺序时间结构进行建模并且更好地理解视听内容。

常规lstm架构在给定视频帧中的各个空间位置之间不进行区分。相反,常规lstm架构同等地对待视频帧中的所有位置。然而,为了理解视频,考虑动作是由行动者执行的并且存在比其他区域更感兴趣或更相关的某些区域是有益的。一些常规办法已经提出了针对动作分类的注意力lstm,其更注重与感兴趣的动作更相关的特定帧位置。这种注意力采用显著性图(例如,显著区域图)的形式,其指令lstm网络在视频帧中在哪里聚焦。常规注意力lstm使用帧t处的lstm状态来生成针对帧t+1的注意力,从而有效地预测下一帧中的动作的位置。然而,常规注意力lstm模型仅依赖于外观,而忽略有价值的运动信息。

相应地,本公开的各方面涉及人工神经网络(诸如递归神经网络(rnn)),其利用外观和运动信息来生成注意力显著性图。此外,本公开的各方面涉及基于所生成的注意力图来预测视频流的视频帧的动作标签(例如,感兴趣的对象的运动活动的标签)。

图1解说了根据本公开的某些方面的用于使用片上系统(soc)100来预测视频流的动作标签的示例实现,soc100可以包括通用处理器(cpu)或多核通用处理器(cpu)102。变量(例如,神经信号和突触权重)、与计算设备相关联的系统参数(例如,带有权重的神经网络)、延迟、频率槽信息、以及任务信息可被存储在与神经处理单元(npu)108相关联的存储器块、与cpu102相关联的存储器块、与图形处理单元(gpu)104相关联的存储器块、与数字信号处理器(dsp)106相关联的存储器块、专用存储器块118中,或可跨多个块分布。在通用处理器102处执行的指令可从与cpu102相关联的程序存储器加载或可从专用存储器块118加载。

soc100还可以包括为具体功能定制的附加处理块(诸如gpu104、dsp106、连通性块110(其可以包括第四代长期演进(4glte)连通性、无执照wi-fi连通性、usb连通性、蓝牙连通性等))以及例如可检测和识别姿势的多媒体处理器112。在一种实现中,npu实现在cpu、dsp、和/或gpu中。soc100还可以包括传感器处理器114、图像信号处理器(isp)、和/或导航120(其可以包括全球定位系统)。

soc100可基于arm指令集。在本公开的一方面,加载到通用处理器102中的指令可以包括用于接收视频流的代码。被加载到通用处理器102中的指令还可以包括:用于计算视频流的当前帧和前一帧或者当前帧和下一帧的光流的代码。另外,被加载到通用处理器102中的指令可以包括:用于从视频流的当前帧和计算出的光流生成注意力图的代码。此外,被加载到通用处理器102中的指令可以包括:用于基于光流、先前隐藏状态和注意力图来预测当前帧的动作标签的代码。

图2解说了根据本公开的某些方面的系统200的示例实现。如图2中所解说的,系统200可具有可以执行本文中所描述的方法的各种操作的多个局部处理单元202。每个局部处理单元202可以包括局部状态存储器204和可存储神经网络的参数的局部参数存储器206。另外,局部处理单元202可具有用于存储局部模型程序的局部(神经元)模型程序(lmp)存储器208、用于存储局部学习程序的局部学习程序(llp)存储器210、以及局部连接存储器212。此外,如图2中所解说的,每个局部处理单元202可与用于为该局部处理单元的各局部存储器提供配置的配置处理器单元214对接,并且与提供各局部处理单元202之间的路由的路由连接处理单元216对接。

神经网络可被设计成具有各种连通性模式。在前馈网络中,信息从较低层被传递到较高层,其中给定层中的每个神经元向更高层中的神经元进行传达。如上所述,可在前馈网络的相继层中构建阶层式表示。神经网络还可具有递归或反馈(也被称为自顶向下(top-down))连接。在递归连接中,来自给定层中的神经元的输出可被传达给相同层中的另一神经元。递归架构可有助于识别跨越不止一个按顺序递送给该神经网络的输入数据组块的模式。从给定层中的神经元到较低层中的神经元的连接被称为反馈(或自顶向下)连接。当高层级概念的识别可辅助辨别输入的特定低层级特征时,具有许多反馈连接的网络可能是有助益的。

参照图3a,神经网络的各层之间的连接可以是全连接的(302)或局部连接的(304)。在全连接网络302中,第一层中的神经元可将它的输出传达给第二层中的每个神经元,从而第二层中的每个神经元将从第一层中的每个神经元接收输入。替换地,在局部连接网络304中,第一层中的神经元可连接至第二层中有限数目的神经元。卷积网络306可以是局部连接的,并且被进一步配置成使得与针对第二层中每个神经元的输入相关联的连接强度被共享(例如,308)。更一般化地,网络的局部连接层可被配置成使得一层中的每个神经元将具有相同或相似的连通性模式,但其连接强度可具有不同的值(例如,310、312、314和316)。局部连接的连通性模式可能在更高层中产生空间上相异的感受野,这是由于给定区域中的更高层神经元可接收到通过训练被调谐为到网络的总输入的受限部分的性质的输入。

局部连接的神经网络可能非常适合于其中输入的空间位置有意义的问题。例如,被设计成识别来自车载摄像机的视觉特征的网络300可发展具有不同性质的高层神经元,这取决于它们与图像下部关联还是与图像上部关联。例如,与图像下部相关联的神经元可学习以识别车道标记,而与图像上部相关联的神经元可学习以识别交通信号灯、交通标志等。

深度卷积网络(dcn)可以用受监督式学习来训练。在训练期间,可向dcn呈递图像(诸如限速标志的经裁剪图像326),并且可随后计算“前向传递(forwardpass)”以产生输出322。输出322可以是对应于特征(诸如“标志”、“60”、和“100”)的值向量。网络设计者可能希望dcn在输出特征向量中针对其中一些神经元输出高得分,例如与经训练网络300的输出322中所示的“标志”和“60”对应的那些神经元。在训练之前,dcn产生的输出很可能是不正确的,并且由此可计算实际输出与目标输出之间的误差。dcn的权重可随后被调整以使得dcn的输出得分与目标更紧密地对准。

为了调整权重,学习算法可为权重计算梯度向量。该梯度可指示在权重被略微调整情况下误差将增加或减少的量。在顶层,该梯度可直接对应于连接倒数第二层中的活化神经元与输出层中的神经元的权重的值。在较低层中,该梯度可取决于权重的值以及所计算出的较高层的误差梯度。权重可随后被调整以减小误差。这种调整权重的方式可被称为“后向传播”,因为其涉及在神经网络中的“后向传递(backwardpass)”。

在实践中,权重的误差梯度可能是在少量示例上计算的,从而计算出的梯度近似于真实误差梯度。这种近似方法可被称为随机梯度下降法。随机梯度下降法可被重复,直到整个系统可达成的误差率已停止下降或直到误差率已达到目标水平。

在学习之后,dcn可被呈递新图像326并且在网络中的前向传递可产生输出322,其可被认为是该dcn的推断或预测。

深度卷积网络(dcn)是卷积网络的网络,其配置有附加的池化和归一化层。dcn已在许多任务上达成现有最先进的性能。dcn可使用受监督式学习来训练,其中输入和输出目标两者对于许多典范是已知的并被用于通过使用梯度下降法来修改网络的权重。

dcn可以是前馈网络。另外,如上所述,从dcn的第一层中的神经元到下一更高层中的神经元群的连接跨第一层中的神经元被共享。dcn的前馈和共享连接可被利用于进行快速处理。dcn的计算负担可比例如类似大小的包括递归或反馈连接的神经网络小得多。

卷积网络的每一层的处理可被认为是空间不变模版或基础投影。如果输入首先被分解成多个通道,诸如彩色图像的红色、绿色和蓝色通道,那么在该输入上训练的卷积网络可被认为是三维的,其具有沿着该图像的轴的两个空间维度以及捕捉颜色信息的第三维度。卷积连接的输出可被认为在后续层318和320中形成特征图,该特征图(例如,320)中的每个元素从先前层(例如,318)中一定范围的神经元以及从该多个通道中的每一个通道接收输入。特征图中的值可以用非线性(诸如矫正)max(0,x)进一步处理。来自毗邻神经元的值可被进一步池化(这对应于降采样)并可提供附加的局部不变性以及维度缩减。还可通过特征图中神经元之间的侧向抑制来应用归一化,其对应于白化。

图3b是解说示例性深度卷积网络350的框图。深度卷积网络350可以包括多个基于连通性和权重共享的不同类型的层。如图3b所示,该示例性深度卷积网络350包括多个卷积块(例如,c1和c2)。每个卷积块可配置有卷积(conv)层、归一化(lnorm)层、和池化层。卷积层可以包括一个或多个卷积滤波器,其可被应用于输入数据以生成特征图。尽管仅示出了两个卷积块,但本公开不限于此,而是,根据设计偏好,任何数目的卷积块可被包括在深度卷积网络350中。归一化层可被用于对卷积滤波器的输出进行归一化。例如,归一化层可提供白化或侧向抑制。池化层可提供在空间上的降采样聚集以实现局部不变性和维度缩减。

例如,深度卷积网络的平行滤波器组可任选地基于arm指令集被加载到soc100的cpu102或gpu104上以达成高性能和低功耗。在替换实施例中,平行滤波器组可被加载到soc100的dsp106或isp116上。另外,dcn可访问其他可存在于soc上的处理块,诸如专用于传感器114和导航120的处理块。

深度卷积网络350还可以包括一个或多个全连接层(例如,fc1和fc2)。深度卷积网络350可进一步包括逻辑回归(lr)层。深度卷积网络350的每一层之间是要被更新的权重(未示出)。每一层的输出可以用作深度卷积网络350中后续层的输入以从第一卷积块c1处提供的输入数据(例如,图像、音频、视频、传感器数据和/或其他输入数据)学习阶层式特征表示。

图4是解说递归神经网路(rnn)400的示意图。递归神经网路400包括输入层402、具有递归连接的隐藏层404、以及输出层406。给定具有多个输入向量xt的输入序列x(例如,x={x0,x1,x2…xt}),递归神经网络400将为输出序列z(例如,z={z0…zt})的每个输出向量zt预测分类标签yt。对于图4,如图4中所示的,在输入层402和输出层406之间指定具有m个单元(例如,ho…ht)的隐藏层404。隐藏层404的m个单元存储关于输入序列x的先前值的信息。

该m个单元可以是计算节点(例如,神经元)。在一种配置中,递归神经网络400接收输入xt并且通过迭代以下等式来生成输出zt的分类标签yt:

st=whxxt+whhht-1+bh(1)

ht=f(st)(2)

ot=wyhht+by(3)

yt=g(ot)(4)

其中whx、whh和wyh是权重矩阵,bh和by是偏差,是分别给隐藏层404和输出层406的输入,而f和g是非线性函数。函数f可以包括矫正器线性单元(relu),并且在一些方面,函数g可以包括线性函数和softmax(柔性最大)函数。另外,将隐藏层节点初始化为固定偏差bi,以使得在t=0时h0=bi。在一些方面,bi可被设为零(例如,bi=0)。具有单个训练对(x,y)的递归神经网络的目标函数c(θ)被定义为c(θ)=∑tlt(z,y(θ)),其中θ表示递归神经网络中的参数集(权重和偏置)。对于回归问题,lt=‖(zt-yt)2‖,而对于多类分类问题,lt=-∑jztjlog(ytj)。

图5a是解说来自帧序列(例如,视频)的要为其预测分类标签的帧(例如,图像)的示图。参照图5a,提供帧(it)504作为给神经网络(诸如递归神经网络)的输入。可以例如通过使用先前隐藏状态和作为给神经网络(例如,rnn)的输入的当前特征图(xt)的多层感知来预测对应于帧504的注意力图(at)502。注意力图(at)502可以与从帧504生成的特征图(xt)组合。例如,特征图可以从卷积神经网络的上卷积层(例如,图3b中的fc2)或者经由递归神经网络来生成。特征图可以是针对外观、光流、运动边界(例如,光流的梯度)、特征级的语义分割等的二维(2d)或三维(3d)特征图。

注意力图502提供了递归神经网络(rnn)或长短期记忆网络(lstm),以及帧504中的动作的位置。该动作可以通过使用外观运动信息来确定。如图5a中所示,注意力图at和特征图xt可以通过帧504中的所有空间位置上的加权和来组合以计算经加权的特征图xt(例如,)作为给rnn(或lstm)的输入,其中指示特征图xt中各个位置k处的特征向量(切片),而是该帧中其位置处的注意力图的权重。

图5b解说了用于预测帧中的动作的注意力递归神经网络的架构500的示例。示例性架构500可以包括递归神经网络,诸如长短期记忆(例如,注意力长短期记忆(lstm)网络)。示例性架构500可以包括具有输入单元(例如,x1、x2、x3、……)的输入层、具有隐藏单元(例如,r1、r2、r3、……)的隐藏层、以及具有输出单元(例如,y1、y2、y3、……)和注意力图(例如,a1、a2、a3、……)的输出层。这些单元中的每一者可以例如包括人工神经元或神经单元。如图5b中所示,对于(例如,帧序列中的)第一帧,注意力图a1和特征图x1被提供并被用来计算给注意力递归神经网络的第一隐藏单元r1的第一输入x1。在一些方面,第一帧的特征图(x1)可以包括外观信息(例如,来自帧的内容的视觉信息)。

第一隐藏单元r1预测第一分类标签y1并输出用来生成第二帧的第二注意力图a2(例如,后续注意力图)的第一隐藏状态h1。分类标签可被称为标签、感兴趣的类别、或动作标签。此外,分类标签指示帧中和/或帧序列中的动作、对象、事件。第一隐藏单元r1还将第一隐藏状态h1输出到第二隐藏单元r2。一时间步处的隐藏状态是该时间步处的神经网络(例如,注意力rnn)的内部表示。

特征图x2和第二注意力图a2可被用来确定注意力rnn的第二输入x2,其被输入给第二隐藏单元r2(其生成第二隐藏状态h2)。第二隐藏单元r2的隐藏状态随后被用来预测第三注意力图a3和第二帧的第二分类标签y2(例如,动作)。

特征图x3和注意力图a3可被用来确定注意力rnn的输入x3,其被提供给第三隐藏单元r3。第三隐藏单元r3的隐藏状态被用来预测下一注意力图和第三帧的动作标签y3(例如,帧3的动作)。随后可以在每个后续时间步处针对每个后续帧重复该过程。

图6是解说根据本公开的各方面的用于预测帧和/或帧序列中的动作的示例性架构600的示图。示例性架构600可被配置为包括上层递归神经网络和下层递归神经网络的分层网络(例如,两层递归神经网络)。尽管架构600包括递归神经网络(lstm),但这是示例性的,因为还考虑了其他神经网络架构。例如,上层可以是递归神经网络,而下层可以是卷积神经网络的上卷积层。在另一示例中,上层或下层可以包括递归神经网络,并且上层或下层可以包括多个堆叠式递归神经网络或长短期记忆层。

下层递归神经网络使用运动信息ft和来自前一帧的隐藏状态来生成当前帧t的注意力显著性图。运动信息ft可以从可以使用当前帧和下一帧估计的光流产生。运动信息ft可以经由cnn的上卷积层来产生。例如,下层递归神经网络单元rl2可以使用先前隐藏单元rl1的隐藏状态、上层递归神经网络单元rp1的隐藏状态hp1、以及运动信息f2来生成第二帧的注意力图a2。如此,下层递归神经网络可以为上层递归神经网络提供注意力图。这些层单元可以是人工神经元或神经单元。

所生成的当前帧的注意力图at可以与帧序列(例如,视频流)的当前帧的表示相组合。帧表示可以是帧特征图xt,以为上层递归神经网络创建输入xt。进而,上层递归神经网络可被配置成输出当前帧t的分类标签yt。另外,上层递归神经网络rpt可以输出上层递归神经网络(rnn)单元的隐藏状态ht,其可被提供给下层递归神经网络的后续隐藏单元rlt,并被用来计算或推断后续帧的注意力图at+1。

在操作中,如图6中所示,对于第一帧(时间步t1),注意力图a1可以使用第一下隐藏单元rl1来预测,第一下隐藏单元rl1接收运动信息ft作为给分层网络的下层的输入。运动信息可以从可以使用第一帧和第二帧计算出的光流产生。在一种配置中,光流是使用两个毗邻的帧(例如,视频帧)来计算的。注意力图a1被提供给帧特征图x1以计算包括组合特征的输入x1。第一输入x1的组合特征被输出到第一上隐藏层rp1,其可以预测第一分类标签y1。例如,第一分类标签可以将帧标记为包括潜水员,如图5a的帧504中所示的。

另外,第一上层单元rp1输出其隐藏状态hp1作为给下一帧处的后续下隐藏单元rl2的输入。在该示例中,第二下隐藏单元rl2从第一下隐藏单元rl1接收下单元隐藏状态hl1。第一上隐藏单元rp1的隐藏状态还被提供给上层的第二上隐藏单元rp2。隐藏单元rl2还接收从光流产生的运动输入f2。光流输入可以是预测帧(例如,帧t)的像素将如何移动到下一帧(例如,帧t+1)处的像素的向量场。例如,如果光流向量是在x,y处表达为2,3的2d向量,则光流指示帧t的像素将在后续帧t+1中向右移动2个像素并向上移动3个像素。也就是说,光流跟踪像素中的动作并且考虑运动以预测视频帧或帧序列内的最显著的特征。

使用光流和来自先前隐藏单元rp1和rl1的隐藏状态(例如,hp1和hl1),可以经由隐藏层单元rl2推断出新注意力图a2。第二注意力图a2可以与第二帧的帧外观特征图x2一起使用以计算给第二上隐藏单元rp2的第二输入x2。与先前帧相比,可以包括运动信息(例如光流)的第二注意力图a2可以改进该帧中感兴趣的区域(例如,行动者)的标识。由此,第二注意力图可以改进标签预测。

第二上隐藏单元rp2随后可以预测推断第二分类标签y2的新隐藏状态hp2。第二上隐藏单元rp2的隐藏状态可被输出到第三下隐藏单元rl3,并且可以与第二下隐藏单元rl2的隐藏状态以及运动输入(例如,光流)f3一起使用以计算第三帧的第三注意力图a3。第三注意力图a3可以与第三帧的特征表示(例如,第三帧特征图x3)一起使用以计算第三上隐藏单元rp3的第三输入x3,其进而预测推断第三帧的分类标签的新隐藏状态。此后,可以重复该过程。

本公开的各方面并不限于图5b和6中所示的神经网络的示例性隐藏单元的数目。当然,也构想了更多或更少个神经网络的隐藏单元。

在一种配置中,机器学习模型被配置成用于接收视频流。该模型还被配置成用于计算视频流的当前帧和前一帧或者当前帧和下一帧的光流。另外,该模型被配置成用于从视频流的当前帧和计算出的光流生成注意力图。此外,该模型被配置成用于基于光流、先前隐藏状态和注意力图来预测当前帧的动作标签。该模型包括接收装置、用于计算光流的装置、用于生成注意力图的装置和/或用于预测动作标签的装置。在一个方面,接收装置、计算装置、生成装置和/或预测装置可以是配置成执行所叙述功能的通用处理器102、与通用处理器102相关联的程序存储器、存储器块118、局部处理单元202、和/或路由连接处理单元216。在另一配置中,前述装置可以是配置成执行由前述装置所叙述的功能的任何模块或任何装置。

根据本公开的某些方面,每个局部处理单元202可被配置成基于模型的一个或多个期望功能特征来确定模型的参数,以及随着所确定的参数被进一步适配、调谐和更新来使这一个或多个功能特征朝着期望的功能特征发展。

图7解说了预测视频流的动作标签的方法700。在框702,该过程接收视频流。例如,神经网络从帧序列(例如,视频)接收要为其预测分类标签的帧(例如,图像)。参照图5a,提供帧(it)504作为给神经网络(诸如递归神经网络)的输入。在框704,该过程计算光流。该光流可以针对视频流的当前帧和下一帧来计算。在一些方面,光流可以从视频流的连贯帧来计算。在框706,该过程从该视频流的当前帧和计算出的光流生成注意力图。例如,如在图5a中看见的,可以例如通过使用先前隐藏状态和作为给神经网络(例如,rnn)的输入的当前特征图(xt)的多层感知来预测对应于帧504的注意力图(at)502。

可任选地,在框708,该过程可以从该视频流的该当前帧和该光流计算2d或3d特征图。例如,特征图可以从卷积神经网络的上卷积层(例如,图3b中的fc2)或者经由递归神经网络来生成。该2d或3d特征图可以基于帧外观、光流(例如,运动边界)、声谱图(音频)、语义分割(例如,对象标签)或其组合来确定。

此外,在框710,该过程基于视频帧、先前隐藏状态和注意力图来预测当前帧的动作标签。动作标签可以例如描述由视频流的一帧中感兴趣的对象执行的动作、运动或活动(例如,潜水、跑步)。在一些方面,递归神经网络(rnn)预测动作标签。在一些配置中,rnn可以包括长短期记忆网络。

该过程可以进一步在可任选框712预测第二动作标签。该第二动作标签是基于光流、先前隐藏状态、2d或3d特征图和注意力图针对下一帧来预测的。

在一些方面,方法700可由soc100(图1)或系统200(图2)来执行。即,举例而言但不作为限定,方法700的每个元素可由soc100或系统200、或者一个或多个处理器(例如,cpu102和局部处理单元202)和/或其中所包括的其他组件来执行。

以上所描述的方法的各种操作可由能够执行相应功能的任何合适的装置来执行。这些装置可以包括各种硬件和/或(诸)软件组件和/或(诸)模块,包括但不限于电路、专用集成电路(asic)、或处理器。一般而言,在附图中有解说的操作的场合,那些操作可具有带相似编号的相应配对装置加功能组件。

如本文所使用的,术语“确定”涵盖各种各样的动作。例如,“确定”可以包括演算、计算、处理、推导、研究、查找(例如,在表、数据库或其他数据结构中查找)、探知及诸如此类。另外,“确定”可以包括接收(例如接收信息)、访问(例如访问存储器中的数据)、及类似动作。此外,“确定”可以包括解析、选择、选取、确立及类似动作。

如本文中所使用的,引述一列项目“中的至少一个”的短语是指这些项目的任何组合,包括单个成员。作为示例,“a、b或c中的至少一个”旨在涵盖:a、b、c、a-b、a-c、b-c、以及a-b-c。

结合本公开所描述的各种解说性逻辑框、模块、以及电路可用设计成执行本文中所描述的功能的通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列信号(fpga)或其他可编程逻辑器件(pld)、分立的门或晶体管逻辑、分立的硬件组件或其任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,处理器可以是任何市售的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如,dsp与微处理器的组合、多个微处理器、与dsp核心协同的一个或多个微处理器、或任何其他此类配置。

结合本公开描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件模块中、或在这两者的组合中实施。软件模块可驻留在本领域所知的任何形式的存储介质中。可使用的存储介质的一些示例包括随机存取存储器(ram)、只读存储器(rom)、闪存、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、寄存器、硬盘、可移动盘、cd-rom,等等。软件模块可以包括单条指令、或许多条指令,且可分布在若干不同的代码段上,分布在不同的程序间以及跨多个存储介质分布。存储介质可被耦合至处理器以使得该处理器能从/向该存储介质读写信息。替换地,存储介质可以被整合到处理器。

本文中所公开的方法包括用于达成所描述的方法的一个或多个步骤或动作。这些方法步骤和/或动作可以彼此互换而不会脱离权利要求的范围。换言之,除非指定了步骤或动作的特定次序,否则具体步骤和/或动作的次序和/或使用可以改动而不会脱离权利要求的范围。

所描述的功能可在硬件、软件、固件或其任何组合中实现。如果以硬件实现,则示例硬件配置可以包括设备中的处理系统。处理系统可以用总线架构来实现。取决于处理系统的具体应用和整体设计约束,总线可以包括任何数目的互连总线和桥接器。总线可将包括处理器、机器可读介质、以及总线接口的各种电路链接在一起。总线接口可用于尤其将网络适配器等经由总线连接至处理系统。网络适配器可用于实现信号处理功能。对于某些方面,用户接口(例如,按键板、显示器、鼠标、操纵杆,等等)也可以被连接到总线。总线还可以链接各种其他电路,诸如定时源、外围设备、稳压器、功率管理电路以及类似电路,它们在本领域中是众所周知的,因此将不再进一步描述。

处理器可负责管理总线和一般处理,包括执行存储在机器可读介质上的软件。处理器可用一个或多个通用和/或专用处理器来实现。示例包括微处理器、微控制器、dsp处理器、以及其他能执行软件的电路系统。软件应当被宽泛地解释成意指指令、数据、或其任何组合,无论是被称作软件、固件、中间件、微代码、硬件描述语言、或其他。作为示例,机器可读介质可以包括随机存取存储器(ram)、闪存存储器、只读存储器(rom)、可编程只读存储器(prom)、可擦式可编程只读存储器(eprom)、电可擦式可编程只读存储器(eeprom)、寄存器、磁盘、光盘、硬驱动器、或者任何其他合适的存储介质、或其任何组合。机器可读介质可被实施在计算机程序产品中。该计算机程序产品可以包括包装材料。

在硬件实现中,机器可读介质可以是处理系统中与处理器分开的一部分。然而,如本领域技术人员将容易领会的,机器可读介质或其任何部分可在处理系统外部。作为示例,机器可读介质可以包括传输线、由数据调制的载波、和/或与设备分开的计算机产品,所有这些都可由处理器通过总线接口来访问。替换地或补充地,机器可读介质或其任何部分可被集成到处理器中,诸如高速缓存和/或通用寄存器文件可能就是这种情形。虽然所讨论的各种组件可被描述为具有特定位置,诸如局部组件,但它们也可按各种方式来配置,诸如某些组件被配置成分布式计算系统的一部分。

处理系统可以被配置为通用处理系统,该通用处理系统具有一个或多个提供处理器功能性的微处理器、以及提供机器可读介质中的至少一部分的外部存储器,它们都通过外部总线架构与其他支持电路系统链接在一起。替换地,该处理系统可以包括一个或多个神经元形态处理器以用于实现本文中所描述的神经元模型和神经系统模型。作为另一替换方案,处理系统可以用带有集成在单块芯片中的处理器、总线接口、用户接口、支持电路系统、和至少一部分机器可读介质的专用集成电路(asic)来实现,或者用一个或多个现场可编程门阵列(fpga)、可编程逻辑器件(pld)、控制器、状态机、门控逻辑、分立硬件组件、或者任何其他合适的电路系统、或者能执行本公开通篇所描述的各种功能性的电路的任何组合来实现。取决于具体应用和加诸于整体系统上的总设计约束,本领域技术人员将认识到如何最佳地实现关于处理系统所描述的功能性。

机器可读介质可以包括数个软件模块。这些软件模块包括当由处理器执行时使处理系统执行各种功能的指令。这些软件模块可以包括传送模块和接收模块。每个软件模块可以驻留在单个存储设备中或者跨多个存储设备分布。作为示例,当触发事件发生时,可以从硬驱动器中将软件模块加载到ram中。在软件模块执行期间,处理器可以将一些指令加载到高速缓存中以提高访问速度。可随后将一个或多个高速缓存行加载到通用寄存器文件中以供处理器执行。在以下述及软件模块的功能性时,将理解此类功能性是在处理器执行来自该软件模块的指令时由该处理器来实现的。此外,应领会,本公开的各方面产生对处理器、计算机、机器或实现此类方面的其它系统的机能的改进。

如果以软件实现,则各功能可作为一条或多条指令或代码存储在计算机可读介质上或藉其进行传送。计算机可读介质包括计算机存储介质和通信介质两者,这些介质包括促成计算机程序从一地向另一地转移的任何介质。存储介质可以是能被计算机访问的任何可用介质。作为示例而非限定,此类计算机可读介质可包括ram、rom、eeprom、cd-rom或其他光盘存储、磁盘存储或其他磁存储设备、或能用于携带或存储指令或数据结构形式的期望程序代码且能被计算机访问的任何其他介质。另外,任何连接也被正当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(dsl)、或无线技术(诸如红外(ir)、无线电、以及微波)从web网站、服务器、或其他远程源传送而来,则该同轴电缆、光纤电缆、双绞线、dsl或无线技术(诸如红外、无线电、以及微波)就被包括在介质的定义之中。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(cd)、激光碟、光碟、数字多用碟(dvd)、软盘、和碟,其中盘(disk)常常磁性地再现数据,而碟(disc)用激光来光学地再现数据。因此,在一些方面,计算机可读介质可以包括非瞬态计算机可读介质(例如,有形介质)。另外,对于其他方面,计算机可读介质可以包括瞬态计算机可读介质(例如,信号)。上述的组合应当也被包括在计算机可读介质的范围内。

因此,某些方面可以包括用于执行本文中给出的操作的计算机程序产品。例如,此类计算机程序产品可以包括其上存储(和/或编码)有指令的计算机可读介质,这些指令能由一个或多个处理器执行以执行本文中所描述的操作。对于某些方面,计算机程序产品可包括包装材料。

此外,应当领会,用于执行本文中所描述的方法和技术的模块和/或其它恰适装置能由用户终端和/或基站在适用的场合下载和/或以其他方式获得。例如,此类设备能被耦合至服务器以促成用于执行本文中所描述的方法的装置的转移。替换地,本文中所描述的各种方法能经由存储装置(例如,ram、rom、诸如压缩碟(cd)或软盘等物理存储介质等)来提供,以使得一旦将该存储装置耦合至或提供给用户终端和/或基站,该设备就能获得各种方法。此外,可利用适于向设备提供本文中所描述的方法和技术的任何其他合适的技术。

将理解,权利要求并不被限于以上所解说的精确配置和组件。可在以上所描述的方法和装置的布局、操作和细节上作出各种改动、更换和变形而不会脱离权利要求的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1