الغرض من هذا المشروع الصغير هو إضافة تتبع الكائنات إلى 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 -تهيئة جميع العوامل الفرعية: git submodule update --init --recursive
3 -انتقل إلى Darkflow Directory وقم ببناء مكانه: python3 setup.py build_ext --inplace
قم بتنزيل الأوزان:
اقرأ المزيد عن Yolo (في Darknet) وتنزيل ملفات الوزن هنا ، في حالة عدم العثور على ملف الوزن ، قام Thtrieu بتحميل بعضه هنا ، والذي يشمل yolo-full و yolo-tiny من v1.0 ، tiny-yolo-v1.1 من v1.1 و yolo ، tiny-yolo-voc of v2.
الهندسة المعمارية التي استخدمتها/اختبارها في هذا المشروع هي cfg/yolo.cfg مع الأوزان bin/yolo.weights .
بعد ذلك ، تحتاج إلى تنزيل أوزان Deep_sort هنا (مجلد الشبكات) ، المقدمة من Nwojke
تم إلغاء أوزان Deep_sort التي توفرها Nwojke. يمكنك الحصول عليها من هنا بدلاً من ذلك (بفضل @Louxy126)
استخراج المجلد ونسخه إلى deep_sort/resources
تحرير الأعلام في run.py بعد التكوين الخاص بك:
demo : مسار إلى ملف الفيديو للاستخدام ، قم بتعيينه على "الكاميرا" إذا كنت ترغب في استخدام الكاميرا
model : ما هو تكوين النموذج الذي يجب استخدامه لـ YOLO ، يمكنك الحصول على مزيد من المعلومات وملفات .cfg هنا (ضعها في Darkflow/ CFG/ Folder)
load : الأوزان المقابلة لاستخدامها مع النموذج المختار (ضعها في Darkflow/Bin/) مزيد من المعلومات هنا
threshold : عتبة الوضع لاكتشاف يولو
gpu : ما مقدار وحدة معالجة الرسومات التي يجب استخدامها ، 0 يعني استخدام وحدة المعالجة المركزية
track : لتفعيل التتبع أم لا
trackObj : أي كائنات يجب تتبعها كقائمة (لاحظ أن تشفير Deep_Sort تم تدريبه فقط على الأشخاص ، لذلك تحتاج إلى تدريب المشفر الخاص بك ، ومزيد من المعلومات هنا)
saveVideo : ما إذا كان يجب حفظ الفيديو أم لا
BK_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 إطارات بمزيد من السرعة مع الحفاظ على دقة التتبع "
هذا المشروع يستخدم الرمز المتشعب من:
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}
}