Bu yazıda
- Bilgisayar için bir fotoğraf aslında bir sayı tablosudur
- Evde deneyin: kareli defterde piksel resmi
- Sayılardan anlama: katman katman görmek
- Bilgisayarlı görünün farklı görevleri
- Makineler bizim gibi mi görür?
- Bir modeli nasıl eğitiriz? Küçük bir senaryo
- Günlük hayattan örnekler
- Bir gizlilik notu
- Toparlarsak
Telefonunuzun kamerasını bir arkadaşınıza doğrulttuğunuzda yüzünün etrafında küçük bir kare belirir. Galerinizde “plaj” yazınca deniz fotoğraflarınız listelenir. Bazı arabalar şerit çizgilerini takip eder. Bütün bunların arkasında bilgisayarlı görü (computer vision) adı verilen yapay zeka alanı vardır.
Peki bir bilgisayar, gözü olmadığı halde nasıl “görür”? Bu yazıda cevabı adım adım, bir kareli defter kadar basit bir yerden başlayarak kuracağız.
Bilgisayar için bir fotoğraf aslında bir sayı tablosudur
Siz bir fotoğrafa baktığınızda bir köpek görürsünüz. Bilgisayar ise pikseller görür. Piksel, bir görüntüyü oluşturan en küçük renkli karedir. Ekranınıza çok yaklaşırsanız bu minik kareleri fark edebilirsiniz.
Siyah beyaz bir fotoğrafta her piksel tek bir sayıyla gösterilir: genellikle 0 tamamen siyah, 255 tamamen beyazdır; aradaki sayılar gri tonlarıdır. Renkli bir fotoğrafta ise her piksel üç sayıdan oluşur: kırmızı, yeşil ve mavi miktarı. Buna RGB denir.
Yani bilgisayar açısından bir fotoğraf, dev bir sayı tablosudur. Telefonla çekilmiş sıradan bir fotoğrafta milyonlarca piksel, dolayısıyla milyonlarca sayı bulunur. Bilgisayarlı görünün asıl işi, bu sayı yığınından “burada bir köpek var” sonucunu çıkarmaktır.
Evde deneyin: kareli defterde piksel resmi
Bu etkinlik pikselleri gerçekten anlamanın en kolay yolu.
- Kareli bir defterden 10x10’luk bir alan çizin.
- Basit bir şekil seçin: bir kalp, bir ev ya da bir gülen yüz.
- Her kareyi ya tamamen boyayın ya da boş bırakın. Boyalı kareye 1, boş kareye 0 yazın.
- Şimdi sadece sayı tablosunu bir aile üyesine verin, resmi göstermeyin. O kişi, sayılardan resmi yeniden çizebiliyor mu?
Tebrikler: az önce bir görüntüyü sayılara çevirdiniz ve geri dönüştürdünüz. Bilgisayar da tam olarak bu tabloyla çalışır; sadece çok daha büyük ve renkli bir tabloyla.
Sayılardan anlama: katman katman görmek
Bir sayı tablosundan “köpek” kavramına ulaşmak uzun bir yoldur. Modern bilgisayarlı görü sistemleri bu yolu basamak basamak yürür. Bu basamaklar genellikle sinir ağları ile kurulur. (Sinir ağlarını ayrı bir yazıda daha ayrıntılı anlatıyoruz.)
Basitleştirilmiş haliyle katmanlar şöyle çalışır:
- İlk katmanlar kenarları bulur. Açık bir pikselin hemen yanında koyu bir piksel varsa, orada bir kenar olabilir. Yatay, dikey, eğik çizgiler burada yakalanır.
- Orta katmanlar şekilleri birleştirir. Kenarlar bir araya gelerek köşeleri, eğrileri, daireleri oluşturur.
- Daha derin katmanlar parçaları tanır. Eğriler ve dokular birleşerek bir göz, bir kulak, bir tekerlek gibi parçalara dönüşür.
- Son katman karar verir. “İki göz, tüylü doku, sivri kulaklar, bir burun… Büyük ihtimalle köpek.”
Bunu bir yapbozu çözmeye benzetebilirsiniz. Önce kenar parçalarını ayırırsınız, sonra renk gruplarını birleştirirsiniz, en sonunda bütün resim ortaya çıkar.
Evrişim: görüntü üzerinde gezinen büyüteç
Görüntü işleyen sinir ağlarının önemli bir türü evrişimli sinir ağlarıdır (convolutional neural network, kısaca CNN). Buradaki fikir şudur: Küçük bir pencere, örneğin 3x3 piksellik bir büyüteç, görüntünün üzerinde soldan sağa, yukarıdan aşağıya kaydırılır. Her konumda büyüteç belirli bir desen arar; örneğin dikey bir çizgi. Desen bulunan yerler “parlar”.
Bu büyüteçlerin neye bakacağı elle yazılmaz. Model, eğitim sırasında hangi desenlerin işe yaradığını kendisi öğrenir. Son yıllarda görüntüler için transformer tabanlı yöntemler de yaygınlaştı, ama katman katman desen bulma fikri anlamak için hala çok iyi bir başlangıç noktasıdır.
Bilgisayarlı görünün farklı görevleri
“Görmek” tek bir iş değildir. Bilgisayarlı görü farklı sorulara cevap arar:
- Sınıflandırma: “Bu fotoğrafta ne var?” Tek bir cevap: kedi, araba, elma.
- Nesne tespiti: “Fotoğrafta neler var ve nerede?” Her nesnenin etrafına bir kutu çizilir.
- Bölütleme: “Hangi piksel hangi nesneye ait?” Nesnenin sınırı piksel piksel çıkarılır.
- Poz tahmini: “Bu kişinin kolları, bacakları nerede?” Vücudun iskelet noktaları bulunur.
- Karakter tanıma: “Bu görüntüdeki yazı ne diyor?” Fotoğraftaki metin okunabilir hale gelir.
Makineler bizim gibi mi görür?
Hayır, ve bu fark önemlidir. İnsanlar bir nesneyi birkaç örnekten sonra farklı açılardan, farklı ışıklarda kolayca tanır. Bilgisayarlı görü modelleri ise genellikle çok sayıda örneğe ihtiyaç duyar ve bazen şaşırtıcı hatalar yapar.
- Model, köpekleri hep çimenin üzerinde gördüyse, “çimen” ile “köpek”i birbirine karıştırmayı öğrenmiş olabilir.
- Görüntüye insan gözünün fark etmeyeceği küçük değişiklikler eklendiğinde bazı modellerin kararı tamamen değişebilir.
- Karanlık, bulanık ya da alışılmadık açıdan çekilmiş fotoğraflar modelin performansını düşürebilir.
Bu hatalar çoğu zaman eğitimde kullanılan örneklerle ilgilidir. Hangi fotoğrafların toplandığı, kimlerin ve nelerin eksik kaldığı, modelin dünyayı nasıl “gördüğünü” belirler. Bu konuyu yapay zeka önyargısı yazımızda ele alıyoruz.
Bir modeli nasıl eğitiriz? Küçük bir senaryo
Diyelim ki bir öğrenci, masasındaki kalemleri ve silgileri ayırt eden bir uygulama yapmak istiyor. İzleyeceği yol kabaca şöyledir:
- Fotoğraf toplamak: Her nesneden farklı açılardan, farklı ışıklarda, farklı arka planlarla onlarca fotoğraf çekmek.
- Etiketlemek: Her fotoğrafı doğru klasöre koymak: “kalem” ya da “silgi”.
- Ayırmak: Fotoğrafların bir kısmını eğitim için, bir kısmını da modelin hiç görmeyeceği test için ayırmak.
- Eğitmek: Modelin eğitim fotoğraflarından örüntüleri öğrenmesini sağlamak.
- Test etmek: Test fotoğraflarında kaç tanesini doğru bildiğine bakmak ve yanıldığı örnekleri incelemek.
Çoğu zaman en öğretici an son adımdır. Model, silgiyi hep beyaz masa üzerinde gördüyse, koyu renkli bir masada şaşırabilir. Bu fark edildiğinde çözüm genellikle modeli değiştirmek değil, veriyi zenginleştirmektir.
Günlük hayattan örnekler
- Telefon kameralarının yüzlere odaklanması
- Fotoğraf galerisinde kişi ve yer araması
- Bitki ya da kuş tanıyan uygulamalar
- Belgeleri tarayıp metne dönüştüren uygulamalar
- Üretim hatlarında hatalı ürünleri ayıklayan sistemler
Bir gizlilik notu
Görüntüler kişisel veridir. Bir yüz fotoğrafı, bir ev içi görüntüsü ya da bir okul kıyafeti, sanıldığından fazla bilgi taşıyabilir. Çocuklarla bilgisayarlı görü projeleri yaparken kendi yüzleri ya da arkadaşlarının yüzleri yerine nesneler, oyuncaklar, bitkiler gibi konular seçmek güvenli bir tercihtir. Bu konudaki genel ilkeleri yapay zeka etiği yazımızda bulabilirsiniz.
Toparlarsak
Bir bilgisayar için görüntü, piksellerden oluşan bir sayı tablosudur. Bilgisayarlı görü sistemleri bu tablodan önce kenarları, sonra şekilleri, sonra nesne parçalarını ve en sonunda bütün nesneyi çıkarır. Bu süreç güçlüdür ama kusursuz değildir; ne gördüğü, hangi örneklerle eğitildiğine bağlıdır.
L’Atelier AI’da öğrenciler projelerinde görüntü tanıyan küçük uygulamalar ve oyunlar geliştirerek bu adımları kendi elleriyle deneyimliyor. Programın yapısını program sayfasında inceleyebilirsiniz.
Yazar: Dr. Gökhan Tahıl
L'Atelier AI'ın kurucusu ve mentoru. Galatasaray Üniversitesi Bilgisayar Mühendisliği; Université d'Artois'da yapay zeka doktorası.