YOLO Nedir ?

Created with Sketch.

  

  YOLO, konvolüsyonel sinir ağlarını (CNN) kullanarak nesne tespiti yapan bir algoritmadır. Açılımı “You Only Look Once“, yani “Sadece Bir Kez Bak“. Bu adın seçilmesinin nedeni algoritmanın nesne tespitini tek seferde yapabilecek kadar hızlı olmasıdır. YOLO algoritması çalışmaya başladığında görüntülerdeki veya videolardaki nesneleri ve bu nesnelerin koordinatlarını aynı anda tespit eder.

 Bu kısa girişten sonra algoritmanın çalışma mantığını yavaş yavaş anlamaya başlayalım:

  Video ve resim işleme arasında tek fark resimlerin tek bir kareden (frame), videoların ise birçok kareden oluşmasıdır. Resimlerde algoritma tek bir kare için çalışırken, videolarda tüm kareler için tekrar tekrar çalışır. . YOLO algoritması, öncelikle görüntüyü bölgelere ayırır. Daha sonra her bir bölgedeki nesneleri çevreleyen kutuları (bounding box) çizer ve her bir bölgede nesne bulunma olasılığı ile ilgili bir hesabı yapar.

Ayrıca her bir bounding box için bir güven skoru hesaplar. Bu skor bize o nesnenin yüzde kaç olasılıkla tahmin edilen nesne olduğunu söyle. Örneğin, bulunan bir araba için güven skoru 0,3 ise bunun anlamı o nesnenin araba olma olasığının oldukça düşük olduğudur. Diğer bir deyişle, YOLO yaptığı tahminin güvenilmez olduğunu bize söyler. 

Aşağıdaki videoyu dikkatlice izlerseniz YOLO algoritmasının çıktısı olan videodaki nihai bounding box’ları ve tahmin doğruluğu ile ilgili değerleri görebilirsiniz:



Bounding box’ların içindeki nesnelere non-maximum suppression denen bir teknik uygulanır. Bu teknik güven skoru düşük olan nesneleri değerlendirmeden çıkarır ve aynı bölgede güven skoru daha yüksek bir bounding box‘ın varlığını kontrol eder.



Her bir bölgede nesne olup olmadığı araştırılır. Eğer bir nesne bulunursa o nesnenin orta noktası, yüksekliği ve genişliği bulunur daha sonra bounding box çizilir. Bunun yapılabilmesi için bir takım alt işlemlerin yapılması gerekir. Her bir bölge için bir tahmin vektörü oluşturulur, bu vektörlerin içinde güven skoru yer alır. 

Eğer güven skoru 0 ise orada nesne yok, 1 ise orada nesne var demektir. Aynı içerisindeki aynı nesne için birden fazla bounding box çizdirilebilir. İşte bu sorundan kurtulmak için de, daha önceden sözünü ettiğim non-maximum suppression tekniği kullanılır. Bu teknik ile yapılan şey basitçe, en yüksek güven skoru olan bounding box’ın kalması diğerlerinin ise görüntüden atılmasıdır. 

Tüm işlemlerden sonra aşağıdaki çıktıya erişilir:


 

YOLO algoritmasının çalışma ilkesi genel bu şekildedir. Konunun matematiksel arka planını merak edenler içinde buraya bir bağlantı ekliyorum. Ayrıntılı bilgi için buraya tıklayarak ilgili kaynağı inceleyebilirsiniz.

 

YOLO ile ilgili kılavuz niteliğinde video ve yazılar siteye yavaş yavaş eklenecek, takipte kalın. 

Yorum yapılmamış

Yorumunuzu ekleyin