YOLOP
開始之前
安裝 YOLOP 依賴項
pip install -qr https://github.com/hustvl/YOLOP/blob/main/requirements.txt # install dependencies
YOLOP:You Only Look Once for Panoptic driving Perception(僅一次全景駕駛感知)
模型描述

- YOLOP 是一個高效的多工網路,可以聯合處理自動駕駛中的三個關鍵任務:物體檢測、可行駛區域分割和車道線檢測。它也是第一個在嵌入式裝置上達到即時效能,同時在 BDD100K 資料集上保持最先進水平效能的模型。
結果
交通物體檢測結果
| 模型 | 召回率 (%) | mAP50 (%) | 速度 (fps) |
|---|---|---|---|
Multinet | 81.3 | 60.2 | 8.6 |
DLT-Net | 89.4 | 68.4 | 9.3 |
Faster R-CNN | 77.2 | 55.6 | 5.3 |
YOLOv5s | 86.8 | 77.2 | 82 |
YOLOP (我們的) | 89.2 | 76.5 | 41 |
可行駛區域分割結果
| 模型 | mIOU (%) | 速度 (fps) |
|---|---|---|
Multinet | 71.6 | 8.6 |
DLT-Net | 71.3 | 9.3 |
PSPNet | 89.6 | 11.1 |
YOLOP (我們的) | 91.5 | 41 |
車道線檢測結果
| 模型 | mIOU (%) | IOU (%) |
|---|---|---|
ENet | 34.12 | 14.64 |
SCNN | 35.79 | 15.84 |
ENet-SAD | 36.56 | 16.02 |
YOLOP (我們的) | 70.50 | 26.20 |
消融研究 1:端到端對比分步
| 訓練方法 | 召回率 (%) | AP (%) | mIoU (%) | 準確率 (%) | IoU (%) |
|---|---|---|---|---|---|
ES-W | 87.0 | 75.3 | 90.4 | 66.8 | 26.2 |
ED-W | 87.3 | 76.0 | 91.6 | 71.2 | 26.1 |
ES-D-W | 87.0 | 75.1 | 91.7 | 68.6 | 27.0 |
ED-S-W | 87.5 | 76.1 | 91.6 | 68.0 | 26.8 |
端到端 | 89.2 | 76.5 | 91.5 | 70.5 | 26.2 |
消融研究 2:多工對比單任務
| 訓練方法 | 召回率 (%) | AP (%) | mIoU (%) | 準確率 (%) | IoU (%) | 速度 (ms/幀) |
|---|---|---|---|---|---|---|
檢測 (僅) | 88.2 | 76.9 | – | – | – | 15.7 |
可行駛區域分割 (僅) | – | – | 92.0 | – | – | 14.8 |
車道線分割 (僅) | – | – | – | 79.6 | 27.9 | 14.8 |
多工 | 89.2 | 76.5 | 91.5 | 70.5 | 26.2 | 24.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 論文。
如果您發現我們的論文和程式碼對您的研究有用,請考慮點贊和引用。