【达摩院OpenVI】基于流感知的视频目标检测网络LongShortNet

论文&代码

背景介绍

传统视频目标检测(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 T时刻的视频帧进行检测,得到轿车检测结果,即橙色的矩形框,而因为算法处理存在一定的延时,此时现实环境已经处于 T + L a t e n c y T+Latency T+Latency时刻,轿车的实际位置也已经发生变化,即红色的矩形框。由此可见,实际应用中,算法进行目标检测时,应同时考虑环境变化,这正是在线检测(如Streaming Perception任务)考虑的事情,这一类的算法在 T T T时刻的检测结果,橙色的矩形框,与 T + L a t e n c y T+Latency T+Latency时刻的实际环境,红色的矩形框,能有较好的吻合。

图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 t I_{t} It时刻的预测结果在下一时刻 I t + 1 I_{t+1} It+1到来之后才能得到,如下图左半部分绿色箭头所示,因此与该预测结果配对的是 I t + 2 I_{t+2} It+2时刻的GT,而 I t + 1 I_{t+1} It+1时刻的GT,会默认使用前一次预测结果进行配对,这样一来,算法一方面“错过”了 I t + 1 I_{t+1} It+1时刻的GT,另一方面需要预测更“远”的 I t + 2 I_{t+2} It+2时刻的真实环境,因此对算法的挑战更大。相对地,对于实时的算法, I t I_{t} It时刻的预测结果在下一时刻 I t + 1 I_{t+1} It+1到来之前可以得到,如下图右半部分绿色箭头所示,因此与该预测结果配对的是 I t + 1 I_{t+1} It+1时刻的GT,该情况下,算法一方面不会“错过”任何时刻的GT,另一方面仅需要预测下一时刻的真实环境。因此说,引入实时算法能够简化Streaming Perception任务为一个对下一帧真实环境的预测任务

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

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

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

图3 特殊运动状态示意图
特殊运动状态示例 特殊运动状态示例 特殊运动状态示例

方法介绍

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

图4 LongShortNet和LSFM示意图
  1. 提出一种双支路的网络结构,在Streaming Perception领域首次引入了长时序信息。包括短支路(Short Path)和长支路(Long Path),其中短支路用于提取当前视频帧的空间信息,而长支路以历史帧作为输入,用于提取时序信息。其中, N N N δ t \delta t δt是两个可调节的参数, N N N用于控制历史帧的数量, δ t \delta t δ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精度。

表1 与SOTA对比

消融实验

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

表2 N和delta t消融实验

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

表3 LSFM模块消融实验

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

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

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

表5 不同注意力方法对比

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

表6 效率分析

模型传送门

流感知模型:

  • 流感知模型LongShortNet:https://modelscope.cn/models/damo/cv_cspnet_video-object-detection_longshortnet/summary
  • 流感知模型StreamYOLO:https://modelscope.cn/models/damo/cv_cspnet_video-object-detection_streamyolo/summary

检测相关模型:

  • 实时目标检测模型YOLOX:https://modelscope.cn/models/damo/cv_cspnet_image-object-detection_yolox/summary
  • 高精度目标检测模型DINO:https://modelscope.cn/models/damo/cv_swinl_image-object-detection_dino/summary
  • 实时目标检测模型DAMO-YOLO:https://modelscope.cn/models/damo/cv_tinynas_object-detection_damoyolo/summary
  • 垂直行业目标检测模型:https://modelscope.cn/models?page=1&tasks=vision-detection-tracking%3Adomain-specific-object-detection&type=cv

关键点相关模型:

  • 2D人体关键点检测模型-HRNet: https://modelscope.cn/models/damo/cv_hrnetv2w32_body-2d-keypoints_image/summary
  • 2D人脸关键点检测模型-MobileNet:https://modelscope.cn/models/damo/cv_mobilenet_face-2d-keypoints_alignment/summary
  • 2D手部关键点检测模型-HRNet:https://modelscope.cn/models/damo/cv_hrnetw18_hand-pose-keypoints_coco-wholebody/summary
  • 3D人体关键点检测模型-HDFormer:https://modelscope.cn/models/damo/cv_hdformer_body-3d-keypoints_video/summary
  • 3D人体关键点检测模型-TPNet:https://modelscope.cn/models/damo/cv_canonical_body-3d-keypoints_video/summary

智能通行模型:

  • https://modelscope.cn/models/damo/cv_ddsar_face-detection_iclr23-damofd/summary
  • https://modelscope.cn/models/damo/cv_resnet50_face-detection_retinaface/summary
  • https://modelscope.cn/models/damo/cv_resnet101_face-detection_cvpr22papermogface/summary
  • https://modelscope.cn/models/damo/cv_manual_face-detection_tinymog/summary
  • https://modelscope.cn/models/damo/cv_manual_face-detection_ulfd/summary
  • https://modelscope.cn/models/damo/cv_manual_face-detection_mtcnn/summary
  • https://modelscope.cn/models/damo/cv_resnet_face-recognition_facemask/summary
  • https://modelscope.cn/models/damo/cv_ir50_face-recognition_arcface/summary
  • https://modelscope.cn/models/damo/cv_manual_face-liveness_flir/summary
  • https://modelscope.cn/models/damo/cv_manual_face-liveness_flrgb/summary
  • https://modelscope.cn/models/damo/cv_manual_facial-landmark-confidence_flcm/summary
  • https://modelscope.cn/models/damo/cv_vgg19_facial-expression-recognition_fer/summary
  • https://modelscope.cn/models/damo/cv_resnet34_face-attribute-recognition_fairface/summary

更多模型详见 ModelScope 主页。

检测套件开发工具

ModelScope社区视觉检测开发套件AdaDet

参考文献

  • [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.
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
达摩院是一个科技公司,拥有专业的研发团队,主要从事计算机软件和硬件的开发工作。对于Java面试经验,以下是一些可能的回答。 首先,达摩院在Java面试中通常会重点考察候选人的编程能力和Java语言的基础知识。因此,熟练掌握Java的语法、面向对象编程、多线程、异常处理等基本概念和技能是非常重要的。在面试前应该复习这些知识,并且准备一些常见的面试题目。 其次,达摩院在Java面试中也会关注候选人对于软件开发过程中的设计模式、数据结构和算法的理解和应用能力。为了做好准备,可以复习一些常用的设计模式如单例模式、工厂模式、观察者模式等,并且理解它们的应用场景和如何在实际项目中使用。 另外,达摩院还可能会考察候选人对于Java虚拟机(JVM)和垃圾回收机制的理解。这是因为在大规模的软件开发和性能优化中,对于Java虚拟机的配置和性能调优是非常重要的。因此,了解JVM内存模型、垃圾回收算法和相关性能优化工具是必备的知识点。 此外,达摩院可能会倾向于那些有实践经验的候选人。因此,在准备面试过程中,最好能够准备一些自己的项目经验,展示自己在实际工作中的能力和技术实现。 综上所述,达摩院在Java面试中主要关注候选人的编程能力、Java基础知识、设计模式和算法应用能力,以及对于JVM和垃圾回收机制的理解。备战面试时,需要提前准备,并且复习相关知识和实践经验,以展现自己的能力和潜力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI记忆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值