Bir cümlelik özet
Görüntü tanıma, bir bilgisayarın fotoğraftaki pikselleri sayılara çevirip bu sayılardaki örüntülere bakarak resimde ne olabileceğini tahmin etmesidir; sihir değildir ve yanılabilir.
Neden önemli?
Etrafımızdaki birçok araç fotoğrafların içinde ne olduğunu "anlıyor" gibi görünür. Telefon kamerası yüzlerin etrafına kare çizer, fotoğraf uygulaması resimleri "kedi" ya da "deniz" diye gruplar, bazı kapılar plakayı okuyup açılır.
Bu sistemlerin nasıl çalıştığını bilmezsek iki hataya düşeriz. Ya "bilgisayar gerçekten görüyor" diye düşünüp ona olduğundan fazla güveniriz, ya da "büyülü bir şey" deyip merakımızı kaybederiz. İkisi de doğru değildir. Görüntü tanıma, veri ve örüntü üzerine kurulu bir araçtır. Nasıl çalıştığını anlarsan hem daha akıllıca kullanır hem de yanıldığı yerleri fark edebilirsin.
Görüntü aslında sayılardan oluşur
Bir bilgisayar için resim, bir tablo dolusu sayıdır. Ekrandaki her küçük noktaya piksel denir. Her piksel bir renk ya da parlaklık değeri tutar.
Siyah-beyaz basit bir resmi düşünelim. Her pikseli tek bir sayıyla gösterebiliriz: 0 açık (beyaz), 1 koyu (siyah) olsun. O zaman küçük bir resim, sayılardan oluşan bir ızgaraya dönüşür.
0 1 1 1 0
0 0 1 0 0
0 0 1 0 0
0 0 1 0 0
0 1 1 1 0
Gözünü biraz kısıp bakarsan bu sayılarda bir "T" harfi görebilirsin. Bilgisayar harfi görmez; sadece sayıları görür. Görüntü tanımanın ilk adımı budur: resmi, üzerinde işlem yapılabilecek sayılara çevirmek. Renkli resimlerde her piksel genellikle üç sayı tutar (kırmızı, yeşil, mavi miktarı); fikir yine aynıdır.
Pikselden sınıfa: görüntü tanıma nasıl çalışır?
Görüntü tanımayı üç adımlı bir yol gibi düşünebilirsin: piksel → örüntü → sınıf.
1. Piksel
Resim sayılara çevrilir. Az önce yaptığımız iş buydu.
2. Örüntü
Sistem sayılarda tekrar eden şekilleri arar: kenarlar, köşeler, koyu ve açık bölgeler, çizgiler. Örneğin bir yüzde iki koyu bölge (gözler), altında bir çizgi (ağız) gibi örüntüler sık tekrar eder. Sistem bu örüntüleri binlerce örnek resim üzerinde önceden görmüştür.
3. Sınıf
Bulunan örüntüler daha önce görülenlere benzetilir ve bir tahmin üretilir: "Bu resim büyük olasılıkla bir kedi." Buradaki anahtar kelime *olasılık*tır. Sistem emin değildir; sadece en yakın bulduğu etiketi söyler.
Aşağıda bu fikri çok basit bir kuralla deneyelim. Bir resmi sayılara çeviriyor, tek bir özellik (koyu piksel oranı) hesaplıyor ve bir eşiğe göre karar veriyoruz. Bu gerçek bir yapay zekâ modeli değildir; sadece "sayıdan sınıfa" adımını gösteren bir kuraldır.
# Küçük bir resmi sayılarla temsil edelim.
# 0 = açık piksel, 1 = koyu piksel
resim = [
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1],
[1, 1, 0, 1, 1],
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1],
]
# Özellik: koyu piksellerin oranı
koyu = sum(sum(satir) for satir in resim)
toplam = len(resim) * len(resim[0])
oran = koyu / toplam
# Basit kural (eşik): oran yüksekse "dolu", düşükse "boş"
if oran > 0.5:
tahmin = "dolu"
else:
tahmin = "bos"
print("Koyu piksel:", koyu, "/", toplam)
print("Tahmin:", tahmin)
Bu kod gerçek görüntü tanımanın çok küçük bir taklididir. Gerçek sistemler tek bir özellik yerine binlerce özelliğe bakar. Ama temel mantık aynıdır: sayıları özet bir bilgiye indir, sonra bir kurala göre sınıfa ata.
Günlük hayattan iki örnek
Örnek 1: Fotoğraf uygulamasının resimleri gruplaması
Telefonundaki galeri uygulaması resimleri "yemek", "manzara", "belge" gibi gruplara ayırabilir. Bunu, her fotoğraftaki renk ve şekil örüntülerini daha önce gördüğü örneklerle karşılaştırarak yapar. Çoğu zaman işe yarar; ama bir pizza fotoğrafını bazen "çiçek", bir bulut fotoğrafını "kar" sanabilir. Çünkü örüntüler benzeştiğinde tahmin de şaşabilir.
Örnek 2: Kameranın yüz çerçevesi çizmesi
Fotoğraf çekerken kamera yüzlerin etrafına kare çizer. Buna teknik olarak yüz algılama denir (resimde yüz var mı?). Bu, kimin yüzü olduğunu bilen yüz tanımadan farklıdır. Kamera "burada yüze benzeyen bir örüntü var" der, o kadar. Bazen bir prizin iki deliği ve altındaki çizgi de yüze benzediği için kamera oraya kare çizer. Bu, sistemin gerçekte "görmediğinin", sadece örüntü aradığının güzel bir kanıtıdır.
Görüntü tanıma nerede yanılır?
Görüntü tanıma güçlü bir araçtır, ama kusursuz değildir. Yanılma nedenlerini bilmek onu daha güvenli kullanmanı sağlar.
- Kötü veya yanlı veri. Bir sistem çoğunlukla tek tip örnekle eğitildiyse, farklı örneklerde daha çok yanılır. Örneğin sadece açık zeminde çekilmiş kupa fotoğraflarıyla eğitilen bir sistem, karanlıkta çekilmiş kupayı tanımayabilir. Bir önceki dersin konusu olan yanlı veri, burada doğrudan sonucu bozar.
- Benzeyen örüntüler. Bir çöl köpeği ile kurt, ya da bir çörek ile bazı hayvan burunları örüntü olarak benzeşebilir. Sistem en yakın etiketi seçer ve yanılır.
- Bağlamı anlamama. Sistem resimdeki nesneyi bulabilir ama neden orada olduğunu, tehlikeli olup olmadığını anlamaz. Anlam ve sorumluluk insana aittir.
Bu yüzden önemli kararlarda (kim olduğunu belirleme, güvenlik, sağlık) görüntü tanımanın çıktısı tek başına yeterli sayılmaz; bir insan tarafından kontrol edilmelidir.
Mini uygulama
Kendi "veri setini" kâğıt üzerinde oluştur. 5x5'lik boş bir ızgara çiz.
- İçine iki farklı basit şekil yerleştir: biri "dolu" (çoğu kare koyu), biri "ince" (az kare koyu). Her kareyi 0 veya 1 diye işaretle.
- Her iki şekil için koyu kare sayısını topla ve 25'e böl (koyu piksel oranı).
- Yukarıdaki kodun kuralını uygula: oran 0,5'ten büyükse "dolu", değilse "ince" de.
- Şimdi sistemi kandırmayı dene: kurala göre yanlış sınıflanacak bir şekil çizebilir misin? (Örneğin kenarları koyu, ortası boş bir çerçeve.)
Son adım en önemlisidir. Sistemi yanıltan örneği bulduğunda, görüntü tanımanın neden bazen hata yaptığını kendi elinle görmüş olursun.
İstersen bir yetişkinle birlikte "teachable machine" türünde eğitici bir web aracına bakabilirsin. Bu araçlar, kameraya birkaç örnek gösterip bilgisayarın onları ayırt etmesini denemene izin verir. Yalnızca yetişkin gözetiminde, platformun yaş kurallarına uyarak ve kişisel fotoğraf yüklemeden kullan.
Sık yapılan hatalar
"Bilgisayar gerçekten görüyor" sanmak
Sistem görmez, anlamaz, düşünmez. Sadece sayılardaki örüntüleri daha önce gördükleriyle karşılaştırır. "Görüyor" kelimesi kısayoldur, gerçeğin kendisi değil.
Tahmini kesin sonuç gibi almak
Her tahminin bir güven düzeyi vardır. "%90 kedi", "kesinlikle kedi" demek değildir. Önemli işlerde çıktı doğrulanmalıdır.
Yanlı veriyi görmezden gelmek
"Sistem yanılıyor" demek çoğu zaman "verisi eksik ya da tek yönlüydü" demektir. Hata sistemin kötü niyetinden değil, ona verdiğimiz örneklerin sınırından gelir.
Sorumluluğu makineye yıkmak
Görüntü tanımayı kimin, nerede, nasıl kullandığına insan karar verir. Sonuçtan da insan sorumludur.
Güvenlik notu
Fotoğraflar ve özellikle yüz verileri hassas kişisel veridir. Bir yüz, o kişinin kimliğine bağlıdır ve kolayca değiştirilemez.
- Kendi ya da başkalarının fotoğraflarını, yüzlerini internetteki yapay zekâ araçlarına veya veri setlerine yüklemeyin.
- Başka birinin fotoğrafını, izni olmadan hiçbir sisteme koymayın.
- Görüntü tanıma araçlarını yalnızca bir yetişkinin gözetiminde ve platformun yaş kurallarına uyarak kullanın.
- Bir aracın "fotoğrafını yükle" demesi, güvenli olduğu anlamına gelmez. Yüklenen bir fotoğrafın nereye gittiğini çoğu zaman geri alamazsın.
Görüntü tanıma, doğru ve gizliliğe saygılı kullanıldığında yararlı bir araçtır. Bunu belirleyen teknoloji değil, onu kullanan insanın seçimleridir.
Ders özeti
- Bilgisayar için resim, piksel adı verilen sayılardan oluşan bir ızgaradır.
- Görüntü tanıma üç adımda ilerler: piksel → örüntü → sınıf; sonuç kesin değil, bir tahmindir.
- Yüz algılama (yüz var mı?) ile yüz tanıma (kimin yüzü?) farklı şeylerdir.
- Sistemler yanlı veri, benzeşen örüntüler ve bağlamı anlamama yüzünden yanılabilir.
- Fotoğraf ve yüz verisi hassastır; yapay zekâ araçlarını yetişkin gözetiminde ve kişisel veri yüklemeden kullanmak gerekir.
Kontrol soruları
- Bir bilgisayar bir resmi neye çevirerek işler?
- "Piksel → örüntü → sınıf" adımlarında son adım neden kesin bir cevap değil, bir tahmindir?
- Yüz algılama ile yüz tanıma arasındaki fark nedir?
- Sadece açık zeminde çekilmiş kupalarla eğitilen bir sistem, karanlıkta çekilen bir kupada neden yanılabilir?
- Neden kendi ya da başkalarının yüz fotoğraflarını internetteki yapay zekâ araçlarına yüklememeliyiz?
Cevaplar
- Resmi, her noktanın (pikselin) renk veya parlaklık değerini tutan sayılardan oluşan bir ızgaraya çevirir.
- Çünkü sistem, bulduğu örüntüyü daha önce gördüğü örneklere *benzetir*; en yakın etiketi seçer ama emin olamaz. Bu yüzden çıktı bir olasılık, yani tahmindir.
- Yüz algılama, resimde yüze benzeyen bir örüntü olup olmadığını bulur. Yüz tanıma ise o yüzün kime ait olduğunu belirlemeye çalışır. İkincisi çok daha hassastır.
- Çünkü örüntüleri hep açık zeminden öğrenmiştir; karanlık zemin farklı sayı örüntüleri üretir ve sistem bunu tanıdığı örneklere benzetemez. Bu, yanlı verinin doğrudan sonucudur.
- Çünkü yüz hassas kişisel veridir; bir kez yüklendiğinde nereye gittiği kontrol edilemez, geri alınamaz ve başkasının fotoğrafını izinsiz paylaşmak yanlıştır.
Kaynak ve doğrulama notu
“Görüntü Tanımaya Giriş” dersi için doğrulama odağı Görüntü aslında sayılardan oluşur ile 1. Piksel arasındaki ilişkinin örnekler üzerinde tutarlı çalışmasıdır. Bu modüldeki veri kümeleri eğitim amaçlı ve küçüktür; gerçek kişisel veri kullanılmamalıdır. Bir yapay zekâ sonucunun doğruluğu kadar, verinin dengesi, hataların dağılımı ve açıklanabilirliği de değerlendirilmelidir.
Sonraki ders
Ses ve Metin Sistemlerine Giriş