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

news2024/9/20 14:35:31

论文&代码

  • 论文链接:[arxiv]
  • 代码&应用:
    • 开源代码:[github code]
    • 开源应用:[modelscope]

背景介绍

传统视频目标检测(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.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/448941.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

项目上线|慕尚集团携手盖雅工场,用数字化推动人效持续提升

过去十年,中国零售业以前所未有的速度被颠覆、被重塑,数字化则是其中重要的推动要素。 随着数字化转型的深入,零售企业的数字化不再局限于布局线上渠道,且更关乎其背后企业核心运营能力的全链路数字化改造。而贯穿于运营全链路的…

mybatis缓存的详细理解和使用

mybatis缓存的简单理解和使用 mybatis缓存数据的介绍 缓存是存在于内存中的临时数据,使用缓存的目的是减少和数据库的数据进行交互的次数,提高执行效率。像很多持久化框架一样,Mybatis也提供了缓存策略,通过缓存策略来减少数据库…

RflySim平台使用篇 | Coptersim系列教程(三)

# 导读 # CopterSim作为RflySim平台核心仿真软件,其主要实现两部分功能:模型和通信,掌握CopterSim使用方法即可轻松运行多旋翼运动动态模型,并连同其他软件构成软/硬件在环仿真。本篇教程将详细介绍coptersim仿真log数据获取。 Co…

webpack plugin源码解析(六) CompressionWebpackPlugin

文章目录 作用涉及 webpack API处理 asset 钩子compilation.hooks.processAssets返回或新建缓存:compilation.getCache返回 asset 文件信息:compilation.getAsset文件名匹配函数:compiler.webpack.ModuleFilenameHelpers.matchObject模版字符…

科研热点|8本期刊被剔除SCIE,4月最新SCIE/SSCI目录已更新 (附下载)~

2023年4月18日,科睿唯安更新了Web of Science核心期刊目录,此次更新后SCIE期刊目录共包含9505本期刊,SSCI期刊目录共包含3557本期刊。此次4月SCIE & SSCI期刊目录更新,与3月更新相比 (警惕!多达50本SCI/SSCI被剔除…

Kafka中时间轮分析与Java实现

仿kafka实现java版时间轮_java实现时间轮算法_Hekliu的博客-CSDN博客 https://www.cnblogs.com/softlin/p/7426083.html https://blog.csdn.net/happyjacob/article/details/128518700 一、背景 在Kafka中应用了大量的延迟操作但在Kafka中 并没用使用JDK自带的Timer或是Dela…

m3u8转mp4下载,有URL,IV

1、背景 在线m3u8现在是主流加密方式的视频。 2、下载m3u8视频难点 首先需要连接m3u8文件格式,这个自行百度,其次加密方式确定和key以及iv。如果没有加密直接找一个在线的m3u8转mp4就可以,但是问题就是很多带加密,而且key不是m3m8中key URL返回的数据,市面上软件无法直…

基于matlab评估机场监控雷达上 5G 新无线电 (NR) 信号的干扰

一、前言 随着5G NR系统的频率范围超出LTE中使用的频段,频谱管理变得更加复杂。对扩大5G覆盖范围的需求是由更高的数据速率和更低的延迟的好处推动的。新5G基站的实施反过来又推动了了解这些信号如何影响在相同频段上运行的已安装系统的需求。其中一个系统是空中交通…

类对象

一、类初识 类:表示一种事物所具有的共同特征和行为 对象:一个类的实例 如下图,通过狗这个类进行详解 这是一个Dog类 对象:斗牛犬、小猎犬、牧羊犬 类中的属性:breed(品种)、size(大小)、color(颜色)、age(年龄)、 …

OpenCv基础之绘图及几何变换实例

文章目录 OpenCv基础之绘图及几何变换实例创建背景图线段绘制矩形绘制圆绘制椭圆绘制绘制多边形添加文字 几何变换图像平移图像缩放图像旋转仿射变换透视变化 OpenCv基础之绘图及几何变换实例 绘图在图像处理中,主要是在处理完图像后,将图像中的目标进行…

Python算法设计 - 哈夫曼编码

目录 一、哈夫曼树二、哈夫曼编码三、Python算法实现四、作者Info 一、哈夫曼树 上图是根据“this is an example of a huffman tree”中得到的字母频率来建构的哈夫曼树 二、哈夫曼编码 多年来,哈夫曼编码在统计数据压缩方面是非常先进的,应当指出&am…

C# 类库打包推送到nuget

步骤1:注册nuget 账号,可以使用outlook邮箱进行注册 步骤2:建立 apikey 名字自己起,Glob Pattern 填入“*” 步骤3:把程序打包,打包很简单右键vs2022 打包就好 但是注意*.csproj 文件修改,修改目的是为了…

IGS 产品长文件命名方式简介

文章目录 Part.I IntroductionPart.II 文件命名方式Chap.I 官方说明Chap.II 实例 Reference Part.I Introduction 2022 年 11 月 30 日(DOY 331, GPSWD 22380)及以后,IGS 的参考框架从 IGS-14 切换为 用 IGS-20,最新的卫星和地…

vue3中<script setup> 和 setup函数的区别

<script setup> 是在单文件组件 (SFC) 中使用组合式 API 的编译时语法糖。当同时使用 SFC 与组合式 API 时该语法是默认推荐。相比于普通的 <script> 语法&#xff0c;它具有更多优势&#xff1a; 更少的样板内容&#xff0c;更简洁的代码。能够使用纯 TypeScript…

拿下模板进阶

模板进阶 1. 非类型模板参数 模板参数分类类型形参与非类型形参。 类型形参即&#xff1a;出现在模板参数列表中&#xff0c;跟在class或者typename之类的参数类型名称。 非类型形参&#xff0c;就是用一个常量作为类(函数)模板的一个参数&#xff0c;在类(函数)模板中可将…

代码随想录训练营day53|1143、最长公共子序列;1035、不相交的线;53、最大子序和动态规划

1143、最长公共子序列 给定两个字符串 text1 和 text2&#xff0c;返回这两个字符串的最长公共子序列的长度。 一个字符串的 子序列 是指这样一个新的字符串&#xff1a;它是由原字符串在不改变字符的相对顺序的情况下删除某些字符&#xff08;也可以不删除任何字符&#xff…

如何在一个中文大模型上,加入招投标字段标注的数据,搭建一个招投标字段解析的Transformer模型?

ChatGPT方案1 在一个中文大模型上加入招投标字段标注的数据&#xff0c;并搭建招投标字段解析的Transformer模型可以通过以下步骤实现&#xff1a; 收集并标注招投标相关的数据。可以使用现有的数据集&#xff0c;也可以通过爬虫技术获取相关数据&#xff0c;然后进行人工标注。…

Linux应用编程(进程)

一、进程与程序 注册进程终止处理函数 atexit() #include <stdlib.h> int atexit(void (*function)(void));使用该函数需要包含头文件<stdlib.h>。 函数参数和返回值含义如下&#xff1a; function&#xff1a;函数指针&#xff0c;指向注册的函数&#xff0c;此…

使用S3协议通过dfs实现Spring的SPI机制和spring.factories

目录 参考一、SPI机制1、什么是SPI2、使用场景&#xff1f;3、使用介绍4、代码演示新建工程edevp-dfs-api的spi接口新建阿里云oss实现类新建minio实现类新建测试工程edevp-demo测试 5、总结优点&#xff1a;解耦缺点&#xff1a; 二、Spring Boot的扩展机制之Spring Factories1…

MathType7最新版本下载安装与使用,注册表文件分享,添加为Word公式插件

wx供重浩&#xff1a;创享日记 对话框发送&#xff1a;mathtype 免费获取MathType7安装包注册表文件 MathType是强大的数学公式编辑器&#xff0c;与常见的文字处理软件和演示程序配合使用&#xff0c;能够在各种文档中加入复杂的数学公式和符号&#xff0c;可用在编辑数学试卷…