layout | background-class | body-class | category | title | summary | image | author | tags | github-link | github-id | featured_image_1 | featured_image_2 | accelerator | demo-model-link | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
hub_detail |
hub-background |
hub |
researchers |
YOLOP |
YOLOP pretrained on the BDD100K dataset |
yolop.png |
Hust Visual Learning Team |
|
hustvl/YOLOP |
no-image |
no-image |
cuda-optional |
YOLOP ์ข ์ ํจํค์ง๋ฅผ ์ค์นํ๋ ค๋ฉด ์๋ ๋ช ๋ น์ ์ํํด์ฃผ์ธ์:
pip install -qr https://github.com/hustvl/YOLOP/blob/main/requirements.txt # install dependencies
- YOLOP๋ ์์จ ์ฃผํ์์ ์ค์ํ, ๋ค์์ ์ธ ๊ฐ์ง ์์ ์ ๊ณต๋์ผ๋ก ์ฒ๋ฆฌํ ์ ์๋ ํจ์จ์ ์ธ ๋ค์ค ์์ ๋คํธ์ํฌ ์ ๋๋ค. ์ด ๋ค์ค ๋คํธ์ํฌ๋ ๋ฌผ์ฒด ๊ฐ์ง(object detection), ์ฃผํ ์์ญ ๋ถํ (drivable area segmentation), ์ฐจ์ ์ธ์(lane detection)์ ์ํํฉ๋๋ค. ๋ํ YOLOP๋ BDD100K ๋ฐ์ดํฐ์ ์์ ์ต์ ๊ธฐ์ (state-of-the-art)์ ์์ค์ ์ ์งํ๋ฉด์ ์๋ฒ ๋๋ ๊ธฐ๊ธฐ์์ ์ค์๊ฐ์ฑ์ ๋๋ฌํ ์ต์ด์ ๋ชจ๋ธ์ ๋๋ค.
Model | Recall(%) | mAP50(%) | Speed(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(ours) |
89.2 | 76.5 | 41 |
Model | mIOU(%) | Speed(fps) |
---|---|---|
Multinet |
71.6 | 8.6 |
DLT-Net |
71.3 | 9.3 |
PSPNet |
89.6 | 11.1 |
YOLOP(ours) |
91.5 | 41 |
Model | mIOU(%) | IOU(%) |
---|---|---|
ENet |
34.12 | 14.64 |
SCNN |
35.79 | 15.84 |
ENet-SAD |
36.56 | 16.02 |
YOLOP(ours) |
70.50 | 26.20 |
Training_method | Recall(%) | AP(%) | mIoU(%) | Accuracy(%) | 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 |
End-to-end |
89.2 | 76.5 | 91.5 | 70.5 | 26.2 |
Training_method | Recall(%) | AP(%) | mIoU(%) | Accuracy(%) | IoU(%) | Speed(ms/frame) |
---|---|---|---|---|---|---|
Det(only) |
88.2 | 76.9 | - | - | - | 15.7 |
Da-Seg(only) |
- | - | 92.0 | - | - | 14.8 |
Ll-Seg(only) |
- | - | - | 79.6 | 27.9 | 14.8 |
Multitask |
89.2 | 76.5 | 91.5 | 70.5 | 26.2 | 24.4 |
์๋ด:
- ํ 4์์ E, D, S, W๋ ์ธ์ฝ๋(Encoder), ๊ฒ์ถ ํค๋(Detect head), 2๊ฐ์ ์ธ๊ทธ๋จผํธ ํค๋(Segment heads) ์ ์ ์ฒด ๋คํธ์ํฌ๋ฅผ ์๋ฏธํฉ๋๋ค. ๊ทธ๋์ ์ด ์๊ณ ๋ฆฌ์ฆ(์ด ์๊ณ ๋ฆฌ์ฆ์ ์ฒซ์งธ, ์ธ์ฝ๋ ๋ฐ ๊ฒ์ถ ํค๋๋ง ํ์ตํฉ๋๋ค. ๊ทธ ํ, ์ธ์ฝ๋ ๋ฐ ๊ฒ์ถ ํค๋๋ฅผ ๊ณ ์ ํ๊ณ ๋ ๊ฐ์ ๋ถํ (segmentation) ํค๋๋ฅผ ํ์ตํฉ๋๋ค. ๋ง์ง๋ง์ผ๋ก, ์ ์ฒด ๋คํธ์ํฌ๋ ์ธ ๊ฐ์ง ์์ ๋ชจ๋์ ๋ํด ํจ๊ป ํ์ต๋ฉ๋๋ค.)์ ED-S-W๋ก ํ๊ธฐ๋๋ฉฐ, ๋ค๋ฅธ ์๊ณ ๋ฆฌ์ฆ๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค.
์๋ด:
- ์ฐจ์ ์ธ์์ ์๊ฐํ ๊ฒฐ๊ณผ๋ ์ด์ฐจํจ์ ํํ๋ก ๊ทผ์ฌํ๋ ๊ณผ์ (quadratic fitting)์ ํตํด ํ์ฒ๋ฆฌ(post processed) ๋์์ต๋๋ค.
YOLOP ๋ชจ๋ธ์ ์ด๋ฏธ์ง ์บก์ณ๋ฅผ Zed Camera๊ฐ ์ฅ์ฐฉ๋ Jetson Tx2์์ ์ค์๊ฐ์ผ๋ก ์ถ๋ก ํ ์ ์์ต๋๋ค. ์๋ ํฅ์์ ์ํด TensorRT๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๋ชจ๋ธ์ ๋ฐฐํฌ์ ์ถ๋ก ์ ์ํด github code ์์ ์ฝ๋๋ฅผ ์ ๊ณตํฉ๋๋ค.
์ด ์์ ๋ ์ฌ์ ์ ํ์ต๋ YOLOP ๋ชจ๋ธ์ ๋ถ๋ฌ์ค๊ณ ์ถ๋ก ์ ์ํ ์ด๋ฏธ์ง๋ฅผ ๋ชจ๋ธ์ ์ ๋ฌํฉ๋๋ค.
import torch
model = torch.hub.load('hustvl/yolop', 'yolop', pretrained=True)
img = torch.randn(1,3,640,640)
det_out, da_seg_out,ll_seg_out = model(img)
See for more detail in github code and arxiv paper.
๋ณธ ๋ ผ๋ฌธ๊ณผ ์ฝ๋๊ฐ ์ฌ๋ฌ๋ถ์ ์ฐ๊ตฌ์ ์ ์ฉํ๋ค๊ณ ํ๋จ๋๋ฉด, GitHub star๋ฅผ ์ฃผ๋ ๊ฒ๊ณผ ๋ณธ ๋ ผ๋ฌธ์ ์ธ์ฉํ๋ ๊ฒ์ ๊ณ ๋ คํด ์ฃผ์ธ์: