Mise en œuvre du Pytorch du papier "Ultra Fast-Aware Deep Lane Detection".
[18 juillet 2022] Mises à jour: La nouvelle version de notre méthode a été acceptée par TPAMI 2022. Le code est disponible ici .
[28 juin 2021] Mises à jour: nous publierons une version étendue, qui améliore 6,3 points de F1 sur Culane avec l'épine dorsale RESNET-18 par rapport à la version ECCV.
Mises à jour: Notre article a été accepté par ECCV2020.

Le code d'évaluation est modifié à partir de SCNN et de référence Tusimple.
Le modèle CAFE et Prototxt peuvent être trouvés ici.
Veuillez consulter l'installation.md
Tout d'abord, veuillez modifier data_root et log_path dans votre configuration configs/culane.py ou configs/tusimple.py en fonction de votre environnement.
data_root est le chemin d'accès de votre ensemble de données Culane ou de votre ensemble de données Tusimple.log_path est l'endroit où les journaux Tensorboard, les modèles formés et la sauvegarde de code sont stockés. Il doit être placé en dehors de ce projet.Pour une formation GPU unique, courez
python train.py configs/path_to_your_configPour une formation multi-GPU, courez
sh launch_training.shou
python -m torch.distributed.launch --nproc_per_node= $NGPUS train.py configs/path_to_your_configS'il n'y a pas de modèle TorchVision pré-entraîné, la formation multi-GPU peut entraîner un téléchargement multiple. Vous pouvez d'abord télécharger les modèles correspondants manuellement, puis redémarrer la formation multi-GPU.
Étant donné que notre code a une fonction de sauvegarde automatique qui copiera tous les codes sur log_path en fonction du gitignore, le fichier temporaire supplémentaire peut également être copié s'il n'est pas filtré par Gitignore, ce qui peut bloquer l'exécution si les fichiers temporaires sont grands. Vous devez donc garder le répertoire de travail propre.
Outre les paramètres de style config, nous prenons également en charge le style de ligne de commande. Vous pouvez remplacer un paramètre comme
python train.py configs/path_to_your_config --batch_size 8 Le batch_size sera réglé sur 8 pendant la formation.
Pour visualiser le journal avec Tensorboard, exécutez
tensorboard --logdir log_path --bind_allNous fournissons deux modèles RES-18 formés sur Culane et Tusimple.
| Ensemble de données | Papier métrique | Métrique ce repo | AVG FPS sur GTX 1080TI | Modèle |
|---|---|---|---|---|
| Tusimple | 95.87 | 95,82 | 306 | Googledrive / baidudrive (code: BGHD) |
| Culane | 68.4 | 69.7 | 324 | Googledrive / baidudrive (code: w9tw) |
Pour évaluation, exécutez
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 ./tmpIdentique à la formation, l'évaluation multi-GPU est également soutenue.
Nous fournissons un script pour visualiser les résultats de détection. Exécutez les commandes suivantes pour visualiser sur l'ensemble de test de Culane et 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.pthÉtant donné que l'ensemble de tests de Tusimple n'est pas commandé, la vidéo visualisée peut être mauvaise et nous ne recommandons pas de le faire.
Pour tester l'exécution, veuillez exécuter
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 inputIl bouclera 100 fois et calculera l'exécution moyenne et les FP dans votre environnement.
@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 }
}Merci Zchrissirhcz pour la contribution à l'outil de compilation de Culane, Kopisoftware pour avoir contribué au test de vitesse et USTCLBH pour les tests sur la plate-forme Windows.