Soulempty / Light-Condition-Style-Transfer

Light condition style transfer-based data enhancement method for lane detction in low-light conditions

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Light Conditions Style Transfer

Paper

Lane Detection in Low-light Conditions Using an Efficient Data Enhancement : Light Conditions Style Transfer

Submitted to IV 2020

The main framework is as follows: Our framework

Empirically, lane detection model trained using our method demonstrated adaptability in low-light conditions and robustness in complex scenarios. (It can achieve 73.9 F1-measure in CULane testing set)

Datasets

CULane

The whole dataset is available at CULane.

CULane
├── driver_23_30frame       # training&validation
├── driver_161_90frame      # training&validation
├── driver_182_30frame      # training&validation
├── driver_193_90frame      # testing
├── driver_100_30frame      # testing
├── driver_37_30frame       # testing
├── laneseg_label_w16       # labels
└── list                    # list

Generated Images

The images in low-light conditions are generated by the proposed Better-CycleGAN. We will upload our generated images in low-light conditions soon.

Source Code

Better-CycleGAN

We will open the source code for Better-CycleGAN soon.

ERFNet

The source code used for the lane detction is made publicly available by HOU Yuenan.

Requirements

  • PyTorch 1.3.0.

  • Matlab (for tools/prob2lines), version R2017a or later.

  • Opencv (for tools/lane_evaluation).

Before start

conda create -n  your_env_name python=3.6
conda activate your_env_name
conda install pytorch==1.3.0 torchvision==0.4.1 cudatoolkit=10.0 -c pytorch
pip install -r requirements.txt 

Test

The trained model used in this paper is available in ./trained.

  1. Run test script
sh ./test_erfnet.sh
  1. Get lines from probability maps
cd tools/prob2lines
matlab -nodisplay -r "main;exit"

Please check the file path in Matlab code before.

  1. Evaluation
cd /tools/lane_evaluation
make
sh eval_all.sh    # evaluate the whole test set
sh eval_split.sh  # evaluate each scenario separately

The evaluation results are saved in /tools/lane_evaluation/output.

Performance

Light Conditions Stlye Transfer

Some examples of real images in normal light conditions and their corresponding translations images in low-light conditions. images

Lane Detetcion

Performance ( (F1-measure) ) of different methods on CULane testing set. For crossroad, only FP is shown.

Category ERFNet CycleGAN+ERFNet Better-CycleGAN + ERFNet(ours) SCNN ENet-SAD ResNet-101-SAD
Normal 91.5 91.7 91.8 90.6 90.1 90.7
Crowded 71.6 71.5 71.8 69.7 68.8 70.0
Night 67.1 68.9 69.4 66.1 66.0 66.3
No Line 45.1 45.2 46.1 43.4 41.6 43.5
Shadow 71.3 73.1 76.2 66.9 65.9 67.0
Arrow 87.2 87.2 87.8 66.9 65.9 67.0
Dazzle Light 66.0 67.5 66.4 58.5 60.2 59.9
Curve 71.6 69.0 72.4 64.4 65.7 65.7
Crossroad 2199 2402 2346 1990 1998 2052
Total 73.1 73.6 73.9 71.6 70.8 71.8

The probability maps output by the three methods above are shown as following images

To do

  • Upload the generated images

  • Open the source code for Better-CycleGAN

  • Upgade pytorch (from 0.3.0 to 1.3.0)

Acknowledgement

This project refers to the following projects:

About

Light condition style transfer-based data enhancement method for lane detction in low-light conditions

License:MIT License


Languages

Language:Python 51.5%Language:C++ 36.8%Language:MATLAB 5.2%Language:Shell 4.5%Language:Makefile 2.0%