This is a PyTorch implementation and variation of the paper "Towards End-to-End Lane Detection: An Instance Segmentation Approach".
Architecture | Accuracy | FP | FN | FPS |
---|---|---|---|---|
FCN-Res18 | 0.940 | 0.142 | 0.085 | 15.6 |
FCN-Res34 | 0.941 | 0.133 | 0.083 | 14.6 |
ENet | 0.937 | 0.149 | 0.093 | 10.8 |
ICNet | 0.935 | 0.139 | 0.103 | 11.1 |
Note:
Install dependencies:
pip install -r requirements.txt
Download TuSimple Benchmark dataset, and unzip the packs. The dataset structure should be as follows:
tusimple_benchmark
`-- |-- test_set
| |-- clips
| `-- ...
`-- train_set
|-- clips
|-- label_data_xxxx.json
|-- label_data_xxxx.json
|-- label_data_xxxx.json
`-- ...
Download checkpoint pth files from our LaneNet model zoo.
python test_lanenet-tusimple_benchmark.py \
--data_dir /path/to/test_set \
--arch <MODEL> \
--ckpt_path /path/to/checkpoint/file
--data_dir /path/to/test_set
--arch <MODEL>
, options include fcn
, enet
, icnet
, and fcn
is the default option.--dual_decoder
to use seperate decoders for the binary segmentation branch and embedding branch. By default, these two branches shares a decoder.*.pth
file.--show
to display output images while testing. In each iteration, after show images ,the program pauses until a key is pressed.--save_img
to save images into ./output/
while testing.--ipm
to conduct Inverse Projective Mapping(IPM) before fitting lane curves.--tag <string>
, one can record experimental settings notices in a string, which will be included in the name of output directories and log files.python train_lanenet.py \
--data_dir /path/to/train_set \
--arch <MODEL> \
--ckpt_path /path/to/checkpoint/file
--data_dir /path/to/train_set
, both training and validation data are loaded from this directory.--arch <MODEL>
, options include fcn
, enet
, icnet
, and fcn
is the default option.--dual_decoder
to use seperate decoders for the binary segmentation branch and embedding branch. By default, these two branches shares a decoder.*.pth
file.--tag <string>
, one can record experimental settings notices in a string, which will be included in the name of output directories and log files.