• Tidak ada hasil yang ditemukan

Akıllı Evler için İris Tanıma Sistemi

N/A
N/A
Protected

Academic year: 2021

Membagikan "Akıllı Evler için İris Tanıma Sistemi"

Copied!
50
0
0

Teks penuh

(1)

ELEKTRİK – ELEKTRONİK MÜHENDİSLİĞİ

BİTİRME ÖDEVİ

AKILLI EVLER İÇİN İRİS TANIMA SİSTEMİ

DANIŞMAN

Doç. Dr. Gökçen ÇETİNEL

HAZIRLAYAN

Çağlar GÜL

Ayşegül DURUR

Fevzi BAYIROĞLU

(2)

T.C.

SAKARYA ÜNİVERSİTESİ

MÜHENDİSLİK FAKÜLTESİ

AKILLI EVLER İÇİN İRİS TANIMA SİSTEMİ

BİTİRME ÖDEVİ

Çağlar GÜL B1201.00095 Ayşegül DURUR B1101.00017 Fevzi BAYIROĞLU G130100014 DANIŞMAN

(3)

Bu ödev .. / .. /20... tarihinde aşağıdaki jüri tarafından Oybirliği ile kabul edilmiştir.

………. ………. ……….

(4)

ii

ÖNSÖZ

İnsanların gelir seviyesinin artmasıyla birlikte hayat standartları yükseltmek istemeleri, daha güvenli ve kullanımı daha kolay evlerde oturma gereksinimleri son yıllarda akıllı ev sistemlerine olan talebi arttırmıştır. İyi bir akıllı ev sisteminde yüksek güvenlik gereksinimi karşılamak amacıyla kullanılan en yaygın yöntem biyometrik tanıma yöntemidir. Bu tezde biyometrik tanıma yöntemlerinden iris tanıma sistemini kullanarak akıllı evler için hızlı ve güvenilir bir sistem geliştirilmiştir.

(5)

ii

TEŞEKKÜR

Tezimizin konusunun belirlenmesinde, araştırma aşamasında, yön tayininde ve tamamlanmasında destek olan değerli hocamız ve tez danışmanımız Sayın Yrd. Doç. Dr. Gökçen ÇETİNEL’ e bize ayırdığı değerli zamanı ve sağladığı destek için minnettarız. Son olarak da; gösterdikleri sabır ve verdikleri her türlü destek için ailemiz ve arkadaşlarımıza teşekkür ederiz.

(6)

iii

İÇİNDEKİLER

ÖNSÖZ ... ii

İÇİNDEKİLER ... iii

SİMGELER VE KISALTMALAR LİSTESİ ... vi

ŞEKİLLER LİSTESİ ... viii

TABLOLAR LİSTESİ ... ix ÖZET ... x SUMMARY ... xi BÖLÜM 1. GİRİŞ ... 1 BÖLÜM 2. İRİS TANIMA FAZLARI ... 5 2.1. Giriş ... 5 2.2. Ön İşleme ... 6

2.2.1. Delik Doldurma İşlemi ... 6

2.2.2. Gauss Alçak Geçiren Filtre ... 6

2.2.3. Eşikleme ... 8

2.2.4. Kenar Bulma Algoritmaları ... 8

2.3. İris Bölütleme ... 10

2.3.1. Dairesel Hough Dönüşümü (Hough Circle Transform) ... 10

2.3.2. Dougman’ın İntegro-Diferansiyel Oparatörü ... 11

2.4. İris Normalizasyonu ... 13

2.4.1. Dougman’ın Lastik Levha (Rubber Sheet) Modeli ... 13

2.4.2. Göz Kapaklarının ve Kirpiklerin Kaldırılması ... 14

2.4.3. Yerel Histogram Eşitleme ... 15

2.5. Özellik Vektörü Çıkartma ... 16

2.5.1. Çok Kanallı Gabor Filresi ( 2D Gabor Filtresi) ... 16

2.5.2. Haar Dalgacık Dönüşümü ... 18

2.5.3. 1-D Dalgacığın Sıfır Geçişleri (Zero-Crossings of the 1-D Wavelet) ... 18

2.6. Desen Eşleştirme ... 18

2.6.1. Öklid Mesafesi ... 18

(7)

iv

BÖLÜM 3. GRAFİKSEL KULLANICI ARABİRİMİ (GUI) TABANLI

UYGULAMA TASARIMI ... 20

3.1. Matlab GUI’ ye Giriş ... 20

3.2. Nesne Özellikleri ... 24

3.3. Editör ... 26

3.4. GUI Uygulamalarında Callback Türleri ... 26

3.5. MATLAB GUI Uygulamalarında Etkileşim Kutuları Yönetimi ... 28

3.6. Nesne Uygulamaları ... 29

BÖLÜM 4. MATLAB GUI’ DE İRİS TANIMA İÇİN ARAYÜZÜN HAZIRLANMASI ... 33

4.1. Uygulamanın Hazırlanma Amacı ... 33

4.2. Uygulamanın Arayüzü ... 33

4.3. Uygulamanın Kullanışı ... 34

BÖLÜM 5. SONUÇ VE ÖNERİLER ... 35

KAYNAKLAR ... 36

(8)

vi

SİMGELER VE KISALTMALAR LİSTESİ

IEA Uluslararası Enerji Ajansı

CIE Uluslararası Aydınlatma Komitesi AB Avrupa Birliği

BRE Uluslararası Yapı Araştırma Kurumu CIBSE Bina Hizmet Mühendisleri Enstitüsü TEDAŞ Türkiye Elektrik Dağıtım A.Ş.

SEE-Stats Güney Doğu Yenilenebilir Enerji İstatistikleri Kurumu ANSI Amerikan Ulusal Standartlar Enstitüsü

DALI Dijital adreslenebilir aydınlatma arabirimi CO2 Karbondioksit gazı W Watt Wh Watt – saat kg Kilogram t Ton ρ Yansıtma faktörü lm Lümen – ışık akısı lx Lüks – aydınlık düzeyi cd Kandela – ışık şiddeti NPD Normalize güç yoğunluğu TA Çalışma alanları ɳ Verim ya da etkinlik P Güç (Watt) Φ Işık akısı E Aydınlık düzeyi

LOR Armatürün verimi ya da ışık verme oranı U Düzgünlük faktörü

(9)

vii UDI Kullanışlı günışığı aydınlık düzeyi oC Santigrat derece oK Kelvin derece Q Soğutma enerjisi d Yoğunluk V Hacim c Özgül ısı tx Oda sıcaklığı J Joule Hx Hafta adı V(t) Gerilim I(t) Akım

Vn n. harmonik gerilimin efektif değeri In n. harmonik akımın efektif değeri Vef Harmonikli gerilimin etkin değeri Ief Harmonikli akımın etkin değeri THD Toplam harmonik bozulma

THDV Toplam Gerilim Harmoniği Bozulması THDI Toplam Akım Harmoniği Bozulması GF Güç faktörü

SPSS Anket ölçme değerlendirme paket programı

kr Kuruş

(10)

viii

ŞEKİLLER LİSTESİ

Şekil 1.1: Biyometrik sistemler ... 2

Şekil 1.2: İnsan gözü ... 3

Şekil 2.1: İris tanıma fazları ... 5

Şekil 2.2: Ön işlemden geçirilmiş resim ... 8

Şekil 2.3: Eşikleme uygulanmış iris resmi ... 8

Şekil 2.4: Kenar bulma filtreleri ... 9

Şekil 2.5: Eş merkezli olmayan daireleri kullanarak iris bölütleme ... 10

Şekil 2.6: Dairesel hough dönüşümü uygulanmış iris resmi ... 11

Şekil 2.7: İntegro-Diferansitel operatör kullanılarak iris bölütleme ... 12

Şekil 2.8: Dougman’ın lastik levha (Rubber Sheet) modeli ... 13

Şekil 2.9: Eş merkezli olmayan iris normalizasyonu ve örnek normalize edilmiş resim . 14 Şekil 2.10: İristen gözkapaklarının ve kirpiklerin kaldırılması ... 14

Şekil 2.11: Histogramı eşitlenmiş örnek resim ... 15

Şekil 2.12: İrisin yerel histogramının eşitlenmesi ... 16

Şekil 2.13: 2-D Gabor Filtresi örneği ... 17

Şekil 2.14: Gabor Filtresi uygulanmış iris resmi ... 17

Şekil 2.15: 2-D Dalgacık ayrıştırması ... 18

Şekil 2.16: Hamming mesafesini bulmak için 3 bit iki seviyeli küp ... 19

Şekil 3.1: Matlab GUI ekranının açılması ... 20

Şekil 3.2: Boş GUI ekranı ... 21

Şekil 3.3: Matlab GUI’ de elementleri görünür yapma ... 21

Şekil 3.4: GUI elementleri ... 23

Şekil 3.5: GUI elementlerinin özellikleri ... 23

(11)

ix

TABLOLAR LİSTESİ

Tablo 1.1. Biyometrik sistemlerin karakteristikleri.………... 2 Tablo 3.1. GUI uygulamalarında callback türleri……….. 27 Tablo 3.2. Matlab ile tasarlanan GUI uygulamalarında kullanılabilecek

(12)

x

ÖZET

Anahtar kelimeler: İris Tanıma Sistemi, Görüntü İşleme, Biyometrik Sistemler

İnsanların gelir seviyesinin artması ile birlikte hayat standartlarını yükseltmek istemeleri, daha güvenli ve kullanımı daha kolay evlerde oturma gereksinimleri son yıllarda akıllı ev sistemlerine olan talebi arttırmıştır. İyi bir akıllı ev sisteminde yüksek güvenlik gereksinimini karşılamak amacıyla kullanılan en yaygın yöntem biyometrik tanıma yöntemidir. Biyometrik tanıma yöntemlerine dayalı sistemler insanın kendine has ve taklit edilemeyen niteliklerini kimlik doğrulama ve şifreleme için kullanırlar.

Bu sistemlere örnek olarak; parmak izi ile tanıma, yüz tanıma, el geometrisi ile tanıma, iris tanıma, ses tanıma, retina tanıma ve imza tanıma verilebilir. Bu tezde güvenliğinin diğerlerine göre daha yüksek olması, yüksek doğruluklu olması ve hata faktörlerinin az olmasından dolayı en fazla tercih edilen biyometrik sistemlerden biri olan iris tanıma sistemi ele alınmıştır.

Tezin ilk adımı olarak UBIRIS veri tabanındaki görüntüler alınmıştır. Gauss alçak geçiren filtresi ve morfolojik işlemlerle bulanıklaştırılmış, parlamalar giderilmiştir. Bunu izleyen adımda iris desenini elde etmek için Dougman’ın İntegro-Diferansiyel Operatörü kullanılarak bölütleme işlemi yapılmıştır. Sonraki adımda pupil ve iris yarıçapından bağımsız olarak iris desenleri aynı boyutlarda dikdörtgensel bir şerit haline getirilmiştir. Bunun için Dougman’ın Lastik Levha Modeli kullanılarak normalleştirme yapılmıştır. Normalleştirilmiş resimde tanımaya engel olacak göz kapakları ve kirpikler kaldırılarak iris deseni gürültülerden arındırılmıştır. Bu adımdan sonra elde edilen iris deseni Gabor Filtresinden geçirilip ortalama mutlak sapma ile özellik vektörü çıkarılmıştır. Bu özellik vektörü ile boyut düşürme yapılarak eşleştirmeye hazır hale getirilmiştir. Eşleştirme için bir doğruluk ölçütü olarak Öklid mesafesi kullanılmıştır.

Son olarak geliştirilen yazılım UBIRIS veri tabanında test edilerek 100 farklı göze ait 500 resim için %8.47 oranında hatalı ret (FRR) ve %0.32 oranında hatalı kabul (FAR) elde edilmiştir.

(13)

BÖLÜM 1. GİRİŞ

Biyometri bir bireyin fiziksel ya da davranışsal benzersizliğini ölçen ve mevcut kayıtlarla karşılaştırarak tanımlama işlemi yapan otomatik bir sistemdir. Yakın zamanda araştırmacıların insanların fiziksel özellikleri ve karakteristiklerin suça eğilimleri ile bir ilgisinin olup olmadığını araştırmaları biyometri alanına ilgiyi arttırmıştır.

Günümüzde biyometrik incelemelerin boyutu, çeşitliliği ve kullanım alanları artmıştır. Bu sayede de pek çok yeni biyometrik kimlik doğrulama sistemi yerini almıştır. Biyometrik sistemlerin uygulama alanları günümüzde oldukça çeşitlidir. Özellikle havaalanları giriş ve çıkış işlemleri, kredi kartları, kriminal amaçlı teşhis ve tespit uygulamaları, sigorta şirketleri, sosyal güvenlik, vergi süreçleri gibi kamu hizmetleri, e-ticaret, elektronik imza uygulamaları, İnternet bankacılığı, ATM'ler, çağrı merkezleri, personel takibi gibi sosyal sistemlerde kullanılmalarının yanında artık, bilgisayarlar, PDA’lar (cep bilgisayarları), cep telefonları ve kilit sistemlerinde de kullanılmaktadırlar. Örneğin; parmak izi tanıma sistemini barındıran bir bilgisayar, kimliğini doğrulayamayan kullanıcıların sistemi açmasına ve işlem yapmasına izin vermemektedir. [1,2]

Biyometrik sistemlerin kullanım amacı genel amacı kişilerin kimliklerini doğrulayabilmeleri için, akıllarında tutmaları gereken herhangi bir bilgi ya da yanlarında taşımak, kaybetmemek ya da unutmamak zorunda oldukları kart, anahtar gibi araçların yerine; kopyalanması ya da taklit edilmesi imkansız olan özelliklerini kullanmalarını sağlamaktır. Biyometrik sistemlerde, kimlik belirleme işlemi, kişilerin fiziksel ya da davranışsal özelliğine dayanarak gerçekleştirildiği için başkasına devredilmesi, unutulması ya da kaybedilmesi durumu söz konusu değildir. Diğer yöntemlere göre çok daha risksizdir. Ancak biyometrik sistemlerin oluşturulabilmesi için bazı standart ölçüler kullanılmalıdır. Biyometrik ölçüler olarak adlandırılan bu ölçülerin şifrelerde kullanımı için INCITS (International Committee for Information Technology Standarts-Uluslararası Bilgi Teknolojileri Standartları Komitesi) tarafından oluşturulmuş uluslararası bir standart mevcuttur. [3]

Biyometrik sistemler fizyolojik ve davranışsal olarak ikiye ayrılır. Bu sistemler Şekil1.1’ de gösterilmiştir.

(14)

2

Şekil 1.1: Biyometrik sistemler

Yukarıda verilen biyometrik sistemlerin, kullanım kolaylığı, hata faktörleri, doğruluk oranları ve devamlılık gibi birçok karakteristikleri vardır.

Tablo 1.1’ de verilen bu karakteristikler biyometrik sistemlerin karşılaştırılması bakımından önemli bir role sahiptir.

Karakteristikler Yüz Retina İRİS El Geometrisi Parmak İzi İmza Ses Kullanım

Kolaylığı ORTA DÜŞÜK ORTA YÜKSEK YÜKSEK YÜKSEK YÜKSEK Hata Faktörleri IŞIK, YAŞ, SAÇ, GÖZLÜK GÖZLÜK IŞIK EL SAKATLIĞI, YAŞ NEMSİZLİK,

YAŞ, KİR İMZANIN DEĞİŞİMİ GÜRÜLTÜ

Doğruluk YÜKSEK ÇOK YÜKSEK ÇOK YÜKSEK YÜKSEK YÜKSEK YÜKSEK YÜKSEK

Devamlılık ORTA YÜKSEK YÜKSEK ORTA YÜKSEK ORTA ORTA

Tablo 1.1: Biyometrik sistemlerin karakteristikleri [4]

Bunlar arasında son zamanlarda popüler olanlarından biri iris tanıma sistemidir. İris tanıma sistemi yüksek doğruluk oranı ve güvenliği açısından diğer biyometrik tanıma sistemlerinden üstün olmasından dolayı bitirme projemizde bu tanıma sistemini gerçekleştirdik7.

İnsan İrisi:

İris, kornea ile göz merceği arasında bulunan ince dairesel halkalardan oluşur. İrisin önden görüntüsü Şekil 1.2’de gösterilmiştir. Pupil olarak bilinen kısım ise irisin merkezine yakın, daha küçük kapalı bir çemberdir.

Bir irisin ortalama çapı 12mm dir. Pupilin çapı ise irisin %10 ile %80 ‘i arasında değişmektedir. İris birçok katmandan meydana gelir. En düşük katman epitel doku

(15)

3 katmadır bu katman içinde yoğun renk pigmentlerini barındırır. Stromal tabaka epitel üzerinde bulunur; içinde kan damarları, renk pigmenti hücreleri ve iki tane de iris kası bulundurur. Hücreleri renklendiren stromal dokunun yoğunluğu irisin rengini belirler. Çok katmanlı irisin dışarıdan görünen yüzeyi iki bölge içerir, bunlar genellikle farklı renktedir. Biri dış kirpiksi bölge diğeri de iç pupil bölgesidir. Bu iki bölge yaka şeklinde bölünerek zigzag desenini meydana getirir

Şekil 1.2: İnsan gözü

İki insanın iris desenlerinin aynı olma olasılığı yaklaşık olarak 1/1052 dir. Gelecekte klonlanacak insanların ve tek yumurta ikizlerinin iris desenleri aynı olacaktır. İris yaratılışı itibariyle öyle bir organdır ki kirpik ve göz kapaklarıyla dıştan gelecek olası darbe ve vurmalara karşı çok iyi korunmuştur. İris tanıma sistemi biyometrik kimlik tanıma sistemlerinin içinde en yüksek doğruluklu ve güvenliği en yüksek olan sistemdir. Genel olarak parmak izi tanımaya benzetilen bu sistemin, parmak izine göre en önemli avantajı, parmak izi kullanılan biyometrik sistemlerde 60 veya 70 karşılaştırma noktası bulunurken, iris taramada karşılaştırma için yaklaşık 200 referans noktası kullanılmasıdır [5].

İris bebeklikten insanın ölümüne kadar değişmeyen bir yapıya sahiptir. Basit bir iris taraması kamera kullanılarak 15-20 cm uzaklıktan yapılır. [6]

İris Tanıma Sisteminin Kullanılma Nedenleri

• Şifre, pin numarası gibi unutulma ve paylaşılma riski olan bilgilere gerek yoktur. • Kullanıcı ile tarayıcı arasında bir fiziksel temasın olmaması

• İris deseninin en güvenilir desenlerden biri olması • Gözlük ve lensle bile kullanılabilmesi

• Sistemlere kolay entegre edilebilmesi

• İrisin kalıtımsal hastalıklardan etkilenmemesi

(16)

4 Kullanım alanları

 Türkiye’de Yaysat, KOÇ Sistem, Hacettepe Üniversitesi Hastanesi, 1.Ordu, İEM (İstanbul İl Emniyet Müdürlüğü), EGM (Emniyet Genel Müdürlüğü), Hobim Bilgi İşlem, Akbank, Koçnet, ve Adalet Bakanlığı’nın bazı birimleri gibi bir çok noktada kullanılmaktadır.

 İris Tanıma Sistemi, Amerika’da 20 hapishanede personel, mahkûm ve ziyaretçilerin kimlik tespitinde ayrıca İngiltere, Japonya ve ABD’de bazı bankalar tarafından ATM’lerin kullanıcılarının kimlik tespitinde kullanılmaktadır. [7] İris tanıma sistemlerinin çok yüksek doğruluğa sahip olması, görüntü işleme yöntemlerinin ve donanımlarının gittikçe gelişmesi iris tanımayı her gün biraz daha popüler hale getirmektedir. Bu sistemleri yapan firmalar ağırlıklı olarak yurtdışı kaynaklıdır. Türkiye’deki firmalar genellikle bu sistemi yapan yabancı firmaların distribütörlüğünü (dağıtıcılığını) yapmaktadır.

Biz bu bitirme projesi ile yerli üretim iris tanıma sistemi projesini hayata geçirip ulusal ekonomiye katkıda bulunmak ve bu sistemi ithal değil ihraç etmek için önemli bir adım atmak istiyoruz. Hedeflendiği gibi düşük maliyetli, yüksek doğruluklu bir iris tanıma sistemi gerçekleştirildiğinde temin edilmesi daha kolay olacağından herkes için yüksek güvenlik ve konfor sağlanmış olacaktır.

Projenin Amacı

Bu tezin amacı mevcut iris tanıma sistemlerini araştırıp çalışma prensiplerine hâkim olunduktan sonra daha yüksek doğruluklu ve düşük maliyetli bir iris tanıma sistemini gerçekleştirmek, akıllı evler ve firmalar için iris tanıma sistemi geliştirip güvenliği ve kullanım kolaylığını arttırmak, insanlara daha konforlu bir yaşam sağlamaktır.

 Güvenliğin Arttırılması: Anahtar-Kilit Mekanizmasını ortadan kaldırıp kilit mekanizmasına dışardan erişimi engellenmesi. Doğruluğu çok yüksek olan iris tanıma sistemini kullanarak izinsiz girişlerin tamamen ortadan kaldırılması.

 Kullanım Kolaylığı: Herhangi bir anahtara ihtiyaç duyulmaması ve anahtarın getirdiği kaybolma, kırılma, taklit edilme gibi sorunların ortadan kaldırılması.

 UBIRIS iris veri tabanındaki iris görüntülerini başarılı bir şekilde tanımak ve sınıflandırmak. Bu amacı gerçekleştirebilmek için gerekli teknik alt yapıyı sağlamak.

 Sınıflandırma ve karşılaştırma sonuçlarını göstermek adına arayüz tasarlamak.

(17)

5

BÖLÜM 2. İRİS TANIMA FAZLARI

2.1. Giriş

Bu bölümde iris tanıma algoritmasının fazları (adımları) gösterilecektir. Doğru bir biçimde tanıma yapabilmek için iris tanıma algoritmasını parçalara ayarıp sistematik bir biçimde ilerledik. Herbir faz için literatürde en yaygın olarak kullanılan yöntemler denenmiş optimum yöntem Matlab’da simülasyon yapılarak tespit edilmiştir. Doğruluk oranı hibrit yöntemlerle bilrikte istenilen seviye çekilmiştir. Şekil 2.1’ de iris tanıma fazları verilmiştrir.

Şekil 2.1: İris tanıma fazları

Bu adımlardan kısaca bahsedecek olursak;

Görüntü Eldesi: Simülasyon sürecinde UBIRIS ve CASIA iris veritabanlarındaki görüntüler kullanılmıştır. Prototipte ise kamera modülü ile belirlenen çalışma şartlarında (aydınlatma, kişinin kameraya uzaklığı) gönüllünün iris görüntüsü alınır.

Ön İşleme: İrisin bölütlenmesine engel olan gözdeki parlamalar morfolojik işlemlerden biri olan doldurma işlemiyle giderilir. Görüntüde yüksek yerel türevlere sebep olabilecek gürültüyü gidermek için gauss filtresi uygulanır. Daugman integro diferansiyel operatörü için bu kadar ön işleme yeterlidir zaten bu operatörün kullanılmasındaki avantajlardan biri de az ön işleme gerektirmesidir. Ancak bölütleme için Hough dönüşümü kullanıldığında bunlara ilaven eşikleme ve kenar bulma algoritmaları gibi ön işlemler de gerekmektedir. Hough dönüşümünü fazla ön işleme gerektirmesi ve yavaş olması sebebiyle kullanılmadı.

(18)

6 İris Bölütleme

- Pupil ve İris Bulma: Dougman’ın İntegro-Diferansiyel Operatörü kullanılarak iris ve pupilin merkezleri ve yarıçapları bulunur.

- Göz Kapaklarının ve Kirpiklerin Kaldırılması: Doğrusal Hough dönüşümü ve eşikleme (thereshold) kullanılarak oklüzyonların kaldırılır.

İris Normalizasyonu: Normalizasyon fazında iristen pupil bölgesi çıkarılır elde edilen dairesel iris resmi açılarak kartezten koordinat sisteminden kutupsal koordinatlara çevrilir. Bu işlem tezimizde Dougman’ın Lastik Levha Modeli ile yapılmıştır.

Özellik Vektörü Çıkartma: Haar Wavelet veya Gabor Filtresi kullanılarak normalleştirilmiş iris resminden bir özellik vektörü elde edilmiştir. Biz teziminzde Gabor Filtresini kullanarak özellik vektörünü çıkardık.

Desen Eşleştirme: Veritabanındaki özellik vektörü ile sorgulanan özellik vektörü Öklid veya Hamming uzaklığı kullanılarak eşleştirilir. Tezimizde işlem kolaylığı ve performans bakımından kolay olan öklid mesafesini kullanarak iris desenlerini eşleştirdik. [8] , [9]

2.2. Ön İşleme

2.2.1. Delik Doldurma İşlemi

Sınırları tanımlı bir yüzey için geliştirilebilecek yöntemlerden biri delik (çekirdek) doldurma yöntemidir. Bu yöntemde yığın, kuyruk veri yapıları veya özyinelemeli (recursive) fonksiyonlar kullanılabilir. Örneğin, özyinelemeli fonksiyonlar kullanılarak uygulama geliştirilmek istenirse, öncelikle doldurulacak alan sınırları içerisinde bir piksel (seed point / boyama işleminin başlanacağı piksel) seçilir. Daha sonra, bir boya (x,y,renk) fonksiyonu piksel koordinat bilgileri ve boyanacak renk bilgisi parametreleri ile çağrılır. Bu fonksiyon, öncelikle pikselin kenar pikseli olup olmadığını kontrol eder (boyanacak şeklin sınırlarının aşılıp aşılmadığının kontrolü) ve kenar pikseli değilse o piksel ilgili renge boyar. Daha sonra, boyanan piksele komşu pikseller özyinelemeli boya fonksiyonuna parametre olarak gönderilir. İşlem yüzey doldurulana kadar özyinelemeli olarak devam eder.

MATLAB’ da çekirdek (delik) doldurma işlemini yapan imfill komutu vardır. Bu komut ile delikler doldurulur. Biz bu işlemi irisin içindeki parlamaları gidermek için kullanacağız.

2.2.2. Gauss Alçak Geçiren Filtre

Gauss filtresi uyguladığınız imgeyi sizin belirleyeceğiniz maske boyutunda bir matris ile tarar ve her bir matriste ağırlıklı ortalamayı hesaplar bunun sonucunda resme bulanıklaştırma etkisi verir.

(19)

7 1 boyutlu Gauss filtresine ait eşitlik aşağıda verilmiştir.

(2.1)

2 boyutlu Gauss filtresi için ifade Eşitlik (2.2)’ de verilmiştir. Görüntü iki boyutta ifade edildiğinden tezimizde 2 boyutlu Gauss filtresi kullanılmıştır.

(2.2)

Eşitlik (2.2)’de gördüğünüz fonksiyonda g, x ve y koordinatlarındaki Gauss çekirdeği (fonksiyonu) dir. σ ise Gauss fonksiyonunun keskinliğini ya da yumuşaklığını belirleyecek olan Gauss dağılımının standart sapma değeridir. 1 / 2𝜋𝜎 ² ifadesi ise düzeltme (normalizasyon ) katsayısıdır. Gauss filtresi nokta dağılım fonksiyonu gibi ayrık pikseller üzerinde işlenir.

Bir görüntü ayrık piksellere ayrıldıktan sonra Gauss filtresini uygulayabilmek için konvülüsyon gerçekleştirmek gerekir. Gauss maskesi maske sınırları içerisindeki matriste hemen hemen bütün sıfırları temizler. Bu şekilde daha temiz bir görüntü elde edilmiş olur. MATLAB’ da bu algoritma hazır bir fonksiyon şeklinde verilmiştir. Bu fonksiyonu açıklamak gerekirse;

G = fspecial(‘gaussian’, [3 3], sigma); fspecial, sadece gaussian ya da average filtresi değil bir çok özel fonksiyonu bünyesinde barındıran bir komuttur, biz burada gaussian fonksiyonunu seçtik, [3 3] parametresi ile maske matrisimizin boyutu 3×3 olacağını bildirdik, yani filtremiz resmi 3×3 matrisler şeklinde tarayacak ve bu matrislere gauss algoritmasını uygulayacak, 10 ise standart sapma değeridir.

İris segmentasyonunda alçak geçiren bir Gauss Filtresi uygulanarak ani parlaklık değişimlerine sebep olarak Dougman Integro-Diferansiyel operatörünün hatalı çalışmasına sebep olabilecek kirpik gibi gürültülerin etkisi azaltılır. Zira Dougman Integro-Diferansiyel operatörünü bir merkezden başlayarak yarıçapı artan daireler çizer, bu daireler üzerinde yer alan piksellerin ortalama parlaklığını bulur. Yarıçapları ardışık ortalama parlaklık farkları en yüksek iki yarıçap ve daire iris veya pupilin sınırını belirler. Kirpik gibi gürültüler ani parlaklık değişimlerine sebep olarak operatörün hatalı çalışmasına sebep olur. Şekil 2.2 (b)’ de Gauss Filtresi uygulanmış iris resmi gösterilmiştir.

Pupilin segmentasyonunda karşılaşılan en büyük zorluklardan biri pupilde olan parlamaların yarattığı ani parlaklık değişiklikleridir, bu da tıpkı kirpikler gibi Dougman Integro-Diferansiyel operatörünün hatalı sonuç vermesine sebep olur. Bu yüzden pupil bulunurken resme morfolojik işlemlerden olan doldurma işlemi uygulanarak bu parlamalar olabildiğince giderilir. Şekil 2.2 (c)’ de doldurma işlemi uygulanmış iris resmi gösterilmiştir.

(20)

8

Şekil 2.2: Ön işlemden geçirilmiş resim. (a) Orijinal Resim (b) Gauss Filtresi Uygulanmış Resim (c) Doldurma Uygulanmış Resim

2.2.3. Eşikleme

Sezgisel özellikleri, gerçekleştirmesinin basitliği, ve hesaplama hızı nedenleriyle, görüntü eşikleme görüntü bölütleme uygulamalarında önemli bir yere sahiptir. Değişik gri ton seviyelerindeki bir resmin her pikseli eşik değerin altında ise 0, üstünde ise 1 olacak binary hale getirir. Siyah beyaz bir resim elde edilir.

Bölütlemede Hough dönüşümü kullanıldığında kenar bulma sırasında zayıf kenarların ihmal edilmesi gibi işlemlerde eşikleme kullanılır. Aşağıdaki şekilde iris resmi üzerinde eşikleme örneği gösterilmiştir.

Şekil 2.3: Eşikleme uygulamış iris resmi a) Orijinal Resim b) Eşikleme yapılmış resim 2.2.4. Kenar Bulma Algoritmları

Görüntünün sınır eğrisi local süreklilik gösteren ve çevresine göre belirginleşmiş

bölgelerin değişim noktalarından oluşur. Görüntü sınırı 5 farklı algoritma ile çıkarılabilir. Bunlar Sobel, Prewitt, Roberts, Log ve Canny algoritmalarıdır. Bunları kısaca

açıklayacak olursak;

Log Filtresi: Bu filtreye Marr-Hildreth (Laplacian of Gaussian – Log) algoritması denir. Gaussion filtresine Laplası alınarak işlem yapar.

Canny Filtresi: Kenar bulmada son derece etkin bir algoritmadır. Önce görüntüdeki gürültü bir sigma değerine göre üretilen Gaussian çekirdekle konvolusyonu alınarak azaltılır. Daha sonra, gradyant operatörü uygulanarak, kenar gradyant büyüklüğü ve yönü

(21)

9 hesaplanır. Kenarlar, non maxima baskılama uygulanarak inceltilir. Son olarak görüntü, ikili eşikleme uygulanarak istenmeyen ayrıntılardan arındırılır.

Roberts Filtresi: Bu filtre diagonal olarak kenar tarar. Kernel matrisi şöyledir: [1,1,0;1,0,-1;0,-1,-1] veya [2,1,0;1,0,-1;0,-1,-2].

Prewitt Filtresi: Bu filtrede sobel filtresi gibi düşey ve yatay keskinlik yakalar. Kernel matrisi sobelden farklıdır. Matrsin dizimi şöyledir: [1,1,1;0,0,0;-1,-1,-1] veya [1,0,-1;1,0,-1;1,0,-1].

Sobel Filtresi: Sobel operatörü yatay ve düşey yönde keskinlikleri yakalar. Kernel matrisi dizilimi şöyledir: [1,2,1;0,0,0;-1,-1,-1] veya [1,0,-1;2,0,-2;-1,-2,-1].

Aşağıdaki şekilde değişik kenar bulma filtreleri gösterilmiştir.

Şekil 2.4: Kenar bulma filtreleri

Bu tezde Hough dönüşümü kenar bulma algoritmaları ve eşikleme önişlemleri gerektirdiğinden dolayı daha az önişleme gerektiren ve daha hızlı olan Dougman integro-diferansiyel operatörü kullanılmıştır.

(22)

10

2.3.

İris Bölütleme

İris bölütlemedeki amaç resimdeki iris bölgesinin yerini tespit etmektir. Bu işlem pupilin dışı ile iris arasındaki ve irisin dışı ile sklera arasındaki sınırı bulmayı amaçlar. Bu sınırlar tamamen daire şeklinde olmamakla birlikte birçok metotta eş merkezli olmayan iki daire olarak modellenir. İstisnalar olmakla birlikte bu sınırlar genellikle elipse benzemektedir. Dairesel bir model ile uygun bir sınırın bulunması Şekil 2.5’de gözlenmiştir. Bu modeller kullanıldıktan sonra daire ve elips bulma sorunu azaltılarak iris sınırları bulunur. Bu iris sınırlarını bulmak için farklı yöntemler vardır. Bunlar; Hough Dönüşümü, Integro-Diferansiyel Operator, Jeodezik Aktif Konturlar, Varyasyon Seviye Setleri, Fourier-Based Approximation (Fourier Tabanlı Yaklaşım) gibi metotlardır. [10,11]

Şekil 2.5: Eş merkezli olmayan daireleri kullanarak iris bölütleme. (1) İçteki çemberin merkezi (2) Dıştaki çemberin merkezi

Şekil 2.5’ de (1) numaralı nokta pupilin merkezidir. (2) numaralı nokta irisin merkezidir. Yukarıda belirtilen yöntemler farklı teoriler kullanarak bu merkezlerin koordinatlarını ve yarıçaplarını verir. İris dairesinden pupil dairesi çıkarıldığında geriye saf iris örüntüsü kalır. Bu saf iris örüntüsünden (desen) kirpikler ve göz kapağı da çıkarılarak bölütleme tamamlanmış olur.

Biz bunlardan en popüler olan Dairesel Hough Dönüşümü ile İntegro-Diferansiyel Operator üzerine duracağız ve ön işleme adımı kolay ve basit olan İntegro-Diferansiyel Operatorünü kullanarak bölütlemeyi gerçekleştireceğiz.

2.3.1. Dairesel Hough Dönüşümü (Hough Circle Transform)

Dairesel Hough Dönüşümü, iris tanıma sistemlerinde iris ve pupilin merkezlerini ve yarıçaplarını bulmak için kullanılır. Hough daire dönüşümü ile daire şeklindeki cisimler hızlı bir algoritma ile elde edilmektedir.

Hough dönüşümü temelde kenarların olası geometrik şekilleri oylaması mantığı ile çalışmaktadır. Hough dönüşümü kullanılarak şekil tespiti genel olarak aşağıdaki adımlar ile özetlenebilir:

(23)

11

 Kaynak görüntü üzerinde kenarlar belirlenir.

 Bir eşikleme yöntemi kullanılarak görüntü ikili (siyah-beyaz) hale getirilir.

 Her kenar pikseli için noktanın üzerinde olabileceği olası geometrik şekillerin polar koordinattaki değerleri kullanılan bir akümülatör matrisi üzerinde birer artırılarak her kenar pikselin olası şekilleri oylaması sağlanmış olur.

 Akümülatör değeri en yüksek olan şekiller en çok oy alan şekiller olduklarından görüntü üzerinde bulunma veya belirgin olma olasılıkları en yüksek olmaktadır. Uygulamalarda kaynak görüntüler üzerinde dairesel şekil arandığından kullanılan akümülatör matrisi çemberin merkezi olan (a,b) noktaları ve yarıçap değeri (r) olmak üzere üç boyuttan oluşmaktadır. Eşitlikler aşağıda verilmiştir. Belirlenen aralıktaki yarıçap değerleri için çember merkezi çember denkleminden faydalanılarak bulunabilir.

(2.3) (2.4)

(2.5)

Kullanılan açı değeri 0 – 2π aralığında değiştirilerek bir noktanın, yarıçapı bilinen bir çember üzerinde yer alıp almadığı tespit edilebilmektedir. Yarıçap değerinin bilinmesi durumunda çember merkezini ifade eden (a,b) değerlerinin iki boyutlu bir akümülatör matrisi üzerinde tutulması yeterli olacaktır. Yarıçap değerinin bilinmemesi veya bir aralık halinde olması durumunda ise olası yarıçap değerleri bir döngü içerisinde denenerek merkez koordinatları ve yarıçap uzunluğu boyutlarına (a,b,r) karşılık gelen akümülatör değerleri artırılarak elde edilen üç boyutlu akümülatör matrisi elde edilebilmektedir.[12]

Şekil 2.6: Dairesel hough dönüşümü uygulanmış iris resmi

Şekil 2.6’ te iris resmine Dairesel Hough Dönüşümü uygulanarak elde edilmiş sonuç gösterilmiştir.

2.3.2. Dougman’ın İntegro-Diferansiyel Oparatörü

Bu teknik John Daugman tarafından 1990‘lı yıllarda öne sürülmüştür. Bu yöntem iris tanımanın otomatikleşmesine zemin hazırlamıştır. Dünyada ticari amaçla kullanılan iris tanıma sistemlerinin büyük çoğunluğunda Daugman yaklaşımı kullanılır. Bu yaklaşımda iris bölütleme integro-diferansiyel operatörü kullanılarak gerçekleştirilir. [13]

(24)

12 Bölütleme sürecinde yaklaşık iris sınırları bulunur. İlk olarak verilen iris resminde gauss filtresi kullanılarak yumuşatma işlemi uygulanır. Bu süreç gürültüleri azaltmaya yarar. İntegro-Diferansiyel operatörü resim üzerinde irisin merkezi olup olamayacağı değerlendirilen noktanın etrafında r yarıçaplı bir daire üzerindeki piksellerin toplamının ortalamasını bulur, yarıçap arttırılır aynı işlem tekrar yapılır, bir önceki parlaklık ortalamasıyla bulunan ortalama karşılaştırılır aradaki farkın en büyük olduğu merkez ve yarıçap irisin merkez ve yarıçapını verir.

İntegro-Diferansiyel operatörün matematiksel ifadesi aşağıdaki gibidir.

(2.6)

(2.7) Burada,

σ : Standart sapma

(x0, y0) : Merkezin koordinatları * : Konvolüsyon Operatörü

Şekil 2.7: İntegro-Diferansiyel operatör kullanılarak iris bölütleme

Şekil 2.7’de Dougman’ın integro-diferansiyel operatörü kullanılarak irisin ve pupilin merkezleri ve yarıçapları bulunmuştur.

Önişleme kolaylığı bakımından ve ticari amaçlarda bu yöntemin sıklıkla kullanılması sonucu projemizde bu yöntemle iris bölütlemesi yapılmıştır.

(25)

13 2.4. İris Normalizasyonu

Normalizasyon fazında merkez koordinatları ve yarıçapları bilinen iris ve pupil görüntüsünün özellik çıkarımının gerçekleştirilebilmesi için polar formdan kartezyen forma aktarımı gerçekleştirilmiştir.

Bu aşamada iris dokusunu belirginleştirmek için ayrıca Histogram Eşitleme yöntemi de uygulanmıştır.

2.4.1. Dougman’ın Lastik Levha (Rubber Sheet) Modeli

İris bölütlemesini yaptıktan sonra eşleştirmeye uygun hale getirmek için normalizasyon işlemi yapılır. Bu işlemde iris bölgesindeki her bir piksel kartezyen koordinatlardan polar koordinatlara dönüştürülerek iris deseni dikdörtgensel olarak ifade edilir.

Farklı insanlardan alınan irisler farklı boyutlarda olabilir ve hatta aynı gözdeki irislerde görüntü titreşimlerine göre veya görüntü iris arası uzaklığa göre boyutu değişebilir. İriste yüksek derecede elastik bozulmalar yani eş merkezli olmayan iris ve pupil merkezleri eşleştirme sonuçlarını etkileyecektir. Bu yüzden daha doğru sonuçlar almak için eş merkezli olmayan iris normalizasyonu yapılmıştır.

Şekil 2.8: Dougman’ın lastik levha (Rubber Sheet) modeli

Şekil 2.8’ de görüldüğü gibi r ile ifade edilen nokta iris bölgesinin dış noktası ile iç noktası arasında kalan mesafedir. θ ise [0,2π] aralığında değer almaktadır. Bu dönüşüme ait eşitlikler aşağıdaki verilmiştir.

(2.8) (2.9) (2.10)

Burada, I(x,y) iris bölgesi görüntüsünü temsil etmektedir. (x,y) kartezyen koordinatlar, (r, θ) ise dönüştürülmüş polar koordinatları ifade etmektedir. xp, yp ve xi,yi ise θ açı yönünde yer alan iris ve pupil sınırlarının koordinatlarıdır. [14]

(26)

14 Bölütlenmiş iris resmi Dougman’ ın Lastik Levha Modeli ile normalize edilmiştir. Normalize edilmiş iris resmi Şekil 2.9’ deki gibidir.

Şekil 2.9: Eş merkezli olmayan iris normalizasyonu ve örnek normalize edilmiş resim

2.4.2. Göz Kapaklarının ve Kirpiklerin Kaldırılması

Gözkapakları konumlarının resimden resime değişmesi aynı göze ait iki resmin özellik vektörlerinin arasındaki uzaklığını arttırmakta, iris tanıma sistemini gürültülü resimlerde kullanılamaz hale getirmektedir.

Göz kapaklarının ve kirpiklerin bu etkisini azaltmak için normalleştirilmiş resimde 45 – 135o ve 210 – 330o arası sırasıyla yarıçapın yarısı ve yaklaşık dörtte üçü yüksekliğe kadar olan bölgedeki piksellerin değeri 0’ a eşitlenerek alt ve üst göz kapaklarının gelebileceği bölgeler kapatılır.Bu sayede göz kapakları ve kirpiklerin etkisi en aza indirilir.

Aşağıdaki şekilde belirtilen açılar arası kapatma yapılmış normalleştirilmiş iris resmi gösterilmiştir.

(27)

15 2.4.3. Yerel Histogram Eşitleme

Histogram eşitlemedeki amaç; görüntüdeki hatları iyileştirmektir. Olasılık dağılımına bağlı olarak doğrusal olmayan dönüşüm gerçekleştirilir. Bu sayede, bulunma olasılığı yüksek pikseller arası fazlaca açılırken, düşük olasılıklı seviyeler birbirine daha yakın hale gelirler. Olasılık yoğunluk fonksiyonu aşağıda verilmiştir.

(2.11) Burada,

cdf: Olasılık yoğunluk fonksiyonu M: İmgenin satır sayısı

N: İmgenin sütün sayısı

L: Giriş görüntüsündeki mümkün seviyelerin toplam sayısı

Daha net anlaşılması açısından Şekil 2.11’de, Eşitlik (2.11)’de verilen fonksiyona göre histogramı eşitlenmiş araba resmi verilmiştir.

Şekil 2.11: Histogramı eşitlenmiş örnek resim (a) Orijinal Resim (b) Histogramı eşitlenmiş resim

İris Tanıma’da normalizasyon fazından sonra kutupsal koordinatlara dönüştürülen iris bölgesine yerel histogram eşitlenmesi uygulanarak iyileştirme işlemi yapılmaktadır. Yerel histogram eşitlemesinde her bir piksel için, merkezinde kendisinin bulunduğu 25x25 piksellik bir imge bloğu üzerinde histogram eşitlemesi uygulanarak pikselin yeni değeri hesaplanmaktadır. Bu sayede iris desendeki değişimler (türev) yüksek olacağından daha belirgin hale gelecektir. Şekil 2.12’da normalize edilmiş iris desenine yerel histogram eşitlemesi uygulanarak kodlamaya hazır hale getirilmiştir.

(28)

16

Şekil 2.12: İrisin yerel histogramının eşitlenmesi (a) Bölütlenmiş iki ayrı iris resmi, (b) normalize edilmiş iris resimleri, (c) normalize edilmiş iris resimlerine yerel histogram eşitlemesi uygulanmış

resimler

2.5. Özellik Vektörü Çıkartma

Özellik çıkarma resmin bilgi veren kısımlarını sıkıştırılmış bir özellik vektörü olarak temsil ederek boyut düşürme gerçekleştirir. Bundaki amaç hızlı görüntü bulma ve eşleştirmedir. Bu tezde özellik çıkarma için resme Gabor filtresi uygulanmış, filtrelenen resim parçalara ayrılıp her parçanın ortalama mutlak sapması hesaplanarak bir özellik vektörü elde edilmiştir.

2.5.1. Çok Kanallı Gabor Filresi ( 2D Gabor Filtresi)

Gabor filtresi, görüntü işlemede doku analizi ve özellik çıkarmada yaygın olarak kullanılan önemli yöntemlerden bir tanesidir. Bu filtre yardımıyla bir görüntü üzerinde belli bir yöne uzanan ayrıtlar tespit edilebilmektedir. Bu özelliği sayesinde plaka tanıma, parmak izi tanıma, iris tanıma, yüz tanıma gibi görüntü işleme tekniklerine dayalı pek çok yöntem için önemli bir adım niteliğindedir.

Gabor filtresi ilk kez Gabor tarafından önerilip; darbe cevabı Gauss fonksiyonu ile kompleks dalgaların çarpılması sonucu elde edilmiştir. İris tanıma sistemlerinde 2D Gabor Filtresinin kullanılması John Daugman tarafından ilk kez 1994’ te önerilmiştir. Daugman’ın iris tanımada Gabor Filtresini kullanmasının sebebi Gabor filtresinin frekansının insanın optik sistemi ile benzerlik göstermesidir. Aşağıdaki resimde 2-D Gabor filtresi örneği gösterilmiştir.

(29)

17

Şekil 2.13: 2-D Gabor Filtresi örneği

Daugman’ın 2D Gabor filtre versiyonu olan sinüsoidal düzlem dalgası eliptik Gauss fonksiyonu tarafından modüle edilmiştir. 2D Gabor filtresinin resim üzerinden (x,y) konumunun açıklanışı şu şekilde verilebilir.

(2.12) Eşitlik (2.12)’de (x0,y0) resmin konumunu, (α,β) resmin efektif eni ve boyunu belirtir.

(u0,y0) resmin üç boyutlu frekansını ile konumunu belirliyor. [15-18]

Bu tezde 2-D Gabor Filtresinden yararlanarak özellik vektörü oluşturulmuştur. Bu özellik vektörü aşağıda verilmiştir.

(30)

18 2.5.2. Haar Dalgacık Dönüşümü

Alfred Haar tarafından 1910’da bulunmuştur. Hem güçlü hemde pedagojik olarak basittir. Temel Haar Dalgacığı parçalı sabit bir fonksiyondur. Eşitlik aşağıda verilmiştir.

(2.13)

Haar dalgacık dönüşümünde alçak geçiren filtreleme bitişik iki pikselin ortalaması alınarak yapılır. Yüksek geçiren filtrelemede ise bitişik piksellerin farkı alınır. Haar dalgacığı bir çift alçak geçiren ve yüksek geçiren filtreyi önce resmin satırlarına sonra sütunlarına bağımsız olarak uygular. Sonuç olarak birinci Haar dalgacığı seviyesinin çıktısı olarak 4 alt bant elde edilir. Bunlar LL1, LH1, HH1 ve HL1’ dir. Ayrıntı resmini elde etmek için 4 seviyeye kadar ayrıştırma yapılır.

Dalgacık dönüşümü resmi daha düşük çözünürlüklü yaklaşım olan (LL) ve aynı zamanda yatay (HL), dikey (LH) ve köşegen (HH) ayrıntı bileşenlerine ayırır. Daha sonra işlem tekrarlanarak çok ölçekli dalgacık ayrışımı hesaplanabilir. Aşağıdaki şekilde 3 ölçekli dalgacık dönüşümü gösterilmiştir. [19]

Şekil 2.15: 2-D Dalgacık ayrıştırması

2.5.3. 1-D Dalgacığın Sıfır Geçişleri (Zero-Crossings of the 1-D Wavelet)

Bu özellik çıkarımı Boles ve Boashash tarafından metot olarak sunulmuştur. Dalgacık yumuşatma fonksiyonunun 2. Türevi olarak tanımlanmıştır. Sıfır geçişleri her sonuçta kompleks sayılar takımının içinde bulunmakta ve resim tarafından özellik kodlama olarak kullanılmaktadır. Sıfır geçişleri; dalgacık dönüşümüne dayanarak iris bölgesini yaklaşık "fine-to-coarse (inceden-kalına)” kullanılarak daha basit veri şekline dönüştürmektedir.

2.6. Desen Eşleştirme

2.6.1. Öklid Mesafesi

Öklid uzaklığı matematikte iki nokta arasındaki uzaklıktır. Öklid uzayında K ve M noktaları arasındaki uzaklık aşağıda verildiği gibi hesaplanır.

(31)

19

(2.14)

Bu eşitlik sayesindeki iki iris resminin özellik vektörü arasındaki uzaklık hesaplanarak iki iris resmi arasındaki benzerlik bulunur. Bu tezde işlem kolaylığı bakımından ve Hamming mesafesine göre daha iyi sonuç verdiğinden dolayı Öklid mesafesi kullanılmıştır.

2.6.2. Hamming Mesafesi

Hamming mesafesi bilgisayar bilimlerinde aynı uzunluktaki iki dizgi (string) arasında, birbirine dönüşmesi için gerekli olan yer değiştirme sayısını verir. Yani basitçe bir dizginin diğer dizgiden ne kadar farklı olduğunu gösterir.

Örneğin aşağıda bazı dizgiler arasındaki Hamming mesafesi verilmiştir: 100011101  100101101 = 2

düğün  düşün = 1

Bu durum bir küp şeklinde düşünülebilir. Şekil 2.16’ de 3 bitlik bir sayısının Hamming mesafesi gösterilmiştir:

Şekil 2.16: Hamming mesafesini bulmak için 3 bit iki seviyeli küp

Yukarıdaki şekilde dikkat edilirse küpün 8 köşesine 3 bitlik sayının alabileceği her ihtimal yazılmıştır. Bu ihtimaller arasında geçiş için gereken değiştirme miktarı hep 1’dir dolayısıyla bu küp Hamming mesafesini gösteren bir küp olarak düşünülebilir.

Örneğin 010 sayısının 111 sayısına dönüşmesi küp üzerinde iki mesafe gerektirmektedir ve iki ayrı yoldan (011 veya 110) üzerinden ulaşılabilmektedir.

(32)

20

BÖLÜM 3. GRAFİKSEL KULLANICI ARABİRİMİ (GUI) TABANLI

UYGULAMA TASARIMI

Grafik arayüzü geliştirilmeden önce bilgisayarlardaki işlemler konsol ekranında yapılıyordu. Grafik arayüzü gelişmesiyle birlikte konsol ekranından yapacağımız birçok işlemi button, textbox gibi görsel araçlarla yapabilmemize olanak sağlandı.

Her bir grafik elementin (Push Button, Slider,Radio Button, Check Box, Edit Text, Static Text, Pop-up Menu, Listbox, Toggle Button, Table, Axes, Panel, Button Group, ActiveX Control) bazı özellikleri vardı(Inspector) . Bu özelliklerinde en önemlisi kullanıcı tarafından oluşturulan girdiye karşılık kod tarafından bir tetikleyici oluşturmasıdır. İstenildiğinde bu tetikçiler çalıştığında bu elementlerin özelliklerinde değişiklik yapılabilmektedir. Nasıl ki Türkiye Cumhuriyeti vatandaşı olan her birey benzersiz bir T.C. No verisine sahip ise bu elementler(nesneler) de benzersiz bir isime sahiptir. Bu isim kullanarak bu nesnelere istediğiniz değişikliği yapabilirsiniz.

3.1. Matlab GUI’ ye Giriş

Bu bölümde Matlab GUI ile ilgili uygulama ekranın açılması düzenlenmesi ile ilgili temel bilgiler adım adım verilecektir.

1. Adım: Matlab GUI Ekranının Açılması

(33)

21 Yukarıda görüldüğü gibi ” New > Graphical User Interface ” seçildiğinde veya konsola ” guide ” yazıp enter basıldığında ” GUIDE Quick Start ” ekranı açılmaktadır.

2. Adım: Boş bir GUI Penceresi Oluşturmak

Şekil 3.2: Boş GUI ekranı

Şekil 3.2’deki GUI ekranında OK tıklanarak içi tamamıyla boş olan bir ekran çıkacaktır.

3. Adım: Elementlerin Adlarını Görünür Yapma

Şekil 3.3: Matlab GUI’ de elementleri görünür yapma

Açılan yeni gui ekranından ” File > Preferences.. ” tıklayarak yukaridaki ekran açılır ve ” Show names in component palette ” seçili hale getirilir ve ok tıklanır.

(34)

22 4. Adım: Elementlerin GUI Penceresine Taşınması

Solda bulunan elementleri tutup sürükleyip sağdaki ekranın içine atarak matlab için grafiksel bir arayüz oluşturabilirsiniz.

Push Button: Basıldığında “ButtonDownFcn” ile button özelliğinden belirtilen “function pushbutton_ButtonDownFcn(hObject, eventdata, handles)” fonksiyonu çalıştırılmaktadır.

Slider: Kaydırma tuşu olarak kullanılmaktadır.

Radio Button: Seçim sırasında kullanılmaktadır.

Check Box: Birden fazla seçim için kullanılmaktadır.

Edit Text: Kullanıcıdan klavye verisi almak için kullanılmaktadır.

Static Text: Kullanıcıya yazı göstermek için kullanılmaktadır.

Pop-up Menu: Birden fazla yazı seçeneği tıklandığında açılmaktadır ve bunlar arasında mouse kullanılarak bir seçim yapmak için

kullanılmaktadır.

Listbox: birden fazla yazıyı liste şeklinde göstermek ve bunlara özel işlem yapmak için kullanılmaktadır.

Toggle Button: Button basıldığında veya basılmış button eski haline getirildiğinde çalıştırılacak ayrı fonksiyon çalıştırmak için

kullanılmaktadır.

Table: Verileri tablo şeklinde gösterme ve işlem yapmak için kullanılmaktadır.

Axes: Verileri grafik olarak göstermek için kullanılmaktadır.

Panel: Resim eklemek veya özel bir arkaplan oluşturmak için kullanılmaktadır.

Button Group: Radio button ve toggle button tek bir grup altında toplamak için kullanılır.

ActiveX Control: Özel işlemler için kullanılır.

(35)

23

Şekil 3.4: GUI elementleri

5. Adım: Elementlerin Özelliklerinin Ayarlandığı Ekran

Şekil 3.5: GUI elementlerinin özellikleri

(36)

24 3.2. Nesne Özellikleri

BackgroundColor: Arkaplan rengini ayarlar.

BeingDeleted: Nesnenin silinmesin izin verilmesini ayarlar. İzin verildiğinde (on) DeleteFcn ile ayarlanan fonksiyon çalıştırılır.

BusyAction:

‘queue’  tıklandığında kuyruğa alıp tüm tıklamaları sırayla yapar.

‘cancel’  daha önce çalıştırılan işlemi iptal ederek yeni bir işlem başlatır.

ButtonDownFcn: Mouse sağ tıklanmasında çalıştırılacak fonksiyonu ayarlar.

Callback: Mouse sol tıklamasıyla çalıştırılacak fonksiyonu ayarlar.

Clipping: Bu nesne uicontrol üzerinde hiç bir etkisi yoktur.

CreateFcn: Yeni bir nesne yaratıldığında çalıştırılacak fonksiyonu belirtir. İlk çalışma sırasında yeni nesneler yaratıldığı için çalışır.

DeleteFcn: Nesne silindiğinde çalıştırılacak fonksiyonu belirtir.

Enable: Nesneye erişip(on) erişilmemesini(off) belirtir.

Extent: Nesne üzerindeki yazının başlangıç değeri ve yazı büyüklüğünü belirtir. Değiştirilemez.

FontAngle: Nesnenin yazısını normal, italik ve eğik olarak ayarlar.

FontName: Nesnenin yazı fontunun hangisi olduğunu ayarlar.

FontSize: Nesnenin yazısının ne büyüklüğünü ayarlar.

FontUnits: FontSize hangi ölçü birimine göre yaptığını ayarlar.

FontWeight: Nesnenin yazısının kalınlığını ayarlar.

ForegroundColor: Yazı rengini ayarlar.

HandleVisibility: Seçilen nesneye ait tetikleyicilerin çalışıp çalışmayacağını belirler.

HitTest: Fare tıklaması ile seçilebilir. Bu özellik, uicontrol nesneler üzerinde hiçbir etkisi yoktur.

HorizontalAlignment: Nesne yazısının yatayda hizanlamasını ayarlar.

(37)

25

Max: Slider en büyük sayısını ayarlar.

Min: Slider en küçük sayısını ayarlar

Position: Nesnenin çalışma ekranındaki konumunu belirtir.

SelectionHighlight: Nesne seçildiğini görsel olarak göstermek için kullanılır.

SliderStep: Her bir tıklamada slider ne kadar artacağı veya azalacığını ayarlar.

String: Nesne üzerinde görünen yazıyı ayarlar.

Style: Nesnenin nasıl görüneceğini ayarlar.

Tag: Nesnenin benzersiz kimliğidir. Bu isim kullanılarak nesneye erişilir.

TooltipString: Nesnenin üzerine gidildiğinde gösterilecek yazıyı ayarlar.

UIContextMenu: Besne üzerine mouse sağ tıklama sırasında görünecek menü

ayarlar.

Units: Uzunluk birimini ayarlar.

UserData: Set ve Get ile program içinde kullanılan her nesne için özel bir

değişkendir.

Value: Nesnenin değeridir. Bir den fazla ekleyebilirsiniz.

Visible: Nesneyi görünmez ve kullanıcı tarafından erişilemez hale getirmek için

kullanılır.

Filename: Bağlı bulunduğu dosyanın yolunu gösterir.

Handlevisibility: Çizimleri figur penceresinde gösterir.(axes uygulamaları için

lazım) Menübar figure olarak ayarlarsanız standart figur menusunu programa ekler.

Paper: yazan tüm sekmelerde figürenin kağıt düzlemi ile ilgili bilgilerini girebilir

veya değiştirebilirsiniz

(38)

26 3.3. Editör

Matlab GUI nesnelerin her bir tetikleyicisi bir fonksiyon çalıştırmaktadır. Bu fonksiyonların belli bir formatı bulunmaktadır:

function fonksiyonAdı_tetikleyiciAdı(hObject, eventdata, handles)

hObject: tetikleme sırasında bu fonksiyonları kullanan nesnenin adı (özelliklerde

tag olarak belirtilen isim) erişilebilmektedir.

eventdata: tetikleme sırasındaki verilere buradan erişilebilmektedir.

handles: tetiklenen nesnenin tüm özelliklerine erişme ve gerekli değişikliği

yapma sağlanabilmektedir.

 Get Kullanımı: alinacak_veri = get(nesne,’özellik_adı’);  Set Kullanımı: set(nesne,’özellik_adı’, eklenecek_veri);

 Set Kullanımı: set(handles.nesne_tag,’özellik_adı’, eklenecek_veri);

3.4. GUI Uygulamalarında Callback Türleri

Callbackler önceki konularda da bahsedildiği üzere oluşan herhangi bir olaya bağlı olarak her nesne için ayrı ve olayın türüne göre icra edilen alt program parçalarıdır. Aşağıda sunulan tabloda kullnılan callbacklerin işlevi ve hangi nesneler ile birlikte kullanıldığı beliritilmiştir.

Bir m file dosya yapısı gereği bir GUI uygulaması tasarımında da aynı dosya ismini taşıyan fonksiyon ismi ile başlayan bir m function yapısına sahiptir. Ancak, giriş ve çıkış function varargout = DeneGui (varargin)

M function ilk satırında yer alan (yukarıda da ifade edilen deyimde de görüldüğü üzere) parametrelerinin dinamik olmasına dikkat edilmelidir. Yani, “varargin” deyimi ile giriş parametreleri hücre dizisi formatında birden fazla olabilir. Aynı, şekilde GUI uygulamasının kapatılacağı zaman aynı bir fonksiyon mantığı ile “varargout” dışarıya aktarılacak parametreler bu değişkene aktarılabilir.

Dışarıdan fonksiyon içerisine gönderilen giriş parametreleri ile ilgili bilinmesi gereken iki değişken vardır. Bunlar nargin ve varargin değişkenleridir.

nargin değişkeni: Fonksiyona (ya da GUI uygulamasına) dışarıdan gönderilen toplam parametre sayısını tutar.

vargin değişkeni: Fonksiyona gönderilen parametrelerin alınmasını sağlar. Hücre dizisi yapısında olduğundan parametrelerin alınması için dizi indislerinin “{“ ve ”}” işaretleri arasında yazılması gerekir.

Fonksiyonunun içinden dışarıya GUI uygulaması sonlandırılırken gönderilen çıkış parametreleri ile ilgili bilinmesi gereken iki değişkeni vardır. Bunlar nargout ve varargout değişkenleridir.

(39)

27

nargout değişkeni: Fonksiyona (ya da GUI uygulamasına) dışarıdan gönderilen toplam parametre sayısını tutar.

vargout değişkeni: Fonksiyondan dışarıya parametrelerin gönderilmesini sağlar. Hücre dizisi yapısında olduğundan parametrelerin bu değişkene atanması sırasında dizi indislerinin “{“ ve ”}” işaretleri arasında yazılması gerekir.

Aşağıdaki tabloda GUI uygulamalarındaki Callback fonksiyon türleri verilmiştir.

Tablo 3.1: GUI uygulamalarında callback türleri

CallBack Türü Tetiklendiği Olay Kullanıldığı Nesneler

ButtonDownFcn

Fare göstergeci Figure veya bir nesnenin kenarlarından 5 piksel içerde olduğunda fare butonu tıklandığında oluşur. UI control için Enable özelliğinin true olması gerekmektedir.

Axes Figüre

Button group Panel User interface controls

Callback

Nesnenin temel olayı. Örneğin bir push button tıklandığında ya da bir menü öğesi seçildiğinde oluşur.

context menu menu user interface controls

CloseRequestFcn Figure kapanmadan önce çalıştırılır.

Figure

CreateFcn

Bir nesnenin create edilmesi anında oluşur. Nesne

oluşturulduğunda initializing için kullnılabilir. Bu olay nesne create edilince ancak nesne GUI alanında

gözükmeden önce icra edilir.

Axes Figüre

Button group Context Menu

Menu Panel

user interface controls

DeleteFcn

Bir nesnenin kaldırılması anında oluşur. Herhangi bir nesne veya figure yok

edilmeden önce temizlemeye dayalı operasyonlarda

kullanılabilir.

Axes Figüre

Button group Context Menu

Menu Panel

User interface controls

KeyPressFcn

Fgure veya bir nesne focus (aktif) olduğunda veya klavyeden herhangi bir tuşa basıldığında oluşur.

Figüre

(40)

28 3.5. MATLAB GUI Uygulamalarında Etkileşim Kutuları Yönetimi

GUI uygulamalarının kullanıcılara sunduğu kolaylıklardan biri de kullanıcıların yapılan veya yapılacak işler ilgili uyarılması veya bilgilendirilmesi amacıyla kullanılan etkileşim kutularının kullanılmasıdır. Örneğin bir hata oluştuğunda bu durumu en temel anlamı ile GUI arayüzünde bir nesne kullanarak ve bu nesneye ait bir özelliği (örneğin renk gibi) değiştirerek kullanıcı bilgilendirilebilir. Ancak, bu yöntem etkin bir uyarma aracı olarak düşünülemez. Bunun yerine az önce bahsedildiği gibi örneğin bir hata penceresi ile hem kullanıcının başka işlem yapması engellenebilir (yani, uygulamanın arka plandaki arayüzü uyarı anında kilitlenebilir), hem de daha gerçekçi ve sade bir diyalog pencere görüntüsü kullanıcının Windows benzeri GUI tabanlı ortamlarda alışkanlıkların dışında tasarım ekranları ile karşılaşmamış olur. Ayrıca, etkileşim kutularının kullanımı ile programcının da GUI arayüzünde herhangi bir tasarım değişikliğine gitmesine fırsat verilmez, dolayısıyla daha etkin GUI tabanlı uygulama geliştirme imkânı sağlanmış olmaktadır.

Matlab ile hazırlanan GUI uygulamalrında kullanılabilecek etkileşim kutuları Tablo 3.2’de gösterilmiştir.

Tablo 3.2: Matlab ile tasarlanan GUI uygulamalarında kullanılabilecek etkileşim kutusu türleri Etkileşim Kutusu Türü Açıklama

errordlg Hata Penceresi helpdlg Yardım Penceresi inputdlg Veri Giriş Penceresi listdlg Liste Görünüm Penceresi printdlg Yazdırma Penceresi questdlg Sorgu Penceresi

uigetdir Klasör Yolu Seçme Penceresi uigetfile Dosya Açma Penceresi uiputfile Dosya Kaydetme Penceresi uisetcolor Renk Seçim Penceresi uisetfont Font Seçim Penceresi warndlg Uyarı Penceresi waitbar Yükleme Çubuğu pagesetupdlg Sayfa Yapısı Penceresi

msgbox Mesaj Kutusu

(41)

29 3.6. Nesne Uygulamaları

Push Button: Bu nesnenin temel özelliği tıklandığında “Callback” ile belirtilen

fonksiyonu çalıştırmasıdır. Fonksiyon çalıştığında “Fonksiyon Çalıştı…” mesajını vermesini sağlayalım.

function pushbutton1_Callback(hObject, eventdata, handles) msgbox('Fonksiyon Çalıştı...','Bilgilendirme Mesajı');

Slider: Aşağıdaki kodu Command Window ekranına yapıştırıp Enter’a basınız. Önceden

oluşturulmuş örnek çıkacaktır.

copyfile(fullfile(docroot,

'techdoc','creating_guis','examples',...

'globegui*.*')), fileattrib('globegui*.*', '+w') guide globegui.fig

Radio Button: Tıklandığında hangi radio button tıklandığı mesajı vermesini sağlayalım.

iki radio button olsun hangisi tıklanırsa onun adı mesaj olarak göstersin. İki tane Radio Button ekliyoruz. Inspector (Özellik) ekranından radiobutton1, birinci_radiobutton ve radiobutton2 ikinci_radiobutton olarak değiştirelim. Callback tıklayarak radiobutton değiştirildiğindeki tetikleyici fonksiyonu açınız.

birinci_radiobutton Callback fonksiyonu şu şekilde yazılmalıdır:

function birinci_radiobutton_Callback(hObject, eventdata, handles) tiklandi_mi = get(hObject,'value'); if tiklandi_mi == 1 msgbox('Birinci Seçildi'); set(handles.ikinci_radiobutton,'value',0); end

ikinci_radiobutton Callback fonksiyonu şu şekilde yazılmalıdır:

function ikinci_radiobutton_Callback(hObject, eventdata, handles) tiklandi_mi = get(hObject,'value');

if tiklandi_mi == 1

msgbox('İkinci Seçildi');

set(handles.birinci_radiobutton,'value',0);

end

Check Box: Tıklandığında hangi check box secildiğnde seçildi ve seçim kaldırıldığında

seçim kaldırıldı mesajı verelim. İki checkbox olsun hangisi tıklanırsa onun adı mesaj olarak göstersin. İki tane Check Box ekliyoruz. Inspector(Özellik) ekranından checkbox1,

(42)

30

birinci_checkbox ve checkbox2 ikinci_checkbox olarak değiştirelim. Callback tıklayarak Check Box değiştirildiğindeki tetikleyici fonksiyonu açınız. birinci_checkbox Callback fonksiyonu şu şekilde yazılmalıdır:

function checkbox1_Callback(hObject, eventdata, handles) tiklandi_mi = get(hObject,'value');

if tiklandi_mi == 1

msgbox('Birinci Seçildi');

else

msgbox('Birinci Seçim Kaldırıldı');

end

ikinci_checkbox Callback fonksiyonu şu şekilde yazılmalıdır: function checkbox2_Callback(hObject, eventdata, handles) tiklandi_mi = get(hObject,'value');

if tiklandi_mi == 1

msgbox('İkinci Seçildi');

else

msgbox('İkinci Seçim Kaldırıldı');

end

Edit Text ve Static Text: Edit text yazılan yazıyı static text yazdıran bir örnek yapalım.

Bir Edit Text ve Static Text ekleyelim. Edit Text Callback tıklayarak aşağıdaki fonksiyonu oluşturalım:

function edit1_Callback(hObject, eventdata, handles) girdi= get(hObject,'String');

set(handles.text1,'String',girdi);

Pop-up Menu: her tıklandığında tıklanan mesaj olarak gösteren ve item ekleyen bir

fonksiyon şu şekildedir(Pop-up Menu eklenir ve Callback tıklanır):

function popupmenu1_Callback(hObject, eventdata, handles)

tum_menu = get(hObject,'String'); secilen_index = get(hObject,'Value');

item_selected = tum_menu{secilen_index};

tum_menu{secilen_index} = [item_selected,' SEÇİLDİ']; tum_menu = [tum_menu;'Çağlar GÜL'];

(43)

31

Listbox: listbox İlk oluşturulduğunda yedi tane item ekleyeceğiz. Seçilen item silinecek

ve bunun bilgisini gösteren bir fonksiyon şu şekildedir:

function listbox1_CreateFcn(hObject, eventdata, handles) tum_menu = {'Birinci' 'İkinci' 'Üçüncü' 'Dördüncü' 'Beşinci' 'Altıncı' 'Yedinci'};

set(hObject,'String',tum_menu);

function listbox1_Callback(hObject, eventdata, handles) tum_menu = get(hObject,'String');

secilen_index = get(hObject,'Value'); item_selected = tum_menu{secilen_index}; tum_menu(secilen_index) = []

% Aşağıdaki kodu ile seçilen item değiştirilebilmektedir. % tum_menu{secilen_index} = [item_selected,' SEÇİLDİ'];

% Value değeri ayarlanmadığında en son değer kalır

% ama olmadığında hata verir. bu hatayı gidermek için 'Value',1);

% kodu yazılarak düzeltilir

set(hObject,'String',tum_menu,'Value',1); msgbox([item_selected,' Silindi ...']);

Toggle Button: Aktif hale getirildiğinde “AKTİFTİR” ve pasif hale getirildiğinde

“PASİFTİR” mesajını veren fonksiyon şöyledir:

function togglebutton1_Callback(hObject, eventdata, handles) durum = get(hObject,'Value');

if durum == get(hObject,'Max')

msgbox('AKTİFTİR');

elseif durum == get(hObject,'Min') msgbox('PASİFTİR');

end

Table: İlk yaratıldığında bazı veriler ekleyelim. (get ile veriler dizi olarak alınabilir ve

set ile veriler diziden aktarılabilir.)

function uitable1_CreateFcn(hObject, eventdata, handles) veriler = {'Birinci' 'İkinci' 'Üçüncü';'Dördüncü' 'Beşinci' 'Altıncı'};

set(hObject,'Data',veriler);

Axes: Oluşturulan grafikte tıklanan koordinatları gösteren fonksiyon şu şekildedir:

function axes1_ButtonDownFcn(hObject, eventdata, handles) pt = get(hObject,'CurrentPoint')

(44)

32

Panel: Statik bir görüntü sağlar. Tıklandığında mesaj gösteren fonksiyon:

function uipanel1_ButtonDownFcn(hObject, eventdata, handles) msgbox('panel tıklandı');

Button Group: Birden fazla radio veya toggle button olduğunda tek bir tane seçilmesini

sağlamaktadır. bir tane Button Group ekleyip üzerine iki tane Radio Button ve Toggle Button ekleyelim ve tıklananı mesaj olarak gösteren fonksiyon şu şekildedir.

function uipanel1_SelectionChangeFcn(hObject, eventdata, handles)

switch get(eventdata.NewValue,'Tag') % Get Tag of selected object.

case 'radiobutton1'

msgbox('Radio button1 seçildi...');

case 'togglebutton1'

msgbox('Toggle button1 seçildi...');

end

Verileri sabit diske kaydetme ve okuma: Bir listbox içerisindeki verileri kapandığında

kaydetmek ve açıldığında verileri tekrar yüklemek için bu fonksiyonlar kullanılır: function figure1_CloseRequestFcn(hObject, eventdata, handles) kaydetme.list = get(handles.listbox1,'string');

save('veriler.mat','kaydetme');

function listbox1_CreateFcn(hObject, eventdata, handles) load('veriler.mat');

(45)

33

BÖLÜM 4. MATLAB GUI’ DE İRİS TANIMA İÇİN ARAYÜZÜN

HAZIRLANMASI

Bu bölümde Matlab kullanılarak iris tanımada kullanılmak üzere hazırlanan bir GUI uygulamasının kullanımı, tasarımı ve programlanması hakkında bilgi verilmiştir.

4.1. Uygulamanın Hazırlanma Amacı

Uygulamamızın hazırlanma amacı algoritmalar ve yazılım sonucu oluşturduğumuz iris tanıma sisteminin kodsal yapıdan çıkartıp kullanıcıların rahatça kullanabileceği bir arayüz sunmaktır.

4.2. Uygulamanın Arayüzü

Uygulamanın grafiksel arayüzü (GUI alanı) Şekil 4.1’de gösterilmiştir.

(46)

34 4.3. Uygulamanın Kullanışı

Uygulamanın kullanılabilmesi için kullanıcıların uygulamanın sağ tarafında bulunan “KULLANICI EKLEME” bölümünden kullanıcı adını yazması ve iris resmini yüklemesi gerekmektedir. Bu bölümler doldurulup “KULLANICIYI EKLE” butonuna basıldıktan sonra otomatik olarak kullanıcılar alt taraftaki bölümde listelenecektir. İsteğe bağlı olarak bu kullanıcılar eklenip çıkartılabilmektedir.

Kullanıcılar eklendikten sonra sol tarafta bulunan “Gözat” butonuna tıklanarak herhangi bir kişinin iris resmi yüklenir ve “TANIMAYI BAŞLAT” butonuna basılarak tanıma algoritmaları çalıştırılır. Bu işlem sonucunda eğer yüklenmiş olan kişinin iris resmi veri tabanındaki hangi kullanıcının iris resmiyle eşleşiyorsa “DURUM” bölümünde bu kullanıcının ismi ve “Tanıma Gerçekleşti” yazacaktır. Aksi halde “Tanıma Gerçekleşmedi” yazacaktır.

(47)

35

BÖLÜM 5. SONUÇ VE ÖNERİLER

Bu tezde bir iris tanıma sistemi yazılımı ve kullanıcı arayüzü geliştirildi. Tezin amacı kullanımı kolay, yüksek güvenlikli ve akıllı evlere hitap eden ekonomik bir iris tanıma sistemi geliştirmekti. Yazılımın performansını test etmek için UBIRIS veri tabanı kullanıldı.

Biyometrik tanıma sistemlerinde en önemli performans ölçütleri FAR ve FRR’dır. FAR (False accept rate) hatalı kabul oranı demektir, doğruluk değeri eşik değerinin üstünde olup da veri tabanında olmayan gözlerin sayısının, test grubunda veri tabanında olmayan toplam insan sayısına oranıdır. FRR (false reject rate) hatalı ret oranı demektir, veri tabanında olduğu halde doğruluk değeri eşik değerinin altında olan gözlerin sayısının, test grubunda veri tabanında olan toplam insan sayısına oranıdır. Her ikisinin de olabildiğince düşük olması istense de FAR‘ın düşük olması daha önemlidir. Yüksek FAR güvenliğin çok az olduğu ve kolaylıkla istenmeyen kişilerin eve girebileceği anlamına gelir. FRR oranının yüksek olması ise kullanım kolaylığını azaltır, kullanıcının tekrar tekrar gözünü okutması gerekebilir. Başarılı bir iris tanıma sistemi FAR’ı minimuma indirgerken aynı zamanda kabul edilebilir bir FRR’a sahip olmalıdır.

UBIRIS veri tabanında test edilen yazılımla 100 farklı göze ait 500 resim için %8.47 oranında hatalı ret (FRR) ve %0.32 oranında hatalı kabul (FAR) elde edildi.

Eliptik İntegro-Diferansiyel Operatör kullanılarak göz kapaklarının merkez ve yarıçapları bulunup göz kapağının irisi kestiği yerler tam olarak tespit edilebilir. Bu sayede yalnızca bu bölgeler çıkartılarak bilgi kaybı azaltılabilir.

Görüntü eldesi için, göz ifrared ışıkla kullanıcıya rahatsızlık vermeden aydınlatabilir. Daha sonra infrared ışığa duyarlı bir kamera ve infrared geçiren filtre ile bu gözün resmi alınıp görünür ışıkta oluşabilecek gürültülerden arındırılmış bir iris resmi elde edilebilir.

Gambar

Tablo  1.1’  de  verilen  bu  karakteristikler  biyometrik  sistemlerin  karşılaştırılması  bakımından önemli bir role sahiptir
Şekil 1.2: İnsan gözü
Şekil 2.1: İris tanıma fazları
Şekil 2.3: Eşikleme uygulamış iris resmi a) Orijinal Resim b) Eşikleme yapılmış resim
+7

Referensi

Dokumen terkait

D.. 11 Akibat kerusakan hutan membunuh dan menghilangkan rumah bagi banyak satwa yang tinggal di dalam hutan tersebut. PG 11/C4 Disajikan cuplikan artikel, peserta

Download soal psikotes, Download soal psikotes dan jawabannya, download soal psikotes pdf, download soal psikotes gratis, download soal psikotes kerja pdf, download soal psikotes

DATA KELUARGA MISKIN PAKET SANDANG DAN PANGAN DESA BAGIK NYAKA SANTRI KECAMATAN AIKMEL TAHUN 2018.. NO NAMA NIK KEPALA RUMAH TANGGA

mengadakan pengamatan dan pencatatan di SMP Muhammadiyah 8 Surakarta untuk mendapatkan data, data yang dikumpulkan dengan metode ini adalah letak dan keadaan

Paduan Al, baja tahan karat dan paduan Zr adalah paduan logam yang mendukung komponen reaktor riset atau daya dalam bentuk tangki bertekanan, pipa, kanal

2. INDIKATOR PELAYANAN RUMAH SAKIT ... JUMLAH SARANA PELAYANAN MENURUT KEPEMILIKAN... SARANA PELAYANAN KESEHATAN SWASTA ... UPAYA KESEHATAN BERSUMBERDAYA MASYARAKAT ... TENAGA

Kajian nilai tambah dan potensi pengembangan agroindustri berbahan dasar apel (minuman sari apel, jenang apel, dan keripik apel) di kota batu jawa timur. Laporan

Oleh sebab itu, dalam penelitian ini peneliti memilih konsep I and me dari George Herbert Mead yang berusaha melihat dan mempelajari perilaku menyimpang sebagai