Bilgisayarla görü algılama ve görü tabanlı nesne tespiti, son yıllarda giderek daha fazla önem kazanmaktadır. Bu alanda çok sayıda algoritma geliştirilmiş olup, bu algoritmalar özellikle; nesne sınıflandırma, nesne tanıma ve hareket analizi gibi görevlerde kullanılmaktadır. Yönlendirilmiş Gradyanların Histogramı (Histogram of Oriented Gradients, HOG) algoritması, bu bağlamda sıkça kullanılan ve etkinliği kanıtlanmış bir özellik çıkarma yöntemidir.

HOG Algoritması örneği (Kaynak: Batuhan Daz)
HOG algoritması, bir görüntüdaki nesneleri tanımlamak için gradyan yön bilgilerini kullanan bir özellik çıkarma yöntemidir. Algoritma temel olarak şu adımlardan oluşmaktadır:
1. Gri Tonlamaya Dönüştürme: Renkli görüntüler genellikle gri tonlamaya dönüştürülür. Bu, hesaplama yükünü azaltarak gradyan hesaplamalarını daha verimli hale getirir.
2. Gradyan Hesaplama: Görüntünün yatay (x) ve dikey (y) yönlerinde parlaklık farklarını hesaplamak için Sobel filtresi gibi kenar tespit operatörleri kullanılır. Bu farklar, görüntünün kenar bilgilerini çıkarmaya yardımcı olur.
3. Hücre Tabanlı Histogram Oluşturma: Görüntü belirli bölgelere (hücrelere) bölünür ve her hücrede bulunan piksellerin gradyan yönleri belirlenir. Her hücrede, gradyan yönü ve büyüklüğü baz alınarak bir histogram oluşturulur.
4. Blok Normalizasyonu: HOG algoritmasında bloklar, belirli sayıda hücrenin birleştirilmesiyle oluşur. Blok normalizasyonu, ışık değişkenliklerinden etkilenmeyi azaltmak için histogram değerlerinin normalize edilmesini sağlar.
5. Özellik Vektörünün Oluşturulması: Elde edilen hücre histogramları birleştirilerek bir özellik vektörü oluşturulur. Bu vektör, makine öğrenmesi algoritmalarında veya nesne tanıma sistemlerinde kullanılabilir.
Bu adımlar, bir görüntüde nesne sınıflandırma veya tespit için güçlü ve kararlı özellikler oluşturur.
1. Gradyan Hesaplama: Gradyan hesaplama, Sobel filtresi gibi kenar tespit operatörleri kullanarak görüntünün yatay ve dikey parlaklık farklarını belirlemeyi içerir. Bu adım, görüntünün kenar bilgilerini belirleyerek sonraki analiz için temel oluşturur.
2. Histogram Oluşturma: Her pikselin gradyan yönü ve büyüklüğü hesaplanarak hücreler içinde histogramlar oluşturulur. Her hücrede belirlenen histogram, piksellerin gradyan yönlerine göre düzenlenir.
3. Blok Normalizasyonu: Histogramlar belirli bölgeler halinde (bloklar) gruplanarak normalize edilir. Bu işlem, ışık ve kontrast farklılıklarından etkilenmeyi azaltarak daha tutarlı bir özellik vektörü oluşturulmasını sağlar.
4. Özellik Vektörünün Oluşturulması: Son aşamada, elde edilen histogram değerleri düz bir vektöre dönüştürülerek, nesne tanıma veya sınıflandırma için kullanılabilir hale getirilir. Bu vektör, makine öğrenmesi algoritmalarıyla nesne saptama ve sınıflandırma görevlerinde kullanılabilir.
Çıktı:

Çıktı:

Çıktı:

Dalal, Navneet., & Triggs, Bill. "Histograms of oriented gradients for human detection." In 2005 IEEE computer society conference on computer vision and pattern recognition (CVPR'05) , Vol. 1, (2005, June): 886-893.
Tomasi, C. "Histograms of oriented gradients." Computer Vision Sampler, (2012): 1-6.
Surasak, Thattapon., Takahiro, Ito., Cheng, Cheng-hsuan., Wang, Chi-en., & Sheng, Po-yo. "Histogram of oriented gradients for human detection in video." In 2018 5th International conference on business and industrial research (ICBIR), (2018, May): 172-176.
Soler, J. D., Beuther, H., Rugel, M., Wang, Y., Clark, P. C., Glover, S. C., ... & Schilke, P. "Histogram of oriented gradients: a technique for the study of molecular cloud formation." Astronomy & Astrophysics,(2019): 622, A166.
Tyagi, M. "Histogram of Oriented Gradients: An Overview" (2024). Erişim Adresi.
Mallick, S. "Histogram of Oriented Gradients explained using OpenCV" (2016). Erişim Adresi.
Henüz Tartışma Girilmemiştir
"Yönlendirilmiş Gradyanların Histogramı (HOG)" maddesi için tartışma başlatın
HOG Algoritmasının Temelleri
HOG Algoritmasının Çalışma Prensibi
Python ile HOG Algoritması Hesaplama Adımları
HOG Algoritmasının Avantajları ve Dezavantajları
Avantajlar
Dezavantajlar
HOG Algoritmasının Kullanım Alanları