H
Back to solutions
Model2nd place

3LC Multi-Vehicle Detection

Our first open-source model. 2nd place at the 3LC Multi-Vehicle Detection Challenge — a frozen YOLOv8n, where the only room to improve was data quality.

Official result
2nd / 192 teams

"Well documented data-centric work and a repeat strong performer."

Private LB0.92016
Raw rank14 / 192
Eligible rank2nd
Δ vs baseline+0.38
What made the difference

Four levers, all on the data.

+0.21Review gridLabels reviewed by hand from 3LC-computed predictions — only the ambiguous boxes surface to a human.
+0.17Sequence splitTrain and val disjoint by sequence: no more near-identical frame leakage. Validation becomes honest again.
3LCSampling weightsRare-class rebalancing per row via 3LC sampling weights — no synthetic augmentation.
HDBSCANVisual difficulty3LC embedding clustering: oversample hard regions (glare, night, occlusion), not classes.
The journey

From 0.543 to 0.928, never touching the model.

baselineStarter, 10 epochs.0.543
v3Hand-reviewed labels.0.755
v5Sequence split + 3LC weights.0.927
v7Difficulty weighting.0.927
v12100% of the labelled data. Winning submission.0.928
The method

Winning points without moving the model.

01
Review
Let a human judge ambiguous labels — model confidence alone is a poor signal.
02
Measure honestly
A leak-free split: a gain that doesn't transfer to the leaderboard is a signal, not a fluke.
03
Choose robust
Model the public→private shake-down and aim for diverse failure modes, not top public score.
Model
YOLOv8n · from scratch
Input
640 px
Private LB
0.92016
Rank
2nd · eligible

The model, the code and the journey are open.

Run detection on your own images, or dive into the full data-centric pipeline.

Open the demoView the code