Nesneyi Temel Düzeyde Tespit Edebilme (Template Matching) Aşamaları

meyraaslihan
Nov 18, 2020 · 3 min read
Image for post
Image for post
İki Farklı Kişi İçin Template Matching İşlemi

Template Matching (Şablon Eşleştirme)

Görüntü işlemede; bir parçayı, o parçanın çıkarıldığı bütün resimden bağımsız bir şekilde değerlendirip içeriğinde yer aldığını tespit edebilmek için birden çok yaklaşım ve yöntem yer alır. Nesneyi temel düzeyde tespit edebilme yöntemlerinden biri de Template Matching işlemidir.

Image for post
Image for post
cv.TM_CCOEFF_NORMED

Template Matching işlemi kaynak görüntü üzerinde nesneyi tüm piksellerde dolaşarak aramaktadır. Bu işlemi yapmak demek görüntünün birebir aynısı olarak aranması demektir. Bu yüzden nesneyi ayırt etmek Darknet ve Yolo modeli ile yapılan nesne tespit işlemine göre çok fazla başarılı değildir.

Template Maching işleminin başarılı sonuç verebilmesi için aranan nesnenin kaynaktan kesilmiş olması gerekir. Bir görsel üzerinden insan arıyorsanız ve o kaynakta insanın arkası dönük ise arama sonucu başarısız olacaktır. Bu demek oluyor ki kaynaktaki nesne ile eldeki nesne görüntüsü arasındaki boyut oranları birebir aynı olmalıdır. Aynı boyutlarda olsa bile bazı arama sonucu başarısız sonuçlanabilir.

Template Matching yöntemi ile kaynak görsel üzerinde aranan kırpılmış görselin Sliding Window yani Kayan/Sürgülü Pencere yöntemi ile aranır. Kaynak üzerinde nesne (1, 1) koordinatlarına yerleşir ve tüm pikseller üzerinde tek tek kaydırılarak eşleştirilir. Böylece kaynak görselde hedef görselin yer alıp almadığını kontrol etmiş olur.

HAAR Cascade

Image for post
Image for post
HAAR Cascade

XML alt yapılı olan bu veri setleri bir nesnenin negatif ve pozitif değerlerini tutmakta ve karşılaştırma esnasında kullanılmaktadır.

LBP — Local Binary Pattern

Image for post
Image for post
LBP — Local Binary Pattern

Bu yöntem kaynak görüntüde aranan kırpılmış görüntünün piksel yoğunluğuna yani intensity değerine göre tespit eder. Yani bir pixelin etrafındaki piksellerin yoğunluk değerlerine göre oluşan ikili yani binary örüntülerden yaratılır ve bu örüntüler üzerinde işlemler gerçekleştirerek nesneyi arama işlemi yapar.

HOG — Histogram of Oriented Gradients

Image for post
Image for post
HOG — Histogram of Oriented Gradients

Template Matching yöntemi dışındaki yöntemler “Sınıflandırıcı” olarak tanımlanan Machine Learning algoritmalarıdır. Aşağıda gördüğünüz üzere projemde bulunan ve sizlerin de projelerinize entegre edebileceğiniz template matching kodları yer almaktadır.

Image for post
Image for post
Template Matching Code

Template Matching Uygulanması

Image for post
Image for post
Template Matching Uygulanması

Projemdeki template matching işleminin çalışma düzeni; Öncelikle webcamden gelen anlık görüntü karesinden nesne ve kişi tespiti işlemi gerçekleşiyor.

Tespit edilen nesne “Person” ise Template Matching işlemine tabi tutuluyor. Bu işlem tespit edilen kişi eğer daha önce tespit edildi ise kendi içerisinde kontrol ediyor ve temel anlamda yeni bir eşleşme sağlanıyor. Eğer daha önce bu kişi tespit edilmemiş ise rastgele bir id üretilip bu id ile kaydediliyor.

Böylece eğitilmiş model tarafından “Kişi” tespiti gerçekleşmese Template Matching yöntemi yardımıyla basit bir eşleşme sağlayarak tespit işlemine katkı sağlıyor.

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store