基于LRCN网络的行为识别方法、装置、设备及介质
技术领域
本发明涉及行为识别技术领域,特别涉及一种基于LRCN(长时递归卷积网络)网络的行为识别方法、装置、设备及可读存储介质。
背景技术
行为识别是序列学习任务的另一个具体实例,是时序的图像序列作为输入的一种学习。行为识别的目的是从对代理人行为和环境状况的一系列观察中识别一个或者多个代理人的行为。从20世纪80年代开始,这个研究领域由于它在许多不同的应用以及与许多不同研究领域的关联,例如,医学、人机交互和社会学,已经吸引了许多计算机科学领域人员的关注。
目前,将结合卷积神经网络(CNN)与循环神经网络(LSTM)的LRCN(长时递归卷积网络)网络应用于视频序列进行行为识别。识别方法如图1所示,输入的视频序列是由一系列的采样的帧所组成的,视频可以看作图像在时间上的一个排布,一个长度为T的视频序列的每一帧是一张从一个连续的视频序列中采样得到的图片,每一张图片都输入一个单独的卷积神经网络,卷积神经网络的权重是与时刻相关固定的,每一个时间步的权重是不同的。
对于输入的图片来说,采用的是从一个连续视频序列中采样的图片以及计算的光流图,光流是由稠密光流算法计算得到的,并且被缩放和平移x与y的在[-128,128]范围的光流值转化成的一张光流图,图片的第三通道是计算光流的幅度得到的。采用裸图片数据输入和光流图片输入分别使用两个不同的网络进行训练。在训练过程中,视频被缩放到了240×320的大小,通过用227×227抠图和镜像来增强数据。从而使得训练数据集的丰富性,以及达到各种动作视频样本的平衡。
此外,LRCN网络是由视频中采样得到的20帧图像来训练的,虽然用的数据集每个视频的长度都长于20帧。采用的方法是按照6s的时长进行视频的分段截取,并重叠3s进行下一个时刻的截取,并将6s中视频的所有帧等间隔抽样取20帧。LRCN网络被训练用来预测一整个视频的一个行为类别标签,一整段视频20帧输出一个类别标签,在输出之前我们对于网络softmax层在所有帧上的输出做了一个平均来得到这一个输出的类别标签。
我们可以看出,在现有的行为识别过程中,对视频序列中的连续每一帧都使用卷积神经网络进行卷积计算,使得计算开销比例较大。
发明内容
本发明实施例提供了一种基于LRCN(长时递归卷积网络)网络的行为识别方法,以解决现有技术中基于LRCN网络进行行为识别时计算开销较大的技术问题。该方法包括:
将待识别的视频帧序列和对应的光流图输入长时递归卷积网络模型,得到所述待识别的视频帧序列的行为类别标签,其中,将所述待识别的视频帧序列中每相邻的预设数量的帧输入长时递归卷积网络模型中的第一卷积神经网络内,将预设数量的帧对应的光流图输入长时递归卷积网络模型中的第二卷积神经网络内,卷积神经网络分别对预设数量的帧和光流图采用数据融合的方式进行卷积层共享。
本发明实施例还提供了一种基于LRCN网络的行为识别装置,以解决现有技术中基于LRCN网络进行行为识别时计算开销较大的技术问题。该装置包括:
数据获取模块,用于获取待识别的视频帧序列和对应的光流图;
识别模块,用于将待识别的视频帧序列和对应的光流图输入长时递归卷积网络模型,得到所述待识别的视频帧序列的行为类别标签,其中,将所述待识别的视频帧序列中每相邻的预设数量的帧输入长时递归卷积网络模型中的第一卷积神经网络内,将预设数量的帧对应的光流图输入长时递归卷积网络模型中的第二卷积神经网络内,卷积神经网络分别对预设数量的帧和光流图采用数据融合的方式进行卷积层共享。
本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意的基于LRCN网络的行为识别方法,以解决现有技术中基于LRCN网络进行行为识别时计算开销较大的技术问题。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述任意的基于LRCN网络的行为识别方法的计算机程序,以解决现有技术中基于LRCN网络进行行为识别时计算开销较大的技术问题。
在本发明实施例中,在采用LRCN网络模型进行行为识别的过程中,提出了将待识别的视频帧序列中每相邻的预设数量的帧输入长时递归卷积网络模型中的第一卷积神经网络内,避免现有技术中将每帧输入一个卷积神经网络所导致的计算开销大的问题,进而将预设数量的帧对应的光流图输入长时递归卷积网络模型中的第二卷积神经网络内,即卷积神经网络在卷积层分别对预设数量的帧和对应的光流图进行卷积层共享,从而本申请实现了在不需要改变长时递归卷积网络模型结构的情况下,通过改变视频帧序列和光流图输入卷积神经网络的方式,使得在降低相邻帧之间的图像信息存在的大量冗余之后再进行行为识别,有利于减少网络整体的计算量。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1是现有技术中的一种基于LRCN网络进行行为识别的示意图;
图2是本发明实施例提供的一种基于LRCN网络的行为识别方法的流程图;
图3是本发明实施例提供的一种基于LRCN网络的行为识别原理示意图;
图4是本发明实施例提供的一种卷积优化单元的结构示意图;
图5是本发明实施例提供的一种LRCN网络模型压缩前后的单元数对比示意图;
图6是本发明实施例提供的一种计算机设备的结构示意图;
图7是本发明实施例提供的一种基于LRCN网络的行为识别装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
从图1所示的LRCN网络结构示意图本申请发明人发现,卷积计算在整个计算过程中占据的比例十分大,在每个视频序列的行为识别的过程中,LRCN网络的输入部分的每一张图片都要输入到单独的卷积神经网络进行计算,经过20个单独的卷积神经网络,每个时间步的卷积神经网络的权重是不同的。但实际上,相邻的帧之间的图像信息存在大量冗余,直接将每帧的原始图像输入到单独的卷积神经网络中进行运算无疑是增加了潜在的不必要的计算,因此,本申请发明人提出了上述基于LRCN网络的行为识别方法,以便减少网络整体的计算量。
在本发明实施例中,提供了一种基于LRCN网络的行为识别方法,如图2所示,该方法包括:
步骤202:获取待识别的视频帧序列和对应的光流图;
步骤204:将待识别的视频帧序列和对应的光流图输入长时递归卷积网络模型,得到所述待识别的视频帧序列的行为类别标签,其中,将所述待识别的视频帧序列中每相邻的预设数量的帧输入长时递归卷积网络模型中的第一卷积神经网络内,将预设数量的帧对应的光流图输入长时递归卷积网络模型中的第二卷积神经网络内,卷积神经网络分别对预设数量的帧和光流图采用数据融合的方式进行卷积层共享。
由图2所示的流程可知,在本发明实施例中,提出了将待识别的视频帧序列中每相邻的预设数量的帧输入长时递归卷积网络模型中的第一卷积神经网络内,避免现有技术中将每帧输入一个卷积神经网络所导致的计算开销大的问题,进而将预设数量的帧对应的光流图输入长时递归卷积网络模型中的第二卷积神经网络内,即卷积神经网络在卷积层分别对预设数量的帧和对应的光流图进行卷积层共享,从而本申请实现了在不需要改变长时递归卷积网络模型结构的情况下,通过改变视频帧序列和光流图输入卷积神经网络的方式,使得在降低相邻帧之间的图像信息存在的大量冗余之后再进行行为识别,有利于减少网络整体的计算量。
具体实施时,在获取待识别的视频帧序列和对应的光流图过程中,可以采用现有方法来获取视频帧序列和光流图,本申请对此不做具体限定。
具体实施时,为了实现可以减少网络整体的计算量,在本实施例中,如图3所示,通过以下步骤来训练所述LRCN网络模型:
获取视频帧序列、对应的光流图以及对应的行为类别标签作为样本;
将视频帧序列中每相邻的预设数量的帧输入长时递归卷积网络模型中第一卷积神经网络内,将预设数量的帧对应的光流图输入长时递归卷积网络模型中第二卷积神经网络内,将所述第一卷积神经网络和所述第二卷积神经网络的输出作为长时递归卷积网络模型中一个长短时记忆网络的输入,将行为类别标签作为长时递归卷积网络模型的输出进行训练,得到所述长时递归卷积网络模型。
具体的,在训练长时递归卷积网络模型的过程中,只是改变了视频帧序列和光流图输入卷积神经网络的方式,不改变长时递归卷积网络模型的结构,即长时递归卷积网络模型采用现有的网络结构即可。
具体实施时,为了实现卷积神经网络在卷积层分别对预设数量的帧和对应的光流图进行卷积层共享,在本实施例中,将视频帧序列中每相邻的预设数量的帧输入长时递归卷积网络模型中第一卷积神经网络内,将预设数量的帧对应的光流图输入长时递归卷积网络模型中第二卷积神经网络内,包括:
针对每相邻的预设数量的帧,第一卷积神经网络具备N层卷积,N为正整数,将第一帧输入第一卷积神经网络内,第一卷积神经网络的各层卷积依次对第一帧进行卷积计算;将第二帧与第一卷积神经网络内第一帧在第N-1层卷积的输出结果输入到第一卷积神经网络的第N层卷积;将第三帧与第一卷积神经网络内第一帧在第N-2层卷积的输出结果输入到第一卷积神经网络的N-1卷积;将第四帧与第一卷积神经网络内第一帧在第N-3层卷积的输出结果输入到第一卷积神经网络的第N-2层卷积;将第五帧与第一卷积神经网络内第一帧在第N-4层卷积的输出结果输入到第一卷积神经网络的第N-3层卷积,循环以上步骤直至将最后一帧输入第一卷积神经网络;第一卷积神经网络的各层卷积分别输出一个帧特征向量;即实现了对预设数量的帧进行卷积层共享;
针对预设数量的帧对应的光流图,第二卷积神经网络具备N层卷积,将第一帧对应的光流图输入第二卷积神经网络内,第二卷积神经网络的各层卷积依次对第一帧对应的光流图进行卷积计算;将第二帧对应的光流图与第二卷积神经网络内第一帧对应的光流图在第N-1层卷积的输出结果输入到第二卷积神经网络的第N层卷积;将第三帧对应的光流图与第二卷积神经网络内第一帧对应的光流图在第N-2层卷积的输出结果输入到第二卷积神经网络的N-1卷积;将第四帧对应的光流图与第二卷积神经网络内第一帧对应的光流图在第N-3层卷积的输出结果输入到第二卷积神经网络的第N-2层卷积;将第五帧对应的光流图与第二卷积神经网络内第一帧对应的光流图在第N-4层卷积的输出结果输入到第二卷积神经网络的第N-3层卷积,循环上述步骤直至将最后一帧对应的光流图输入第二卷积神经网络;循环以上步骤直至将最后一帧对应的光流图输入第二卷积神经网络,第二卷积神经网络的各层卷积分别输出一个光流图特征向量,即实现了对预设数量的帧对应的光流图进行卷积层共享。
具体的,上述第一卷积神经网络即长时递归卷积网络模型输入视频帧序列的卷积神经网络,上述第二卷积神经网络即长时递归卷积网络模型输入光流图的卷积神经网络,这里的“第一”“第二”不对卷积神经网络本身做具体限定,只用于区分卷积神经网络输入的数据不同。
具体实施时,上述卷积神经网络可以采用现有技术中的卷积神经网络结构,例如,如图3所示,可以采用传统的VGGNet-16中的五层卷积结构。
具体实施时,上述预设数量可以等于所述时递归卷积网络模型中卷积神经网络的卷积层数。
例如,卷积神经网络具备五层卷积结构,则上述预设数量为5,即将视频帧序列中每相邻的5帧输入长时递归卷积网络模型中的一个第一卷积神经网络,将5帧对应的光流图输入长时递归卷积网络模型中的一个第二卷积神经网络内,以视频帧序列的输入为例,如图4所示,则将第一帧图像输入第一卷积神经网络,依次完成五层卷积过程;将第二帧图像(即img2)连接第一帧图像在第四层卷积(即Conv4)的输出结果,再输入到第五层卷积(即Conv5)中;将第三帧图像(即img3)连接第一帧图像在第三层卷积(即Conv3)的输出结果,再输入到第四层卷积(即Conv4)中;第四帧图像(即img4)连接第一帧图像在第二层卷积(即Conv2)的输出结果,再输入到第三层卷积(即Conv3)中;将第五帧图像(即img5)连接第一帧图像在第一层卷积(即Conv1)的输出结果,再输入到第二层卷积(即Conv2)中。
具体的,在将视频帧序列和光流图输入卷积神经网络时,可以根据待输入卷积层的尺寸来缩放待输入的帧和光流图的尺寸。
具体实施时,按照上述输入方式将视频帧序列和对应的光流图输入长时递归卷积网络网络模型中的卷积神经网络之后,每个卷积神经网络的卷积层分别输出一个特征向量,即第一卷积神经网络的各层卷积分别输出一个帧特征向量,第二卷积神经网络的各层卷积分别输出一个光流图特征向量,如果视频帧序列具备20帧,则会得到20个帧特征向量和20个光流图特征向量,由于将第一卷积神经网络和第二卷积神经网络的输出作为长时递归卷积网络模型中一个长短时记忆网络的输入,即输入帧的第一卷积神经网络和输入帧对应的光流图的第二卷积神经网络的输出作为长时递归卷积网络模型中一个长短时记忆网络的输入,例如,将第一卷积神经网络输出的5个帧特征向量和第二卷积神经网络输出的5个光流图特征向量输入一个长短时记忆网络,长短时记忆网络输出一个预测行为模式,针对视频帧序列具备20帧,则总共需要4个第一卷积神经网络、4个第二卷积神经网络以及4个长短时记忆网络,得到4个预测行为模式,将4个预测行为模式求均值即可得到视频帧序列的行为类别标签。
具体的,以下结合示例描述可以通过以下步骤来训练LRCN网络模型:
(1)从训练视频样本集中选取视频并按一定的帧间隔提取视频帧图像,得到视频的帧序列(每一个视频为20张图片),并将提取的帧序列数目多一个的图片运用opencv提供的稠密光流计算方法进行稠密光流计算得到对应的光流图(得到20张光流图);
(2)将得到的视频帧序列和得到的对应的光流图样本分别输入长时递归卷积网络模型,即每相邻的5帧输入一个第一卷积神经网络,5帧对应的5张光流图输入一个第二卷积神经网络,得到20个帧特征向量和20个光流图特征向量。
(3)将每5帧的帧特征向量和对应的5个光流图特征向量输入一个LSTM网络,需要4个LSTM网络,共计20个时间步。
(4)每个LSTM(长短时记忆网络)网络的记忆功能挖掘20个时间步的长程相关性,给出一个预测动作模式。
(5)将预测的动作模式与给定的该视频序列的行为标签做比对,计算损失函数,从而进行反向传播来更新网络的参数。
(6)迭代进行步骤(1)至(5),直到迭代次数达到最大值,训练结束。
具体实施时,训练完LRCN网络模型之后,还可以通过以下步骤测试LRCN网络模型的识别性能:
(1)选取测试集中的视频,通过上述训练过程中的步骤(1)至(4)给出预测动作模式。
(2)用正确率和召回率指标评价该LRCN网络模型的行为识别的性能。
具体实施时,为了进一步降低计算量和功耗,在本实施例中,对LRCN网络模型进行压缩,将待识别的视频帧序列和对应的光流图输入给压缩后的LRCN网络模型进行行为识别。具体的,LRCN网络模型压缩前后的单元数的对比如图5所示(左侧部分为压缩前数据,右侧部分为压缩后数据)。
具体的,在保证精度损失在一定范围内的情况下,将LRCN网络模型从大模型压缩到小模型,降低了模型尺寸。本申请对压缩方法不做具体限定,可以采用现有技术中常用的压缩方法,例如,结构化剪支方法、非结构化剪支方法、低比特量化方法等。
在本实施例中还提供了一种计算机设备,如图6所示,包括存储器602、处理器604及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意的基于LRCN网络的行为识别方法。
具体的,该计算机设备可以是计算机终端、服务器或者类似的运算装置。
在本实施例中,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述任意的基于LRCN网络的行为识别方法的计算机程序。
具体的,计算机可读存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机可读存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读存储介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
基于同一发明构思,本发明实施例中还提供了一种基于LRCN网络的行为识别装置,如下面的实施例所述。由于基于LRCN网络的行为识别装置解决问题的原理与基于LRCN网络的行为识别方法相似,因此基于LRCN网络的行为识别装置的实施可以参见基于LRCN网络的行为识别方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图7是本发明实施例的基于LRCN网络的行为识别装置的一种结构框图,如图7所示,该装置包括:
数据获取模块702,用于获取待识别的视频帧序列和对应的光流图;
识别模块704,用于将待识别的视频帧序列和对应的光流图输入长时递归卷积网络模型,得到所述待识别的视频帧序列的行为类别标签,其中,将所述待识别的视频帧序列中每相邻的预设数量的帧输入长时递归卷积网络模型中的第一卷积神经网络内,将预设数量的帧对应的光流图输入长时递归卷积网络模型中的第二卷积神经网络内,卷积神经网络分别对预设数量的帧和光流图采用数据融合的方式进行卷积层共享。
在一个实施例中,还包括:模型训练模块,所述模型训练模块包括:
样本获取单元,用于获取视频帧序列、对应的光流图以及对应的行为类别标签作为样本;
模型训练单元,用于将视频帧序列中每相邻的预设数量的帧输入长时递归卷积网络模型中第一卷积神经网络内,将预设数量的帧对应的光流图输入长时递归卷积网络模型中第二卷积神经网络内,将所述第一卷积神经网络和所述第二卷积神经网络的输出作为长时递归卷积网络模型中一个长短时记忆网络的输入,将行为类别标签作为长时递归卷积网络模型的输出进行训练,得到所述长时递归卷积网络模型。
在一个实施例中,所述模型训练单元,具体用于针对每相邻的预设数量的帧,第一卷积神经网络具备N层卷积,N为正整数,将第一帧输入第一卷积神经网络内,第一卷积神经网络的各层卷积依次对第一帧进行卷积计算;将第二帧与第一卷积神经网络内第一帧在第N-1层卷积的输出结果输入到第一卷积神经网络的第N层卷积;将第三帧与第一卷积神经网络内第一帧在第N-2层卷积的输出结果输入到第一卷积神经网络的N-1卷积;将第四帧与第一卷积神经网络内第一帧在第N-3层卷积的输出结果输入到第一卷积神经网络的第N-2层卷积;将第五帧与第一卷积神经网络内第一帧在第N-4层卷积的输出结果输入到第一卷积神经网络的第N-3层卷积,循环以上步骤直至将最后一帧输入第一卷积神经网络;第一卷积神经网络的各层卷积分别输出一个帧特征向量;
针对预设数量的帧对应的光流图,第二卷积神经网络具备N层卷积,将第一帧对应的光流图输入第二卷积神经网络内,第二卷积神经网络的各层卷积依次对第一帧对应的光流图进行卷积计算;将第二帧对应的光流图与第二卷积神经网络内第一帧对应的光流图在第N-1层卷积的输出结果输入到第二卷积神经网络的第N层卷积;将第三帧对应的光流图与第二卷积神经网络内第一帧对应的光流图在第N-2层卷积的输出结果输入到第二卷积神经网络的N-1卷积;将第四帧对应的光流图与第二卷积神经网络内第一帧对应的光流图在第N-3层卷积的输出结果输入到第二卷积神经网络的第N-2层卷积;将第五帧对应的光流图与第二卷积神经网络内第一帧对应的光流图在第N-4层卷积的输出结果输入到第二卷积神经网络的第N-3层卷积,循环上述步骤直至将最后一帧对应的光流图输入第二卷积神经网络;循环以上步骤直至将最后一帧对应的光流图输入第二卷积神经网络,第二卷积神经网络的各层卷积分别输出一个光流图特征向量。
在一个实施例中,所述预设数量等于所述时递归卷积网络模型中卷积神经网络的卷积层数。
在一个实施例中,所述识别模块,还用于将待识别的视频帧序列和对应的光流图输入给压缩后的所述LRCN网络模型。
在另外一个实施例中,还提供了一种软件,该软件用于执行上述实施例及优选实施方式中描述的技术方案。
在另外一个实施例中,还提供了一种存储介质,该存储介质中存储有上述软件,该存储介质包括但不限于:光盘、软盘、硬盘、可擦写存储器等。
本发明实施例实现了如下技术效果:在采用LRCN网络模型进行行为识别的过程中,提出了提出了将待识别的视频帧序列中每相邻的预设数量的帧输入长时递归卷积网络模型中的第一卷积神经网络内,避免现有技术中将每帧输入一个卷积神经网络所导致的计算开销大的问题,进而将预设数量的帧对应的光流图输入长时递归卷积网络模型中的第二卷积神经网络内,即卷积神经网络在卷积层分别对预设数量的帧和对应的光流图进行卷积层共享,从而本申请实现了在不需要改变长时递归卷积网络模型结构的情况下,通过改变视频帧序列和光流图输入卷积神经网络的方式,使得在降低相邻帧之间的图像信息存在的大量冗余之后再进行行为识别,有利于减少网络整体的计算量。
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。