วัตถุประสงค์ของโครงการเล็ก ๆ นี้คือการเพิ่มการติดตามวัตถุไปยัง YOLOV2 และบรรลุการติดตามวัตถุหลายครั้งแบบเรียลไทม์
สถาปัตยกรรมปัจจุบันถูกตั้งค่าให้ติดตามวัตถุประเภทหนึ่งเท่านั้น แต่ควรจะสรุปได้ง่ายกว่าวัตถุทั้งหมด
ปัจจุบันสนับสนุนการติดตามผู้คน (เนื่องจากน้ำหนักที่ให้ไว้สำหรับ Deep_sort ได้รับการฝึกอบรมเกี่ยวกับการติดตามผู้คน)
python
numpy
opencv 3
tensorflow 1.0
Cython.
sklean.
สำหรับการใช้การเรียงลำดับ:
scikit-learn
scikit-image
FilterPy
1-โคลนที่เก็บนี้: git clone https://github.com/bendidi/Tracking-with-darkflow.git
2 -เริ่มต้น submodules ทั้งหมด: git submodule update --init --recursive
3 -ไปที่ Darkflow Directory และทำในสถานที่ Build: python3 setup.py build_ext --inplace
ดาวน์โหลดน้ำหนัก:
อ่านเพิ่มเติมเกี่ยวกับ yolo (ใน Darknet) และดาวน์โหลดไฟล์น้ำหนักที่นี่ในกรณีที่ไม่สามารถพบไฟล์น้ำหนักได้ Thtrieu ได้อัปโหลดบางส่วนของเขาที่นี่ซึ่งรวมถึง yolo-full และ yolo-tiny ของ v1.0, tiny-yolo-v1.1 ของ V1.1 และ yolo , V2 tiny-yolo-voc
artchitecture ที่ฉันใช้/ทดสอบในโครงการนี้คือ cfg/yolo.cfg พร้อมน้ำหนัก bin/yolo.weights
ถัดไปคุณต้องดาวน์โหลดน้ำหนัก deep_sort ที่นี่ (โฟลเดอร์เครือข่าย) จัดทำโดย nwojke
น้ำหนัก Deep_sort ที่จัดทำโดย Nwojke ถูกยกเลิก คุณสามารถรับได้จากที่นี่แทน (ขอบคุณ @louxy126)
แยกโฟลเดอร์และคัดลอกไปยัง deep_sort/resources
แก้ไขธงใน run.py หลังจากการกำหนดค่าของคุณ:
demo : เส้นทางไปยังวิดีโอที่ใช้ให้ตั้งค่าเป็น "กล้อง" หากคุณต้องการใช้กล้องของคุณ
model : การกำหนดค่าโมเดลใดที่จะใช้สำหรับ YOLO คุณสามารถรับข้อมูลเพิ่มเติมและไฟล์. cfg ได้ที่นี่ (ใส่ใน DarkFlow/ CFG/ โฟลเดอร์)
load : น้ำหนักที่สอดคล้องกันที่จะใช้กับโมเดลที่เลือก (วางไว้ใน darkflow/bin/) ข้อมูลเพิ่มเติมที่นี่
threshold : เกณฑ์ความเชื่อมั่นของการตรวจจับ YOLO
gpu : GPU ใช้เท่าไหร่ 0 หมายถึงใช้ CPU
track : เพื่อเปิดใช้งานการติดตามหรือไม่
trackObj : วัตถุใดที่จะติดตามเป็นรายการ (สังเกตว่า encoder ของ Deep_sort ได้รับการฝึกฝนเกี่ยวกับผู้คนเท่านั้นดังนั้นคุณต้องฝึกอบรมตัวเข้ารหัสของคุณเองข้อมูลเพิ่มเติมที่นี่)
saveVideo : ไม่ว่าจะบันทึกวิดีโอหรือไม่
BK_MOG : เพิ่มโมดูลการลบพื้นหลัง MOG ของ OpenCV มีประโยชน์เฉพาะเมื่อ YOLO ไม่สามารถตรวจจับคนในวิดีโอ (คุณภาพต่ำ ... ) ใช้เพื่อตรวจจับกล่องรอบวัตถุที่เคลื่อนที่
tracker : ตัวติดตามใดที่จะใช้: "deep_sort" หรือ "เรียงลำดับ"
**NOTE** : "deep_sort" only supports people tracking as it was only trained to track people(the code for training is not yet published)
**TODO** : add support for GOTURN tracker(tensorflow implementation)
**TODO** : add support for opencv trackers (MIL,KCF,TLD,MEDIANFLOW)
skip : ข้ามเฟรมเพื่อเพิ่ม FPS อาจลดความแม่นยำ!
csv : บันทึกไฟล์ csv ของการตรวจจับในรูปแบบ (frame_id, object_id, x, y, w, h)
display : แสดงวิดีโอขณะประมวลผลหรือไม่
ต่อไปคุณแค่ต้องใช้ python run.py และสนุก!
`ความเร็วในการใช้ yolo.cfg:
YOLO with track Flag set to False : 30fps
YOLO with track Flag set to True (deep_sort) : 14 fps
YOLO with track and background subtraction Flags set to True : 10.5 fps
การทดสอบทำบน (1024, 1280, 3) วิดีโอความละเอียดบน Nvidia GTX 1080
การข้ามไปถึง 3 เฟรมช่วยให้เพิ่มความเร็วได้มากขึ้นในขณะที่รักษาความถูกต้องของการติดตาม '
โครงการนี้ใช้ Code Forked จาก:
thtrieu/darkflow: สำหรับการตรวจจับวัตถุแบบเรียลไทม์และการจำแนกประเภท
nwojke/deep_sort: สำหรับการติดตามแบบเรียลไทม์ออนไลน์อย่างง่ายด้วยตัวชี้วัดการเชื่อมโยงลึก
โปรดติดตามลิงก์เพื่อทำความเข้าใจกับคุณสมบัติทั้งหมดของแต่ละโครงการ
@article{redmon2016yolo9000,
title={YOLO9000: Better, Faster, Stronger},
author={Redmon, Joseph and Farhadi, Ali},
journal={arXiv preprint arXiv:1612.08242},
year={2016}
}
@article{Wojke2017simple,
title={Simple Online and Realtime Tracking with a Deep Association Metric},
author={Wojke, Nicolai and Bewley, Alex and Paulus, Dietrich},
journal={arXiv preprint arXiv:1703.07402},
year={2017}
}
@inproceedings{Bewley2016_sort,
author={Bewley, Alex and Ge, Zongyuan and Ott, Lionel and Ramos, Fabio and Upcroft, Ben},
booktitle={2016 IEEE International Conference on Image Processing (ICIP)},
title={Simple online and realtime tracking},
year={2016},
pages={3464-3468},
keywords={Benchmark testing;Complexity theory;Detectors;Kalman filters;Target tracking;Visualization;Computer Vision;Data Association;Detection;Multiple Object Tracking},
doi={10.1109/ICIP.2016.7533003}
}