Tujuan dari proyek kecil ini adalah untuk menambahkan pelacakan objek ke YOLOV2 dan mencapai pelacakan objek berganda waktu nyata.
Arsitektur saat ini diatur untuk hanya melacak satu jenis objek, tetapi harus mudah untuk digeneralisasi di atas semua objek.
Saat ini mendukung pelacakan orang (karena bobot yang disediakan untuk Deep_sort dilatih untuk pelacakan orang)
python
numpy
opencv 3
tensorflow 1.0
Cython.
sklean.
Untuk menggunakan Sort:
scikit-learn
scikit-image
FilterPy
1-Kloning repositori ini: git clone https://github.com/bendidi/Tracking-with-darkflow.git
2 -Inisialisasi semua submodul: git submodule update --init --recursive
3 -Pergi ke Direktori Darkflow dan lakukan di tempat Build: python3 setup.py build_ext --inplace
Unduh bobotnya:
Baca lebih lanjut tentang yolo-full yolo-tiny dalam Darknet tiny-yolo-voc tiny-yolo-v1.1 yolo
Artchitecture yang saya gunakan/uji dalam proyek ini adalah cfg/yolo.cfg dengan bobot bin/yolo.weights .
Selanjutnya Anda perlu mengunduh bobot deep_sort di sini (folder jaringan), disediakan oleh nwojke
Bobot deep_sort yang disediakan oleh Nwojke telah dibatalkan. Anda bisa mendapatkannya dari sini sebagai gantinya (terima kasih kepada @louxy126)
Ekstrak folder dan salin ke deep_sort/resources
Edit bendera di run.py mengikuti konfigurasi Anda:
demo : Path to Video File untuk digunakan, atur ke "kamera" jika Anda ingin menggunakan kamera Anda
model : Konfigurasi model apa yang digunakan untuk Yolo, Anda bisa mendapatkan informasi lebih lanjut dan file .cfg di sini (masukkan ke dalam darkflow/ cfg/ folder)
load : Bobot yang sesuai untuk digunakan dengan model yang dipilih (masukkan ke dalam darkflow/bin/) info lebih lanjut di sini
threshold : Ambang Deteksi Yolo Deteksi
gpu : Berapa banyak GPU untuk digunakan, 0 berarti menggunakan CPU
track : Untuk mengaktifkan pelacakan atau tidak
trackObj : Objek mana yang akan dilacak sebagai daftar (perhatikan bahwa encoder Deep_sort hanya dilatih pada orang, jadi Anda perlu melatih enkoder Anda sendiri, informasi lebih lanjut di sini)
saveVideo : apakah akan menyimpan video atau tidak
BK_MOG : Tambahkan modul pengurangan latar belakang MOG OpenCV, hanya berguna saat yolo tidak dapat mendeteksi orang dalam video (kualitas rendah, ...) Gunakan untuk mendeteksi kotak di sekitar objek yang bergerak
tracker : pelacak mana yang akan digunakan: "deep_sort" atau "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 : Lewati frame untuk meningkatkan FPS, mungkin mengurangi akurasi!
csv : Simpan file deteksi CSV dalam format (frame_id, object_id, x, y, w, h)
display : Tampilkan video saat diproses atau tidak
Selanjutnya Anda hanya perlu menjalankan python run.py , dan nikmati!
`kecepatan menggunakan 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
Tes yang dilakukan pada (1024, 1280, 3) Video Resolusi di NVIDIA GTX 1080
Melewati hingga 3 frame memungkinkan untuk mempercepat lebih lanjut sambil menjaga akurasi pelacakan`
Proyek ini menggunakan kode yang dilipat dari:
Thtrieu/Darkflow: Untuk deteksi dan klasifikasi objek real-time.
nwojke/deep_sort: Untuk pelacakan realtime online sederhana dengan metrik asosiasi yang dalam.
Harap ikuti tautan untuk mendapatkan pemahaman tentang semua fitur dari setiap proyek.
@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}
}