CondLaneNet: a Top-to-down Lane Detection Framework Based on Conditional Convolution

Overview

CondLaneNet: a Top-to-down Lane Detection Framework Based on Conditional Convolution

This is the official implementation code of the paper "CondLaneNet: a Top-to-down Lane Detection Framework Based on ConditionalConvolution". (Link: https://arxiv.org/abs/2105.05003) We achieve state-of-the-art performance on multiple lane detection benchmarks.

Architecture,

Installation

This implementation is based on mmdetection(v2.0.0). Please refer to install.md for installation.

Datasets

We conducted experiments on CurveLanes, CULane and TuSimple. Please refer to dataset.md for installation.

Models

For your convenience, we provide the following trained models on Curvelanes, CULane, and TuSimple datasets

Model Speed F1 Link
curvelanes_small 154FPS 85.09 download
curvelanes_medium 109FPS 85.92 download
curvelanes_large 48FPS 86.10 download
culane_small 220FPS 78.14 download
culane_medium 152FPS 78.74 download
culane_large 58FPS 79.48 download
tusimple_small 220FPS 97.01 download
tusimple_medium 152FPS 96.98 download
tusimple_large 58FPS 97.24 download

Testing

CurveLanes 1 Edit the "data_root" in the config file to your Curvelanes dataset path. For example, for the small version, open "configs/curvelanes/curvelanes_small_test.py" and set "data_root" to "[your-data-path]/curvelanes".

2 run the test script

cd [project-root]
python tools/condlanenet/curvelanes/test_curvelanes.py configs/condlanenet/curvelanes/curvelanes_small_test.py [model-path] --evaluate

If "--evaluate" is added, the evaluation results will be printed. If you want to save the visualization results, you can add "--show" and add "--show_dst" to specify the save path.

CULane

1 Edit the "data_root" in the config file to your CULane dataset path. For example,for the small version, you should open "configs/culane/culane_small_test.py" and set the "data_root" to "[your-data-path]/culane".

2 run the test script

cd [project-root]
python tools/condlanenet/culane/test_culane.py configs/condlanenet/culane/culane_small_test.py [model-path]
  • you can add "--show" and add "--show_dst" to specify the save path.
  • you can add "--results_dst" to specify the result saving path.

3 We use the official evaluation tools of SCNN to evaluate the results.

TuSimple

1 Edit the "data_root" in the config file to your TuSimple dataset path. For example,for the small version, you should open "configs/tusimple/tusimple_small_test.py" and set the "data_root" to "[your-data-path]/tuSimple".

2 run the test script

cd [project-root]
python tools/condlanenet/tusimple/test_tusimple.py configs/condlanenet/tusimple/tusimple_small_test.py [model-path]
  • you can add "--show" and add "--show_dst" to specify the save path.
  • you can add "--results_dst" to specify the result saving path.

3 We use the official evaluation tools of TuSimple to evaluate the results.

Speed Test

cd [project-root]
python tools/condlanenet/speed_test.py configs/condlanenet/culane/culane_small_test.py [model-path]

Training

For example, train CULane using 4 gpus:

cd [project-root]
CUDA_VISIBLE_DEVICES=0,1,2,3 PORT=29001 tools/dist_train.sh configs/condlanenet/culane/culane_small_train.py 4 --no-validate 

Results

CurveLanes

Model F1 Speed GFLOPS
Small(ResNet-18) 85.09 154FPS 10.3
Medium(ResNet-34) 85.92 109FPS 19.7
Large(ResNet-101) 86.10 48FPS 44.9

CULane

Model F1 Speed GFLOPS
Small(ResNet-18) 78.14 220FPS 10.2
Medium(ResNet-34) 78.74 152FPS 19.6
Large(ResNet-101) 79.48 58FPS 44.8

TuSimple

Model F1 Speed GFLOPS
Small(ResNet-18) 97.01 220FPS 10.2
Medium(ResNet-34) 96.98 152FPS 19.6
Large(ResNet-101) 97.24 58FPS 44.8

Visualization results

Results

Owner
Alibaba Cloud
More Than Just Cloud
Alibaba Cloud
Generate saved_model, tfjs, tf-trt, EdgeTPU, CoreML, quantized tflite and .pb from .tflite.

tflite2tensorflow Generate saved_model, tfjs, tf-trt, EdgeTPU, CoreML, quantized tflite and .pb from .tflite. 1. Supported Layers No. TFLite Layer TF

Katsuya Hyodo 214 Dec 29, 2022
An index of recommendation algorithms that are based on Graph Neural Networks.

An index of recommendation algorithms that are based on Graph Neural Networks.

FIB LAB, Tsinghua University 564 Jan 07, 2023
RGB-D Local Implicit Function for Depth Completion of Transparent Objects

RGB-D Local Implicit Function for Depth Completion of Transparent Objects [Project Page] [Paper] Overview This repository maintains the official imple

NVIDIA Research Projects 43 Dec 12, 2022
Weakly Supervised End-to-End Learning (NeurIPS 2021)

WeaSEL: Weakly Supervised End-to-end Learning This is a PyTorch-Lightning-based framework, based on our End-to-End Weak Supervision paper (NeurIPS 202

Auton Lab, Carnegie Mellon University 131 Jan 06, 2023
This repository contains the code used for the implementation of the paper "Probabilistic Regression with HuberDistributions"

Public_prob_regression_with_huber_distributions This repository contains the code used for the implementation of the paper "Probabilistic Regression w

David Mohlin 1 Dec 04, 2021
Autonomous Robots Kalman Filters

Autonomous Robots Kalman Filters The Kalman Filter is an easy topic. However, ma

20 Jul 18, 2022
Official PyTorch Implementation of paper EAN: Event Adaptive Network for Efficient Action Recognition

Official PyTorch Implementation of paper EAN: Event Adaptive Network for Efficient Action Recognition

TianYuan 27 Nov 07, 2022
Pcos-prediction - Predicts the likelihood of Polycystic Ovary Syndrome based on patient attributes and symptoms

PCOS Prediction 🥼 Predicts the likelihood of Polycystic Ovary Syndrome based on

Samantha Van Seters 1 Jan 10, 2022
Byte-based multilingual transformer TTS for low-resource/few-shot language adaptation.

One model to speak them all 🌎 Audio Language Text ▷ Chinese 人人生而自由,在尊严和权利上一律平等。 ▷ English All human beings are born free and equal in dignity and rig

Mutian He 60 Nov 14, 2022
Trainable PyTorch reproduction of AlphaFold 2

OpenFold A faithful PyTorch reproduction of DeepMind's AlphaFold 2. Features OpenFold carefully reproduces (almost) all of the features of the origina

AQ Laboratory 1.7k Dec 29, 2022
GEP (GDB Enhanced Prompt) - a GDB plug-in for GDB command prompt with fzf history search, fish-like autosuggestions, auto-completion with floating window, partial string matching in history, and more!

GEP (GDB Enhanced Prompt) GEP (GDB Enhanced Prompt) is a GDB plug-in which make your GDB command prompt more convenient and flexibility. Why I need th

Alan Li 23 Dec 21, 2022
Find-Lane-Line - Use openCV library and Python to detect the road-lane-line

Find-Lane-Line This project is to use openCV library and Python to detect the road-lane-line. Data Pipeline Step one : Color Selection Step two : Cann

Kenny Cheng 3 Aug 17, 2022
使用深度学习框架提取视频硬字幕;docker容器免安装深度学习库,使用本地api接口使得界面和后端识别分离;

extract-video-subtittle 使用深度学习框架提取视频硬字幕; 本地识别无需联网; CPU识别速度可观; 容器提供API接口; 运行环境 本项目运行环境非常好搭建,我做好了docker容器免安装各种深度学习包; 提供windows界面操作; 容器为CPU版本; 视频演示 https

歌者 16 Aug 06, 2022
Structure-Preserving Deraining with Residue Channel Prior Guidance (ICCV2021)

SPDNet Structure-Preserving Deraining with Residue Channel Prior Guidance (ICCV2021) Requirements Linux Platform NVIDIA GPU + CUDA CuDNN PyTorch == 0.

41 Dec 12, 2022
Transparent Transformer Segmentation

Transparent Transformer Segmentation Introduction This repository contains the data and code for IJCAI 2021 paper Segmenting transparent object in the

谢恩泽 140 Jan 02, 2023
This is an (re-)implementation of DeepLab-ResNet in TensorFlow for semantic image segmentation on the PASCAL VOC dataset.

DeepLab-ResNet-TensorFlow This is an (re-)implementation of DeepLab-ResNet in TensorFlow for semantic image segmentation on the PASCAL VOC dataset. Up

19 Jan 16, 2022
A template repository for submitting a job to the Slurm Cluster installed at the DISI - University of Bologna

Cluster di HPC con GPU per esperimenti di calcolo (draft version 1.0) Per poter utilizzare il cluster il primo passo è abilitare l'account istituziona

20 Dec 16, 2022
An open-source, low-cost, image-based weed detection device for fallow scenarios.

Welcome to the OpenWeedLocator (OWL) project, an opensource hardware and software green-on-brown weed detector that uses entirely off-the-shelf compon

Guy Coleman 145 Jan 05, 2023
Grammar Induction using a Template Tree Approach

Gitta Gitta ("Grammar Induction using a Template Tree Approach") is a method for inducing context-free grammars. It performs particularly well on data

Thomas Winters 36 Nov 15, 2022
Using a Seq2Seq RNN architecture via TensorFlow to predict future Bitcoin prices

Recurrent Bitcoin Network A Data Science Thesis Project About This repository contains the source code for implementing Bitcoin price prediciton using

Frizu 6 Sep 08, 2022