Python OpenCV ve HOG ile Resim Üzerinde İnsan Tanımlama

Bu yazımda Python ve OpenCV2 kütüphanesi ile HOG (Histogram of Oriented Gradients) özellik tanımlayıcısını kullanarak İnsan, Yaya, Nesne, Obje algılama ile ilgili örnek çalışma yapacağız.

Öncelikli olarak aşağıda bulunan kodların tamamı : Github

HOG (Histogram of Oriented Gradients) nasıl çalışır onu inceleyelim;

HOG gri tonlamalı sektörler üzerinde çalışır, resimde gradyan geçişli gri kısımları arar.

Bunu daha kolay hale getirmek için kullanılacak resmi gri tonlamalı olarak işleyebilirsiniz.

HOG bu gri tonlamalı resimler üzerinde gradyan geçişleri bulur ve karşılaştırır, bunu da gradyan yönlerinin dağılımı(Histogram) üzerinden yapar.

HOG ile verimli çalışabilmek için dataset olarak tanımladığımız nesnelerin en boy oranları 1:2 veya 2:1 olması gerekir. Örnek vermek gerekirse 100×200, 64×128 veya tam tersi. 

Şimdi örnek kodlarımıza adım adım bakalım;

1. Adım : İhtiyacımız olan kütüphaneleri kodumuz ekliyoruz.

2. Adım : HOG (Histogram of Oriented Gradients) Dedektörümüzü oluşturup dataset olarak HOGDescriptor_getDefaultPeopleDetector()’ü tanımlıyoruz.

3. Adım : Üzerinden İnsan veya Yaya bulmak istediğimiz kaynak resmimizi tanımlıyoruz.

4. Adım : Eğer resim genişliği EnYuksekGenişlikten fazla ise kaynak resmimizi yeniden boyutlandırıyoruz.

5. Adım : Kaynak resmimiz üzerinde bulunan insan veya yayaların konumlarını belirliyoruz.

6. Adım : Belirlediğimiz koordinatlari daha sonra sağlıklı bir şekilde kullanabilmek için Numpy Array nesnesine çeviriyoruz.

7. Adım : Belirlediğimiz koordinatlar arasında üst üste denk gelen birden fazla koordinat varsa bu koordinatları teke indiriyoruz.

8. Son Adım : Belirlenen koordinatları resim üzerinde işaretliyoruz ve resmi gösteriyoruz.

Kaynak Resmimiz – insan.jpg :

Kodun Çıktısı :

 

 

Bu Kategorideki Diğer Yazılar

Leave a Comment