陈西江,梁全恩,韩贤权,安 庆
(1. 武汉理工大学 安全科学与应急管理学院, 湖北 武汉 430070; 2. 长江科学院, 湖北 武汉 430010; 3. 武昌理工学院 人工智能学院, 湖北 武汉 430223)
得益于计算机设备的进步与算力的提升,深度学习技术得到了快速发展。许多学者提出了基于卷积神经网络的图像识别算法,如:AlexNet[1]、VGG[2]、ResNet[3]等。由于神经网络在图像识别领域的优势,许多学者尝试运用卷积神经网络进行行为的识别与分类。基于不同的骨架网络,行为识别网络一般分为2D行为识别网络与3D行为识别网络。
2D的行为识别网络使用2D卷积神经网络作为骨架网络进行行为识别。Simonyan等[4]设计了包含两个独立卷积神经网络的双流网络,其以密集的连续帧作为网络输入提取时序信息。但是密集的连续帧无法对动作进行大时间尺度的建模。为改进这一缺点,Wang等设计了时间分割网络(temporal segment network,TSN)[5]。TSN将视频分段,将每段视频输入到双流网络中再对每段的结果进行融合从而使网络具有长时时空建模的能力。Zhou等提出时间关系网络(temporal relation network,TRN)[6]。TRN主要关注不同时间尺度上的不同帧的相关性,其将图像特征依照不同的时间尺度进行时间关系推理得到不同时间尺度下的行为分类结果,最后融合多尺度的分类结果得到最终的分类结果。Zolfaghari等提出了一种高效的行为识别网络[7],其创新在于在网络底部使用3D卷积神经网络来获得最后的分类结果。基于动作主体语义变化相较于动作变化本身更慢,Feichtenhofer等设计了SlowFast网络[8],SlowFast网络包含了两个不同设计的卷积神经网络,分别侧重于提取不同变化速率的特征。Yang等[9]设计了一个金字塔结构的时间金字塔网络(temporal pyramid network,TPN)用以对动作的不同速率进行采样,其利用不同层次网络的输出特征,应用不同的空间采样率与时间采样率进行采样,最后将采样后的特征融合获得行为的分类结果。刘董经典等出了2D时空卷积密集连接神经网络[10]。他们选取视频中用于表征行为的帧,将这些帧依照不同的时空次序组成蓝绿红(blue green red,BGR)格式的数据,将组成的图片数据输入2D时空卷积密集连接神经网络以对行为进行识别分类。
3D的行为识别网络利用3D卷积核构建的卷积神经网络,卷积核本身扩张了时间维度,从而在卷积过程直接提取输入图像间的时序信息。3D卷积神经网络C3D[11]由Tran等首次提出用于行为识别。但3D卷积核扩展维度会使网络的参数量成倍增加。因此,Qiu等提出了Pseudo-3D网络[12],P3D网络将3D卷积核进行了分解以降低参数量。Tran等提出了R(2+1)D网络[13],其思路与P3D网络的思路相似,但在分解卷积核时保持了参数量一致。张小俊等[14]借鉴P3D网络,但相比直接替换卷积核,他们设计了一种双流的网络结构。Carreira等设计了一个双流3D卷积神经网络I3D[15],他们探讨了如何应用图像分类和识别模型的预训练参数于3D卷积神经网络中。Xie等提出了S3D网络[16],S3D在I3D网络的基础上对I3D网络内的Inception block中的3D卷积核进行分解。Qiu等[17]基于分组卷积设计了一个提取时空特征的卷积模块组分解模块(grouped decomposed module, GDM)并构建了行为识别网络组分解网络(grouped decomposed network, GDN)。GDM将输入特征沿通道分为三部分,分别使用不同的卷积核计算,最后将计算结果沿通道拼接从而融合不同时空信息。郭明祥等提出三维残差稠密的行为识别网络[18]。他们将DenseNet中的卷积核替换为3D卷积核,利用网络本身的密集连接融合不同层级的时空特征,使用自适应的局部特征与全局聚合来学习行为的局部密集特征与全局特征。
基于2D卷积神经网络的行为识别网络在卷积过程缺少对时空特征的提取,因而限制了其性能。Lin等提出了时间位移模块(temporal shift module,TSM)[19]尝试解决2D的行为识别网络存在的问题。本文受TSM的启发提出了多时间尺度卷积。相比TSM,本文提出的多时间尺度卷积能够更好地融合前后多帧的信息到当前帧中,使网络获得更好的时空建模能力。本文讨论了多时间尺度卷积的具体设计与其在骨架网络ResNet50中插入的位置与数量,构建了行为识别网络,并在大型开源数据集Something-Something v2上进行实验对比。
卷积神经网络由多个卷积层、池化层与全连接层组成。卷积层一般由卷积核和激活函数或其他组件组合而成。这些基础的组件以串联或并联的方式连接,输入的图像特征依照顺序送入每一个组件最后得到该卷积层的输出。卷积层计算式可以表达为:
O=f(W(θ)(x))
(1)
式中,x为卷积层输入,O为卷积层输出,W代表卷积核,f为激活函数,θ为卷积核参数。输入图像经过多个卷积层的计算被提取为高维特征,之后将高维特征展开以一维向量的形式输入到全连接层中得到分类结果。得益于卷积核强大的特征提取能力,卷积神经网络在多个数据集上的性能表现都超过了滑动窗口、手工特征、多层感知机等传统方法。同时卷积核共享参数的特性使得卷积神经网络计算更高效且易于训练。
残差神经网络ResNet是由He等提出的一系列卷积神经网络,其在多个开源数据集上取得了较高的分类准确率。ResNet依照网络层数不同可以划分为ResNet18、ResNet34、ResNet50等网络。以ResNet50为例,如表1所示,其网络由49个卷积核和1个全连接层组成,依照不同输出特征大小,这些卷积核被分入不同的网络层。在网络层中,这些卷积核又被组织成瓶颈结构的形式。
表1 ResNet 50结构
瓶颈结构如图1所示,每个瓶颈结构包含参数为1×1,3×3和1×1的三个卷积核。两个大小为1×1的卷积核置于串联结构的顶部与底部,大小为3×3的卷积核置于结构的中部。瓶颈结构中1×1卷积核将输入特征的通道进行压缩与还原,3×3卷积核在计算过程中保持通道数不变。瓶颈结构通过降低中间特征的通道数,显著地减少网络的参数量并加快网络的训练速度。
图1 瓶颈结构Fig.1 Bottleneck block
ResNet在卷积核后使用激活函数ReLU和归一层BN。BN层通过归一化网络输出,加快网络训练的收敛速度,缓解梯度爆炸或梯度弥散的出现,同时抑制网络过拟合现象,因此BN层被广泛应用于各种神经网络中。BN层的计算公式为:
(2)
式中:x为输入数据;μ为输入数据的均值;σ2为输入数据的方差;γ与β为可训练参数参与到神经网络的训练过程,用于还原数据的分布。
激活函数ReLU将输入数据中小于0的数值置为0,大于0的数值保持不变,增加卷积神经网络的非线性因素。激活函数ReLU可以表述为:
ReLU(x)=max(0,x)
(3)
如图1所示,ResNet的瓶颈结构引入了残差连接。通常,卷积神经网络的层数增加可以对输入特征进行更细致地拟合,但是随着网络层增加,网络变得难以训练,且其性能也不一定超越浅层网络。残差连接的提出有效地解决了深层网络的以上问题。设xin为输入特征,xout为输出特征,φ(xin,ω)为卷积层代表的输入到输出的映射,其中ω为卷积运算。一个包含残差连接的瓶颈结构的计算过程可以表示为:
xout=xin+φ(xin,ω)
(4)
当映射φ(xin,ω)的值逼近于0时有xin≈xout,此时认为该层网络没有学习到新的特征,即该层网络是输入到输出的一个近似的恒等映射。通过残差连接,使网络在层数增加时更易训练,并且维持网络性能不会退化。
表2是不同层数ResNet网络在ImageNet[20]数据集上进行图像分类的准确率。由表2可以看到,随着网络层数增加网络的识别准确率呈现上升趋势,说明残差连接有效地解决了前文提到深层网络存在的问题。
表2 ResNet在ImageNet数据集上的准确率
ResNet系列网络结构简单,适合根据需求对其进行不同修改。通过对比表2中不同层数ResNet的准确率与参数量,选取在两者之间取得较好平衡的ResNet50作为本文的骨架网络。
TSM由Lin等提出。TSM通过移动输入特征的部分通道将相邻两帧的部分特征引入当前帧中达到信息融合的目的,使骨架网络获得时空建模能力。TSM的结构如图2所示,其中不同颜色的行对应不同时间点T的图像特征,两个箭头分别为前向移动与后向移动。前向移动将部分特征沿着时间维度的顺序向前移动一个时间单位,通过前向移动每一帧都将融合后一帧的部分信息。后向移动沿着时间维度将部分特征向后移动一个时间单位,从而使每一帧获得前一帧的部分信息。T0与T4的部分通道由于移动会出现数据缺失,TSM中使用零值进行填充,对于超出时间范围的特征则舍去。TSM使用α控制移动的通道数,通过参数控制,在不影响骨架网络空间建模能力的基础上最大限度地融合前后帧的信息。此外,TSM可以不经修改原网络结构快速地插入到任意ResNet系列的网络中实现即插即用。
图2 TSM结构Fig.2 Architecture of TSM
TSM的通道移动操作主要涉及数据在内存之中的移动,本文结合文献[19]说明TSM可以视作一个特殊的卷积模块。设输入特征F含有n帧图像,设t1,t2,…,tn为F中不同帧的图像特征对应的时间点。将每一帧特征的通道分为三部分,Fforward为TSM中需要前向移动的特征,Fbackward为需要后向移动的特征,Fremain为不需要移动的特征。又设三个固定参数的3D卷积核为c1、c2、c3,将其时间维度的参数设为[0,0,1],[1,0,0],[0,1,0]。将c1、c2与c3分别与Fforward、Fbackward、Fremain进行卷积计算。以c1与Fforward进行卷积计算为例,F′forward为输出特征,计算过程为:
(5)
式(5)中的时间范围为t1~tn。该式中上标为t0与tn+1的F的值设为0,其为卷积过程中为维持特征大小不变所设置的参数。由式(5),与c1计算后,Fforward中当前时间点的特征变为了后一时间点的特征。同理可推c2与Fbackward,c3与Fremain相应的计算过程。经推导可知,通过固定卷积核时间维度上不同位置参数,可以使卷积舍去或保留不同时间点的特征,从而等价于不同的移动操作。综上所述,TSM的移动过程可以表达为:
F′=CCat[c1(Fforward),c2(Fbackward),c3(Fremain)]
(6)
式中,CCat为拼接操作。由上述讨论,TSM的通道移动操作可以视为使用不同的固定参数的3D卷积核与特征不同部分的通道进行卷积。与普通卷积核不同的是这些卷积核在训练过程中不学习参数。
TSM证明了在2D骨架网络的基础上,使用部分输入特征进行信息融合可以使模型具有捕获时空信息的能力。受TSM的启发,本文设计了多时间尺度卷积(multi time-scale convolution,MTSC)提取融合帧间时空特征。多时间尺度卷积由两个时间1D卷积核组成:其一为大小3×1×1的时间1D卷积核用于提取当前帧及邻近前后两帧的特征,时间跨度为3帧;其二为大小3×1×1的空洞时间1D卷积核,用于提取当前帧及前后隔帧的特征,时间跨度为5帧。MTSC的运算过程如图3所示,首先将原特征沿着通道顺序分割为截取特征Fconv与保留特征Funconv,之后将截取特征分别输入到两个不同的时间1D卷积核中进行计算以提取不同尺度的时空的信息,最后将卷积输出特征相加融合再依照通道顺序与保留特征拼接。如1.2小节讨论,TSM可以视作对特征的不同部分进行固定参数的卷积计算,但其存在两个缺点:参数不能学习;部分通道出现信息缺失。多时间尺度卷积使用可训练的时间1D卷积解决了以上两个问题,其表达式为:
图3 多时间尺度卷积Fig.3 Multi time-scale convolution
Fout=CCat[k1(Fconv)+k2(Fconv),Funconv]
(7)
式中,k1,k2代表两个时间尺度的时间1D卷积。通过融合不同时间尺度的特征,输入中的每一帧特征获得前后不同时间尺度上的信息从而使网络具有更好的时空建模能力。
行为识别网络由若干个多时间尺度卷积嵌入ResNet50构成,因此本文提出的行为识别网络同时考虑了多时间尺度卷积结构与多时间尺度卷积的嵌入位置。
提出的多时间尺度卷积的结构为图3中截取特征的通道数量。截取特征通道数量不仅影响多时间尺度卷积提取融合时空特征的能力,并且随着通道数的增加,多时间尺度卷积的参数量也会上升。本文参考TSM,使用参数α来控制截取特征的通道数。α代表输入特征总通道数Cin与截取特征通道数Cconv的比值。
(8)
多时间尺度卷积的嵌入位置指多时间尺度在骨架网络中具体嵌入的层数与数量。本文选取的骨架网络ResNet50含有多个瓶颈结构,多时间尺度卷积可以方便地嵌入到瓶颈结构之前。插入多时间尺度卷积的数量影响着网络的时空特征提取能力,并且嵌入多时间尺度卷积的数量也在影响模型的参数量,因此需要研究如何取得性能与参数之间的平衡。如表1所示, ResNet50包含网络层1至网络层4四个网络层,将多时间尺度卷积插入不同网络层的瓶颈结构前并进行对比,研究多时间尺度卷积在骨架网络中的最佳插入位置与数量。
本文提出的基于多时间尺度卷积的行为识别网络总体结构如图4所示。首先对视频进行稀疏采样,每个视频抽取8帧图像堆叠组成网络的输入。然后网络使用多个卷积层对输入图像进行特征提取。最后将卷积层输出的特征平铺为一维向量输入到fc层中,将fc层的输出相加并按帧数取均值得到识别结果。
图4 行为识别网络总体结构Fig.4 Overall of behavior recognition network
算法1 Top-1准确率与Top-5准确率
使用行为识别领域中常用的Top-1准确率与Top-5准确率作为性能评价指标。Top-1准确率是指网络的输出中概率最高的类别和视频实际类别一致的比例,Top-5准确率是指网络输出中概率最高的前五个类别中包含视频实际类别的比例。Top-1准确率与Top-5准确率的伪代码见算法1。
Something-Something v2数据集是一个大型的开源行为识别数据集。Something-Something v2数据集涵盖了174个行为类别,包括日常中常见的行为如:移动某物靠近某物、上移某物、打开某物等。Something-Something v2数据集中的动作类别注重时空上的关系,对于模型理解动作主客体之间的交互要求较高。Something-Something v2数据集共包含220 847个视频,其中训练集168 913个视频,测试集27 157个视频,验证集24 777个视频。为了在实验阶段快速验证网络性能,本文对训练集中所有类行为的视频进行等比例选取,选取比例为1/5,构成了包含33 689个视频的训练集子数据集(后文简称为训练子集),数据集划分情况如图5所示。
图5 数据集划分Fig.5 Splits of dataset
实验环境为Ubuntu16.04,一块NVIDIA RTX 2080ti GPU,Pytorch版本1.4,Cuda版本10.0。由前文所述,选择ResNet50作为骨架网络并使用ImageNet预训练参数。本文选择SGD作为优化器,初始的学习率设置为0.01,在第20和第40轮次时学习率下降为当前学习率的1/10,优化器动量momentum为0.8,模型训练的轮次为50epoch。全连接层的dropout设置为0.5。使用梯度累加将批大小模拟为64。在训练时,在视频中抽取8帧的视频切片,将视频切片中的每一帧图像随机剪裁出224×224大小的图像,之后重新组成一个视频切片输入网络。在测试阶段与验证阶段,选取8帧视频切片,每一帧图像都在中心剪裁224×224大小的图像,之后重新堆叠输入网络进行测试。在实验部分,使用训练子集训练网络研究多时间尺度卷积的设计与卷积插入的层数选择。在进行与其他网络性能对比时,将使用完整的训练集训练网络。由于Something-Something v2数据集的测试集并未提供标签信息,因此将在提供标签信息的验证集上测试网络的性能。
2.3.1 最优α值确定
参考TSM的研究,选取了三个α值分别为2、4、8。在该实验中,多时间尺度卷积与TSM插入的位置为网络层1至网络层4的瓶颈结构前。表3为在训练子集上对不同α值的网络进行训练并在验证集上测试的结果。α值越小代表图3中截取特征的通道数越多。
表3 不同α值对应不同的网络精度
表中Top-1与Top-5分别为Top-1 准确率与Top-5 准确率,在无其他说明的情况下后文中的其余表格与此相同。针对Top-1准确率,由表3可明显看出,α=4时的网络精度相对α=2与α=8的网络分别提升1.67%和0.74%,同时比TSMα=4时提升0.74%。针对Top-5准确率,α=4时的网络精度相对α=2与α=8的网络分别提升1.97%和1.37%,同样比TSMα=4时的网络精度提升了0.98%。因此,当α=2与α=8时,网络的性能都有不同程度的下降。根据文献[19]可以确定,造成该现象的原因如下:当α=2时,输入特征每一帧的特征都只保留了一半的原特征,这造成了较为严重的信息丢失,因此损害了网络的空间建模能力,进而导致网络性能下降。当α=8时,虽然保留了输入特征的绝大部分特征,但是时序信息融合较少,因此网络性能仍有上升空间。从表3可以看到,α=8时多时间尺度卷积的性能与TSMα=4时的性能相似,证明了多尺度卷积比TSM具有更好的时空信息提取融合能力,能使用较少的通道数达到TSM中移动较多通道的效果。通过该实验可以确定α=4时网络取得了最优性能,因此,多时间尺度卷积的最优α值为4。
图6展示了部分行为类别在不同α值下的识别情况。由图6可以看到在α为2时,网络对某些类别的识别正确率下降严重,如“扭某物”。“扭某物”类别对空间信息较为敏感,因此可以印证前文的推测即α取值过大导致网络空间建模能力下降。
图6 不同α对应的部分类别识别结果Fig.6 Classification result of some behavior categories by different α setting
2.3.2 多时间尺度卷积插入位置确定
多时间尺度卷积可以简单地插入骨架网络中,将多时间尺度卷积分别在不同层内的瓶颈结构之前插入。选择了3种插入位置组合:[1,2,3,4]、[2,3,4]、[3,4]。[1,2,3,4]代表在第1、2、3、4层的每一个瓶颈结构前插入多时间尺度卷积,其余以此类推。在该实验中,多时间尺度卷积与TSM的α=4。实验结果见表4。
表4 不同插入位置的网络精度
可以看到,随着插入层数的减少网络性能呈现下降趋势,这说明卷积插入数量的提升可以显著地增强网络的时空建模能力。但随着卷积核数量增加,网络的参数和计算消耗也会增大,因此对于部分计算量敏感的应用场景可以选择插入较少的层次如[2,3,4]。图7展示了不同插入位置对应的部分类别识别结果,说明随着插入层数的增加即插入多时间尺度卷积的数量增加,有利于模型的识别性能提高。
图7 不同插入位置对应的部分类别识别结果 Fig.7 Classification result of some behavior categories by different insertion position setting
通过2.3.1节与2.3.2节的讨论,行为识别网络在多时间尺度卷积的α=4、插入层次为[1,2,3,4]时取得最好的性能。本节利用Something-Something v2数据集验证本文提出的网络与TSN、TRN、TRN-2Stream等网络的性能,使用Top-1和Top-5准确率对不同方法性能进行比较,结果见表5。
表5 与其他模型的对比
TSN为早期方法,其使用16帧图像作为输入仅取得了30%的Top-1准确率,落后于其他行为识别模型。由表5可以看出,针对Top-1准确率,基于多时间尺度卷积的行为识别网络超过了TRN以及使用光流输入的TRN-2Stream 10.67%和3.97%。相比于TSN+TPN与GDN网络,MTSC的Top-1准确率分别提升了4.27%与1.87%。同时,MTSC超过了相同设置的TSM 0.77%。针对Top-5准确率,以8帧作为输入的TSM和以16帧作为输入的GDN网络性能与以8帧作为输入的MTSC接近,但仍然低于MTSC 0.07%和0.44%。同时,以8帧作为输入,MTSC的Top-5准确率明显高于TRN、TRN-2Stream及GDN。图8显示了部分类别的分类情况,对于TSM难以识别的“推某物使其旋转”类别,使用多时间尺度卷积取得了较大的提升,其他类别的识别数也获得了不同幅度的增加。这说明多时间尺度卷积使骨架网络获得了更强的时空特征提取能力。
图8 TSM与多时间尺度卷积的部分类别识别情况 Fig.8 Classification result of some behavior categories of TSM and MTSC
本文研究了TSM,并利用公式推导了TSM可以等效为一组特殊的固定参数卷积核。同时,在分析过往基于卷积神经网络的行为识别模型的基础上,提出了多时间尺度卷积提取融合不同时间尺度的时空特征,以ResNet50为骨架构建了行为识别网络。
在行为识别网络构建方面,研究了多时间尺度卷积插入位置和控制截取特征通道数的参数α的取值对模型性能的影响。实验表明,当截取特征通道数为原通道数的1/4,插入位置为网络层1至网络层4时网络取得最好性能。通过实验对比验证了本文提出的网络优于TSM及其他网络,在Something-Something v2数据集上取得了59.47%的Top-1准确率。后续,将深入研究多时间尺度卷积瓶颈结构插入位置、如何选取截取特征以及降低网络参数量等问题,并更仔细地设计网络结构以取得更好的识别性能。
猜你喜欢时间尺度时空卷积跨越时空的相遇四川党的建设(2022年8期)2022-04-28时间尺度上Lagrange 系统的Hojman 守恒量1)力学学报(2021年10期)2021-12-02基于3D-Winograd的快速卷积算法设计及FPGA实现北京航空航天大学学报(2021年9期)2021-11-02交直流混合微电网多时间尺度协同控制能源工程(2021年1期)2021-04-13镜中的时空穿梭小学生学习指导(低年级)(2020年11期)2020-12-14时间尺度上完整非保守力学系统的Noether定理苏州科技大学学报(自然科学版)(2020年1期)2020-04-13从滤波器理解卷积电子制作(2019年11期)2019-07-04玩一次时空大“穿越”作文大王·低年级(2018年10期)2018-12-06基于傅里叶域卷积表示的目标跟踪算法北京航空航天大学学报(2018年1期)2018-04-20大连市暴雨多时间尺度研究分析水利技术监督(2016年6期)2017-01-15扩展阅读文章
推荐阅读文章
恒微文秘网 https://www.sc-bjx.com Copyright © 2015-2024 . 恒微文秘网 版权所有
Powered by 恒微文秘网 © All Rights Reserved. 备案号:蜀ICP备15013507号-1