1.一种轻量型的视频动作识别方法,包括如下步骤:
步骤一,视频样本预处理;
将获取到的实时监控视频或现有视频序列利用OpenCV进行视频帧化处理,即把将视频转化为一帧帧的RGB图像;然后对RGB视频帧进行图像增强、去噪的预处理,同时通过视频帧序列计算光流序列,进而提取光流特征图像;
(1)RGB视频帧图像预处理;
对于RGB视频帧图像的预处理,首先对其进行图像增强;具体有:先将图像划分为N个大小相等且互不重叠的图像子块;其次,对于每个子块,将它的像素个数均匀分配到它的各个灰度级中,由此可得每个灰度级所分配到的平均像素个数,进一步得到对比度阈值T;再次,利用对比度阈值T对每个图像子块的灰度直方图即局部直方图进行裁剪,然后将裁剪部分的像素个数均匀分配到各个灰度级,得到各个灰度级平均分配到的像素个数;然后,反复进行像素裁剪和均匀分配,直至各个灰度级的像素个数均小于阈值;紧接着对重新分配像素后的每个图像子块进行直方图均衡化处理;在对图像子块完成直方图均衡化后,若仅仅利用映射函数进行变换得到每个子块像素点的值,则不仅会导致算法耗时严重,还会让互不重叠的图像子块在图像重构时产生块效应;为了提高图像的质量,加快图像的处理速度,最后利用双线性插值算法计算像素点的值;经过图像增强后,图像的亮度和对比度都会得到较理想的改善,直方图的灰度分布也会变得更加均衡;
随后,利用引导滤波对经过图像增强的视频帧图像样本进行去噪;引导滤波是一种以较低运算耗时去除噪声、保持边缘的滤波方法;与其他滤波方法相比,它有着更强的适应性和更优的滤波性能;
(2)提取光流特征图像;
假设视频帧图像梯度恒定且局部光流恒定,提取光流特征图像的步骤主要有:
S1:图像的近似建模;
使用一个二次多项式来近似表示一个二维的灰色图像;因为图像是二维的,那么图像像素点(x,y)的灰度值看成是一个二维变量函数f(x,y),若以感兴趣的像素点为中心构建一个局部坐标系,那么对该函数进行二项展开,近似为:其中,x为二维列向量;A为2×2的对称矩阵;B为2×1的矩阵;C为常量;
2
然后以该像素点为中心,设定一个方形邻域(2n+1)×(2n+1),把邻域内的共(2n+1) 个像素点作为样本点,通过计算这些样本点的值和坐标来进行中心像素点的六维系数的估计,估计的方法常使用加权最小二乘法,其中加权是因为在邻域内,距离中心越近的像素点与中心像素具有越大的相关性,而距离越远的点提供的信息则越少,因此将邻域以外的像素点的权重都视为0;此处的系数是针对像素点(x,y)而确定的,即对于图像中的每个像素点,都有一个六维向量;
S2:位移估计;
首先通过全局位移来构造一个新的信号,假设某一个像素点M的原始位置为f1(x),即有:则像素点M在邻域范围内移动d后,有:
其中,A2=A1,B2=B1‑2A1d,
然后通过假定二次多项式中的系数相等来计算整体的位移;假设式(3)中的A1为非奇异矩阵,则可得到图形的全局位移d值为:按照理论推导,其中必定有A2=A1,但实际情况中未必能满足这一项要求,因此用均值来近似真实值,若令:则有:
Ad=ΔB (7)
T ‑1 T
d=(AA) (A ΔB) (8)
在计算过程中,利用一个先验位移值来缩减迭代次数,因为适当的先验位移值意味着更小的相对位移,从而得到更加精准的图像帧间的位移估计,进而在迭代位移估计的过程中获得视频图像帧之间的最优位移值;
S3:生成光流特征图;
利用HSV颜色模型将光流场转换为光流图像;因为经步骤S1和步骤S2提取到的只是一个光流场,该光流场只是一个二维向量场,需要将其转换为光流特征图才能输入网络中进行特征提取;
步骤二,设计LRDN模型;
通过设计LRDN模型以实现轻量化地完成特征提取,该模型以预处理后的RGB视频帧或者光流特征图为输入,并且主要由三部分组成:浅层特征提取模块、深层特征提取模块以及图像分类模块;
首先,利用1层标准卷积和1层改进的深度可分离卷积提取输入图像的浅层特征;其中,对传统深度可分离卷积操作的改进有:第一,在深度卷积前增加一层1×1卷积的“扩张”层,目的是为了提升通道数,获得更多特征;第二,最后不采用ReLU激活函数,而是直接线性输出,目的是防止ReLU破坏特征;
然后,将浅层特征作为深度特征提取模块的输入,利用LRDB中的局部密集连接、特征复用、下采样操作与残差融合结构获取图像的各项细节特征;其中,对于LRDN模型,深层特征提取模块是其核心部分,而深层特征提取模块主要是由LRDB组成;LRDB包含一个密集连接块、一个下采样过渡块以及一个带池化的恒等连接;而对于模型中的最后一个LRDB,直接利用1×1Conv对该密集连接块的输出特征进行压缩、整理,然后在倒数第二个LRDB输出的深层特征与压缩后的特征之间加入残差连接,获取最终的深层特征;
最后,利用全局平均池化聚合特征图,由全连接层作为特征分类器,对输入的图像进行分类;
步骤三,训练LRDN模型;
利用视频库中每段视频预处理后的RGB视频帧对LRDN模型进行迭代训练,以保证LRDN网络的鲁棒性,使之可稳定用于步骤四轻量化双流卷积循环神经网络的设计;
步骤四,设计轻量化双流卷积循环神经网络;
基于LRDN网络模型设计轻量化双流卷积循环神经网络,以快速获取视频行为特征数据;为了获得轻量化双流卷积循环神经网络,利用轻量型的LRDN网络来搭建双流卷积神经网络以分别提取视频的空间特征信息和时域特征信息,再将时空特征融合之后的特征输入含有软注意力机制的Bi‑GRU网络以获取视频的全局时域信息,实现快速视频动作分类识别;
1)构建空间LRDN网络;
综合考虑模型性能、网络计算损耗等因素,选择LRDN网络作为轻量化双流卷积循环神经网络的空间特征提取网络;同时,通过稀疏下采样切割截取视频帧序列作为整段视频的代表;由此,保证每张视频帧图像的代表性,同时维持视频帧的连贯性;另一方面,去除原始视频帧中的冗余信息,减少数据量,降低计算损耗;
帧化处理后得到的视频帧经图像增强、去噪等预处理后即可用以空间LRDN网络的训练,最后得到空间LRDN网络模型的参数;同时,为了便于网络后续的特征融合的加速处理,采用LRDN网络全局平均池化后的特征向量作为输入RGB视频帧的空间特征,并将其保存为中间文件;
2)搭建时域LRDN网络;
轻量化双流卷积循环神经网络的时域特征提取网络与空间特征提取网络采用平行的结构,即有时域LRDN网络,但二者需独立进行训练且彼此的训练方式也有所区别;对于时域LRDN网络的训练,由于光流视频不能直接作为网络的输入,同时也为了提高网络后期的卷积融合速率,因此以空间LRDN网络前向传播选择的RGB视频帧为基准,抽取每帧RGB视频帧所对应的前4张、后5张以及本身共10张光流图组合成堆叠的光流特征图像输入到网络中,以进行时域LRDN网络的前向传播运算,在得到时域LRDN网络的模型参数的同时将时域网络全局平均池化的输出保存为中间文件,用以后续的特征融合;
3)设计特征融合网络;
在模型的训练过程中,空间LRDN网络负责提取RGB视频帧序列卷积特征,时域LRDN网络负责提取由视频帧序列计算得来的光流序列卷积特征;因两流网络均为LRDN网络,且两个网络流的输入图像尺寸、通道数相同,所以二者输出的特征图大小也是相等的,因此不需要采取额外的变换操作,可直接进行特征融合;
采用的卷积融合网络是一个三层堆叠的卷积层,即第一层利用128个尺寸为1×1×64的卷积核对输入的特征进行整理、压缩,第二层采用的是64个尺寸为3×3×128的卷积核,第三层再次使用尺寸为1×1×64的卷积核进行降维,以减少网络的参数数量和计算量;
对于每段视频,利用空间LRDN网络产生的空间特征图和时域LRDN网络产生的时域特征图作为输入对卷积融合网络进行训练,其中训练时在网络的后面添加一层全连接层,由此得到一个维度与空间网络或时域网络输出相同的融合特征图,并在进行前向传播时保存为中间文件用于含有软注意力机制的Bi‑GRU网络的训练;
4)建立含有软注意力机制的视频分类器;
利用基于软注意力机制的Bi‑GRU网络进一步提取时空融合特征中表征视频序列的全局时域信息;在Bi‑GRU网络的输入端采用软注意力机制,让网络模型学会根据视频帧内容的重要性分配不同的权重,通过给关键帧分配更大的权重,让模型的注意力集中于视频片段的关键帧部分,更加关注视频帧序列中与行为相关的区域,从而排除视频内无关信息对视频行为分析的阻扰,进而提升模型对行为识别的效率与准确率;具体过程如下:在模型的解码过程中,将视频时空融合特征序列的加权和作为Bi‑GRU网络的输入,即有:其中, 表示t时刻第i帧视频帧在网络模型注意力分配中待学习的权重,且有反映了在t时刻第i帧视频帧时空融合特征在行为识别过程中的重要程度,该视频帧对模型完成行为识别越有利,则注意力权重值越大;而 值的大小取决于模型当前时刻t输入的时空融合特征qi以及Bi‑GRU网络上一时刻的隐藏层状态值ht‑1;
然后计算出 与qi、ht‑1之间的相关程度
其中,Mα和Nα表示网络待学习的权重矩阵;Bα表示待学习的偏置参数;tanh(·)表示激活函数;
进一步,把 进行Softmax归一化处理即可得到 值的计算公式:
此外,利用经典的软注意力机制初始化策略来计算Bi‑GRU网络中单元状态初始值c0和隐藏层状态初始值h0,分别有:其中, 与 为多层感知器;N表示一个视频帧序列的帧数;通过式(12)和式(13)可计算得到注意力权重向量α1,再利用式(9)可得到Bi‑GRU网络的初始输入向量Q1;实验证明了利用这种初始化方法会使得网络更加容易收敛;
最后,Bi‑GRU网络的输出向量yt的计算较为简单,利用网络隐藏层状态ht,通过式(14)即可得到,有:yt=Softmax(Wht+b) (14)其中,W表示隐藏层状态ht的权重矩阵;b表示偏置向量;Softmax分类器会对每一时刻行为类别的概率分布进行预测,最终输出T个类别概率分布;模型最后一个时刻(即第T时刻)输出的概率分布是最具有代表性的,因其关联了整个视频帧序列之间的信息,所以选择最后一个时刻输出的概率分布中概率最大所对应的行为类别为模型当前输入的视频帧序列所属的行为类别;
此外,在模型的训练过程中,使用交叉熵损失函数与注意力正则化以及双随机惩罚原则来定义网络的损失函数用于计算模型的预测值与真实值之间的误差,推动其反向传播更新参数;其中,使用双随机惩罚原则是为了对注意力权重值施加额外的约束,从而保证的实现,而使用注意力正则化是为了约束网络模型在视频帧每个区域的观察时间;通过不断优化如式(15)所定义的损失函数,使其达到全局最小,完成对网络模型的训练调优;
其中,训练集 且ri为训练集中的第i个视频样本, 为样本的行为类别
标签,n为训练集的大小,并且假定当 时,有P′g(ri)=1,当 时,则P′g(ri)=0,即当样本的行为类别标签为g时,模型计算该样本得到的行为类别g所属的概率为1,否则为
0;Pg(ri)表示视频样本ri对于行为类别g的预测概率值;T表示时间步长的总数;G表示模型待识别的视频行为类别数; 表示注意力惩罚系数;ζ表示注意力权重衰减系数;θ表示所有的模型参数。