YOLOP


开始之前

安装 YOLOP 依赖项

pip install -qr https://github.com/hustvl/YOLOP/blob/main/requirements.txt  # install dependencies

YOLOP:全景驾驶感知的一次性检测

模型描述

  • YOLOP 是一个高效的多任务网络,可以联合处理自动驾驶中的三个关键任务:目标检测、可行驶区域分割和车道线检测。它也是第一个在嵌入式设备上达到实时性,同时在 **BDD100K** 数据集上保持最先进性能的模型。

结果

交通目标检测结果

模型召回率(%)mAP50(%)速度(fps)
Multinet81.360.28.6
DLT-Net89.468.49.3
Faster R-CNN77.255.65.3
YOLOv5s86.877.282
YOLOP(我们)89.276.541

可行驶区域分割结果

模型mIOU(%)速度(fps)
Multinet71.68.6
DLT-Net71.39.3
PSPNet89.611.1
YOLOP(我们)91.541

车道线检测结果

模型mIOU(%)IOU(%)
ENet34.1214.64
SCNN35.7915.84
ENet-SAD36.5616.02
YOLOP(我们)70.5026.20

消融研究 1:端到端与分步

训练方法召回率(%)AP(%)mIoU(%)准确率(%)IoU(%)
ES-W87.075.390.466.826.2
ED-W87.376.091.671.226.1
ES-D-W87.075.191.768.627.0
ED-S-W87.576.191.668.026.8
端到端89.276.591.570.526.2

消融研究 2:多任务与单任务

训练方法召回率(%)AP(%)mIoU(%)准确率(%)IoU(%)速度(毫秒/帧)
检测(仅)88.276.915.7
可行驶区域分割(仅)92.014.8
车道线分割(仅)79.627.914.8
多任务89.276.591.570.526.224.4

注意事项:

  • 在表 4 中,E、D、S 和 W 分别指编码器、检测头、两个分割头和整个网络。因此,该算法(首先,我们只训练编码器和检测头。然后我们冻结编码器和检测头,并训练两个分割头。最后,整个网络针对所有三个任务进行联合训练。)可以标记为 ED-S-W,其他也类似。

可视化

交通目标检测结果

可行驶区域分割结果

车道线检测结果

注意事项:

  • 车道线检测结果的可视化已通过二次拟合进行后处理。

部署

我们的模型可以在 **Jetson Tx2** 上实时推理,并使用 **Zed Camera** 捕获图像。我们使用 **TensorRT** 工具进行加速。我们在 github 代码 中提供了模型部署和推理的代码。

从 PyTorch Hub 加载

此示例加载预训练的 **YOLOP** 模型并传递图像进行推理。

import torch

# load model
model = torch.hub.load('hustvl/yolop', 'yolop', pretrained=True)

#inference
img = torch.randn(1,3,640,640)
det_out, da_seg_out,ll_seg_out = model(img)

引用

更多详情请参阅 github 代码arxiv 论文

如果您发现我们的论文和代码对您的研究有用,请考虑点赞和引用。

在 BDD100K 数据集上预训练的 YOLOP

模型类型: 视觉
提交者: 华中科技大学视觉学习团队