YOWOv3_lightweight

YOWOv3: A Lightweight Spatio-Temporal Joint Network for Video Action Detection[1]

作者是来自江南大学的Anlei Zhu, Yinghui Wang等人。论文引用[1]:Zhu, Anlei et al. “YOWOv3: A Lightweight Spatio-Temporal Joint Network for Video Action Detection.” IEEE Transactions on Circuits and Systems for Video Technology 34 (2024): 8148-8160.

Time

  • 2024.Sept

Key Words

  • Channel Fusion and Attention Convolution Mix(CFACM) module
  • spatio-temporal shift module
  • 一句话总结:借鉴了前人的 ACmix(Attention Channel mix)TSM(Temporal shift module) 模块,将它们拿过来缝合一下,完了。。。

总结

  1. 时空行为检测网络,需要同时提取和融合时间和空间特征,经常导致目前的模型变得膨胀和很难实时和部署在边缘设备上,文章引入了一个高效实时的时空检测网路模型,YOWOv3,这个模型用了3D 和2D backbone 来本别提取时间和时空特征,通过继承卷积和自注意力,来设计一个轻量的时空特征融合模块,进一步增强了时空特征的抽取。将这个模块称之为CFACM,这个方法不仅在lightness上超过了最新的高效的STAD模型,减小了24%的模型的大小,同时提高了mAP,保持了很好的速度。现有的模型用3D 卷积来提取时序信息,会受限于特定的设备上,为了减小3D卷积操作的潜在的不被支持在边缘部署的问题,用了一个时空shift module by 2D 卷积,使得模型能够获取时序信息,将得到的特征插入multi-level spatio-temporal feature extraction models.这样不仅将模型从3D 卷积操作中释放出来,同时也很好地balance了速度和精度。
  1. STAD相比于传统了视觉目标检测,不仅需要检测行为主体,也需要独立地分析行为主体的行为。那就是理解目标的行为,例如开和关。不同用单张图像信息完成,需要时序信息。然而,一旦时序提取网路引入之后,模型变得臃肿,很难部署和直接使用。因此设计一个高效、轻量的时空行为检测网络是一个深度学习追求的目标。基于2D 卷积的方法能保证网络的轻量,但是很难捕捉时序信息。导致进度的下降。例如C3D、I3D用3D 卷积来捕捉时序信息。尽管这种方法能够精确地捕捉时序信息,参数大小和计算成本比较大,使其很难部署和实时运行。基于Transformer的模型能够有效地捕捉时序信息。

  2. STAD不等同于图像目标检测,主要的区别在于action sequences的识别,不仅是单张图片的目标的识别这就要求模型能够检测到目标。基于3D CNN的方法,首先用I3D来产生action area suggestions,然后用Transformer-style架构来汇聚特征。

  3. 受YOWO的启发,进一步研究设计了一个更先进的STAD网络,利用主流的YOLOv8来提取空间特征。为了避免的3D CNN造成了网路臃肿的问题,用了一个仅有2D CNN的module来做spatio-temporal action recognition,通过Temporal Shift Module来得到时空特征信息。

  4. 采用了YOLOv8作为spatial feature extraction的backbone。用了一个高效的3D CNN来提取时序信息。

  5. Channel Fusion and Convolution Attention Mix Module:提取到的特征被压缩之后,仅用卷积来融合空间和时空特征是不能得到全局特征。为了融合时空和时序特征,首先将它们在channel维度上进行concatenate,抽取时序特征之后,在最后的特征层上进行upsampling。因此,由于自注意力会带来计算量和参数量,不直接执行自注意力的计算。受ACMix的启发,结合卷积和自注意力,首先,用两个标准的 3×3 卷积从concatenated features中提取特征,然后用3个 1×1卷积来映射features。然后将它们reshape成 N pieces。得到丰富的中间特征 3×N feature mappings。之后,中间特征分为两个branches,一个分支执行自注意力:其中,shift和aggregation操作用来实现从local receptive field。另一个分支进行卷积计算。最后将两个分支的结果进行concatenated。

  6. 在实际中,发现ACMix需要大量的时间开销,因为它的unfold的设计需要高的内存消耗。为了避免这个,将window进行划分,进行cross-sparse自注意力计算,来减小运行时间。如图所示,思路就是:先在窗口内进行注意力的计算,得到局部的信息,然后通过Permute method,执行window内的计算。

  7. 用3D卷积能实现捕捉时序特征,但是一些设备不支持卷积操作,很难部署。另一个问题是:轻量的3D 卷积提取时序特征确保了模型的高效,但是精度会下降。为了解决3D卷积的问题,不需要对整个网络做很多改变。放弃了3D backbone,在2D 卷积上加了一个Temporal Shift Module来提取时序信息。通过这个时空shift module,输入的视频帧序列are shifted forward or backward in time。增加了temporal information的diveristy,以2D的方式,获得了时序信息。这个过程如图所示。首先,输入的视频进行格式转换,Temporal Shift Module取代了2D backbone中的InvertedResidual结构,使得其能够提取时序信息。在head processing之后,得到了时序特征。下一步就是融合时空特征,得到最后的时空行为检测模型。

Structure Fig.1[1] The Structure Diagram of the YOWOv3 Framework. The input video frames are separately processed through the spatial backbone network and the spatio-temporal backbone network to extract features. The spatial backbone network utilizes a feature pyramid to extract richer multi-level features. T represents the number of frames in the input video, which is 16 in this context. Upsampling is utilized to align the spatio-temporal features with the spatial features.

CFACM Fig.2[1] The Structure Diagram of the CFACM Module. The Decoupled Feature Fusion Header inputs FClsi and FRegi are respectively fused with the extracted temporal features using the CFCAM module. When engaging with the advanced convolution and self-attention fusion module ACISA, 2D positional encoding is performed prior to the computation of the self-attention branch. The self-attention and convolution branches are then concatenated using adaptive weights α and β.

CFACM Attention $Fig.3^{[1]} Self-attention computing branch of CFACM Module. The calculation process of the two attention mechanisms is consistent, but their inputs Q, K, V come from different sources. In the first self-attention calculation, Q, K, V come from three different features. In the second self-attention calculation, Q, K, V come from the same feature that has been integrated

Temporal Shift Module Fig.4[1] Spatio-temporal extraction branch based on temporal shift module with only 2D convolution.