DAMO-StreamNet实时视频目标检测-自动驾驶领域

我要开发同款
匿名用户2024年07月31日
31阅读
所属分类ai、YOLOX、pytorch、视频目标检测、流感知、自动驾驶、sAP、cv
开源地址https://modelscope.cn/models/MorningsunLee/cv_cspnet_video-object-detection_damo-streamnet
授权协议Apache License 2.0

作品详情

DAMO-StreamNet 模型介绍

任务说明

本模型所述的任务为流感知(Streaming Perception)任务,该任务为视频目标检测(Video Object Detection, VOD)任务的一个新的细分方向。如上图上半部分所示,传统的VOD采用离线的处理模式,没有考虑模型的延时,所以模型检测结果和真实环境存在由于模型延时造成的误差。而流感知任务在关注模型精度的同时,也考虑了模型的延时,如上图下半部分所示,这样得到的检测结果与真实环境更加匹配。所以说,流感知任务是一个更加贴近自动驾驶真实应用场景的任务。

模型描述

DAMO-StreamNet是对流感知任务已有方法StreamYOLOLongShortNet的改进,主要的改进点有以下几个方面:

  1. 提出动态感受野FPN (Dynamic Receptive Field FPN, DRFPN),使⽹络具备可变的感受野,从⽽提升在⼤分辨率下对⼤物体的检测性能;
  2. 提出了⼀种⾮对称的蒸馏⽅案 (Asymmetric Knowledge Distillation, AK-Distillation),在训练阶段利⽤教师⽹络对“未来信息”的知识,进⼀步提升学⽣⽹络的精度;
  3. 提出了⼀种新的评估⽅式 (K-step sAP),评估模型对于更⻓时序的预测能⼒。
  4. 本模型在流感知的公开评测数据集Argoverse-HD上,在保持算法实时性的前提下,达到了SOTA水平。

DAMO-StreamNet的整体框图如下图所示:

期望模型使用方式以及适用范围

该模型适用于自动驾驶场景目标预测检测,,支持8类交通目标检测,具体的类别信息如下:

类别ID 类别名称
1 person
2 bicycle
3 car
4 motorcycle
5 bus
6 truck
7 traffic_light
8 stop_sign

如何使用

在ModelScope框架上,提供输入视频,即可以通过简单的Pipeline调用使用当前模型,得到视频中目标位置及类别。

推理代码范例

安装相关的依赖库:

pip install yolox==0.3.0 # or: pip install -r requirements.txt
# modelscope>=1.8.0 ,在1.8.0和1.8.1上测试通过

基础示例代码。下面的示例代码展示的是如何通过一个视频作为输入,得到图片对应的交通目标坐标信息。

import cv2
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks
from modelscope.outputs import OutputKeys

model_id = 'MorningsunLee/cv_cspnet_video-object-detection_damo-streamnet'
test_video = 'https://modelscope.oss-cn-beijing.aliyuncs.com/test/videos/test_realtime_vod.mp4'
# 初始化实时检测pipeline
realtime_video_object_detection = pipeline(
    Tasks.video_object_detection, model=model_id, model_revision='v1.0.4')

# 进行实时检测 
result = realtime_video_object_detection(test_video)
if result:
    bboxes_list = result[OutputKeys.BOXES]
    print(bboxes_list)
else:
    raise ValueError('process error')

模型局限性以及可能的偏差

  • 对于非自动驾驶前置摄象机场景会出现明显检测性能下降的情况。

训练数据介绍

Argoverse-HD 数据集是最近提出的自动驾驶数据集,该数据集与其他的自动驾驶相比,数据规模中等,复杂程度较高,是一个较有代表性的数据集。更重要的是,Argoverse-HD 是第一个提出流感知任务的数据集,并且设计了Stream AP评测标准。该标准将感知时延充分考虑,实现对模型的性能-速度的全面、有效评价。

训练

本模型暂时不支持finetune, 具体离线训练细节如下:

  • 在Argoverse-HD 上训练8个epoch
  • 使用SGD优化算法,线性 LR 策略
  • 使用flip数据增强, 多尺度训练增强

输入预处理

  • 输入图像根据短边resize到640后,padding 为640x960的矩形进行推理
  • 图像归一化

数据评估及结果

模型在Argoverse-HD的验证集上客观指标如下:

Model size velocity sAP
0.5:0.95
sAP50 sAP75 weights COCO pretrained weights
DAMO-StreamNet-S 600×960 1x 31.8 52.3 31.0 official official
DAMO-StreamNet-M 600×960 1x 35.5 57.0 36.2 official official
DAMO-StreamNet-L 600×960 1x 37.8 59.1 38.6 official official

相关论文以及引用信息

 @article{DAMO_StreamNet,
  title={DAMO-StreamNet: Optimizing Streaming Perception in Autonomous Driving},
  author={Jun-Yan He, Zhi-Qi Cheng, Chenyang Li, Wangmeng Xiang, Binghui Chen, Bin Luo, Yifeng Geng, Xuansong Xie},
  journal={IJCAI},
  year={2023}
}
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论