Yapay Zekâ 101
Görüntü Sınıflandırması Nasıl Çalışır?

Nasıl olur da telefonunuz bir nesnenin resmini çekerek o nesnenin ne olduğunu belirleyebilir? Sosyal medya siteleri nasıl olur da resimlerdeki insanları otomatik olarak etiketler? Tüm bunlar, AI destekli görüntü tanıma ve sınıflandırma sayesinde gerçekleşir.
Görüntü tanıma ve sınıflandırması, yapay zeka tarafından gerçekleştirilen en etkileyici başarıların çoğunu mümkün kılan bir işlemdir. Ancak bilgisayarlar nasıl görüntü ve nesneleri tanıyıp sınıflandırır? Bu makalede, bilgisayarların görüntü ve nesneleri yorumlama ve tanılama için kullandığı genel yöntemleri ele alacağız ve sonra da bu görüntüleri sınıflandırmak için kullanılan en popüler yöntemlere göz atacağız.
Piksel Düzeyinde Sınıflandırma vs. Nesne Tabanlı Sınıflandırma
Görüntü sınıflandırma teknikleri temel olarak iki farklı kategoriye ayrılabilir: piksel tabanlı sınıflandırma ve nesne tabanlı sınıflandırma.
Görüntülerin temel birimleri piksellerdir ve piksel analizi, görüntü sınıflandırmasının temel yöntemidir. Ancak, sınıflandırma algoritmaları yalnızca bireysel piksellerin spektral bilgilerini kullanarak bir görüntüyü sınıflandırmak için ya da piksellerin yakınındaki piksellerin spektral bilgilerini de dikkate alarak bir görüntüyü sınıflandırmak için kullanılabilir. Piksel tabanlı sınıflandırma yöntemleri yalnızca spektral bilgileri kullanır (bir pikselin yoğunluğu), oysa nesne tabanlı sınıflandırma yöntemleri hem piksel spektral bilgilerini hem de mekansal bilgileri dikkate alır.
Piksel tabanlı sınıflandırma için kullanılan farklı sınıflandırma teknikleri vardır. Bunlar, minimum mesafe-orta, maksimum olasılık ve minimum-Mahalanobis-mesafeyi içerir. Bu yöntemler, sınıfların ortalamaları ve varyanslarının bilindiğini gerektirir ve tümü, sınıf ortalamaları ile hedef pikseller arasındaki “mesafeyi” inceleyerek çalışır.
Piksel tabanlı sınıflandırma yöntemleri, yalnızca yakın piksellerin bilgilerini kullanamadıkları için sınırlıdır. Buna karşılık, nesne tabanlı sınıflandırma yöntemleri diğer pikselleri de dikkate alabilir ve bu nedenle mekansal bilgileri de kullanabilir. “Nesne” terimi, yalnızca bir hedef nesnenin o pikseller bölgesinde olup olmadığını değil, aynı zamanda o pikseller bölgesindeki liên tục pikseller bölgelerini de ifade eder.
Nesne Tespiti İçin Görüntü Verilerini Ön İşleme
En son ve güvenilir görüntü sınıflandırma sistemleri principalmente nesne düzeyinde sınıflandırma şemalarını kullanır ve bu yaklaşımlar için görüntü verilerinin belirli şekillerde hazırlanması gerekir. Nesneler/bölgeler seçilmeli ve ön işlemden geçirilmelidir.
Bir görüntü ve o görüntüdeki nesneler/bölgeler sınıflandırılmadan önce, görüntüyü oluşturan verilerin bilgisayarca yorumlanması gerekir. Görüntüler, sınıflandırma algoritmasına girdi olarak verilebilmesi için ön işlemden geçirilmeli ve hazırlanmalıdır ve bu, nesne tespiti yoluyla yapılır. Bu, verilerin hazırlanması ve makine öğrenimi sınıflandırıcısını eğitmek için kritik bir adımdır.
Nesne tespiti çeşitli yöntemler ve tekniklerle yapılır. İlk olarak, ilgi nesnesinin tek olup olmadığı veya birden fazla olup olmadığı, görüntü ön işleminin nasıl ele alınacağını etkiler. Eğer yalnızca bir ilgi nesnesi varsa, görüntü, görüntü lokalizasyonu işlemden geçirilir. Görüntüyü oluşturan piksellerin numerik değerleri bilgisayarca yorumlanır ve doğru renkleri ve tonları görüntülemek için kullanılır. İlgi nesnesini çevreleyen bir sınırlayıcı kutu çizilir ve bu, bilgisayarın görüntünün hangi kısmının önemli olduğunu ve hangi piksel değerlerinin nesneyi tanımladığını bilmesini sağlar. Eğer görüntüdeki ilgi nesneleri birden fazla ise, nesne tespiti tekniği kullanılır ve bu, görüntüdeki tüm nesnelere sınırlayıcı kutular uygulamaya yarar.

Foto: Adrian Rosebrock via Wikimedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Intersection_over_Union_-_object_detection_bounding_boxes.jpg)
Ön işlemenin bir başka yöntemi de görüntü segmentasyonudur. Görüntü segmentasyonu, tüm görüntüyü benzer özelliklere sahip segmentlere ayırarak çalışır. Görüntünün farklı bölgeleri, diğer bölgelere kıyasla benzer piksel değerlerine sahip olur ve bu pikseller, görüntüdeki ilgili nesnelerin şekli ve sınırlarına karşılık gelen görüntü maskelerine gruplanır. Görüntü segmentasyonu, bilgisayara, nesneyi sınıflandırmaya yardımcı olacak görüntünün özelliklerini izole etmede yardımcı olur, tıpkı sınırlayıcı kutuların yaptığı gibi, ancak daha doğru, piksel düzeyinde etiketler sağlar.
Nesne tespiti veya görüntü segmentasyonu tamamlandıktan sonra, ilgili bölgelere etiketler uygulanır. Bu etiketler, nesneyi oluşturan piksellerin değerleri ile birlikte, nesnelerin farklı etiketlere ait kalıpları öğrenen makine öğrenimi algoritmalarına aktarılır.
Makine Öğrenimi Algoritmaları
Veriler hazırlanıp etiketlendikten sonra, veriler makine öğrenimi algoritmasına aktarılır ve algoritma bu verilerle eğitilir. Aşağıda, en yaygın makine öğrenimi görüntü sınıflandırma algoritmalarını ele alacağız.
En Yakın Komşular (K-Nearest Neighbors)
En Yakın Komşular, bir sınıflandırma algoritmasıdır ve en yakın eğitim örneklerini inceleyerek ve bunların etiketlerini göz önünde bulundurarak bir test örneğinin en muhtemel etiketini belirler. KNN kullanarak görüntü sınıflandırması yaparken, eğitim görüntülerinin ve bunların etiketlerinin özellik vektörleri depolanır ve yalnızca özellik vektörü algoritmaya aktarılır. Eğitim ve test özellik vektörleri daha sonra birbirleriyle benzerlik açısından karşılaştırılır.
KNN tabanlı sınıflandırma algoritmaları son derece basittir ve çoklu sınıfları kolayca ele alabilir. Ancak, KNN, tüm özelliklere eşit olarak benzerlik hesaplar. Bu nedenle, yalnızca bir alt kümesindeki özelliklerin sınıflandırma için önemli olduğu görüntüler sunulduğunda yanlış sınıflandırma yapma eğilimindedir.
Destek Vektör Makineleri (Support Vector Machines)
Destek Vektör Makineleri, bir sınıflandırma yöntemidir ve uzayda noktaları yerleştirir ve sonra bu noktalar arasında ayırma çizgileri çizer, nesneleri, bu ayırma düzleminin hangi tarafında bulunduklarına bağlı olarak farklı sınıflara ayırır. Destek Vektör Makineleri, çekirdek hileleri olarak bilinen bir teknik kullanarak doğrusal olmayan sınıflandırmalar yapabilir. SVM sınıflandırıcıları genellikle çok doğru olsa da, bir SVM sınıflandırıcısının önemli bir dezavantajı, boyut ve hızla sınırlı olmasıdır, boyut arttıkça hız azalır.
Çok Katmanlı Perseptörler (Neural Ağlar)
Çok katmanlı perceptronlar, yani sinir ağı modelleri, insan beyninden esinlenen makine öğrenimi algoritmalarıdır. Çok katmanlı perceptronlar, birbirleriyle bağlantılı çeşitli katmanlardan oluşur, tıpkı insan beynindeki nöronların birbirleriyle bağlantılı olması gibi. Sinir ağları, girdi özelliklerinin veri sınıfları ile nasıl ilişkili olduklarına dair varsayımlar yapar ve bu varsayımlar, eğitim sürecinde ayarlanır. Basit sinir ağı modelleri gibi çok katmanlı perceptronlar, doğrusal olmayan ilişkileri öğrenme yeteneğine sahiptir ve bu nedenle diğer modellerden daha doğru olabilir. Ancak, MLP modelleri, non-konveks kayıp fonksiyonlarının varlığı gibi bazı önemli sorunlarla karşılaşır.
Derin Öğrenme Algoritmaları (CNN’ler)

Foto: APhex34 via Wikimedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Typical_cnn.png)
En çok kullanılan görüntü sınıflandırma algoritması, Evrişim Sinir Ağı (CNN) olarak bilinen derin öğrenme algoritmasıdır. CNN’ler, çok katmanlı sinir ağlarını, görüntülerin en önemli özelliklerini çıkaran özel katmanlarla birleştiren özelleştirilmiş sinir ağı türleridir. CNN’ler, görüntülerin özelliklerini otomatik olarak keşfetme, oluşturma ve öğrenme yeteneğine sahiptir. Bu, görüntüleri makine öğrenimi algoritmalarına hazırlamak için elle etiketleme ve segmentasyon ihtiyacını büyük ölçüde azaltır. Ayrıca, MLP ağlarından daha avantajlıdır çünkü non-konveks kayıp fonksiyonlarıyla başa çıkabilirler.
Evrişim Sinir Ağları, “evrişim” oluşturdukları için bu ismi alırlar. CNN’ler, bir filtre kullanarak bir görüntüye odaklanarak çalışırlar. Bunu, bir manzaraya bakmak için hareket eden bir pencere gibi düşünebilirsiniz, her an yalnızca pencereden görünen özellikleri dikkate alırsınız. Filtre, piksellerin değerleri ile çarpılan numerik değerler içerir. Sonuç, orijinal görüntüyü temsil eden yeni bir çerçeve veya matristir. Bu işlem, seçilen sayıda filtre için tekrarlanır ve sonra çerçeveler, orijinal görüntüden slightly daha küçük ve daha az karmaşık olan yeni bir görüntüye birleştirilir. Bir teknik olan havuzlama, görüntüdeki en önemli değerleri seçmek için kullanılır ve bu, evrişim katmanlarının sonunda görüntünün en önemli kısımlarını çıkarmak ve nesneleri tanımlamaya yardımcı olmak için kullanılır.
Evrişim Sinir Ağları iki farklı parçadan oluşur. Evrişim katmanları, görüntünün özelliklerini çıkararak ve sinir ağı katmanlarının yorumlayıp öğrenabileceği bir forma dönüştüren kısımdır. İlk evrişim katmanları, görüntünün en temel unsurlarını, basit çizgileri ve sınırları çıkarır. Orta evrişim katmanları, daha karmaşık şekilleri, basit eğrileri ve köşeleri yakalar. Daha derin evrişim katmanları, görüntünün yüksek düzeyli özelliklerini çıkarır, bunlar CNN’nin sinir ağı kısmına aktarılan ve sınıflandırıcının öğrendiği özelliklerdir.












