Bilgisayarlı Görü (Computer Vision)

Resimlere, fotoğraflara bakınca nesneleri, insanları, ağaçları, arabaları görürüz. Ve bunların hepsini birbirinden çok kolay bir şekilde ayırt edebiliriz. Makineye de yaptırılmak istenilen en temel görev bu aslında. Verilen nesneyi tanıyıp ne olduğunu belirleyebilmesi. Bilgisayar bilimcileri de 1960’lardan beri resimlere bakınca insan beyni gibi sonuçlar çıkartabilen makineler üzerine uğraşıyor. İnsan beyninin temel yetilerinden olan görmeyle ilgili rahatça yapabildiği şeyleri makinelere yaptırabilmek çok da kolay değil. Ancak son 10 yılda ciddi gelişmeler kaydedildi.

Bilgisayarlı Görü Nedir?

Birçok yapay zeka veya makine öğrenmesi alanında olduğu gibi burada da durum aynı. Yani doğal bir beyin fonksiyonunun makine versiyonunu yapmak.

Bilgisayarlı görü en temel anlamında insan beyninin görmeyle ilgili yapabildiklerini makineye yaptırmaya çalışmaktır. O yüzden yapay görmede diyebiliriz. En temel görevi de nesneleri tanımaktır. Nesneleri tanımak ve gruplayabilmek.  Amaç dijital görüntülerin içeriğini anlamlandırmak. Makineye görüntüden bir nesne, metin veya bir model çıkarımı yaptırabilmek.  Örneğin Google resimlerde bir görsel aramak. Bizim için belirli resimler arasından tekne veya kuş resmini bulmak zor olmasada makineye için çok zor olabiliyor. Ya da biz her gördüğümüz arkadaşımızı rahatlıkla tanırken Facebook kişileri etiketlemede bizim kadar rahat değil.

Neden Makineler Görmeye Çalışırken Çok Zorlanıyor?

Dijital resimleri uygun formatlarda makineye sunup yararlı bilgi almak için uzun süredir büyük bir çaba var. Buna rağmen henüz çok iyi gören bir makine yapılamadı. Bunun sebebi doğal görme işleminin yapısının aslında karışık olması. Ya da en azından ilk başta sanıldığı kadar kolay olmaması. Gören ve gördüğünü anlamlandıran makineler neredeyse yeni kullanıma başladı diyebiliriz. Ondan önce sadece makinenin gözleri açılmaya çalışılıyordu. Sebebi olayın bir kamera ve birkaç algoritma ile çözüme kavuşmasını ummak olabilir. İnsan beyni ise içeride çalışırken sanıldığından daha karmaşık olabiliyor.

Diğer bir nedeni de resimlerin dünyasının çok renkli ve karmaşık olması. Üst üste gelmiş birkaç farklı objeyi ayırt etmek bizim için ne kadar kolaysa makine için tam tersi durumda olabiliyor. Konumu, ışık derecesi, önünde ya da yanında onu kapatan bir nesne olup olması gibi sonsuz durum var. Ve bu sonsuz durumların algoritmalar tarafından incelenip nesneyi tespit etmesi bazen çok zor olabilmekte.

Yardımımıza Koşan Yapay Sinir Ağları

Görüntüler üzerinde çalışacaksak karşımıza derin öğrenme algoritmaları çıkıyor. Çeşitli derin öğrenme algoritmaları ile görüntülerdeki nesneler birbirinden ayrıştırılabiliyor. Bu algoritmalardan en çok kullanılanı evrişimli sinir ağlarıdır (CNN). Yann LeCun’un bilgisayar bilimine kattığı bu sinir ağları en etkili yeniliklerden biridir. Evrişimli sinir ağları özelleştirilmiş bir derin öğrenme algoritmasıdır. İlk katmanı konvolüsyonel bir katmandan oluşan bu ağların devamını pooling ve fully-connected katmanları takip ediyor. Bu ağların ilk katmanı konvolüsyonel katmandır. Görüntünün temel özelliklerini anlamaktan sorumlu bu katmanların arasında genellikle pooling katmanı yer alır. Pooling katmanı boyut küçültme ve hesaplama sayısını azaltmak için kullanılır. Fully connected katmanı ise klasik sinir ağı yapısında bulunan bir katmandır. Ve her zaman en sonda bulunur.

Basit evrişimli sinir ağı örneği

Birçok tekrarlı katmandan, ileri veya geri yayılımdan, testlerden sonra model eğitilip görüntüyü tanımaya hazır hale geliyor. Böylece makinelerde gözlerini açmış oluyor.

Bilgisayarlı Görü Mü? Görüntü İşleme Mi?

Lakin burada görüntü işleme ile bilgisayarlı görüyü karıştırmamamız gerekir.

Görüntü işlemede görüntü belli bir formatta makineye verilir ve bir çıktı alınır. Belirli algoritmalar ile görüntüyü istenilen hale hazırlar. Makine görüntüyü daha sonra veya başka bir amaçla kullanmak için saklar. Görüntü işlemenin görüntü onarımı, görüntü iyileştirme, sahne geri çatımı, filtreleme gibi farklı dalları vardır.

Bilgisayarlı görü ise görüntü işlemenin üst konusudur diyebiliriz. Bilgisayarlı görü doğal olan görmeyle ilgili tüm işleri kapsar. Bunlar daha çok nesne tanıma, hata tespiti, sınıflandırma gibi işlemlerdir. Burada makineye görüntüyü verdiğimiz zaman farklı ya da istenilen bir çıktı yerine bilgi alırız. Bu bilgi sonucuna göre yapılacak işleme karar veririz. Bunlar görüntü işlemenin alanı olabilir. Yani bilgisayarlı görme istenilen bilgiyi elde ettikten sonra bazı sorunlar için görüntü işlemeden faydalanır.

Kısa Tarihi

1966 da Seymour Papert, Marvin Minsky ve ekibi yaz görüşü projesi adında bir proje başlattı.1-2 Projenin amacı bir bilgisayar programının nesneleri tanımasıydı. Ancak bu işlem manuel olarak yapılıyordu. Her nesne için farklı kurallar yazılıyor ve makinenin nesnenin ne olduğunu doğru tahmin etmesi isteniliyordu. Nesnelerin her biri farklı açıdan farklı ışıkla durduğu için tüm nesneler için manuel kurallar yazmak zordu. Nitekim bu proje olumlu sonuçlanmadı.

Marvin Minsky ve Seymour Papert

 

Fukushima

 

1979’da Kunihiko Fukushima tarafından kullanılan çok katmanlı neocognitron isimli yapay sinir ağı nesneleri tanımaya yardımcı oluyordu. Ağ nesneleri öğrenebiliyordu ancak bu modelde yeterince iyi sonuç vermedi. Buna rağmen bilgisayarlı görü alanında önemli bir gelişmeydi.

Neocognitron mimarisi

 

Yann LeCun

1980 lerde Yann LeCun geri yayılımlı evrişimli sinir ağlarını (CNN) tanıttı ve inanılmaz bir gelişmeydi. CNN’ler dijital görsellerden bilgi edinilmesinde kullanılıyordu. Yann LeCun ve arkadaşlarının 1990’larda yayınlamış olduğu LeNet-5 ilk başarılı sonuç veren bir evrişimli sinir ağı modelidir. Bu basit model el yazıları, çekler ve posta numaralarını okumakta olumlu sonuçlar vermiştir.

LeNet-5 mimarisi

 

2012 yılında ImageNet in kazananı AlexNet evrişimli sinir ağlarına olan ilgiyi tekrardan alevlendirdi. Evrişim ve pooling katmanlarının birbirini takip eden yapısı itibariyle LeNet modeline benzemektedir. Ancak ondan çok daha derin ve büyüktür. Etkili bir yenilik olan AlexNet sınıflandırma hatasını %26 dan %15 e düşürdü. Bu çok heyecanlandırıcı ve başarılı bir olaydı. Nitekim birçok şirket AlexNet’in bu başarısından sonra hizmet servislerinde yapay sinir ağlarını kullanmaya başladı.

AlexNet mimarisi

Ancak yinede bu ağlar tartışmasız en çok bilgisayarlı görü için kullanılıyor.

Kullanım Alanları

Bilgisayarlı görü günlük hayatta kullandığımız hemen hemen birçok teknolojinin içerisinde var. Google görsellerde kedi resmi arattığınız zaman arkada bu ağlar çalışıyor. Var olan tüm görsellerin içinden kedi olan görsellerin belirleyip sizin karşınıza getiriyor. Ya da otomatik metin düzelticiler. Yazdığımız yazıyı okur anlar ve benzer daha doğru başka bir yazı sunar. Otonom araçlardan yüz tanıyarak açılan telefonlara kadar örneklendirmek mümkün.

Bilgisayarlı görünün kullanıldığı en kritik alanlardan biride medikal alanıdır. Mr ve röntgen sonuçlarını tarayıp kanserli hücreleri tespit eder. Ayrıca göz rahatsızlığı damar rahatsızlığı gibi hastalıkların ortaya çıkmasını erken tahmin edebilir. Kan kayıplarının ya da kanamaların tespitinde de bilgisayarlı görü doğru sonuçlar veriyor. Bu yöntem daha çok cerrahi operasyonlar sırasında kullanılıyor.

En popüler ve en heyecanlı kullanım alanı için otonom araçlar diyebiliriz bence. Birçok kişi arabası kendi kendine giderken diğer işleriyle ilgilenmenin hayalini kuruyordur belki de. Zaten uzun süredir kendi kendine park edebilen araçlar kullanımdaydı. Ancak artık tamamen otonom araçlar üzerinde çalışılıyor. Trafik kazalarının birçoğunun yorgun sürücüler veya dikkatsiz ve aşırı hız seven sürücüler olduğunu düşünürsek. Belki aracın kendi kendine gitmesi çok daha iyi olabilir.

Bilgisayarlı görü güvenlik sektöründe de oldukça yaygın kullanılır durumda. Telefonlardaki yüz tanıması, kapılardaki retina tarayıcılar örnek verilebilir. Otomatik plaka tanıyıcılar ve araç takibi gibi güvenlik önlemleri de yine trafik içinde var olan güvenlik çözümlerindedir.

Bilgisayarlı görünün sıkça kullanıldığı bir diğer alanda içerik denetimidir. Her gün farklı platformlarda birçok paylaşım yapılmaktadır. Sosyal medyadaki milyonlarca görüntünün içinde aşırılık, şiddet, pornografi içeren içerikleri tespit edilip kaldırılması gerekmektedir.  Bunun içinde kendine uygun olarak hazırlanmış derin öğrenme algoritmaları kullanılıyor.

Bilgisayarlı görünün birçok kullanım alanı daha mevcut.

  • Askeriye
  • Medikal
  • Haritacılık
  • Optik karakter tanıma
  • Pazarlama
  • Finans

 

Bilimle Kalın. Sevgilerle

Kaynakça

  1. http://hdl.handle.net/1721.1/6125
  2. http://people.csail.mit.edu/brooks/idocs/AIM-100.pdf
  3. https://www.rctn.org/bruno/public/papers/Fukushima1980.pdf
  4. https://en.wikipedia.org/wiki/Neocognitron
  5. https://dergipark.org.tr/tr/download/article-file/396994
  6. https://en.wikipedia.org/wiki/Computer_vision
  7. https://medium.com/@altugdemirden/deep-learning-836ae89a2be3
  8. CNN’lerle ilgili detaylı bilgi için bkz: https://stanford.edu/~shervine/l/tr/teaching/cs-230/cheatsheet-convolutional-neural-networks

 

 

 

 

0
0

Patreon

üzerinden bize destek olabilirsiniz!

.

Birlikten kuvvet doğar! Sizde #patreon üzerinden bizim yanımızda olabilirsiniz. Yaptığımız gönüllü çalışmaları arttırmak için bize destek olun.

Ücretli ve Ücretsiz Eğitimler

Türkiye'nin en büyük veri bilimi topluluğu ile kariyerinizi inşa edin.

Data Science Earth

Data Science Earth ekibi, üst düzey Veri Bilim çözümleri üretmek amacı ile toplanmış akademisyenler ve uzmanlardan oluşmaktadır. Öncelikli olarak veri bilincini geliştirmeyi ve küreselleşen rekabet ortamında verinin gücünün doğru kullanılmasını sağlamayı amaçlamaktadır.

Sponsor

QuestionPro 35 farklı soru seçim özelliği ile anket çalışmalarımıza güç katmaktadır.