【OpenVI—通用检测系列之视频目标检测】(ICASSP 2023) 针对流感知的长短支路网络 LongShortNet

简介: ● 论文链接:https://arxiv.org/abs/2210.15518

一、背景介绍


     传统视频目标检测(Video Object Detection, VOD)任务以一段视频作为输入,利用视频的时序信息进行目标检测,并最终输出每一帧视频帧的检测结果。其相比图像目标检测(Image Object Detection, IOD)任务,优势在于能够利用视频的时序信息,对运动模糊、图像失焦、遮挡、物体姿态变化等困难的场景具有更强的鲁棒性。然而,传统的VOD和IOD都是离线(offline)的检测,即仅考虑算法的检测精度,未考虑算法的延时

为了更加贴近现实场景,ECCV 2020 论文《Towards Streaming Perception》[1](获得Best Paper Honorable Mention)首次提出了流感知(Streaming Perception)任务,该任务作为VOD的一个细分方向,提出了流平均精度(Streaming Average Precision, sAP)指标,衡量算法的在线(online)检测能力,即同时衡量算法的精度和延时。具体地,如下图所示,离线目标检测算法对T时刻的视频帧进行检测,得到轿车检测结果,即橙色的矩形框,而因为算法处理存在一定的延时,此时现实环境已经处于T+Latency时刻,轿车的实际位置也已经发生变化,即红色的矩形框。由此可见,实际应用中,算法进行目标检测时,应同时考虑环境变化,这正是在线检测(如Streaming Perception任务)考虑的事情,这一类的算法在T时刻的检测结果,橙色的矩形框,与T+Latency时刻的实际环境,红色的矩形框,能有较好的吻合。

image.png

图1 离线检测与在线检测对比


二、技术难点


     早期的方法如Streamer[1]和Adaptive Streamer[2]尝试通过提出一些策略,来进行精度和延时之间的平衡,但是这些方法精度较低。CVPR 2022 oral工作StreamYOLO[3]通过引入强大的实时目标检测器YOLOX[4],将Streaming Perception任务简化为一个预测任务。

     为了更好地理解为什么引入实时目标检测器能够简化Streaming Perception任务,需要先介绍一下此任务的评价指标。流平均精度(Streaming Average Precision, sAP)可以分为两个部分理解,其中"Average Precision"和通用检测一致,而"Streaming"表示,某个时刻的预测结果,会与算法处理完成后下一时刻的真实值(Ground True, GT)匹配,并计算对应的"Average Precision"。具体地,如下图所示,对于非实时的算法 I时刻的预测结果在下一时刻 It+1 到来之后才能得到,如下图左半部分绿色箭头所示,因此与该预测结果配对的是It+2 时刻的GT,而It+1 时刻的GT,会默认使用前一次预测结果进行配对,这样一来,算法一方面“错过”了 It+1 时刻的GT,另一方面需要预测更“远”的It+2 时刻的真实环境,因此对算法的挑战更大。相对地,对于实时的算法, I时刻的预测结果在下一时刻 It+1 到来之前可以得到,如下图右半部分绿色箭头所示,因此与该预测结果配对的是It+1时刻的GT,该情况下,算法一方面不会“错过”任何时刻的GT,另一方面仅需要预测下一时刻的真实环境。因此说,引入实时算法能够简化Streaming Perception任务为一个对下一帧真实环境的预测任务。

image.png

图2 非实时方法和实时方法的评估示意图

虽然StreamYOLO简化了Streaming Perception任务,但是它仅使用当前帧和前一帧两帧的短时序信息作为输入,难以表征一些复杂的运动状态。如下图(a)所示,在实际自动驾驶环境中,经常会出现以下的,除了匀速直线运动以外的运动状态以及情况:1)非匀速运动(比如加速超车);2)非直线运动(比如转弯);3)遮挡以及小目标。


因此,本文的研究专注于探索如何在Streaming Perception任务中引入长时序信息,以及如何进行时序信息融合,并最终提出了LongShortNet,如下图(b)所示,本文提出的LongShortNet在一些困难场景下,能够达到比StreamYOLO更高的精度。

image.png

图3 特殊运动状态示意图

1679933291841-edef9c98-f3da-4d82-b188-854bbc4170c4.gif

特殊运动状态示例

三、方法介绍


     LongShortNet的整体结构如下图所示,该方法具有如下的特点:

图4 LongShortNet和LSFM示意图


  1. 提出一种双支路的网络结构,在Streaming Perception领域首次引入了长时序信息。包括短支路(Short Path)和长支路(Long Path),其中短支路用于提取当前视频帧的空间信息,而长支路以历史帧作为输入,用于提取时序信息。其中, N δt 是两个可调节的参数,N用于控制历史帧的数量,δt 用于控制历史帧的间隔步长。
  2. 探索不同的时序融合方式。本文提出了长短融合模块(Long Short Fusion Module, LSFM),探索了1)早融合(early fusion)和晚融合(late fusion);2)时序上不同的重要性分配。具体有如上图(b)所示的四种模块。同时,本文与已有的一些注意力模块也进行了对比。
  3. 提出多帧buffer机制。本文对StreamYOLO方法的buffer机制进行了改进,使其适用于多帧的情况,确保算法保持实时性,简化Streaming Perception任务为时序预测任务。

四、实验结果


     本文基于Streaming Perception任务的公开数据集,Argoverse-HD[1],进行算法实验,并与StreamYOLO等工作保持相同的训练/验证集划分。本文同样使用YOLOX作为基础网络结构,并同样使用small/middle/large三种尺寸的网络,分别对应LongShortNet-S/LongShortNet-M/LongShortNet-L。


SOTA对比


     首先,与目前SOTA方法的对比如下表所示,LongShortNet在常规分辨率((600, 960))下,取得了37.1%的sAP,而在高分辨率((1200, 1920))下,取得了42.7%的sAP,均超过了目前的SOTA精度。

image.png

表1 与SOTA对比

消融实验


     本文对 Nδt 的取值进行了消融实验,结果如下表所示,在 N=3 δt =1 时,S/M/L模型均能取得比较好的结果。其中,(1, 1)等价于StreamYOLO,由此可见,引入长时序信息有助于算法对复杂运动的预测,从而提升最终的精度。

image.png

表2 N和delta t消融实验

     本文同时对四种不同的LSFM模块进行了对比实验,如下表所示,LSFM-Lf-Dil取得了最高的精度,说明晚融合和对当前帧保持更大的通道权重,更有利于时空信息的融合。

image.png

表3 LSFM模块消融实验

     当然,当前帧的通道权重也并非越大越好,如下表所示,通道膨胀权重(dilation channel ratio)取0.5时取得最优结果,更大的权重精度反而下降了。

image.png

表4 通道膨胀权重对比实验


     另外,本文还将LSFM与现有的注意力方法进行了对比,在LSFM的基础上,加入不同的注意力模块。如下表所示,原始的LSFM取得了最优的结果,且在速度上更有优势。本文并不否认注意力机制的作用,只是其作用可能需要在具备更大规模的数据集和更长时序输入的条件下,才能得到更好的体现。

image.png

表5 不同注意力方法对比

     最后,本文对LongShortNet的效率进行了分析,如下表所示,LongShortNet相比StreamYOLO,增加的推理耗时和运算量几乎可以忽略。

image.png

表6 效率分析

五、参考文献


  • [1] M. Li and D. Ramanan, “Towards streaming perception,” in ECCV, 2020, vol. 12347, pp. 473–488.

  • [2] A. Ghosh, A. Nambi, A. Singh, and et al., “Adaptive streaming perception using deep reinforcement learning,” CoRR, vol. abs/2106.05665, 2021.

  • [3] J. Yang, S. Liu, Z. Li, and et al., “Real-time object detection for streaming perception,” in CVPR, 2022, pp. 5385–5395.

  • [4] Z. Ge, S. Liu, F. Wang, and et al., “YOLOX: exceeding YOLO series in 2021,” CoRR, vol. abs/2107.08430, 2021.

六、详情体验


想了解更多信息,详情见阿里云——视觉智能开放平台

相关文章
|
6天前
|
数据可视化 数据挖掘
【视频】复杂网络分析CNA简介与R语言对婚礼数据聚类社区检测和可视化|数据分享
【视频】复杂网络分析CNA简介与R语言对婚礼数据聚类社区检测和可视化|数据分享
13 2
|
2天前
|
存储 算法 Windows
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例(下)
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例
|
2天前
|
算法 数据可视化 数据挖掘
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例(上)
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例
13 0
|
2天前
|
前端开发 数据挖掘 数据建模
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例(中)
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例
11 0
|
5天前
|
机器学习/深度学习 数据可视化 数据挖掘
【视频】少样本图像分类?迁移学习、自监督学习理论和R语言CNN深度学习卷积神经网络实例
【视频】少样本图像分类?迁移学习、自监督学习理论和R语言CNN深度学习卷积神经网络实例
12 1
|
5天前
|
机器学习/深度学习 算法 TensorFlow
【视频】神经网络正则化方法防过拟合和R语言CNN分类手写数字图像数据MNIST|数据分享
【视频】神经网络正则化方法防过拟合和R语言CNN分类手写数字图像数据MNIST|数据分享
|
6天前
|
机器学习/深度学习 算法 计算机视觉
m基于Yolov2深度学习网络的人体喝水行为视频检测系统matlab仿真,带GUI界面
MATLAB 2022a中使用YOLOv2算法对avi视频进行人体喝水行为检测,结果显示成功检测到目标。该算法基于全卷积网络,通过特征提取、锚框和损失函数优化实现。程序首先打乱并分割数据集,利用预训练的ResNet-50和YOLOv2网络结构进行训练,最后保存模型。
17 5
|
8天前
如何检测本地网络是否稳定
如何检测本地网络是否稳定
10 0
|
14天前
|
算法 数据可视化 数据挖掘
网络社区检测(社群发现)分析女性参加社交活动和社区节点着色可视化
网络社区检测(社群发现)分析女性参加社交活动和社区节点着色可视化
14 0
|
15天前
|
数据可视化 Python
python对网络图networkx进行社区检测和彩色绘图
python对网络图networkx进行社区检测和彩色绘图