sayisal goruntu islemeye dayali proses kontrolu icin bir sistem tasarimi a system design for control...
TRANSCRIPT
T.C.
MARMARA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ
SAYISAL GÖRÜNTÜ İŞLEMEYE DAYALI PROSES
KONTROLÜ İÇİN BİR SİSTEM TASARIMI
Hasan AKAN (Teknik Öğretmen)
YÜKSEK LİSANS TEZİ
ELEKTRONİK-BİLGİSAYAR EĞİTİMİ ANABİLİM DALI
ELEKTRONİK-HABERLEŞME EĞİTİMİ PROGRAMI
DANIŞMAN
Doç. Dr. Ahmet AKBAŞ
İSTANBUL 2007
T.C.
MARMARA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ
SAYISAL GÖRÜNTÜ İŞLEMEYE DAYALI PROSES
KONTROLÜ İÇİN BİR SİSTEM TASARIMI
Hasan AKAN (Teknik Öğretmen) (141101020040062)
YÜKSEK LİSANS TEZİ
ELEKTRONİK-BİLGİSAYAR EĞİTİMİ ANABİLİM DALI
ELEKTRONİK-HABERLEŞME EĞİTİMİ PROGRAMI
DANIŞMAN
Doç. Dr. Ahmet AKBAŞ
İSTANBUL 2007
i
TEŞEKKÜR
Tez çalışmam süresince her türlü maddi ve manevi desteklerinden dolayı
danışmanım sayın Doç.Dr. Ahmet AKBAŞ’a teşekkürlerimi sunarım. Tezimin yazım
aşamasındaki yardımlarından dolayı Arş. Gör. Volkan Yusuf Şenyürek’ e teşekkür
ederim. Bugüne kadar hiçbir şeyi esirgemeyen anne ve babama da teşekkürü bir borç
bilirim.
ii
İÇİNDEKİLER
SAYFA
TEŞEKKÜR.............................................................................................. i İÇİNDEKİLER .......................................................................................ii ÖZET....................................................................................................... iv
ABSTRACT ............................................................................................. v
SEMBOL LİSTESİ ................................................................................vi KISALTMALAR..................................................................................viii ŞEKİL LİSTESİ ..................................................................................... ix
TABLO LİSTESİ ...................................................................................xi BÖLÜM I GİRİŞ VE AMAÇ............................................................... 1
I.1. GİRİŞ................................................................................................................ 1 I.1.1. Sayısal Görüntü İşlemeye Dayalı Sistem Emülasyonu .............................. 3 I.1.2. MATLAB ................................................................................................... 4
I.2. AMAÇ............................................................................................................... 5 I.3. BÖLÜMLERİN ÖZETİ.................................................................................. 6
BÖLÜM II BİLGİSAYARLI GÖRME .............................................. 8
II.1. GÖRME SİSTEMLERİ ................................................................................ 8 II.1.1. Görme Sistemlerinin Bileşenleri ............................................................... 8 II.1.2. Kamera ve Göz........................................................................................ 10 II.1.3. Bilginin Rolü ........................................................................................... 14 II.1.4. İlgi Alanları ve Görev Sınıfları................................................................ 14
II.2. GÖRÜNTÜ BİÇİMLENDİRME................................................................ 17 II.2.1. Görüntünün Oluşumu .............................................................................. 17 II.2.2. Veri Yapıları ............................................................................................ 18
II.3. GÖRÜNTÜ İŞLEME................................................................................... 21 II.3.1. Düşük Seviyeli İşlemler .......................................................................... 21 II.3.1.1. Parlaklık ve Kontrast Ayarı ....................................................... 22 II.3.1.2. Gri Ton Ölçekleme Dönüşümü ................................................. 24 II.3.1.3. Filtreleme................................................................................... 26 II.3.1.4. Eşikleme: GT-SB Görüntü Dönüşümü...................................... 29 II.3.1.5. Morfolojik İşlemler ................................................................... 30 II.3.1.6. Komşuluklar .............................................................................. 31
iii
II.3.2. Orta Seviyeli İşlemler.............................................................................. 32 II.3.2.1. Temel Tanımlar ......................................................................... 33 II.3.2.2. Görüntü Analizinde Kullanılan Tanımlayıcılar......................... 34 II.3.3. Yüksek Seviyeli İşlemler......................................................................... 40
II.4. ALGORİTMALARIN PERFORMANSI .................................................. 41
BÖLÜM III EMÜLASYON SİSTEMİ ............................................. 43
III.1. KULLANICI ARAYÜZLERİ ................................................................... 43 III.1.1. Ana Menü............................................................................................... 43 III.1.2. Düşük Seviyeli İşlemler Arayüzü .......................................................... 44 III.1.3. Orta Seviyeli İşlemler Arayüzü ............................................................. 49 III.1.4. Yüksek Seviyeli İşlemler Arayüzü......................................................... 54 III.1.4.1. Plaka Tanıma Uygulama Arayüzü ............................................ 55 III.1.4.2. Karakter Tanıma Uygulama Arayüzü ....................................... 59 III.1.5. Donanım Test Arayüzü .......................................................................... 62
III.2. EMÜLASYON UYGULAMASI ............................................................... 63
III.2.1. Plaka Tanıma Sistemine Genel Bakış .................................................... 63 III.2.2. Uygulamanın Gerçekleştirilme Aşamaları ............................................. 64 III.2.2.1. Karakter Veri tabanının Oluşturulması .................................... 65 III.2.2.2. Referans Değerler ve Kural Tabanının Oluşturulması............. 66
BÖLÜM IV SİSTEMİN TESTİ VE DEĞERLENDİRİLMESİ..... 68
IV.1. SİSTEMİN TESTİ ...................................................................................... 68 IV.2. DEĞERLENDİRMELER.......................................................................... 69
BÖLÜM V SONUÇ VE ÖNERİLER................................................ 70
KAYNAKLAR....................................................................................... 72 EK A ....................................................................................................... 74 EK B ....................................................................................................... 78
EK C ....................................................................................................... 81
ÖZGEÇMİŞ...............................................................................................
iv
ÖZET SAYISAL GÖRÜNTÜ İŞLEMEYE DAYALI PROSES
KONTROLÜ İÇİN BİR SİSTEM TASARIMI
Sayısal görüntüleme teknolojilerindeki hızlı gelişmelerin bir sonucu olarak,
görüntü işleme ile ilgili konularda araştırma yapmak yüksek maliyetli ve zaman alıcı
bir uğraş haline gelmiştir. Bu nedenle, son yıllarda MATLAB tabanlı simülasyon
çalışmaları önem kazanmış ve bu tür uygulamalar giderek yaygınlaşmıştır. Öyle ki,
bu yönelişin çok önemli boyutlarda zaman ve para tasarrufu sağladığı görülmüştür.
Bununla beraber, simülatörler genellikle klavyeden girilen verilere ve önceden
tanımlanmış parametrelere göre hesaplamalar yaptığından, gerçek zamanlı
sistemlerin denenmesinde sınırlamalar getirmektedir. Bu durumda, bilgisayarlı
sistemlerin dış dünyadan sürekli olarak girilen verileri alan, onları bir kontrolör gibi
işleyen ve gerçek zamanlı çıkışlar üreterek dış dünyaya aktaran bir emülasyon
yapısına kavuşturulması ile, bu sınırlamaların üstesinden gelinebilir. Böyle bir sistem
gerçek zamanlı sistem olarak değerlendirilebilir.
Bu tez çalışmasında sayısal görüntü analizine dayanan bir kontrol sisteminin
emülasyonu için MATLAB tabanlı böyle bir sistem geliştirilmiştir. Bu sistem, gerçek
zamanlı görüntü girişlerini bilgisayarın USB portu üzerinden, kontrol sürecine ilişkin
gerçek zamanlı veri giriş/çıkışlarını da paralel portu üzeriden desteklemektedir.
Sistem ayni zamanda, düşük ve orta seviyeli görüntü işleme algoritmalarının eğitimi
için bir araç olacak şekilde uyarlanmıştır.
Geliştirilen sistem, taşıt plakalarının tanınmasına göre çalışan bir otopark
bariyer kontrol sisteminin emülasyonu için kullanıldı. Bu amaçla geliştirilen bir kural
tabanlı taşıt tanıma algoritmasının testleri bu sistem üzerinde yapıldı ve sonuçların
tatmin edici olduğu gözlendi.
Haziran, 2007 Hasan AKAN
v
ABSTRACT
A SYSTEM DESIGN FOR CONTROL OF THE PROCESSES
BASED ON DIGITAL IMAGE ANALYSIS
As a consequence of rapid developments in digital imaging technologies, it has
been a difficult task to research all kinds of subjects which are related to image
processing. Because of this, MATLAB based simulations have gained great
importance and they have reached wide using capacity in recent years. So that,
simulations have proven very useful for saving both time and money.
However, simulators usually involve entering a data file from the keyboard into
the computer and having it calculate results on predefined parameters. Because of
that, simulations have limitations and not being able to operate in real time systems.
In this point, system emulation is a simple variation on the theme of simulation
where the computer system operates as a real time system receiving data continually,
processing it as if the computer is a controller and outputting results immeddiately.
Such a system can be evaluated as a real time system.
In this thesis a MATLAB based emulation system has been developed for
controlling processes including digital image analysis. This system supports a real
time camera input and a microcontroller input/output connections via the USB port
and parallel port of personal computer, respectively. This system has also been
adapted as a training tool for some low-level and medium-level image processing
algorithms.
This system has been used to emulate a parking barrier control system based on
vehicle plate recognizing. A high-level image processing algorithm developed for
this aim has been tested in the emulation environment. The test results has been
satisfied.
June, 2007 Hasan AKAN
vi
SEMBOL LİSTESİ
a : x Eksesnindeki Öteleme
b : y Eksenindeki Öteleme
B : Parlaklık
BI : İkilik Biçimdeki Görüntü
C : Karşıtlık (Contrast)
e : Dağınım, Görüntüdeki Dokusundaki Rasgeleliğin Ölçüsü
F : Fourier Tanımlayıcı Dizisi.
g : Tek Boyutlu Kontur Fonksiyon Eşdeğeri
h : Görüntü İşleme Sisteminin Birim İmpuls Cevabı
Io : Görüntü İşleme Sistemi Çıkışı
I : Görüntüde (m,n) Koordinatındaki Pikselin GT değeri.
K : Görüntüdeki Piksel Sayısı.
M : Görüntüdeki Satır Sayısı
m : Ortalama Gri Ton Yoğunluğu
mpq : Geometrik Moment.
mr : Moment Hesaplama için Referans Alınan Ortalama Değer
N : Görüntüdeki Sütun Sayısı
µpq : Merkezi Moment
µin : İstatistiksel Moment
ηpq : Normalize Merkezi Moment.
p(z) : GT Görüntünün Histogramı
Ф1-7 : Hu' nun Tanımladığı Sabit Momentler
θ : Resmin Dönme Açısı.
r : Rastgele Bir Değişken
S : k. Pikselin Tanımlı Koordinat Değişkeni
T : Gri ton Eşik Değeri
vii
u : Fourier Tanımlayıcı Numarası
z : Rasgele Yoğunluk Değişkeni 2σ : GT Görüntüdeki Kontrastın Variansı
viii
KISALTMALAR
BT : Bilgisayarlı Tomografik Görüntüleme
CCD : Yük Birleştirmeli Görüntü Sensörü (Charge Coupled Device)
DFT : Ayrık Foruier Dönüşümü
FFT : Hızlı Fourier Dönüşümü
GT : Gri Ton
GUI : Grafiksel Kullanıcı Arayüz
IPT : Görüntü İşleme Araç Kutusu
IR : Kızıl Ötesi
Krktr : Karakter
MR : Manyetik Rezonans Görüntüleme
PSF : Nokta Yayma Fonksiyonu (Point Spread Function)
RGB : Renkli Görüntü (temel renk bileşenleri, kırmızı, yeşil, mavi)
SNR : İşaret Gürültü Oranı
SB : Siyah Beyaz
USB : Genel Maksatlı Seri Port
YZ : Yapay Zeka
ix
ŞEKİL LİSTESİ
SAYFA NO
Şekil I.1 Görüntü Elde Etmek için Kullanılan Bir Geometrik Yapı Örneği .…....2 Şekil I.2 Görmeye Dayalı Proses kontrolü için Kullanılan Emülasyon Sisteminin
Blok Şeması ............................................................................................ 6 Şekil II.1 Bir Elektronik Kameranın Yapısı.......................................................... 10 Şekil II.2 İnsan Gözünün Yapısı ........................................................................... 11 Şekil II.3 Retinanın Yapsı..................................................................................... 12 Şekil II.4 Işığın Spektral Bileşenlerine Göre Gözün Bağıl Hassasiyet
Karakteristiği......................................................................................... 12 Şekil II.5 CCD Kameranın Mimari Yapısı . ......................................................... 13 Şekil II.6 Bir Sayısal Görüntünün Biçimlendirilme Sürecinde Nesne Özelliklerini
Ölçülen İşarete Bağlayan Adımlar Zinciri ............................................ 18 Şekil II.7 Piksel Koordinat Sistemine Göre Biçimlendirilmiş bir Görüntü Matrisi
Gösterimi............................................................................................... 19 Şekil II.8 Venüs Gezegeninin Mikrodalga Radarı ile Elde Edilmiş bir Sayısal
Görüntüsü.............................................................................................. 20 Şekil II.9 Parlaklık ve Kontrast Testi İçin Kullanılan Görüntü ........................... 22 Şekil II.10 Parlaklık ve Kontrast Ayarlama Örnekleri ............................................ 23 Şekil II.11 Gri Ton Ölçekleme Dönüşümü ............................................................. 25 Şekil II.12 Gri Ton Ölçekleme Dönüşümünün Geliştirilmesine İlişkin Bir
Uygulama Örneği ................................................................................. 25 Şekil II.13 2-boyutlu Delta (Birim İmpuls) Fonksiyonu ve Gözün Birim İmpuls
Cevabı ................................................................................................... 27 Şekil II.14 Yaygın Olarak Kullanılan PSF’ler......................................................... 28 Şekil II.15 Morfolojik İşlem Örnekleri ................................................................... 30 Şekil II.16 Komşuluk Kodlamaları ve Olası Komşuluk İlişkileri........................... 32 Şekil II.17 Nesne Konturunun 1-D Fonksiyon Olarak Temsili Gösterimi.............. 35 Şekil II.18 Araç plakasının görüntü içersindeki konumunun histogram yardımı ile
belirlenmesi ve karakterlerin histogram ile segmantasyonu ................. 40 Şekil III.1 Kullanıcı Ana Menüsü .......................................................................... 44 Şekil III.2 Düşük Seviyeli İşlemler Arayüzü ......................................................... 46 Şekil III.3 Görüntü Formatı Dönüşüm Alt Menüsü ............................................... 46 Şekil III.4 Düşük Seviyeli İşlemler Arayüzünde bir Çalışma Örneği.................... 49 Şekil III.5 Orta Seviyeli İşlemler Arayüzü ............................................................ 50 Şekil III.6 Bir Plaka Görüntüsündeki “3” Rakamı için Üretilen Tanımlayıcı
Histogramlar.......................................................................................... 53 Şekil III.7. Orta Seviyeli İşlemler Arayüzünde bir Çalışma Örneği ....................... 54
x
Şekil III.8 Plaka Tanıma Kullanıcı Arayüzü .......................................................... 56 Şekil III.9 Gerçek Zamanlı Görüntü İzleme Penceresinin Yapılan Deneyler
Sırasındaki Görünüş Şekli..................................................................... 57 Şekil III.10 Sisteme Plaka Tanımlamada ve Tanımlı Plakaları İptal Etmede
Kullanılan Arayüzler............................................................................. 57 Şekil III.11 Plaka Tanıma Arayüzünün Çalışmasını Gösteren bir Örnek ................ 58 Şekil III.12 Karakter Tanıma Kullanıcı Arayüzü..................................................... 59 Şekil III.13 Karakter Tanıma Arayüzü ile Tanınabilecek Karakter Seti.................. 60 Şekil III.14 Karakter Tanıma Arayüzünde Gerçekleştirilen Örnek Çalışma-1…….61 Şekil III.15 Karakter Tanıma Arayüzünde Gerçekleştirilen Örnek Çalışma-2 ……61 Şekil III.16 Donanım Test Kullanıcı Arayüzü ......................................................... 62 Şekil III.17 Plaka Tanıma ve Bariyer Kontrol Sistemine Genel Bakış ................... 63 Şekil III.18 Referans Değerleri Üretmek için Kullanılan Plakalardan Bazıları ...... .65 Şekil III.19 Referans Değerlerin Üretilmesi için Üzerinde Çalışılan Plakalardan
Elde Edilen 550 Adet Karakterden Örnekler ........................................ 66 Şekil III.20 Bir Plaka Görüntüsündeki “4” Rakamı için Üretilen Tanımlayıcı
Histogramlar.......................................................................................... 67
xi
TABLO LİSTESİ
SAYFA NO
Tablo II.1 İnsan Görmesi ve Bilgisayarlı Görmenin İşlevsel Bileşenleri ................ 9 Tablo II.2 Bilgisayarlı Görmede Karşılaşılan Görev Sınıfları. .............................. 15
1
BÖLÜM I GİRİŞ VE AMAÇ
I.1. GİRİŞ
Görüntü (imaj, I), bir nesnenin veya nesnelerden oluşan 3-boyutlu gerçek bir
sahnenin bir düzlem (görüntü düzlemi) üzerindeki izdüşümüdür, Şekil I.1. Sayısal
görüntü, görüntünün uzaysal koordinatları ile, (x,y), görüntü fonksiyonunun, I (x,y),
bu noktalarda aldığı değerlerin (renk veya gri ton), sonlu, ayrık büyüklükler olarak
dikkate alınan halidir: I (m,n).
Görme (vizyon), görüntünün elde edildiği geometrik yapı, ve görüntü üzerinden
yapılan ölçümlerden yararlanarak nesne modellerinin oluşturulması sürecidir:
Görme = Görüntü geometrisi + Ölçme + Yorum
Bu amaçla kullanılan sistemlere görme sistemleri denir. Görme literatürde iki ana
başlık altında yer almaktadır: insan görmesi ve bilgisayarlı görme. Literatürde
bilgisayarlı görme yerine bazen makine görmesi kavramı da kullanılabilmektedir [1].
Görüntü, 3-boyutlu gerçek dünyanın iki boyutlu bir izdüşümü olduğundan,
görüntülenen sahne veya nesnelerin gerçek dünyadaki özellikleri görüntüden
doğrudan elde edilemez. Bu amaçla, görüntüden nesne özelliklerini yansıtan
karakteristik bilgilerin çıkarılması veya nesne özelliklerinin tahmin edilmesi için
çeşitli seviyelerde işlemler yapılması gerekir. Bu işlemler, literatürde görüntü işleme,
ve görüntü analizi gibi kavramlarla tanımlanmaktadır.
Bununla beraber, bu kavramlarla belirtilen bilimsel çalışma alanlarının sınırları
ve ilgi sahaları hakkında, konu ile ilgili araştırmacıların üzerinde ittifak ettiği, genel
2
kabul görmüş bir tanımlama yoktur. Örneğin, görüntü işleme bazı araştırmacılara
göre, işlem giriş ve çıkışlarının her ikisinin de görüntü olduğu bir disiplin olarak
tanımlanır. Bu tanıma göre, bir görüntünün ortalama yoğunluğunu (gri seviyesi)
hesaplama gibi basit bir görev bile, bir görüntü işleme operasyonu olarak kabul
edilmeyebilir. Dolayısıyla bu tanım, görüntü işleme için gerçekte sınırlı ve sanal bir
çerçeve çizmektedir.
terslenmişgörüntü düzlemi y'
x'
z'
y
x
nesne noktası(x',y',z')
(x,y)iz düşümnoktası
z
odak uzaklığır'
r
Şekil I.1. Görüntü Elde Etmek için Kullanılan Bir Geometrik Yapı Örneği [2]
Buna göre, görüntü işleme ve görüntü analizi kavramlarının her ikisi de benzer
uygulamaları çağrıştırabilir. Bununla beraber, görüntü işlemenin daha çok
görüntülenen nesnelerin karakteristik özelliklerine ilişkin ölçüm sonuçları üretmeyi
amaçlayan çalışmaları kapsadığı, buna karşılık görüntü analizinin ise, daha çok
görüntüyü anlama ve yorumlama gibi çalışmaları kapsadığı söylenebilir [3].
Diğer taraftan, nihai amacı öğrenme ve görsel girişlere bağlı olarak etkileşimler
(hareket gibi) oluşturmak olan insan görmesi, bilgisayarların yazılım ve donanım
özeliklerinden yararlanarak bilgisayarlı görme sistemlerinin geliştirilmesine ilham
kaynağı oluşturur. Bu kapsamda, amacı insan zekasını taklit etmek olan yapay zeka
(YZ) uygulamaları, bilgisayarlı görme araştırmalarında da önemli bir yer tutar.
Bu tespitler ışığında, bir tarafında görüntü işlemenin, diğer tarafında görüntü
analizinin bulunduğu bir yapılanmada, bilgisayarla yapılabilecek işlemlerin
özelliklerine göre sınıflandırılması daha faydalı bir paradigma sağlar. Buna göre,
görme sistemlerinde, bilgisayarla yapılabilecek işlemler üç sınıfa ayrılabilir:
• Düşük-seviyeli işlemler,
• Orta seviyeli işlemler,
• Yüksek seviyeli işlemler.
3
Düşük seviyeli işlemler, görüntünün gürültüden arındırılması, kontrast artırma
ve görüntü keskinleştirme gibi basit işlemleri içerir.
Orta seviyeli işlemler, görüntünün bölgelere veya nesnelere ayrılması
(segmentasyon), nesnelerin bilgisayarda işlenmesi için uygun biçimlere
indirgenmesi, tanımlanması, ve sınıflandırılması gibi görevleri içerir.
Yüksek seviyeli işlemler, görüntü analizinin hedeflenen nihai amacını oluşturan
ve normalde insan görmesi ile ilgili algılama ve tanıma fonksiyonlarından ilham alan
işlemleri içerir. Nesneleri karakterize eden özellikleri ortaya çıkarmak için
matematiksel modellerin veya YZ modellerinin oluşturulması, birer yüksek seviyeli
işlem örneğidir. [3]
Diğer taraftan, yukarıda sayılan çeşitli seviyelerdeki işlemlerin kullanıldığı bir
sayısal görüntü işleme sürecinde, problemlerin çözümü için genellikle çok sayıda
görüntü örneği üzerinde simülasyon tabanlı testler yapılır. Bu süreçte, algoritmalar
çok kere yeni revizyonlar ile geliştirilip çözümler test edilir ve karşılaştırmalar
yapılır.
Benzer şekilde, sayısal görüntü işlemeye dayalı bir proses kontrol sürecinde,
kabul edilebilir ve uygulanabilir bir sistem çözümüne ulaşmak için de, içinde çeşitli
görüntü işleme yöntemlerinin kullanılacağı yoğun deneysel çalışmalara ihtiyaç
duyulur. Bu nedenle, bu süreçte aday çözümlerin denenmesi ve prototiplerin hızlı bir
şekilde gerçekleştirilmesini kolaylaştıracak yaklaşımların formüle edilmesi önemli
yararlar sağlar.
I.1.1. Sayısal Görüntü İşlemeye Dayalı Sistem Emülasyonu
Sayısal görüntü işlemeye dayalı bir kontrol sürecini geliştirebilmenin en kolay
ve en ucuz yolu, bir kişisel bilgisayar (PC) çevresinde, gelişen donanım ve yazılım
imkanlarından yararlanarak, bir simülasyon ve/veya emülasyon sistemi
oluşturmaktır. Özellikle emülatörler, gerçek sistem davranışlarının oluşturulduğu
sanal ortamları başarıyla hazırlama fırsatı verir. Öyle ki, simülatörlerde bütün giriş ve
çıkışların doğrudan PC üzerinden yapılması nedeniyle, verilerin gerçek zamanlı
işlenmesi ve analizi açısından karşılaşılan sınırlamalar, emülatörlerde basit yazılım
ve donanım ilaveleri ile kolayca aşılabilir.
Bu nedenle, emülatörler, gerek sayısal görüntü işleme problemlerinin çözümü
ve gerekse görüntü işlemeye dayalı proses kontrol sistemlerinin tasarım sürecinde, bu
4
işlemlerin denenmesi ve prototiplerin hızlı bir şekilde gerçeklenmesine imkan
sağladıklarından, zaman kaybını önler ve maliyetin azaltılması açısından çok önemli
yararlar sağlar.
Bu amaçla kullanılabilecek esnek ve kapsamlı bir yazılım geliştirme ortamı,
yukarıda belirtilen yararlarının yanı sıra, görüntü işleme çözümlerinin
taşınabilirliğini sağlama açısından kilit bir rol oynar. MATLAB yazılım paketi,
özellikle görüntü işleme araç kutusu (IPT) ve kullanıcı ara yüzü (GUI) oluşturma
destekleri ile, yukarıda sayılan görüntü işleme ve görüntü işlemeye dayalı proses
kontrol süreci ile ilgili ihtiyaçlara cevap vermektedir [4,5].
I.1.2. MATLAB
MATLAB teknik hesaplamalar için kullanılan yüksek performanslı bir dildir.
Problemler ve çözümlerinin bilinen matematiksel sembollerle ifade edildiği,
hesaplama, görselleştirme ve programlama süreçlerini kullanımı kolay bir çerçevede
entegre eder. Tipik kullanım amaçları aşağıda sıralanmıştır:
• Matematiksel hesaplamalar,
• Algoritma geliştirme,
• Veri elde etme,
• Modelleme, simülasyon ve prototip oluşturma,
• Veri analizi ve görselleştirme,
• Bilimsel ve mühendislik grafiklerinin çizimi,
• Kullanıcı ara yüzü oluşturmayı da içeren uygulama geliştirme.
MATLAB, matrix laboratory sözcüklerinin kısaltılmış şeklidir. Bu
isimlendirmenin de çağrıştırdığı üzere, MATLAB temel veri elemanı olarak dizileri
kullanır. Böylece, özellikle matris biçiminde verilen pek çok teknik hesaplama
probleminin kısa sürede çözümünü kolaylaştırır.
MATLAB, üniversite ve sanayide analiz, araştırma ve geliştirme çalışmalarını
kolaylaştıran çok sayıda araç kutusunu içermektedir. IPT bunlardan birisidir ve
görüntü işlemeye ilişkin çok sayıda MATLAB fonksiyonunu (M-fonksiyonları veya
M-dosyaları) içermektedir. Bunun yanında, MATLAB’ın GUI desteği, görüntü
işleme uygulamalarının gerçekleştirilmesinde kolaylıklar sağlamasının yanı sıra,
proses kontrol sürecinin emülasyonunu da kolaylaştırmaktadır.
5
I.2. AMAÇ
Yukarıdaki izahlar ışığında, bu tez çalışmasında, MATLAB yazılım paketin den
faydalanarak, PC üzerinde sayısal görüntü işlemeye dayalı kontrol süreçlerine ilişkin
prototiplerin kolay, ucuz ve hızlı bir şekilde tasarlanabileceği bir emülasyon
sisteminin geliştirilmesi amaçlanmıştır.
Sistemde, görmeye dayalı süreç kontrolü için simülasyonların, MATLAB
yazılım paketinin GUI desteği ile hazırlanan çeşitli kullanıcı ara yüzleri vasıtasıyla
yapılması planlanmıştır. PC dışında kurulacak kontrol sisteminin bir mikrokontrolör
çevresinde gerçekleştirilmesi, mikrokontrolör ile GUI arasındaki gerçek zamanlı veri
giriş çıkışlarının PC paralel portu üzerinden yapılması, görüntü bilgilerinin GUI’ye
PC USB portu üzerinden bağlanan bir kamera ile aktarılması tasarlanmıştır.
Sistem bu konfigürasyonla çeşitli kontrol süreçlerini emüle edebilecek şekilde
düzenlenebilir. Bununla beraber, bu tez çalışmasında, biri karakter tanıma, diğeri de
taşıt plakalarının tespiti için kural tabanlı bir nesne tanıma sisteminin geliştirilmesi
olmak üzere, iki ayrı amaca hizmet edecek şekilde düzenlenmiştir.
Taşıt plakalarının tespiti amacıyla geliştirilen sistemde, 87 adet plaka görüntüsü
üzerinde yapılan düşük ve orta seviyeli işaret işleme çalışmaları sonucunda, toplam
550 karakterin her birini temsil histogram tabanlı tanımlayıcı parametreler
üretilmiştir. Daha sonra, elde edilen bu verilere dayanarak, plaka karakterlerini
tanımlayan bir kural tabanı oluşturulmuştur. Oluşturulan kural tabanlı sistemin test
edilmesi için 25 ayrı plaka görüntüsü kullanılmıştır.
Bu şekilde oluşturulan kural tabanlı plaka tanıma sistemi, uygulama için
oluşturulan GUI’ye gömülerek, tanınan plakanın kullanıcı veri tabanında bulunup
bulunmadığına ilişkin kararların oluşturulması, buna bağlı olarak da, paralel port
üzerinden bir otopark giriş çıkış kontrol sisteminin gerçekleştirilmesi sağlanmıştır.
PC üzerinde bir kontrol sürecinin emülasyonunu gerçekleştirmede kullanılacak
ara yüzlere ilave olarak, başka bir kısım kullanıcı ara yüzleri de hazırlanarak, bunlar
üzerinden düşük, ve orta seviyeli çeşitli görüntü işleme algoritmalarının denenmesine
imkan sağlayan bir alt yapı da kurulmuştur. Böylece tez çalışmasında, görüntü işleme
eğitimi için kolay kullanılabilir bir eğitim aracının hazırlanması da amaçlanmıştır.
6
Geliştirilen görüntü işlemeye dayalı, kural tabanlı plaka tanıma ve otopark
kontrol sisteminin emülasyon sürecini temsil eden blok şema Şekil I.2’de verilmiştir.
Şekil I.2. Görmeye Dayalı Proses Kontrolü için Kullanılan Emülasyon Sisteminin Blok Şeması
Geliştirilen sistemde görüntü işleme ve görüntü analizi çalışmaları kamera
görüntülerinin yanı sıra, çeşitli kaynaklardan alınan resim dosyaları üzerinde de
yapılabilmektedir. Böylece sistem, akademik anlamda yenilikler içeren görüntü
işleme ve/veya görüntü analizi algoritmalarının geliştirilmesi ve test edilmesi için
pratik bir test ortamı sağlamaktadır. Sistemin bu özelliğinden yararlanarak ileride
görüntü işleme ve/veya analizi üzerine çeşitli algoritma geliştirilme çalışmaları
planlanabilecektir.
I.3. BÖLÜMLERİN ÖZETİ
Bölüm II’de bilgisayarlı görme ile ilgili temel konular incelenmiştir. Bu
kapsamda, görme sistemleri, görüntü biçimlendirme, görüntü işleme, nesne tanıma
ve görüntü işleme algoritmalarının performans değerlendirmesi için kullanılan
kriterler ile ilgili temel bilgiler özet olarak derlenmiştir. Bu bölümde ayrıca, görme
sistemleri ve görüntü işleme üzerine yapılan bilimsel çalışmalara ilişkin bir literatür
taramasının sonuçları da kısaca verilmiştir.
Bölüm III’de görüntü işleme üzerine düşük ve orta seviyeli işlemlerin
gerçekleştirildiği kullanıcı ara yüzleri ile, görmeye dayalı sistem emülasyonu için
kullanılan ara yüzler tanıtılmıştır. Bu bölümde ayrıca, görmeye dayalı kural tabanlı
7
plaka tanıma sisteminin gerçekleştirilme sürecinde yapılan işaret işleme ve test
çalışmaları tanıtılmıştır.
Bölüm IV’de uygulama sonuçları verilerek değerlendirmeler yapılmıştır.
Bölüm V’de ileriye dönük çalışmalar için öneriler geliştirilmiştir.
8
BÖLÜM II BİLGİSAYARLI GÖRME
II.1. GÖRME SİSTEMLERİ
Görüntüleme, 3-boyutlu nesnelerin gerçek özelliklerini 2-boyutlu bir düzlemsel
uzayda temsil etme olgusudur. Görüntülenen nesnelerin 3-boyutlu dünyadaki gerçek
özellikleri, ancak çeşitli görüntü işleme ve analiz yöntemleri kullanılarak
belirlenebilir veya tahmin edilebilir. Görme sistemleri, bu amaçlarla görüntünün elde
edilmesi, biçimlendirilmesi, saklanması, işlenmesi ve işlem ya da analiz sonuçlarına
göre yeni verilerin üretilmesine ilişkin bütün süreçleri içerir.
II.1.1. Görme Sistemlerinin Bileşenleri
Görme sistemleri, yukarıda belirtilen bütün işlevleriyle birlikte düşünüldüğünde
karmaşık sistemlerdir. Bu nedenle, görme sistemlerini aşağıdaki gibi işlevsel
bileşenlere ayırarak incelemek kolaylıklar sağlar [1]:
• Radyasyon (ışık) kaynağı,
• Kamera,
• Sensör,
• İşlem birimi,
• Aktörler.
Radyasyon kaynağı, görüntülenmek istenen sahne ya da nesnelerle etkileşime
girecek olan radyasyon (ışıma) enerjisini üreten birimdir.
9
Kamera, nesnelerin yaydığı ışıma enerjisini toplayan birimdir.
Sensör, alınan enerjiyi genellikle elektriksel boyuttaki uygun bir işarete
dönüştüren eleman veya elemanlar dizisidir.
İşlem birimi, elde edilen işareti işleyerek görüntüyü biçimlendiren, diğer bir
deyişle görüntü matrisini oluşturan birimdir. İşlem biriminde ayrıca, nesnelerin
sınıflandırılması, özelliklerinin çıkarılması gibi yoğun hesaplamalar gerektiren
işlemler yapılır.
Aktörler, aktif görme ya da hareketli bir nesnenin takip edilmesi örneğinde
olduğu gibi, görme sisteminin gözleme aktif olarak cevap vereceği durumlarda
kullanılan ve görme sistemine yardımcı olan kişiler veya sistemlerdir.
Tablo II.1’de insan görmesi ve bilgisayarlı görmenin işlevsel bileşenleri
karşılaştırmalı olarak verilmiştir.
Tablo II.1. İnsan Görmesi ve Bilgisayarlı Görmenin İşlevsel Bileşenleri [1]
Görev İnsan görmesi Bilgisayarlı görme
Görüntü eldeetme
Iışığın opak yüzeylerdenyansıması özelliğindenyararlanarak (pasif)
Enerjinin elektromanyetik,partiküler, veya akustik yayılımözelliklerinden yararlanarak(aktif veya pasif)
Görüntübiçimlendirme
Iışığın kırılması özelliğindenyararlanan optik sistemaracılığıyla
Çeşitli sistemler aracılığıyla
Radyasyon (ışık)seviyesininkontrolü
Göz merceğinin açıklığının(iris çapı) göz kaslarıaracılığıyla değiştirilmesi ile
Akort edilebilen filtreler, filtreçarkları ve motorlu aparatlararacılığıyla
Odaklama Odak uzaklığının göz kaslarıaracılığıyla değiştirilmesi ile
Çeşitli uzaklık ölçmeprensibine dayanan otomatikodaklama sistemleri ile
Radyasyon (ışık)seviyesininçözünürlüğü
Logaritmik ölçekli Lineer veya logaritmik ölçekli.Lineer ölçekte çözünürlük 8-16bit aralığında
Nesne izleme Göz küresinin yüksekhareketlilik kabiliyeti ile
Tarayıcılar ve robot kameralarile
İşleme ve analiz Hiyerarşik olarak organizeedilmiş biyolojik sinir ağları ile(paralel işleme)
Seri ve paralel işleme (yoğunolarak seri, nadiren paralelişleme)
10
II.1.2. Kamera ve Göz
Gözün yapısı ve çalışması elektronik kameralara çok benzer. Her ikisi de iki
temel bileşenden oluşur: ışık toplayan mercek ve görüntüleme sensörü. Mercek,
nesneden gelen ışığın bir kısmını yakalar ve görüntüleme sensörünün üzerinde
odaklar. Işıma enerjisi burada görüntü işaretine dönüştürülür.
Şekil II.1 ve Şekil II.2’de sırasıyla bir kamera ve insan gözünün iç yapısı
gösterilmiştir. Her ikisinde de mercekten kırılarak geçen ışık çevreden sızan ışıkla
girişim yapmaması için, ışığa karşı sıkı bir şekilde yalıtılmış kapalı bir ortamda
sensör üzerine düşürülür.
Şekil II.1. Bir Elektronik Kameranın Yapısı [6]
Kamera içi hava ile, gözün içi saydam bir sıvı ile doludur. Her iki mercek sisteminin
de ayarlanabilir iki değişkeni vardır: odak uzaklığı ve iris çapı.
Kamerada odaklama, merceğin görüntü sensöründen uzağa veya ona doğru
fiziksel hareketi ile sağlanır. Buna karşılık göz iki mercek içerir. Bunlar kornea
olarak adlandırılan göz küresinin ön kısmındaki bir çıkıntı ve göz içinde
ayarlanabilen diğer bir mercektir. Işığın çoğu korneada kırılır, fakat şekli ve yeri
değiştirilemez. Odak ayarı iç mercek ile sağlanır [6,14].
Her iki sistemde de, merceğin ne kadar ışığa maruz kalacağını, ve bundan
dolayı görüntü algılayıcısının üzerinde oluşan görüntü iz düşümünün parlaklığını
kontrol etmek, irisin görevidir. Gözün iris tabakası saydam olmayan kas dokusu ile,
11
göz bebeğini (ışığın göze giriş yeri) genişletebilir yada daraltabilir. Kameralarda
kullanılan iris, mekanik olarak benzer işlevi yerine getirir.
Şekil II.2. İnsan Gözünün Yapısı [6]
Tipik olarak bir kamerada ışık giriş açıklığını değiştirme oranı, en küçük
açıklığın yaklaşık olarak 300 katına kadar, gözde ise 20 katına kadar arttırılabilir. Bu
yapısı dolayısıyla tipik bir kamera göze nazaran daha büyük bir dinamik görüş aralığı
sağlayabilir. Bununla beraber, parlak bir gün ışığında kullanılan bir kamera ve
mercek kurulumu karanlık bir gecede ayni etkinlikte çalışamaz.
Buna karşılık, insan gözü geniş çevresel değişimlere uyum sağlayan büyük bir
dinamik görme aralığı sağlar. Bu dinamik aralık sadece iris ile sağlanmaz. Buna asıl
katkıyı, sinir hücrelerinin ışığa karşı duyarlılıklarının dinamik aralıkta kalacak
şekilde kademeli olarak ayarlanması sağlar. Örneğin, karanlık bir salona girdikten
sonra göz düşük ışık seviyesine bir kaç dakika içinde uyum sağlayabilir.
Gözün arka kısmını örten ışık algılayıcı iç yüzey retina olarak adlandırılır. Şekil
II.3’de gösterildiği gibi, retina, biri ışığı sinirsel işarete dönüştüren, biri görüntü
işleyen ve diğeri de optik sinir uçlarından beyne bilgileri aktaran üç ana sinir hücresi
katmanına ayrılır.
Işığı dönüştüren hücreler, mikroskop altında gözlenen fiziksel yapılarına bağlı
olarak, çubuk ve koni hücreleri olmak üzere iki ana sınıfa ayrılır.
Çubuk hücreleri çok düşük ışık seviyelerinde çalışabilir. Bu hücreler renk
ayrımı yapamaz, üstüne gelen ışık seviyesi az dahi olsa, görüntüyü siyah-beyaz (SB)
görüntü olarak algılar.
12
Şekil II.3. Retinanın Yapısı [6]
Koni hücreleri renk ayırt etme kabiliyetine sahiptir. Üç tip koni hücresi vardır.
Bunlar, kırmızı, yeşil ve mavi renk algılayıcı hücrelerdir (RGB kodlayıcılar).
Bunların her biri, içerdikleri farklı ışık pigmentlerinden dolayı ışığın değişik dalga
boylarına duyarlıdır. Şekil II.4’de ışığın değişik dalga boylarının bu üç alıcı hücreyi
uyarabilme karakteristiği gösterilmiştir.
Şekil II.4. Işığın Spektral Bileşenlerine Göre Gözün Bağıl Hassasiyet Karakteristiği [6]
Çubuk ve koni hücreleri kabaca 3um genişliğindedir. Bunların tümü, retinanın
3*3 cm boyutuna sığan toplam yüzeyi üstünde sıkıca paketlenmiştir. Böylece retina
kabaca 100 milyon alıcı hücre dizisinin birleşiminden oluşmuştur. Buna karşılık,
13
bağlantı katmanındaki optik sinir hücrelerinin sayısı yaklaşık olarak bir milyondur.
Böylece, her bir optik sinir hücresi bağlantı katmanı boyunca ortalama 100 ışık alıcı
çubuk ve koni hücresine bağlanır.
Retinanın tam ortasında sarı benek olarak adlandırılan küçük bir bölge, yüksek
çözünürlüklü görüş için kullanılır. Sarı benek içinde sadece koni hücreleri yer alır.
Nesnelere doğrudan bakmak yerine, kenarlarına bakıldığında neden daha iyi bir gece
görüşü sağlandığı, burada çubuk hücrelerinin yokluğu ile izah edilmektedir.
İnsan görüşünde sarsıntının görüntüye yansıtılmaması olgusu da sarı beneğin
küçük boyutları sayesinde sağlanmaktadır. Öyle ki, görüş alanı ani hızlanma ve
hareketler esnasında sarı beneğin yüksek çözünürlüğü sayesinde hızlı bir şekilde
taranarak uygun görüş bilgileri oluşturulur.
Elektronik kameralarda görüntü algılama için yaygın olarak elektriksel yük
bağlamalı elemanlar (CCD) kullanılır. CCD kameralar, tipik olarak birkaç mm
boyutlarındaki silikon plaka üzerinde gerçekleştirilir. Bu sistemde görüntü, kuyu
olarak adlandırılan yük depolayıcılarda biriktirilen elektronların çıkış yükseltecine
doğru birbirini takip eden paralel ve seri iletimlerle itilmesi suretiyle okunur. Şekil
II.5’de CCD kamerada iki boyutlu görüntünün nasıl okunduğu resimlenmiştir.
Şekil II.5. CCD Kameranın Mimari Yapısı [6]
Buna göre, CCD mimarisinde iki boyutlu bir alan içindeki görüntü verisi özel
bir sıra içinde seri veriye dönüştürülür. Bir görüntü çerçevesi alınarak bütün
satırlardaki yüklerin depolanması tamamlandıktan sonra, satırların tümü aynı anda
bir üst satıra paralel kaydırılarak ilk satırdan seri yolla okuma yapılır. Böylece,
14
satırların tümü 1 numaralı satırdaki yatay kaydedici içine sırasıyla transfer edilir.
Buradan yükler seri yolla hızlı bir şekilde yük algılama yükseltecine taşınır [6,14].
II.1.3. Bilginin Rolü
Bir bilgisayarlı görme sistemi oluşturulurken esas beklenti, her kademedeki
işlemlerin en üst seviyede otomatikleştirilmesidir. Bunu yerine getirmek için, karar
oluşturma sürecinde her zaman uygulama ile ilgili bilgiye sahip olunmalı ve
uygulamanın amacı bilinmelidir.
Bu kapsamda sistem tarafından kullanılan bilgi, nesne özelliklerine ilişkin
modeller, görüntü biçimlendirme yöntemi, nesne modelleri ve nesneler arasındaki
ilişkileri belirleyen modelleri içerir. Bu bilgiler kullanılmadan, bilgisayarlı görme
sistemleri ancak sınırlı uygulama için ve sadece çok sınırlı bir çevrede çalışmak
üzere tasarlanabilirler.
Diğer taraftan, nesne özelliklerinin ne olduğuna ilişkin elde edilecek bir bilginin
türü, görme sisteminin amacına bağlıdır. Cevap ya öznel (kalitatif) veya nesnel
(kantitatif) karakterde olabilir. Bazı uygulamalar için ‘orda bir otomobil var’ gibi
öznel bir cevap yeterli olabilir. Bununla beraber, ‘ne’ ve ‘nerede’ sorularının cevabı,
örnekteki ‘bir şey var’ gibi nesnenin her hangi bir sınıfa aidiyetini belli eden temel
bir özelliğinden, ilgilenilen nesnelerin çeşitli özelliklerinin detaylı bir tanımlamasına
kadar geniş bir alanı kapsar [1].
II.1.4. İlgi Alanları ve Görev Sınıfları
Günümüzde bilgisayarlı görme uygulamaları hemen her bilimsel ve teknik
alanla ilgilidir. Dolayısıyla, çeşitli bilimsel ve teknik alanlar için ayrı uygulama
listeleri hazırlamak yerine, bir uygulamadan elde edilen tecrübeyi bir başkasına
aktarmak için, çözülmek zorunda olan problemleri belirlemek ve onları farklı
sınıflara ayırmak daha yararlı olabilir.
Bu yaklaşıma göre oluşturulan bir görev sınıflandırması Tablo II.2’de
verilmiştir. Bu tabloda hem 2-boyutlu görüntüleme, hem de 3-boyutlu sanal
görüntüleme ile ilgili görevler verilmiştir. Bu görevlerle ilgili uygulamalar arasında,
bilgisayarlı görüntü işleme, grafik tasarım, tanıma, ve YZ uygulamaları yer alır.
15
Görüntü işleme uygulamaları; görüntüyü zenginleştirme, sıkıştırma, düzeltme,
gürültüden arındırma, keskinleştirme veya kontrast artırma gibi düşük seviyeli
işlemlerle; görüntünün bölgelere veya nesnelere ayrılması, nesnelerin uygun
biçimlere indirgenmesi, tanımlanması, ve sınıflandırılması gibi orta seviyeli
işlemleri; ve nesnelerin algılanması ve tanınması gibi yüksek seviyeli işlemleri
kapsar.
Bilgisayarlı grafik uygulamaları, doğru ve daire gibi temel geometrik
şekillerden yararlanarak görüntüler üretme konularını kapsar. Buna göre, bilgisayarlı
görme ve bilgisayarlı grafik uygulamalarında biri diğerinin tersi olan amaçlar
güdülür. İlkinde görüntünün analizi amaçlanırken, diğerinde görüntünün
sentezlenmesi amaçlanır. Bilgisayarla grafik oluşturma yöntemleri, canlandırmada ve
sanal gerçeklikte çok önemli bir rol oynar [1].
Tablo II.2. Bilgisayarlı Görmede Karşılaşılan Görev Sınıfları [1]
Görevin ilgi sahası Görev
2-boyutlu ve3-boyutlunesnegeometrisi
2-boyutlu nesnelerin konum, mesafe, büyüklük ve alan ölçümü
Uzaktanölçme
Hareket
Uzaysalyapıve doku
Yüksekdüzeyligörevler
3-boyutlumodelleme
3-boyutlu nesnelerin derinlik ve optik parametrelerinin ölçümü
2-boyutlu nesnelerin biçimi ve şeklinin belirlenmesi
3-boyutlu nesnelerin şeklinin belirlenmesi
Nesnelerin yansıtma ve floresan özelliklerinin ölçümü
Renk ölçümü
Sıcaklık ölçümü
Hiperspektral görüntüleme
2-boyutlu hareket alanının (yörünge) belirlenmesi
3-boyutlu hareket alanının (yörünge) belirlenmesi
Kenarlar ve doğrular
Yerel dalga numarası, ölçek
Yerel yönelme (oryantasyan)
Doku
Parçalara ayırma (segmentasyon)
Nesne tanımlama (identifikasyon)
Nesne sınıflandırma
Model ve bilgi tabanlı tanıma ve hatırlama
3-boyutlu nesne tanıma
3-boyutlu nesne sentezleme
Nesne izleme
16
İki ve üç boyutlu nesne geometrisine dair görüntü işlemeye dayalı bilgi edinme
görevlerine ilişkin literatürden, M. Kert ve E. Özdemir’in nesne üzerindeki bölgenin
renk sayımına dayalı olarak tek kamera ile dairesel nesnelerin derinlik bilgisini elde
ettikleri çalışma ve V.T. Pham ve W.M. A. Smeulders’ın belirsiz geometrik şekiller
içeren görüntülere dair çalışmaları verilebilir [15,16].
İki ve üç boyutlu hareket kontrolünü içeren, görüntü işleme görevlerinin
uygulamalarına gelişen teknoloji ile birlikte mekatronik ve robotik alanlarında sıkça
rastlamak mümkün olmuştur. Özellikle sanayideki esnek üretim sistemlerinde fazlaca
uygulaması yapılmıştır. W. Zhenzhong, Z. Guangjun ve L. Xin 2 boyutlu bir hareket
sisteminin konumlandırma doğruluğunu makine görüş sistemi ile denetledikleri
çalışma bu sınıfta sayılabilecek türden görevler içermektedir [17].
İki boyutlu bir düzlem de oluşturulan nesne izdüşümlerimden (görüntü)
faydalanarak ilgilenilen nesnenin üç boyutlu modelini oluşturmak hem tıbbi hem de
endüstriyel uygulamalarda oldukça önemlidir. Tıbbi anlamda teşhisi kolaylaştırması,
endüstriyel anlamda ise tam bir üretim denetimi sağlanması açısından önem
taşımaktadır. Bizimde tez çalışmamız sırasında kullandığımız, Hu’nun tanımladığı
sabit momentler ile 3 boyutlu nesne modeli oluşturan J.A.M. Rodrigueza, A. Asundi
ve R. Rodrigueza-Vera’nın yapmış oldukları çalışma bu tip görev tanımlarına iyi bir
örnektir [12,19].
Uzaysal yapı ve doku analizi türünden görevlere daha çok yüzey analiz
sistemleri ve tıbbi uygulamalarda rastlanır. Tıbbi uygulamalarda hastalıklı dokuların
iki boyutlu görüntü (röntgen, mamografi, ve BT görüntüleri gibi) analizi ile tespit
edilmesi buna bir örnektir. S. Özekes’in tıbbi görüntülemede bilgisayar destekli
tespit çalışması görüntü işlemeye dayalı olarak hastalık teşhisinin kolaylaştırılmasını
sağlayan ve belirtilen türden görevleri içeren bir çalışmadır [20].
Nesne tanıma uygulamaları, gerçekte bir kısım istatistiksel yöntemler gibi,
çeşitli düşük ya da orta seviyeli bilgisayarlı görme yöntemlerinin belirli bir
algoritmik yapı içerisinde kullanıldığı yüksek seviyeli görüntü işleme
uygulamalarıdır. Çoğu endüstriyel uygulamalarda, bu türden uygulama örneklerine
rastlanır.
YZ uygulamaları, görüntü analizi veya görüntü işlemeye dayalı sistemlerin
tasarımında kullanılır. Bilgisayarlı görmede önemli bir yere sahip olan bu
uygulamalar, üç aşamalı bir süreç olarak görünebilir [1]:
17
• Algılama,
• Tanıma,
• Aksiyon.
Algılama, işaretleri sembollere çevirme; tanıma, sembolleri işleme; aksiyon da
sembolleri, dış dünyayı etkiyecek uygun çıkış işaretlerine dönüştürme aşamalarıdır.
II.2. GÖRÜNTÜ BİÇİMLENDİRME
Görüntü biçimlendirme, bir nesneyi temsil eden işareti, onun geometrik
konumunu, ne olduğunu veya özelliklerini yansıtacak şekilde oluşturma sürecidir.
Görüntüleme sistemleri, görüntünün biçimlendirilme sürecinde kullanılan donanım
birimleri ile, bu süreçte yapılan bütün işlemleri kapsar.
II.2.1. Görüntünün Oluşumu
Görüntüler, nesnelerin özelliklerini belirleyen bir veya birden çok parametrenin
değişimine göre oluşturulur. Örneğin, standart görüntüler nesnelerin yüzeylerinden
yansıyan ışık yoğunluğuna göre belirlenir. Ancak, ışık, görüntüleme için kullanılan
tek parametre değildir.
Örnek olarak, bir entegre devrenin sıcaklığının, bir hastanın atardamarındaki
kan akış hızının, deprem sırasındaki yer hareketlerinin uzaysal boyutlara göre
değişimini yansıtan ve farklı türden uyarma sistemleri ile üretilen fiziksel
büyüklükler de görüntüleme için kullanılan birer parametre olabilir.
Bütün bu farklı parametrelerin uzaysal koordinatlara göre değişimini belirleyen
görüntüler, genellikle insan gözünün değerlendirebileceği resimler halinde
biçimlendirilir. Görüntü biçimlendirme sürecinde nesne özelliklerini görüntüleme
sistemi tarafından ölçülen işarete bağlayan adımlar zinciri, Şekil II.6’daki blok
diyagramda özetlenmiştir [1].
Buna göre, radyasyonun nesne ile etkileşim şekli, nesnenin görüntülenme
prensibini belirler. Örneğin bir kamera görüntüsü cismin üzerine gönderilen ışının
nesneden yansıması prensibine göre, bir sayısal röntgen görüntüsü ise, nesneye
gönderilen x-ışını radyasyonunun nesne tarafından soğrulma miktarının belirlenmesi
prensibine dayanır. Bu çalışmada kullanılan görüntüleme sisteminde, nesneden
18
yansıyan ışıma enerjisinin bir kısmı optik sistem vasıtasıyla toplanır ve yayılan
enerjinin yoğunluğu ile orantılı bir seviyede algılanır. Bir sensör (veya sensörler
dizisi) alınan ışımayı elektriksel işarete çevirir. Daha sonra, işaret örneklenip sayısal
hale getirilerek, iki boyutlu bir sayı dizisi halindeki görüntü verisine dönüştürülür.
Bununla beraber, görüntüleme sistemleri, nesnelerin 3-boyutlu dünyada ve
görüntü düzlemindeki karşılıkları arasında ilişkiyi oluştururken iki farklı yaklaşım
kullanabilir:
• Doğrudan görüntüleme,
• Dolaylı görüntüleme.
Doğrudan görüntüleme sistemleri nesnelerin 3-boyutlu dünyada ve görüntü
düzlemindeki karşılıkları arasında noktadan noktaya doğrudan bir ilişki sağlar.
Dolaylı görüntüleme sistemleri ise, nesne ile görüntü arasında, yayımlanan
ışıma enerjinin uzaysal olarak dağıtılmış yoğunluğuna bağlı bir ilişki sağlar. Ancak
bu doğrudan görüntüleme sistemlerinde olduğu gibi noktadan noktaya bire bir ilişki
değildir.
NesneninRadyasyonla
Etkileşimi
GörüntülemeSistemi
Radyasyon(ışık)
Sensörü
A/D Çevrimi,Örnekleme
Işımaenerjisi
yoğunluğu
Işımaenerjisi
Nesneözelliği
Elektrkselişaret
Sayısalgörüntü
S(x',y',z') R(x',y',z') E(x,y) G(x,y) I(m,n)
Şekil II.6. Bir Sayısal Görüntünün Biçimlendirilme Sürecinde Nesne Özelliklerini Ölçülen
İşarete Bağlayan Adımlar Zinciri [1]
Dolaylı görüntüleme sistemlerinde bir görüntünün biçimlendirmesi için,
algılanan enerji yoğunluğu esas alınarak, nesnenin görüntü düzlemi üzerindeki iz
düşümü yeniden oluşturulur. Böyle görüntüleme örnekleri arasında, radarla
görüntüleme, akustik görüntüleme, bilgisayarlı tomografik görüntüleme (BT) ve
manyetik rezonanslı görüntüleme (MR) sayılabilir.
II.2.2. Veri Yapıları
Bir sayısal görüntü, biçimlendirme ve kodlama için kullanılan şemaya
bakılmaksızın daima 2-boyutlu bir I (m,n) dizisi ile temsil edilebilir. Buna göre, 3-
boyutlu görüntüler, birden çok 2-boyutlu dizi ile temsil edilir. Görüntüyü temsil eden
19
bir I (m,n) dizisinin indekslenmesinde kullanılan en uygun protokol, genellikle yatay
piksel koordinatının soldan sağa doğru ve ikinci parametre (n) ile, dikey piksel
koordinatının yukarıdan aşağıya doğru ve birinci parametre (m) ile temsil edildiği
geleneksel matris notasyonunu takip eder. MATLAB’da bu indeksleme protokolü
piksel koordinatları şeklinde isimlendirilir. Şekil II.7’de satır sayısı M, sütun sayısı
N olan ve piksel koordinat sistemine göre biçimlendirilmiş bir sayısal görüntü matrisi
verilmiştir [4,7].
I (m,n) =
I (1,1) I (1,2) I (1,3) I (1,N)
I (2,1) I (2,2) I (2,3) . . . . . I (2,N)
I (3,1) I (3,2) I (3,3) . . . . . I (3,N)
I (M,1) I (M,2) . . . . . I (M,N)
. . . . . .
. .
. . .
. . .
. . .. .
.
I (M,3)
Şekil II.7. Piksel Koordinat Sistemine Göre Biçimlendirilmiş bir Görüntü Matrisi Gösterimi
Şekil II.8’de, Venüs gezegeninin bir uzay araştırma uydusundan mikrodalga
radarı ile elde edilen görüntüsü ve sayısal görüntü matrisinin bir parçası verilmiştir.
Bu görüntüdeki satır ve sütun indeksleri, 0-199 aralığındaki tam sayılarla
kodlanmıştır. Görüntünün çözünürlüğü M*N = 200*200 = 40000 pikseldir.
Şekil II.8’de verilen GT görüntüde piksel verileri 8 bitlik tam sayılar
kullanılarak 0-255 arası sayılarla gösterilmiştir. Burada 0 siyah, 255 beyaz tonu, ara
değerler de diğer gri tonları temsil eder. Her pikselin sayısal değeri, gezegen
yüzeyinin karşılık gelen bölgesinden yansıyan mikrodalga enerjisinin yoğunluğuna
göre belirlenmiştir.
Bununla beraber, MATLAB ve diğer bir çok görüntü işleme programlarınca
desteklenen ve sayısal görüntünün biçimlendirilmesinde kullanılan veri sınıfları
(kodlama şemaları) 4 ana grup halinde sıralanabilir:
• İndeksli,
• Renkli (RGB),
• Gri ton (GT),
• Siyah-beyaz (SB) kodlama.
İndeksli ve RGB sınıfı kodlamalar nesnelerin renkli görüntülenmesinde kullanılır.
RGB sınıfı kodlamada, görüntüyü temsil eden her pikselin kırmızı, yeşil ve mavi
20
temel renklerine ilişkin tonlar ayrı veri dizilerinde saklanır. GT ve SB sınıfı
kodlamalarda ise siyah beyaz veya gri ton görüntü bilgileri tek bir veri dizisinde
saklanır.
Şekil II.8. Venüs Gezegeninin Mikrodalga Radarı ile Elde Edilmiş bir Sayısal Görüntüsü [6]
Piksel verileri bu sınıfların her birinde 8 bitlik tam sayı, 16 bitlik tam sayı veya
32 bitlik gerçek sayı gibi farklı biçimlerde saklanabilir. Bununla beraber, GT
görüntüde veriler genellikle 8 bitlik tam sayılarla kodlanır. SB görüntüde her pikselin
alabileceği renk siyah veya beyazdır, ve sırasıyla ikili tabandaki 0 ve 1 sayıları ile
kodlanır. Bu tez çalışmasının ilerideki aşamalarında yalnız GT ve SB görüntülerle
ilgilenilmiştir.
Bilimsel araştırmalarda, kişisel bilgisayar uygulamalarında ve TV alıcılarında
kullanılan tipik bir sayısal görüntünün çözünürlüğü 512*512 pikseldir. Bununla
beraber, teknolojik gelişmeler çözünürlüğü daha iyi olan sayısal görüntüleri elde
etmeye fırsat verdiğinden, sayısal röntgen, uzay fotoğrafları ve reklam gibi
uygulamalarda ihtiyaç duyulan görüntü kalitesi de giderek daha kolay bir şekilde
elde edilebilmektedir.
21
Görüntü işlemede en önemli zorluk, işlenecek veri miktarının çok yüksek
olması ve bu miktardaki verinin yönetimi sorunudur. Örneğin, bir saniyelik bir
sayısal ses kaydı yaklaşık 8 KB, görüntü kaydı ise yaklaşık 8 MB boyutunda bir
hafızaya kaydedilebilir. 512*512 piksel çözünürlüklü bir görüntünün, 33.6 Kbps
hızındaki modem ile iletimi için yaklaşık bir dakikalık bir süre gerekir. Görüntü
çözünürlüğünün 2 katına çıkması halinde (1024*1024), bu süre 4 katına çıkar. Bu
nedenle, yeterli olan en düşük çözünürlüklü görüntü kullanmak kolaylıklar sağlar [6].
II.3. GÖRÜNTÜ İŞLEME
Bilgisayarlı görmede görüntü analizi ve görüntü işleme için yapılabilecek
işlemler, daha önce de belirtildiği gibi, üç ana sınıfa ayrılabilir: düşük-seviyeli, orta
seviyeli, ve yüksek seviyeli işlemler. Düşük seviyeli işlemler, parlaklık ve kontrast
ayarı, görüntünün gürültüden arındırılması, ve görüntü keskinleştirme gibi basit
dönüştürme ve filtreleme işlemlerini kapsar. Düşük seviyeli bir işlem, hem girişinin
ve hem de çıkışının görüntü olması ile karakterize olur [3].
Orta seviyeli işlemler, görüntünün bölgelere veya nesnelere ayrılması,
nesnelerin tanımlanması ve sınıflandırılması gibi işlemleri içerir. Orta seviyeli bir
işlem, genellikle girişlerinin görüntüler, çıkışlarının bu görüntülerden üretilen alan,
boyut, kenar, kontur gibi nesnelerin kimliklerini belirlemeye yardım eden çeşitli
ölçüler veya özellikler olması ile karakterize olur [3].
Yüksek seviyeli işlemler, görüntü analizinin hedeflenen nihai amacını oluşturan
ve normalde insan görmesi ile ilgili algılama ve tanıma fonksiyonlarından ilham alan
işlemleri içerir. Bu bölümde, yukarıda sıralanan düşük ve orta seviyeli işlemlerin bir
kısmı tanıtılmaktadır.
II.3.1. Düşük Seviyeli İşlemler
Düşük seviyeli görüntü işleme uygulamaları kapsamında, GT veri yapısına
sahip görüntülerin parlaklık ve kontrast ayarı, gri ton ölçekleme dönüşümü,
filtreleme ve GT görüntüden SB görüntüye dönüşüm için kullanılan eşikleme
yöntemi, SB görüntü üzerinde uygulanan morfolojik işlemler; nesneleri çevreleyen
22
konturu belirleme, iskelet çıkarma gibi amaçlarla kullanılan ve pikseller arasındaki
geçişleri düzenleyen komşuluk ilişkileri aşağıda açıklanmıştır.
II.3.1.1. Parlaklık ve Kontrast Ayarı
Parlaklık, görüntünün tümünü ilgilendiren aydınlık seviyesi ile ilgili bir
kavramdır. Kontrast ise, görüntüdeki nesne veya bölgeler arasındaki parlaklık farkını
belirtmek için kullanılır. Bir görüntü, kolay seyredilebilmesi için uygun bir parlaklık
ve kontrasta sahip olmalıdır.
Şekil II.9’da parlaklık testi için kullanılan bir görüntü verilmiştir. Bu görüntü
80*32 piksel boyutundadır ve her bir piksel 0-255 arası bir gri ton değerine sahiptir.
Resimde 6 farklı parlaklık ve kontrast seviyesi kullanılmıştır. Test görüntüsünün arka
planı rasgele gürültü ile doldurulmuştur. Soldan sağa üç kare kutunun piksel
değerleri sırası ile 75, 150 ve 225’dir. Her bir kare piksel değerleri arka planlarından
çok az farklı iki üçgen içerir.
Şekil II.9. Parlaklık ve Kontrast Testi İçin Kullanılan Görüntü [6]
Bu test görüntüsü üzerinde parlaklık ve kontrast ayarlarının nasıl yapıldığı Şekil
II.10’da gösterilmiştir. Buna göre, Şekil II.10a’daki uygulamada parlaklık ve kontrast
normal düzeye ayarlanmıştır.
Şekil II.10b ve Şekil II.10c’de parlaklık değişiminin etkisi gösterilmiştir.
Parlaklığın artırılması görüntüdeki her bir pikselin daha aydınlık görünmesini
sağlamıştır. Tersine, parlaklığın azaltılması görüntüdeki her bir pikselin daha
karanlık görünmesini sağlar. Bu uygulamalarda üçgenlerin hiçbiri, Şekil
II.10a’dakinden daha iyi görülemez. Bu uygulamada olduğu gibi, düşük kontrastlı
nesnelerin çevresinden ayrıt edilebilmesine parlaklık değişimleri çok az katkı sağlar.
23
Şekil II.10d’de yapılan kontrast ayarına göre, sayısal değeri 75’e yakın olan
piksellerin en iyi şekilde görüntülendiğini görülmektedir.
Şekil II.10. Parlaklık ve Kontrast Ayarlama Örnekleri [6]
Bu ayar sonucunda, örneğin, gri ton değerleri 71-75 aralığında olan pikseller 100-116
değerleriyle görüntülenir. Kontrastı artırmak sol taraftaki karenin içindeki üçgenlerin
görülebilmesine imkan sağlamıştır. Buna karşılık, ortadaki ve sağdaki kareler
doyuma gitmiştir.
Kontrast ayarlamanın başka bir yolu da, Şekil II.10e’de görüldüğü gibi piksel
değerlerinin küçük bir aralığı üzerinde büyütme işlemi yapmaktır. Buna göre,
ilgilenilen piksel değerlerinin bulunduğu bölümün merkezinde bir büyütme yapılarak
parlaklık kontrolü yapılır. Bu ayar sonucunda, 256 seviyenin sadece 16 tanesi
24
doymamış olarak görüntülenir. Ortadaki karenin ayrıntıları daha iyi görülebilir.
Ancak, bunun haricindeki her şey doyuma gitmiştir.
II.3.1.2. Gri Ton Ölçekleme Dönüşümü
Şekil II.10’da verilen bütün parlaklık ayarları gerçekte birer düşük seviyeli
görüntü işleme uygulamasıdır. Bununla beraber, Şekil II.10f’deki görüntünün
parlaklık ve kontrast ayarı için yapılan işlemler, düşük seviyeli görüntü işleme
tanımlamasına daha uygundur.
Burada görüntü işleme sistemi, giriş görüntüsünden çıkış görüntüsünü üretirken
daha dinamik bir yol izlemektedir. Sistemin bir örneği Şekil II.10f’de verilen
giriş/çıkış karakteristiği (gri ton ölçeği dönüşüm karakteristiği), amaca bağlı olarak
çeşitli şekillerde tanımlanabilir. Örneğin Şekil II.10f’deki uygulamanın amacı, test
görüntüsünün iki uçta bulunan karelerinin içindeki üçgenlerin çıkış görüntüsünde
daha net görülebilmesini sağlamaktır.
Bu yaklaşım, görüntülerin görünüşlerini geliştirmek için güçlü bir yöntem olan
gri ton ölçekleme dönüşümünü (gri skala dönüşümü) ortaya çıkarmıştır. Buradaki
temel fikir, piksel değerlerinde kontrastı arttırmaktır. Buna ilişkin bir örnek Şekil
II.11’de verilmiştir. Bu şekildeki görüntü, tam karanlık ortamda kızılötesi ışığa
duyarlı bir CCD kamera kullanılarak elde edilmiştir.
Bu görüntülemede kullanılan radyasyon değişkeni ısıdır. Sıcak nesneler daha
fazla kızıl ötesi enerji yayar ve görüntüde bunlar daha parlak görünür. Görüntüde,
arka plan çok karanlık (soğuk), vücut gri (sıcak), ve kamyonun ızgaraları beyaz (çok
sıcak) tonlarda biçimlendirilmiştir. Şekil II.11a’daki orijinal görüntüde (giriş
görüntüsü) görüş zordur, çünkü piksel değerleri düzensiz dağılmıştır. Görüntünün
çoğunda karanlıktan dolayı sahnenin ayrıntıları görülemez. Izgaralar beyaza yakın ve
doyumdadır.
25
Şekil II.11. Gri Ton Ölçekleme Dönüşümü [6]
Bu görüntünün histogramı Şekil II.12a'da gösterilmiştir. Burada orijinal
görüntüdeki arka plan, insan ve ızgaralar fark edilebilir ayrı değerlere sahiptir. Bu
örnekte, arka plan ve ızgaraların kontrastı artırılmak istendiğinde, Şekil II.12b'de bu
amaçla takip edilecek bir yöntem resimlenmiştir.
Şekil II.12. Gri Ton Ölçekleme Dönüşümünün Geliştirilmesine İlişkin Bir Uygulama Örneği [6]
Buna göre, arka plan 12 değerinde, ızgaralar 6 değerinde, insan vücudu da 1
değerinde bir bağıl kontrasta sahip olacak, ve bölgeler arasında geçiş bir merdiven
şeklinde olacak şekilde gri ölçek dönüşümünün tanımlaması yapılmıştır. Tüm bu
değerler deneme yanılma yolu ile belirlenmiştir.
26
Bu tanımlamaya göre oluşan gri ton ölçekleme dönüşüm karakteristiği Şekil
II.12c'de gösterilmiştir. Bu dönüşüm karakteristiği, Şekil II.12b'de bağıl
tanımlamanın integrali alınıp normalleştirilmesi suretiyle (256 sayısına göre) elde
edilmiştir. Başka bir deyişle, Şekil II.12b, Şekil II.12c’de verilen karakteristiğin
türevidir. Bu yöntem literatürde histogram eşleme yöntemi olarak anılır.
Şekil II.11b’deki görüntü, Şekil II.11a’daki görüntünün bu dönüşüm
karakteristiğine göre gri ton ölçekleme dönüşümünden geçirilmesi sonucunda
üretilmiştir. Sonuçta arka plan daha aydınlık, ızgaralar daha koyu yapılıp, her ikisi de
daha iyi bir kontrasta sahip olmuştur. Buna karşılık vücut kontrastı azalmıştır,
hırsızın görüntüsü az bir detay ile üretilmiştir.
Yukarıdaki örnekte olduğu gibi, gri ton ölçekleme dönüşümlerinde göstergede
arzu edilen kontrast değeri bir görüntünün görülebilirliğini geliştirmede önemli
olabilir. Bunu sağlamak çok sayıda deneme gerektirebilir. Histogram eşlemenin bir
yolu da otomatik yöntemdir. Buna göre, çıkış dönüşümü elle eğri üretmek yerine,
histogram integrasyonu ve normalizasyonu ile bulunur. Piksellerin en büyük değere
sahip olanlarına verilen bu değerler sonuçta en büyük kontrasta neden olur.
Şekil II.11’de kamyon ızgaraları ve hırsız göze en çok çarpan nesnelerdir. Buna
rağmen, histogram eşlemede bu nesneler de bağıl olarak bir kaç piksel içermektedir.
Histogram eşleme kolay ve hızlıdır. Yinede, histogram eşlemenin çok başarılı
olmadığı yerlerde, elle üretilmiş bir eğri muhtemelen daha iyi sonuçlar verebilir [6].
II.3.1.3. Filtreleme
Geleneksel sayısal işaret işlemede olduğu gibi, lineer görüntü işleme yöntemleri
de esas olarak iki farklı filtreleme yaklaşımı kullanır: konvolüsyon ve hızlı Fourier
dönüşümü (FFT). Bununla beraber, görüntü işlemede konvolüsyon daha önemlidir.
Çünkü görüntüler esas olarak frekans domeninde kodlanmış verilerden çok, uzaysal
domende kodlanmış verileri içermektedir.
Ayrıca konvolüsyon yöntemi ile yapılan hesaplamalar, FFT yöntemi ile yapılan
hesaplamalara göre daha az işlemci gücü gerektirmektedir. Bu nedenle, bu bölümde
lineer görüntü filtreleme yöntemlerinden yalnız konvolüsyon yöntemi açıklanmıştır.
Lineer görüntü filtreleme ile, görüntüdeki nesnelerin kenarlarının
keskinleştirilmesi, rasgele gürültülerin azaltılması, dengesiz aydınlanmanın
27
giderilmesi gibi, görüntüleri bir çok yönden geliştiren uygulamalar yapılabilir. Bu
sonuçlar, asıl görüntüye uygun bir filtre çekirdeği (kernel) ile konvolüsyon
uygulanması sonucunda elde edilir.
Buna göre, her görüntü, ölçeklenmiş ve kaydırılmış 2-boyutlu impulsların (delta
fonksiyonu) toplamı olarak düşünülebilir. Burada 2-boyutlu delta fonksiyonu, satır
ve sütun indekslerinin pozitif ve negatif değerlere sahip olabileceği varsayımı ile,
(0,0) konumuna karşılık gelen piksel hariç, tüm piksellerin sıfır değerini aldığı bir
görüntüdür. Şekil II.13’de 2-boyutlu delta fonksiyonu ve insan gözünün buna karşı
ürettiği cevap gösterilmiştir.
Şekil II.13. 2-boyutlu Delta (Birim İmpuls) Fonksiyonu ve Gözün Birim İmpuls Cevabı [6]
Bu cevap literatürde nokta genişletme fonksiyonu nitelemesiyle ve onun orijinal
isminin kısaltılmış şekli olan PSF (Point Spread Function) kısaltmasıyla
kullanılmaktadır. PSF bir filtreyi temsil ettiğinde bazen filtre kerneli veya filtre
çekirdeği nitelemesiyle de anılabilmektedir [6,13]. Şekil II.14’de yaygın olarak
kullanılan PSF örnekleri verilmiştir.
28
Şekil II.14. Yaygın Olarak Kullanılan PSF’ler [6]
Lineer işaret işleme teorisine göre, bir sistemin giriş işaretine karşı ürettiği
cevap, giriş işareti ile sistem birim impuls cevabının konvolüsyonudur. Buna göre,
görüntüyü 2-boyutlu N*N piksellik bir Iin (m,n) dizisi ile, görüntü işleme sistemini de
M*M piksellik bir h(k,j) birim impuls cevabı dizisi ile temsil ettiğimizde, çıkış
görüntüsünü temsil eden 2-boyutlu Io(m,n) dizisi aşağıdaki gibi 2-boyutlu
konvolüsyonla hesaplanır [7]:
∑ ∑ −−=−
=
−
=
1
0
1
0),( ),(),(
M
k
M
jino jnkmIjkhnmI (II.1)
Benzer şekilde, filtreleme için konvolüsyon yerine korelasyon da
kullanılabilmektedir. Bu durumda çıkış görüntüsünü temsil eden 2-boyutlu Io(m,n)
dizisi (II.1) eşitliğine benzer aşağıdaki eşitlikle hesaplanır:
29
∑ ∑ ++=−
=
−
=
1
0
1
0),( ),(),(
M
k
M
jino jnkmIjkhnmI (II.2)
Şekil II.14a,b,c‘de gösterilen filtre çekirdekleri ile yapılan filtrelemede çıkış
görüntüsü daha bulanık ve kenarlar daha az belirgindir. Bununla beraber, rasgele
gürültüler azalmıştır. Bu filtreler alt geçiren (smoothing) filtrelerdir. Buna karşılık,
Şekil II.14d,e‘de gösterilen filtreler yüksek geçiren filtrelerdir.
Görüntü konvolüsyonunda en önemli sorun, çok sayıda hesaplama
gerektirmesidir. Örneğin, 512*512 piksel boyutundaki bir görüntünün 64*64 piksel
boyutundaki bir PSF ile konvolüsyonu için bir milyondan fazla çarpma ve toplama
gerekir. Bu nedenle hızı yükseltmek için üç yaklaşım kullanılır:
• Küçük boyutlu bir PSF kullanmak (çoğunlukla 3*3 boyutunda)
• Yatay ve düşey izdüşümlerine ayrılabilir bir filtre kerneli kullanmak,
• FFT konvolüsyonu.
Bunlardan 3*3 piksellik filtre çekirdeği ile yapılan konvolüsyon ve korelasyon
uygulamalarından şaşırtıcı bir şekilde yeterli filtre cevapları üretilebilmektedir [6].
II.3.1.4. Eşikleme: GT-SB Görüntü Dönüşümü
Bilgisayarlı görüntü işlemede en önemli sorun, nesneleri temsil eden alt
görüntüleri belirlemektir. İnsanlar için çok doğal ve çok kolay olan bu işlem,
bilgisayar için sürpriz bir şekilde zordur. Bir görüntünün bölgelere ayrılmasına
segmentasyon denir. İdeal olarak, her bir parça bir nesneyi veya nesnenin bir
parçasını temsil eder.
Eşikleme, ilgilenilen nesnelerin arka plandan (zeminden) ayrılmasını
sağlayacak şekilde bir gri ton (GT) görüntünün siyah-beyaz (SB) görüntüye
dönüştürülmesidir. Nesnelerin arka zeminden etkin bir eşikleme ile ayrılabilmesi
için, arka zeminle aralarında yeterli bir kontrast olmalı, ve nesne ile arka zeminin gri
ton seviyesi hakkında bilgimiz olmalıdır. Bu amaçla görüntünün gri ton yoğunluk
dağılımı fonksiyonundan (histogram) yararlanılır.
I(m,n) GT görüntü dizisi, T eşik gri ton değeri olmak üzere, eşikleme
sonucunda oluşan BI (m,n) SB görüntü dizisi aşağıdaki gibi belirlenir [2,13]:
30
⎩⎨⎧
>≤
=TnmITnmI
nmBI),( ,0),( ,1
),( (II.3)
Bilgisayarlı görme sistemlerinde görüntülerin eşiklemesi genellikle gri ton eşik
değerinin amaca bağlı olarak dinamik bir şekilde değiştirilmesi ile yapılır.
II.3.1.5. Morfolojik İşlemler
SB görüntü üzerinde yapılan düşük seviyeli görüntü işleme uygulamalarının en
önemlilerinden birisi, morfolojik görüntü işlemedir. Morfolojik işlemler oldukça
basit bir matematiksel alt yapıya dayanır.
Şekil II.15a’da GT görüntüden eşikleme ile oluşturulan bir SB görüntü örneği
verilmiştir. Görüntüdeki nesne, kızıl ötesi görüntüleme ile elde edilmiş bir düşman
tankı, uzay görüntüleme sistemi ile elde edilmiş bir gök taşı, veya röntgen
görüntüsünden elde edilmiş bir tümörü temsil edebilir. Morfolojik işlemler, bu
örnekte olduğu gibi nesne tanımadaki belirsizlikleri gidermede yardımcı olur. Bu
amaçla kullanılan temel morfolojik işlemlerden aşındırma, genişletme, açma ve
kapama uygulamaları Şekil II.15’deki örnek üzerinde gösterilmiştir.
Şekil II.15. Morfolojik İşlem Örnekleri [6]
Şekil II.15b ve Şekil II.15c’de bu görüntünün aşındırma ve genişletme
morfolojik işlemleri ile nasıl değiştirildiğini göstermektedir. Aşındırmada, nesnenin
31
arka plana yakın konumdaki ya da nesneye teması az olan bütün pikseller arka plan
pikseline dönüştürülür. Genişletmede ise, nesnenin piksellerine temas eden bütün
arka plan pikselleri nesne pikseline dönüştürülür. Dolayısıyla, aşındırma nesneleri
daha küçültürken, toplu halde bulunan nesneler içinden bir nesneyi koparabilir.
Genişletme nesneleri daha büyütür ve toplu halde bulunan farklı nesneleri tek bir
nesne halinde birleştirebilir.
Şekil II.15d ve Şekil II.15e sırasıyla açma ve kapama morfolojik işlemlerini
göstermektedir. Açma, bir aşındırmayı takiben bir genişletme yolu ile gerçekleştirilir.
Kapama, bir genişletmenin ardından yapılan aşındırma işlemi ile gerçekleştirilir. Bu
örnekte, nesnedeki küçük piksel grupları ve ince piksel uzantıları açılarak ortadan
kaldırılmıştır. Aynı şekilde, arka plandaki adacıklar ve ince piksel grupları
kapatılarak ortadan kaldırılmıştır. Bu işlemler, istenmeyen bazı piksellerin
oluşturduğu gürültüyü gidermek için yararlıdır.
II.3.1.6. Komşuluklar
Şekil II.16a’da gösterildiği gibi, bir görüntünün [m, n] uzaysal konumunda
bulunan pikselin sekiz komşusu vardır. Bunlar yatay ve düşey doğrultularda 2,4,6,8
numaraları ile kodlanan yakın komşular ile, pikselin köşegenleri doğrultusunda
1,3,5,7 numaraları ile kodlanan ve uzak komşular olarak adlandırılan piksellerdir.
Bu komşuluk tanımlamaları görüntü işleme uygulamalarında önemli bir yer
tutar. Örneğin, bir nesnenin çevresini belirleyen en küçük uzunluklu diziyi
belirlemek, bir nesnenin iskeletini çıkarmak gibi uygulamalarda (parmak izi tanıma
gibi) bu komşuluk kodlamasına göre işlenerek oluşturulan SB görüntüler, nesnelerin
özelliklerini çıkarmaya yönelik orta seviyeli görüntü işleme algoritmaları için esas
alınan görüntülerdir.
Komşuların bağlantılı veya bağlantısız olduğunu belirlemek için kullanılan
algoritmalar, bitişik komşu pikseller arasında siyah-beyaz geçişlerini sayma
prensibine dayanır. Bununla beraber, uygulamada Şekil II.16’da gösterilen sekizli
komşuluk ilişkisine dayanan uygulamaların yanı sıra, yalnız yakın komşulukların
dikkate alındığı dörtlü komşuluk ilişkileri de kullanılabilmektedir. Örneğin, bir
nesnenin çevresini oluşturan poligonun çıkarılması uygulamasında, sekizli komşuluk
ilişkisine dayanan 8-yönlü zincir kodu kullanılabileceği gibi, dörtlü komşuluk
ilişkisine dayanan 4-yönlü zincir kodu da kullanılabilir.
32
Şekil II.16. Komşuluk Kodlamaları ve Olası Komşuluk İlişkileri [6]
Sekizli komşulukta bir piksel ile bütün komşuları arasında siyah-beyaz geçişi
oluşabilir. Bu ilişkiler Şekil II.16b ve Şekil II.16c’deki bağlantılı ve bağlantısız
komşuluk örneklerinde siyah-beyaza geçişlerini temsil eden bir * işareti ile
belirtilmiştir.
II.3.2. Orta Seviyeli İşlemler
Orta seviyeli işlemler, GT bir görüntünün SB görüntüye dönüştürülmesi için
kullanılan eşikleme işlemi ile başlar. GT-SB dönüşümü için seçilen eşik değere ve
oluşan SB görüntü üzerinde bundan sonra yapılan bir takım morfolojik işlemlere
bağlı olarak, SB görüntü üzerinde çeşitli bölgeler (segment) oluşur. Bu aşamadan
sonraki süreç, her biri sınırları bir piksel dizisi ile belirlenen ve ayrı bir nesne olarak
kabul edilen bu bölgeleri diğerlerinden ayırt edecek özellikleri tanımlamaktır. Orta
seviyeli işlemler, bu amaçla yapılan görüntü işleme uygulamalarını kapsar.
Buna göre, orta seviyeli işlemler, nesnelerin tanımlanması için yapılabilecek iki
temel tercihe bağlı olarak belirlenir:
33
• Nesneleri çevresel (harici) özelliklerine göre tanımlamak,
• Nesneleri bölgesel (dahili) özelliklerine göre tanımlamak.
Bununla beraber, SB görüntüdeki nesnelerin (bölgelerin) yukarıda verilen
yaklaşımlardan hangisine göre temsil edileceğinin tercihi, nesneleri tanımlama için
yerine getirilmesi gereken ilk görevdir. Bundan sonraki görev, seçilen yaklaşım
tercihine göre nesneleri tanımlayacak parametreleri üretmektir. Örneğin, bir nesnenin
çevresel özelliklerine göre tanımlanması tercih edildiğinde, bu amaçla nesneyi
çevreleyen konturun uzunluğu, içerdiği konkavlık sayısı gibi özellikler bu nesneyi
tanımlayan parametreler olarak seçilebilir [3].
Nesneleri çevresel özelliklerine göre temsil etme yaklaşımı, nesnenin şekli ile
ilgilenildiği durumlarda; bölgesel özelliklerine göre temsil etme yaklaşımı ise,
nesnenin renk ve doku özellikleri gibi dahili özelliklerine odaklanıldığında seçilir.
Bazı uygulamalarda, nesnelerin temsili için kullanılan her iki yaklaşım, bir
problemin çözümü amacıyla ayni anda kullanılabilir. Her iki durumda da nesne
tanımlayıcı olarak seçilen parametreler, mümkün olduğu kadar nesnenin (bölgenin)
büyüklüğü (alanı, size), yer değiştirmesi ve dönmesi gibi çeşitli fiziksel durumlarda
özelliklerinde meydana gelen değişimleri en iyi yansıtan parametreler olmalıdır. Bu
bölümde, anılan amaçlarla en sık kullanılan parametrelerden bir kısmı tanıtılmıştır.
II.3.2.1. Temel Tanımlar
Bir SB görüntü içerisinde bir biri ile bağlantılı piksellerin oluşturduğu her küme
bir bölge (nesne); bölgede bulunan, ancak bir veya daha çok sayıda komşusu bölge
içinde olmayan piksellerin oluşturduğu küme ise, çevre (bölgenin çevresi) olarak
tanımlanır. Bölge veya çevre üzerinde olmayan pikseller arka plan pikselleridir.
Bu tanımlara göre, kontur bir biri ile bağlı piksellerin oluşturduğu bir kümedir.
Bir kontur üzerindeki pikseller bir birine hep ayni yönde (saat yelkovanı yönünde
veya saat yelkovanının tersi yönde) bağlanan bir dizi halinde biçimlenirse, bunlara
sıralı pikseller denir. Bir bölge içinde bulunan ancak bölgeyi çevreleyen kontur
üzerinde bulunmayan piksellere iç piksel denir.
34
II.3.2.2 Görüntü Analizinde Kullanılan Tanımlayıcılar
Literatürde çok kullanılan tanımlayıcıların bir kısmı aşağıda açıklanmıştır.
Çevre Uzunluğu: Nesneyi çevreleyen konturun uzunluğudur. Buna göre, bir
nesnenin çevre uzunluğu hesaplanırken, kontur üzerindeki bir pikselden başlayıp
tekrar ayni piksele gelinceye kadar yapılan her piksel geçişinin yakın komşuluk (4-
yönlü kodlama şeması) olması halinde 1 birim, uzak komşuluk (8-yönlü kodlama
şeması) olması halinde 1.41 birim değeri ile toplama ilave edildiği bir algoritmik
yapıya göre hesaplanır.
Çap: Nesneyi çevreleyen konturun üzerinde bir birine en uzak konumdaki iki
piksel arasındaki Euclidyen mesafesi şeklinde tanımlanan uzaklık ‘çap’tır. Çap
hesaplaması için tespit edilen piksellerden geçen doğru, nesnenin ana (büyük) ekseni
olarak tanımlanır. Buna göre nesnenin küçük ekseni, ana eksene dik olan doğrudur.
Şekil Numarası (Zincir Kodları): Zincir kodları, daha önce Bölüm II.3.1.6’da
açıklandığı gibi, SB görüntü üzerindeki bir pikselin yatay ve düşey doğrultularda
2,4,6,8, köşegenleri doğrultusundaki 1,3,5,7 numaralı komşuları ile arasındaki siyah-
beyaz geçişlerinin Freeman zincir koduna göre değerlendirilmesi ile oluşturulan ve
nesnelerin çevrelerinin tanımlanması için esas alınan kontur ve nesne kabuğu gibi
yapıları temsil eden ikili kod dizileridir [3,9].
Şekil numarası ise, 4-yönlü veya 8-yönlü Freeman zincir koduna göre
hesaplanan en küçük genliğin birinci fark dizisi (türev) ile belirlenir. Şekil
numarasının büyüklüğü, bu fark dizisindeki basamak sayısıdır.
Fourier Tanımlayıcıları: K elemanlı kapalı bir kontur çizgisini oluşturan
noktalar dizisi, periyodik bir fonksiyon olarak ele alınabilir [2]. Bu kapalı kontur
çizgisi üzerindeki her bir piksel için tanımlanmış, [ ])(),()( kykxks = şeklindeki
uzaysal koordinatlar yerine, bu uzaysal koordinatlardan türetilen, )()()( kjykxks +=
gibi bir kompleks koordinat ifadesi kullanılabilir. Nesne konturunu tanımlayan bu
kompleks ifadelere ayrık Fourier dönüşümü uygulanarak nesnenin konturuna ait
Fourier tanımlayıcıları hesaplanabilir [2,3,9,13]. Bu işlemin matematiksel ifadesi II.4
eşitliğinde verilmiştir.
[ ] )()()()(),()( kjykxkskykxks +=⇒= 1,...,2,1,0 −= Kk
35
∑−
=
−=1
0
/2)()(K
k
KukjeksuF π 1,...,2,1,0 −= Ku (II.4)
Burada F(u), kontur üzerindeki u. piksel için hesaplanan Fourier tanımlayıcısı; K,
konturun içerdiği piksel sayısını göstermektedir. Nesneler kontur özelliklerine göre
sınıflandırılarak, karakter tanıma veya bir yoldan geçen insanların ve araçların ayrı
ayrı tespit edilmesi ve sayılması gibi istenilen herhangi bir görev yerine getirilebilir.
Böyle bir uygulamaya örnek olarak Toth D.’nin çalışması verilebilir [25].
İstatistiksel Moment: Bir boyutlu fonksiyon olarak temsil edilebilen şekiller,
ortalama, varyans ve yüksek dereceli momentler gibi istatistiksel momentler
kullanılarak nicel olarak tanımlanabilirler [3]. Bu noktada, bir görüntü için elde
edilen histogram tek boyutlu bir fonksiyon gibi düşünülerek istatistiksel momentler
ile değerlendirilip görüntü hakkında tanımlayıcı değerler üretilebilir. Yine benzer
şekilde parçalara ayrılmış bir nesne konturu üzerinde de bu değerler hesaplanarak
nesneye ait konturun tanımlaması yapılabilir. Bu amaç ile nesneye ait bir kontur
parçası Şekil II.17b deki gibi bir eksen takımına yerleştirilerek alanı normalize edilir.
Bu durumda, kontur parçasını temsil eden g(r) fonksiyonu, rasgele değişken ri‘nin
ortaya çıkma olasılığını gösteren bir olasılık fonksiyonu, ya da bir histogram gibi
değerlendirilebilir. Bu fonksiyon için II.5 eşitliğinde tanımlanan istatistiksel
momentler (µn) kolaylıkla hesaplanabilir [3].
∑−
=
−=1
0
)()(K
ii
nin rgmrrµ (II.5)
∑−
=
=1
0)(
K
iii rgrmr
Burada n, moment derecesi; µn, n. dereceden istatistiksel momenti; mr, moment
hesaplama için referans alınan ortalama değerdir.
Şekil II.17. Nesne Konturunun 1-D Fonksiyon Olarak Temsili Gösterimi [3]
36
Geometrik Momentler: Nesnelerin doku yapısı ile ilgili tanımlamalar yapmak
için kullanılan en önemli parametrelerden biri geometrik momentlerdir. Geometrik
momentler tanımlanırken, öteleme, ölçekleme ve döndürme gibi geometrik süreçler
sonucunda değişen parametrelerin yanı sıra, bu tür değişimlerden etkilenmeyen
parametrelerin de elde edilmesi amaçlanır. Bu tür parametreler, sırasıyla merkezi
momentler ve normalize momentler olarak anılır [3,11].
Normalize momentler öteleme ve ölçekleme ile değişmez. Bu nedenle değişmez
momentler olarak da adlandırılırlar. Geometrik momentler ve bu kapsamda yedi adet
normalize moment (Hu tarafından tanımlanan) aşağıda kısaca tanıtılmıştır.
I(x,y) bir sürekli görüntü fonksiyonu olsun. Bu görüntünün (p+q) dereceden
geometrik momenti aşağıdaki gibi tanımlanır [2,11,12]:
, (II.6)
(II.6) eşitliğiyle tanımlanan momentler, nesnelerin görüntü içinde bulunduğu
koordinatlara ve büyüklüğüne bağımlıdır ve değişmezlik özelliği göstermezler. Bu
kapsamda SB görüntüdeki bir nesnenin alanı, onun sıfırıncı dereceden momentine;
konumu (ağırlık merkezi), birinci dereceden momentine; yönü (ana eksenin yatay
doğrultuya göre açısı) de, ikinci dereceden momentine karşılık gelir.
Görüntü içindeki bir nesnenin momentlerinin koordinatlarına ve büyüklüğüne
bağımlı olması sorunu, hesaplanan momentlerin normalize edilmiş şekillerinin uygun
kombinasyonları tanımlanarak giderilir. Bu amaçla kullanılan parametrelerin
oluşturulması için kullanılan uzaysal koordinatlara ilişkin öteleme, ölçekleme, ve
döndürme işlemleri aşağıda tanımlanmıştır:
Öteleme: (II.7)
Ölçekleme: (II.8)
Döndürme: (II.9)
37
a-) Merkezi Momentler: Merkezi momentler aşağıdaki gibi tanımlanır:
∫∫ −−= dxdyyyxxyxI qppq )())(,(µ (II.10)
Burada 00
01
00
10 ,mmy
mmx == nesnenin ağırlık merkezinin koordinatlarıdır.
b-) Normalize Momentler: 2
2++=
qpy olmak üzere, normalize
momentler aşağıdaki gibi tanımlanır:
ypq
pq00µ
µη = (II.11)
Bu momentler nesnelerin dönme ve ötelenmelerinden etkilenmez ve değişmez
[11,12].
Hu’nun 7-Momenti: 1962’ de Hu’nun tanımladığı öteleme, ölçekleme ve döndürme
ile değişmeyen yedi adet normalize moment kombinasyonu aşağıda verilen formüller
ile tanımlanırlar [12]:
02201 ηη +=Φ (II.12)
211
202202 4)( ηηη +−=Φ (II.13)
20321
212303 )3()3( ηηηη −+−=Φ (II.14)
20321
212304 )()3( ηηηη +++=Φ (II.15)
])(3))[()(3( 20321
21230123012305 ηηηηηηηη +−++−=Φ
])()(3)[)(3( 20321
2123003210321 ηηηηηηηη +−++−+ (II.16)
))((4])())[(( 03211230112
03212
123002206 ηηηηηηηηηηη ++++−+−=Φ (II.17)
])(3))[()(3( 20321
21230123030217 ηηηηηηηη +−++−=Φ
])()(3)[)(3( 20321
2123003213012 ηηηηηηηη +−++−+ (II.18)
38
Bu momentlerin ilk altısı aynı zamanda görüntünün çevrilmesi (aynalama) ile
de değişmez. Görüntü çevirme durumunda yedinci momentin mutlak değeri
değişmez, işareti değişir. Pratikte doğruluk sorunlarından kaçınmak ve değişim
aralığını kısıtlamak için momentler logaritmalarının mutlak değerleri alınarak
kullanılır [3]. Burada verilen geometrik momentler ve Hu’nun moment sabitlerinin
yanı sıra, literatürde görüntü işleme, nesne tanıma ve karakter tanıma amaçlı olarak
kullanılan Affine sabit momenti, Tsirikolias-Mertzios momentleri ve Zernike
momentleri de tanımlanmıştır [10,11,12,13]. Günümüzde bu geometrik momentlerin
hesaplama hızlarının ve doğruluklarının geliştirilmesi için yeni hesaplama yöntemleri
de önerilmiştir [21].
Hu momentleri karakter tanımada kullanılabildiği gibi özel olarak hazırlanmış
düzenekler ile alınan görüntülerden üç boyutlu nesne modellerinin oluşturulması ve
bu şekilde nesne tanıma ve denetleme sistemlerinin tasarlanmasında da
kullanılabilmektedir. Rodriguez J.A.M’ nin yapmış olduğu çalışma bu türden bir
uygulamadır [19].
Doku Özellikleri: Momentler dışında, istatistiksel yaklaşımlarla bölgesel
tanımlayıcı olarak kullanılabilecek başka parametrelerde hesaplanabilmektedir. Bu
parametreler GT görüntünün histogramı esas alınarak elde edilirler [3,11]. Bu
istatistiksel parametrelerin bazıları şunlardır;
Ortalama Parlaklık(m): GT görüntüde ortalama parlaklığı veya gri ton
yoğunluğunu ifade eder. Tümüyle beyaz görüntü için 8 bitlik kodlama türünde 255
değerini, tümüyle siyah görüntü için ise 0 değerini alır. Hesaplaması II.9 eşitliğinde
verildiği gibidir.
∑−
=
=1
0)(
L
iii zpzm (II.9)
Burada; m ortalama parlaklık, L bir pikselin alabileceği gri ton seviye değerlerinin
sayısı, z rasgele bir yoğunluk değişkeni, p(z) bölgenin yoğunluk seviyelerinin
histogramıdır.
Standart Sapma (σ ): GT görüntüdeki ortalama kontrastın bir ölçüsüdür.
Hesaplaması aşağıda verilen II.10 eşitliğindeki gibidir.
22 )( σµσ == z (II.10)
39
Burada; µ2 ikinci istatistiksel momenttir ve varyansın ( 2σ ) karşılığıdır.
Dağınım(Entropi): Görüntü dokusundaki rasgeleliğin bir ölçüsüdür (e) ve
eşitlik II.11 ile hesaplanır.
∑−
=
−=1
02 )(log)(
L
iii zpzpe (II.11)
Pürüzsüzlük: GT görüntüde gri tonların dağılımının bağıl bir ölçüsüdür. GT
görüntünün genelinde aynı değerli sabit bir gri ton var ise pürüzsüzlük değeri 0’a
yaklaşır. Gri ton değeri resim genelinde çok değişken ise pürüzsüzlük değeri 1’e
yaklaşır. Hesaplaması ise eşitlik II.12’deki gibidir.
)1/(11 2σ+−=R (II.12)
Burada; σ , GT görüntünün standart sapması yada ortalama kontrast dır.
Histogramlar: Yukarıdaki tanımlayıcıların açıklamalarından da görüleceği
gibi, histogramların doğrudan bir tanımlayıcı olarak değil, farklı tanımlayıcıların
hesaplanması için bir veri kaynağı olarak kullanılması yaygındır. Ancak literatürde
histogramların doğrudan tanımlayıcı veya kesit analizi için kullanıldığı uygulamalara
rastlamak mümkündür. Özellikle yaptığımız çalışmaya da konu olan plaka tanıma
sistemlerinde histogram tabanlı segmantasyon oldukça yaygındır. Buna örnek olarak
Lee E. R., Barroso J. ve Lee H. ile Rahman C. A.’ nın yaptığı plaka tanıma ve trafik
gözetleme sistemi çalışmaları verilebilir [18,22,23,24]. Lee E.R. çalışmasını renkli
resimler üzerinden yaparken, karakterleri yatay ve düşey histogramları kullanarak
segmente etmiştir [18]. Barroso J. ise yaptığı çalışmada, hem alınan görüntü
içersinde araç plakasının konumunu belirlemek, hem de plaka karakterlerini
segmente edebilmek için görüntünün yatay kesit histogramlarını kullanmıştır [22].
Lee H. GT resim üzerinde histogram analizi ile karakterlerin segmantasyonunu
gerçekleştirmiştir [23]. Her üç çalışmada da karakter tanımlama işlemi şablon eşleme
yöntemi ile gerçekleştirilmiştir. Bunlarla birlikte Rahman C.A. yaptığı çalışmada
segmantasyon ve karakterleri tanımlama işlemlerinin her ikisinde de histogramları
kullanmıştır [24]. Şekil II.18 ve Şekil II.19’da yapılan çalışmalarda araç plakasının
görüntü içersindeki konumunun histogram yardımı ile belirlenmesi ve plaka
karakterlerinin histogramlar yardımı ile segmente edilmesine ilişkin örnek resimler
görülmektedir.
40
Şekil II.18. Araç Plakasının Görüntü İçersindeki Konumunun Histogram Yardımı ile
Belirlenmesi ve Karakterlerin Histogram ile Segmantasyonu [22].
Tez çalışmamızda gerçekleştirdiğimiz plaka tanıma emülasyon sisteminde,
karakterlerin tanımlanması işlemi Rahman C.A.’nın kullanmış olduğu ve şablon
eşleme yönteminin bir türevi sayılabilecek histogram eşleme yöntemi kullanılmıştır.
Farklı olarak bu çalışmada, araç plakalarının alınan giriş görüntüsü içerisinde
320*250 piksellik bir merkez alan içersinde yer aldığı varsayılmaktadır. Karakter
segmantasyonu ise geliştirilen görüntü işleme algoritması ile gerçekleştirilerek,
karakterler tanımlama işlemine hazırlanmıştır. Karakter tanımlama işlemi, her bir
karakter için ayrı ayrı hazırlanan, birbirinden farklı onar adet ağırlıklandırılmış
normalize konum histogramı kullanılarak gerçekleştirilmiştir.
II.3.3. Yüksek Seviyeli İşlemler
Bilgisayarlı görmede görüntü analizi ve görüntü işleme amacıyla yapılabilecek
yüksek seviyeli işlemler, görüntü işleme ve görüntü analizinin hedeflenen nihai
amacını oluşturan ve normalde insan görmesi ile ilgili algılama ve tanıma
fonksiyonlarından ilham alan işlemlerdir. Bu amaçla çeşitli model veya bilgi tabanlı
tanıma yöntemleri ile sınıflandırma yöntemlerini konu alan algoritmalar kullanılır.
Bu algoritmalar, genellikle düşük ve orta seviyeli çeşitli işaret işleme
yöntemlerinin birleştirilmesi suretiyle oluşturulur. Yüksek seviyeli görüntü işleme
amacıyla kullanılan algoritmik yapılar çok çeşitli şekillerde geliştirilebilir. Bu
nedenle, bu tür uygulama örnekleri, tez çalışmasının çatısını oluşturan uygulama
41
örnekleri olarak üçüncü bölümde verilmiştir. Bu bölümde, nesne tanıma ile ilgili
literatürde karşılaşılan çalışmalara ilişkin özet bir derleme yapılmıştır.
II.4. ALGORİTMALARIN PERFORMANSI
Bilgisayarlı görme için geliştirilen algoritmaların sistematik olarak
değerlendirilmesi yakın zamana kadar büyük oranda ihmal edilmiştir. Bu durum,
doğal bilimler veya teknolojik bilimler ile ilgili eğitim alt yapısından gelenler için
şaşırtıcıdır.
Bunun nedeni, bilgisayarlı görme ile ilgili bir kısım problemlerin zor
olmasından, dolayısıyla bu problemlerle ilgili karmaşık bir hata analizi yapmanın
zorluğundan kaynaklanmaktadır. Bununla beraber, bilgisayarlı görme üzerine
araştırma yapanların büyük çoğunluğu, bir algoritmanın ancak amacı doğrultusunda
kesin olarak değerlendirilebildiği ve doğrulanabildiği ölçüde başarılı olabileceği
gerçeğini görmezden gelirler.
Neyse ki, bu yanlış anlayışın çok geç olmadan farkına varıldı ve bilgisayarlı
görme algoritmalarının performans analizleri için genel olarak kabul gören kuralları
tespit etme yolunda ciddi adımlar atıldı [8]. Buna göre, bilgisayarlı görme
algoritmalarının performansını değerlendirmek üzere 3 ana kriter belirlendi. Bunlar:
• Görevin yerine getirilmesindeki başarı,
• Hassasiyet,
• Hızdır.
İşin pratiği ile ilgilenenler, görevin yerine getirilmesindeki başarıya en üst
önceliği verir. Bununla beraber bir tasarımcı açısından bakıldığında, algoritmanın
hangi görev için uygun olduğu ve sınırlarının ne olduğunu hassas bir şekilde
tanımlamak daha önemlidir.
Hassasiyet, işaret/gürültü (SNR) oranı gibi bir parametreyi esas alarak
istatistiksel ve sistematik hataların analizinin yapılmasını içerir.
Hız ise, algoritmanın uygulanabilirliği için önemli bir kriterdir.
Algoritmaların önceden belirlenmiş bir kritere göre değerlendirilmesi için farklı
yollar vardır. Bu, ideal olarak üç sınıf çalışmayı içerir:
42
• Analitik çalışmalar,
• Bilgisayarca üretilen (bilgisayar destekli) görüntüler ile performans testleri,
• Gerçek-dünya görüntüleri ile performans testleri.
Analitik çalışmalar, matematiksel olarak hatanın yayılımını kontrol etmek ve
yıkıcı krizleri önceden kestirmek için çok ciddi bir yoldur.
Bilgisayarca üretilen görüntüler ile yapılan performans testleri, onların dikkatli
bir şekilde kontrol edilen şartlar altında yürütülebilmeleri gibi faydalıdır.
Gerçek-dünya görüntüleri ile yapılan performans testleri, pratik uygulamalar
için son aşamadır.
43
BÖLÜM III
EMÜLASYON SİSTEMİ
Geliştirilen emülasyon sistemi, iki kısımdan oluşmaktadır:
• Kullanıcıların tüm emülasyon ve simülasyon işlemlerini yapabilmesine
imkan sağlayan arayüzler,
• Simülasyon ortamının dış dünya ile etkileşimini sağlayan donanım
birimleri.
Bu bölümde sırası ile bu iki kısım tanıtılmıştır.
III.1. KULLANICI ARAYÜZLERİ Emülasyon sisteminde kullanılan tüm kullanıcı arayüzleri MATLAB-GUI
araç kutusu tabanlı olarak geliştirilmiştir. Bu bölümde geliştirilen bu kullanıcı
arayüzleri tanıtılmaktadır.
III.1.1. Ana Menü
Emülasyon ve simülasyon işlemlerinin tümü kendilerine tahsis edilmiş olan
arayüzler üzerinden gerçekleştirilir. Bu arayüzlerin her birine Şekil III.1’de
gösterilen bir ana menü üzerinden ulaşılır. Ana menü üzerinde bulunan düğmeler ve
işlevleri sırası ile şöyledir;
Plaka Tanıma: Bu buton aktif hale getirildiğinde gerçekleştirilmiş olan araç
plakası tanıma ve bariyer kontrol emülasyonuna ait kullanıcı arayüzüne ulaşılır.
44
Karakter Tanıma: Bu buton aktif hale getirildiğinde plaka tanıma sürecinin bir
ön hazırlığı olarak planlanmış olan karakter tanıma ve metin okuma simülasyonuna
ait arayüze ulaşılır.
Orta Seviye: Bu seçenekte, daha önceden Bölüm II’de tanımlanmış olan
görüntü işleme görevlerinden, orta seviye işlemlerin gerçekleştirilebileceği, ve daha
çok görüntü analizine yönelik işlemleri içeren kullanıcı arayüzüne ulaşılır.
Düşük Seviye: Bu seçenekte ise yine Bölüm II’de tanımlanan görüntü işleme
görevlerinden, düşük seviyeli işlemlerin gerçekleştirilebileceği ve ağırlıklı olarak
görüntü iyileştirme ve işleme gibi işlemleri kapsayan kullanıcı ara yüzüne ulaşılır.
Donanım Test: Bu buton emülasyon sistemi kapsamında kullanılan kamera ve
paralel portun işlevsellik testinin yapılabilmesi için hazırlanmış olan donanım test
arayüzüne ulaşılmasını sağlar.
Çıkış: Bu buton geliştirilen yazılım programından çıkışı sağlar.
Şekil III.1. Kullanıcı Ana Menüsü
III.1.2. Düşük Seviye İşlemler Arayüzü
Bu arayüz, Bölüm II’de tanımlanan görüntü işleme görevlerinden, düşük
seviyeli görevlerin simülasyon ortamında gerçekleştirilmesini sağlayan bir yapıdadır.
Bu arayüzün görünümü Şekil III.2’de verilmiştir. Bu arayüzde renkli, ikilik ve gri ton
ölçekli resimler üzerinde düşük seviyeli işlemler gerçekleştirilebilir. Ayrıca işlenmiş
resim görüntülenerek kayıt edilebilir. Arayüzde yapılabilecek işlemler beş grup
45
altında toplanmıştır. Bunlardan birinci gruptaki işlemler, giriş resmi üzerinde
ölçekleme, döndürme ve format dönüşümü, ikinci gruptakiler ise değişik filtre
uygulamalarını, üçüncü gruptakiler ise erozyon ve iskelet çıkarma gibi morfolojik
işlemleri, dördüncü grup işlemler değişik yöntemlerle kontur/kenar elde etme
uygulamalarını ve son olarak beşinci grup işlemler ise giriş ve çıkış görüntülerinin
histogramlarının elde edilmesini sağlayan işlemleri kapsamakta dır.
Arayüzde ki düğmeler ve görevleri sırası ile şöyledir;
Resim Oku: Arar yüzdeki çalışma sırasında kullanılmak üzere, rgb, gri ton
ölçekli, ikilik, ve indeksli formatlardan her hangi birinde oluşturulmuş ham giriş
görüntüsünün arayüze getirilmesini sağlayan, veri giriş düğmesidir.
Resmi Kayıdet: Ham giriş görüntüsünün, arayüzde tanımlanan işlemlerden
geçirildikten sonra elde edilen sonuç görüntünün kayıt edilmesini sağlayan işlem
düğmesidir.
Giriş Görüntüsü ve İşlenmiş Görüntü Alanları: Ara yüzde kullanılan ham giriş
resminin ve işlenmiş sonuç resmin görüntülendiği alanlardır. İşlenmiş görüntü
başlığına sağ tıklandığında işlenmiş görüntü gerçek boyutları ile yeni bir figür
penceresinde görüntülenir.
Format dönüşümü: Düşük seviye işlemler arayüzünde tanımlanan işlemler GT
veya SB görüntüleri desteklemektedir. Bu sebeple işlem yapmaya başlamadan önce
giriş görüntüsü GT veya SB formatlardan herhangi birine dönüştürülerek işlenmiş
görüntü alanına aktarılmalıdır. Dönüşüm işlemleri format dönüşüm alt menüsünden
gerçekleştirilebilir. Format dönüşüm düğmesine tıklandığında bu alt menü ekrana
gelir. Menüde tanımlanmış olan, “RGB2IND” ve “RGB2GRAY” seçenekleri giriş
görüntüsü üzerinde çalışırlar. Diğer dört seçenek ise arayüzündeki işlenmiş görüntü
alanında yer alan görüntü üzerinde çalışırlar.Bu alt menünün görünüşü Şekil III.3 de
verilmiştir. Bu menü ile yapılabilecek görüntü format dönüşümleri şunlardır;
• Rgb görüntüden İndeksli görüntüye,
• Rgb görüntüden GT görüntüye,
• GT görüntü den SB görüntüye,
• İndeksli görüntüden Rgb görüntüye,
• İndeksli görüntüden GT görüntüye,
• GT görüntüden İndeksli görüntüye.
46
Şekil III.2. Düşük Seviyeli İşlemler Arayüzü
Şekil III.3. Görüntü Formatı Dönüşüm Alt Menüsü
47
Ölçeklendir: Giriş resminin 0.1 ile 2 kat arasında yeniden ölçeklenmesini
sağlar. Ölçek değeri ölçek düğmesinin yanındaki kutucuğa girilerek verilir. Bu
değere göre resim, %90 küçültülüp, %100 büyütülebilir. Tekrardan boyutlandırılmış
resim ara yüzde görüntülenirken görüntü alanına uygunlaştırılarak gösterileceğinden
bu boyut değişimi fark edilemeyebilir. Ancak histogramlara ve işlenmiş görüntü
başlığına bakıldığında resimdeki piksel sayısının ölçekleme ile birlikte değiştiği
kolaylıkla görülebilir.
Döndür: Üzerinde çalışılan resmin belirtilen açı değeri kadar döndürülmesini
sağlar. Açı değeri düğmenin yanındaki kutucuğa “1o” ile “360o” arasında bir değer
girilerek belirtilebilir.
Median: Orta değer filtresinin işlenmiş görüntü alanındaki görüntüye
uygulanmasını sağlayan düğmedir. Kullanılacak olan filtre çekirdeğinin boyutları
“maske” kutucuğuna değer girilerek belirtilebilir. En büyük çekirdek boyutu “10”
olarak girilebilir. Belirtilmemiş ise bu değere dahili olarak “3” değeri atanır. Bu
durumda filtre çekirdeğinin boyutları 3*3 olarak belirlenir. İndeksli ve rgb tipi
işlenmiş görüntüler haricinde bütün işlenmiş görüntülere uygulanabilir.
Average: Ortalama değer filtresini çalıştırır. Kullanım özellikleri median filtre
ile aynıdır.
Sharp: Kontrast artırma filtresinin işlenmiş görüntü alanındaki resme
uygulanmasını sağlar. Kullanılabilmesi için sigma kutucuğuna [0.1 1] aralığında bir
keskinleştirme katsayısı girilmelidir. Eğer belirtilmemiş ise dahili olarak “0.2” atanır.
İşlenmiş görüntü SB veya indeksli değilse uygulanabilir.
Gaussian: Alçak geçiren gaussian filtresinin işlenmiş görüntü alanındaki
resme uygulanmasını sağlar. Kullanımı median filtre gibi olmakla beraber, bu
filtrenin uygulanması için birde sigma (σ) değeri girilmesi gerekir. Belirtilmemiş ise
bu değer dahili 0.5 olarak atanır.
Erozyon: İkilik formattaki resimler üzerinde şekilsel (morfolojik) erozyon
işlemini gerçekleştirir. Bunun için bir maske boyutu belirtilmesi gerekir. Belirtilmez
ise bu değer dahili olarak 3 atanır. En büyük değeri de “10” olabilir.
İskelet: İkilik formattaki resimlerde yer alan nesne alanlarının çatı özelliklerinin
elde edilmesini sağlar. Bu işlem belli bir döngü sayısı ile uygulanır. Bu sayı
belirtilmez ize dahili olarak “Inf (sonsuz)” atanır.
Spur: İskelet çıkartma işlemi sonrasında elde edilen nesne iskeletleri üzerinde
küçük çıkıntılar (mahmuzlar) oluşabilir. Bunlardan kurtulmak için görüntüye spur
48
filtresi uygulanır. Bu işlemin uygulanması için bir döngü sayısı belirtilmelidir.
Belirtilmemiş ise dahili olarak bu değeri 1 atanır.
Sobel: GT resimlerde kenar özelliklerini belirlemek için kullanılan sobel
filtresinin işlenmiş görüntü alanındaki resme uygulanmasını sağlar. Sonuç tekrar
işlenmiş görüntü alanında gösterilir.
Canny: GT resimlerde kenar özelliklerini belirlemek için kullanılan canny
filtresinin işlenmiş görüntü alanındaki resme uygulanmasını sağlar. Sonuç tekrar
işlenmiş görüntü alanında gösterilir.
Robert: GT resimlerde kenar özelliklerini belirlemek için kullanılan robert
filtresinin işlenmiş görüntü alanındaki resme uygulanmasını sağlar. Sonuç tekrar
işlenmiş görüntü alanında gösterilir.
Prewitt: GT resimlerde kenar özelliklerini belirlemek için kullanılan prewitt
filtresinin işlenmiş görüntü alanındaki resme uygulanmasını sağlar. Sonuç tekrar
işlenmiş görüntü alanında gösterilir.
H_Giriş: Giriş resminin histogramının üretilerek görüntülenmesini sağlayan
düğmedir. Giriş resminin formatına göre kırmızı, yeşil ve mavi çerçeveler için ayrı
ayrı histogram üretilerek görüntülenir.
H_İşlenmiş: Yapılan işlemler sonucu oluşan işlenmiş resminin histogramının
üretilerek görüntülenmesini sağlayan düğmedir. İşlenmiş resmin formatına göre,
renkli görüntülerde kırmızı, yeşil ve mavi çerçeveler için ayrı ayrı, gri ölçekli
görüntüler de ise tek bir parlaklık histogramı üretilerek görüntülenir.
Bu arayüzün kullanımına ilişkin örnek bir çalışma ekranı görüntüsü Şekil III.4
de verilmiştir. Bu örnekte ilk olarak ham giriş görüntüsü arayüze alınmış, öncelikle
“H_Giriş” butonu kullanılarak rgb formatındaki giriş görüntüsünün her bir renk
bileşeni için histogram üretilmiş, sonra“Format Dönüşüm” butonu kullanılarak giriş
görüntüsü rgb formatından ikilik formata dönüştürülmüştür. Daha sonra, 3*3 maske
boyutunda median filtresi “Median” butonu kullanılarak peş peşe 5 kez uygulanmış
ve ikilik görüntüdeki küçük gürültü alanları yok edilmiştir. Gürültülerden
arındırılmış olarak elde edilen sonuç görüntüye “İskelet” butonu kullanılarak iskelet
çıkarma işlemi ardından da peş peşe 3 kere spur işlemi uygulanmıştır. Sonuç olarak
ham giriş görüntüsünde yer alan plaka karakterleri ve diğer bölgelerin iskelet yapıları
elde edilerek görüntülenmiştir.
Bu arayüzün kullanımına ilişkin değişik örnekler ve bunların ekran görüntüleri
Ek-A’ da verilmiştir.
49
Şekil III.4. Düşük Seviyeli İşlemler Arayüzünde bir Çalışma Örneği
III.1.3. Orta Seviye İşlemler Arayüzü
Bu arayüz, Bölüm II’de tanımlanan görüntü işleme görevlerinden, orta seviyeli,
görüntü analiz görevlerinin simülasyon ortamında gerçekleştirilmesini sağlayan bir
yapıdadır. Bu arayüzün görünüşü Şekil III.5’de verilmiştir. Bu arayüzde gri ton
ölçekli ve ikilik görüntüler üzerinde orta seviyeli işlemler gerçekleştirilerek, çeşitli
tanımlayıcı değerler üretilmektedir.
Bu tanımlayıcılar bölgesel ve şekilsel olmak üzere iki ana gruba ayrılabilirler.
Bölgesel tanımlayıcılar, resimdeki bir bölgenin çeşitli özelliklerini kullanarak o
bölgenin tanımlanmasını sağlarlar. Bunlardan, bölge özellikleri (bölgenin alanı, çapı,
yönelimi, merkezi, büyük ekseni, vs.), doku özellikleri (ortalama parlaklık, ortalama
kontrast, parlaklığın düzgünlüğü, ve dağınım gibi istatistiksel özellikler) ve o
bölgeye ait değişmez momentler bu arayüz kullanılarak hesaplanabilmektedir. Bu
50
kapsamda bölgesel özellikler, tüm bir resim için hesaplanabildiği gibi, “Maus Seçimi
Aktif” düğmesi kullanılarak, maus ile resim üzerinde seçilen bir bölge için de
hesaplanabilir. Ek olarak, işlem hedeflerinden belli bir işlem hedefi seçilerek, o
hedefe yönelik olarak görüntü içinde aralarında komşuluk ilişkileri bulunan
piksellerin oluşturduğu tüm bölgeler belirlenip her bir bölge için bu tanımlayıcılar
tek tek hesaplanabilir.
Şekilsel tanımlayıcılar ise daha çok kontur bilgisi içeren resimlerde nesneyi
kontur özelliklerine göre tanımlamayan parametrelerdir. Bunlardan, şekil numarası
ve fourier tanımlayıcıları bu arayüzde hesaplanabilen şekilsel tanımlayıcılardır.
Şekil III.5. Orta Seviyeli İşlemler Arayüzü
Arayüzdeki düğmeler, bölmeler ve görevleri şöyledir;
Resim Oku: Düşük seviye kullanıcı ara yüzünde açıklandığı gibidir.
Resmi Kayıt Et: Üç farklı kayıt seçeneği mevcuttur. Bunlar sırası ile; ham giriş
görüntüsünün, seçilen işlem hedefi doğrultusunda işlenmesi sonucu elde edilen
“işlenmiş görüntüyü” kayıt seçeneği, işlenmiş görüntü de tespit edilen bölgelerden
51
seçilen herhangi birisi için hesaplanan “tanımlayıcı değeri” kayıt seçeneği, veya
seçilen bölge ve o bölge için en son hesaplanan tanımlayıcı değerin birlikte kayıt
edilmesi seçenekleridir. Kayıt türü seçme işlemi girilen kayıt ismi ile yapılmaktadır.
Sırası ile “resim”, “taiımlayici” ve “bölge” kayıt isimleri bu tercihleri belirtmektedir.
Giriş Görüntü Başlığı: Giriş görüntüsünün boyutlarının görüntülendiği bilgi
alanıdır.
İşlenmiş Görüntü Başlığı: Seçilen işlem hedefi doğrultusunda gerçekleştirilen
görüntü işleme algoritmalarının sonuç görüntüsünün boyut bilgilerinin
görüntülendiği bilgi alanıdır. Bu başlığa sağ tıklama yapılırsa işlenmiş olan görüntü
gerçek boyutunda yeni bir figür penceresinde görüntülenir.
Maus Seçimi Aktif: Üzerinde çalışılan giriş görüntüsünde tüm resim bölgesi
yerine istenilen belirli bir bölge üzerinde çalışabilmek için, maus ile etkileşimli
olarak resim üzerinde işaretleme yapmaya imkan veren seçeneği aktifleştirir. Bu
seçenek aktifleştirildikten sonraki işlemler maus ile işaretlenen bölge üzerinden
devam eder, ve hesaplamalar bu bölge için yapılır.
İşlem Hedefi: Bir görüntü analizinin yapılabilmesi için ham giriş görüntüsünün
uygun biçimde işlenmesi, ilgilenilen özelliklerin resim de belirginleştirilerek resmin
hesaplamalara uygun hale getirilmesi gereklidir. Bu nedenle ne tür tanımlayıcıların
hesaplaması yapılacak ise bu menüden ona uygun seçenek tercih edilir. Bu menüden
yapılabilecek tercihler şunlardır;
• Karakter Tanıma
• Plaka Tanıma
• Doku Analizi
• Şekil Tanımlama
Görüntüyü İşle: İşlem hedeflerinde yapılan tercihe göre ham giriş görüntüsünün
işlenerek tanımlayıcıların hesaplanmasına uygun hale getirilmesini sağlar.
Bölge Özellikleri: Giriş görüntüsünün tümü veya maus ile etkileşimli olarak
işaretlenen bölge içinde tespit edilen ve aralarında komşuluk ilişkisi bulunan
piksellerin oluşturduğu bölgelere ait aşağıdaki tanımlayıcı değerlerin hesaplanmasını
sağlayan düğmedir. Plaka tanıma ve şekil tanıma hedef işlemleri ile kullanılabilir.
Hesaplanabilen bölge özellikleri;
• Bölgenin kapsadığı piksel sayısı (alan),
• Bölgeyi tamamı ile kapsayan en küçük dörtgenin boyutları,
52
• Bölgenin merkezi,
• Bölgenin çapı,
• Bölgenin büyük (majör) ve küçük (minör) eksenleri,
• Bölgenin yönelimi.
Doku özellikleri: Giriş görüntüsünün tümü veya maus ile etkileşimli olarak
işaretlenen bölge için, istatistiksel bir yaklaşım ile bölgenin dokusunu tanımlayan
parametrelerin hesaplanmasını sağlar. Doku analizi hedef işlemi ile kullanılabilir.
Hesaplanabilen doku özellikleri;
• Ortalama (ortalama parlaklık ölçüsü),
• Standart sapma (ortalama kontrastın bir ölçüsü),
• Pürüzsüzlük (bölgedeki parlaklığın düzgün dağılımının bir ölçüsü),
• Tekdüzelik (Gri ton seviyelerinin tekdüzelik/benzerlik ölçüsü),
• Dağınım.
İnvariant Moment: Giriş görüntüsünün tümü veya maus ile etkileşimli olarak
işaretlenen bölge için, Bölüm II.3.2.2’de açıklanan ve ölçek değişimlerine, ayna
görüntüleme durumlarına, açısal dönüşlere karşı bağışık olan yedi değişmez
momentin hesaplanmasını sağlar. Karakter tanıma, plaka tanıma, doku analizi ve
şekil tanıma hedef işlemleri ile kullanılabilir.
Şekil Numarası: Giriş görüntüsünün tümü veya maus ile etkileşimli olarak
işaretlenen bölge içersinde tespit edilen ve kontur bilgisi elde edilmiş olan nesneler
için Bölüm II.3.2.2’de açıklanan şekil numarası ve zincir kodlarının belirlenmesini
sağlayan düğmedir. Karakter tanıma, plaka tanıma ve şekil tanıma hedef işlemleri ile
kullanılabilir.
Fourier: Giriş görüntüsünün tümü veya maus ile etkileşimli olarak işaretlenen
bölge içinde yer alan, konturu türetilmiş nesne yada nesne grupları için Fourier
tanımlayıcılarının hesaplanmasını sağlayan düğmedir. Karakter tanıma, plaka tanıma
ve şekil tanıma hedef işlemleri ile kullanılabilir.
Histogramlar: Giriş görüntüsünün tümü veya maus ile etkileşimli olarak
işaretlenen bölge içersinde tespit edilen nesne yada nesne grupları için, daha önce
Bölüm II.3.2.2’de açıklanan ve çalışmamızdaki emülasyon uygulamasında da
kullandığımız histogramların üretilerek görüntülenmesini sağlayan düğmedir. Burada
her bir karakter için önceden bizim tanımladığımız 10 farklı histogram üretilmekte ve
53
yeni bir figür penceresinde görüntülenmektedir. Şekil III.6’da işlenmiş bir plaka
resminden elde edilen “3” karakteri için bu seçeneğin kullanılması ile elde edilen
histogramlar örnek olarak verilmiştir. Bu düğme karakter tanıma ve plaka tanıma
hedef işlemleri ile kullanılabilir.
Şekil III.6. Bir Plaka Görüntüsündeki “3” Rakamı için Üretilen Tanımlayıcı Histogramlar
Bölge Sayısı: Giriş görüntüsünün tümü veya maus ile etkileşimli olarak seçilen
görüntü içersinde belirlenen bir birinden bağımsız piksel gruplarının (bölgelerin)
sayısını gösterir.
BS: İşlenmiş görüntü içersinde tespit edilen bölgelerin tek tek seçilerek bu
bölgeler için istenilen tanımlayıcıların hesaplanmasını sağlayan düğmedir.
Orta seviye işlemler arayüzünün kullanımı ve çalışması ile ilgili bir ekran
görüntüsü Şekil III.7’da verilmiştir. Çalışma ekranında öncelikle bir resim dosyası
arayüze alınmış ve “Maus Seçimi Aktif” düğmesi kullanılarak giriş resmi üzerinde
bir çalışma bölgesi seçilmiştir. İşlem hedefi olarak “Karakter Tanıma” seçilmiş ve
seçilen çalışma bölgesi bu hedef için işlemlerden geçirilmiştir. Seçilen çalışma
bölgesindeki tüm karakterler bu işlemler sonucunda birer bölge olarak tespit edilerek
sayıları arayüz üzerindeki “Bölge Sayısı” göstergesinde görüntülenmiştir. “BS”
düğmesi kullanılarak bir numaralı bölge seçilmiş ve bu bölge için yedili “İnvariant
54
Momenet” seti hesap edilerek görüntülenmiştir. Tüm bu aşamalar şekil üzerinde de
gösterilmiştir.
Şekil III.7. Orta Seviyeli İşlemler Arayüzünde bir Çalışma Örneği
III.1.4. Yüksek Seviye İşlem Arayüzleri Bu seviyedeki işlemler için tez çalışmamız sırasında “karakter tanıma” ve
“plak tanıma” uygulamaları gerçekleştirilmiş ve bu uygulamalar için iki farklı arayüz
hazırlanmıştır. Karakter tanıma çalışması asıl itibari ile plaka tanıma uygulamasının
bir ön çalışması niteliğinde olup, sadece simülasyon ortamında gerçekleştirilmiştir.
Plaka tanıma uygulamasının ise hem simülasyonu hem de gerçek zamanlı olarak
emülasyonu hazırlanan arayüz ile yapılabilmektedir. Buradaki her iki uygulama
kendi içinde düşük ve orta seviyeli görüntü işleme görevlerini, kendi amaçlarına göre
düzenlenmiş bir şekilde ihtiva etmektedir. Bu bölümde bu iki uygulamaya ait
arayüzler tanıtılmıştır.
55
III.1.4.1. Plaka Tanıma Uygulama Arayüzü
Bu arayüz, Bölüm II’de tanımlanan görüntü işleme görevlerinden, düşük
seviyeli işlemler ile orta seviyeli işlemleri de kapsayan, yüksek seviyeli bir görüntü
işleme görevinin (araç plakalarının tanınması) uygulama arayüzüdür. Arayüzün
görünüşü Şekil.III.8’de verilmiştir. Arayüz üzerinden, araç plaka tanıma sisteminin
hem simülasyonu hem de emülasyonu gerçekleştirilebilmektedir.
Arayüz üzerindeki simülasyon işlemi için, önceden dijital fotoğraf makinesi ile
çekilmiş araç plaka resimleri “Resim Oku” düğmesi ile okutularak arayüze alınır.
Alınan bu görüntü üzerine tüm görüntü işleme seviyelerinde (düşük ve orta seviye)
işlemler uygulanarak araç plakasındaki karakterler ortaya çıkartılır. Sonrasında,
plaka karakterleri geliştirilen histogram eşleme tabanlı karakter tanıma algoritması
ile sonuç görüntü üzerinden tanımlanmaya çalışılır. Böylelikle, PC de kayıtlı resimler
üzerinden plaka tanıma sistemi simülasyonu gerçekleştirilmiş olur.
Emülasyon işlemi ise, arayüz üzerinde bulunan “Emülasyon” düğmesi ile
başlatılır. Emülasyonun başlaması ile birlikte gerçek zamanlı görüntü takibi için
arayüzden ayrı olarak bir izleme penceresi açılır. İzleme penceresinden görüntü
alınmaya başlandıktan sonra, arayüze iki şekilde görüntü alınabilir. İlk yöntem,
“Resim işle” düğmesini kullanmak ve kullanıcı kontrolü ile görüntüleri arayüze
aktarmaktır. İkinci yöntem ise, PC paralel portuna bağlanmış olan bir işaret kaynağı
ile bariyer sistemi önüne bir aracın geldiği durumu simüle etmek ve arayüzün
otomatik olarak görüntü almasını sağlamaktır. Her iki durumda da izleme
penceresindeki görüntüden alınan resim çerçevesi arayüz üzerindeki giriş görüntü
alanına aktarılır. Alınan görüntü geliştirilen görüntü işleme algoritması ile analiz
edilerek plakadaki karakter aday bölgeleri belirlenip segmente edilir. Aday bölgeler,
histogram eşeleme tabanlı geliştirilen karakter tanıma algoritması ile analiz edilerek
araç plakasındaki karakterler tanımlanır. Çözümlenen araç plaka numarası “Okunan
Plaka Numarası” alanında görüntülenir. Okunan plaka, daha önceden sisteme
tanıtılan plaka numaralarından bir tanesi ile eşleşmiş ise ilgili kayıt bilgisi “Kayıt
Bilgisi” alanında görüntülenir ve giriş bariyerini açmak için paralel porta bir sinyal
gönderilir. Herhangi bir kayıt bulunamamış ise “Kayıt Bulunamadı” uyarısı verilir.
Böylelikle plaka tanıma sisteminin emülasyonu görevi arayüz üzerinden gerçek
zamanlı görüntüler ile yerine getirilir.
56
Şekil III.8. Plaka Tanıma Kullanıcı Arayüzü
Arayüzdeki düğme ve alanların görevleri şöyledir;
Resim Oku: Düşük seviye kullanıcı ara yüzünde açıklandığı gibidir.
Resmi İşle: Simülasyon uygulaması sırasında arayüze alınan görüntünün
geliştirilen plaka tanıma algoritmasına göre işlenmesini ve analiz edilerek plaka
tanımanın gerçekleştirilmesini sağlar. Emülasyon uygulaması sırasında ise görüntü
izleme penceresinden resim çerçevesi alınması ve plaka tanınma algoritmasının
uygulanması süreçlerinin kullanıcı kontrollü olarak gerçekleştirilmesini sağlar.
Emülasyon / Simülasyon: Arayüzün başlangıç çalışma durumu simülasyon
modudur. Emülasyon moduna geçmek için bu düğme kullanılır. Emülasyon moduna
geçildiğinde Şekil III.9’da örnek bir resmi verilen gerçek zamanlı görüntü izleme
penceresi açılır ve düğme üzerindeki yazı “Simülasyon” olarak değişir.
Okunan Plaka Numarası: Giriş görüntüsünden belirlenen plaka numarasının
görüntülendiği alandır.
57
Şekil III.9. Gerçek Zamanlı Görüntü İzleme Penceresinin Yapılan Deneyler Sırasındaki
Görünüş Şekli.
Kayıt Bilgileri: Giriş görüntüsünden tespit edilen plaka numarasının sistemdeki
kayıt durumunun görüntülendiği alandır. Belirlenen plaka numarası için sistem de
her hangi bir kayıt var ise ilgili kayıt bilgisi bu alanda görüntülenir.
Kayıt Et: Sisteme yeni plaka tanımlarının girilmesini sağlayan düğmedir. Şekil
III.10’ da bu işlemin gerçekleştirildiği arayüz görülmektedir.
Kayıt Sil: Sistemde kayıtlı bulunan bir plakanın sistemden çıkartılmasını
sağlayan düğmedir.Şekil III.10’da bu işlemin gerçekleştirildiği arayüz görülmektedir.
Şekil III.10. Sisteme Plaka Tanımlamada ve Tanımlı Plakaları İptal Etmede Kullanılan
Arayüzler.
Bariyer Aç: Bariyer sistemine arayüz üzerinden müdahale etmeyi sağlayan
düğmedir.
58
Çıkış: Uygulamayı ve arayüzü kapatarak sistemden çıkışı sağlar.
Şekil III.11’de bu arayüzün kullanımını gösteren örnek bir çalışma ekranı
gösterilmiştir. Örnekte, bir araç plaka resmi arayüze okutularak alınmış ve üzerinde
işlemler gerçekleştirilerek karakter bölgeleri belirlenmiştir. Belirlenen bölgeler için
konum histogramları hesaplanarak gürültü alanları ile karakterler bir birinden ayırt
edilir. Tanımlanan plaka karakterleri x eksenindeki konumlarına göre sıralanarak
sistemdeki kayıt bilgileri ile karşılaştırılır. Karşılaştırma sonucu bir eşleşme sağlanır
ise ilgili kayıt bilgisi arayüzde görüntülenir ve bariyer sistemine bir sinyal gönderilir.
Eşleşme sağlanamaz ise kayıt bulunamadı mesajı görüntülenir.
Emülasyon uygulamasında ise, bariyer sistemi araç algılama sensörü ile
herhangi bir aracı tespit ettiğinde otomatik olarak resim çekilir ve işlenerek plaka
tespit edilir. Histogram eşlemesini referans alan kural tabanlı kontrolörün
oluşturduğu sonuca bağlı olarak paralel porta gönderilecek çıkış işareti kontrol edilir.
Şekil III.11. Plaka Tanıma Arayüzünün Çalışmasını Gösteren bir Örnek
59
III.1.4.2. Karakter Tanıma Uygulama Arayüzü
Bu arayüz, Bölüm II’de tanımlanan görüntü işleme görevlerinden, düşük ve
orta seviyeli işlemleri kapsayan, yüksek seviyeli bir görüntü işleme uygulamasına
ilişkin arayüzdür. Bu arayüzün görünümü Şekil III.12’de verilmiştir. Bu arayüz ile
karakter tanımaya ilişkin sadece simülasyon işlemleri gerçekleştirilebilir. Bu amaçla
bilgisayarda 12 punto büyüklüğünde, “Times New Roman” karakter tipinde, büyük
harflerle yazılmış, araç plakalarında kullanılan karakterleri ve rakamları içeren
225*250 piksel boyutlarında, BMP veya JPEG uzantılı, RGB formatında resim
dosyaları oluşturularak, arayüz ile yapılacak simülasyonlar da kullanılabilir.
Karakterlerin tanınması işlemi invariant momentler kullanılarak yapılmaktadır. Şekil
III.13’da bu arayüzde tanınabilecek karakterler (toplam 33 adet) ve belirtilen
özelliklerde örnek bir resim gösterilmiştir.
Şekil III.12. Karakter Tanıma Kullanıcı Arayüzü
60
Arayüzdeki düğme ve alanların görevleri şöyledir;
Resim Oku: Bu buton kullanılarak belirtilen özelliklerde daha önceden
hazırlanmış bir resim arayüze getirtilir.
Metni Oku: Arayüze alınan resmin, karakter tanıma ve metin okuma
uygulaması için hazırlanan, görüntü işleme ve analiz etme algoritmasına göre
işlenmesini ve karakterlerin tanımlanarak resmin içerdiği metnin okunmasını
sağlayan buton dur.
Metni Kayıt Et: Resimden okunan metnin kayıt edilmesini sağlayan buton dur.
Okunan Metin Alanı: Resimden okunan metnin görüntülendiği alandır.
Karakter tanıma arayüzü üzerindeki simülasyon işlemi için, önceden belirtilen
özelliklerde hazırlanmış bir görüntü “Resim Oku” düğmesi ile okutularak giriş
görüntü alanına getirilir. Ardından “Metni Oku” düğmesi kullanılarak tüm işlemler
bu resim üzerinde gerçekleştirilip karakterler tanımlanır ve resim üzerinden okunan
metin arayüzdeki “Okunan Metin” alanında görüntülenir.
Şekil III.13. Karakter Tanıma Arayüz ile Tanınabilecek Karakter Seti
Şekil III.14 ve Şekil III.15’de tarif edilen özelliklerde karakterleri içeren
resimler ile bu arayüzde yapılan çalışma örnekleri ve sonuçları verilmiştir.
61
Şekil III.14. Karakter Tanıma Arayüzünde Gerçekleştirilen Örnek Çalışma-1
Şekil III.15. Karakter Tanıma Arayüzünde Gerçekleştirilen Örnek Çalışma-2
62
III.1.5. Donanım Test Arayüzü
Bu arayüz emülasyon işleminden önce sistemde kullanılan kamera ve paralel
portun çalışma testlerinin yapılması amacı ile hazırlanmıştır. Arayüz üzerinde iki ana
bölüm bulunmakta dır. Birinci kısım kamera testi için, ikinci kısım paralel portun
testi için düzenlenmiştir. Paralel port bu uygulama için 8 bitlik veri çıkış ve 5 bitlik
veri girişine izin verecek şekilde düzenlenmiştir. Arayüz üzerinde veri giriş ve çıkış
işlemleri için ayrı ayrı test yapılabilmesini sağlayan bölümler vardır. Donanım test
arayüzünün görünümü Şekil III.16 de verilmiştir.
Arayüz deki düğme ve alanların görevleri şöyledir;
Kamera Aç: Bu düğme ile bilgisayara bir kamera bağlantısın olup olmadığı
kontrol edilir. Bağlantılı bir kamera var ise gerçek zamanlı görüntü alınır ve
arayüzdeki görüntü alanında gösterilir. Böylece emülasyon sistemi için kamera görüş
kontrolünün yapılması sağlanır. Herhangi bir şekilde kamera bağlantısı sökülür yada
MATLAB programı çalıştırıldıkdan sonra PC ye bağlantısı yapılır ise bu cihazın
MATLAB tarafından algılanabilmesi için programın açılıp kapatılması gerektiği
unutulmamalıdır.
Şekil III.16. Donanım Test Kullanıcı Arayüzü
D0-7: Bu düğmelerin her hangi birine tıklanırsa paralel port üzerinde kendisine
karşılık gelen veri çıkış bitine “1” bilgisi gönderilir. Aynı düğme tekrar tıklanırsa bu
defa aynı bite “0” bilgisi gönderilir. Butonlar üzerindeki numaralar bir baytlık veri
içindeki bit numaralarına karşılık gelmektedir.
63
Oku: Bu düğme paralel porttan veriş girişi için kullanılan 5 bitlik giriş
üzerinden veri okunmasını sağlar. Okunan veri d4-d0 etiketinin altında ikilik veri
olarak görüntülenir.Paralel portta hiçbir bağlantı yok ise “01111” bilgisi okunur. D4
giriş bitinin terslenik okunduğu gözden kaçırılmamalıdır.
III.2. EMÜLASYON UYGULAMASI Bu bölümde, Bölüm III.1’de verilen arayüzler kullanılarak gerçekleştirilen bir
emülasyon uygulaması ve uygulamanın gerçekleştirilme süreci tanıtılmaktadır.
III.2.1. Plaka Tanıma Sistemine Genel Bakış
Taşıt tanıma ve bariyer kontrol sisteminin uygulanmasına ilişkin genel bir bakış
şeması Şekil III.17’de verilmiştir.
SD
Professional Workstation 6000
PRO
Şekil III.17. Plaka Tanıma ve Bariyer Kontrol Sistemine Genel Bakış
Şekildeki sistemin bileşenleri, MATLAB programının yüklü olduğu bir masa
üstü bilgisayar, bir kamera, bir aydınlatma lambası, bir bariyer sistemi, ve ayrıca
bariyer sistemi ile bilgisayar arasında bağlantıyı sağlayan ek olarak bir araç algılayıcı
sensörü kontrol eden mikro kontrolör kartıdır.
64
Sistem bileşenlerinden masa üstü bilgisayar, emülasyon sistemi için geliştirilen
MATLAB-GUI tabanlı yazılımın yürütülmesini sağlar. Kamera, sistem için gerekli
gerçek zamanlı görüntülerin bilgisayara aktarılmasını sağlar. Aydınlatma lambaları
kamera ile alınan görüntüde aydınlanma sorununun yaşanmaması için asgari
aydınlatmayı sağlamak üzere kullanılmıştır. Araç algılayıcı ise sistemin sürekli
olarak görüntü alıp çalışmasını önlemek ve gelen aracı fark ederek plaka tanıma
sürecinin başlatılmasını sağlamada kullanılmıştır. Mikrokontrolör kartı hem araç
algılayıcının hem de bariyer sisteminin GUI yazılımı tarafından kontrolünün
sağlanması için paralel port üzerinden bilgisayar ile haberleşebilen bir yapıdadır.
Emülasyon sistemimizde gerçek uygulamadan farklı olarak bir araç sensörü ve
bir bariyer sistemi yoktur. Ancak, bu birimler ile emülasyon yazılımının iletişimini
sağlayan paralel port haberleşme rutini yazılıma gömülü olarak vardır. Bu sayede
gerçek sensörden alınan araç algılama bilgisi yerine bir işaret kaynağından alınan
sinyal kullanılarak bu bilgi simüle edilmektedir.Bariyer sistemine gönderilen kontrol
bilgisi ise paralel portta ilgili çıkış bitlerine bağlanmış olan bir led diyot üzerinden
gözlemlenmektedir. Görüntü alma işlemi için bir webcam kullanılmıştır. Gerçek
plakalar yerine ise önceden dijital makine ile çekilip ½A4 boyutunda bastırılmış olan
plaka resimleri kullanıldı. Plaka resimleri webcam aracılığı ile görüntülenerek gerçek
sistem olmadan plaka tanıma ve bariyer kontrol sisteminin emülasyonu yapılmıştır.
III.2.2. Uygulamanın Gerçekleştirilme Aşamaları
Uygulama iki aşama da gerçekleştirilmiştir. Birinci aşamada, plaka
karakterlerinin tanımlanabilmesi için karakter veri tabanı oluşturulmuştur. İkinci
aşamada ise karakter veri tabanı kullanılarak tanımlayıcı sabit moment setleri ve
konum histogram setleri üretilmiş. Moment setleri ilk olarak yazı karakterlerinin
tanınmasında ve daha sonra plaka karakterlerinin tanınmasında kullanılmak üzere bir
kural tabanlı kontrolörün kural tabanına yerleştirilmiştir. Yapılan denemeler
sonucunda momentlerin genelleme yeteneğinin çok sınırlı olduğunu belirledik ve
plaka karakterlerinin tanınması için alternatif olarak histogram eşleme yönteminin
kullanılmasına karar verdik. Literatürde yapılan çalışmalara bakıldığında bu maksatla
kullanılan histogramların klasik yöntemle GT veya SB resimler üzerinden ve
resimdeki piksellerin sayısı temel alınarak üretildiği görülmüştür. Bizim
uygulamamızda ise segmente edilmiş karakterler iskelet çıkartma işlemine tabi
65
tutulduğundan karakterin kapsadığı piksel sayısı en aza indirgenmiştir. Bu sebepten
çalışmamızda kullandığımız histogramları piksellerin sayısına bakarak değil,
piksellerin konumlarını değerlendirerek farklı bir mantık ile oluşturduk. Böylece
ürettiğimiz histogramlara piksellerin konum bilgilerini de içeren bir özellik
kazandırdık.
III.2.2.1. Karakter Veri tabanının Oluşturulması
Araç plakalarında kullanılan toplam 23 farklı karakter ve 10 farklı rakamın
görüntüden tanımlanabilmesi için, öncelikle Bölüm II.3.2.2 de açıklanan nesne
tanımlayıcı türlerinden amacımız için uygun olanlar seçilmelidir. Tez çalışmamızda
bölge tanımlayıcılardan Hu’nun tanımladığı yedili sabit moment setini yazı metni
karakterlerini ve histogramlarıda plaka karakterlerini tanımlamak için seçtik ve
kullandık. Bir sonraki aşamada, 33 adet farklı karakteri tanıyan kural tabanlı
kontrolörde kullanılmak üzere, tanımlayıcı değerlerin üretilebilmesi için karakter veri
tabanına ihtiyaç vardır. Bu amaçla toplam 87 adet araç plakasının fotoğrafı dijital bir
fotoğraf makinesi ile çekilmiştir. Şekil III.18’de çekilen plaka resimlerinden örnekler
görülmektedir. Elde edilen resimler Bölüm II.3.1 de tanımlanan düşük seviyeli
görüntü işleme görevlerini ihtiva eden bir MATLAB m-fonksiyon yazılımı ile
işlenmiştir. İşlemler sonucu 87 adet plaka resminden toplam 550 adet karakter içeren
bir veri tabanı elde edilmiştir. Şekil III.19’da elde edilen karakter veri tabanından
örnekler verilmiştir. Karakter veri tabanından daha fazla örnek Ek-B de verilmiştir.
Şekil III.18. Referans Değerleri Üretmek için Kullanılan Plakalardan Bazıları
66
Şekil III.19. Referans Değerlerin Üretilmesi için Üzerinde Çalışılan Plakalardan Elde Edilen 550
Adet Karakterden Örnekler
III.2.2.2. Referans Değerler ve Kural Tabanının Oluşturulması
Araç plakalarında kullanılan her bir karakteri tanımlayabilmek için Bölüm
II.3.2.2’de açıkladığımız histogram tiplerini içeren karakter tanımlama vektörleri
hazırlanmıştır. Metin karakterlerini tanımak için hazırladığımız yüksek seviyeli
görüntü işleme uygulaması için yine Bölüm II.3.2.2’de açıkladığımız yedili moment
setleri (Hu’nun momentleri) kullanılarak karakter tanımlama vektörleri
oluşturulmuştur.
Histogram tabanlı karakter tanımlama vektörleri veri tabanındaki 550 adet
karakter kullanılarak, araç plakalarında kullanılan 33 karakterin her birisi için onar
adet tanımlayıcı histogram vektörü üretilmiştir. Her bir karakter için tanımlanan bu
histogramlar sırası ile şöyledir; yatay tam boyut, düşey tam boyut, yatay üst yarı,
yatay alt yarı, düşey sol yarı, düşey sağ yarı, yatay alt 2/3’lük kısım, yatay üst 1/3’lük
kısım, yatay üst 1/4’lük kısmın ve düşey sol yarının alt 1/2’lik kısmının düşey
histogramıdır. Aynı zamanda bu histogramlardaki değerler normalize edilerek [0-1]
67
aralığına indirgenmiştir. Şekil III.20 de orta seviye işlemler arayüzü yardımı ile “4”
rakamı için üretilen tanımlayıcı histogramlar görülmektedir.
Şekil III.20. Bir Plaka Görüntüsündeki “4” Rakamı için Üretilen Tanımlayıcı Histogramlar
Tüm karakterler için üretilen bu histogram setleri bir kural tabanına gömülerek
33 adetlik karakter setindeki her bir karakteri tanıyabilen bir kontrolör geliştirilmiştir.
Hu momentleri ile metin karakterlerinin tanımlanması çalışmasında, Şekil
III.13 da verilen karakterler için Bölüm II.3.2.2’de açıklanan sabit momentler
hesaplanıp kural tabanlı kontrolörün kural tabanına gömülmüştür.
68
BÖLÜM IV
SİSTEMİN TESTİ VE DEĞERLENDİRME
IV.1. SİSTEMİN TESTİ
Sistemin test edilmesi aşamasında referans değerlerin oluşturulması için
kullanılan 87 adet araç plaka görüntüsünden farklı olarak 25 adet test amaçlı plaka
resmi kullanılmıştır. Bu test görüntülerinde toplam 180 adet karakter bulunmaktadır.
Sistemin aydınlatmadaki değişimlere karşı nasıl tepki verdiğini belirleyebilmek için,
test işlemleri farklı aydınlanma koşullarında tekrarlanmıştır.
Sistemin performans değerlendirme parametresi olarak, test resimlerini hangi
oranda doğru tanıdığına ilişkin yüzdelik değer esas alınmıştır. Buna göre, Bölüm
II’de verilen performans değerlendirme kriterlerinden birincisi kullanılmıştır.
Bununla beraber, sistem farklı aydınlatma şartları gibi çevresel faktörlere bağlı
olarak da test edildiğinden sözü geçen kriterlerden ikincisi de (hassasiyet) dikkate
alınmıştır.
Test işlemi, test görüntülerinin tek tek emülasyon sistemine gösterilerek
sistemin resimlerdeki plaka numaralarını tam tanıyıp tanıyamamasına, tanımlamada
sorun yaşadığı resimlerde kaç adet karakteri tanımlayabildiğine ilişkin verilerin kayıt
edilmesi şeklinde gerçekleştirilmiştir.
69
IV.2. DEĞERLENDİRMELER
Yapılan test işlemlerinde sistem, gösterilen test resimlerinden toplam 17
tanesindeki araç plakalarını tam olarak doğru tespit etti. Sekiz tanesinde plakanın
tümü tanınamadı. Hatalı görüntülerden 3 tanesinde plakayı oluşturan karakterlerden
yalnız birer karakter, diğer beş resimden dört tanesinde ikişer karakter, bir tanesinde
ise 3 karakter tanınamadı. Test işlemi karakterler bazında değerlendirildiğinde,
resimlerin içerdiği 180 adet karakterden 166 adedi tanınmıştır.
Tanımlama sürecinin aydınlatma ile doğrudan etkilendiği, tanımlama sorunu
yaşanan test görüntülerinin tamamının diğerlerine göre daha az/çok aydınlatma
şartlarında elde edildiği, buna karşılık görüntünün elde edilme açısının da önemli
olduğu, geometrik deformasyon olan resimlerde yaşanan sorunlardan anlaşılmıştır.
Ayrıca plakalardaki boyası dökülmüş ve rengi soluk karakterlerde de sorunlar
yaşanmıştır.
70
BÖLÜM V
SONUÇ VE ÖNERİLER
Bu tez çalışmasında bilgisayarlı görme, görüntü işleme, görüntü analiz ve
değerlendirme ilkeleri anlatılmıştır. Görüntü işleme görevleri ve görevlere bağlı
olarak görüntülerin ele alınış biçimleri ve görüntülerden özellik çıkartma yöntemleri
incelenmiştir. Devamında belirlenen özelliklere ait sayısal verilerin üretilme süreçleri
ele alınmış, bu kapsamda değişik özellikleri tanımlayan parametrelerin hesaplamaları
gerçekleştirilmiştir. Bu bilgiler ışığında uygulama olarak araç plakalarını görüntü
işlemeye dayalı kural tabanlı kontrolör mantığı ile tanımlayan bir bariyer kontrol
sisteminin emülasyonu gerçekleştirilmiştir.
Yapılan testlerde emülasyon sistemi, karakter bazında %92,2 plaka bazında
ise %68 başarı sağlamıştır.
Yapılan çalışmada karakter bazında elde edilen başarı tatminkar olurken,
plaka bazında bunu söylemek mümkün değildir. Bunun en büyük sebeplerinden bir
tanesi, resim çekilirken bakış açısının neden olduğu geometrik deformasyondur.
Aynı şekilde bakış açısı düzgün olsa bile plakanın montajından kaynaklanan
bükülmelerden dolayı aynı plaka resmi içinde sadece bir yada birkaç karakterin
uğradığı geometrik deformasyonda önemli bir etkendir.
Plaka bazında yaşanan sorunların değerlendirilmesi sonucu geometrik
deformasyona karşı bir dönüşüm yapılmasının böyle bir sistem için gerekli olduğu
görülmüştür.
Ayrıca testler sırasında aydınlanmaya bağlı olarak da başarımın değiştiği
değerlendirilmiştir.
71
Bu bilgiler ışığında gerçekleştirilen emülasyon sisteminin başarımını artırmak
için şu düzenlemeler yapılabilir:
• Görüntülemede kullanılan kamera, odak mesafesi, hassasiyeti ve mercek
sistemi geliştirilmiş, çalışma özelliği kararlı olan özel bir kamera ile
değiştirilebilir.
• Görüntülenen alanın daha iyi bir aydınlatma alabilmesi için güçlü ve mümkün
olduğunca homojen aydınlatma sağlayan bir sistemi kullanılabilir.
• Bakış açısına ve plakalar üzerindeki bozukluklara karşı yapay zeka teknikleri,
örneğin yapay sinir ağları kullanılarak başarım artırılabilir.
• Plaka yada karakterlerde görülen geometrik şekil bozukluklarına karşı
literatürde kullanılan geometrik transformasyon teoremleri kullanılarak bu
sorun aşılabilir.
Bu çalışma ile elde edilen teorik bilgi, deneyimler ve sonuçlar, görüntü işlemeye
dayalı yeni bilimsel çalışmalar yapma isteğimizi artırmıştır. Bu bağlamda elde edilen
sonuçların geliştirilmesine yönelik söz edilen düzenlemelerin bu çalışmanın
devamında uygulanması planlanmaktadır. Ayrıca özellikle tıbbi görüntü analizi için
yapay zeka tekniklerini konu alan yüksek düzeyli görüntü işleme çalışmaları
planlanmaktadır.
72
KAYNAKLAR [1] Jähne B.; Haußecker H.: “Computer Vision and Applications”, Academic
Press, San Diego, USA, (2000). [2] Jain R.; Kasturi R.; Schunck B.G.: “Machine Vision”, Mc Graw Hill, Boston,
USA, (1995). [3] Gonzalez C. R.; Woods E. R.; Eddins L. S.: “Digital İmage Processing Using
Matlab”, Prentice Hall, New Jersy, USA, (2004). [4] www.mathworks.com (Erişim tarihi: Ekim 2006) [5] Uzunoğlu M.: “Her Yönüyle MATLAB”, Türkmen Yayınevi, İstanbul,
Türkiye, (2004). [6] Smith W.S.: “Digital Signal Processing”, 2 nd Ed., California, USA, (1999). [7] Semmlow L.J.: “Biosignal and Biomedical Image Processing”, Marcel
Dekker Inc., New York, USA, (2004). [8] Courtney P.: “Evaluation and Validation of Computer Vision Algorithms”,
Proceedings of the Theoretical Foundations of Computer Vision-TFCV on Performance Characterization in Computer Vision, Kluwer, Boston, USA, (1998) 17.
[9] Bankman I.N.: “Handbook of Medical Imaging Processing and Analysis”,
Academic Press, San Diego, USA, (2000). [10] Tsirikolias K.; Mertzios B.G.: “Statistical pattern recognition using efficient
two-dimensional moments with applications to character recognition”, Pattern Recognition, Vol 26, June, (1993) 877.
[11] Theodoridis S.; Koutroumbas K.: “Pattern Recogniton”, 2 nd Ed. Elsevier,
San Diego, USA, (2003). [12] Chim Y.C.; Kassim A.A.; Ibrahim Y.: “Character recognition using statistical
moments”, Image and Vision Computing, Vol 17, March, (1999) 299. [13] Acharya T.; Ray K.A.: “Image Processing Principles and Applications”, A
John Willey & Sons, Inc., New Jersey, USA, (2005). [14] Nakamura J.: “Image Sensors and Signal Processing for Digital Still
Cameras”, Taylor & Francis Group, LLC, (2006).
73
[15] Kert M.; Özdemir E.: “Üç boyutlu Sistemde Tek Kamera ile Dairesel kesitli Nesnelerin Konumlarının Belirlenmesi”, 1. Uluslararası Mesleki ve Teknik Eğitim Teknolojileri Kongresi, (2005).
[16] Pham T. V.; Smeulders A.W.M.: “Object recognition with uncertain
geometry and uncertain part detection”, Computer Vision and Image Understanding, Vol. 99, August (2005) 241.
[17] Zhenzhong W.; Guangjun Z.; Xin L.: “The Application of Machine Vision in
Inspecting Position-Control Accuracy of Motor Control Systems”, Electrical Machines and Systems, Fifth International Conference, Shenyang, China, Vol. 2, August (2001) 787.
[18] Lee. E.R.; Kim P.K.; Kim H.J.: “Automatic Recognition of a car license plate
using color image processing”, IEEE International Conference on Image Processing,Vol.2, (1994) 301.
[19] Rodriguez J.A.M.; Asundi A.; Rodriguez-Vera R.: “Recognition of a light
line pattern by Hu moments for 3-D reconstruction of a rotated object”, Optics & Laser Technology, Vol. 37, March (2005) 131 .
[20] Özekes S.: “Tıbbi Görüntülemede Bilgisayar Destekli Tespit”, Doktora Tezi,
Marmara Üniversitesi Fen Bilimleri Enstitüsü, İstanbul, Türkiye, (2006). [21] Hosny K. M. : “Exact and fast computation of geometric moments for gray
level images”, Applied Mathematics and Computation, Vol. 189, June (2007) 1214.
[22] Barroso J.; Dagless E.L.; Rafael A.; Bulas-Cruz J.: “Number plate reading
using computer vision”, IEEE International Symposium on Industrial Electronics-ISIE’97, (1997).
[23] Lee H.; Kim D.; Kim D.; Bang S.Y.: “Real-time automatic vehicle
management system using vehicle tracking and car plate number identification”, International Conference on Multimedia and Expo-ICME’03, Vol.1,(2003) 353.
[24] Rahman C.A.; Badawy W.; Radmanesh A.: “A Real Time Vehicle’s License
Plate Recognition System”, IEEE Conference on Advanced Video and Signal Based Surveillance-AVSS’03, (2003) 163.
[25] Toth D.; Aach T.: “Detection and recognition of moving objects using
statistical motion detection and Fourier descriptors”, Proceedings of the 12th International Conference on Image Analysis and Processing-ICIAP’03, September (2003) 430.
74
EK A
DÜŞÜK SEVİYE İŞLEMLER ARAYÜZÜNDE ÇALIŞMA ÖRNEKLERİ
75
Şekil EK-A.1. Düşük Seviye İşlemler Arayüzünde Format Dönüşümü, İşlenmiş Görüntü
Histogramı ve Döndürme İşlemlerine İlişkin Örnek Ekran Görüntüsü.
Şekil EK-A.2. Düşük Seviye İşlemler Arayüzünde Giriş Görüntü Histogramı ,Format
Dönüşümü, Median Filtre ve Canny Kenar Belirleme İşlemlerine İlişkin Örnek Ekran
Görüntüsü.
76
Şekil EK-A.3. Düşük Seviye İşlemler Arayüzünde Giriş Görüntü Histogramı , Format
Dönüşümü, Median Filtre, İskelet Çıkarma ve Spur İşlemlerine İlişkin Örnek Ekran
Görüntüsü.
Şekil EK-A.4. İşlenmiş Görüntünün Ölçekleme yapılmadan Önceki Histogarmı ve Piksel
Sayısına İlişkin Birinci Ekran Görüntüsü.
77
Şekil EK-A.5. İşlenmiş Görüntüye 0.5 Kat Sayısı ile Ölçekleme Yapılması Sonucu
Histogramdaki Piksel Sayısının Azaldığı Görülüyor.
Şekil EK-A.6. İşlenmip Ölçeklenmiş Görüntünün Tekrar 0.5 Kat Sayısı ile Ölçekleme Yapılması
ile Histogramdaki Piksel Sayısının Daha Fazla Azaldığı Görülüyor.
78
EK B
KARAKTER VERİ TABANINDAN ÖRNEKLER
79
Şekil EK-B.1. Karakter Veri Tabanından Örnekler-I
Şekil EK-B.2. Karakter Veri Tabanından Örnekler-2
80
Şekil EK-B.3. Karakter Veri Tabanından Örnekler-3
Şekil EK-B.4. Karakter Veri Tabanından Örnekler-4
81
EK C
GELİŞTİRLEN MOMENT TEMELLİ KURAL TABANINDAN ÖRNEK BİR KISIM
82
%*************************************************% if ((0.66919 <= fii(1,1))&&(fii(1,1)<= 0.88273)&&(0.0057538<=fii(1,2))&& (fii(1,2)<=0.67727)&&(3.074 <= fii(1,3))&&(fii(1,3)<= 7.4699)&& (4.6453<=fii(1,4))&&(fii(1,4)<= 9.2638)&&(9.871 <= fii(1,5))&& (fii(1,5)<=18.02)&&(4.5981 <= fii(1,6))&&(fii(1,6)<= 11.351)&& (10.216 <= fii(1,7))&&(fii(1,7)<= 17.046)) krktr = '0'; %-------------------------------------------------------------------------% if ((0.8903 <= fii(1,1))&&(fii(1,1)<=1.276)&&(1.7752<=fii(1,2))&& (fii(1,2)<=2.531)&&(0.097123 <= fii(1,3))&&(fii(1,3)<= 3.8468)&& (0.34475<=fii(1,4))&&(fii(1,4)<= 5.9925)&&(0.69482<= fii(1,5))&& (fii(1,5)<=11.576)&&(0.036918 <= fii(1,6))&&(fii(1,6)<= 6.1055)&& (3.1884 <= fii(1,7))&&(fii(1,7)<= 11.911) ) krktr = '1'; %-------------------------------------------------------------------------% if ((1.2517 <= fii(1,1))&&(fii(1,1)<=1.4184)&&(2.0684<= fii(1,2))&& (fii(1,2)<=2.4605)&&(0.28152 <= fii(1,3))&&(fii(1,3)<= 1.5279)&& (0.72137<=fii(1,4))&&(fii(1,4)<= 3.598)&&(1.3064 <= fii(1,5))&& (fii(1,5)<=6.972)&&(0.40222 <= fii(1,6))&&(fii(1,6)<= 4.3177)&& (3.257 <= fii(1,7))&&(fii(1,7)<= 6.2709) ) krktr = '2'; %-------------------------------------------------------------------------% if ((0.91129<=fii(1,1))&&(fii(1,1)<=1.3262)&&(1.2779<=fii(1,2))&& (fii(1,2)<=2.2665)&&(0.069079 <= fii(1,3))&&(fii(1,3)<= 1.7479)&& (0.0040658<=fii(1,4))&&(fii(1,4)<= 1.487)&&(0.097984 <= fii(1,5))&& (fii(1,5)<=4.2198)&&(1.3436 <= fii(1,6))&&(fii(1,6)<= 4.1599)&& (0.052087 <= fii(1,7))&&(fii(1,7)<= 6.2607) ) krktr = '3'; %-------------------------------------------------------------------------% if ((0.30138 <= fii(1,1))&&(fii(1,1)<= 1.0685)&&(0.042498<=fii(1,2))&& (fii(1,2)<=1.6892)&&(0.061308 <= fii(1,3))&&(fii(1,3)<= 2.651)&& (0.10575<=fii(1,4))&&(fii(1,4)<= 3.882)&&(0.092003<= fii(1,5))&& (fii(1,5)<=6.2431)&&(0.045071 <= fii(1,6))&&(fii(1,6)<= 4.2227)&& (3.1571<= fii(1,7))&&(fii(1,7)<= 7.9099)) krktr = '4'; %-------------------------------------------------------------------------% if((0.88269 <= fii(1,1))&&(fii(1,1)<= 1.24)&&(1.1384<= fii(1,2))&& (fii(1,2)<=1.9333)&&(0.33479 <= fii(1,3))&&(fii(1,3)<= 2.1945)&& (0.35091<=fii(1,4))&&(fii(1,4)<= 2.7002)&&(0.2924 <= fii(1,5))&& (fii(1,5)<=5.3754)&&(0.16827 <= fii(1,6))&&(fii(1,6)<= 4.4434)&& (1.6341 <= fii(1,7))&&(fii(1,7) <= 7.7298)) krktr = '5'; %-------------------------------------------------------------------------% if ((0.45365 <= fii(1,1))&&(fii(1,1)<=0.93298)&&(0.047565<=fii(1,2))&& (fii(1,2)<=1.0419)&&(0.080919<= fii(1,3))&&(fii(1,3)<=1.9026)&& (0.54642<=fii(1,4))&&(fii(1,4)<= 3.9)&&(0.96792 <= fii(1,5))&& (fii(1,5)<=9.0607)&&(0.81088 <= fii(1,6))&&(fii(1,6)<= 6.9549)&& (3.2698 <= fii(1,7))&&(fii(1,7)<= 8.6146) ) krktr = '6'; %-------------------------------------------------------------------------%
83
if (0.59369<=fii(1,1))&&(fii(1,1)<=0.59985)&&(0.58344<=fii(1,2))&& (fii(1,2)<=0.59146)&&(0.93782<=fii(1,3))&&(fii(1,3)<=0.95199)&& (0.27989<=fii(1,4))&&(fii(1,4)<=0.28267)&&(0.044478<=fii(1,5))&& (fii(1,5)<=0.053121) &&(0.0070386 <= fii(1,6))&& (fii(1,6)<= 0.0081689)&& (3.4839<=fii(1,7))&&(fii(1,7)<= 4.0126) krktr = 'A'; %-------------------------------------------------------------------------% if (0.55688<=fii(1,1))&&(fii(1,1)<=0.6988)&&(0.19368<=fii(1,2))&& (fii(1,2)<=0.5262)&&(3.7887<=fii(1,3))&&(fii(1,3)<=5.5846)&& (6.3756<=fii(1,4))&&(fii(1,4)<=8.6671)&&(12.077<=fii(1,5))&& (fii(1,5)<=17.222)&&(6.2254 <= fii(1,6))&&(fii(1,6)<= 11.669)&& (12.741<= fii(1,7))&&(fii(1,7)<= 16.131) krktr = 'B'; %-------------------------------------------------------------------------% if (1.2644 <= fii(1,1))&&(fii(1,1)<= 1.3254)&&(1.3465 <= fii(1,2))&& (fii(1,2)<=2.0373)&&(1.6273 <= fii(1,3))&&(fii(1,3)<= 2.1201)&& (0.45002<=fii(1,4))&&(fii(1,4) <= 0.67549)&&(3.3924 <= fii(1,5))&& (fii(1,5)<=3.6899)&&(3.283<= fii(1,6))&&(fii(1,6) <=3.4386)&& (1.0135 <= fii(1,7))&&(fii(1,7)<= 3.261) krktr = 'C'; %-------------------------------------------------------------------------% if (0.79576<= fii(1,1))&&(fii(1,1)<= 0.85542)&&( 0.30745<=fii(1,2))&& (fii(1,2)<=0.65831)&&(1.7148 <= fii(1,3))&&(fii(1,3)<= 3.2456)&& (3.9989<=fii(1,4))&&(fii(1,4)<= 7.0182)&&(7.0046 <= fii(1,5))&& (fii(1,5)<=12.886)&&(3.9485 <= fii(1,6))&&(fii(1,6)<= 9.8742)&& (8.6022 <= fii(1,7))&&(fii(1,7)<=13.664) krktr = 'D'; %-------------------------------------------------------------------------% if (1.0406 <= fii(1,1))&&(fii(1,1) <= 1.1683)&& (1.1683 <= fii(1,2))&& (fii(1,2)<=2.0706)&&(0.8779 <= fii(1,3))&&(fii(1,3) <= 1.6646)&& (0.057628<=fii(1,4))&&(fii(1,4)<= 0.79823)&&(0.83588 <= fii(1,5))&& (fii(1,5)<=3.2806)&&(3.1426 <= fii(1,6))&&(fii(1,6)<= 3.9971)&& (0.031587 <= fii(1,7))&&(fii(1,7)<= 3.4412) krktr = 'E'; %-------------------------------------------------------------------------% if ((0.90425 <= fii(1,1))&&(fii(1,1)<= 1.0749)&&(1.2002 <= fii(1,2))&& (fii(1,2)<=1.9211)&&(0.27063 <= fii(1,3))&&(fii(1,3) <= 1.548)&& (0.322<=fii(1,4))&&(fii(1,4) <= 1.32)&&(0.80667 <= fii(1,5))&& (fii(1,5)<=3.6197)&&(0.38278 <= fii(1,6))&&(fii(1,6)<= 3.8518)&& (0.14737 <= fii(1,7))&&(fii(1,7) <= 2.1149) krktr = 'F'; %-------------------------------------------------------------------------% if ((0.83423 <= fii(1,1))&&(fii(1,1)<= 1.0473)&&(0.16987 <=fii(1,2))&& (fii(1,2)<=1.0143)&&(0.13453 <= fii(1,3))&&(fii(1,3)<= 0.80759)&& (0.15448<=fii(1,4))&&(fii(1,4)<= 2.2917)&&(0.16376 <= fii(1,5))&& (fii(1,5)<=3.9795)&&(0.23352 <= fii(1,6))&&(fii(1,6)<= 2.876)&& (3.1471 <= fii(1,7))&&(fii(1,7)<= 5.1888)) krktr = 'G'; %-------------------------------------------------------------------------%
ÖZGEÇMİŞ 1980 da Denizli’de doğdu. İlk ve orta öğretimini Denizli’nin Bekilli ilçesinde tamamladı. 1998 de Denizli Atatürk Teknik Lisesi Elektronik bölümünden mezun oldu. 2001 de Marmara Ünv. Teknik Bilimler Meslek Yüksek Okulu Elektronik bölümünden mezun oldu. Aynı yıl Fırat Ünv. Teknik Eğitim Fak. Elektronik Öğr. Bölümüne dikey geçiş yaparak kaydoldu. 2004 de bölüm birincisi olarak mezun oldu. 2004 yılında M.Ü. Fen Bilimleri Enstitüsünde yüksek lisans eğitimine başladı. Halen bir şirket de Ar-Ge ve teknik destek elamanı olarak çalışmakta dır.