一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

视频理解神经网络系统及其使用方法与流程

2022-02-22 06:59:26 来源:中国专利 TAG:
视频理解神经网络系统及其使用方法与流程

本申请涉及神经网络系统和方法,更具体地,涉及视频理解神经网络系统及其使用方法。

背景技术

视频是当今大数据中不可缺少的一部分。在图像和语音的深度学习进展的推动下,使用深度学习技术来理解视频内容已经成为最热门的话题之一。与静止图像相比,视频数据中隐藏着额外的多尺度时间模式。视频理解,如视频分类或其它类型的使用人工智能的机器学习方法,目标是提取鲁棒的视频特征表示,并有效利用视频中的多尺度时空线索,根据其语义内容如人类行动或复杂事件自动分类视频片段。

针对这项任务,大量工作已经开展。然而,目前的工作通常受到昂贵的计算成本或内存开销的影响。例如,双流CNN的计算成本很高,而且不能考虑帧的顺序,不能分析视频中的时间动态;非本地神经网络的特点是在矩阵乘法中具有很大的内存开销;慢速网络的计算成本很高。

因此,需要找到一个高效、轻量级但通用的组件,用于捕捉深度神经网络中的时间依赖性。



技术实现要素:

本申请的一个方面涉及由一个或多个电子设备实现的神经网络系统(例如,2D、3D神经网络系统或其它维度的神经网络系统)。该神经网络包括:基线神经网络,用于处理以时间序列构建的多个图像。该基线神经网络包括:第一基线块,用于处理第一特征图中的至少一个空间特征,从而将与多个图像相关的第一特征图转换为第二特征图;以及邻近该第一基线块的目标神经网络块,用于对第二特征图进行时间处理,从而将第二特征图转换为时间特征图;并将该时间特征图与该第二特征图相结合,从而生成第三特征图。

根据本申请的一个方面,提出了一种使用至少一个神经网络分析以时间序列构建的多个图像(例如,视频剪辑)的方法。该方法包括:基线神经网络的第一块处理第一特征图中的至少一个空间特征,从而将与多个图像相关的该第一特征图转换为第二特征图;目标神经网络块对该第二特征图进行时间处理,从而将该第二特征图转换为时间特征图;以及该目标神经网络块将该时间特征图与该第二特征图相结合,从而生成第三特征图。

根据本申请的另一个方面,非临时存储介质可以包括用于神经网络(例如,二维、三维神经网络系统或其它维度的神经网络系统)的指令集和操作该神经网络的操作指令。当执行指令集时,电子设备的处理器可以执行以下操作:基线神经网络的第一块处理第一特征图中的至少一个空间特征,从而将与多个图像相关的该第一特征图转换为第二特征图;目标神经网络块对该第二特征图进行时间处理,从而将该第二特征图转换为时间特征图;以及该目标神经网络块将该时间特征图与该第二特征图相结合,从而生成第三特征图。

附图说明

本申请的内容将通过示范性实施例进一步描述。在以下的详细描述中,当结合附图时,本申请的实施例的上述和其它方面将变得更加明显。

图1示出了本申请实施例提出的一种用于操作神经网络系统和视频分类方法的电子设备的示意框图;

图2示出了本申请实施例提出的一种用于分类和分析视频片段的基线神经网络的结构示意图;

图3A-C示出了本申请实施例提出的基线神经网络的不同神经网络块结构的示意框图;

图4示出了本申请实施例提出的一种用于分类视频片段的经修正的神经网络的结构示意图;

图5示出了本申请实施例提出的一种时间信息聚合块的示意图;

图6A-C示出了本申请实施例提出的时间信息聚合块可提取的时间信息的示意图;

图7示出了本申请实施例提出的一种通过至少一个神经网络分析时序构建的多个图像的方法的流程图。

具体实施方式

本申请的一个方面涉及时间信息聚合(Temporal Information Aggregation,TIA)模块或块。通过连续地用各种池化窗口对特征图进行时间池化,TIA块可以有效地从所述特征图中提取潜在的多尺度时间信息。然后,提取的多尺度时间信息可能有助于神经网络或神经网络的一部分的最终输出作为残差。TIA模块/块可以被插入任何神经网络架构(如ResNet-50网络),用于各种计算机视觉任务,如视频搜索、时刻搜索和字幕等。根据理解视频片段所需要的时间尺度,池化窗口可以与基线神经网络中卷积层的内核的相应时间尺度相同或不同,从而使TIA提取的时间信息与基线神经网络的时间尺度不同。

下面的描述是为了使本领域技术人员能够制造和使用本申请的内容,并且是在特定应用及其要求的背景下提供的。对所公开的实施例的各种修改对于本领域技术人员来说将是显而易见的,并且此处定义的一般原则可应用于其它实施例和应用,而不偏离本申请的精神和范围。因此,本申请的内容不限于所示实施例,而应给予与权利要求书相一致的最广泛的范围。

还应理解的是,尽管术语“第一”、“第二”等在此可用于描述各种元素,但这些元素不应受到这些术语的限制。这些术语仅用于将一个元素与另一个元素区分开来。例如,第一接触可以被称为第二接触,同样,第二接触也可以被称为第一接触,而不偏离本申请的范围。第一接触和第二接触都是接触,但它们不是同一个接触。

本文使用的术语仅用于描述特定的示例性实施例,并不打算进行限制。如本文所使用的,单数形式“一个”可意指也包括复数形式,除非上下文明确指出。将进一步理解,术语“包括”、“可能包含”和/或“包含”当在本说明书中使用时,指定存在所述特征、整数、步骤、操作、元素和/或组件,但不排除存在或添加一个或多个其它特征、整数、步骤、操作、元素、组件和/或其组合。

如本文所使用的,术语“如果”可解释为“当”或“一旦”或“相应于确定”或“相应于检测”,这取决于上下文。类似地,短语“如果确定”或“如果检测到【所述条件或事件】”可被解释为“在确定时”或“响应于确定”或“在检测到【所述条件或事件】时”或“响应于检测到【所述条件或事件】”,这取决于上下文。

如本文所使用的,程序、指令和数据被存储在预定的数据结构中。例如,数据结构可包括第一部分、第二部分和第三部分的字节。第二部分可以包括数据所涉及的内容。例如,对于存储在存储介质中的图像,其内容数据可以是图像的实质内容。对于一个指令,其内容可以是与该指令相对应的命令的实质内容。数据的第三部分可以是一个指针端,指针头可以指向下一个数据字节的第一部分。数据的第一部分可以是指针头,其中指针端可以连接到另一数据字节的第三数据部分。

本申请的这些和其它特征,以及相关结构元素的操作方法和功能,以及部件的组合和制造的经济性,在参照附图考虑以下描述后可能变得更加明显,所有这些附图构成本说明书的一部分。然而,应明确理解的是,附图仅用于说明和描述的目的,并不限制本申请的公开范围。应该理解的是,这些附图并不是按比例绘制的。

本申请中使用的流程图说明了,根据本申请中的一些实施例,系统实施的操作。应明确理解的是,流程图的操作可以或可以不按顺序实施。反之,这些操作可以按颠倒的顺序实施,或同时实施。此外,一个或多个其它操作可以被添加到流程图中。一个或多个操作可以从流程图中移除。

此外,虽然本申请中的系统和方法主要是针对诸如计算机、工作站和服务器的电子设备来描述的,但也应该理解,这只是本申请中介绍的系统和方法的示例性实现。本领域技术人员在本申请的提交日期时可以理解,本申请的系统和方法也可以在其它电子设备中实现,例如智能手机、平板电脑、笔记本电脑、台式电脑、智能相机或其它具有视频/图像序列处理能力的电子设备。

图1示出了本申请实施例提出的一种用于操作神经网络系统和视频分类方法的电子设备的示意框图。例如,电子设备100可以是一台或多台计算机、工作站、服务器、智能手机、其它移动设备、或其它电子设备。

便携式设备100可以包括处理器120(例如,CPU和/或GPU和/或DSP)、存储控制器122、存储器102、外围设备接口118、电源系统162、以及连接到外围设备接口118的I/O子系统106。在一些实施例中,外围设备接口118、CPU120和存储控制器122可以在单个芯片上实现,如芯片104。在其它实施例中,它们分别可以在单独的芯片上实现。

电源系统162可以向设备100中的各种组件(例如,CPU120、存储控制器122、存储器102、外围设备接口118、电源系统162以及连接到外围设备接口118的若干I/O子系统106)提供电源。电源系统162可以包括电源管理系统、一个或多个电源(例如,电池、交流电(AC))、充电系统、电源故障检测电路、电源转换器或逆变器、电源状态指示器(例如,发光二极管(LED))以及与便携式设备中电源的产生、管理和分配相关的任何其它部件。

I/O子系统106可包括外部端口124、音频设备110、外部端口124、显示器156和光学传感器158。外围接口110可以从/向I/O子系统106中的它们的相应设备接收/发送电信号。

音频设备110,例如扬声器和/或麦克风可以在用户和设备100之间提供音频接口。

显示器156可以向用户提供输入/输出接口。在一些实施例中,显示156可以是设备100的屏幕或触摸敏感的屏幕。外围接口118可以从/向触摸敏感显示系统112接收和/或发送电信号。触摸敏感显示系统112可以向用户显示视觉输出(例如,图像或视频流)和/或接收来自用户的指令。

光学传感器158可以是一个或多个内置相机,其包括一个或多个镜头和电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)光电晶体管。光学传感器158可以接收来自环境的光,通过一个或多个镜头投射,并将光转换为代表图像的数据。结合成像模块143(也称为相机模块),光学传感器158可以捕获静态图像和/或视频流。

图像或视频流也可以通过其它输入设备160输入到外围接口118,例如存储图像和视频的内部和/或外部存储器。

存储器102可以包括大容量存储器、可移动存储器、易失性读写存储器、只读存储器(ROM)或类似物,或其任何组合。例如,大容量存储器可以包括磁片、光盘、固态驱动器等。可移动存储器可包括闪存驱动器、软盘、光盘、存储卡、压缩磁盘、磁带等。易失性读写存储器可以包括随机存取存储器(RAM)。RAM可以包括动态RAM(DRAM)、双倍速率同步动态RAM(DDR SDRAM)、静态RAM(SRAM)、晶闸管RAM(T-RAM)和零电容RAM(Z-RAM)等。ROM可以包括掩膜ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、紧凑型磁盘ROM(CD-ROM)和数字多功能磁盘ROM等。在一些实施例中,存储器102可以存储一个或多个软件组件,以执行本申请中描述的示例性方法。例如,存储器102可以存储一个程序,用于处理器处理存储在存储器102中的或由处理器120从I/O设备(例如内置相机)接收的图像数据。

在一些实施例中,一个或多个软件组件可以包括操作系统126、通信模块(或指令集)128、图形模块(或指令集)132、以及应用程序(或指令集)136。

操作系统126(例如,ANDROID、iOS、Darwin、RTXC、LINUX、UNIX、OS X、WINDOWS或诸如VxWorks的嵌入式操作系统)可以包括用于控制和管理一般系统任务(例如,存储器管理、存储设备控制、电源管理等)的各种软件组件和/或驱动程序,并且促进各种硬件和软件组件之间的通信。

通信模块128可以促进通过一个或多个外部端口124与其它设备的通信,并且还可以包括用于处理收到的外部端口124的数据的各种软件组件。外部端口124(例如,通用串行总线(USB)、FIREWIRE等)可以适于直接耦合到其它设备或通过网络(例如,互联网、无线局域网等)间接耦合。在一些实施例中,外部端口可以是多针(例如,30针)合成器。

图形模块132可以包括用于在显示器156上渲染和显示图形的各种已知的软件组件,包括用于改变被显示的图形的视觉效果(例如,亮度、透明度、饱和度、对比度或其它视觉属性)的组件。如本文所使用的,术语“图形”可包括可显示给用户的任何对象,包括但不限于文本、网页、图标(例如包括软键的用户界面对象)、数字图像、视频、动画等。

在一些实施例中,图形模块132可以存储代表要使用的图形的数据。每个图形可选地被分配一个相应的代码。图形模块132可以从应用程序或光学传感器158等接收数据。

应用程序136可以包括以下模块(或指令集),或其子集或超集:针对静态和/或视频图像的相机模块143,图像管理模块144,以及其它应用程序146。存储在存储器102中的其它应用程序146的例子可以包括神经网络应用程序,例如3-D ResNet-50网络或基于其的任何修改。

与显示器156、一个或多个光学传感器158、图形模块132以及图像管理模块144结合,相机模块143可以包括可执行指令,以从光学传感器158(例如照相机)捕获静态图像或视频(包括视频流)并将其存储到存储器102中,修改静态图像或视频的特征,以及/或从存储器102中删除静态图像或视频。

与显示控制器156、图形模块132和相机模块143结合,图像管理模块144可以包括可执行指令,以安排、修改(例如,编辑)或以其它方式操作、标记、删除、呈现(例如,在数字幻灯片或相册中)和存储静态和/或视频图像。

上述每个模块和应用可以对应于一组可执行指令,用于执行上述的一个或多个功能和本申请中描述的方法(例如,本文描述的计算机实现的方法和其它信息处理方法)。这些模块(即指令集)不需要作为单独的软件程序、程序或模块来实现,因此这些模块的各种子集在各种实施例中可选择地被组合或以其它方式重新构建。在一些实施例中,存储器102可以存储上述模块和数据结构的子集。此外,存储器102可选择地存储上面没有描述的额外模块和数据结构。

进一步,设备100的上述组件可以通过一个或多个通信总线或信号线103进行通信。

应当理解,上述设备100只是电子设备的一个例子,并且设备100可以具有比所示更多或更少的组件,可以结合两个或更多的组件,或者可选地具有组件的不同配置或排列。图1中所示的各种组件以硬件、软件、固件或其组合实现,包括一个或多个信号处理和/或特定应用集成电路。

本申请的一个方面中,时间信息聚合(TIA)模块/块可以容易地插入到神经网络中,称为基线神经网络,它适合于理解视频剪辑和/或音轨的内容并进行分类。图2示出了本申请实施例提出的一种用于分类和分析视频片段的基线神经网络200的结构示意图。神经网络200可以作为指令集和/或程序在电子设备100中实现。因此,为了对视频剪辑或音轨进行分类,设备100的芯片104和/或处理器120可以与存储器102通信,并执行神经网络200的指令集以加载和激活神经网络200。因而,神经网络200可以执行本申请中公开的行动和/或方法。

此外,仅出于说明目的,以下描述使用3-D ResNet-50深度学习神经网络作为神经网络200的例子来对视频剪辑进行分类。然而,本领域技术人员应该理解,其它类型的二维或三维神经网络也可用于视频内容理解(例如,视频分类)。此外,除了视频内容理解,在音频信号理解(如音频分类)的场景中,TIA模块/块也可以被插入适合音频内容理解的神经网络中。任何适合于音轨内容学习和/或分类的二维或三维神经网络的类型,例如二维ResNet-50,都可以在本申请中使用。

基线网络200可以包括依次串联到彼此的多个级。每个级可以包括多个块。基线网络200可以重复地采用/采纳3个基线神经网络块结构:结构A、结构A’和结构B。

图3A示出了本申请实施例提出的结构A的示意框图。神经网络块结构A可以包括多个可分离的三维卷积层,即,该结构A可以被设计/构造为在不同层的不同域对输入进行解耦卷积操作。例如,对于与视频片段的多个原始图像帧有关的输入特征图302,该特征图302可以包括空间域和时间域的信息。相应地,一个特征图可以用TxHxWxC表示,其中T代表时间轴,H和W分别代表空间轴,C是特征图的通道数。具体来说,对于结构A,特征图302可以表示为TxHxWxC=TAxHAxWAxCA,其中下标A表示结构A。图3A中的神经网络块结构A可以被设计为通过独立的卷积层对输入特征图302进行空间卷积和时间卷积。为此,神经网络块结构A可以包括4个卷积层。

第一卷积层312可以被设计/构造成将输入特征图的通道数从特征图302的CA改为CA/4。为此,第一卷积层312可以包括输入特征图302的T轴、H轴和W轴上的1x1x1的内核尺寸和1x1x1的跨度。相应地,卷积层312的输出特征可以是TAxHAxWAxCA/4的尺寸。

第二卷积层314可以被配置为对第一卷积层312的输出进行和/或执行纯空间卷积,而不在时域中执行任何操作。为此,第二卷积层314可以被设计/构造成在空间域中执行卷积,即,内核尺寸在时间轴(T轴)中可以是1,在空间域(H轴和W轴)中大于1。在图3A所示的实施例中,第二卷积层314的内核尺寸为1x3x3。此外,第二卷积层314可以被设计/构造成在空间域保持特征图的尺寸不变。因此,第二卷积层314可以另外包括对空间域的填充操作,并且第二卷积层314中的跨度可以是1x1x1。第二卷积层314也可以被设计/构造成在第一卷积层312的输出中保持通道数不变。相应地,第二卷积层314的输出的尺寸可以是TAxHAxWAxCA/4。

第三卷积层316可以被设计/构造为对第二卷积层314的输出进行和/或执行纯时间卷积,而不在空间域中执行任何操作。为此,第三卷积层316可以被设计/构造成在时域中执行卷积,即,内核尺寸在空间轴(H轴和W轴)中可以是1x1,在时域(T轴)中大于1。在图3A所示的实施例中,第三卷积层316的内核尺寸为3x1x1。此外,第三卷积层316可以被设计/构造成在时域保持特征图的尺寸不变。因此,第三卷积层316可以另外包括对时域的填充操作,并且第三卷积层316中的跨度可以是1x1x1。第三卷积层316也可以被设计/构造成保持第一卷积层314的输出中的通道数不变。因此,第二卷积层316的输出的尺寸可以是TAxHAxWAxCA/4。

第四卷积层318被设计/构造为从第三卷积层316的输出特征图中把输入特征图的通道数从CA/4改回CA。为此,第四卷积层318可以包括在T、H、W轴上的1x1x1的内核尺寸和1x1x1的跨度。因此,第四卷积层318的输出特征图可以是TAxHAxWAxCA的尺寸,与输入特征图302相同。第四卷积层318的输出特征图可以被称为残差特征图。

在获得残差特征图之后,结构A可以进一步包括求和单元319,以在原始输入302和残差特征图之间进行求和319。求和结果可以是结构A的输出特征图303。

此外,结构A还可以包括在图3A所示位置的若干整流器。

图3B示出了本申请实施例提出的结构A’的示意框图。神经网络块结构A’可以包括多个可分离的三维卷积层,即,结构A’可以被配置/设计为在不同层的不同域对输入进行解耦卷积。例如,对于与视频片段的多个原始图像帧有关的输入特征图302’,该特征图302’可以包括空间域和时间域的信息。相应地,特征图302’可由TxHxWxC=TA’xHA’xWA’xCx表示,其中下标A’指结构A’,Cx指输入特征图所具有的通道数。图3B中的神经网络块结构A’可以被设计/构造成通过单独和独立的卷积层对输入特征图302’进行空间卷积和时间卷积。为此,神经网络块结构A’可以包括4个卷积层。

第一卷积层312’可以被设计/构造为从特征图302’输出输入通道Cx的任何数量到预定数量CA’的输入特征图的通道数。为此,第一卷积层312’可以包括在T、H、W轴上的1x1x1的内核尺寸和1x1x1的跨度。因此,卷积层312’的输出特征可以是TA’xHA’xWA’xCA’的尺寸。

结构A’的第二卷积层314’、第三卷积层316’和第四卷积层316’中的参数以及整流器ReLu可以保持与结构A的对应的层相同。此外,结构A’的求和单元319’可以合成残差特征图(即,来自第四卷积层318’的输出)和第一卷积层312’的输出特征图。相应地,结构A’的最终输出特征图304’的通道可以是4CA’的4倍。因此,最终输出特征图304’可以是TA’xHA’xWA’x4CA’的尺寸。

图3C示出了本申请实施例提出的结构B的示意框图。神经网络块结构B可以包括多个可分离的三维卷积层,即,该结构B可以被配置/设计为在不同层的不同域对输入进行解耦卷积。例如,对于与视频片段的多个原始图像帧有关的输入特征图306,该特征图306可以包括空间域和时间域的信息。因此,特征图306可由TxHxWxC=TBxHBxWBxCB表示,其中下标B表示结构B。图3C中的神经网络块结构B可被设计为通过独立的卷积层对输入特征图306进行空间卷积和时间卷积。神经网络块结构B还可以减少输出特征图的尺寸。为此,神经网络块结构B可以包括5个卷积层。

第一卷积层322可以被设计/构造成将输入特征图的通道数从特征图306中的CB缩减到CB/4。为此,第一卷积层322可以包括在T、H、W轴上的1x1x1的内核尺寸和1x1x1的跨度。相应地,卷积层322的输出特征可以是TBxHBxWBxCB/4的尺寸。

第二卷积层314可以被配置为对第一卷积层322的输出进行和/或执行纯空间卷积,而不在时域中执行任何操作。为此,第二卷积层324可以被设计/构造成在空间域中执行卷积,即,内核尺寸在时间轴(T轴)中可以是1,在空间域(H轴和W轴)中大于1。在图3A所示的实施例中,第二卷积层314的内核尺寸为1x3x3。此外,第二卷积层314可以被设计/构造成在空间域减少特征图的尺寸。相应地,第二卷积层324的跨度可以是1x2x2。第二卷积层314也可以被设计/构造成在第一卷积层322的输出中保持通道数不变。相应地,第二卷积层314的输出的尺寸可以是TBxHB/2xWB/2xCB/4。

第三卷积层326可以被设计/构造为对第二卷积层324的输出进行和/或执行纯时间卷积,而不在空间域中做任何事情。为此,第三卷积层326可以被设计/构造成在时域中执行卷积,即内核尺寸在空间轴(H轴和W轴)上可以是1x1,在时域(T轴)上大于1。在图3C所示的实施例中,第三卷积层326的内核尺寸为3x1x1。此外,第三卷积层326可以被设计/构建以减少时域的特征图的尺寸。例如,第三卷积层326的跨度可以是2x1x1。第三卷积层326可以被设计/构造成在第二卷积层324的输出中保持通道数不变。相应地,第二卷积层326的输出的尺寸可以是TB/2xHB/2xWB/2xCB/4。

第四卷积层328可以被设计/构造成从第三卷积层326的输出特征图将输入特征图的通道数从CB/4改回CB。为此,第四卷积层328可以包括在T、H、W轴上的1x1x1的内核尺寸和1x1x1的跨度。因此,卷积层328的输出特征可以是TB/2xHB/2xWB/2xCB的尺寸。第四卷积层328的输出特征图可称为结构B的残差特征图。

第五卷积层320可以被设计/构造为处理输入特征图306,使得第五卷积层的输出与残差特征图的尺寸相匹配,即,在不改变特征图306的输入特征图的通道数的情况下,将输入特征图的尺寸调整为TB/2xHB/2xWB/2。为此,第五卷积层320可以包括在T、H、W轴上的1x1x1的内核尺寸和2x2x2的跨度。相应地,卷积层322的输出特征可以是TB/2xHB/2xWB/2xCB的尺寸。

在获得残差特征图之后,结构B可以进一步包括求和单元329,以进行第五卷积层320的输出特征图和残差特征图的求和。求和结果可以是结构B的输出特征图308。

此外,结构B还可以包括在图3C中所示位置的若干整流器。

参考图2,基线网络200可以包括相互依次串联的多个级。每个级可以包括多个块。例如,在图2所示的实施例中,基线网络200可以包括6个级,即第一级210,第二级220,第三级230,第四级240,第五级250,以及第六级260。具体而言,对于ResNet神经网络,第二级220(Res2)、第三级230(Res3)、第四级240(Res4)和第五级250(Res5)可以包括多个残差块,如图3A-C所示。

第一级210可以是接收输入的第一神经网络级。在图2中所示的实施例中,第一级210可以接收输入202。输入202可以是视频片段的多个原始图像帧。多个图像帧可以按照与视频片段中相同的顺序构建,即图像帧在时间上的顺序是一个挨着一个。输入也可以是另一个视频处理系统的输出特征图,对应于多个原始图像帧。因为输入202是或对应于视频片段的多个原始图像帧,输入202可以是一个三维输入特征图,其尺寸为TxHxWxC=T0xH0xW0xC0,其中C0是输入中的通道数。W0和H0分别是输入202的宽度和高度,对应于视频片段中每个图像帧的宽度和高度。T0是输入特征数据202的长度,对应于视频片段的时间。例如,如果视频每秒播放32帧彩色图像,每个图像的分辨率为112x112,并以红、绿、蓝三色空间(即3个通道)的叠加形式呈现,那么1秒的视频片段包括32个图像帧的序列,而作为神经网络200的输入202的图像帧序列的维度为32x112x112x3。

第一级210可以采取输入202并输出特征图216。第一级210可以包括几个卷积层,它们分别从输入202中提取空间特征和时间特征,以及将输入202的通道数调整为预定的数字。例如,第一级210可以包括一个空间卷积层212和一个串联到空间卷积层212的时间卷积层214。例如,空间卷积层212可以是1x7x7层,在T、H和W轴上的跨度分别为1x2x2,输出通道尺寸为64,即输出包括64个通道;而时间卷积层214可以是3x1x1层,在T、H和W轴上的跨度分别为2x11,输出通道C=64。

相应地,空间卷积层212可以接收输入202的尺寸TxHxWxC=32x112x112x3,并在空间域(即,沿H轴和W轴)对输入202执行卷积。空间卷积层212的输出可以是一个TxHxWxC=32x56x56x64的特征图,包括输入202的提取的空间特征。然后,空间卷积层212的输出可以被输入到时间卷积层214。

时间卷积层214可以被设计/构造成在时域(即,沿T轴)中对卷积层202的输出进行卷积。来自时间卷积层214的输出216可以为16x56x56x64的特征图,包括输入202的空间和时间信息。

因为卷积层212被设计成仅仅对4-D输入进行空间卷积,而与卷积层212串联的卷积层214被设计成仅仅对4-D输入进行时间卷积,所以第一级210是可分离的3-D卷积级。

特征图216可依次通过第二级220、第三级230、第四级240和第五级250。第二至第五级中的每一个包括多个卷积块。每个卷积块可以包括不同结构的卷积层。可选地,每个卷积块的结构可以是相同的。

例如,在图2中,第二级220可以包括3个卷积块。3个卷积块222、224和226的结构可以分别采用/采纳为[A’、A、B]。具体来说,卷积块222可以是结构A’卷积块,其中通道数CA’=64;卷积块224可以是结构A卷积块;而卷积块226可以是结构B块。相应地,对于32x112x112x3原始图像帧,第二级220的输出特征图可以是8x28x28x256。

第三级230可以包括4个卷积块。4个卷积块232、234、236和238的结构可以分别采用/采纳为[A’、A、A、B]。具体而言,卷积块232可以是结构A’卷积块,其中通道数CA’=128;卷积块234和卷积块236可以分别是结构A卷积块;而卷积块236可以是结构B块。因此,对于32x112x112x3的原始图像帧,第三级230的输出特征图的尺寸可以是4x14x14x512。

第四级240可以包括6个卷积块。6个卷积块242、243、244、245、246和247的结构可以分别采用/采纳为[A’、A、A、A、A、B]。具体来说,卷积块242可以是结构A’卷积块,其中通道数CA’=256;卷积块243、卷积块244、卷积块245和卷积块246可以分别是结构A卷积块;而卷积块237可以是结构B块。因此,对于32x112x112x3的原始图像帧,第四级240的输出特征图的尺寸可以是2x7x7x1024。

第五级250可以包括3个卷积块。3个卷积块252、254和256的结构可以分别采用/采纳为[A’、A、A]。具体来说,卷积块252可以是结构A’卷积块,其中通道数CA’=512;卷积块254可以是结构A卷积块;而卷积块256可以是结构A块。相应地,对于32x112x112x3的原始图像帧,第五级250的输出特征图的尺寸可以是2x7x7x2048。

第六级260可以包括两层。层262可以是全局平均池化层,层264可以是全合成层。通过第六级260,对于32x112x112的原始图像帧,第六级260的输出特征图可以是1x1x1x2048。

尽管三维可分离基线神经网络200包括几个神经网络层中的时间卷积操作,但三维时间卷积操作仅从图像帧202的输入序列中提取有限的时间信息。例如,在图2所示的实施例中,时间卷积运算一次只对邻域中的3帧特征图进行操作。对应于这3帧的时间可能不足以理解、分类和分析视频片段内容相对于时间的语义。有必要修改三维可分离基线神经网络200,以提取多个和更大时间尺度的时间信息,并将时间信息补充到提取的特征图中。

图4示出了本申请实施例提出的一种用于分类视频片段的经修正的神经网络400的结构示意图。除了如图2所示的三维基线神经网络200的元素外,修正的神经网络400进一步包括多个时间信息聚合(TIA)模块/块500,以提取具有不同时间尺度的输入视频剪辑图像帧202的时间信息。在图4中,修正的神经网络400可以在第三级230和第四级240的每一个其它块中包括一个TIA块,即修正后的神经网络400可以在第三级230中插入2个TIA块500,在第四级插入3个TIA块500。然而,TIA块500可以插入到任何卷积层之后,并帮助提取不同时间尺度的时间信息。

图5示出了本申请实施例提出的一种时间信息聚合块500的示意图。如上所述,TIA块500可以串联在2个基线神经网络块之间。

在TIA块之前的基线神经网络块(“第一基线神经网络块”)可以被设计和/或构造为将第一特征图转换成第二特征图的三维可分离神经网络块。第一特征图可以是多个图像帧202的特征图。进一步地,基线神经网络块可以通过不同的神经网络层独立地提取一个或多个空间特征和一个或多个时间特征来将第一特征图转换为第二特征图。

TIA块(又称“目标神经网络块”)500可以与第一基线神经网络块相邻并与之串联。此外,TIA块500可以被设计和/或构造为在时域中处理第二特征图502并生成第三特征图516。

为此,TIA块500可以包括池化单元。池化单元可以包括n个池化层,被设计和/或构造为分别使用n个不同尺寸的池化窗口将第二特征图502暂时池化到n个第一中间特征图{504-i},其中i=1,2,...,n,。这里,n是一个预先确定的正整数。例如,在本实施例中,第二特征图502的尺寸可以是TtxHtxWtxCt,其中下标t表示目标神经网络块,即TIA块。为了有效地结合多尺度的时间信息,采用各种尺度的时间池化,以捕获不同分辨率的第二特征图502的时间信息。例如,在图5中,TIA块500可以包括3个池化层(n=3),每个层独立采用一个时间池化窗口。为了从基线神经网络200中提取不同的时间信息,每个池化窗口的尺寸可以与基线神经网络200的内核尺寸在时间域方面不同。具体来说,由于基线神经网络200提取的时间信息对应于短的时间段,所有的n个池化窗口的尺寸可以大于基线神经网络200关于时间域的内核尺寸。此外,n个池化窗口的尺寸可以对应于时间长度,其中修改的神经网络400可以被设计和/或被设计为理解时间信息。

例如,第一池化窗口可以采用Tt的尺寸。相应地,第一特征图502-1可以在时间上被池化到第一中间特征图504-1(尺寸为1xHtxWtxCt)。第二池化窗口可以采用Tt/2的尺寸。因此,第二特征图502-2可以在时间上池化到第一中间特征图504-2(尺寸为2xHtxWtxCt)。第三池化窗口尺寸可以是Tt/4。相应地,第三特征图502-3可以在时间上池化到第一中间特征图504-3(尺寸为4xHtxWtxCt)。

TIA块500可以分别,以及在时间上,将时间上的子采样特征图(例如,第二中间特征图504-1、504-2和504-3)重新缩放到预定的尺寸,产生第二中间特征图506。在一些实施例中,预定的尺寸可以是第二特征图502的原始尺寸,即TtxHtxWtxCt。例如,在图5中,第一中间特征图504-1可以被重新缩放到TtxHtxWtxCt,产生第二中间特征图506-1;第一中间特征图504-2可以被重新缩放到TtxHtxWtxCt,产生第二中间特征图506-2;以及第一中间特征图504-3可以被重新缩放到TtxHtxWtx1,产生第二中间的特征图506-3。

TIA块500可以沿子采样特征图的通道轴线合成第二中间特征图(例如506-1、506-2、506-3),产生尺寸为TtxHtxWtxnCt(例如Ct=1、n=3)的合成特征图。例如,在图5中,TIA块500可以包括一个合成器508,以沿其通道轴C合成第二中间特征图506-1、506-2和506-3。因为每个第二中间特征图的尺寸为TtxHtxWtxCt,结果合成的特征图可以是3个通道,表示为TtxHtxWtx3Ct。

然后可以将1x1x1卷积层510应用于合成的特征图,以产生预定尺寸的残差特征图。为此,TIA块可以包括1x1x1卷积层510,以将合成的特征图的通道尺寸改变为与第二特征图502相同的尺寸,即,通道尺寸可以从nCt缩减为Ct。得到的特征图可以是尺寸为TtxHtxWtxCt的残差特征图512。

残差特征图512可以作为残差信息被添加到输入特征图(即,第二特征图502),以生成TIA块500的输出特征图(即,第三特征图516)。根据实施例,TIA块500可以进一步包括求和单元514,以在第二特征图502和残差特征图512之间执行元素求和。

由TIA块500采用的时间池化可以是任何合适的池化算法。例如,TIA块500可以采用平均池化或最大池化。根据实施例,TIA块500可以利用最大池化。此外,在TIA块500中采用的重新缩放可以是任何类型的合适的重新缩放算法。例如,TIA块500可以采用插值或去卷积来重新缩放特征图。根据实施例,TIA块500可以利用双线性插值来重新缩放特征图。

TIA块500可以将第三特征图516输出到第二基线神经网络块。在修正之前,第二基线神经网络块可以是基线神经网络200中与第一基线神经网络块相邻的块。例如,第二基线神经网络块可以是一个三维ResNet网络块。第二基线神经网络块可以接收第三特征图516并通过处理第二特征图的至少一个空间特征将第三特征图516转换为第四特征图。

在各种域中,用一个数据对象的部分或组件特征的集合来表示该数据对象往往是自然的和有意义的。通过上述实施例可以看出,3-D可分离基线神经网络200中的时间卷积操作一次对邻域的3帧特征图进行操作。这3帧所对应的时间可能不足以理解、分类和分析视频片段内容在时间上的语义。然而,TIA块500提供了对各种时间尺度的时间池化。通过将时间信息(视频帧的序列)划分为从细到粗的层次,在不同的尺度上池化时间模式,并在其中聚合局部特征。池化操作可确保提取多个和更大的时间尺度的时间信息,并将时间信息补充到提取的特征图中。因此,修正后的神经网络400可以有更好的能力对视频片段进行分类和分析。

图6A-C示出了本申请实施例提出的时间信息聚合块500可提取的时间信息的示意图。从图6A到图6C,TIA块500可以将时间信息(例如,在时间轴上具有尺寸Tt的视频帧序列)划分为从较细(Tt/4)到较粗级别(Tt)的划分,在可变尺度上池化时间模式,并将局部特征聚集在其中。

图6A是TIA块500在池化窗口尺寸为T/4时可提取的时间信息的示意图。由于池化窗口尺寸较细,TIA块500可能仅在相对较短的时间内提取棒球运动员的运动信息,即612、614、616和618。

图6B是TIA块500在池化窗口尺寸为T/2时可提取的时间信息的示意图。相应地,与图6A相比,TIA块500可以提取棒球运动员在更长的时间段内的运动信息622、624。

图6C说明了TIA块500可以在池化窗口尺寸T时提取的情景,相应地,TIA块500可以在整个视频帧序列中提取棒球运动员的运动信息632。

图7示出了本申请实施例提出的一种通过至少一个神经网络分析时序构建的多个图像的方法的流程图。该方法和至少一个神经网络可以作为一组指令存储在电子设备100的存储器102(例如,非临时性存储介质,例如CD-ROM、硬盘等)中,如图1所示。当执行方法时,电子设备100的处理器120可以与存储器102通信,然后通过修正的神经网络400执行动作和/或方法。因此,可以结合图4和图5以及其描述来描述下面的方法。

步骤702,第一块通过处理第一特征图中的至少一个空间特征,将与多个图像关联的第一特征图转换为第二特征图。

第一特征图的转换可以由基线神经网络的第一块执行,其中基线神经网络可以与神经网络200的结构相同。进一步地,第一特征图向第二特征图的转换可以包括分别使用时间卷积层在时间域和使用空间卷积层在空间域处理第一特征图。时域卷积层可以包括在时域轴上具有时域分量的内核。例如,时间卷积层的内核可以是3x1x1,其中的时间分量可以是数字“3”。

步骤704,目标神经网络块通过对第二特征图进行时间处理,将第二特征图转换为时间特征图(例如,时间残差图)。例如,目标神经网络块可以是TIA块500。

为此,目标神经网络可以首先在时间上将第二特征图池化为n个中间特征图,使用不同时间尺度的n个池化窗口。这里,n是一个预定的正整数,例如3;而不同的时间尺度可以是Tt、Tt/2和Tt/4,其中Tt是第二特征图沿时间轴的尺寸。进一步说,n个池化窗口的时间尺度都大于内核的时间分量。例如,Tt/4可以大于内核的时间分量,以便目标神经网络可以在多个视频图像帧中比基线神经网络的第一块的时间卷积层捕获额外的时间信息。

目标神经网络500可以在时间上将n个中间特征图中的每一个重新缩放到预定的尺寸。例如,预定的尺寸可以是第二特征图的尺寸。

然后,目标神经网络500可以将n个重新缩放的中间特征图合成到一个合成特征图。目标神经网络500可以将1x1x1卷积层应用于所述合成特征图,以将合成特征图的尺寸调整为第二特征图的尺寸,例如将合成特征图的通道尺寸收缩为第二特征图的通道尺寸。调整后的合成特征图可以是时间特征图,例如,目标神经网络的残差特征图。

步骤706,目标神经网络块500通过将时间特征图与第二特征图相结合,生成第三特征图。例如,该结合的方式可以是将时间残差特征图与第二特征图进行元素求和。

步骤708,目标神经网络块500将第三特征图作为输入发送至基线神经网络200的第二块。

在这样描述了基本概念之后,对于本领域技术人员来说,在阅读本详细公开内容之后可能相当明显的是,前述详细公开内容旨在仅以示例的方式提出,而不是限制性的。各种改变、改进和修改都可能发生,而且对于本领域技术人员来说,虽然在此没有明确说明,但也是有意义的。例如,本申请的方法中的步骤不一定完全按照所述顺序操作。这些步骤也可以部分操作,和/或按照本领域技术人员合理预期的其它组合操作。这些改变、改进和修改都是由本申请内容提出的,并在本申请内容的示范性实施例的精神和范围之内。

此外,某些术语已被用于描述本申请的实施例。例如,术语“一个实施例”和/或“一些实施例”意味着与该实施例相关描述的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,并强调应理解的是,本说明书各部分中两次或多次提到的“一个实施例”或“另一个实施例\",不一定都是指同一个实施例。此外,特定的特征、结构或特性可以在本申请的一个或多个实施例中以合适的方式组合。

此外,本领域技术人员将理解,本申请的各个方面可以在许多可申请专利的类别或背景中的任何一个进行说明和描述,包括任何新的和有用的过程、机器、制造或物质的组成,或其任何新的和有用的改进。因此,本申请的各个方面可以完全由硬件实现,完全由软件(包括固件、常驻软件、微代码等)或结合软件和硬件实现,这些可一般称为“块”、“模块”、“引擎”、“单元”、“部件”或“系统”。此外,本申请内容的各个方面可以采取体现在一个或多个计算机可读介质中的计算机程序产品的形式,该介质上体现有计算机可读程序代码。

计算机可读信号介质可包括具有体现在其中的计算机可读程序代码的传播的数据信号,例如,以基带或作为载波的一部分。这种传播的信号可以采取各种形式中的任何一种,包括电磁、光学或类似的形式,或其任何合适的组合。计算机可读信号介质可以是任何计算机可读介质,它不是计算机可读存储介质,可以通信、传播或传输程序,供指令执行系统、装置或设备使用或与之相关。体现在计算机可读信号介质上的程序代码可以使用任何适当的介质进行传输,包括无线、有线、光纤电缆、射频或类似的介质,或上述介质的任何适当组合。

用于执行本申请内容的各个方面的操作的计算机程序代码可以用一种或多种编程语言的任何组合编写,包括面向对象的编程语言,如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C 、C#、VB.NET、Python等,传统的程序性编程语言,如“C”编程语言、Visual Basic、Fortran、Perl、COBOL、PHP、ABAP,动态编程语言,如Python、Ruby和Groovy,或其它编程语言。程序代码可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为一个独立的软件包,部分在用户的计算机上执行,部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(LAN)或广域网(WAN),或者连接到外部计算机(例如,通过互联网使用互联网服务提供商)或在云计算环境中,或作为服务提供,例如软件即服务(SaaS)。

此外,所叙述的处理元素或序列的顺序,或因此而使用数字、字母或其它指定,并不旨在将所要求的过程和方法限制为任何顺序,除非权利要求对其进行明确限定。尽管上述公开内容通过各种实例讨论了目前被认为是本申请内容的各种有用的实施例,但应理解这种详细说明仅仅是为了该目的,所附的权利要求书不限于所公开的实施例,相反,旨在涵盖在所公开的实施例的精神和范围内的修改和同等安排。例如,尽管上述各种组件的实现可以体现在硬件设备中,但它也可以实现为纯软件的解决方案。例如,在现有服务器或移动设备上的安装。

同样,应当理解,在本申请实施例的前述描述中,为了简化公开内容以帮助理解一个或多个不同的实施例,各种特征有时被组合在一个实施例、图或其描述中。然而,这种公开方法不应解释为仅反映出一种意图,即所要求的主题需要比每项权利要求中明确列出的更多特征。相反,所要求的主题可能在于少于前述单一公开的实施方案的所有特征。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献