Pytorch implementation of "Learning Lightweight Lane Detection CNNs by Self Attention Distillation (ICCV 2019)"
You can find the previous version here
Demo trained with CULane dataset & tested with \driver_193_90frame\06051123_0635.MP4
gpu_runtime: 0.016253232955932617 FPS: 61
total_runtime: 0.017553091049194336 FPS: 56
on RTX 2080 TI
Category | 40k episode (before SAD) | 60k episode (after SAD) |
---|---|---|
Image | ||
Lane |
- pytorch
- tensorflow (for tensorboard)
-
CULane dataset path (click to expand)
CULane_path ├─ driver_100_30frame ├─ driver_161_90frame ├─ driver_182_30frame ├─ driver_193_90frame ├─ driver_23_30frame ├─ driver_37_30frame ├─ laneseg_label_w16 ├─ laneseg_label_w16_test └─ list
You need to change the correct dataset path in ./config.py
Dataset_Path = dict(
CULane = "/workspace/CULANE_DATASET",
"
)
First, change some hyperparameters in ./experiments/*/cfg.json
{
"model": "enet_sad", <- "scnn" or "scnn_sad" or "enet_sad"
"dataset": {
"dataset_name": "CULane", <- "CULane" or "Tusimple"
"batch_size": 12,
"resize_shape": [800, 288] <- [800, 288] with CULane, [640, 368] with Tusimple, and [640, 360] with BDD100K
This size is defined in the ENet-SAD paper, any size is fine if it is a multiple of 8.
},
...
}
And then, start training with train.py
python train.py --exp_dir ./experiments/exp1
This repo is built upon official implementation ENet-SAD and based on PyTorch-ENet, SCNN_Pytorch.