Nesne tespiti

Nesne tespiti, dijital görüntülerde ve videolarda belirli bir sınıftaki (insanlar, binalar veya arabalar gibi) anlamsal nesnelerin örneklerini algılamakla ilgilenen, bilgisayarla görme ve görüntü işleme ile ilgili bir bilgisayar teknolojisidir. Nesne tespiti, bilgisayarla görme ve görüntü işlemeden farklı olarak algılanan nesnenin görüntü üzerinde koordinatlarının bulunmasını içerir. Bulunan koordinatlar ile nesnenin bir çerçeve ile içine alınacağı alan da tespit edilmiş olur. Nesne tespiti, gerçek zamanlı (anlık) ve gerçek zamanlı olmayan olarak ikiye ayrılır. Üzerinde iyi araştırma yapılmış alanlar yüz tespiti, yaya tespiti ve araç tespitidir. Nesne tespiti, görüntü alma ve video gözetimi dahil olmak üzere bilgisayarla görmenin birçok alanında uygulamaya sahiptir.
Kullanımlar
Görüntü etiketleme, aktivite tanıma, yüz algılama, yüz tanıma, video nesnesini müşterek bölümleme gibi bilgisayarla görme görevlerinde yaygın olarak kullanılmaktadır. Örneğin bir futbol maçı sırasında oyundaki topu takip etmek, bir kriket sopasının hareketini izlemek veya bir videodaki herhangi bir kişiyi veyahut kişileri izlemek gibi durumlarda nesneleri takip etmek için kullanılır. Nesne tespiti insansız araçlarda nesnelerin konumlarını takip etmede ve nesnelerin sınıflandırılmasında da kullanılan temel bir yöntemdir. Elde edilen konum ve sınıf verisi ile araçların reaksiyon vermesi ve veriyi değerlendirmesi amaçlanmaktadır.
Konsept
Her nesne sınıfının, sınıfının sınıflandırılmasına yardımcı olan kendine özgü özellikleri vardır - örneğin, tüm daireler yuvarlaktır, deniz mavidir, ağaçların yaprakları yeşildir vb. Nesnenin sınıfı tespit edilirken, sınıflara ait olan bu özellikler kullanılır. Örneğin, herhangi bir daire ararken, bir noktadan (yani merkezden) belirli bir uzaklıkta bulunan nesneler aranır, merkezden uzaklıkları kabul edilebilir bir aralıkta olan bu noktalar bütünü daire olarak sınıflandırılabilir. Benzer şekilde, kareler ararken, köşelerde dik olan ve kenar uzunlukları eşit olan nesnelere ihtiyaç vardır. Benzer bir yaklaşım, gözlerin, burnun ve dudakların bulunabildiği ve ten rengi ve gözler arasındaki mesafe gibi özelliklerin bulunabildiği yüz tanımlaması için kullanılır. Nesnelerin şekillerinin tespit için kullanılan özelliklerden olmasının yanında aynı nesnelerin renkleri de tespit için kullanılan önemli özelliklerdendir. Bir trafik lambasında yeşil, sarı ve kırmızı renklerin nesnenin tespiti için önemli bir özelliktir. 3'lü, 2'li ve tek olan trafik lambalarında nesnelerin kendine özgü özelliklerinden olan renkleri kullanmak önem arz etmektedir.
Yöntemler
Nesne tespiti yöntemleri genellikle sinir ağı tabanlı veya sinirsel olmayan yaklaşımlara girer. Sinirsel olmayan yaklaşımlar için, önce aşağıdaki yöntemlerden birini kullanarak özellikleri tanımlamak, ardından sınıflandırmayı yapmak için destek vektör makinesi (SVM) gibi bir teknik kullanmak gerekli hale gelir. Öte yandan, sinir teknikleri, özellikleri özel olarak tanımlamadan uçtan uca nesne algılaması yapabilir ve tipik olarak evrişimli sinir ağlarına (CNN) dayanır.
Sinirsel olmayan yaklaşımlar:
Haar özelliklerine dayalı Viola Jones nesne tespit yapısı(detection framework)
Ölçekle değişmeyen özellik dönüşümü (SIFT)
Yönlendirilmiş gradyanların (HOG) özellikleri
Sinir ağı yaklaşımları:
Bölge Önerileri (R-CNN, Hızlı R-CNN, Daha Hızlı R-CNN, kademeli R-CNN. )
Tek Atış Çoklu Kutu Dedektörü (SSD)
Sadece Bir Kez Bakarsın (YOLO)
Nesne Algılama için Tek Atım İyileştirme Sinir Ağı (RefineDet)
Retina-Net
Deforme edilebilir evrişimli ağlar
Gerçek zamanlı (anlık) nesne tespitinde, anlık elde edilen görüntüyü işleyip nesne veyahut nesnelerin tespiti esas olduğu için performansı yüksek, doğru ve kesin sonuç üretebilen algoritmalar kullanılır. YOLO (You Only Look Once) Tek Bir Sefer Bak algoritmaları bu alandaki performans, kesinlik ve doğruluk açısından tatmin edici sonuçlar verebilen önde gelen algoritmalardandır. Sinir ağı yaklaşımını temel alan YOLO algoritmaları farklı nesne tespit yapılarını (framework) kullanmaktadır.
Darknet Yolov2
Darknet Yolov3
Darknet Yolov4
PyTorch Yolov3
PyTorch Yolov5
Kullanılacak olan gerçek zamanlı nesne tespit algoritmalarında, algoritmanın yüksek işlem gereksiniminden dolayı merkezi işlem birimi ile hesaplama yapmak yerine grafik işlemci birimi kullanmak yaygın bir tercihtir. Bu gereksinimden dolayı gerçek zamanlı nesne tespit algoritmaları çalıştırılacakları donanımsal yeterliliklere göre tasarlanır ve kullanılır. Bir akıllı telefondan elde edilecek işlem gücü ile grafik işleme birimine sahip bir bilgisayardan elde edilecek işlem güçleri birbirinden farklı olduğu için her iki sistemde de aynı gerçek zamanlı algoritma çalıştırılamaz.