基于形变卷积神经网络的行为识别

2021-10-05 12:46李君君张彬彬江朝晖
智能计算机与应用 2021年5期
关键词:视图卷积变形

李君君,张彬彬,江朝晖

(合肥工业大学 计算机与信息学院,合肥230601)

0 引 言

行为识别技术是近年来计算机视觉研究领域被广泛关注的技术,受到国内外专家学者的广泛重视和深入研究,其相关技术在智慧监控、人机交互、视频序列理解、医疗卫生等领域发挥着越来越重要的作用。目的是通过研究人体在视频中的图像帧或图像序列的时空变化,利用计算机处理和分析视觉信息,自动识别出视频中的行为模式。由于人体行为类别多样,复杂多变的背景,视频视角的差异性等问题,网络模型难以鲁棒、准确对真实的视频行为动作进行辨别,因此行为识别亟待研究工作者深入地开展研究工作。

现有的深度学习模式对特征提取模型的训练多采用端到端的模式,使用训练好的神经网络模型参数去学习视频的显著特征,对行为进行分类识别。一些早前的相关研究工作主要专注于利用卷积神经网络(CNN)来学习视频帧连续序列中蕴含的行为的深度特征。主流的CNN网络模型包括双流结构的一系列的模型和3DCNN模型。然而,卷积神经网络通常有两个缺点:

(1)假设卷积计算的几何变换是固定的和已知的,一般是使用这些先验知识,来做数据的增强工作并且设计特性和算法,但是这种默认的规则,会导致算法不能对未知几何变换的新任务进行有效泛化,会导致任务建模的不正确或不恰当;

(2)相对更加复杂的变换来说,即使已经知道其固定的特征和算法,也难以用手工的方式进行设计[1]。

一般来说,对于卷积神经网络,卷积核具有固定几何会导致其对几何形变建模能力有限,标准卷积中的规则格点采样是网络难以适应几何变形和时间序列位移的根本原因。Dai提出变形卷积,可以通过在传统卷积运算的基础上增加一个并行网络来预测传统卷积采样点的偏移量,使每个采样点都有一定的偏移量,并学习自适应感受野,从而提高了对不同尺寸和形状物体的特征提取能力[1]。本文针对标准卷积建模能力有限的问题,在残差网络的基础上,提出了可变形卷积改进的残差网络,以提升网络识别的准确性。

本文在CoST模块的基础上,构建了新颖的DSTC(Deformable Spatio-Temporal Convolution)模块。该模块可在视频数据的3个正交视图执行2D可形变卷积,可分别学习空间外观和时间运动线索,增强了卷积核对感受野的适应能力,以适应不同特征图感受野的形状、大小等几何形变;在残差网络模型结构的基础上,提出了一种新网络模型,该模型融合了DSTC可变形卷积模块,并且能够将端对端训练的网络用于行为分类;在UCF101和HMDB51数据集上的实验结果,证明了本文方法在公开数据集测试中具有显著的行为识别性能,优于当前先进的方法,并且相对于3D卷积,大大减少了参数量,并提升了识别的精度。

1 相关工作

早期的行为识别工作主要使用一些传统方法,手工制作的行为表征被很好地用于视频行为识别。许多二维的图像特征描述符被推广到三维时间域,例如时空兴趣点(Space-Time Interest Points,STIP),SIFT-3D,时空SIFT(Space-Time SIFT)和3D梯度直方图(3D Histogram of Gradient)。最成功的手工特征表征是稠密轨迹流(dense trajectories)和其改善版本,其通过光流引导的轨迹提取局部特征,是传统方法中最为鲁棒,效果最好的[2-3]。

在受到深度学习取得巨大成功的鼓舞下,特别是CNN模型在图像理解任务的成功,涌现了许多开发行为分类的深度学习方法的尝试。Karpathy等人提出在每帧上独立应用2D CNN模型,并探讨了几种融合时序信息的策略,由于未考虑帧之间运动变化,性能不如基于手工特征的算法[4];Donahue等人利用LSTM,通过聚合2D CNN特征建模时序信息,高级别的2D CNN特征被用来学习时序关系[5]。现在通常利用两种方法来提升时序建模能力,第一个是基于Simonyan和Zisserman提出的双流体系结构,该体系包括一个空间2D CNN和时序2D CNN,可分别建模帧的静止特征和帧间光流运动信息,并将其输出分类分数融合为最终预测,许多后续工作是对这个框架的拓展,探索了2个流特征的融合策略[6];另一个典型方法是基于3D CNN和其(2+1)D变体,Tran等人设计了一个11层C3D模型,以联合学习Sports-1M数据集上的时空特征,然而巨大的计算成本和C3D的密集参数使得深度模型难以训练[7]。Qiu等人提出了伪3D(P3D)模型,将3×3×3的3D卷积分解成1×3×3的2D卷积和3×1×1的1D卷积[8];Tran等人在残差网络上分解3D卷积为(2+1)D卷积,取得了优于3DCNN的识别效果[9];Carreira等人提出膨胀三维卷积(Inflating 3D ConvNets,I3D),通过扩充预先训练的C2D模型的参数进行初始化[10]。

CNN模型在行为任务领域已取得了许多优秀的成果,但大多将常规卷积作为先验知识,没有考虑到卷积计算的本质缺陷——卷积网络对视频行为目标的几何变化是未知的,这会导致模型和数据容量的低效利用。近期一些相关的工作想要通过变形建模来解决问题,Worrall等人通过移位、旋转和反射等变形的设计,在网络中添加几何不变量[11];另一种思路是通过图像空间中的半参数化或完全自由形式采样来学习重新组合数据。Jaderberg等人通过空间变换网络(Spatial Transformers Network,STN)学习二维仿射变换[12];Rocco等人利用深度几何匹配器(Deep Geometric Matchers)学习薄板样条变换[13];Dai利用可变形卷积学习自由形式的转换[1]。受到这些研究工作的引导和启发,在模型参数几乎不增加的前提下,本文的模型能够充分利用时空信息,有效地提取特征图中的重要特征。实验结果表明,该网络具有良好的识别精度。

2 模型框架

本文对ResNet-50网络进行了改进,网络框架如图1所示。ResNet网络是在VGG19网络发展而来,在其网络基础上进行改进,添加了残差单元,3D-ResNet-50网络与本文的网络对应替换的模块示意如图2所示,将卷积模块和一致性模块中的3×3×3的卷积层替换成DSTC模块,形成了可变形卷积模块和可变形一致性模块。

图1 本文网络整体框架图Fig.1 The overall framework of the network in this paper

如图2(a)所示,在网络层之间加入短路机制,可以有效地解决深层网络的退化问题;将残差卷积模块和一致性模块(图2(a)和图2(c))中的3D卷积层替换成了可变形卷积模块(DSTC),进而构造可变形残差卷积模块和可变形一致性模块(图2(b)和图2(d)),从而构建了改进版本的ResNet-50网络。首先,将输入的视频帧堆叠的图像序列裁剪成固定大小,通过三维卷积和最大池运算对数据进行初始化;其次,将初始化后的特征图像依次发送到4个大的卷积模块中(Layer1-Layer4),每个大模块依次由3,4,6和3个可变形残差模块组成,每个可变形残差模块中包括对特征图进行卷积运算,批量归一化和激活函数运算操作;最后,将特征图输入到分类层中依次执行3D平均池化、全连接层和Softmax操作得到行为的标签,得到的行为识别结果。

图2是3D-ResNet-50网络与本文的网络对应替换的模块示意图,将卷积模块和一致性模块中的3×3×3的卷积层替换成DSTC模块,形成了可变形卷积模块和可变形一致性模块。

图2 引入可变形卷积的模块Fig.2 Modules with deformable convolution

2.1 可形变卷积层

卷积网络对大尺寸多形变目标的建模存在固有的缺陷,因为卷积网络只对输入特征图的固定位置进行采样。例如,在同一层特征图中,所有特征点的感受野都是相同的,但不同的位置可能对应不同的尺度或变形对象,因此尺度或感受野大小的自适应学习是实现精确定位的必要条件。在模型中加入可变形卷积能够有效提升对目标形变的建模能力,使用一个平行卷积层学习offset偏移,在输入特征图上对应的任一卷积核的采样点位置上进行偏移,使得这些采样点更加集中在兴趣目标区域上,即增添一个偏移量在每个采样点对应位置,就可以打破常规卷积的规则网格的约束,在采样位置周边进行随意的采样。

普通卷积和可变形卷积的计算过程如图3所示。在普通卷积中,使用卷积核w对规则网格R(R={(-1,-1),(-1,0),…,(0,1),(1,1)})中的采样点进行加权运算;在可变形卷积中,通过一个平行的卷积层,对输入特征图进行卷积,得到与输出特征图具有相同的分辨率的偏移量,输出通道数为3N(N为卷积核采样点个数),其中2N为预测的x,y2个维度上的偏移量;由于不同采样点对特征有不同的贡献,还要预测N个采样点的权重。到目前为止,已经有了输入特征图以及输入特征图上每个点对应的偏移量和权重,于是可以执可变形卷积运算。

图3 普通卷积和可变形卷积计算过程示意图Fig.3 Calculation process of general convolution and deformable convolution

在可变形卷积的操作中,延续了卷积运算的一般计算过程,只是在采样区域加入一个由能够通过网络自动学习的参数{Δpn|n=1,…,N},N=|R|,同时对每个采样点预测一个权重Δmn,那么同样的位置P0的值变为公式(1):

由于Δpn通常是小数,因此需要通过双线性插值法计算x的值,公式(2)为:

其中,p代表位置,也就是公式中的p0+pn+Δpn,列举了输入特征图x的空间位置,其中G(.,.)表示双线性插值算法中的核函数,是二维的,可以被分为2个一维核,式(3):

因为绝大部分的参数都为0,因此可以很快地计算出结果。

2.2 DSTC模块

本文模块在CoST模块改进而来。C3D3×3×3卷积操作利用3×3的三维卷积联合提取空间(沿H和W)和时间(沿T)特征。本文所提出的模块中,沿T×H×W立体数据的3个视图H-W、T-H和TW分别执行可变形2D3×3卷积。值得注意的是,模块的三视图卷积计算的参数是共享的,这使得参数的数量与单视图二维卷积相同,这样可以大大降低参数的数量。随后,3个生成的特征图依次加权求和,卷积计算的权值将在训练过程中以端到端的方式学习。

图4给出了DSCT模块的示意图,设x表示大小为T×H×W×C1的输入特征映射,其中C1是输入通道的数目。来自不同视图的3组输出特征映射的计算方法是公式(4):

图4 可变形时空卷积模块Fig.4 DeformableSpatial-Temporal Convolution Module

其中,⊗表示三维卷积,w是3个视图之间共享的大小为3×3的卷积滤波器。为了将w应用于图像帧的不同视图,在不同的维度上插入一个尺寸为1的附加维度,由此产生的w的变体,即w1×3×3、w3×1×3和w3×3×1分别学习H-W、T-W和T-H视图的特征,然后对3组特征映射加权求和,式(5):

其中,α=[αhw,αtw,αth]的维度为C2×3;C2为输出通道数;3表示3个视图。为了避免来自多个视图的响应的大小爆发式增长,α沿每行用Softmax函数归一化,α的系数由网络乘以α的特征图来学习得到,这种设计是受近来机器翻译的注意力机制的启发。在这种情况下,每个样本的系数取决于样本本身,可以用公式(6)表达:

虚线内的计算块表示方程中的函数f。对于每个视图,首先使用全局最大池化层将尺度为T×H×W×C2的特征映射沿着T,H,W3个维度减少到1×1×1×C2;然后,在池化特征上应用1×1×1卷积,其权重也由所有3个视图共享,这种卷积将维数C2的特征仍然映射回C2,可以捕获不同信道之间的上下文信息;这3组特征被连接并输入到一个全连接(FC)层中。相对于1×1×1卷积,这个全连接(FC)层被应用于C2×3矩阵的每一行,它捕捉不同视图之间的上下文信息;最后,通过Softmax函数对输出进行归一化,得到α,将归一化后的参数α与[xhw,xtw,xth]相乘得到输出特征值。

2.3 损失函数

本文用标准交叉熵损失函数来评价网络性能。对于不同网络分支来说,损失函数如式(7):

其中,yi是动作所属类的真实标签;p是训练后的模型进行预测属于不同的类别分数;i表示不同行为类别的种类数;计算得到的总损失L通过反向传播算法将所有网络参数不断优化。为了验证光流对行为识别准确率的影响,本文构建了双流的结构进行试验,将损失函数Lo表示光流的损失函数,LR表示RGB帧的损失函数,模型的损失函数表示为式(8):

3 实 验

3.1 数据集

UCF101是于YouTube收集而来,包含大量真实动作视频,用于动作识别任务,共101个动作类别。视频的分辨率是320×240,数据集分成101个行为类别,这些动作类别又被分成25个小组,每个小组又分别包含4-7个动作视频,一共包含13 320个视频,占用存储空间约为6.5G。101个动作类型由五类组成:人人间的互动、人物间的互动、人体做出的行为动作、乐器演奏表演和体育竞技运动。UCF101的宗旨是对一些实际行动类别进行学习,并探索未知的行为类型,鼓励推进行动识别工作的研究与发展,对研究视频行为分类工作意义重大。

HMDB-51数据集共含51个人类行为动作,任一类别包含101个视频段,共计6 766个拍摄视频,对于每一个视频,有平均3 s左右持续时长。每一个剪辑进行了多轮的手动注释,剪辑多来自于电影中,小部分来自于一些公开数据集。广泛的面部动作如微笑,咀嚼等;常规的身体动作,如散步,摆手;人物交互的动作,如打球,梳头发,拔剑以及人类间的交互动作,如接吻,拥抱等。

3.2 实验细节和评价标准

在实验准备工作中,用FFmpeg工具将视频数据按照设定的帧率分割成视频帧,并记录每个视频的视频帧数量。为了合理地挑选训练样本,采纳了均匀采样的提取方式,设定时间位置,在其周边选取视频中的视频帧。为了满足16帧的需求,有时候需要对视频进行多次循环采样。在设定时间位置连续地取若干个视频帧以构成三维(H,W,T)视频信息。紧接着对视频帧进行时空裁剪操作,选取空间位置依照的规则是选取视频提取帧的中心或四个边角点位置之一。输入的原始视频帧尺寸为224×224,网络将其裁剪成112×112的大小,训练一次取16帧,由于训练数据是RGB图像,取信道数为3。

实验中采用交叉熵损失函数,参数的微调工作将通过反向传播算法来开展,将权重衰减参数和动量参数分别设置为0.9和0.001。训练网络起初,将学习率lr设定为0.2,当验证损失趋于饱和后,将学习率减少到其十分之一大小;在网络进入微调的阶段时,学习率lr参数改变为0.01,权重衰减参数改变为1e-6。 本文在深度学习框架PyTorch上进行实验设计,实验工作站配置为i7 6800k酷睿6核、2块NIVDIA GTX1080Ti 8GB显卡、64G内存,256G固态硬盘。

Top-N准确率被采用来评价行为识别的性能。评判依据是:在测试视频数据的前N大分类概率中,判断正确的分类是否被包括其中,如果是,则认定为识别成功。

3.3 实验结果分析

本文提出的可变形卷积模块(DSTC)对行为识别性能产生的影响,见表1,可明显看出,在引入可变形卷积模块(DSTC)后,本文所提出的改进的网络模型所取得的效果显著,能够有效地运用于行为分类任务。

表1 UCF101数据集上可变形卷积模块对实验性能的影响Tab.1 The impact of experiment result by deformable convolution factor on UCF101 dataset

在UCF101和HMDB51数据集上,分别观察与对比模型的识别效果,将本文方法和当前一些优秀方法进行比较,见表2和表3。

表2 UCF101数据集上使用不同网络模型的识别性能Tab.2 Recognition performance of different networks on UCF101 dataset

表3 HMDB51数据集上使用不同网络模型的识别性能Tab.3 Recognition performance of different networks on HMDB51 dataset

表2和表3表明,相比于一些现有的效果良好的方法,本文提出方法最终得到了相对更高的识别正确率。实验证明,通过对网络设置并行支路来处理光流信息,可加强网络的识别性能,进一步证明本文的方法有深远的研究价值。

在UCF-101数据集上,DSTC方法训练和验证过程中交叉熵损失函数的缓慢变化,如图5所示。随着训练和验证过程的进行,交叉熵损失值逐渐减小,DSTC模型的识别效果逐渐变好。

图5 训练及验证过程损失函数变化Fig.5 The loss function of Training and Validation process

为了能够更直观地观察本文方法的细节效果,从UCF101和HMDB51数据集中选取了6个差异比较显著的行为类别进行可视化研究,展示了DSTC方法在不同类别上的注意力热图,颜色越深代表该区域的特征显著性越强,模型对其关注度更高。从图中可以发现,我们的方法能够更好的动态适应特征的形变,更加有效地关注视频中更重要的特征区域,能够捕获到有效的时空信息进行学习,以提升行为识别的准确率,如图6所示。

图6 几种类别的注意力热图可视化Fig.6 Visualization of heat maps of attention for several categories

4 结束语

本文提出一种基于可变形卷积的改进型3DResNet网络,用于视频中的行为识别,通过引入形变卷积,构建了一个可自适应地协同学习视频三维信息的模块,将该模块替换3D-ResNet网络中部分卷积模块,提高行为识别效率。同时,融合了光流信息进行实验,证明了光流信息的引入可进一步提升模型的准确率,说明方法仍具有深远的研究价值。实验结果表明,与现有的一些效果显著的方法相比较而言,本文方法能拥有更准确的识别性能。

猜你喜欢
视图卷积变形
基于全卷积神经网络的猪背膘厚快速准确测定
基于图像处理与卷积神经网络的零件识别
变形记
谈诗的变形
基于深度卷积网络与空洞卷积融合的人群计数
不会变形的云
Y—20重型运输机多视图
SA2型76毫米车载高炮多视图
卷积神经网络概述
《投影与视图》单元测试题