Object Tracking
Nesne izleme, video kareleri boyunca tespitleri eşleştirir ve hareket ile örtüşme boyunca her nesneye kalıcı bir kimlik atar. İzleyicilerin nasıl çalıştığını ve kodu öğren.
Nesne takibi, ardışık video karelerindeki nesnelerin konumlarını belirleyip bu konumları yörüngeler hâlinde ilişkilendiren ve her nesneye kalıcı bir kimlik atayan bir bilgisayarlı görü görevidir. Kadraja 7 numaralı kimlikle giren bir araba, hareket ederken, dönerken ve kısa süreliğine bir otobüsün arkasında kalırken de 7 numaralı kimliği korur. Bu sayede sistem arabayı bir kez sayabilir, hızını ölçebilir ve nereye gittiği hakkında çıkarım yapabilir. Tek nesne takibi, ilk karede seçilen tek bir hedefi izlerken uygulamada en yaygın biçim olan çoklu nesne takibi (MOT), ilgi duyulan sınıflardaki tüm nesneleri aynı anda izler.
Nesne Takibi Nasıl Çalışır?#
Çoğu çoklu nesne izleyici, tespit üzerinden izleme yaklaşımını kullanır: Bir nesne tespiti modeli her karedeki nesneleri bulur, izleyici de bu tespitleri zaman içinde ilişkilendirir. İzleyicinin araçları arasında genellikle bir Kalman filtresi olan hareket modeli, Birleşim Üzerine Kesişim (IoU) ile ölçülen kutu örtüşmesi, bir nesne yeniden tanımlama (Re-ID) modelinden alınabilen görünüm gömmeleri ve Macar algoritması gibi doğrusal atama çözücüleri bulunur. Her karede dört adım uygular:
- Tahmin et: Sabit hız varsayımı kullanan Kalman filtresi, mevcut her izleme kutusunun yeni karede nerede görüneceğini tahmin eder.
- Puanla: İzleyici; IoU, hareket ve bazı izleyicilerde görünüm benzerliğini kullanarak tahmin edilen izlemeler ile yeni tespitler arasında bir maliyet matrisi oluşturur.
- Eşleştir: Çözücü, maliyeti en düşük bire bir eşleşmeleri seçer.
- İzlemeleri yönet: Eşleşen izlemelerin durumu güncellenir, güvenilir ve eşleşmemiş tespitler yeni izlemeler başlatır. Eşleşmemiş izlemeler, örtülme sonrasında yeniden bulunabilmeleri için belirli sayıda kare boyunca "kayıp" olarak tutulur.
Tespitlerin birkaç kare boyunca kaybolması durumunda kimlikleri sabit tutan, yaşam döngüsü adımıdır:
Temel tasarım, 2016'da yalnızca Kalman filtresi, IoU maliyetleri ve Macar algoritmasını kullanan SORT ile ortaya çıktı. DeepSORT, örtülme sonrasında kimlikleri kurtarmak için görünüm özellikleri ekledi. ByteTrack ise genellikle kısmen örtülmüş nesnelere ait olan düşük güvenli tespitleri ikinci bir geçişte de eşleştirerek duyarlılığı artırdı. Sonraki izleyiciler, hareketli kameralar için kamera hareketi telafisi ve kalabalıklar için daha gelişmiş eşleştirme kuralları ekledi.
Takip ve Tespit#
Bir dedektör durumsuzdur: Her kareyi bağımsız işler, bu nedenle 1. karedeki araba ile 2. karedeki araba birbiriyle ilişkili olmayan tespitlerdir. Takip, kareler arasında kimlikleri taşıyan bir durum ekler; sayım, bekleme süresi ve hız tahmini buna bağlıdır. Takip; etiketli nesneler hâlinde gruplandırma yapmadan tek tek pikselleri veya yüzey noktalarını izleyen nokta takibinden ve optik akıştan da farklıdır.
Ultralytics YOLO'nun izleme modu, bu durumu her türlü YOLO26 algılama, segmentasyon, poz veya yönelimli kutu modeline ekler. ByteTrack, BoT-SORT ve varsayılan TrackTrack'in de aralarında bulunduğu yerleşik altı izleyici sunar:
from ultralytics import YOLO
# Load a YOLO26 detector; track() pairs it with a tracker that assigns persistent IDs
model = YOLO("yolo26n.pt")
detections, track_ids = 0, set()
for result in model.track(
"https://github.com/ultralytics/assets/releases/download/v0.0.0/decelera_portrait_min.mov", stream=True
):
detections += len(result.boxes)
if result.boxes.is_track:
track_ids.update(result.boxes.id.int().tolist())
print(f"Detections summed over all frames: {detections}")
print(f"Unique tracked objects: {len(track_ids)}")Benzersiz kimlik sayısı, tespitlerin toplamından düşüktür; çünkü her kimlik, göründüğü tüm karelerde tek bir nesneyi temsil eder.
Gerçek Dünya Uygulamaları#
- Trafik izleme ve hız tahmini: Her aracın kareler boyunca izlenmesi; sayımı, şerit düzeyinde akış analizini ve bir izlemenin saniyede katettiği mesafeden hız tahmini yapılmasını sağlar.
- Perakende analitiği: Mağaza kameraları, aynı kişiyi iki kez saymadan ziyaretçi sayısını, kuyruk uzunluğunu ve vitrinlerin önündeki bekleme süresini ölçmek için müşterileri izler.
- Spor analizi: Yayıncılar ve antrenörler, kat edilen mesafeyi, hızı ve takım dizilişlerini hesaplamak için oyuncuları ve topu izler.
- Otonom araçlar ve robotik: Algı sistemleri, hızlarını tahmin etmek ve bir sonraki saniye nerede olacaklarını öngörmek için yayaları ve araçları izler.
Takip Kalitesini Ölçme#
İzleyiciler; kıyaslama veri kümeleri arasında MOT17, yoğun kalabalıklar için MOT20 ve birbirine benzeyen, öngörülemez biçimde hareket eden kişiler için DanceTrack gibi veri kümelerinde karşılaştırılır. MOTA; kaçırmaları, yanlış pozitifleri ve kimlik değişimlerini, tespit kalitesinin baskın olduğu tek bir puanda toplar. IDF1, her gerçek nesnenin tek bir kimliği ne ölçüde tutarlı biçimde koruduğunu ölçer. HOTA ise tespit doğruluğu ile eşleştirme doğruluğunun geometrik ortalaması olarak ikisini dengeler.










