目录
标题:YOWOv2:一种强大而高效的多级检测框架用于实时时空动作检测
原文:https://arxiv.dosf.top/abs/2302.06848
源码:GitHub - yjh0410/YOWOv2: The second generation of YOWO action detector.
摘要
为时空动作检测任务设计一个实时框架仍然是一个挑战,本文提出了一种新的实时动作检测框架YOWOv2。在这个新框架中,YOWOv2利用了3D骨干和2D骨干来进行准确的动作检测,设计了多级检测通道来检测不同规模的动作实例,为了实现这一目标,我们用特征金字塔网络精心构建了一个简单高效的2D骨干网,提取不同层次的分类特征和回归特征,对于3D骨干网,我们采用现有的高效3DCNN来节省开发时间,通过将不同尺寸的3D骨干网和2D骨干网相结合,我们设计了YOWOv2- tiny、YOWOv2- medium、YOWOv2- large等YOWOv2系列,我们还引入了流行的动态标签分配策略和无锚机制,使YOWOv2与先进的模型体系结构设计保持一致。经过我们的改进,YOWOv2明显优于YOWO,并且仍然可以保持实时检测,YOWOv2在UCF101-24上实现帧mAP 87.0%,视频mAP 52.8%, FPS超过20帧。在AVA上,YOWOv2实现了21.7%的帧mAP,帧数超过20fps。我们的代码可以在https://github.com/yjh0410/YOWOv2上找到。
索引术语:时空动作检测,单阶段检测,空间编码器,时间编码器
1.介绍
时空动作检测(STAD)的目的是检测当前帧中的动作实例,它已经得到了广泛的应用,如视频监控[1]和体感游戏[2]。
一些研究者[3]-[5]利用3D CNN[6],[7]从视频片段中提取时空信息来准确检测动作,因为动作的发生是一个连续的概念。然而,许多基于3D CNN的框架存在检测速度差的问题,这使得它们无法实时运行,因为它们使用的3D CNN需要大量的计算需求。
因此,其他研究人员[8]-[10]利用2D CNN[11],[12]来开发更有效的动作检测框架,这些基于2D CNN的框架背后的关键概念是使用参数共享的2D CNN逐帧提取空间特征并将其存储在缓冲区中,随后,他们只需要对新的输入帧进行处理,将其空间特征与缓冲区中的空间特征结合起来,生成用于最终检测的时空特征。尽管如此,这样的通道不能完全模拟时间关联,并且实时检测仅适用于RGB流,当使用光流时,虽然性能有所提高,但速度明显降低。
相反,K¨op¨ukl¨等人开发了一种新的单阶段动作检测器,You Only Watch Once (YOWO),通过将用于空间定位的2D骨干[14]和用于时空建模的3D骨干[14]相结合,为了减轻3D CNN的高计算成本,他们设计了一系列高效的3D CNN[15]作为高效推理的3D骨干,在主干网之后,YOWO使用信道编码器将两个特征融合在一起进行最终检测,凭借他们的设计,YOWO在流行的基准测试中取得了出色的性能,并被吹捧为快速行动探测器。然而,YOWO仍然有两个缺点:
•YOWO是一个单级检测器,并在低级特征映射上执行最终检测,从而降低了小动作实例的检测性能。
•YOWO是一种基于锚的方法,它有许多锚盒(anchor boxes)和许多超参数,如锚盒的数量、大小和纵横比,这些超参数必须经过精心人为设计,从而削弱了泛化能力。
总之,为时空动作检测设计一个实时检测框架仍然是一个挑战。
在本研究中,我们提出了一种全新的实时动作检测器YOWOv2,一个三维骨干和一个多层次的二维骨干组成了YOWOv2,基于特征金字塔网络(FPN)[16]的多层次二维主干,为YOWOv2设计了多层次检测通道,以检测各种规模的动作发生。我们还提出3D骨干网快速部署3D CNN[15],采用无锚机制也避免了锚箱的缺点,由于锚盒被移除,我们采用了动态标签分配技术,增强了YOWOv2的适应性。此外,我们针对不同计算能力的平台,通过将3D骨干网与不同尺寸的2D骨干网合并,构建了多种YOWOv2模型,如YOWOv2- tiny、YOWOv2Medium和YOWOv2- large。
与YOWO相比,YOWOv2在UCF101-24[17]和AVA[18]数据集上提供了更好的性能,在参数计数和FLOPs方面都具有显著优势。此外,YOWOv2具有实时运行的能力。与其他实时动作检测器相比,YOWOv2也实现了更好的性能。综上所述,我们的贡献如下:
•我们提出了一种新的实时动作检测框架YOWOv2,它具有多级检测结构,对小动作实例的检测非常友好。
•YOWOv2具有无锚检测通道,消除了锚盒的限制。
•结合不同尺寸的3D骨干网和2D骨干网,针对不同计算能力的平台,设计了YOWOv2系列。
•与其他实时动作检测器相比,YOWOv2在流行基准上实现了最先进的性能。
2.相关工作
A.时空动作检测
时空动作检测包括在给定框架内发生的所有动作实例进行检测和识别,为了实现准确的动作检测,必须有效地提取动作的时空特征。
基于3D CNN的方法。由于3D CNN具有较强的时空建模能力,一些研究者利用3D CNN设计动作探测器[3]、[4]、[19]-[22]。Girdhar等人[3]使用I3D[6]生成动作区域建议,然后使用Transformer[23]完成最终检测。Zhao et al.[5]部署3D CNN对输入视频进行编码,然后使用Transformer和块状查询进行最终检测。尽管这些基于3D CNN的方法取得了令人印象深刻的成功,但它们都受到重型3D CNN的昂贵计算的困扰,因此速度太慢,无法实时运行。
基于2D CNN的方法。另一种方法是分离时空关联,设计基于2D CNN的动作检测器进行高效检测。例如,Kalogeiton等人设计了一种称为ActionTubelet (ACT)的单阶段检测框架,他们利用SSD[11]从视频剪辑中的每一帧提取空间特征,然后将它们合并,随后,使用检测头对合并的空间特征进行处理,以进行最终检测。Li等人遵循ACT框架,开发了一种名为MovingCenter (MOC)的无锚单阶段动作检测器。Ma et al.[24]通过自注意机制进一步增强了MOC。然而,只有当RGB流作为输入时,这些方法的实时检测性能才能得到保证,当加入光流时,它们的速度明显下降,尽管性能有所提高,此外,获得高质量的光流需要离线处理,无法满足在线操作的需求。
3.方法
图1.YOWOv2概述,YOWOv2采用上采样运算,将3D主干输出的时空特征与2D主干输出的每一层空间特征对齐,并采用解耦融合头实现每一层两个特征的融合。最后,YOWOv2分别输出多级置信度预测、分类预测和回归预测。
A.初步
YOWOv2的概述如图1所示。给定一个K帧的视频片段V = {,
,…,
},其中
为当前帧,YOWOv2使用高效的3D CNN[15]作为3D主干提取时空特征
。YOWOv2的2D主干是一个多层次2D CNN,负责输出
的解耦多层次空间特征
和
,其中
为分类特征,
为回归特征,在两个主干网之后,我们在每层特征图上部署两个通道编码器来融合特征,之后,在通道编码器之后,增加两个具有两个3×3卷积层的平行分支,分别预测
进行分类,
进行回归,在回归分支上增加一个置信分支,预测
为行动分类的置信度。接下来,我们详细介绍了YOWOv2的设计。
B. YOWOv2的设计
2D主干
2D主干从当前帧中提取多层次的空间特征,考虑到性能和速度之间的平衡,我们从先进的目标探测器[25],[26]中吸取了一些先进的思想,为了节省训练时间,我们重用了YOLOv7[25]的骨干和特征金字塔网络(FPN)。在FPN之后,我们添加额外的1×1卷积层来压缩每个级别特征图的通道数到
,默认为256,然后,我们添加两个具有两个3×3 conv层的并行分支来输出解耦特征,如Eq.(1)所示。
其中表示第i个分支的第j个3×3卷积层。
在YOWOv2框架中,2D主干输出和
三个层次的解耦特征图,为了方便起见,我们将2D主干命名为FreeYOLO,通过控制FreeYOLO的深度和宽度,我们设计了两个不同尺寸的FreeYOLO,分别为YOWOv2-Tiny和YOWOv2-Medium和YOWOv2-Large。为了加速训练的收敛,我们在COCO[27]上使用额外的1×1卷积层预训练2D主干,预训练的权重文件可在GitHub1上获得。GitHub - yjh0410/FreeYOLO
3D主干
3D主干从视频片段中提取时空特征进行时空关联。我们部署了高效的3D CNN[15],减少了计算量,从而保证了实时检测。为了融合解耦的空间特征,我们简单地对
进行上采样,得到
,如Eq.(2)所示。
其中,Upsample为与
和
在空间维度上对齐的上采样操作。
通道编码器(ChannelEncoder)
通道编码器(ChannelEncoder)是由YOWO[13]提出的,目的是融合2D主干网和3D主干网的特征,给定和
通道编码器首先沿着通道维度将它们连接起来,并在BN和LeakyReLU后面通过两个卷积层来实现主通道的融合,如下所示:
最后,将重塑为
,然后在通过一个卷积层处理,ChannelEncoder的整个流程如图2所示。
图2。ChannelEncoder概述,它包含通道融合和通道自注意力机制,两者都用于融合二维和三维特征。
理解:
首先在通道融合模块:
1.将时空特征图和空间特征图按通道维度进行拼接;
2.通过1×1卷积压缩通道数,通过3×3卷积提取和整合特征;
然后在注意力模块:
1.将通道融合模块得到的特征图重塑为两种维度的特征图,将两种维度的特征图逐元素点乘,通过softmax函数得到注意力矩阵,将注意力矩阵和第一种维度的特征图逐元素点乘得到特征图,将特征图重塑和输入时的大小,保证该注意力模块的即插即用性。
最后得到通道编码器的输出特征图。
解耦合融合头(Decoupled fusion head)
在YOWOv2中,2D主干输出当前帧的解耦空间特征
和
,而3D主干输出对视频片段
通过
上采样得到的
,请注意,
和
包含非常不同的语义信息,这促使我们将
和
分别与
融合,因此,我们设计了解耦合融合头,将
分别与
和
进行融合,如式(5)所示。
特征融合后,我们在每层上部署两个并行分支以进行最终检测,它的设计很简单,只有一个分类分支和一个盒(box)回归分支。
对于分类分支,它输出分类预测,其中
表示
上每个空间位置上属于动作分类的概率,
为动作类的个数,取
类,分支应用两个3 × 3的卷积层,每个层有C个滤波器,并在之后使用SiLU激活函数,最后,附加了一个 1 × 1 的卷积层,其中包含 NC 个滤波器和 sigmoid 激活函数,用于输出每个空间位置的
个类别的二元预测值。
盒回归分支,输出盒回归预测,其中
表示每个空间位置的4个相个偏移量,这些偏移量用于调整预测的边界框,以更准确地拟合目标的位置和形状。除了最终的1×1卷积层带有4个用于偏移预测的滤波器外,该设计与分类分支相同,此外,在该分支中额外添加了一个带有1个滤波器的1×1卷积层,用于输出每个空间位置的动作置信度预测
,需要注意的是,在每个空间位置都没有锚框,所以YOWOv2是一个无锚的方法。
对“
表示每个空间位置的4个相个偏移量,这些偏移量用于调整预测的边界框,以更准确地拟合目标的位置和形状”的理解:
对于每个空间位置 (x, y),模型会预测出一个包含四个值的向量,这四个值分别表示了边界框的水平和垂直偏移以及宽度和高度的变化量,通过将这些相对偏移量应用于默认框,可以得到最终的预测边界框的位置和大小。
C.标签分配
由于YOWOv2是一种无锚点的动作检测器,没有任何锚框,因此多级别标签分配成为一个挑战。近年来,动态标签分配在目标检测中取得了成功,受YOLOX[26]的启发,我们对YOWOv2的标签分配实现了SimOTA,具体地说,我们计算了所有预测的边界框和真实目标边界框之间的差距,式(6)展示了第i个预测与第j个基准真实目标边界框之间的代价。随后,为每个基准真实目标边界框分配top k个代价最小的预测边界框,其中k由预测边界框与目标边界框之间的IOU动态确定。
其中,和
为分类预测的结果(乘以置信度预测)和真实目标分类的结果,
和bj为回归预测的结果和真实目标回归的结果,γ为代价平衡因子,在实验中经验为3。
对公式6的理解:
是第i个预测边界框和第j个基准真实边界框之间的成本。
和
分别是预测边界框i的分类预测(经过置信度预测)和基准真实边界框j的目标类别。
和
分别是预测边界框i的回归预测和基准真实边界框j的目标边界框。
表示分类成本,即预测类别与真实类别之间的损失或差异度。
表示分割成本,即预测边界框与真实边界框之间的损失或差异度。
- 参数 γ 是用于平衡分类成本和分割成本的重要性的因子。
D.损失函数
我们定义损失函数如下:
其中和
均为二元交叉熵损失函数,
为GIoU损失[29]。其中
和
分别为分类预测、回归预测和置信度预测,而
,
和
为基准真实值。
为正样本数,λ为损失平衡因子,实验经验值为5。
为指示函数,如果
为1,否则为0。
置信度损失(
):衡量了模型对目标存在与否的置信度预测与实际的置信度之间的差异,用于评估模型对目标存在与否的预测准确性。
分类损失(
):衡量了模型对目标类别的预测与实际类别之间的差异。同样采用二元交叉熵来计算,用于评估模型对目标类别的分类准确性。
回归损失(
):衡量了模型对目标边界框位置的预测与实际位置之间的差异,用于评估模型对目标位置的回归准确性。
整个损失函数由上述三部分损失的加权和组成,其中权重由损失平衡因子 λ 控制。λ 越大,表示对回归损失的重视程度越高。公式中的 Npos 表示正样本的数量,是用于对损失进行归一化的参数。
最后,指示函数
用于确保只有真实存在目标的位置才会参与分类损失和回归损失的计算,而没有目标的位置将不会对损失产生影响。
4.实验
A.数据集
UCF101-24[17]。UCF101-24包含了24个运动类的3207个未修剪视频,并提供了相应的时空注释。每帧可能有多个动作实例。继YOWO b[13],我们训练和评估YOWO- plus的第一次分裂。
AVA[18]。AVA是一种大规模的时空动作检测基准。它包含430个15分钟的视频片段,其中包含80个原子视觉动作(AVA)。它在空间和时间上提供1hz的注释,以及精确的时空注释,可能为每个人提供多个注释。因此,这个基准非常具有挑战性。我们在列车分割上训练YOWOv2,并在AVA数据集中最频繁的60个动作类上对其进行评估。我们报告AVA v2.2的评估结果。
B.实现细节
训练过程中,我们使用 AdamW 优化器,初始学习率为 0.0001,权重衰减率为 0.0005。批量大小设置为 8,并且梯度累积次数为 16。在 UCF101-24 数据集上,我们将 YOWOv2 训练 7 个 epochs,并在第 1、2、3 和 4 个 epochs 时分别将学习率衰减为原来的一半。在 AVA 数据集上,我们将 YOWOv2 训练 9 个 epochs,并在第 3、4、5 和 6 个 epochs 时分别将学习率衰减为原来的一半。除非另有说明,输入帧的大小被重塑为 224 × 224。
对于评估指标,我们遵循之前的研究工作 [5], [13], [21],在预测与基准真值之间的 0.5 IoU 下报告帧级 mAP(F-mAP)和视频级 mAP(V-mAP)。我们遵循 YOWO [13] 的链接算法来构建动作 tubelets(Tubelets 是这种连续帧级预测的一种表示形式,它们以空间和时间上的连续性将相邻帧的目标或动作连接起来。)。在 AVA 数据集上,由于标注只提供了 1 Hz 的稀疏注释,我们报告 0.5 IoU 下的帧级 mAP。
C.解耦合融合头的有效性
为了评估解耦融合头对YOWOv2的影响,我们设计了一个耦合融合头作为对照组,如图3所示。我们对UCF101-24进行了实验,实验结果汇总在表1中。由表可知,解耦融合头优于耦合融合头。这些结果表明,由于分类特征和回归特征之间的语义差异,特征融合应该解耦进行。虽然解耦的融合头略微降低了检测速度,但性能的显著提高弥补了速度的边际损失。
图3。耦合融合头。在耦合头部中,来自二维主干的空间特征也被耦合,这意味着FPN后的平行3 × 3卷积层被去除。耦合融合头就是将由2D骨干网获得的关于分类和回归的特征共同处理了。
D.损失平衡因素的有效性
我们还验证了Eq.(7)中定义的损失平衡因子λ的影响。表II总结了UCF101-24和AVA的结果。从表中可以看出,YOWOv2对3 ~ 6范围内的λ不敏感,但λ越大或越小都会削弱YOWOv2的性能。因此,我们在实验中设置λ为5。
E.与YOWO的比较
为了比较YOWOv2与YOWO [13]在准确性、速度和计算方面的差异,我们设计了三种规模的YOWOv2,通过组合不同的3D骨干和2D骨干来实现:YOWOv2-Tiny(YOWOv2-T)、YOWOv2-Medium(YOWOv2-M)和YOWOv2-Large(YOWOv2-L)。为了展示YOWOv2在速度和性能平衡方面的优势,我们将我们的YOWOv2系列与UCF101-24数据集上的YOWO进行比较。比较结果总结如表III所示。表格显示,相对于YOWO,在FLOPs(2.9G vs. 43.7G)和参数数量(10.9M vs. 121.4M)显著减少的情况下,YOWOv2-T在帧mAP(80.5% vs. 80.4%)和视频mAP(51.3% vs. 48.8%)方面表现更优,并且在RTX 3090 GPU上实现了更高的FPS(50 vs. 34)。此外,借助更强大的2D骨干和3D骨干,YOWOv2-L实现了最佳性能。图4显示了YOWO和YOWOv2-L之间的每类mAP比较结果。
我们还在AVA基准测试中对YOWO进行了比较实验。比较结果总结如表IV所示。鉴于AVA是一个非常困难的数据集,期望小型的YOWOv2-T在性能上胜过拥有更大计算量和更多参数的YOWO是不现实的。在这里,我们主要关注YOWOv2-L。相比于YOWO,YOWOv2-L在性能和检测速度之间实现了更好的权衡。在LFB方面,YOWOv2-L的性能也优于YOWO。这些在这些知名基准上的优势表明,YOWOv2的设计优于YOWO,实现了继承和发展的目标,并产生了新一代实时动作检测框架。
另一方面,为了说明YOWOv2多级检测的有效性,我们与YOWO比较了对小型动作实例的检测性能,如图5所示。图中显示,由于YOWO对其缺乏足够的信心,因此错过了某些较小的动作实例(红色虚线框)。由于配备了多级检测通道,YOWOv2可以更有效地检测YOWO无法处理的微小动作实例。
F.与其他实时动作检测器的比较
我们将YOWOv2与YOWO之外的其他实时动作检测器进行了对比。图6显示了在RTX 3090 GPU上运行速度超过25 FPS的检测器的速度/精度权衡,包括YOWO [13], MOC [10], SAMOC[24]和ACT[8]。如图所示,YOWOv2在性能和检测速度的权衡上有了很大的提高。因此,YOWOv2可以被视为新一代卓越的实时运动检测器。
图6. 多个实时动作检测器之间的速度/准确性权衡,包括YOWO、MOC、SAMOC、ACT以及提出的YOWOv2。速度在NVIDIA 3090 GPU上以批量大小为1进行测量。请注意,输入视频片段的长度为16对于YOWO和YOWOv2。
G.与最先进作品的比较
UCF101-24。表V总结了在UCF101-24上与最先进的工作的比较结果。为了获得更强的性能,我们还使用K = 32来训练和测试YOWOv2。大多数基于2D CNN的检测器与视频剪辑并行提取光流中更丰富的时空特征,以提高它们的性能。不幸的是,使用光流不仅降低了模型的适用性,因为实时获得高质量的光流是具有挑战性的,而且还会减慢检测的速度。尽管如此,我们的实时YOWOv2在与强大的基于3D CNN的技术进行比较时仍表现出色。
AVA。表VI总结了在AVA上的比较结果。由于AVA是一个非常具有挑战性的基准,数据场景是多变的,每个动作实例都标有多个注释,因此大多数当前的工作利用了3D CNN来挑战这个数据集。由于这些基于3D CNN的检测器的FLOPs太高,无法实时运行,因此我们将它们归因为非实时的时空动作检测器。
从表格中可以看出,Tuber是AVA上具有最高mAP的最先进动作检测器。然而,尽管它达到了31.7%的mAP,但其GFLOPs高达120,检测速度却仅为3 FPS。尽管具有出色的性能,但这样一个反应迟钝的检测器在实际情况下使用起来非常困难。与Tuber相反,我们目前更加注重实用性,特别是GFLOPs和FPS,尽管mAP指标非常重要。尽管YOWOv2的mAP低于Tuber,但其检测速度可以满足实时要求(超过20 FPS),这使得它能够在实际情况下用于完成任务。
图7显示了AVA的一些定性结果。从图中可以看出,YOWOv2可以准确地检测到每个人的基本姿势,如行走、站立等动作。这一结果表明YOWOv2具有理解发生在一个人身上的多种行为的能力,这有助于未来深入理解人类的行为意图。
H.在真实场景中进行测试
为了展示YOWOv2的泛化能力,我们还在真实场景中测试了YOWOv2的性能。图8展示了YOWOv2在真实场景中的演示。输入帧被重新调整为224 × 224,遵循第IV-B节中的要求。由于AVA数据集中的大多数基本动作在我们的真实场景中并不出现,因此我们在图8中只展示了十四种基本动作姿势,包括弯腰、爬行、站立、行走、坐下等。从图中可以看出,YOWOv2在真实场景中仍然表现良好,展示了其有效性和泛化能力。
五、结论
在本文中,我们提出了一种新颖的实时检测框架YOWOv2,用于空间-时间动作检测。YOWOv2系列包括YOWOv2-Tiny、YOWOv2Medium和YOWOv2-Large,适用于不同计算能力的平台。与之前版本的YOWO相比,我们的YOWOv2被设计为一个多级动作检测框架,有助于检测较小的动作实例。YOWOv2也是一种无锚点的动作检测器,避免了YOWO中存在的锚框的缺点。在流行的基准数据集上,YOWOv2明显优于YOWO和其他实时动作检测器,并且差距很大。即使与功能强大但没有速度优势的基于3D CNN的方法相比,YOWOv2仍然表现出竞争力。YOWOv2是一次有效的尝试,但并不是YOWO的终点。未来,我们将进一步研究设计一个更高效、更强大的特征金字塔网络,以融合来自3D骨干和2D骨干的多级特征,而不仅仅是2D骨干。