การใช้งาน Pytorch ของกระดาษ
[18 กรกฎาคม 2022] การอัปเดต: เวอร์ชันใหม่ของวิธีการของเราได้รับการยอมรับโดย TPAMI 2022 รหัสมีอยู่ที่นี่
[28 มิถุนายน 2021] การอัปเดต: เราจะเปิดตัวรุ่นขยายซึ่งปรับปรุง 6.3 คะแนนของ F1 บน Culane ด้วย Backbone Resnet-18 เมื่อเทียบกับรุ่น ECCV
การอัปเดต: บทความของเราได้รับการยอมรับจาก ECCV2020

รหัสการประเมินได้รับการแก้ไขจากมาตรฐาน SCNN และ Tusimple
โมเดลคาเฟอีนและ prototxt สามารถพบได้ที่นี่
โปรดดู install.md
ก่อนอื่นโปรดแก้ไข data_root และ log_path ใน configs/culane.py หรือ configs/tusimple.py config ตามสภาพแวดล้อมของคุณ
data_root เป็นเส้นทางของชุดข้อมูล Culane หรือชุดข้อมูล Tusimple ของคุณlog_path เป็นที่ที่บันทึก Tensorboard โมเดลที่ผ่านการฝึกอบรมและการสำรองข้อมูลรหัสจะถูกเก็บไว้ ควรวางไว้นอกโครงการนี้สำหรับการฝึกอบรม GPU เดี่ยววิ่ง
python train.py configs/path_to_your_configสำหรับการฝึกอบรมหลาย GPU Run
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
| ชุดข้อมูล | กระดาษเมตริก | เมตริก repo นี้ | 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