En iyi 8 açık kaynaklı nesne izleme aracı ve algoritması
Gerçek zamanlı video analizi için öne çıkan 8 açık kaynaklı nesne izleme aracını keşfet. Her birinin nasıl çalıştığını ve projen için doğru aracı nasıl seçeceğini gör.
Abirami Vina10 dakikalık okuma
Bir araba kırmızı ışıkta geçtiğinde sürücüye otomatik olarak ceza gönderilmesi veya bir futbolcu sahada top sürerken kameranın oyunu akıcı biçimde takip etmesi gibi durumlarda, yapay zekâ arka planda sessizce çalışır. Özellikle bu sistemler, makinelerin dünyadaki görsel bilgileri görmesini, yorumlamasını ve anlamasını sağlayan bir yapay zekâ alt alanı olan bilgisayarlı görüye dayanır.
Bilgisayarlı görü içindeki bu uygulamaların temel görevlerinden biri nesne takibidir. Bu görev, bir videonun her karesindeki nesneleri belirlemek ve ardından nesneler hareket ederken, diğerleriyle üst üste gelirken veya yön değiştirirken onları takip etmek için kullanılır.
Günümüzde farklı kullanım durumları, performans gereksinimleri ve karmaşıklık düzeyleri için tasarlanmış birçok nesne takip aracı ve algoritması bulunuyor. Bazıları hıza odaklanır ve gerçek zamanlı olarak onlarca nesneyi takip edebilir; bazılarıysa örtülme, hızlı hareket veya düşük aydınlatma gibi zorlu koşullarda doğruluğa ya da uzun vadeli kararlılığa öncelik verir.
Özellikle açık kaynaklı projeler bu alanın ilerlemesinde önemli bir rol oynadı. Kodlarına herkesin erişebilmesi sayesinde geliştiriciler ve araştırmacılar, bu projelerin nasıl çalıştığını inceleyebilir, mevcut yöntemleri geliştirebilir ve yöntemleri yeni uygulamalara uyarlayabilir. Bu açıklık, nesne takibinin hızla gelişmesine ve gerçek dünya sistemlerine daha kolay entegre edilmesine yardımcı oldu.
Bu makalede, açık kaynaklı sekiz popüler nesne izleme aracını ve algoritmasını inceleyeceğiz.
Nesne takibi nedir?#
Bir güvenlik görevlisinin otoparkın CCTV görüntülerini izlediği bir senaryo düşün. Görevli, kırmızı bir arabayı gözlemlemeye karar veriyor. Video ilerledikçe bu arabayı zihninde işaretliyor ve başka arabalar yanından geçse veya insanlar önünden yürüse bile arabanın gittiği her yeri takip ediyor.
Yapay zekâ destekli nesne takibi de benzer şekilde çalışır, ancak otomatik olarak ve büyük ölçekte işler. Başka bir deyişle nesne takibi, bir nesnenin video kareleri boyunca hareket ederken izlenmesi ve kimliğinin bir kareden diğerine tutarlı biçimde korunması sürecidir.
Birçok sistemde süreç, her karedeki insan, araç veya yol işareti gibi nesneleri bulan ve etiketleyen nesne algılamayla başlar. Ardından nesneler hareket ederken, görünürken, kaybolurken veya üst üste gelirken takip sistemi, hangi nesnenin hangisi olduğunu ve her birinin zaman içinde nereye gittiğini belirleyebilmek için algılamaları kareler arasında ilişkilendirir.

Şekil 1. Nesne takibine bakış (Kaynak)
İki yaygın izleme türü vardır: tek nesne izleme (SOT), tek bir ana nesneye odaklanır (örneğin, bir spor videosunda yalnızca topu izlemek); çoklu nesne izleme (MOT) ise aynı anda birçok nesneyi takip eder ve her birine benzersiz bir kimlik atar (örneğin, işlek bir kavşaktaki tüm otomobilleri izlemek).
Takip türü ne olursa olsun çoğu sistem üç temel bileşene dayanır: her karedeki nesneleri bulan bir algılayıcı, bu nesnelerin nasıl hareket edeceğini tahmin eden bir hareket modeli ve yeni algılamaları daha önce takip edilen nesnelerle eşleştiren bir adım. Bu bileşenler, ham videoyu nesnelerin zaman içindeki hareketleri ve etkileşimleri hakkında anlamlı bilgilere dönüştürür.
Açık kaynaklı nesne takip araçlarına duyulan ihtiyaç#
Ayrıntılara geçmeden önce şunu merak ediyor olabilirsin: Açık kaynaklı nesne takip araçlarını ve algoritmalarını bu kadar özel kılan ne?
Açık kaynaklı araçlar, nesne takibinin kullanımını kolaylaştırmada ve daha geniş kitlelere ulaştırmada önemli bir rol oynadı. Kod açık olduğundan geliştiriciler ve araştırmacılar, bir takip aracının nasıl çalıştığını tam olarak görebilir, ondan öğrenebilir ve onu bir kara kutu gibi görmek yerine kendi projelerine uyarlayabilir.
Bu araçlar güçlü topluluklardan da yararlanır. Birçok açık kaynaklı takip aracı; yeni özellikler ekleyen, hızı ve doğruluğu artıran, hataları düzelten ve araçları en güncel araştırmalarla uyumlu tutan aktif katkıcılar tarafından sürdürülür. Bu sürekli iş birliği, araçların farklı uygulamalarda güvenilir ve yararlı kalmasına yardımcı olur.
Maliyet, önemli olmalarının bir başka büyük nedeni. Açık kaynaklı araçlar ücretsiz olduğundan öğrenciler, startup'lar ve küçük ekipler lisans ücretleri veya abonelik maliyetleri konusunda endişelenmeden denemeler yapabilir, prototip geliştirebilir ve gerçek sistemler oluşturabilir.
En iyi 8 açık kaynaklı nesne izleme aracı ve algoritması#
İzleme sistemleri oluşturmak için bugün çok çeşitli açık kaynaklı seçenekler mevcut. Bazıları doğrudan iş akışına ekleyebileceğin izleme algoritmaları veya modelleriyken, diğerleri bu modelleri çalıştırmayı, yönetmeyi ve entegre etmeyi kolaylaştıran kütüphaneler ve çerçevelerdir. Birlikte, temel izleme mantığından gerçek bir projede ihtiyaç duyacağın yardımcı araçlara kadar her şeyi kapsarlar.
Şimdi, nesne izleme için popüler sekiz açık kaynaklı araca ve algoritmaya göz atalım.
1. Ultralytics YOLO modelleri ve Ultralytics Python paketi#
Nesne izlemenin en kolay ve pratik yollarından biri, Ultralytics YOLO modellerini Ultralytics Python paketiyle birlikte kullanmaktır. Ultralytics YOLO11 ve daha yeni Ultralytics YOLO26 gibi Ultralytics YOLO modelleri; nesne algılama, örnek segmentasyonu, poz tahmini ve nesne izleme dâhil çeşitli görsel görevlerini destekleyen bilgisayarlı görü modelleridir.

Şekil 2. Nesneleri algılamak ve izlemek için YOLO11 kullanımına bir örnek. (Kaynak)
İlginç bir şekilde modellerin kendileri, kareler boyunca nesneleri izlemez. Bunun yerine Ultralytics YOLO modellerini çalıştırmayı ve dağıtmayı kolaylaştıran bir kütüphane olan Ultralytics Python paketi; YOLO'nun kare bazında algılamalarını BoT-SORT ve ByteTrack gibi özel çoklu nesne izleme algoritmalarıyla birleştirerek izlemeyi mümkün kılar.
Yerleşik izleme özelliği sayesinde Ultralytics paketi ve Ultralytics YOLO modelleri, her karedeki nesneleri algılamak ve ardından nesneler hareket ederken, üst üste binerken, kareden çıkıp daha sonra yeniden girerken onları takip edebilmek için tutarlı kimlikler atamak üzere kullanılabilir. Bu yaklaşım, üretim ve perakende gibi sektörlerde giderek daha fazla benimseniyor; kusur denetimi iş akışları, envanter akışını izleme ve mağaza içi müşteri takibi gibi uygulamaları mümkün kılıyor.
2. OpenCV izleyicileri#
OpenCV, nesne izleme algoritmalarından oluşan bir koleksiyon içeren kapsamlı bir bilgisayarlı görü kütüphanesidir. Bu kütüphane, 1999'dan beri OpenCV topluluğu tarafından geliştirilmekte ve sürdürülmektedir.
Derin öğrenmeye dayanmaktan ziyade, bu izleyicilerin çoğu korelasyon filtreleri ve çekirdek tabanlı teknikler gibi geleneksel bilgisayarlı görü yöntemlerini kullanır (bu yöntemler, sinir ağlarıyla özellik öğrenmek yerine, renk ve doku gibi görsel görünümü kareden kareye eşleştirerek nesneyi takip eder).
Bu algoritmaları kullanırken genellikle önce izlemek istediğin nesneyi seçebilirsin; izleyici de nesne hareket ettikçe sonraki karelerde görsel açıdan en benzer bölgeyi sürekli arar.

Şekil 3. OpenCV kullanarak nesneleri izleme (Kaynak)
Bu yöntemler karmaşık veya kalabalık sahnelerde modern derin öğrenme tabanlı izleme sistemleri kadar sağlam olmayabilir. Yine de hafif, hızlı ve çalıştırması kolay oldukları için yaygın biçimde kullanılırlar. Ayrıca bu izleyiciler CPU'larda verimli çalıştığından ve genellikle GPU gerektirmediğinden hızlı denemeler, sınıf içi öğrenme ve hobi projeleri için uygundur.
3. ByteTrack#
ByteTrack, çoklu nesne izleme için en popüler açık kaynaklı algoritmalardan biridir. Yalnızca modelin yüksek güvenle yaptığı algılamaları eşleştirmek yerine, çoğu sistemin genellikle göz ardı ettiği düşük güvenli algılamalardan da yararlanır.
Bu, kısmen engellendiklerinde, uzakta olduklarında veya hızlı hareket ettiklerinde olduğu gibi kısa süreliğine görülmesi zorlaşan nesnelerin izini sürmeye yardımcı olur. Hızlı ve güvenilir olduğu için ByteTrack; gerçek zamanlı performansın ve tutarlı kimliklerin önemli olduğu trafik analizi, yaya takibi ve perakende izleme gibi uygulamalarda yaygın olarak kullanılır.
Daha önce belirtildiği gibi, algılama için Ultralytics YOLO modellerini kullanıyorsan Ultralytics Python paketi üzerinden ByteTrack'i etkinleştirmek kolaydır. Ancak ByteTrack özel iş akışlarında bağımsız olarak da kullanılabilir; bu da onu araştırma prototiplerinden C++ ile yazılmış üretim sistemlerine kadar her tür uygulama için uygun kılar.
4. DeepSORT#
Çoklu nesne izlemede yaygın olarak kullanılan bir diğer algoritma da DeepSORT'tur. Bu ad, Deep Simple Online and Real-Time Tracking'in kısaltmasıdır. DeepSORT, Simple Online and Real-Time Tracking'in kısaltması olan SORT'un gelişmiş bir sürümüdür.
ByteTrack'e benzer şekilde SORT, algılamaya dayalı izleme yaklaşımını kullanır. Ancak SORT, her nesnenin bir sonraki adımda nereye hareket edebileceğini tahmin etmek için, nesnenin geçmiş hareketlerine dayanarak gelecekteki konumunu kestiren matematiksel bir model olan bir Kalman filtresine dayanır.
Ardından yeni algılamaları, temel olarak konum ve sınırlayıcı kutu örtüşmesine göre mevcut izlerle eşleştirir. Bu, SORT'u hızlı ve hafif kılar; ancak nesneler üst üste bindiğinde, yolları kesiştiğinde veya kısa süreliğine görünmez olduğunda zorlanabilir.
DeepSORT, izleme sürecine görünüş bilgisini ekleyerek SORT'u geliştirir. Hareket ve konumun yanı sıra nesnelerin görünüşünü öğrenen, derin öğrenme tabanlı bir yeniden tanımlama (re-ID) modeli kullanır. Böylece hareket bilgisi nesneyi diğerlerinden ayırmaya yetmediğinde bile izleyici aynı nesneyi kareler boyunca tanıyabilir.
Bu nedenle DeepSORT, insanların sık sık üst üste geldiği veya kısa süreliğine örtüldüğü gözetim ve kalabalık izleme gibi uygulamalarda yaygın olarak kullanılır. Ancak günümüzde klasik bir temel yöntem olarak kabul edilir ve daha yeni izleme yöntemleri zorlu sahnelerde genellikle daha iyi performans gösterir.
5. Norfair#
Norfair, seni sabit bir izleme iş akışına zorlamak yerine esnek olacak şekilde tasarlanmış hafif bir izleme kütüphanesidir. Algılayıcı çıktıları sınırlayıcı kutu merkezleri, kilit noktalar veya özel koordinat verileri gibi bir nokta kümesi olarak gösterilebildiği sürece hemen hemen her algılayıcıya izleme özelliği ekleyebilir.

Şekil 4. Norfair kullanarak gerçek dünyada nesne izleme (Kaynak)
Bu esneklik, standart çoklu nesne izleme araçlarının yetersiz kalabileceği sıra dışı girdiler veya dinamik hareket örüntüleri içeren projelerde özellikle etkili olmasını sağlar. Kütüphane ayrıca algılamaların kareler arasında nasıl eşleştirileceğini denetlemek için yerleşik mesafe işlevleri sunar.
Bu mesafe işlevleri, iki noktanın veya nesnenin ne kadar benzer olduğunu ölçerek kullanıcılara izleme mantığı üzerinde tam denetim sağlar. Norfair; robotik, spor hareketi analizi, drone navigasyonu ve poz yer işaretlerini ya da kilit noktaları izlemeye büyük ölçüde dayanan uygulamalarda sıkça kullanılır.
6. MMTracking#
MMTracking, MMDetection gibi yaygın olarak kullanılan bilgisayarlı görü kütüphanelerinin de arkasındaki OpenMMLab ekibinin açık kaynaklı izleme araç kutusudur. MMDetection üzerine kurulu olan MMTracking, izleme sistemleri geliştirmek ve bunlarla denemeler yapmak için esnek bir çerçeve sunar.
En güçlü yönlerinden biri modüler tasarımıdır. MMTracking, seni tek bir iş akışına bağlamak yerine algılayıcılar, izleme modülleri ve bazı yapılandırmalarda yeniden tanımlama modelleri gibi farklı bileşenleri yapılandırmana ve değiştirip kullanmana olanak tanır. Bu esneklik sayesinde yöntemleri kıyaslamak, yeni fikirleri test etmek veya izleme iş akışlarını ince ayarlamak isteyen ekiplerin yer aldığı araştırma ve ileri düzey projelerde özellikle popülerdir.
7. FairMOT#
FairMOT, aynı anda çok sayıda nesneyi izlemek için tasarlanmış bir çoklu nesne izleme çerçevesidir. Önce algılama yapıp sonra ayrı bir adımda nesneleri kareler arasında birbirine bağlayan geleneksel algılamaya dayalı izleme iş akışlarından farklı olarak FairMOT, algılama ve yeniden tanımlamayı tek bir ağda birlikte öğrenir.

Şekil 5. FairMOT çerçevesinin çalışma şekli (Kaynak)
Bu ortak yapı, özellikle insanların sıklıkla üst üste geldiği veya hızla hareket ettiği kalabalık sahnelerde kimliklerin daha tutarlı biçimde korunmasına yardımcı olur. FairMOT, yaya takibi ve kalabalık izleme gibi senaryolarda yaygın olarak kullanılır. Çok sayıda hedefin gerçek zamanlı izlenmesinin önemli olduğu perakende analitiği ve trafik izleme gibi alanlarda da uygulanır.
8. SiamMask#
SiamMask, sınırlayıcı kutunun yanı sıra segmentasyon maskesi de üreterek birçok izleyiciden daha ileri giden bir tek nesne izleme yöntemidir. Basitçe söylemek gerekirse, hedefin etrafına yalnızca bir dikdörtgen çizmez. Ayrıca nesnenin şeklini piksel düzeyinde belirler; bu, hedef şekil değiştirdiğinde, döndüğünde veya kısmen gizlendiğinde faydalı olabilir.

Şekil 6. SiamMask kullanarak nesne izleme ve segmentasyonu (Kaynak)
Bu yaklaşım, izleyicinin ilk karede hedeften genellikle şablon adı verilen küçük bir referans görüntüsü aldığı Siyam tipi bir izleme tasarımı kullanır. Ardından her yeni karede daha geniş bir bölgede arama yapar ve bu şablonla en yüksek benzerliğe sahip noktayı bulur.
SiamMask, eşleştirme tabanlı bu fikri geliştirir. Hedef için piksel düzeyinde bir maske de tahmin eder; böylece video oynarken hem nesnenin konumunu hem de daha hassas bir dış hat çizgisini elde edersin.
Nesne izleme aracı seçerken dikkate alınması gereken temel faktörler#
Günümüzde yapay zekâ alanında açık kaynaklı nesne izleme araçları için çeşitli seçenekler bulunduğundan, bilgisayarlı görü projen için en iyi seçenek özel kullanım durumunun gereksinimlerine bağlıdır. Dikkate alman gereken bazı faktörler şunlardır:
- Doğruluk: Görüntü işleme sisteminin örtüşme, kapanma veya hızlı hareket sırasında bile kararlı kimlikleri koruması gereken kalabalık ya da görsel açıdan karmaşık sahnelerde en önemli faktör budur.
- Hız: Robotik, trafik izleme ve spor analitiği gibi gerçek zamanlı uygulamalarda hızlı yanıt verebilmek, kusursuz doğruluktan daha önemli olabilir.
- Entegrasyon kolaylığı: Bazı nesne izleme araçlarını birkaç satır kodla kolayca takıp çalıştırabilirsin; diğerleri ise daha fazla kurulum, yapılandırma veya özel iş akışı çalışması gerektirir.
- Dağıtım kısıtlamaları: GPU sunucuları, uç cihazlar veya mobil donanımlar gibi hedef ortam, hangi izleme yaklaşımının uygulanabilir olduğunu belirleyebilir.
- Ölçeklenebilirlik: Sistemin aynı anda çok sayıda nesneyi izlemesi veya birden fazla video akışını işlemesi gerekiyorsa izleyici, performansta büyük bir düşüş olmadan verimli biçimde ölçeklenebilmelidir.
Her nesne izleme aracı veya algoritması farklı bir amaca hizmet eder. Sonuçta doğru seçim; özel gereksinimlerine, çalışma zamanı kısıtlamalarına, performans ölçütlerine ve projenin izleme yaklaşımının ne ölçüde özelleştirilebilir olmasını gerektirdiğine bağlıdır.
Önemli çıkarımlar#
Nesne izleme, elle tasarlanmış ilk tekniklerden hareketi, kimliği ve davranışı etkileyici bir doğrulukla yorumlayan günümüzün son teknoloji derin öğrenme sistemlerine evrildi. Açık kaynaklı araçlar bu ilerlemenin itici gücü oldu. Güçlü algoritmalara erişimi demokratikleştiriyor, denemeleri teşvik ediyor ve araştırmacıların kısıtlayıcı lisanslar veya ağır altyapı gereksinimleri olmadan gelişmiş izleme iş akışları oluşturmasına olanak tanıyorlar.
Yapay zekâ hakkında daha fazla bilgi edinmek için topluluğumuzu ve GitHub depomuzu ziyaret et. Tarımda yapay zekâ ve üretimde bilgisayarlı görü çözümlerimizi keşfet. Lisanslama seçeneklerimizi incele ve kendi görüntü işleme modelini oluşturmaya başla.
Yazan
Yorumlar
Soru sor, sonuçlarını paylaş veya başka birine yardım et.










