นี่คือรหัสสำหรับกระดาษ
การประเมินโครงข่ายประสาทเชิงลึกสำหรับระบบตรวจจับสัญญาณจราจร
Álvaro Arcos-García, Juan Antonio Álvarez-García, Luis M. Soria-Morillo
บทความนี้กล่าวถึงปัญหาการตรวจจับป้ายจราจรโดยวิเคราะห์ความล้ำสมัยของระบบตรวจจับวัตถุต่างๆ (Faster R-CNN, R-FCN, SSD และ YOLO V2) รวมกับตัวแยกคุณสมบัติต่างๆ (Resnet V1 50, Resnet V1 101, Inception V2, Inception Resnet V2, Mobilenet V1 และ Darknet-19) เรามุ่งหวังที่จะสำรวจคุณสมบัติของแบบจำลองการตรวจจับวัตถุเหล่านี้ ซึ่งได้รับการดัดแปลงและปรับให้เข้ากับขอบเขตปัญหาการตรวจจับเครื่องหมายจราจรโดยเฉพาะโดยการถ่ายโอนการเรียนรู้ โดยเฉพาะอย่างยิ่ง โมเดลการตรวจจับวัตถุที่เปิดเผยต่อสาธารณะต่างๆ ที่ได้รับการฝึกอบรมล่วงหน้าในชุดข้อมูล Microsoft COCO ได้รับการปรับแต่งอย่างละเอียดในชุดข้อมูลเกณฑ์มาตรฐานการตรวจจับป้ายจราจรของเยอรมัน การประเมินและการเปรียบเทียบโมเดลเหล่านี้ประกอบด้วยตัวชี้วัดที่สำคัญ เช่น ความแม่นยำเฉลี่ยเฉลี่ย (mAP) การจัดสรรหน่วยความจำ เวลาทำงาน จำนวนการดำเนินการจุดลอยตัว จำนวนพารามิเตอร์ของโมเดล และผลกระทบของขนาดภาพป้ายจราจร
เราให้บริการ:
หากคุณพบว่าโค้ดนี้มีประโยชน์ในการวิจัยของคุณ โปรดอ้างอิง:
"Evaluation of deep neural networks for traffic sign detection systems."
Álvaro Arcos-García, Juan A. Álvarez-García, Luis M. Soria-Morillo. Neurocomputing 316 (2018) 332-344.
[ลิงค์][บิบเท็กซ์]
โปรเจ็กต์นี้นำไปใช้ใน Tensorflow และอิงตามที่เก็บ 2 แห่ง: Tensorflow Object Detection API และ darkflow
คุณสามารถดาวน์โหลด TFRecords ของชุดข้อมูล GTSDB ได้จาก Google Drive แตกไฟล์ไปที่โฟลเดอร์ gtsdb_data
คุณสามารถดาวน์โหลดโมเดลก่อนการฝึกได้จาก Google Drive แตกไฟล์เหล่านั้นไปยังโฟลเดอร์ models
การค้นพบของเราแสดงให้เห็นว่า R-CNN Inception Resnet V2 ที่เร็วขึ้นได้รับ mAP ที่ดีที่สุด ในขณะที่ R-FCN Resnet 101 จะให้การแลกเปลี่ยนที่ดีที่สุดระหว่างความแม่นยำและเวลาดำเนินการ YOLO V2 และ SSD Mobilenet ได้รับการยกย่องเป็นพิเศษ โดยรุ่นแรกได้รับผลลัพธ์ที่แม่นยำในการแข่งขันและเป็นเครื่องตรวจจับที่เร็วที่สุดเป็นอันดับสอง ในขณะที่รุ่นหลังเป็นรุ่นที่เร็วและเบาที่สุดในแง่ของการใช้หน่วยความจำ ทำให้เป็นตัวเลือกที่เหมาะสมที่สุดสำหรับการปรับใช้ใน อุปกรณ์เคลื่อนที่และอุปกรณ์ฝังตัว
แบบอย่าง | แผนที่ | พารามิเตอร์ | ล้มเหลว | memory_mb | Total_exec_millis | accelerator_exec_millis | cpu_exec_millis |
---|---|---|---|---|---|---|---|
R-CNN Resnet 50 ที่เร็วขึ้น | 91.52 | 43337242 | 533575386662 | 5256.454615 | 104.0363553 | 75.93395395 | 28.10240132 |
R-CNN Resnet 101 ที่เร็วขึ้น | 95.08 | 62381593 | 625779295782 | 6134.705805 | 123.2729175 | 90.33714433 | 32.9357732 |
R-CNN Inception V2 ที่เร็วขึ้น | 90.62 | 12891249 | 120621363525 | 2175.206857 | 58.53338971 | 38.76813971 | 19.76525 |
R-CNN Inception Resnet V2 ที่เร็วขึ้น | 95.77 | 59412281 | 1837544257834 | 18250.446008 | 442.2206796 | 366.1586796 | 76062 |
R-FCN เรสเน็ต 101 | 95.15 | 64594585 | 269898731281 | 3509.75153 | 85.45207971 | 52.40321739 | 33.04886232 |
SSD มือถือเน็ต | 61.64 | 5572809 | 2300721483 | 94.696119 | 15.14525 | 4.021267857 | 11.12398214 |
SSD การเริ่มต้น V2 | 66.10 | 13474849 | 7594247747 | 284.512918 | 23.74428378 | 9.393405405 | 14.35087838 |
โยโล V2 | 78.83 | 50588958 | 62780021160 | 1318.108256 | 21.4810122 | 18.13923171 | 3.341780488 |
แบบอย่าง | เล็ก | ปานกลาง | ใหญ่ |
---|---|---|---|
R-CNN Resnet 50 ที่เร็วขึ้น | 53.57 | 86.95 | 86.72 |
R-CNN Resnet 101 ที่เร็วขึ้น | 70.89 | 94.17 | 88.87 |
R-CNN Inception V2 ที่เร็วขึ้น | 56.72 | 81.02 | 88.53 |
R-CNN Inception Resnet V2 ที่เร็วขึ้น | 68.60 | 86.62 | 82.10 |
R-FCN เรสเน็ต 101 | 60.37 | 82.03 | 79.56 |
SSD มือถือเน็ต | 22.13 | 55.32 | 82.06 |
SSD การเริ่มต้น V2 | 26.85 | 64.71 | 78.76 |
โยโล V2 | 42.93 | 78.99 | 75.67 |
เรามอบคำแนะนำให้กับ Jupyter Notebook เพื่อเรียกใช้โมเดลที่ได้รับการฝึกอบรมล่วงหน้ากับอิมเมจใหม่
ไฟล์กำหนดค่าที่จำเป็นในการฝึกโมเดลของเราจะรวมอยู่ในไฟล์ ZIP แต่ละไฟล์ที่คุณสามารถดาวน์โหลดได้จากส่วนโมเดลที่ได้รับการฝึกล่วงหน้า มีการเปลี่ยนแปลงเล็กน้อยกับซอร์สโค้ดพื้นฐานของ tensorflow และ darkflow ดังนั้นคุณจึงควรทำซ้ำผลลัพธ์ของเราโดยใช้เวอร์ชันล่าสุดของที่เก็บข้อมูลข้างต้น ตัวอย่างเช่น ในการฝึกโมเดล SDD Mobilenet คุณสามารถเรียกใช้บรรทัดคำสั่งต่อไปนี้:
cd ~ /tensorflow/models/research
python3 object_detection/train.py --logtostderr --pipeline_config_path models/ssd_mobilenet_v1/ssd_mobilenet_v1_gtsdb3.config --train_dir models/ssd_mobilenet_v1/train/
เรามีคำแนะนำใน Jupyter Notebook เพื่อประเมินผลลัพธ์ที่ได้รับจากโมเดลที่ผ่านการฝึกอบรมมาแล้วของเรา
ซอร์สโค้ดของโปรเจ็กต์นี้อิงตาม Tensorflow Object Detection API และ darkflow เป็นหลัก