Triple-duty driving perception in one forward pass
One network that detects objects, segments road, and finds lanes—because running three models is wasteful.

What it does
YOLOP is a multi-task perception network for autonomous driving that jointly handles traffic object detection, drivable area segmentation, and lane detection. It uses a shared encoder with separate task heads, training all three end-to-end without alternating optimization. The authors claim it is the first work to achieve real-time performance on embedded devices while maintaining state-of-the-art accuracy on the BDD100K dataset.
The interesting bit
The ablation studies suggest grid-based detection meshes better with semantic segmentation than region-based alternatives. Swapping in an R-CNN-style pipeline cratered both speed (103.3 ms/frame vs. 24.4 ms/frame) and accuracy across every task. Notably, joint training barely hurt single-task performance—detection recall actually improved from 88.2 to 89.2 in the multi-task setup.
Key highlights
- Triple-task network: one forward pass for detection, drivable-area segmentation, and lane detection.
- Reported BDD100K scores: 76.5% mAP50 for detection, 91.5% mIOU for drivable area, and 70.5% mIOU for lanes.
- End-to-end multi-task inference at 24.4 ms/frame (~41 fps), compared with ~15 ms/frame for single-task branches.
- Includes deployment toolkits and demo support for images, video, and camera streams.
- Explicit ablations compare end-to-end, step-by-step, and single-task training strategies.
Caveats
- Several repo components—
light.py,postprocess.py, and campus-scene datasets—are explicitly tagged “unrelated to paper,” so the codebase mixes published work with experimental extras. - Lane detection visualizations rely on post-hoc quadratic fitting, which is not produced by the network itself.
- The README does not specify which hardware was used for the reported speed benchmarks, making the embedded-device performance claim hard to verify from the source alone.
Verdict
A useful research reference if you want to collapse a three-model autonomous-driving perception stack into one efficient network. Skip it if you only need one task, since the single-task ablations show dedicated branches are roughly 1.5× faster.
Frequently asked
- What is hustvl/YOLOP?
- One network that detects objects, segments road, and finds lanes—because running three models is wasteful.
- Is YOLOP open source?
- Yes — hustvl/YOLOP is open source, released under the MIT license.
- What language is YOLOP written in?
- hustvl/YOLOP is primarily written in Python.
- How popular is YOLOP?
- hustvl/YOLOP has 2.2k stars on GitHub.
- Where can I find YOLOP?
- hustvl/YOLOP is on GitHub at https://github.com/hustvl/YOLOP.