Image 174
Görüntü İşlemeye Giriş

Günlük hayatta gördüğümüz görüntülerin bilgisayarlar tarafından nasıl ifade edildiğini hiç düşündünüz mü? Dijital görüntüler bilgisayarlar tarafından 2 boyutlu matrisler olarak ifade edilirler. Siyah beyaz görüntüleri ifade etmek için 2 boyutlu tek matris yeterli olurken, renkli görüntüleri ifade etmek için RGB (Kırmızı, Yeşil, Mavi) olmak üzere 3 adet 2 boyutlu matris gerekmektedir (Şekil 1). 8 bitlik standart bir görüntü için, 28 = 256 hesabına göre, her bir matris elemanı 0-255 arası bir değer alır. Bu değer, görüntünün ilgili pikselinin renk yoğunluğunu ifade eder. Örnek olarak, matrislerdeki değerleri (255, 0, 0) olan bir piksel kırmızı rengi ifade ederken, (0, 255, 0) olan piksel yeşil rengi, (0, 0, 255) olan piksel ise mavi rengi ifade eder.

Şekil 1. Renkli bir görüntünün bilgisayar tarafından ifade edilişi [7]

Görüntü matrisinin değerleri her zaman renk veya parlaklık ifade etmek zorunda değildir. Örnek olarak, ultrason cihazları çalışma prensibi gereği, ses dalgaları göndererek, organlar tarafından soğrulan, geçirilen veya geri yansıtılan dalgaları yakalayıp görüntü oluşturur. Ultrason görüntüsünün her bir matris elemanı, görüntüde denk gelen organın veya objenin ses geçirgenliğini ifade edebilir. Veya derinlik sensöründen alınan verilerle oluşturulan bir görüntünün matris elemanları, ilgili pikselin gerçek dünyadaki uzaklığını ifade edebilir. Yazının devamında, görüntüler üzerinden anlamlı veriler elde etme, görüntü işleme uygulamaları ve teknikleri hakkında biraz daha detaylı bilgi vereceğim.

Görüntü İşleme

Görüntünün bilgisayar tarafından nasıl ifade edildiğini anladık. Peki görüntü işleme nedir? Hangi uygulamaları bulunmaktadır?  

Görüntü işleme, dijital görüntüler üzerine uygulanan bir dizi algoritmalarla, görüntüden anlamlı veriler elde etme veya ihtiyaca göre görüntüyü değiştirme, dönüştürme işlemidir. Çok geniş uygulama alanları bulunmaktadır. Görüntü düzeltme, sıkıştırma, obje tanıma, yüz ve parmak izi gibi biyometrik verileri tanıyarak, mobil uygulamalara güvenli giriş, kimlik fotoğrafı ile kameradan alınan fotoğrafın eşleştirilerek, kimlik tespiti yapılması ve uzaktan bankacılık hesabı açılışı için güvenlik adımı sağlaması, medikal görüntüleri işleyerek hastalık tespiti, görüntü işlemenin kullanım alanlarından bazılarıdır.

Görüntü Sınıflandırma

Görüntü işlemenin bir alt uygulama alanı olan görüntü sınıflandırma, aynı gruba ait görüntüleri tanıyarak sınıflandırma işlemidir. Bir görüntü anlamlandırılırken temel olarak regresyon veya sınıflandırma yöntemleri kullanılabilir. Regresyonda çıktı tek bir değer alırken, sınıflandırma tüm sınıflar için toplamı 1 olacak şekilde bir olasılık üretilir. Regresyona örnek olarak, bir ev görüntüsünden evin fiyatını tahmin eden bir sistem, çıktı olarak tek bir değer yani fiyat verir. 0-9 arasındaki el yazısı rakamları tanıyan bir sistem ise 10 adet çıktı üretir. Bu çıktılar, girdi görüntünün her bir rakama benzeme oranını ifade eder ve toplamları 1 olmak zorundadır.

Şekil 2. Araba, insan ve eve ait benzersiz özellikler

Bir görüntü sınıflandırılırken, ilk olarak her sınıf için benzersiz özelliklerin belirlenmesi gerekmektedir. Şekil 2’de araba, insan ve ev sınıflarına ait bazı benzersiz özellikler gösterilmiştir. Bu özellikler belirlendikten sonra, görüntüler içerisinde aranarak elde edilen sonuca göre sınıflandırma gerçekleştirilir. Bir görüntüde bir sınıfa ait ne kadar çok benzersiz özellik varsa o sınıfa ait olma olasılığı o kadar yüksektir.

Günümüzde, her alanda olduğu gibi, görüntü işleme alanında da derin öğrenme tabanlı yöntemler popülerleşmiştir. Geleneksel yöntemlere göre çok daha başarılı sonuçlar üretmesinin yanında bu tip benzersiz özellikleri de önceden işaretlemeye gerek kalmadan, kendi kendine öğrenmektedir. Öncelerde bu özellikler, eğitim aşamasından insanlar tarafından işaretlenerek, özellik tanımlayıcı (feature descriptor) [1] adı verilen algoritmalar ile görüntü özellikleri çıkartılıp, bu özelliklerle makine öğrenmesi algoritmaları eğitilerek sınıflandırma gerçekleştirilmekteydi. Bunların en sık kullanılanı HOG (Histogram of Oriented Gradients) [2] özellik tanımlayıcısıydı. Makine öğrenmesi yöntemi olarak ise yaygın olarak SVM (Support Vector Machine) [3] kullanılmaktaydı. Sistem basitçe şu şekilde çalışmaktaydı: ev sınıfı için düşünecek olursak, eğitilecek ev görüntülerinden alınmış benzersiz parçalar (pencere, cam, kapı) kırpılarak, özellik tanımlayıcılara verilir. Tanımlayıcılar, bu benzersiz parçaların görüntü özelliklerini çıkartır. Bu özellikler ile SVM makine öğrenmesi algoritması eğitilir. Test aşamasında ise sınıflandırılacak görüntü geldiğinde, özellik tanımlayıcılar görüntü üzerinde çalışır, elde edilen özellikler SVM algoritması ile sınıflandırılarak görüntü sınıflandırma gerçekleştirilir.

Şekil 3. HOG özellik tanımlayıcısından elde edilen özellikler ile her bir sınıf için SVM sınıflandırıcıları eğitilir [5]

Öncelerde obje tanıma alanında çok sık kullanılan HOG + SVM, derin öğrenme tabanlı sistemlerin geliştirilmesiyle tarih olmuştur. Günümüzde bu iş için Konvolisyonel Sinir Ağları (CNN)[4]’ler yaygın olarak kullanılmaktadır. Adından da anlaşılacağı üzere, görüntü üzerinde konvolüsyon işlemi yapılarak görüntüye ait özellikler çıkartılmakta ve bu özellikler ile derin ağ düğümleri eğitilerek lineer olmayan bir aktivasyon fonksiyonu ile ağ optimizasyonu sağlanmaktadır.

Şekil 4. Konvolüsyon işlemi

Şekil 4’te konvolüsyon işlemi gösterilmiştir. Bu işlem, görüntü üzerinde kernel adı Lverilen bir pencere gezdirilerek gerçekleştirilir. Kernelin örtüştüğü piksellere denk gelen değerler ile kernelin değerleri çarpılır ve çıkan sonuçlar toplanarak tek bir sonuç elde edilir. Konvolüsyon işlemi sonrasında görüntü, Şekil 4’te görüldüğü gibi küçülerek, özet bir hal almış olur. Derin ağ, çok fazla birbirine bağlı katmandan oluşmaktadır. Görüntüye her katmada farklı ölçeklerde konvolüsyon uygulanarak, ilgili katmandaki sinir ağları, çıkan sonuçlarla eğitilir. Bu sayede her katman, görüntünün farklı detay seviyelerinde bir şeyler öğrenmiş olur. Önceden sınıflara ayrılmış eğitim görüntüleri ile herhangi bir işaretleme olmadan eğitilen derin ağ böylece sınıfları öğrenmiş olur. Gelen bir görüntü, eğitilmiş modele verilerek sınıflandırma yapılması sağlanır. Derin ağ mimarisinin geleneksel yöntemlere göre dezavantajı eğitim için çok fazla görüntüye ihtiyaç duymasıdır.

Tabii ki CNN’ler konvolüsyon işleminden ibaret değil 😊. Bir sonraki yazımda bir CNN’in uçtan uca görüntü ile eğitilmesi ve eğitilmiş model üzerinden görüntü sınıflandırmayı detaylı bir şekilde anlatacağım.

Sonuç

Görüntü işleme uygulamaları, gelişen derin öğrenme teknolojisi ile birçok alanda hayatımızı kolaylaştırmaktadır. Bu yazıda görüntü işlemeye giriş yapmış olduk. Görüntüler bilgisayarlar tarafından nasıl ifade edilir? Görüntü işleme uygulamaları nelerdir? Bir görüntü işlenerek nasıl sınıflandırılır?  Geçmişten günümüze kullanılan yöntemler nasıl gelişmiştir? Sorularına cevaplar verdik. Derin öğrenme öncesinde, görüntü yapısından manuel olarak çıkartılan benzersiz özellikler ile görüntüler anlamlandırılmaktaydı. Günümüz teknolojisi ile artık bu süreç, otomatik olarak benzersiz özellikleri çıkartıp görüntüleri anlamlandırmaya evrilmiştir. Sonraki yazılarda, derin öğrenme tarafında bu konuları daha detaylı olarak ele alacağız.

Kaynakça

  1. Leng, Chengcai, et al. “Local feature descriptor for image matching: A survey.” IEEE Access 7 (2018): 6424-6434.
  2. Dalal, Navneet, and Bill Triggs. “Histograms of oriented gradients for human detection.” 2005 IEEE computer society conference on computer vision and pattern recognition (CVPR’05). Vol. 1. Ieee, 2005.
  3. Noble, William S. “What is a support vector machine?.” Nature biotechnology 24.12 (2006): 1565-1567.
  4. Krizhevsky, Alex, Ilya Sutskever, and Geoffrey E. Hinton. “Imagenet classification with deep convolutional neural networks.” Advances in neural information processing systems 25 (2012).
  5. Chen, Albert Y., et al. “Conflict analytics through the vehicle safety space in mixed traffic flows using UAV image sequences.” Transportation research part C: emerging technologies 119 (2020): 102744.
  6. Liang, Jiefeng, et al. “Two-terminal fault location method of distribution network based on adaptive convolution neural network.” IEEE Access 8 (2020): 54035-54043.
  7. https://www.v7labs.com/blog/image-processing-guide (2023, 1 Kasım)

 

Enes Aslan
Mayıs 27 , 2024
Diğer Blog İçerikleri