AI 101
Görüntü Sınıflandırması Nasıl Çalışır?
Telefonunuz sadece bir fotoğrafını çekerek bir nesnenin ne olduğunu nasıl belirleyebilir? Sosyal medya siteleri fotoğraflardaki kişileri otomatik olarak nasıl etiketler? Bu, AI destekli görüntü tanıma ve sınıflandırma yoluyla gerçekleştirilir.
Görüntülerin tanınması ve sınıflandırılması, yapay zekanın en etkileyici başarılarının çoğunu mümkün kılan şeydir. Peki bilgisayarlar görüntüleri algılamayı ve sınıflandırmayı nasıl öğreniyor? Bu makalede, bilgisayarların görüntüleri yorumlamak ve algılamak için kullandıkları genel yöntemleri ele alacağız ve ardından bu görüntüleri sınıflandırmanın en popüler yöntemlerinden bazılarına göz atacağız.
Piksel Düzeyinde ve 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.
Pikseller, bir görüntünün temel birimleridir ve piksellerin analizi, görüntü sınıflandırmasının yapılmasının birincil yoludur. Bununla birlikte, sınıflandırma algoritmaları, bir görüntüyü sınıflandırmak için tek tek pikseller içindeki spektral bilgileri kullanabilir veya spektral bilgilerle birlikte uzamsal bilgileri (yakındaki pikseller) inceleyebilir. Piksel tabanlı sınıflandırma yöntemleri yalnızca spektral bilgileri (bir pikselin yoğunluğu) kullanırken, nesne tabanlı sınıflandırma yöntemleri hem piksel spektral bilgilerini hem de uzamsal bilgileri dikkate alır.
Piksel tabanlı sınıflandırma için kullanılan farklı sınıflandırma teknikleri vardır. Bunlar, ortalamaya minimum mesafe, maksimum olasılık ve minimum Mahalanobis mesafesini içerir. Bu yöntemler, sınıfların araçlarının ve varyanslarının bilinmesini gerektirir ve tümü, sınıf araçları ile hedef pikseller arasındaki “mesafeyi” inceleyerek çalışır.
Piksel tabanlı sınıflandırma yöntemleri, yakınlardaki diğer piksellerden gelen bilgileri kullanamamaları nedeniyle sınırlıdır. Buna karşılık, nesne tabanlı sınıflandırma yöntemleri diğer pikselleri içerebilir ve bu nedenle öğeleri sınıflandırmak için uzamsal bilgileri de kullanırlar. "Nesne"nin yalnızca bitişik piksel bölgelerini ifade ettiğini ve bu piksel bölgesinde bir hedef nesne olup olmadığını değil, unutmayın.
Nesne Tespiti İçin Görüntü Verilerini Ön İşleme
En yeni ve güvenilir görüntü sınıflandırma sistemleri öncelikle nesne düzeyinde sınıflandırma şemaları kullanır ve bu yaklaşımlar için görüntü verilerinin belirli şekillerde hazırlanması gerekir. Nesnelerin/bölgelerin seçilmesi ve önceden işlenmesi gerekir.
Bir görüntünün ve o görüntü içindeki nesnelerin/bölgelerin sınıflandırılabilmesi için, o görüntüyü oluşturan verilerin bilgisayar tarafından yorumlanması gerekir. Görüntülerin sınıflandırma algoritmasına girilmek üzere önceden işlenmesi ve hazırlanması gerekir ve bu, nesne algılama yoluyla yapılır. Bu, verileri okumanın ve makine öğrenimi sınıflandırıcısını eğitmek için görüntüleri hazırlamanın kritik bir parçasıdır.
Nesne tespiti ile yapılır çeşitli yöntem ve teknikler. Başlangıç olarak, birden çok ilgilenilen nesnenin veya tek bir ilgilenilen nesnenin bulunup bulunmadığı, görüntü ön işlemenin nasıl ele alınacağını etkiler. İlgilenilen yalnızca bir nesne varsa, görüntü, görüntü yerelleştirmesine tabi tutulur. Görüntüyü oluşturan pikseller, bilgisayar tarafından yorumlanan ve uygun renkleri ve tonları göstermek için kullanılan sayısal değerlere sahiptir. Sınırlayıcı kutu olarak bilinen bir nesne, ilgilenilen nesnenin etrafına çizilir; bu, bilgisayarın görüntünün hangi bölümünün önemli olduğunu ve hangi piksel değerlerinin nesneyi tanımladığını bilmesine yardımcı olur. Görüntüde ilgilenilen birden fazla nesne varsa, bu sınırlayıcı kutuları görüntüdeki tüm nesnelere uygulamak için nesne algılama adı verilen bir teknik kullanılır.

Fotoğraf: Wikimedia Commons aracılığıyla Adrian Rosebrock, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Intersection_over_Union_-_object_detection_bounding_boxes.jpg)
Bir başka ön işleme yöntemi de görüntü bölütlemedir. Görüntü bölütleme, tüm görüntüyü benzer özelliklere göre parçalara bölerek çalışır. Görüntünün farklı bölgeleri, görüntünün diğer bölgelerine kıyasla benzer piksel değerlerine sahip olacaktır, dolayısıyla bu pikseller, görüntü içindeki ilgili nesnelerin şekline ve sınırlarına karşılık gelen görüntü maskeleri halinde birlikte gruplandırılır. Görüntü segmentasyonu, bilgisayarın, sınırlayıcı kutuların yaptığı gibi, bir nesneyi sınıflandırmasına yardımcı olacak görüntü özelliklerini izole etmesine yardımcı olur, ancak bunlar çok daha doğru, piksel düzeyinde etiketler sağlar.
Nesne tespiti veya görüntü bölütleme tamamlandıktan sonra söz konusu bölgelere etiketler uygulanır. Bu etiketler, nesneyi oluşturan piksellerin değerleri ile birlikte, farklı etiketlerle ilişkili kalıpları öğrenecek olan makine öğrenimi algoritmalarına beslenir.
Makine Öğrenimi Algoritmaları
Veriler hazırlanıp etiketlendikten sonra, veriler üzerinde eğitim veren bir makine öğrenimi algoritmasına beslenir. En yaygın makine öğrenimi türlerinden bazılarını ele alacağız görüntü sınıflandırma algoritmaları altında.
K-En Yakın Komşular
K-En Yakın Komşular, belirli bir test örneği için en olası etiketi belirlemek üzere en yakın eğitim örneklerini inceleyen ve bunların etiketlerine bakan bir sınıflandırma algoritmasıdır. KNN kullanılarak görüntü sınıflandırma söz konusu olduğunda, eğitim görüntülerinin özellik vektörleri ve etiketleri saklanır ve test sırasında algoritmaya sadece özellik vektörü geçirilir. Eğitim ve test özellik vektörleri daha sonra benzerlik açısından birbirleriyle karşılaştırılır.
KNN tabanlı sınıflandırma algoritmaları son derece basittir ve birden çok sınıfla oldukça kolay bir şekilde ilgilenirler. Ancak KNN, benzerliği tüm özelliklere göre eşit olarak hesaplar. Bu, görüntünün sınıflandırılması için özelliklerin yalnızca bir alt kümesinin önemli olduğu görüntüler sağlandığında yanlış sınıflandırmaya eğilimli olabileceği anlamına gelir.
Vektör makineleri desteklemek
Destek Vektör Makineleri, uzayda noktaları yerleştiren ve ardından noktaların bölme düzleminin hangi tarafına düştüğüne bağlı olarak nesneleri farklı sınıflara yerleştirerek, noktalar arasına ayırıcı çizgiler çizen bir sınıflandırma yöntemidir. Destek Vektör Makineleri, çekirdek hilesi olarak bilinen bir tekniği kullanarak doğrusal olmayan sınıflandırma yapma yeteneğine sahiptir. DVM sınıflandırıcıları genellikle çok doğru olmakla birlikte, DVM sınıflandırıcılarının önemli bir dezavantajı, boyut arttıkça hız kaybıyla hem boyut hem de hız ile sınırlı olma eğiliminde olmalarıdır.
Çok Katmanlı Algılayıcılar (Sinir Ağları)
Sinir ağı modelleri olarak da adlandırılan çok katmanlı algılayıcılar, insan beyninden ilham alan makine öğrenimi algoritmalarıdır. Çok katmanlı algılayıcılar, tıpkı insan beynindeki nöronların birbirine bağlanması gibi, birbiriyle birleştirilen çeşitli katmanlardan oluşur. Sinir ağları, girdi özelliklerinin veri sınıflarıyla nasıl ilişkili olduğu konusunda varsayımlarda bulunur ve bu varsayımlar, eğitim boyunca ayarlanır. Çok katmanlı algılayıcı gibi basit sinir ağı modelleri, doğrusal olmayan ilişkileri öğrenme yeteneğine sahiptir ve sonuç olarak diğer modellerden çok daha doğru olabilir. Bununla birlikte, MLP modelleri, dışbükey olmayan kayıp fonksiyonlarının varlığı gibi bazı dikkate değer sorunlardan muzdariptir.
Derin Öğrenme Algoritmaları (CNN'ler)

Fotoğraf: Wikimedia Commons aracılığıyla APhex34, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Typical_cnn.png)
Son zamanlarda en sık kullanılan görüntü sınıflandırma algoritması Evrişimsel Sinir Ağı'dır (CNN'ler). CNN'ler, çok katmanlı sinir ağlarını, bir nesnenin sınıflandırılmasıyla ilgili ve en önemli özellikleri ortaya çıkarabilen özel katmanlarla birleştiren sinir ağlarının özelleştirilmiş versiyonlarıdır. CNN'ler görüntülerin özelliklerini otomatik olarak keşfedebilir, oluşturabilir ve öğrenebilir. Bu, görüntüleri makine öğrenimi algoritmalarına hazırlamak için manuel olarak etiketleme ve bölümlere ayırma ihtiyacını büyük ölçüde azaltır. Ayrıca dışbükey olmayan kayıp fonksiyonlarıyla başa çıkabildikleri için MLP ağlarına göre bir avantaja sahiptirler.
Evrişimli Sinir Ağları, isimlerini "evrişimler" oluşturmalarından alır. CNN'ler bir filtre alıp bir görüntünün üzerine kaydırarak çalışır. Bunu, herhangi bir anda yalnızca pencereden görülebilen özelliklere odaklanarak, hareket edebilen bir pencereden bir manzaranın bazı bölümlerini görüntülemek olarak düşünebilirsiniz. Filtre, piksellerin değerleriyle çarpılan sayısal değerleri içerir. Sonuç, orijinal görüntüyü temsil eden sayılarla dolu yeni bir çerçeve veya matristir. Bu işlem, seçilen sayıda filtre için tekrarlanır ve ardından çerçeveler, orijinal görüntüden biraz daha küçük ve daha az karmaşık olan yeni bir görüntüde birleştirilir. Görüntüdeki en önemli değerleri seçmek için havuzlama adı verilen bir teknik kullanılır ve amaç, evrişimli katmanların sonunda görüntünün yalnızca en göze çarpan kısımlarını çıkarmasıdır, bu da sinir ağının görüntüdeki nesneleri tanımasına yardımcı olur.
Dönüşümlü Sinir Ağları iki farklı bölümden oluşmaktadır. Evrişimli katmanlar, görüntünün özelliklerini çıkaran ve bunları sinir ağı katmanlarının yorumlayabileceği ve öğrenebileceği bir formata dönüştüren şeydir. Erken evrişimli katmanlar, basit çizgiler ve sınırlar gibi görüntünün en temel öğelerini çıkarmaktan sorumludur. Orta kıvrımlı katmanlar, basit eğriler ve köşeler gibi daha karmaşık şekilleri yakalamaya başlar. Daha sonraki, daha derin evrişimli katmanlar, CNN'nin sinir ağı kısmına iletilen ve sınıflandırıcının öğrendiği şey olan görüntünün üst düzey özelliklerini çıkarır.












