一种基于特征融合的C3D行为识别方法
文献发布时间:2023-06-19 10:58:46
技术领域
本发明属于人体行为识别技术领域,更具体的说,涉及一种基于特征融合的C3D行为识别方法。
背景技术
随着计算机在人机交互领域的不断发展,基于图像的行为识别技术在智能监控、环境监测、人机交互等领域都有着十分广泛的应用前景,为人们的生活提供了极大的便利。行为识别技术作为计算机视觉领域的重要研究课题之一,主要研究如何感知目标对象在图像序列中的时空变化,在视频监控、环境监测、人机互换等领域应用广泛。行为识别算法主要由传统行为识别算法和基于深度学习的行为识别算法组成。传统行为识别方法使用手工制作特征,特征提取效果易受人工设计影响。
与基于人工设计的特征算法相比,卷积神经网络是提取数据的有效策略,因而能够感知抽象到高层语义特征,因而更适合目标和行为识别。C3D网络作为一种深度学习行为识别算法,广泛应用于行为识别,视频相似度分析等领域。但C3D网络在学习时空特征(如前后帧运动信息)时存在容易丢失重要特征的问题,进而导致行为识别的准确率较低。
经检索,关于行为识别技术已有相关专利公开。如,中国专利申请号为202010107288.8的申请案公开了一种基于残差式3D CNN和多模态特征融合的视频动作分类方法,其步骤为:首先将传统C3D网络连接方式改为残差式连接;采用核分解技术将3D卷积核拆解,得到一个空间卷积核,与并行的多个不同时间尺度时间核,再在空间卷积核后插入注意力模型,得到A3D残差模块并将其堆叠成的残差网络;搭建双流动作识别模型,将RGB图像特征和光流特征输入到空间流网络和时间流网络中,并提取出多级卷积特征层特征,再利用多级特征融合策略对两个网络进行融合,实现时空特征互补;最后将分数级融合后的全局视频动作描述子通过PCA降维,再用SVM分类器完成动作分类。该申请案虽然能够利用较少的参数达到不错的识别效率,但在提取光流信息上存在耗时、不易提取等缺点,其整体方法有待进一步改进。
发明内容
1.要解决的问题
本发明的目的在于解决现有C3D网络在学习时空特征时容易丢失重要特征,从而导致行为识别的准确率较低的问题,提供一种基于特征融合的C3D行为识别方法。采用本发明的技术方案能够有效解决行为识别问题,较好地避免出现C3D网络在学习时空特征时丢失重要特征的现象,有效提高了行为识别的准确率。
2.技术方案
为了解决上述问题,本发明所采用的技术方案如下:
本发明的一种基于特征融合的C3D行为识别方法,具体包括以下步骤:
步骤一:对摄像头内外参数进行标定;
步骤二:利用摄像头采集人体行为识别运动视频数据,获得视频样本;
步骤三:通过视频数据处理单元对视频样本进行预处理,将其制作成数据集,以获得处理后的视频序列;
步骤四:通过从步骤三中视频数据处理单元获得的视频序列,利用C3D算法提取视频序列的内容和表征信息;
步骤五:通过从步骤三中视频数据处理单元获得的视频序列,用TVNet光流算法提取视频序列的运动和时间信息;
步骤六:将C3D网络的全连接Fc6层作为特征提取器分别提取时间4096维和空间4096维特征;
步骤七:进行归一化操作;
步骤八:采用串行特征融合方法,对特征向量进行分类识别得到最终的预测效果,即完成目标行为识别。
更进一步的,所述步骤三具体是利用了ffmpeg工具对视频样本进行预处理,将其转换为了320×240格式的图片作为数据集。
更进一步的,所述步骤四的具体过程如下:
S1、对于每一个输入的视频图像序列x={x
S2、通过resize运算将图片统一设定为112×112,batch_size为10;输入的视频段shape为[10,16,112,112,3],即每帧大小为[112,112,3];
S3、利用C3D的全连接Fc6层进行特征提取,得到k个4096维的特征向量。
更进一步的,所述步骤五的具体过程如下:
S1、卷积计算,采用卷积层替代像素级计算并定义卷积核:
w
其中,w
TVNet算法通过细化输出边界点,以满足边界条件;首先将p
div(p
S2、双线性插值计算,TVNet采用双线性插值计算,通过
式中,u
S3、由于双线性插值连续和分段光滑,则:
式中,
S4、数值稳定性计算,TVNet算法通过在分母添加较小ε值,ε>0,即
式中,a和b变量;
S5、进行归一化操作运算:
式中,x、x
S6、以[-20,20]为阈值将位移线性化到[0,255]范围,输入卷积神经网络为光流矢量归一化后的图像;
S7、采用TVNet光流算法提取图像光流信息,超参数设置中将超参数N
更进一步的,所述步骤六的具体过程为:将进行的实验视频样本总帧数记为Num,则每个视频提取特征数为m
m
式中,将样本数记为n=13320,则对于视频样本总共提取的C3D网络特征大小为:
更进一步的,所述步骤七的具体过程为:
对提取的特征进行L2正则化操作,其中L2正则化损失函数:
式中,C
更进一步的,所述步骤八的具体过程为:
S1、采用串行特征算法,将空间和时间矩阵分别记作
S2、将光流输入视频长度l设定为16,即w
3.有益效果
相比于现有技术,本发明的有益效果为:
(1)本发明的一种基于特征融合的C3D行为识别方法,通过利用C3D卷积网络提取视频序列的内容和表征信息,并利用TVNet光流算法对输入的图像进行训练以获得光流信息,再采用串行特征融合方法将特征向量加以融合,并输入线性SVM以获得行为预测结果,从而能够有效解决背景技术中提到的问题,较好地避免出现C3D网络在学习时空特征时丢失重要特征的现象,进而能够更有效地提取视频的相关信息,提高了行为识别的准确率。
(2)本发明的一种基于特征融合的C3D行为识别方法,通过采用双流技术代替单流技术,在原有C3D基础上,采用了3D卷积,通过引入了TVNet算法提取视频运动和时间特性,TVNet算法能够获得视频帧间的运动信息,表达多帧视频序列的运动信息;另外,在此基础上本发明还引入了串行特征融合方法对空间和时间结果进行处理,将提取的特征作为分类输入,突破采用单一特征进行分类识别的局限性,从而能够有效增强原C3D单一的特征表达能力,使其在识别率上能够得到提升,相对于现有基于2D卷积进行双流操作而言,有效提升了识别的准确率。最终,根据UCF101数据集上的实验结果表明,本发明能够在空间和时间上更好的提取视频的动作信息,有效增强单特征表达能力,提高识别率。
附图说明
图1为本发明的一种基于特征融合的C3D行为识别方法的流程图;
图2为本发明的C3D网络层次结构的示意图;
图3为网络shape变化示意图;
图4为本发明的TVNet算法提取的主观图。
具体实施方式
目前,C3D网络在学习时空特征(如前后帧运动信息)时存在容易丢失重要特征,进而导致行为识别的准确率较低的问题。针对该问题,本发明提供了一种基于特征融合的C3D行为识别方法,与背景技术中的中国专利申请号为202010107288.8的专利相比,本发明通过利用TVNet光流算法对输入的图像进行训练以获得光流信息,从而能够较好地提取光流信息并获得较好的行为识别率。具体的,本发明通过采用双流技术代替单流技术,在原有C3D基础上,采用了3D卷积,通过引入了TVNet算法提取视频运动和时间特性,将二者都输入至C3D卷积网络中,同时在此基础上还引入了串行特征融合方法对空间和时间结果进行处理,将提取的特征作为分类输入,从而能够有效增强原C3D单一的特征表达能力,较好地避免出现C3D网络在学习时空特征时丢失重要特征的现象,有效提高了行为识别的准确率。
所述C3D网络层次结构如图2所示,网络共有8个卷积层Conv1a、Conv2a、Conv3a、Conv3b、Conv4a、Conv4b、Conv5a、Conv5b,5个池化层Pool1、Pool2、Pool3、Pool4、Pool5,2个全连接层Fc6、Fc7和一个Softmax损失层,将Conv3a与Conv3b、Conv4a与Conv4b、Conv5a与Conv5b当做同类卷积层来算,其中5类卷积层的卷积核数目为64、128、256、512、512,卷积大小为3×3×3,步长为1×1×1。在进行1次或2次卷积运算后,对特征进行降采样以获得全局性特征;同时在池化运算中,为保持初期时间信息,将第2层至5层的池化层卷积核设为2×2×2,步长为1×1×1,则第1个池化层中卷积核大小为1×2×2、步长为1×2×2;在全连接层Fc6、Fc7中,每层有4096个输出单元。
本发明的一种基于特征融合的C3D行为识别方法,如图1所示,具体包括以下步骤:
步骤一:对摄像头内外参数进行标定;
步骤二:利用摄像头采集人体行为识别运动视频数据,获得视频样本(即视频数据);
步骤三:通过视频数据处理单元对视频样本进行预处理,即利用ffmpeg工具对视频样本进行预处理,将其转换为320×240格式的图片作为数据集,以获得处理后的视频序列;
步骤四:通过从视频数据处理单元获得的视频序列,利用C3D算法提取视频序列的内容和表征信息;该步骤的具体计算过程包括:
S1、对于每一个输入的视频图像序列x={x
S2、通过resize运算将图片统一设定为112×112,batch_size为10,输入的视频段shape为[10,16,112,112,3],即每帧大小为[112,112,3],输入的视频段通过网shape变化如图3所示;
S3、本发明在对C3D网络的8个卷积层和5个池化层处理后,初始shape为[10,16,112,112,3],利用C3D的全连接Fc6层进行特征提取,得到k个4096维的特征向量,并使用分类器输出num类动作结果。
步骤五:利用TVNet光流算法对输入的图像进行训练,以提取视频序列的运动和时间信息(即光流信息),其具体计算过程包括:
S1、卷积计算,采用卷积层替代像素级计算并定义卷积核:
w
其中,w
TVNet算法通过细化输出边界点,以满足边界条件。首先将p
div(p
Padding(填充):对输入图像进行padding,即填充像素;p
S2、双线性插值计算,TVNet采用双线性插值计算,通过
式中,u
S3、由于双线性插值连续和分段光滑,则:
式中,
S4、数值稳定性计,TVNet算法通过在分母添加较小ε值,ε>0,即
式中,a和b变量;
S5、为减少卷积网络对运动的灵敏性,在光流数据输入C3D网络前,进行归一化操作运算:
式中,x、x
S6、以[-20,20]为阈值(即临界值,设定阈值范围在norm操作之后)将位移线性化到[0,255]范围,输入卷积神经网络为光流矢量归一化后的图像;
S7、采用TVNet光流算法提取图像光流信息,超参数设置中将超参数N
步骤六:在上述步骤基础上,C3D网络在卷积、池化等运算后需对计算后的特征图进行分类。当网络训练完成后,利用C3D网络的全连接Fc6层作为特征提取器分别提取时间4096维和空间4096维特征;其计算过程具体如下:
将进行的实验视频样本总帧数记为Num,则每个视频提取特征数为m
m
式中,将样本数记为n=13320,则对于视频样本总共提取的C3D网络特征大小为:
步骤七:进行归一化操作;其计算过程具体包括:
对提取的特征进行L2正则化操作,其中L2正则化损失函数:
式中,C
正则化项是所有网络权重w的平方和,通过正则运算使模型解偏向于范数较小w,进而限制w范数大小实现对模型空间的限制,从而在一定程度上避免过拟合。
步骤八:采用串行特征融合方法,对特征向量进行分类识别得到最终的预测效果,即完成目标行为识别。由于特征融合能提高分类精度,本发明采用特征融合算法的串行特征融合方案对空间和时间结果进行处理,通过将样本空间的多组特征融合为一组新的特征向量,并对合并的特征进行特征提取以作为分类的输入。该串行特征融合方法的计算过程具体包括:
S1、采用串行特征算法,将空间(RGB)和时间(TVNet光流)矩阵分别记作
S2、为保证时间和空间特征相对应,将光流输入视频长度l设定为16,即w
- 一种基于特征融合的C3D行为识别方法
- 一种基于特征增强和决策融合的行为识别方法