Skip to content
imaged

Driving perception

YOLOP

One model, three outputs for driving: vehicles, drivable area, lane lines.

MIT
Explore model

About this model

YOLOP is a panoptic driving perception network from HUST Vision Lab. A single forward pass returns vehicle detections, a drivable-area mask, and a lane-line mask. Trained on BDD100K dashcam footage.

The build is around 36 MB on disk. On M1 Max with CoreML it runs in 46 ms warm, around 21 fps, fast enough for live ADAS on Apple Silicon.

What you can build

  • Build a dashcam app that highlights drivable lanes in real time.
  • Tag driving footage with vehicle counts and lane coverage stats.
  • Run an early ADAS prototype on a phone or embedded SoC.
  • Generate training data for a downstream driving model.

Variants & downloads

Choose the build for your app

Model files are being prepared.

Explore the model’s examples, source links, and integration notes while download variants are added.

Performance

Results depend on the device, runtime, and test conditions. Each measurement keeps its own context.

M1 Max, macOS 15, ONNX Runtime 1.17

See original catalog hardware notes · CPU

187.9 ms

Warm inference

Catalog reference · variant unspecifiedCold start (ms): 185.16

Reference result from the existing catalog; conversion variant and measurement date were not recorded.

M1 Max, macOS 15, ONNX Runtime 1.17

See original catalog hardware notes · CoreML

46.5 ms

Warm inference

Catalog reference · variant unspecifiedCold start (ms): 130.45

Reference result from the existing catalog; conversion variant and measurement date were not recorded.

RTX 2060, Ubuntu 24.04, ONNX Runtime 1.24.3

See original catalog hardware notes · CUDA

34.7 ms

Warm inference

Catalog reference · variant unspecified

Reference result from the existing catalog; conversion variant and measurement date were not recorded.

Integration examples

Vision SDK integration

cpp

#include "imaged/sdk.hpp"
#include "imaged/families/yolop/yolop_family.hpp"

imaged::SDK::AI ai;
auto& config = ai.getOptions();
config.set("yolop.model", "weights/yolop.onnx");
config.set("yolop.classNames", "vehicle");
config.set("yolop.confidenceThreshold", 0.25);

imaged::SDK::YolopFamily family;
family.load(config);

imaged::SDK::Image image;
image.load("dash_cam.jpg");

auto result = std::get<imaged::SDK::MultiTaskResult>(family.run({&image}));