← all repositories
cardwing/Codes-for-Lane-Detection

Lane detection that runs 10× faster with 20× fewer parameters

A 2019 ICCV paper distills self-attention into tiny ENet models so your car can actually afford to find lane markings.

1.1k stars Lua Computer VisionDomain Apps
Codes-for-Lane-Detection
Velocity · 7d
+0.4
★ / day
Trend
steady
star history

What it does

This repo trains and tests lightweight CNNs for lane detection on three driving datasets: CULane, TuSimple, and BDD100K. It also includes a full TensorFlow reimplementation of the earlier SCNN architecture, mostly for comparison purposes.

The interesting bit

The trick is “self attention distillation” (SAD): the network learns to mimic its own attention maps from deeper layers, squeezing knowledge into a smaller model without a separate teacher. The result is an ENet-based detector with 0.98M parameters that beats SCNN’s 20.72M-parameter model on accuracy while running in 13.4ms vs. 133.5ms on CULane.

Key highlights

  • ENet-Label-Torch: 72.0 F1 on CULane, 96.64% accuracy on TuSimple, 36.56% on BDD100K — all edging out SCNN
  • ERFNet-CULane-PyTorch pushes further to 73.1 F1 and 10.2ms runtime
  • Multi-GPU training supported via simple config changes
  • Also includes SCNN-TensorFlow implementation (VGG-16 based) with pre-trained weights available

Caveats

  • Several pre-trained models marked “coming soon!” in the README, including TuSimple and BDD100K ENet variants
  • SCNN-TensorFlow results for TuSimple and BDD100K still listed as untested (empty cells in performance tables)
  • TensorFlow 1.3.0 and Python 3.5 in install instructions date the codebase to 2017-era tooling
  • Image preprocessing gotchas: must swap RGB→BGR and reorder VGG-MEAN values for the pre-trained model

Verdict

Worth a look if you’re building lane detection for resource-constrained systems or need a solid baseline on CULane. Skip if you want a modern, maintained framework — this is research code with 2019-era dependencies and some missing artifacts.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.