Codes-for-Lane-Detection  by cardwing

Lane detection CNN research paper using self-attention distillation

Created 7 years ago
1,052 stars

Top 35.8% 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

1 day

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

Explore Similar Projects

Starred by Andrej Karpathy Andrej Karpathy(Founder of Eureka Labs; Formerly at Tesla, OpenAI; Author of CS 231n), Deshraj Yadav Deshraj Yadav(Cofounder of Mem0), and
7 more.

rcnn by rbgirshick

0.2%
2k
Object detection system using CNNs and region proposals
Created 11 years ago
Updated 8 years ago
Starred by Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems"), Soumith Chintala Soumith Chintala(Coauthor of PyTorch), and
1 more.

jetson-inference by dusty-nv

0.1%
9k
Vision DNN library for NVIDIA Jetson devices
Created 9 years ago
Updated 11 months ago
Feedback? Help us improve.