APP下载

基于协同卷积的轻量级行为检测方法

2024-02-26陈欣悦高陈强黄思翔

关键词:时序时空卷积

陈欣悦,高陈强,陈 旭,黄思翔

(1.重庆邮电大学 通信与信息工程学院,重庆 400065;2.信号与信息处理重庆市重点实验室,重庆 400065)

0 引 言

随着深度学习的发展,视频理解逐渐受到关注,其中,时空行为检测是计算机视觉的一个重要研究领域,其目的是对视频中呈现的行为进行分类,并在空间和时间上对其进行定位。

在以往的方法中,人们通常使用目标检测网络处理连续单帧视频来检测时空行为[1-4],这样就将连续视频帧视为一组连续的图像,在每一帧视频帧中检测目标及其行为类别,然后在一段时间内的连续视频帧中跟踪检测出来的目标,重新形成视频结果。这种方法使得目标检测网络无法获取视频中存在的时序信息,类间差距小的行为类别也不能很好地区分。为了获取视频中的时序信息,目前典型的时空行为检测方法主要是通过目标检测算法确定目标所在区域,然后进行目标跟踪和特征提取,最后利用行为识别算法对单个目标的一段视频通道进行行为分类[5]。

目标检测算法是时空行为检测中最重要的一环,获取到目标所在位置形成单目标视频帧链路才能进行行为分类。主流的行为检测方法主要使用两阶段目标检测网络Faster-RCNN等[3]来提高算法在定位目标时的准确率。随着行为检测算法对于实时性的需求日益增加,使用单阶段目标检测方法YOLOv4[6]、YOLOv5[7]等能够加快算法的检测速度。然而,过于复杂的网络仍然会导致检测速度较慢,因此,一些轻量级网络被陆续提出。Ma[8]总结了相同FLOPs模型检测速度差异的原因,并在此基础上对算法进行了改进。ESNet[9]在GhostNet[10]中引入了SE模块和Ghost模块,并加入了深度可分离卷积学习不同通道的信息,使得该模型在保证实时性的同时进一步提高模型的精度。

分类部分则将网络架构和先验知识从图像领域推广到视频领域,例如将二维模型转换为三维模型[11],以便更好地获取视频中的时序信息。三维卷积是二维卷积的自然延伸,它利用三维核函数捕捉时空特征,通过叠加三维滤波器提取时序相关性。Carreira和Zisserman[12]为了迁移在图像领域深度学习分类模型的参数,提出在ImageNet[13]上预训练Inception-V1[14]的权重来识别视频中的行为。除了三维卷积,其他一些方法也是在现有网络上设计获取时序信息模块。Wang等[15]提出了一种非局部操作来建立视频帧特征图上不同时空位置之间的相关性。Zhang等[16]提出采用四维卷积来捕获视频级片段之间的关系。Wu等[17]设计了一个长时间特征库,从整个视频中收集特征,然后在训练网络时使用对应的算子与之交互。Yang等[18]提出了一个时间金字塔网络,利用不同层次的特征聚集多尺度的时间信息。MOC[19]算法将行为检测分为了3个分支,分别获取位置和时序运动信息。为了更好地保留视频的空间、时序等上下文信息,TubeR[20]、HIT[21]等算法将transformer引入到行为检测领域中。

然而,所有这些获取时序信息的方法都引入了额外的计算。为了研究三维网络中的有效部分,Feichtenhofer[22]从持续时间、帧率、空间分辨率、网络宽度、瓶颈宽度和深度等方面寻找视频分析的架构。一些方法[23-25]将原始的三维核分解为空间(二维)和时间(一维)卷积,以减少总计算量。同时,Road[26]算法在定位部分使用单阶段的SSD算法并通过在线算法进行实时的时空检测,从而可以在线进行行为预测。YOWO[27]算法通过三维卷积与YOLOv2相结合的统一的框架提取空间信息和时序信息,形成端到端的行为检测网络,从而减少网络的计算量,提高检测速度。由于基于三维卷积的方法仍然耗时较长,因此,有研究关注基于二维卷积的架构以追求效率。典型的双流网络[28]将单个视频帧及其光流独立地输入2个二维网络,并将它们的分数融合在一起进行最终预测。该方法虽然能较好地提取行为中的时间信息,但将定位和分类过程分离,使网络无法复用有效的特征信息。Chen等[29]将时序信息保留在二维图像中,利用长时间建模特性,使用四维卷积实现时空特征提取。同时,MaskFeat[30]和VideoMAE[31]算法用视频级掩码将检测任务转换为自监督任务,使得少量高质量数据进行训练就能获得较高的准确率。

本文设计了一种新的单阶段时空行为检测网络。将时空图像(spatio-temporal image,STI)引入到时空行为检测任务中,以替代原有的视频帧序列。为了从时空图像中获取时序信息,使用协同卷积(collective convolution,CoConv)来提取特征。它由2个层次组成,空间层次实现内部像素的常规卷积,而时间层次实现跨帧像素之间的卷积。因此,协同卷积在形式上是一个四维卷积核,可以捕获精细的空间信息和长期的时序信息。此外,通过设置空间级卷积和时间级卷积的核大小,在与二维卷积同等大小的参数量和引入少量计算量的情况下,可获得与四维卷积等效的效果,减少三维卷积带来的计算负担。实验结果表明,本文方法在保证一定准确率的情况下,能够有效地减少计算量,相较于目前主流的行为检测算法,本文具有一定的优势。

1 本文算法

1.1 网络结构

本文基于YOLOv5基本结构,设计单阶段时空行为检测网络,在保证准确率的同时提高了检测速度。整个网络结构由1个协同卷积层和4个协同卷积特征提取模块组成的骨干网络和有协同卷积参与的检测头部组成,如图1所示。本文将时空图像输入到批归一化层(batch normalization,BN)(卷积核为6×6)后,通过4层的协同卷积模块得到骨干网络输出的卷积特征。图1中,虚框的协同卷积模块由卷积层、最大池化层和瓶颈层(BottleneckCSP)组成。本文在卷积层和瓶颈层(其中卷积核为3×3)中使用协同卷积操作来替换二维卷积操作。使用1×1×3×3卷积核的协同卷积,保证网络能够在时空图像中获得单帧视频帧的特征。为了得到所有像素点的特征信息,卷积运算的步长为1。同时,为了保证得到不同尺度的特征信息,采用步长为2的最大池化层来降低空间分辨率,提高网络识别不同尺度目标的有效性。特征提取模块输出3个尺度的特征张量输入到检测头部中进行定位和分类。检测头部先经过空间金字塔池化层、协同卷积层、上采样、连接层和瓶颈层得到后续需要的特征信息,再由协同卷积层、最大池化层、连接层和瓶颈层组成的3个支路,分别得到3个特征尺度的检测结果。在通常情况下,使用卷积核大小为1×1×3×3的协同卷积得到的结果与目标检测一致,无法得到时空图像中的时序信息,所以,在检测头部中,本文使用卷积核大小为3×3×1×1的协同卷积,使网络能够获取到相同位置不同时间的特征信息,以便得到特征的定位和分类结果。

图1 本文方法的网络结构图Fig.1 Illustration of the proposed method

1.2 时空图像

主流方法与时空图像方法流程图如图2所示。主流时空行为检测使用连续视频帧和三维卷积模型进行行为的定位和分类,为了减少视频输入使用三维卷积带来的空间复杂度和时间复杂度的提升,同时能够在图像中获取到视频中的时序信息,本文将时空图像[29]引入时空行为检测中,使得二维卷积模型就能够得到三维模型相似的特征信息。

图2 主流方法与时空图像方法流程图Fig.2 Flow chart of mainstream methods and spatiotemporal image methods

原始视频V可以表示为

(1)

(1)式中:T表示视频帧总数;It表示t时刻的视频帧;R表示整个视频帧的集合;H×W表示每一视频帧空间大小。本文将V分割成Te个片段形成集合A,即从每个片段ai中以s为步长连续密集采样Te帧。

(2)

ai,j=Iti+sj

(3)

(2)—(3)式中:ti表示片段ai开始的时间;j为索引,且j∈[0,Te-1]。本文中,设定s=16,Te=4,因此,对于网络每一次向前传递的过程中,获得了Te×Te帧,使用这些视频帧形成时空图像。用S表示(h,w)位置的像素,则时空图像的表达式为

S(h,w)=

(4)

在时空行为检测任务中,对于一般的连续视频帧作为输入,时空图像将视频帧进行拼接,不占用额外的存储空间,不占用额外的计算资源。

1.3 协同卷积

时空图像为较大的视频帧拼接图像,通常使用的二维卷积不适合该图像的特征提取和分类,本文引入了“协同卷积”[29]替换传统的二维卷积来提取时空图像的时空特征,能够从图像中提取到视频的时序信息。

为了计算简单,本文设定图像长宽等长为n,协同卷积的输入尺度为C×Ten×Ten的张量X,其中,C是输入的通道数。输入张量的四维卷积表达式为

Xc(h+un+q,w+vn+r)

(5)

(5)式中:Oj(h,w)为(h,w)位置上的像素经过第j层卷积的输出;bj为偏移项。协同卷积的卷积核为U×V×Q×R,其中,U×V是空间级卷积的大小,Q×R是时序级卷积的大小。Wjc(u,v,q,r)是第c个输出通道在(u,v,q,r)位置的权值,其中,(q,r)是每个像素在单帧视频帧中的空间位置,(u,v)是像素在时空图像中的位置。Xc为第c个通道的输入特征。在(5)式中忽略了批处理大小。如果设定Δh=uσ,Δw=vσ,Xc的位置可以表示为

(6)

Oj(h,w)=bj+

(7)

(7)式中,方括号表达式可以由传统的二维卷积来实现。因此,可以通过共同使用U×V的二维卷积核,并对每个核的输入张量进行不同的移位操作来实现四维卷积。

与二维卷积相比,四维卷积可以获得更多的时序信息和学习更复杂的运动模式,但它在某些情况下可能会引入更多的计算。协同卷积示意图如图3所示,协同卷积的内核是U×V×Q×R。如果设置U=V=3和Q=R=3,它是一个典型的3×3×3×3的四维内核,它的参数量是卷积核为3×3的二维卷积的9倍。如果设置U=V=1,Q=R=3或U=V=3,Q=R=1时,协同卷积拥有与二维卷积相同的参数量和计算量。更具体地说,U=V=1,Q=R=3的内核等价于逐帧的二维卷积,而U=V=3,Q=R=1的内核聚合了来自9个视频帧的逐点信息,可以捕获长期时序依赖关系。通过交替叠加它们,网络可以学习精细的空间信息和全局的时间关系。本文为了能够在不引入更多的计算量的情况下,获取到更多的时序信息,采用U=V=1,Q=R=3的内核来进行特征提取和检测。

图3 协同卷积示意图Fig.3 Schematic diagram of collective convolution

1.4 损失函数

与YOLOv5相同,本文采用交叉熵与逻辑回归损失函数对结果进行约束。将交叉熵损失函数与Sigmoid函数相结合,L与交叉熵损失函数相同,表达式为

(8)

(8)式中:N表示检测框中正样本的数量;yx表示样本x的标签,正样本为1,负样本为0;px表示样本x预测为正样本的概率。

1.5 通道与链路连接

本文提出的方法可以在整个视频中获得目标的行为检测结果,它是以视频中的目标为基准,显示该目标在该段视频中整个行为的链路,包含行为的类别和发生该行为的位置。而时空图像的检测结果中只展示了某时刻目标的行为,因此,在获得时空图像的检测结果之后,本文将结果转换为视频通道的检测结果,并将其结果与其他K帧结果相连通,得到整个视频链路的行为检测结果。

本文中,通常情况下设定Te=4,则K=16。首先,将时空图像中交并比(intersection over union,IOU)≥θ(一般情况下θ=0.5)的检测框归为一个通道,检查检测框是否在该通道中75%以上的视频帧中存在,并且在该通道起始和末尾的12.5%的帧中存在检测框。设定yx表示样本x的标签,该通道的标签为Yx=max(count(yx))。其次,本文将该通道的缺失检测框使用距离该帧最近的检测框进行复制补全,表达式为

BBox=BBoxxi,

xi=xmin(|xi-x|)

(9)

(9)式中:BBox表示检测框;xi表示被复制的样本,最终形成该通道完整的K帧检测结果。

本文为了与以前的方法进行公平比较,对于整个视频通道的连接使用了与文献[32]相同的算法。首先,对检测结果进行初始化,保留经过非极大抑制(non maximum suppression,NMS)后置信度最高的N个通道。然后,在连接过程中,使用贪心算法[33]进行通道连接,将得分最高的通道设定为从该帧开始的N个候选通道中的一个。候选通道在满足下面三个条件时形成一条链路P:①该通道未被其他链路选中;②候选通道得分最高;③链路与通道的重叠大于阈值。最后,在终止条件中,当超过k个连续帧不满足这些条件时,链路过程停止。该链路的检测分数计算为所有连接通道的平均值。

2 实验与结果分析

2.1 实验数据集以及评价指标

在本文实验中,与文献[19]、[26]等工作相同,本文方法在UCF101-24时空行为检测数据集上进行了评估。UCF101数据集是行为识别的常用数据集,包含了来自24个运动类的3 207个视频的时空行为实例标注。因此,称UCF数据集的行为检测版本为UCF101-24[33]。这个视频数据集是未经裁剪的,因此对行为检测更具挑战性。

与主流行为检测网络[19,26-27,34-35]的评估方式相同,本文为了评估网络的检测性能,使用VideoAP作为指标。VideoAP不仅用于评估每个检测框位置和类别的准确性,而且能够评估行为发生时间的准确性,它能够评价整个视频的检测效果,这不仅取决于每帧的检测结果,还取决于视频帧之间的连接方式。VideoAP根据链路计算交并比,本文将交并比阈值设定为0.5到0.75来进行测试验证。对于检测到的实例,只有当其和真实值的交并比大于阈值且预测的类标签是正确时,该实例才被认为是正确的。对于每个类别,计算其平均精度(average precision,AP),并对各类别的平均精度求平均值来计算各类平均精度(mean average precision,mAP)。平均精度为准确率p-召回率r曲线与坐标轴围成的面积,其数学表达式为

(10)

本文为了验证本文方法是轻量级网络,使用FLOPs指标和模型大小指标,并使用参数量来量化方法对网络的负担大小。FLOPs为每秒浮点运算次数,即为计算量,用来衡量算法或模型的复杂度,同时,计算网络的参数量用来比较模块是否引入了更多的参数和内存负担。为了验证本文方法检测速度的优越性,使用帧率(frame per second,FPS),即每秒检测帧数,用来衡量网络的检测速度。

2.2 实验设置

1)软硬件环境。基于Ubuntu16.04平台,使用Python3.8语言进行编程,结合PyTorch1.8深度学习开源框架;使用1块24 GByte大小的GeForce RTX 3090显卡并基于CUDA 11.0进行训练和检测。本文涉及的所有实验均在此环境下进行。

2)具体参数设置。按照前面的工作,本文连续采样Te×Te帧,并构造一个时空图像作为网络的输入。如果未指定,则在所有实验中默认设置Te=4。对于训练和检测阶段,将每一帧的长边大小调整为224,短边进行等比例缩放,并对于短边使用黑色填充到输入的大小(默认大小为224×224)。此外,还使用图像扰动、改变亮度、对比度、饱和度、色相、添加噪声、翻转、旋转、随机擦除等来增强数据。

2.3 消融实验

本文基于YOLOv5网络进行改进,为了验证方法的有效性,本文进行了消融实验。

1)时空图像的有效性。本文验证由时空图像提供的视频时序信息用来提升行为检测效果的有效性,因此,本文分别验证了正常视频帧(输入为224×224大小的视频单帧图像)作为输入和时空图像作为输入时网络检测的平均精度,实验结果如表1所示。由表1可见,时空图像可以让网络获取到视频中的时序信息,平均精度提高了1.1%,检测效果有一定的提升。同时由于卷积方式与时空图像不匹配,提升效果有限。

表1 时空图像实验结果

2)协同卷积和协同卷积模块的有效性。为了在不增加参数量的情况下,保证特征提取的有效性,并且能够提取到时空图像中的时序信息,本文在YOLOv5网络的基础上,将骨干网络部分所有的二维卷积替换为1×1×3×3卷积核大小的协同卷积,检测头部网络所有的二维卷积替换为3×3×1×1卷积核大小的协同卷积。同时,为了验证协同卷积是否能够在骨干网络中更好地提取特征,本文还分别验证了骨干网络为3×3×1×1的协同卷积,检测头部网络为3×3×1×1的协同卷积的网络和骨干网络为3×3×1×1的协同卷积,检测头部网络为1×1×3×3的协同卷积的网络。具体实验结果如表2所示。可以得到,将骨干网络部分所有的二维卷积替换为1×1×3×3的协同卷积,检测头部网络所有的2维卷积替换为3×3×1×1的协同卷积的网络比其余特征提取和检测网络能更好地进行行为检测任务。同时,表2中第2个实验中使用的协同卷积与普通二维卷积类似,仍然获得了提升,验证时空图像拼接边界对检测有一定的影响,协同卷积更加适合时空图像。表2中,实验3、4、5验证了协同卷积对骨干网络和检测头部的影响,实验表明,在检测头部单独使用3×3×1×1的协同卷积能够更有效地检测到时空图像的时序信息,骨干网络提取特征更加适合类似于二维卷积的1×1×3×3的协同卷积,从而得到单帧图像的完整特征信息。本文方法比使用时空图像的原网络更具有有效性,videoAP0.5和videoAP0.75分别提高了6.58%和3.41%。同时,由参数量指标可以得出,本文方法引入的协同卷积模块在上述所有的情况下都没有引入额外的参数负担,并且在保证参数量相同的情况下,比YOLOv5仅增加了56.8GFLOPs的计算量就完成了行为检测任务。

表2 协同卷积实验结果

2.4 定量分析

基于所使用的UCF101-24数据集,将本文方法和现有最先进的行为检测方法在精度和检测速度等方面进行比较,其实验结果如表3所示。本文方法与轻量级单阶段网络YOWO相比,VideoAP0.5提高了9.23%,FPS提高了232,实验表明协同卷积在体量和检测速度上较三维卷积有巨大优势。与其他方法相比,在阈值0.5和0.75的情况下,VideoAP都有一定的提升,并且检测速度大幅度提高。实验表明,时空图像作为输入相比连续视频帧作为输入运算时间略微增加,但协同卷积模块的运算量较小,使得网络整体获得了检测速度上的提升。本文方法与其他方法相比,模型大幅度减小,实现了轻量化的目的。由此得出,本文方法在减少计算量和模型大小的情况下,能够获得较好的行为检测效果。

表3 不同行为检测方法对比实验结果

2.5 定性分析

图4为本文方法在UCF101-24数据集上的可视化结果。本文采用非极大值抑制算法过滤冗余框。可视化结果的NMS阈值均为0.5。从图4可以看出,在背景嘈杂、环境变化较大或者目标检测较小的情况下,本文方法对于行为检测连续性和准确率都得到了比较好的效果,具有较强的鲁棒性。对于篮球赛等人员密集且行为相似度较高的场景中,能够找到目标和对应行为类别。进一步表明,本文算法能够从二维图像中获取与视频同等的信息量,并且检测速度更快。

图4 本文方法可视化结果Fig.4 Visualization results of the proposed method

3 结束语

本文提出了一种基于协同卷积的轻量化行为检测方法。不同于主流的时空行为检测方法,本文使用二维的时空图像作为输入,作为视频的时序信息。同时,在YOLOv5的基础上,用协同卷积模块替换骨干网络和检测头部检测时空图像中的时序信息,这个模块在不增加参数量和引入较少计算量的情况下,有效地提高了检测速度,并保留了较好的检测准确率。本文方法有效地解决了主流时空行为检测方法体量较大,检测速度较慢的问题。实验结果表明,本文方法可以在保证准确率的情况下,有效减少网络计算量,提高网络检测速度,且优于现有的行为检测方法。

猜你喜欢

时序时空卷积
基于时序Sentinel-2数据的马铃薯遥感识别研究
跨越时空的相遇
基于Sentinel-2时序NDVI的麦冬识别研究
基于3D-Winograd的快速卷积算法设计及FPGA实现
镜中的时空穿梭
从滤波器理解卷积
玩一次时空大“穿越”
基于傅里叶域卷积表示的目标跟踪算法
一种毫米波放大器时序直流电源的设计
时空之门