تنفيذ Pytorch للورقة "الكشف العميق في البنية السريعة للغاية".
[18 يوليو ، 2022] التحديثات: تم قبول الإصدار الجديد من طريقتنا بواسطة TPAMI 2022. الرمز متاح هنا .
[28 يونيو ، 2021] التحديثات: سنقوم بإصدار نسخة ممتدة ، والتي تعمل على تحسين 6.3 نقطة من F1 على Culane مع العمود الفقري Resnet-18 مقارنة مع إصدار ECCV.
التحديثات: تم قبول ورقةنا من قبل ECCV2020.

يتم تعديل رمز التقييم من SCNN و Tusimple القياسي.
يمكن العثور على نموذج الكافيين و prototxt هنا.
يرجى الاطلاع على تثبيت
بادئ ذي بدء ، يرجى تعديل data_root و log_path في configs/culane.py أو configs/tusimple.py config وفقًا لبيئتك.
data_root هو مسار مجموعة بيانات Culane أو مجموعة بيانات Tusimple.log_path هو المكان الذي يتم فيه تخزين سجلات Tensorboard والموديلات المدربة والنسخ الاحتياطي للكود. يجب وضعه خارج هذا المشروع.لتدريب وحدة معالجة الرسومات الواحدة ، قم بالتشغيل
python train.py configs/path_to_your_configللتدريب متعدد GPU ، قم بالتشغيل
sh launch_training.shأو
python -m torch.distributed.launch --nproc_per_node= $NGPUS train.py configs/path_to_your_configإذا لم يكن هناك نموذج torchvision المسبق ، فقد يؤدي التدريب متعدد GPU إلى تنزيل متعدد. يمكنك أولاً تنزيل النماذج المقابلة يدويًا ، ثم إعادة تشغيل التدريب متعدد GPU.
نظرًا لأن الكود الخاص بنا يحتوي على وظيفة النسخ الاحتياطي التلقائي التي ستقوم بنسخ جميع الرموز إلى log_path وفقًا لـ Gitignore ، فقد يتم أيضًا نسخ ملف مؤقت إضافي إذا لم يتم ترشيحه بواسطة Gitignore ، والذي قد يحظر التنفيذ إذا كانت ملفات temp كبيرة. لذلك يجب أن تبقي دليل العمل نظيفًا.
إلى جانب إعدادات نمط التكوين ، فإننا ندعم أيضًا نمط سطر الأوامر. يمكنك تجاوز إعداد مثل
python train.py configs/path_to_your_config --batch_size 8 سيتم ضبط batch_size على 8 أثناء التدريب.
لتصور السجل مع Tensorboard ، قم بتشغيل
tensorboard --logdir log_path --bind_allنحن نقدم نموذجين Res-18 المدربين على Culane و Tusimple.
| مجموعة البيانات | ورقة مترية | مقياس هذا الريبو | AVG FPS على GTX 1080TI | نموذج |
|---|---|---|---|---|
| tusimple | 95.87 | 95.82 | 306 | Googledrive/Baidudrive (رمز: BGHD) |
| كولان | 68.4 | 69.7 | 324 | Googledrive/Baidudrive (رمز: W9TW) |
للتقييم ، تشغيل
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 ./tmpمثل التدريب ، يتم دعم تقييم متعدد GPU أيضًا.
نحن نقدم البرنامج النصي لتصور نتائج الكشف. قم بتشغيل الأوامر التالية لتصور مجموعة اختبار Culane و 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نظرًا لأن مجموعة الاختبار من Tusimple لم يتم طلبها ، فقد يبدو الفيديو المصور سيئًا ولا نوصي بالقيام بذلك.
لاختبار وقت التشغيل ، يرجى التشغيل
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 inputسوف يحلق 100 مرة ويحسب متوسط وقت التشغيل و FPS في بيئتك.
@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 }
}شكرًا Zchrissirhcz على المساهمة في أداة ترجمة Culane ، Kopisoftware للمساهمة في اختبار السرعة ، و USTClbH للاختبار على منصة Windows.