Implementación de Pytorch del documento "Detección de carril profundo consciente de la estructura ultra rápida".
[18 de julio de 2022] Actualizaciones: la nueva versión de nuestro método ha sido aceptada por TPAMI 2022. El código está disponible aquí .
[28 de junio de 2021] Actualizaciones: lanzaremos una versión extendida, que mejora 6.3 puntos de F1 en Culane con la red troncal ResNet-18 en comparación con la versión ECCV.
Actualizaciones: nuestro documento ha sido aceptado por ECCV2020.

El código de evaluación se modifica desde SCNN y Tusimple Benchmark.
El modelo y protottil de CAFFE se pueden encontrar aquí.
Consulte Install.md
En primer lugar, modifique data_root y log_path en sus configs/culane.py o configs/tusimple.py de acuerdo con su entorno.
data_root es la ruta de su conjunto de datos Culane o conjunto de datos Tusimple.log_path es donde se almacenan los registros de Tensorboard, los modelos entrenados y la copia de seguridad de código. Debe colocarse fuera de este proyecto.Para un solo entrenamiento de GPU, corre
python train.py configs/path_to_your_configPara el entrenamiento multi-GPU, ejecute
sh launch_training.sho
python -m torch.distributed.launch --nproc_per_node= $NGPUS train.py configs/path_to_your_configSi no hay un modelo de visión de antorcha previa a la detención, la capacitación de GPU múltiple puede dar lugar a una descarga múltiple. Primero puede descargar los modelos correspondientes manualmente y luego reiniciar la capacitación multi-GPU.
Dado que nuestro código tiene una función de copia de seguridad automática que copiará todos los códigos a log_path de acuerdo con el Gitignore, Gitignore también puede copiar el archivo TEMP adicional si no lo filtra, lo que puede bloquear la ejecución si los archivos TEMP son grandes. Por lo tanto, debe mantener limpio el directorio de trabajo.
Además de la configuración de estilo de configuración, también admitimos el estilo de línea de comandos. Puedes anular una configuración como
python train.py configs/path_to_your_config --batch_size 8 El batch_size se establecerá en 8 durante el entrenamiento.
Para visualizar el registro con TensorBoard, ejecute
tensorboard --logdir log_path --bind_allProporcionamos dos modelos capacitados de res-18 en Culane y Tusimple.
| Conjunto de datos | Papel métrico | Métrica de este repositorio | AVG FPS en GTX 1080TI | Modelo |
|---|---|---|---|---|
| Tusmelo | 95.87 | 95.82 | 306 | Googledrive/Baidudrive (Código: BGHD) |
| Culano | 68.4 | 69.7 | 324 | Googledrive/Baidudrive (Código: W9TW) |
Para la evaluación, ejecutar
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 ./tmpIgual que la capacitación, la evaluación multi-GPU también es compatible.
Proporcionamos un script para visualizar los resultados de detección. Ejecute los siguientes comandos para visualizar el conjunto de pruebas de Culane y 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.pthDado que no se ordena el conjunto de pruebas de Tusimple, el video visualizado puede verse mal y no recomendamos hacer esto.
Para probar el tiempo de ejecución, ejecute
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 inputLlegará 100 veces y calculará el tiempo de ejecución promedio y los FP en su entorno.
@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 }
}Gracias Zchrissirhcz por la contribución a la herramienta de compilación de Culane, Kopisoftware por contribuir a la prueba de velocidad y USTCLBH para probar en la plataforma Windows.