BİLGİSAYARLI GÖRME NEDİR? (Computer Vision)

Adından da anlaşılabileceği gibi, bilgisayarlı görme bilgisayar aracılığıyla görme eylemini gerçekleştirmektir.

Ancak burada üzerinde durmamız gereken asıl kavram “görmek”tir.

Masanızın üzerine baktığınızda neler görürsünüz?

Bir elma, bir portakal, bir de çiçek diyelim. Baktığınız anda bunların varlığını söyleyebildiniz, çünkü o nesneleri gördünüz; ancak bilgisayara da bir çiçek görüntüsü geldiğinde anında “bu çiçektir” diyebilmesini bekler misiniz? Veya elma ile portakalı ayırt etmesini? Hatta size bir görüntü versem ve buradaki kelebekleri göstermenizi istesem, hepsini bulmanız veya hiç yok demeniz en fazla kaç saniyenizi alır? Evet bizim için bunları yapmak belki çok kolay, ama o çok akıllı sandığımız bilgisayarlar için bir elma ile portakalı ayırt etmek bile bazen çok zor olabiliyor. Tüm bu saydıklarım, bilgisayarın gördüklerini anlamalarını sağlayan bilgisayar bilimi alt dalı olan bilgisayarlı görmeye aittir. Bilgisayarlı görmenin tam tanımını yapmadan önce bu alandaki uzman kişilerin tanımlarına göz atmanızı istiyorum.

header

Onlara Göre Bilgisayarlı Görme:

Bir veya daha fazla dijital görüntüden üç boyutlu dünyanın özelliklerini hesaplamaktır. (Trucco and Verri)
Görüntülerden fiziksel nesnelerin kapalı ve anlamlı tanımlarını oluşturmaktır. (Ballard and Brown)
Resimlerden veya resim dizilerinden dünyanın betimlemelerini çıkartmaktır. (Forsyth and Ponce)

Bu tanımlara şimdi son bir tane daha ekleyeceğiz, o da Stockman ve Shapiro’nunki. Tekrar “görme” teriminin anlamının altını çizecek olursam, herhangi bir duyuyla elde edilen datadan görsel bilgi çıkarma işlemidir. Bilgisayar duyduklarımızın görüntüsünü çizebilir veya bir kokunun şiddetine göre bir görsel şekil oluşturabilir. Bu bağlamda bilgisayarlı görmenin amacı: herhangi bir duyumsanan veriye göre, nesneler ve manzaralar hakkında kullanışlı kararlar verebilmektir.

Burada nesne olarak belirttiğimiz şeyin özellikle görsel olarak algılanabilir ve maddesel olması vurgulanmalıdır. Bu noktada objelerin sınıflandırılması karşımıza çıkar. Bilgisayarlar, nesne sınıfları hakkında sahip oldukları bilgilere göre karar vereceklerinden, sınıflandırılma ne kadar düzgün yapılırsa o kadar başarılı sonuç alınır. Ancak dünyada bizim ayırt ederek kullandığımız yaklaşık 30.000 nesne kategorisi olduğu düşünülürse, bunun hiç de kolay olmadığı anlaşılabillir. Manzara ise birden çok nesnenin bir araya gelerek oluşturduğu bir bütünlüktür. Tanımlamamızda belirttiğimiz duyumsanan veri ise; görsel, ısıl, kızılötesi, basınç, MR gibi sensörlerden alınan ve görsel bilgi taşıyan tüm veriler olabilir. Bu bilgilere göre verilen kararlar ise: nesneleri tanıma, ayırt etme, sınıflandırma, sınırlandırma, belirleme, bulup getirme, değiştirme, doğrulama gibi durumlardır. Şimdi dilerseniz bilgisayarların görsel bilgileri yorumlaması nasıl başlamış, bir tarihini inceleyelim.

Tarihi

Bilgisayarlı görmenin ilk meyvelerini vermesi ta 1970’lere dayanmakta. Başlarda sadece yazılar gibi çok basit şekiller algılanabiliyordu. Çizgileri etiketlendirerek veya şekli devre ile göstererek işlemek bunlardan birkaçıydı. Bunu izleyen 1980’lerde şekline ve sınırlarına bakarak nesneler tanımlanmaya ve tanımlanan bu nesneler üzerinden kararlar verilmeye başlandı. Bu algoritmalar ise köşe saptama, gölgelendirerek şekil elde etme, fiziksel tabanlı modelleme gibi yöntemlere dayanıyordu. 1990’larda ise bir görüntünün değil, farklı açılardan birçok görüntünün işlenmesi başarılmıştı. Yüz tanıma, hareketten faktorizasyon tabanlı yapı çıkarma, görüntü bölümlendirme gibi aşina olduğumuz yöntemler kullanılmaya başlanmıştı. 2000’li yıllarda ise üç boyutlu modelleme günümüzün en ilgi çeken konularından bir tanesi.

Bilgisayarlı Görmenin Basamakları

  • Düşük seviye: Basitçe bakmak gerekirse, genel olarak üç ayrı basamakta görüntülerden görsel bilgi edinilmekte. İlk basamakta çeşitli görüntü işleme teknikleriyle, resimden bilgileri daha kolay çıkarmamızı sağlayacak başka bir resim elde ediliyor. Keskinleştirme, dağıtma, köşelerini elde etme, eşik değer uygulama, histogramını dağıtma, vb. işlemler uygulanarak ikinci evreye hazırlanıyor.
  • Orta seviye: Bu evrede resimden resmin karakteristik özellikleri çıkarılıyor. Farklı bölgelerin renkleri, çembersel yaylar ve çizgiler, birleşik elemanlar gibi resmin öğeleri çıktı olarak verilirken, bir yandan da bu karakteristikler veri yapılarında tutulur.
  • Yüksek seviye: Son seviyede de elde edilen özelliklerden görüntünün içindeki nesneler bulunabiliyor, başta belirttiğimiz bilgisayarın verdiği “kullanışlı kararlar” çıktılanabiliyor.
2009-Nisan-sinif-ici-farklilik

Genel Hatları ile Bilgisayarlı Görme

  • Görüntü Edinimi (Image Acquisition): Nesneden çıkan fotonların yakalanıp görüntü haline gelmesi aşaması (IAD, Örnekleme, ..)
  • Görüntü İşleme (Image Processing): Nesnenin görüntüsünü işleyerek istenilen özelliklerin çıkarılmasına zemin hazırlanması aşaması (Eşik değer uygulama, bükme, morfolojij işlemler)
    2*. Bölümlendirme (Segmentation): Her zaman uygulanmasa da resmin bölümlendirilmesi
    *** Buraya kadar olan bölüm düşük seviye bilgisayarlı görme olarak düşünülebilir ***
  • Özellik Çıkarma (Feature Extraction): Genelde bir vektörde (veya başka veri yapılarında) tutulan resmin karakteristik özelliklerinin çıkartılması
  • Hazırlanma (Training): Algoritmanın geliştirilmesi ve sınıf özelliklerine uygun olarak herhangi bir bilinmeyen verildiğinde hangi sınıfta olduğunu gösterecek yolların bulunması, yani sınıfların matematiksel modellerinin çıkartılması
    4*. Sonradan İşleme (Post-processing): Bu da her zaman uuygulanmayan bir evre olmasına rağmen bazen resmin hazırlanma evresiyle eş zamanlı olarak değiştirilmesi, verilerin elde edilmesi gerekebilmektedir.
    *** Buraya kadar olan bölüm orta seviye bilgisayarlı görme olarak düşünülebilir ***
  • Tanıma (Recognition): Hazırlanma kısmında geliştirilen algoritmaya göre herhangi bir bilinmeyen verildiğinde onun sınıfının bulunması, yani hazırlanma bölümündeki modellere göre billinmeyenin sınıfının bulunması
  • Yorumlama ve Anlama (Interpretation and Understanding): Artık analizin bitmesi ve bilgisayarlı görmenin amacı olan kullanışlı kararlar verme sonucuna ulaşılması
    *** Buraya kadar olan bölüm de yüksek seviye bilgisayarlı görme olarak düşünülebilir ***