本模型所述的任务为流感知(Streaming Perception)任务,该任务为视频目标检测(Video Object Detection, VOD)任务的一个新的细分方向。如上图上半部分所示,传统的VOD采用离线的处理模式,没有考虑模型的延时,所以模型检测结果和真实环境存在由于模型延时造成的误差。而流感知任务在关注模型精度的同时,也考虑了模型的延时,如上图下半部分所示,这样得到的检测结果与真实环境更加匹配。所以说,流感知任务是一个更加贴近自动驾驶真实应用场景的任务。
LongShortNet是对流感知任务已有方法StreamYOLO的改进,主要的改进点有以下几个方面:
LongShortNet的整体框图如下图所示:
该模型适用于自动驾驶场景目标预测检测,,支持8类交通目标检测,具体的类别信息如下:
类别ID | 类别名称 |
---|---|
1 | person |
2 | bicycle |
3 | car |
4 | motorcycle |
5 | bus |
6 | truck |
7 | traffic_light |
8 | stop_sign |
在ModelScope框架上,提供输入视频,即可以通过简单的Pipeline调用使用当前模型,得到视频中目标位置及类别。
基础示例代码。下面的示例代码展示的是如何通过一个视频作为输入,得到图片对应的交通目标坐标信息。
import cv2
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks
from modelscope.outputs import OutputKeys
model_id = 'damo/cv_cspnet_video-object-detection_longshortnet'
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)
# 进行实时检测
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的验证集上客观指标如下:
Model | size | velocity | sAP 0.5:0.95 |
sAP50 | sAP75 | weights | COCO pretrained weights |
---|---|---|---|---|---|---|---|
LongShortNet-S | 600×960 | 1x | 29.8 | 50.4 | 29.5 | official | official |
LongShortNet-M | 600×960 | 1x | 34.1 | 54.8 | 34.6 | official | official |
LongShortNet-L | 600×960 | 1x | 37.1 | 57.8 | 37.7 | official | official |
@article{LongShortNet,
title={LongShortNet: Exploring Temporal and Semantic Features Fusion in Streaming Perception},
author={Chenyang Li, Zhi-Qi Cheng, Jun-Yan He, Pengyu Li, Bin Luo, Han-Yuan Chen, Yifeng Geng, Jin-Peng Lan and Xuansong Xie},
journal={ICASSP},
year={2023}
}