All Projects → cfzd → Ultra Fast Lane Detection

cfzd / Ultra Fast Lane Detection

Licence: mit
Ultra Fast Structure-aware Deep Lane Detection (ECCV 2020)

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Ultra Fast Lane Detection

Awesome-3D-Object-Detection-for-Autonomous-Driving
Papers on 3D Object Detection for Autonomous Driving
Stars: ✭ 52 (-92.44%)
Mutual labels:  autonomous-driving, autonomous-vehicles
Autorally
Software for the AutoRally platform
Stars: ✭ 595 (-13.52%)
Mutual labels:  autonomous-driving, autonomous-vehicles
FusionAD
An open source autonomous driving stack by San Jose State University Autonomous Driving Team
Stars: ✭ 30 (-95.64%)
Mutual labels:  autonomous-driving, autonomous-vehicles
OpenHDMap
An open HD map production process for autonomous car simulation
Stars: ✭ 152 (-77.91%)
Mutual labels:  autonomous-driving, autonomous-vehicles
Awesome Interaction Aware Trajectory Prediction
A selection of state-of-the-art research materials on trajectory prediction
Stars: ✭ 625 (-9.16%)
Mutual labels:  autonomous-driving, autonomous-vehicles
ar-tu-do
ROS & Gazebo project for 1/10th scale self-driving race cars
Stars: ✭ 65 (-90.55%)
Mutual labels:  autonomous-driving, autonomous-vehicles
sparse-scene-flow
This repo contains C++ code for sparse scene flow method.
Stars: ✭ 23 (-96.66%)
Mutual labels:  autonomous-driving, autonomous-vehicles
highway-path-planning
My path-planning pipeline to navigate a car safely around a virtual highway with other traffic.
Stars: ✭ 39 (-94.33%)
Mutual labels:  autonomous-driving, autonomous-vehicles
Matlabrobotics
MATLAB sample codes for mobile robot navigation
Stars: ✭ 332 (-51.74%)
Mutual labels:  autonomous-driving, autonomous-vehicles
Hybridastartrailer
A path planning algorithm based on Hybrid A* for trailer truck
Stars: ✭ 279 (-59.45%)
Mutual labels:  autonomous-driving, autonomous-vehicles
copilot
Lane and obstacle detection for active assistance during driving. Uses windowed sweep for lane detection. Combination of object tracking and YOLO for obstacles. Determines lane change, relative velocity and time to collision
Stars: ✭ 95 (-86.19%)
Mutual labels:  autonomous-driving, autonomous-vehicles
Autowarearchitectureproposal.proj
This is the source code of the feasibility study for Autoware architecture proposal.
Stars: ✭ 394 (-42.73%)
Mutual labels:  autonomous-driving, autonomous-vehicles
PyLidar3
PyLidar3 is python 3 package to get data from Lidar devices from various manufacturers.
Stars: ✭ 35 (-94.91%)
Mutual labels:  autonomous-driving, autonomous-vehicles
BtcDet
Behind the Curtain: Learning Occluded Shapes for 3D Object Detection
Stars: ✭ 104 (-84.88%)
Mutual labels:  autonomous-driving, autonomous-vehicles
SelfDrivingRCCar
Autonomous RC Car using Neural Networks, Python and Open CV
Stars: ✭ 102 (-85.17%)
Mutual labels:  autonomous-driving, autonomous-vehicles
WIMP
[arXiv] What-If Motion Prediction for Autonomous Driving ❓🚗💨
Stars: ✭ 80 (-88.37%)
Mutual labels:  autonomous-driving, autonomous-vehicles
Visualizing-lidar-data
Visualizing lidar data using Uber Autonomous Visualization System (AVS) and Jupyter Notebook Application
Stars: ✭ 75 (-89.1%)
Mutual labels:  autonomous-driving, autonomous-vehicles
pyMHT
Track oriented, multi target, multi hypothesis tracker
Stars: ✭ 66 (-90.41%)
Mutual labels:  autonomous-driving, autonomous-vehicles
Error-State-Extended-Kalman-Filter
Vehicle State Estimation using Error-State Extended Kalman Filter
Stars: ✭ 100 (-85.47%)
Mutual labels:  autonomous-driving, autonomous-vehicles
Apollo
An open autonomous driving platform
Stars: ✭ 19,814 (+2779.94%)
Mutual labels:  autonomous-driving, autonomous-vehicles

Ultra-Fast-Lane-Detection

PyTorch implementation of the paper "Ultra Fast Structure-aware Deep Lane Detection".

Updates: Our paper has been accepted by ECCV2020.

alt text

The evaluation code is modified from SCNN and Tusimple Benchmark.

Caffe model and prototxt can be found here.

Demo

Demo

Install

Please see INSTALL.md

Get started

First of all, please modify data_root and log_path in your configs/culane.py or configs/tusimple.py config according to your environment.

  • data_root is the path of your CULane dataset or Tusimple dataset.
  • log_path is where tensorboard logs, trained models and code backup are stored. It should be placed outside of this project.

For single gpu training, run

python train.py configs/path_to_your_config

For multi-gpu training, run

sh launch_training.sh

or

python -m torch.distributed.launch --nproc_per_node=$NGPUS train.py configs/path_to_your_config

If there is no pretrained torchvision model, multi-gpu training may result in multiple downloading. You can first download the corresponding models manually, and then restart the multi-gpu training.

Since our code has auto backup function which will copy all codes to the log_path according to the gitignore, additional temp file might also be copied if it is not filtered by gitignore, which may block the execution if the temp files are large. So you should keep the working directory clean.


Besides config style settings, we also support command line style one. You can override a setting like

python train.py configs/path_to_your_config --batch_size 8

The batch_size will be set to 8 during training.


To visualize the log with tensorboard, run

tensorboard --logdir log_path --bind_all

Trained models

We provide two trained Res-18 models on CULane and Tusimple.

Dataset Metric paper Metric This repo Avg FPS on GTX 1080Ti Model
Tusimple 95.87 95.82 306 GoogleDrive/BaiduDrive(code:bghd)
CULane 68.4 69.7 324 GoogleDrive/BaiduDrive(code:w9tw)

For evaluation, run

mkdir tmp
# This a bad example, you should put the temp files outside the project.

python test.py configs/culane.py --test_model path_to_culane_18.pth --test_work_dir ./tmp

python test.py configs/tusimple.py --test_model path_to_tusimple_18.pth --test_work_dir ./tmp

Same as training, multi-gpu evaluation is also supported.

Visualization

We provide a script to visualize the detection results. Run the following commands to visualize on the testing set of CULane and Tusimple.

python demo.py configs/culane.py --test_model path_to_culane_18.pth
# or
python demo.py configs/tusimple.py --test_model path_to_tusimple_18.pth

Since the testing set of Tusimple is not ordered, the visualized video might look bad and we do not recommend doing this.

Speed

To test the runtime, please run

python speed_simple.py  
# this will test the speed with a simple protocol and requires no additional dependencies

python speed_real.py
# this will test the speed with real video or camera input

It will loop 100 times and calculate the average runtime and fps in your environment.

Citation

@InProceedings{qin2020ultra,
author = {Qin, Zequn and Wang, Huanyu and Li, Xi},
title = {Ultra Fast Structure-aware Deep Lane Detection},
booktitle = {The European Conference on Computer Vision (ECCV)},
year = {2020}
}

Thanks

Thanks zchrissirhcz for the contribution to the compile tool of CULane, KopiSoftware for contributing to the speed test, and ustclbh for testing on the Windows platform.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].