BİLGİSAYARLI GÖRÜ

Dila S.
Pubso Yayın Topluluğu
6 min readOct 17, 2022
photo by https://www.passionateinmarketing.com/

2022 yılındayız… Çok değil sadece elli-altmış yıl önce bu zamanlara gelindiğinde insanlığın ulaşmış olacağı tahmin edilen şeylerin kimine ulaştık kimine ulaşamadık. Hala geliştirilmeye ilk başlandığında kurduğumuz hayallere ulaşamasak da yıllar boyu gösterilen emekler ile kendisinde büyük ilerlemeler kaydetmiş olduğumuz alanlardan biri de Bilgisayarlı Görü. Peki, “Bilgisayarlı Görü” tabiri aklınıza ne getiriyor? Tahminleriniz hazırsa başlıyoruz~

Umut, Yıkım ve Bizi İnsan Yapan Her Şey

(Az biraz tarih)

Bilgisayarlı görüyle ilgili deneylerden belki de ilki görme işlevinin insanlarda nasıl işlediğini daha derinden anladığımız 1959 tarihli bir deneydir. Bu deneyde iki nörofizyolog (David H. HUBEL ve Torsen N. Wiesel) bir kediye, bir dizi resim göstermeleri sonucunda kedinin birincil görsel korteksinde oluşan tepkileri incelediler. Sonuç olarak korteksin önce sert köşe ve kenarlara tepki verdiğini fark ettiler. Yani gözlerimiz baktığı alanda önce çizgi ve köşeleri daha sonra şekilleri algılayarak, basitten karmaşığa doğru bir algoritma izliyordu. Bu basit görüntü işleme biçimi akıllara bir fikir getirdi; bu yöntemi dijitalleştirmek! İşte tam olarak bu çabaya “Bilgisayarlı Görü” diyoruz. Aynı bir insan gibi görebilen ve gördüğünü yorumlayabilen, anlayabilen makineler! Bilim kurgu fantezilerini süsleyen yapay zeka sonunda gerçek olabilirdi, dünyayı değiştirebilirdi. Hem de bu kadar basit… Ya da biz öyle sandık… Bu abartılı hayallerin ateşi 1960’lı yıllarda konu üzerine yapılan yatırımlarla daha da harlandı ve başarısızlıklarla sonuçlanan deneylerle sakinleşti*. Ancak sadece başarısızlıklardan söz edersek insan ırkına haksızlık etmiş oluruz çünkü yine 1960’lı yıllarda görüntülerin bilgisayarlara yüklenmesini sağlayan teknolojiler geliştirilmeye başlandı. Daha 1963 yılında bilgisayarlar 2 boyutlu bir fotoğrafı 3 boyutlu hale getirebilme yetisine sahipti.

Bilgisayarlı görü yıllar boyunca yapay zekanın kanatları altında gelişti. 1974 yılında Optik Karakter Tanıma (OCR) ve Akıllı Karakter Tanıma (ACR) ile banka, plaka tanıma sistemleri, çeviri ve benzeri yerlerde karşımıza çıkmaya başladı. 80–90’lı yıllarda internetin popülerleşmesiyle artan kaynaklar sayesinde alandaki çalışmalar hızlandı. İnsanın görme algoritmasını makinelerin kullanabileceği hale getirmede başarı sağlandı. Sonunda 2012 yılında ILSVRC (ImageNet Büyük Ölçekli Görsel Tanıma Düellosu) adında bir yarışmada Toronto Üniversitesi’nden bir ekibin geliştirdiği AlexNet adlı derin sinir ağı sadece %16,4’lük hata oranıyla yeni bir çağ başlattı.

photo by https://bilder.t-online.de/

Bir Bilgisayar Nasıl Görebilir?

Bilgisayarlı görünün canlıların görme biçiminden ilham aldığını yukarıda belirtmiştik. Bizler görmek için; içerisindeki türlü yapılarıyla bir göze, gözden gelen verileri beyine ileten sinirlere ve hepsinden önemlisi bu verileri yorumlayabilecek bir beyine sahipken makineler bunların hiçbirine sahip değildir. Görmek için insansı yeterliliklere sahip bile olmayan yapay bir zeka nasıl bu konuda insandan daha iyi olabilir? Peki ya bu yaptığına gerçekten “görmek” diyebilir miyiz? İlk soruyu cevaplandıracağız ikinci soruyu ise sizlerin yorumuna bırakıyorum.

Bilgisayarlar görme işlemini içerisine yüklenen görseller aracılığıyla yapar. Yorumlamaya başlamasının temeli ise kısmen insanlar gibidir: eğitimle. Bu eğitimin temelinde ise Yapay Sinir Ağlarının ( YSA ) geliştirilmiş bir türü olan Evrişimli Sinir Ağları (ESA) yer alır.

ESA Nasıl Çalışır?

Tıpkı diğer tüm sinir ağları gibi ESA da veriyi inceler ve öğrenir. Onu diğerlerinden ayıran yanı ise verilen görsellerin özelliklerini herhangi bir insan yardımına muhtaç olmadan ortaya çıkartabilmesidir. Örneğin basit bir sinir ağıyla incelendiğinde bir anlamı olmayacak bir portre ESA’nın ellerinde derinlik ve doku kazanır. Bu yeteneğiyle bilgisayara verilen görsellerin sınıflandırılması, parçalanması, ayrıştırılması gibi birçok alanda büyük bir başarıyla kullanılmaktadır.

ESA’ya verilen bir görüntü kendisini çözümleyen, inceleyen, birleştiren katmanlardan geçer.

  • Konvolüsyonel (Convolutional) Katman

İki kelime: Özellik Saptama. Bu katman ESA’ya verilen görselin** ilk durağıdır. Burada görsel 3 farklı renk kanalı (RGB) üzerinde türlü filtrelere maruz bırakılarak özellikleri ortaya çıkartılır. 6x6x3 bir matrisimiz olsun; buradaki 6’lar matrisin satır ve sütunlarını, 3 ise renk kanallarımızı temsil eder. Filtre matris üzerinde belirlenen Adım sayısınca kayar. Şimdi bu katmanın kullanımına örnek olması için tek bir renk kanalı üzerindeki matrisimize, keskinleştirme efektini, 1 Adım kaydırmayla uygulayalım:

Giriş görüntümüz üzerindeki renk kanalından etkilenir. Her kanal görüntü üzerinde farklı etkilerde bulunduğu için kanalların vereceği matrisler birbirlerinden farklı olacaktır.

Filtremiz ilk 3x3'lük alanda işlemini tamamlayıp 1 Adım sağa kaydı

Efektimiz kanal üzerinde kayarken renk kanalındaki her bir değerle çarpılır ve bu çarpımların toplamı alınır.

Elde edilen bu sonuç tek bir renk kanalından çıktığı için elbette yetersiz. Diğer renk kanallarından çıkan sonuçlar ile toplanıp filtre katsayılarının toplamına bölünerek Öznitelik Haritası ortaya çıkartacak.

~Padding: Giriş Görüntüsünün etrafına oluşacak daralma miktarınca sıfır eklenmesine denir. Sonuç ve girdinin aynı boyutta olması sağlanmak istendiğinde yapılır.

  • Non-Linearity Katmanı (ReLU)

Konvolüsyonel katmandan sonra genellikle ReLU gelir. Bu katman Doğrultucu Fonksiyon kullanarak 0’ın altındaki değerleri 0’a eşitler.

  • Pooling (Downsampling) Katmanı

Genelde ReLU katmanını takip eden bu katmanın görevi bir sonraki Konvolüsyonel katman için giriş görüntüsünün boyunu küçültmektir. Bu katman sayesinde ESA’nın hata yapmamasına yetecek kadar veri elimizde kalırken aynı zamanda aşırı öğrenme (overfitting) engellenmiş olur.

Bu katmanın iki çalışma yöntemi vardır: Average Pooling ve Max Pooling. Max pooling bu yöntemlerden en popüleridir. Adından da tahmin edilebileceği gibi bir maximum değer filtresinin görüntü üzerinde kaydırılması ve filtrede karşılaştırılan değerlerden en büyüğünü seçmesi ile gerçekleşir. Average pooling ise aynı işlemin bir ortalama değer filtresiyle gerçekleştirilmesidir. Bu sefer filtrenin gördüğü değerlerin ortalaması alınır.

  • Tam Bağlantılı Katman (Fully Connected Layer)

Pooling ve Konvolüsyonel katmanlardan gelen veri açılır ve Tam Bağlantılı Katmana verilir.

Bu katman gelen verilerin özelliklerine bakar. Bu özellikleri inceleyerek sınıfını belirler.

~Dropout: Bu yöntem sinir ağının eğitiminde ezber yapmaya başlaması sonucu aşırı öğrenmenin önüne geçmek için ağdaki bazı düğümlerin atılmasıyla gerçekleştirilir.

  • Sınıflandırma Katmanı

“Softmax” kullanarak sınıflandırmayı gerçekleştirir. Softmax tam bağlı katmandan aldığı sınıf verilerini kullanarak veriyi sınıflara olasılıksal bir şekilde yerleştirir.

photo by https://anhvnn.files.wordpress.com/

Toparlarsak

Katman katman dolaşıp artık benliğini kaybeden görselimiz sonunda yolculuğunun sonuna geldi. Bilgisayar artık kendisine en başta verdiğimiz görseli tanıyor! Peki bu yeterli bir sonuç mu? Asla! Aksine hala yolun çok başındayız. Tabii ki gideceğimiz bu uzun yola bakıp şimdiye kadar başaramadıklarımıza yakınmamalı yarım yüzyıldan biraz fazla bir süre içerisinde başardıklarımız için kendimizi takdir etmeliyiz. Yapay zekanın ve beraberinde bilgisayarlı görünün gelecekte getireceği kim bilir neler neler var… Bu yolda yürümek heyecan verici değil mi?

  • *1973 yılında Matematikçi James Lighthill’in yayınladığı bir eleştirel doküman sonrasında Britanya hükûmeti desteğini yapay zeka alanından çekmiştir. Benzer sebeplerle geri çekilen fonlar sonucunda araştırmaların yavaşladığı pek çok dönem olmuştur. Bu dönemlere “AI Winter” yani “Yapay Zeka Kışı” denir.
  • * ESA’ya verilen görüntülerin boyutu seçilirken dikkat edilmelidir. Yüksek boyutlu bir görüntü bizlere yüksek performanslı bir sonuç sunabilecek olsa da eğitim ve test süresini arttıracağı ve bellek ihtiyacının daha fazla olacağı unutulmamalıdır!!

KAYNAKÇA

https://www.ibm.com/topics/computer-vision

https://oxford.universitypressscholarship.com/view/10.1093/acprof:oso/9780195176186.001.0001/acprof-9780195176186-chapter-7

https://www.motionmetrics.com/how-artificial-intelligence-revolutionized-computer-vision-a-brief-history/

https://towardsdatascience.com/history-of-the-first-ai-winter-6f8c2186f80b

https://www.ibm.com/tr-tr/cloud/learn/machine-learning

https://rubikscode.net/2018/02/26/introduction-to-convolutional-neural-networks/

YAZARLAR

Dila Ş. ÇAKAR

Fatma ERDOĞAN

--

--