Implementasi Pytorch dari makalah "Deteksi Jalur Jalur Deep yang sangat cepat".
[18 Juli 2022] Pembaruan: Versi baru dari metode kami telah diterima oleh TPAMI 2022. Kode tersedia di sini .
[28 Juni 2021] Pembaruan: Kami akan merilis versi yang diperluas, yang meningkatkan 6,3 poin F1 di Culane dengan tulang punggung ResNet-18 dibandingkan dengan versi ECCV.
Pembaruan: Makalah kami telah diterima oleh ECCV2020.

Kode evaluasi dimodifikasi dari Benchmark SCNN dan Tusimple.
Caffe Model dan ProtoTxt dapat ditemukan di sini.
Silakan lihat install.md
Pertama -tama, harap modifikasi data_root dan log_path di configs/culane.py atau configs/tusimple.py konfigurasi Anda sesuai dengan lingkungan Anda.
data_root adalah jalur dataset culane Anda atau dataset tusimple.log_path adalah tempat log tenor, model terlatih, dan cadangan kode disimpan. Itu harus ditempatkan di luar proyek ini.Untuk pelatihan GPU tunggal, jalankan
python train.py configs/path_to_your_configUntuk pelatihan multi-GPU, jalankan
sh launch_training.shatau
python -m torch.distributed.launch --nproc_per_node= $NGPUS train.py configs/path_to_your_configJika tidak ada model TorchVision pretrained, pelatihan multi-GPU dapat mengakibatkan beberapa pengunduhan. Anda pertama-tama dapat mengunduh model yang sesuai secara manual, dan kemudian restart pelatihan multi-GPU.
Karena kode kami memiliki fungsi cadangan otomatis yang akan menyalin semua kode ke log_path sesuai dengan gitignore, file temp tambahan mungkin juga disalin jika tidak difilter oleh Gitignore, yang dapat memblokir eksekusi jika file temps besar. Jadi Anda harus menjaga direktori kerja tetap bersih.
Selain pengaturan gaya konfigurasi, kami juga mendukung gaya baris perintah satu. Anda dapat mengesampingkan pengaturan seperti
python train.py configs/path_to_your_config --batch_size 8 batch_size akan ditetapkan ke 8 selama pelatihan.
Untuk memvisualisasikan log dengan Tensorboard, jalankan
tensorboard --logdir log_path --bind_allKami menyediakan dua model RES-18 terlatih di Culane dan Tusimple.
| Dataset | Kertas metrik | Metrik repo ini | AVG FPS di GTX 1080Ti | Model |
|---|---|---|---|---|
| Tusimple | 95.87 | 95.82 | 306 | Googledrive/Baidudrive (kode: BGHD) |
| Culane | 68.4 | 69.7 | 324 | Googledrive/Baidudrive (kode: W9TW) |
Untuk evaluasi, jalankan
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 ./tmpSama seperti pelatihan, evaluasi multi-GPU juga didukung.
Kami menyediakan skrip untuk memvisualisasikan hasil deteksi. Jalankan perintah berikut untuk memvisualisasikan pada set pengujian Culane dan 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.pthKarena set pengujian Tusimple tidak dipesan, video yang divisualisasikan mungkin terlihat buruk dan kami tidak merekomendasikan melakukan ini.
Untuk menguji runtime, silakan jalankan
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 inputIni akan mengulang 100 kali dan menghitung rata -rata runtime dan FPS di lingkungan Anda.
@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 }
}
@ARTICLE { qin2022ultrav2 ,
author = { Qin, Zequn and Zhang, Pengyi and Li, Xi } ,
journal = { IEEE Transactions on Pattern Analysis and Machine Intelligence } ,
title = { Ultra Fast Deep Lane Detection With Hybrid Anchor Driven Ordinal Classification } ,
year = { 2022 } ,
volume = { } ,
number = { } ,
pages = { 1-14 } ,
doi = { 10.1109/TPAMI.2022.3182097 }
}Terima kasih ZchrissirHCZ atas kontribusi pada alat kompilasi Culane, Kopisoftware karena berkontribusi pada uji kecepatan, dan USTCLBH untuk pengujian pada platform Windows.