Codes-for-Lane-Detection  by cardwing

Lane detection CNN research paper using self-attention distillation

created 6 years ago
1,051 stars

Top 36.4% on sourcepulse

GitHubView on GitHub
Project Summary

This repository provides PyTorch and TensorFlow implementations for lightweight lane detection Convolutional Neural Networks (CNNs), focusing on self-attention distillation. It targets researchers and engineers in autonomous driving and computer vision who need efficient and accurate lane detection models. The key benefit is a significant reduction in model size and inference time compared to state-of-the-art methods, without sacrificing accuracy.

How It Works

The core approach utilizes ENet as a backbone, enhanced with self-attention distillation. This technique allows the model to learn spatial relationships and focus on relevant features, leading to improved performance. The ENet-SAD model is significantly smaller and faster than SCNN, offering a compelling trade-off for real-time applications.

Quick Start & Requirements

  • Installation: Requires Python 3.5, TensorFlow 1.3.0, and specific packages listed in SCNN-Tensorflow/lane-detection-model/requirements.txt.
  • Prerequisites: VGG-16 weights (vgg.npy) and pre-trained models are required. Datasets (TuSimple, CULane, BDD100K) need to be downloaded separately.
  • Setup: Involves environment setup, dependency installation, data preparation, and model downloading.
  • Resources: Multi-GPU training is supported.
  • Links: TuSimple, CULane, BDD100K.

Highlighted Details

  • ENet-SAD achieves 72.0 F1-measure on CULane, outperforming SCNN (71.6 F1).
  • ENet-SAD achieves 96.64% accuracy on TuSimple, surpassing SCNN (96.53%).
  • ENet-SAD has 20x fewer parameters and is 10x faster than SCNN.
  • ERFNet-CULane-PyTorch (also included) achieves 73.1 F1 on CULane with 10.2ms runtime.

Maintenance & Community

The project is associated with the ICCV 2019 paper "Learning Lightweight Lane Detection CNNs by Self Attention Distillation." Issues can be raised in the repository for support.

Licensing & Compatibility

The repository includes code derived from SCNN and LaneNet. The specific license for this repository is not explicitly stated in the README, but the underlying projects may have their own licenses. Compatibility for commercial use would require verification of the licenses of all included components.

Limitations & Caveats

The TensorFlow implementation requires TensorFlow 1.3.0, which is an older version. The README indicates that SCNN-Tensorflow performance on TuSimple and BDD100K is still to be tested. Pre-trained models for SCNN-Tensorflow on BDD100K are listed as "coming soon."

Health Check
Last commit

3 years ago

Responsiveness

Inactive

Pull Requests (30d)
1
Issues (30d)
0
Star History
3 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.