Yolo Nesne Takip Uygulaması Aynı Sınıftaki Nesnelerin Takibi Yardım


#1

Nesne takip uygulaması yapmaya çalışıyorum. Bir gui oluşturdum, datasetteki nesnelerden hangisine basarsam onu(servo yardımıyla) takip ediyor fakat birkaç sorunum var.
Aynı sınıftan nesneler olunca onlara farklı isimler veremiyorum(mesela iki tane insan bir şişe bir de köpek olsun; person0, person1,dog0,bottle0 olarak yapabilirsem eğer ben bir buton ile diğer insana geçebileceğim). Bunu ben basit bir yöntemle bir sürü if kullanarak başarmıştım fakat daha stabil ve her sonuç için kullanılabilecek bir yöntem aklıma gelmedi. Bir başka problem de şu ki person0 hangisi person1 hangisi olacak bilmiyorum(Yaptığımda confidence oranı hangisinin yüksek ise ona 0 diyordu fakat burada şu olay oluyorki anlık olarak diğer insanın confidence oranı daha yüksek çıkabiliyor ve servo bu sefer diğer insanı takip ediyor). Algoritma olarak yardım edebilirseniz çok sevinirim.
Kodu görmek isterseniz atabilirim, iyi günler.


#2

Takip başka tespit başka bir şeydir
tespitte her resimde o nesnene konumlarını bulursun YOLO nun yaptığı budur.
takipde bir önceki resimde filanca konumdaki nesnenin şimdiki resimdeki konumu tespit etmeye çalışırsın

Çoklu nesne takibi de dahada zordur ki bir önceki resimde takip edilin her bir nesnenin bir sonrakindeki konumlarını bulman lazım

OpenCv nin takp üzerine bir bölümü var orda hazırlanmış metodları deneyebilirsin

https://docs.opencv.org/3.3.1/d9/df8/group__tracking.html


#3

Bunun için araya bir process daha eklemen gerekiyor. Object Tracker algoritmaları ile bunu çözebilirsin birçok alternatif algoritma mevcut Birol Bey bunları paylaşmış. Sana önerim KCF (Kernelized Correlation Filter) algoritması olacaktır bir çok programlama dili için OpenCV implementasyonu mevcut.

https://docs.opencv.org/3.4/d2/dff/classcv_1_1TrackerKCF.html

Alternatif olarak aşağıdaki yöntemlere de göz atabilirsin.

https://github.com/abewley/sort ve https://github.com/bendidi/Tracking-with-darkflow