in ,

Kamera İle Nesne Sayma (Bölüm 3)

2.2.5. Fourier Dönüşümü 

Fourier Dönüşümü, bir görüntüyü sinüs ve kosinüs bileşenlerine ayırmak için kullanılan önemli bir görüntü işleme tekniğidir. Dijital görüntüler ile işlem yapıldığı için Ayrık Fourier Dönüşümü kullanılmaktadır. Ayrık Fourier Dönüşümü, örneklenmiş Fourier Dönüşümüdür, bu nedenle bir görüntüyü oluşturan tüm frekansları içermez. 

NxN boyutunda bir görüntü için Ayrık Fourier Dönüşümü aşağıdaki denklem ile gösterilir: 

Bu denklemde F(N-1, N-1) en yüksek frekansı temsil etmektedir. Fourier görüntüsü giriş görüntüsüne yeniden dönüştürülebilir. Ters Fourier Dönüşümü aşağıdaki denklemde gösterilmiştir.

Bir görüntünün geometrik özelliklerine erişmek istendiği zaman Fourier Dönüşümü kullanılabilir.

2.3. Görüntü Segmantasyonu (Bölümlemesi) 

Görüntü Segmantasyonu, genellikle görüntüdeki piksellerin özelliklerine bağlı olarak bir görüntüyü birden çok parçaya veya bölgeye bölmek için dijital görüntü işleme ve analizinde yaygın olarak kullanılmaktadır. Görüntü bölümleme, ön planı arka plandan ayırmayı veya piksel bölgelerini renk ve şekil benzerliğine göre sınıflandırabilir. Görüntülerden belirli bir piksel kümesini ayırmak ve gruplamak için çeşitli görüntü segmantasyon algoritmaları kullanılabilmektedir. Bu algoritmalar sayesinde piksellere etiket atanmaktadır. Etiketler kullanılarak sınırlar belirlenebilir, çizgiler çizilebilir ve gerekli nesne diğer nesnelerden ayrılabilmektedir. 

Dijital görüntü işleme kullanılarak görüntüleri bölümlerine ayırmak için farklı yöntemler vardır.

2.3.1. Eşik (Threshold) Tabanlı Bölümleme 

Eşik tabanlı bölümleme ile her piksel değeri eşik değeri ile karşılaştırılır. Bu algoritma ile ön plan ve arka plan birbirinden ayrılabilmektedir. Bu algoritmanın dezavantajı, görüntüyü her zaman iki kategoriye ayırmasıdır. 5 adet eşikleme işlemi bulunmaktadır: 

Binary Eşiklemesi: Belirlenen eşik değeri ile piksel değerlerini karşılaştırmaktadır. Piksel değeri eşik değerinden küçük veya eşitse piksele 0 değeri atanır yani piksel siyah yapılır. Piksel değeri eşik değerinden büyükse piksele 255 değeri atanır yani piksel beyaz yapılır. 

Binary Inverse Eşiklemesi: Binary eşiklemesinin tersidir. Piksel değeri eşik değerinden küçük veya eşitse piksele 255 değeri atanır yani piksel beyaz yapılır. Piksel değeri eşik değerinden büyükse piksele 0 değeri atanır yani piksel siyah yapılır. 

Trunc Eşiklemesi: Piksel değeri eşikten büyükse, piksel değerleri eşik ile aynı değere ayarlanır. Diğer tüm değerler sabit kalır.

Tozero Eşiklemesi: Piksel değerinin eşik değerinden düşük olduğu piksel değerleri 0’a ayarlanır. Diğer piksel değerleri sabit kalır. 

Tozero Inverse Eşiklemesi: Piksel değerinin eşik değerinden büyük olduğu piksel değerleri 0’a ayarlanır. Diğer piksel değerleri sabit kalır. 

2.3.2. Kenar Tabanlı Bölümleme 

Kenar tabanlı bölümleme ile görüntü üzerindeki nesnelerin kenarları tespit edilerek nesne sınırları belirlenebilmektedir. Kenar tabanlı bölümlemede sobel ve canny algoritmaları ağırlıklı olarak kullanılmaktadır. 

2.3.3. Morfolojik Yöntemlere Dayalı Bölümleme 

Morfolojik işlemler bir görüntünün doğasında bulunan geometrik yapıyı analiz etmektedir. Morfolojik işlemenin temeli; mantıksal AND, OR operatörleri ile ifade edilmektedir. Genellikle siyah-beyaz (binary) görüntülerde kullanılmaktadır. Görüntü eşiklendikten sonra görüntülerin şekil analizi yapmada ve gürültü gidermede kullanılmaktadır. Morfolojik işlemlerin yapılabilmesi için bir kernel matrisinin belirlenmesi gerekmektedir. Temel 4 adet morfolojik işlem vardır: 

2.3.3.1. Erosion İşlemi 

Erosion, binary bir görüntüde bulunan nesnelerin alanını seçilen parametreye bağlı olarak küçültür, yani ön plandaki nesnelerin sınırlarını aşındırır. Aşındırma işlemi birbirine ince bir gürültü ile bağlanmış iki veya daha fazla nesneyi birbirinden ayırmak için kullanılmaktadır. Belirlenen kernel matrisi, görüntü üzerinde sırayla kaydırılır. Giriş görüntüsünde kernel matrisinin altında kalan pikseller 1 ise 1 olarak kabul edilir, aksi takdirde aşınarak 0 yapılır ve beyaz bölge azaltılır. 

2.3.3.2. Dilation İşlemi 

Dilation, binary bir görüntüde bulunan nesnelerin alanını seçilen parametreye bağlı olarak genişletir. Genişletme işlemi aynı nesnenin bir gürültü ile ince bir şekilde bölünerek ayrı iki nesne gibi görünmesini engellemek için kullanılmaktadır. Giriş görüntüsünde kernel matrisinin altındaki en az bir piksel 1 ise diğer piksellerde 1 yapılır ve böylece görüntüdeki beyaz bölgelerin sayısı arttırılır. 

2.3.3.3. Opening İşlemi 

Opening, binary bir görüntü üzerindeki siyah alan üzerindeki küçük noktaların kaybolmasını sağlamaktadır. Opening işlemi gürültü nedeniyle birbirine bitişik olarak bulunan alanları ayrıştırmak için uygun olacaktır. 

2.3.3.4. Closing İşlemi 

Closing, nesnelerin içindeki küçük delikleri ve siyah noktaları kapatmak için sıklıkla kullanılan bir yöntemdir.

2.3.4. Kümeleme Tabanlı Bölümleme 

Kümeleme algoritmaları, sınıflandırma algoritmalarından farklı olarak, kullanıcının önceden tanımladığı özellikler, sınıflar ve gruplar bulundurmayan denetimsiz algoritmalardır. Kümeleme algoritmaları, genellikle bilinmeyen yapılar, kümeler ve grupların bilgilerinin alınmasını sağlar. 

Kümeleme tabanlı teknikler, görüntüyü kümelere veya benzer özelliklere sahip ayrık piksel gruplarına böler. Böylece işimize yarayacak bölümler işleme tabii tutulur. Görüntü üzerinde benzer özelliklere sahip pikseller birlikte gruplanır. 

Kümeleme tabanlı bölümlemede genellikle K-Means algoritması kullanılmaktadır. K-Means genellikle sinyal işleme için kullanılan bir kümeleme algoritmasıdır. K değeri küme sayısını belirler ve bu değeri parametre olarak alması gerekmektedir. K değeri belirlendikten sonra algoritma sayesinde görüntü üzerinde K tane merkez noktası seçilmektedir. Her veri ile rastgele belirlenen merkez noktaları arasındaki uzaklığı hesaplayarak veriyi en yakın merkez noktasına göre bir kümeye atar. Daha sonra her küme için yeniden bir merkez noktası seçilir ve yeni merkez noktalarına göre kümeleme işlemi yapılır. Bu durum sistem kararlı hale gelene kadar devam etmektedir.

2.3.5. Yapay Sinir Ağı Tabanlı Bölümleme 

Sinir ağlarını kullanarak görüntü bölümleme işlemini gerçekleştirmek Görüntü Tanıma olarak adlandırılmaktadır. Nesneler, yüzler, metin, elle yazılmış metin vb. gibi bir görüntünün bileşenlerini otomatik olarak işlemek ve tanımlamak için Yapay Zeka kullanılmaktadır. Evrişimli Sinir Ağları, yüksek çözünürlüklü görüntü verilerini tanımlama ve işleme tasarımlarından dolayı özellikle bu işlem için kullanılmaktadır. 

Bilgisayar görme sistemleri, en önemli bölümleri çıkararak ve ardından özellik çıkarma algortimaları ve sınıflandırma algoritmaları yardımıyla verileri düzenleyerek bu yapıları mantıksal olarak analiz edebilir. 

2.4. Görüntülerden Özellik Çıkarma 

Makine Görmesi projelerinde bol miktarda görüntü kullanılmaktadır. Bu görüntü verilerini işlemek için fazla zaman gereklidir. Görüntülerden özellik çıkarma işlemleri kullanılarak görüntü boyutları azaltılır ve görüntü veri seti bölünerek işlemesi kolay bir hale getirilmektedir. Bu büyük veri setlerinin en önemli özelliği, çok sayıda değişkene sahip olmalarıdır. Bu değişkenler, görüntüleri işlemek için çok sayıda bilgi işlem kaynağı gerektirir. Dolayısıyla özellik çıkarma, değişkenleri seçip özellikler halinde birleştirerek bu büyük veri kümelerinden en iyi özelliği elde etmeye yardımcı olur, böylece veri miktarı etkili bir şekilde azalabilmektedir. Özellik çıkartma, görüntü segmantasyonunun bir üst versiyonu olarak düşünülebilir. Burada amaç sadece nesneleri arka plandan ayırmak değil; nesnenin şekli, boyutu, konumu gibi özelliklere göre nesneyi tanımlamaktır. Özellik çıkarma, veri kümesinden fazlalık verileri azaltmaya yardımcı olur. Nesneyi tanımlamak için ihtiyaç duyacağımız gerekli bilgiye kadar indirgemektedir. 

Bir renkli görüntüde özellik sayısı piksel sayısının 3 katına eşittir. Renkli görüntüde 3 kanal bulunduğu için 3 ile çarpılmaktadır. Örneğin; 480×360 çözünürlüklü bir görüntüde 172.800 piksel bulunduğu için 172.800 x 3 = 518.400 özellik bulunmaktadır. 

Görüntülerden özellik çıkarmak için üst düzey yöntemler çıkmıştır. Derin Sinir Ağları, görüntülerin özelliklerini çıkarmak ve boyutsallığını azaltmak için yaygın olarak kullanılmaktadır. Makine Görüşü ve Görüntü İşleme’de özellik çıkarma işlemleri için Harris, Shi-Tomasi, HOG, SIFT, SURF, LBP, BRIEF, ORB algoritmaları sıklıkla kullanılmaktadır.

2.4.1. Harris Algoritması ile Özellik Çıkarma 

Harris Algoritması temel olarak, 𝐸(𝑢,𝑣) pikselinin tüm yönlerindeki yer değiştirmesi için yoğunluk farkını bulur ve görüntünün köşelerini tespit eder. Bu işlem aşağıdaki denklem ile ifade edilmektedir;

Bu kısımdaki 𝐼𝑥 ve 𝐼𝑦 Sobel algoritması ile bulunmuştur. Bir pikselin köşe içerip içermediği aşağıdaki denklem aracılığıyla tespit edilmektedir. 

Burada 𝜆1 ve 𝜆2 M’nin öz değerleridir. Bir pikselin köşe, kenar veya düz olup olmadığına karar vermektedir. 

2.4.2. Shi-Tomasi Algoritması ile Özellik Çıkarma 

Shi-Tomasi algoritması Harris algoritmasının biraz daha gelişmiş halidir. Harris algoritmasında kullanılan 𝑅=𝜆1𝜆2−𝑘(𝜆1+𝜆2)2 denklemi yerine 𝑅=min (𝜆1,𝜆2) denklemini baz almıştır. Eşik değerden büyükse köşe olarak kabul edilmektedir. 

Köşeler, görüntüler döndürülse bile değişmektedir. Bu yüzden görüntü işleme sistemlerinde sıklıkla kullanılmaktadır. 

2.4.3. SIFT Algoritması ile Özellik Çıkarma 

Görüntüler ölçeklendirildiği zaman köşeleri değişebilmektedir. Bu yüzden Harris ve Shi-Tomasi methodları yetersiz kalabilmektedir. Bu yüzden SIFT algoritması ortaya atılmıştır. SIFT, bir resmin aydınlatma, ölçeklendirme ve döndürmeye karşı değişmeyen bölgesel özelliklerini belirleyip tanımlayan bir algoritmadır. Sabit/değişken arka planda, sabit/hareketli hedefi izlemede verimli çalışmaktadır. Bu algoritma 4 aşamadan oluşmaktadır: 

  • Ölçeklenen görüntünün yerel minimum ve maksimum ekstremum noktaları bulunur. Bu noktaları bulmak için görüntüye farklı ölçeklerde Gauss filtresi uygulanmaktadır. Filtreleme işlemi ile bulanık hale gelen görüntüler arasındaki farklar alınır. Farklı ölçeklerde alınan bu farkların ekstremum noktaları bize anahtar noktaları vermektedir. 
  • Anahtar nokta konumları bulunduktan sonra daha doğru sonuç elde etmek için düzeltilmeleri gerekmektedir. Daha doğru konum elde etmek için Taylor serisi kullanılarak kontrast eşiği belirlenir. Böylece belirlenen noktalar eşik değerinden küçükse atılır. Geriye kalan noktalar daha doğru konum vermektedir. 
  • Görüntü döndürüldüğü zaman belirlenen noktaların değişmemesi için her bir noktaya belirli bir yön ataması gerçekleştirilir. 

2.4.4. SURF Algoritması ile Özellik Çıkarma 

SIFT algoritması çoğu durumda iyi performans gösterse de algoritması çok yavaş çalışmaktadır. Bu problemin üstesinden gelmek için hızlandırılmış güçlü özellikler sunan SURF algoritması ortaya atılmıştır. Bu algoritma SIFT algoritmasına benzemektedir. Fakat SIFT algoritmasına göre çok daha hızlıdır.

2.4.5. ORB Algoritması ile Özellik Çıkarma 

SIFT ve SURF algoritmaları patentli algoritmalardır. Bu yüzden ORB, SIFT ve SURF algoritmalarına alternatif olarak oluşturulmuştur ve ticari bir algoritma değildir. 

Özet olarak bir görüntüdeki kilit noktaları tespit etmek için özellik çıkarma algoritmaları kullanılmaktadır. 

2.5. Görüntüleri Sınıflandırma 

Sınıflandırma, bir görüntüdeki tüm pikselleri belirli sınıflara ayırarak bilgi çıkarımı yapmaktır. Görüntü sınıflandırma ile görüntüde meydana gelen özelliklere göre piksel veya piksel grubuna gri değere bağlı olarak sayısal etiket verilir. Etiketleme sırasında bir nesnenin çoklu özellikleri kullanılır. Bu yüzden veri tabanında sınıflandırma yapılacak nesneye ait birçok görüntünün olması sınıflandırma işlemini kolaylaştırır. Her piksel için belirlenen bir matematiksel işlem sonucunda pikselin ait olduğu sınıf bulunur. 

Sınıflandırma, denetimli ve denetimsiz olmak üzere ikiye ayrılır; 

2.5.1. Denetimsiz Sınıflandırma 

Sınıfı bilinen yeterince örnek piksel ya da olasılık bilgisinin bulunmadığı durumlarda, daha önceki yazılarımızda anlatmış olduğumuz kümeleme yöntemi kullanılarak yapılan sınıflandırma türüne denetimsiz sınıflandırma denmektedir. Bu sınıflandırmayı yapmak için genellikle K-Means algoritmaları kullanılmaktadır. 

2.5.2. Denetimli Sınıflandırma 

Denetimli sınıflandırmada öncelikle yararlı bilgi sınıfları belirlenir. Hesaplamaya başlamadan önce verilere sınıflandırma etiketleri atanır. Sınıflandırma aşamasında görüntüdeki her piksel sayısal olarak her bir sınıf ile karşılaştırılır. Sınıflardan en çok hangisine benzediği saptanır ve ilgili sınıfın adı ile etiketlenir. 

Ne düşünüyorsunuz?

Barış ULUSOY, Elektronik Mühendisi tarafından yazıldı.

T3 Otomasyon bilgi ve tecrübelerini endüstri ile paylaşmak ve hizmet vermek maksadıyla Fatih ALTINTAŞ tarafından 2006 yılında Sakarya’da kuruldu, 2011 yılında limited olarak kurumsallaşmanın temellerini atmış oldu. Taahütlerini yerine getiren, sorumlu, güvenilir, insana önem veren, yenilikçi ve müşteri odaklı iş anlayışı ile yüksek standartlarda hizmet veren, mutlu çalışanlara sahip bir şirket olmak. Müşteri odaklı iş anlayışıyla otomasyon çözümleri üreterek, hızlı, kaliteli ve ekonomik çözümler sunmaktır.

Yorumlar

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Yükleniyor...

0

Kamera İle Nesne Sayma (Bölüm 2)

Kamera İle Nesne Sayma (Bölüm 4)