Implementasi dan Analisis Pembentukan Mask dan Pengaruh Perubahan Bentuk Wavelet Pada Kinerja Algoritma Ekstraksi Fitur dan Pencocokan Pola Iris Mata Berdasarkan Daugman (2004) Ahmad Arinaldi Departemen Teknik Elektro,Fakultas Teknik, Universitas Indonesia,Depok, Indonesia Email :
[email protected]
Abstrak Saat ini identifikasi manusia menjadi salah satu bidang penelitian yang berkembang dalam rangka menyelesaikan berbagai permasalahan yang terkait dengan keamanan dan pembatasan akses. Identifikasi perlu dilakukan baik dalam bidang pencatatan sipil (misal e-KTP), bidang keamanan (misalkan kunci biometrik). Tujuan skripsi ini adalah mengimplementasikan sebuah algoritma identifikasi iris dan menganalisis pengaruh proses pembentukan mask dan pengubahan bentuk wavelet pada kinerja algoritma pencocokan pola iris mata yang didasarkan algoritma Daugman yang dirilis pada 2004. Algoritma yang telah disusun dalam skripsi ini memiliki performa CRR 99.8 % (threshold = 0.678) dan EER 3.01 % (threshold = 0.648) dan dengan menambahkan suatu algoritma pembentukan mask dengan mengabaikan 4 posisi piksel yang bersebelahan dengan mask meningkatkan performa deteksi dari segi penerimaan palsu, yakni penerimaan palsu dapat diturunkan sampai 3 kali. Selain itu, algoritma yang telah disusun dalam skripsi ini bekerja paling baik dengan bentuk wavelet yang paling optimum untuk pencocokan iris mata berdasarkan berbagai wavelet yang dianalisis adalah wavelet Gabor.
Kata kunci — Teknologi Pindai Iris, Algoritma Daugman, Biometrik Iris, Transformasi wavelet Gabor
Implementation and Analysis of Mask Formation and wavelet Shape in the Performance of the Iris Biometric Recognition Algorithm Based on Daugman's Algorithm (2004) Abstract In recent years, human identification has become a major area of study. This is due to the increased focus on security and access limitation. Identification is needed in a wide range of areas, such as civil documentation (eKTP) and security (Biometric locks). The purpose of this work is to implement and analyze the effect of mask formation and wavelet shape on the performance of the iris matching algorithm based on Daugman's algotrithm released in 2004. The algorithm formulated in this work achieves CRR 99.8% (at threshold 0.678) and EER 3.01% (at threshold 0.648) and by using a masking algorithm which ignores 4 positions of pixels adjacent to the mask, false accept numbers can be improved 3 times, that is there are 3 times less false accept instances. It is also shown that from the various shapes of wavelets used, the wavelet that gives the best result in the algorithm formulated in this paper for iris matching is the Gabor wavelet. Keyword — Iris Scan, Daugman Algorithm, Iris biometric, Gabor wavelet Transform.
Pendahuluan Mata manusia memiliki berbagai fitur fisik yang menjadikannya cocok untuk melakukan identifikasi antara manusia yang satu dengan manusia yang lainnya. Dalam sebuah prespektif
Implementasi…, Ahmad Arinaldi, FT UI, 2014
biometrik, sebuah bagian mata yang sangat penting untuk dapat melakukan identifikasi adalah iris mata, yakni bagian mata yang berwarna dan membentuk suatu cincin mengitari pupil [1]. Pemakaian iris mata sebagai identifikasi individu dilakukan karena beberapa alasan berikut ini [2]: • Lebih robust, yakni data iris cenderung lebih tahan terhadap perjalanan waktu. Jaringan biologis yang membentuk iris mata berkembang sejak masih dalam kandungan serta tidak mengalami evolusi dengan bertambahnya usia. • Lebih unik, hal ini karena variasi pada pola iris mata manusia lebih banyak daripada variasi pada pola sidik jari manusia, sehingga untuk melakukan identifikasi, peluang terjadi iris mata manusia yang sama lebih kecil daripada peluang terjadi sidik jari manusia yang sama. Diantara berbagai metode biometrik non-kontak, identifikasi berdasarkan iris mata merupakan yang paling akurat sejauh ini [3]. Beberapa hal yang telah dicapai dalam bidang biometrik iris mata adalah penggunaan paket wavelet biortogonal untuk dekomposisi iris mata, yang dapat mencapai akurasi CRR (Correct Recognition Rate) 93% [4], penggunaan wavelet Haar untuk suatu algoritma dekomposisi cepat pola iris mata, yang dapat mencapai True Accept Rate (TAR) 82% dan True Reject Rate (TRR) 98.8 % [5]. Selain itu juga dikembangkan salah satu turunan keluarga wavelet Gabor, yakni wavelet Morlet untuk dekomposisi pola iris mata, yang dapat mencapai akurasi hingga CRR 99.946% [3]. Selain itu juga dikembangkan algoritma yang berbasiskan countourlet, dengan digabungkan dengan algoritma biomimetik untuk mencapai akurasi total CRR 99.6 % [6]. Selain itu, juga telah dikembangkan beberapa algoritma yang berkerja pada iris mata, seperti algoritma penajaman citra dan fusi fitur, yang masing - masing dapat memperoleh nilai akurasi CRR 98.74 % dan 98.15 % dengan EER (Equal Error Rate) 1.92% dan 3.19 % [7]. Selain itu, juga telah dikembangkan sebuah algoritma yang didasarkan pada wavelet Marr, dengan mencapai akurasi CRR 99.704 % [8].
Identifikasi Dengan Iris Mata A. Tranformasi Wavelet Sinyal dalam domain waktu yang merupakan kombinasi dari gelombang – gelombang dengan frekuensi konstan dapat diproses dengan cara FFT (fast fourrier transform). Namun,
Implementasi…, Ahmad Arinaldi, FT UI, 2014
Sinyal dalam dunia nyata biasanya memiliki konten frekuensi yang dapat berubah – ubah seiring dengan waktu, atau dengan kata lain memiliki pulsa-pulsa, anomali, atau “kejadian lainnya” dalam waktu – waktu yang spesifik. Kejadian-kejadian ini dapat bersifat teratur, transient ataupun noisy. Sinyal semacam ini dapat memberitahukan kepada kita mengenai lokasi suatu benda, kesehatan jantung manusia dan juga mengenai posisi dan kecepatan sebuah titik pada layar radar, perilaku pasar saham sampai dengan keberadaan simpanan minyak bumi yang terdapat dibawah tanah. Untuk sinyal – sinyal transient yang semacam ini biasanya lebih baik digunakan wavelet daripada FFT [9]. Dalam pengolahan sinyal, terkadang ditemui sebuah sinyal yang memiliki spektrum yang berubah seiring waktu (time varying). Untuk menghindari aliasing, sinyal tersebut harus disampel dengan nilai frekuensi sampling 2 kali frekuensi tertinggi. Oleh karena itu, dilakukan suatu proses multirate dalam analisis sinyal tersebut. Mekanisme untuk mancapai hal ini adalah dengan desimasi/downsampling dan interpolasi/upsampling. Salah satu metode yang dapat digunakan untuk melakukan interpolasi dalam pengolahan sinyal dijital adalah dengan melakukan upsampling by 2 dan kemudian melanjutkan dengan melakukan filter lowpass hasil tersebut. Melakukan upsampling berarti menambahkan nilai "0" diantara nilai nilai sinyal yang sudah ada. Hal ini perlu dilakukan untuk dapat melakukan "stretching" filter wavelet yang tidak didefinisikan oleh sebuah persamaan analitik [10]. B. Teknologi Scan Iris Teknologi scanning iris memanfaatkan fitur – fitur unik yang ada pada iris mata manusia untuk dapat melakukan identifikasi ataupun verifikasi seorang individu. Teknologi scan iris memiliki potensi untuk dapat memainkan suatu peranan yang besar dalam pasaran biometrik jika sistim dunia nyata dan solusi yang ada dapat memenuhi janji teoritis teknologi ini. Beberapa kekuatan scan iris adalah sebagai berikut ini: • Memiliki potensi untuk mencapai tingkat akurasi yang tinggi • Memiliki kemampuan identifikasi dan verifikasi yang handal • Dapat menjaga stabilitas karakteristik selama seumur hidup Sementara itu beberapa kelemahan scan iris adalah: • Akuisisi gambar memerlukan pelatihan dan perhatian SDM yang memadai • Memiliki kecenderungan untuk penolakan palsu (False Reject) • Diperlukan suatu devais yang khusus untuk melakukan akuisisi data
Implementasi…, Ahmad Arinaldi, FT UI, 2014
• Ada unsur ketidaknyamanan pengguna untuk teknologi berbasiskan mata Sebuah sistim scan iris, terdiri atas hardware akuisisi yang merupakan hardware front-end bersama dengan suatu software prosesing lokal atau sentral. Berbeda dengan scan wajah, yang dapat memakai teknologi kamera yang ada, aplikasi iris scan memerlukan sebuah devais khusus yang dapat memberikan iluminasi inframerah yang diperlukan. Devais ini dapat berupa kamera desktop, atau kamera khusus yang didesain untuk integrasi pada unit akses fisik dan ataupun kios [2]. C. Identifikasi Iris Mata Berdasarkan Daugman 2004 Mata manusia memiliki karakter-karakter visual yang dapat digunkan sebagai sebuah pembeda antara individu yang satu dengan yang lainnya [1][12]. Dari segi pandang biometrik, karakteristik visual mata yang sangat berguna dikarenakan sifat uniknya dan juga stabilitasnya, adalah pola iris mata. Iris merupakan bagian mata yang berwarna, yang membentuk suatu cincin yang mengitari pupil. Saat gambar diambil dengan resolusi yang cukup tinggi, iris akan menampilkan sebuah pola yang detil disebabkan oleh berbagai macam formasi jaringan yang ada pada iris mata tersebut. Termasuk didalamnya adalah ligamen otot yang mengendalikan pergerakan pupil, jaringan penghubung lapisan stroma, dan permukaan – permukaan anterior seperti lipatan dan kerutan. Efeknya, adalah struktur-struktur ini memberikan suatu signature unik kepada dunia luar. Algoritma identifikasi iris memungkinkan kita untuk memanfaatkan informasi yang tersedia didalam sebuah iris mata. Dalam kasus ini ,masalah iris dijadikan suatu permasalahan pencocokan (matching). Misalkan terdapat 1 atau beberapa template gambar sebuah iris, dan sebuah gambar yang diobservasi yang mungkin berasal dari iris yang sama, kemudian kedua gambar dibandingkan dan dihasilkan suatu nilai kesamaan yang menunjukkkan derajat kecocokan. Untuk mendapatkan identifikasi yang konsisten, proses matching harus menghasilkan nilai yang relatif tinggi, hanya jika sumber gambar merupakan iris yang sama. Tugas ini menjadi sulit saat ada variasi signifikan dalam reperesentasi pola iris yang sama. Variasi tersebut biasanya disebabkan oleh pergerakan pupil atau oklusi iris oleh kelopak mata, yang mana kedua hal ini merupakan tantangan utama dalam algoritma pencocokan iris.
Implementasi…, Ahmad Arinaldi, FT UI, 2014
Implementasi Algoritma Dalam Matlab Untuk menguji dan menganalisis algoritma yang telah dipelajari melalui studi literatur, dibuat sebuah simulasi program dalam MATLAB yang mengikuti algoritma tersebut. Algoritma yang dipilih untuk diimplementasikan adalah berdasarkan algoritma Jon Daugman 1993/2004 Algoritma tersebut diimplementasikan dalam matlab. Untuk melakukan fungsi diatas, maka suatu algoritma dibuat sebagai berikut ini: • Segmentasi dan normalisasi gambar iris mata Ø Melakukan invers gambar mata dan menentukan pusat mata Ø Penentuan jari - jari mata dalam dan luar Ø Perubahan koordinat kartesian menjadi polar • Analisis CWT dengan menggunakan wavelet Gabor • Enkoding berdasarkan fase hasil transformasi • Pencarian padanan optimum dan penentuan hamming distance/ nilai kecocokan A. Algoritma Menentukan Pusat Mata Algoritma pada Gambar 3.1. bekerja dengan mengecek tiap piksel untuk melakukan suatu hard thresholding dan melakukan perhitungan pusat massa. Untuk mencari pusat massa matriks tersebut, digunakan persamaan berikut ini [13] untuk pusat sumbu - x: !!"# =
!! !! !!! !! !⋯!!! !! !! !!! !⋯!!!
=
! ! ! !! ! !!
=
! ! ! !!
!
...
(1)
Dan untuk sumbu – y: !!"# =
! ! ! !!
!
...
(2)
Dalam persamaan tersebut, diasumsikan bahwa nilai piksel, yakni gelap atau terangnya piksel, merupakan "massa". Persamaan tersebut diimplementasikan dalam MATLAB secara looping, dengan counter baris dan kolom (yang akan melakukan penyusuran terhadap seluruh piksel gambar), yang dilakukan dua kali, yakni pertama untuk mencari pusat sumbu – x dan kedua untuk mencari pusat sumbu – y. Hasilnya diberikan pada Gambar 1.
Implementasi…, Ahmad Arinaldi, FT UI, 2014
Gambar 1. Citra Mata yang Telah dicari Pusatnya
B. Segmentasi Iris Secara umum, sebuah sistim kamera yang mengambil gambar iris tidak hanya mengambil gambar iris semata, tetapi juga mengambil gambar bagian – bagian lain mata, seperti pupil, bulu mata, dan kelopak mata yang tidak berguna dalam proses pencocokan. Oleh karena itu, diperlukan proses pemisahan antara bagian iris, dengan bagian lain gambar mata tersebut untuk membuang bagian yang tidak diperlukan. Dibawah ini terdapat 2 tahap yang dilakukan dalam proses segmentasi iris mata, yakni deteksi batasan iris dan pemetaan pola iris normalisasi [2]. 1. Deteksi Batas/ujung Daerah iris membentuk sebuah cincin yang dibatasi oleh pupil pada bagian dalam dan dibatasi oleh sklera pada bagian luar. Kedua batasan ini disebut sebagai batasan dalam dan batasan luar, yang menandakan daerah iris. Daugman (1993) [11] menyatakan bahwa lokasi kedua batasan ini dapat diaproksimasi dengan baik oleh 2 buah lingkaran. Model ini akan menyederhanakan deteksi batas untuk mencari dengan sebuah parameter vektor [1], v = [ x1 , y1, r1 , x2 , y2, r2 ]...
(3)
dimana pusat (x,y) dan radius lingkaran r mendeskripsikan tiap lingkaran yang ada. Dalam model batasan seperti ini, digunakan transformasi Hough melingkar (Duda dan Hart, 1972). Wildes (1997) mengaplikasikan transformasi Hough untuk mentransformasi ujung gambar mata, dengan asumsi bahwa kontras yang besar disepanjang batasan iris akan menghasilkan nilai konsentrasi yang tinggi pada titik – titik ujung. Secara alternatif, transformasi Hough
Implementasi…, Ahmad Arinaldi, FT UI, 2014
dapat diaplikasikan langsung pada gambar asli, sebagaimana diusulkan oleh Daugman (1993, 2001, 2004)[1][11]. Dalam kasus ini, batasan iris dipilih untuk memaksimalisasi gradien radial sebuah transformasi Hough Circular [1],
! , !, ! = arg max!,!,!
! !"
! !, !, ! ...
(4)
Dimana transformasi H (x,y,r) adalah suatu fungsi dari gambar mata yang asli E(x,y) yang didefinisikan sebagai [1]: ! !, !, ! ≜
!! !(! !
+ !"#$%, ! + ! sin !) !"..
(5)
Kedua batasan, yakni batasan dalam dari pupil ke iris dan batasan luar dari iris ke sklera dikarakterisasi oleh peningkatan level keterangan (gray) secara mendadak. Persamaan diatas berubah menjadi persamaan pencarian perubahan kontras yang paling tinggi seiring dengan ekspansi ke arah luar dari kontur lingkaran tersebut. Pencarian pertama kali dilakukan sepanjang daerah ruang Hough yang berkorespondensi dengan salah satu batasan (yakni batasan dalam). Setelah batasan dalam ditemukan, kemudian dipilih daerah yang cocok untuk menentukan batasan yang kedua (yakni batas luar). Dalam aplikasinya, ada banyak macam algoritma berbeda yang dapat digunakan. Salah satu contohnya adalah melakukan integrasi pada suatu interval sudut yang mana gangguan oleh kelopak mata minimal. 2. Normalisasi Setelah daerah iris berhasil ditemukan, langkah selanjutnya adalah untuk menormalisasi daerah iris untuk mengakomodasi dalam pembandingan antara pola iris. Beberapa algoritma berusaha untuk menormalisasi iris mata secara langsung dalam koordinat kartesian, sementara algoritma lain berusaha melakukan normalisasi dalam domain polar. Teknik normalisasi dalam domain polar dipopulerkan oleh Daugman [6], yang mengusulkan sebuah domain pseudo-polar untuk pola iris. Representasi in akan mengurai pola iris menjadi sebuah bentuk kotak (rektanguler) dengan ukuran yang konstan, dimana sumbu horisontal, yakni sumbu x adalah sumbu yang digunakan oleh sudut (θ) dan sumbu y, yakni sumbu vertikal merupakan sumbu yang digunakan untuk radius (r), yang mana nilai r tergantung kepada batasan – batasan yang berhasil dideteksi pada tahap deteksi ujung.
Implementasi…, Ahmad Arinaldi, FT UI, 2014
Pemetaan ke koordinat baru dilakukan sebagai berikut ini. Misalkan bahwa pusat batasan dalam yang berhasil dideteksi adalah (x1, y1), maka titik ini akan dijadikan sebagai titik pusat dari sistim koordinat polar yang akan digunakan. Kemudian dibuat sebuah garis keluar dari pusat ini pada sudut θ yang akan memotong batasan luar dan batasan dalam, yang mana kedua titik ini akan dilabel bin(θ) dan bout(θ). Untuk sebuah representasi batasan melingkar, titik – titik ini dapat dihitung memakai parameter lingkaran hasil estimasi, yakni [1], Bin(θ) = (x1 + r1cosθ , y1 + r1sinθ)...
(6)
Sementara itu titik batas luar juga dapat dihitung dengan parameter yang sama, namun sedikit lebih rumit karena batasan luar tidak konsentris dengan batasan dalam. Sebelum melakukan pemetaan ke koordinat polar, pertama dipilih dahulu suatu nilai resolusi anguler Δθ yang akan menempuh total 0 sampai 2π, dan sebuah resolusi radial Δr, yang akan berkisar antara 0 ke 1. Untuk menghitung nilai yang telah dipetakan untuk tiap titik diskrit (r,θ), dilakukan sampling gambar asli pada lokasi kartesian dengan rumus pemetaan [1]: (r,θ) à (1-r)bin(θ) + r bout(θ)....
(7)
Singkatnya, pada tiap sudut θ, pola iris di sampel secara uniform antara batasan dalam dan luar, dengan sampling rate diatur agar pola hasil normalisasi akan memiliki bentuk kotak yang tetap. Proses sampling, yang memerlukan interpolasi, dilakukan dengan resolusi yang halus agar tidak menghilangkan informasi frekuensi tinggi yang ada pada gambar aslinya. Untuk tahap ini, digunakan algoritma dari Prakash Manandhar (2009) [14]. Teknik ini akan menormalisasi untuk translasi global dan perubahan skala yang terjadi pada gambar aslinya. Kedua, juga akan menormalisasi rotasi iris yang disebabkan kemiringan kepala, yang akan menyebabkan pergeseran dalam arah anguler yang terjadi pada pola hasil pemetaan. Dan ketiga, domain polar sangat berguna dalam mengatasi masalah pergerakan pupil. Dilasi dan kontraksi pupil merupakan suatu reaksi involunter yang mengendalikan jumlah cahaya yang masuk kedalam mata. Hal ini terjadi saat otot dilator dan sphincter yang mengitari pupil berekspansi atau berkontraksi, sehingga menyebabkan batasan dalam iris mata berkspansi atau mengkerut relatif terhadap batasan luar. Hasilnya diberikan pada Gambar 2.
Implementasi…, Ahmad Arinaldi, FT UI, 2014
Gambar 2. Citra Iris Normalisasi
C. Masking Gambar Mata Ternormalisasi Dalam gambar mata ternormalisasi yang diperoleh pada segmen program sebelumnya, terlihat bahwa terdapat bagian – bagian pengganggu seperti alis mata, kelopak mata dan pantulan cahaya yang masih terdapat pada gambar iris mata normalisasi. Hal ini sangat tidak diinginkan karena akan mengganggu dalam tahap perhitungan kecocokan iris mata selanjutnya, dan oleh karena itu perlu dihilangkan dengan suatu algoritma masking. Algoritma masking yang digunakan akan mencari keberadaan piksel pengganggu, yakni piksel –piksel yang merupakan bagian dari citra alis mata, kelopak mata dan pantulan cahaya, dan kemudian memberikan nilai pada posisi piksel tersebut ‘0’. Selain itu algotima ini juga akan memberikan tetangga – tetangga piksel tersebut, yakni sejauh 9 arah, nilai '0'. Selain itu piksel selanjutnya juga diberikan sedikit pengurangan/penjumlahan nilai yakni sejauh 1%. Jika pemberian pengurangan nilai ini dilakukan karena jika suatu piksel telah teridentifikasi sebagai sebuah piksel pengganggu, maka probabilitas piksel tetangganya juga merupakan piksel pengganggu lebih besar, sehingga perlu diberikan pengurangan nilai piksel tetangga tersebut, selain itu hal tersebut juga untuk memuluskan transisi mask ke citra iris. Proses ini dapat dipandang sebagai sebuah proses seperti percentage thresholding, yang membuang nilai - nilai yang berada dibawah batasan threshold dan mengurangi sedikit nilai piksel sebelah yang tidak dibuang. Dalam menentukan parameter threshold, digunakan suatu parameter global yang ditentukan secara trial-error [15]. Hasilnya diberikan pada Gambar 3.
Gambar 3. Hasil Masking Iris Mata
D. Pencocokan Pola Iris Mata Tahap ini adalah tahap dimana kemiripan antara dua buah pola iris dihitung dan ditentukan. Meskipun identifikasi pola iris adalah suatu bidang yang relatif baru, namun telah diusulkan
Implementasi…, Ahmad Arinaldi, FT UI, 2014
berbagai macam algoritma pencocokan. Kebanyakan teknik ini memakai suatu metode ekstraksi fitur untuk mengkarakterisasi pola, dan kemudian menghitung jarak atau kemiripan antara kedua fitur untuk dilakukan perbandingan. Metode ekstraksi fitur dan komparasi Daugmann (1993) telah menjadi sebuah standard dalam bidang tersebut. Algoritma ini mentransformasi tiap pola iris menjadi sebuah set bit yang didasarkan pada analisis wavelet Gabor. 1. Encoding Iris Dengan Wavelet Gabor Misalkan terdapat sebuah pola iris yang telah disegemntasi dan dipetakan, yakni I(ρ,ϕ), dimana ρ adalah indeks dimensi radial dan ϕ adalah indeks dimensi anguler. Dalam tahap pertama proses enkoding, sebuah filter bernilai kompleks diaplikasikan pada pola tersebut. Filter yang digunakan adalah suatu bentuk wavelet Gabor spesifik yang memiliki sebuah bentuk esponensial kompleks dan sebuah amplop Gaussian, yakni [1]:
! ρ, ϕ = ! exp −
! !! !
!!!
!!
+ !! − !" !sin! − !" !cos! !
....
(8)
Dimana nilai ω dan θ menentukan lokalisasi frekuensi dari wavelet sementara nilai σ menentukan lokalisasi spasial envelope gaussian tersebut. Konstanta A menentukan amplitudo dari wavelet. Untuk filter, digunakan fungsi dari Ahmad Poursaberi, 2004 [16]. Dengan mengaplikasikan filter ψi pada pola iris yang berlokasi di (ρ0, ϕ0), akan menghasilkan sebuah nilai kompleks tunggal c, yang merupakan koefisien transformasi, yakni [1]: !! ρ! , ϕ! =
ρ
ϕI
ρ, ϕ ψ! (ρ − ρ! , ϕ − ϕ! )ρ.
....
(9)
Terlihat bahwa produk dalam diberikan bobot oleh radius ρ, untuk menkompensasi pengurangan intensitas sampling pada nilai radius yang lebih tinggi. Set total nilai kompleks yang dihasilkan bank filter wavelet tersebut adalah {ci (ρj, ϕj) : i = 1….. N, j = 1 …..M} untuk N wavelet dan M posisi spasial. Langkah kedua proses enkoding akan mengkuantisasi tiap respon kompleks menjadi 2 bit, yakni b1 dan b2. Kedua bit ini ditentukan oleh kuadran dari fase kompleks yang dihasilkan dan dituliskan [1]:
Implementasi…, Ahmad Arinaldi, FT UI, 2014
!! =
0, !"#$ riil ! ≤ 0 dan 0, !"#$ riil ! > 0
!! =
0, !"#$ imajiner ! ≤ 0 ... 0, !"#$ imajiner ! > 0
(10)
Pemakaian fase dan bukannya modulus (magnitude) dalam enkoding menjadi kode biner dilakukan karena berdasarkan penelitian Daugmann (2004) [11], fase cenderung lebih tahan terhadap perubahan – perubahan yang terjadi dalam kondisi pencahayaan (gelap/terang) dibandingkan dengan modulus yang dengan cepat berubah saat kondisi pencahayaan bervariasi. 2. Pencarian Padanan Optimum Semua bit hasil kuantisasi digabungkan sehingga menjadi suatu “iris code”, yang dapat dianggap sebagai sebuah deskriptor unik dari pola iris tersebut. Misalkan q merupakan sebuah vektor yang memuat semua bit dalam kode iris, maka urutan bit tak masalah selama tetap konsisten unutk semua gambar. Tiap pola iris juga memiliki sebuah vektor terkait yang disebut vektor “mask” yang memuat bit m dan berukuran sama dengan q. Fungsi mask ini adalah untuk mengidentifikasi bagian mana dari kode iris yang tidak perlu dipakai dalam proses identifikasi (misal karena terpengaruhi kelopak mata. Tiap bit mask diset menjadi 0 bila kode bit iris dihitung pada suatu lokasi kelopak mata dan 1 bila tidak terpengaruh kelopak mata). Daerah kelopak mata diidentifikasi oleh sebuah algoritma deteksi selama proses preprosesing [2]. Saat membandungkan dua buah kode iris q1 dan q2, maka ketidaksamaan antara keduanya diukur dengan jarak Hamming ternormalisasi antara kedua kode. Pertama, kedua masknya dikombinasikan dengan sebuah logika AND, ( m = m1 ∧ m2 ). Kemudian dengan menyusun semua vektor sebagai kolom vektor, maka ketidaksamaan akan dihitung sebagai [1]:
d=
!! !"# (!! ,!! ) !! !
...
(11)
Operasi ini akan mengembalikan rasio bit-bit yang berbeda, namun hanya diatas bit-bit yang tidak diblok oleh mask. Sebagaimana disebutkan sebelumnya, rotasi yang terjadi pada
Implementasi…, Ahmad Arinaldi, FT UI, 2014
gambar mata asli akan menyebabkan suatu shift rotasi gambar iris tersegmentasi sepanjang sumbu radial. Efek ini dapat dikompensasi dengan mengecek ketaksamaan sepanjang rentang beberapa shift, dan mengambil nilai ketidaksamaan yang paling kecil.
Misalkan q(k)
merepresentasikan sebuah kode pola iris yang telah mengalami shifting sepanjang sumbu radial sejauh k. misalkan pula m(k) merepresentasikan shift yang sama terhadap nilai mask, maka nilai ketidaksamaan akan dirumuskan sebagai berikut [1]: !
d = min!
!(!) !"# (!! (!) ,!! ) !
!(!) !(!)
...
(12)
dimana m(k) = m1(k) ∧ m2. Secara ringkasnya proses ekstraksi mengkonversi sebuah pola menjadi suatu set data bit yang menggambarkan karakteristik tekstur, dan proses matching dilakukan dengan perbandingan bits yang sesuai dengan bits yang tidak sesuai, yang akan menghasilkan suatu nilai kecocokan antara kedua kode tersebut. Dalam penentuan kecocokan iris mata, digunakan nilai kecocokan yang paling optimum (hamming distance terkecil) antara berbagai posisi shifting kode biner iris mata. Batasan yang digunakan adalah nilai kecocokan sekitar 0.68, atau antara 0.66 sampai dengan 0.74 (hamming distance
berkisar
antara
0.26
sampai
dengan
0.34)
yang
dianjurkan
literatur[11][12][17], yakni apabila dihitung nilai kecocokan telah melampaui 0.68, maka kedua gambar iris ternormalisasi akan disimpulkan sebagai gambar yang berasal dari iris yang sama oleh program tersebut, sementara itu jika nilai kecocokan dibawah 0.68 (hamming distance lebih besar dari 0.32) maka keduanya akan disimpulkan berbeda.
Analisis dan Hasil Percobaan Dalam percobaan ini, digunakan database miliki CASIA (Chinese Academy of Sciences Intelligence and Automation) versi pertama. Digunakan sebanyak 161 citra mata dari 36 orang yang berbeda (masing - masing antara 4-5 citra), dengan jumlah total kombinasi citra yang berasal dari orang yang berbeda sebanyak 12581 dan jumlah kombinasi citra yang berasal dari mata yang sama sebanyak 299. Hal ini dihitung dengan persamaan kombinasi:
Implementasi…, Ahmad Arinaldi, FT UI, 2014
!"#$% !"#$%&!"# =
! !!! !!
=
!"! !"# !
12880 !"#$%&'(% ...
(13)
Hal ini dilakukan untuk memenuhi persyaratan statistik, yakni untuk mendapatkan data yang lebih lengkap, ukuran sampel perlu diperbesar sehingga menjadi lebih dari 30 sampel. Hal ini berdasarkan pada teori limit pusat, yang menyatakan bahwa apabila digunakan suatu jumlah sampel yang cukup besar, maka akan diperoleh suatu distribusi yang mendekati sebuah distribusi normal. Hal ini berkonsekuensi apabila terdapat suatu sampel acak X1, X2, ..., Xn diambil dari sebuah distribusi dengan mean µ dan variansi s, maka jika nilai n cukup besar, teorema limit pusat menyatakan bahwa ! akan dapat diaproksimasi oleh sebuah distribusi normal dengan parameter:
!! = ! dan !!! =
!! !
. ..
(14)
dimana semakin besar nilai n yang digunakan maka nilai aproksimasi yang diperoleh akan semakin baik. Dari literatur, diketahui bahwa nilai kecocokan kode iris mata (dalam hal ini kode biner 5120 bits) dapat dimodelkan oleh sebuah distribusi binomial, sehingga cocok untuk diaproksimasi berdasarkan teori limit pusat [19]. Hal ini karena pada saat mencocokan kode iris mata, digunakan operator XOR, yang akan menghasilkan keluaran '1' jika kedua bit masukannya berbeda dan menghasilkan keluaran '0' jika kedua bit input bernilai sama. Hal ini akan menghasilkan Hamming Distance diantara kedua kode iris tersebut (ukuran mengenai jumlah bit yang berbeda antara kedua kode), yang jika dibagi dengan jumlah total bit yang dipakai akan menjadi nilai Hamming Distance fraksional. Hamming distance fraksional akan berkomplemen dengan nilai kecocokan iris mata, yakni: Kecocokan = 1 - Hamming Distance....
(15)
Dalam pembahasan selanjutnya, digunakan nilai kecocokan untuk menggambarkan hasil pencocokan kedua kode iris mata. Untuk menguji program, dimasukkan set pasangan mata (dari total jumlah mata yang berbeda 36 sampel (orang), 161 jumlah citra mata keseluruhan) yang telah diketahui asal masing - masing gambar dalam set tersebut. Jika masukan merupakan suatu set pasangan gambar yang mana anggotanya diketahui berasal dari mata
Implementasi…, Ahmad Arinaldi, FT UI, 2014
yang berbeda, diharapkan program memberikan hasil keluaran kecocokan yang kecil (nonmatch), sementara itu jika masukan merupakan set pasangan gambar yang mana anggota set tersebut diketahui berasal dari mata yang sama (hanya berbeda saat pengambilan gambarnya), maka diharapkan program memeberikan nilai keluaran kecocokan yang besar (match). A. Analisis Pengaruh Tahap Masking pada Performa Algoritma Dilakukan beberapa metode untuk dapat menghilangkan bagian - bagian yang mengganggu dalam citra iris mata yang telah dinormalisasi. Metode yang dilakukan antara lain adalah metode 1) tanpa masking, 2) dengan masking yang tidak diolah lebih lanjut, 3) dengan masking dengan menghaluskan ujung mask menggunakan filter block averager dan Gaussian, 4) serta dengan masking namun dengan mengabaikan bit - bit yang berasal dari piksel - piksel yang bersebelahan dengan mask dan kemungkinan besar terdistorsi, baik sebanyak 8 posisi piksel dan 4 posisi piksel. Hasilnya dibahas dan dianalisis dari segi distorsi yang terjadi dan performa true accept dan true reject masing - masing metode tersebut. Dalam menentukan threshold pembuatan keputusan, nilai threshold ditentukan berdasarkan hasil simulasi, dengan mencoba mencari nilai threshold yang optimum untuk kondisi tersebut dan dengan mengikuti literatur [6]. Hasilnya diberikan Pada Tabel 1. Tabel 1. Kinerja Algoritma dengan Berbagai Skenario Masking Metode
TR (1-FA) dalam %
TA (1-FR) dalam %
1. Tanpa Masking.
99.52
95.65
2. Masking yang tidak dihaluskan ujungnya.
95.62
94.65
3. Masking yang ujungnya dihaluskan dengan block averager.
96.08
95.99
4. Masking yang ujungnya dihaluskan dengan Gaussian.
94.08
93.65
5. Masking yang tidak dihaluskan ujungnya, namun 8 bit yang bersebalahan dengan mask diabaikan.
98.34
93.31
6. Masking yang tidak dihaluskan ujungnya, namun 4 bit yang bersebalahan dengan mask diabaikan.
99.84
93.65
Implementasi…, Ahmad Arinaldi, FT UI, 2014
B. Hasil dan analisis pengaruh bentuk wavelet terhadap kinerja pencocokan iris mata Selain dengan menganilisis tahap masking citra iris mata, dalam skripsi ini juga dilakukan mengenai analisis terhadap bentuk wavelet yang digunakan untuk menganalisis citra iris mata. Berdasarkan literatur, bentuk wavelet juga memainkan peranan penting dalam menganalisis suatu sinyal, yang mana pemilihan bentuk wavelet yang sesuai akan dapat dengan baik menggambarkan fitur-fitur yang menjadi karakteristik suatu iris mata [10]. Untuk mencoba mencari bentuk wavelet yang dapat menggambarkan dengan baik karakteristik suatu citra iris mata, dicoba menggunakan beberapa bentuk wavelet berikut ini: •
Analisis dengan wavelet Db4
•
Analisis dengan wavelet Mexican Hat
•
Analisis dengan wavelet Biortogonal 3-9
•
Analisis dengan wavelet Db20
Hasil percobaan untuk berbagai skenario bentuk wavelet yang digunakan diberikan dalam Tabel 2. dan diberikan gambar hasil dekomposisi dengan wavelet Gabor pada Gambar 4. Tabel 2. Perbandingan berbagai bentuk Wavelet Wavelet
TR (1-FA) dalam %
TA (1-FR) dalam %
1. Gabor, Tanpa Masking.
99.52
95.65
2. Db4, Tanpa Masking.
87.67
79.60
3. Mexican Hat, Tanpa Masking.
85.84
80.04
4. Biortogonal 3-9, Tanpa Masking.
80.02
83.28
5. Db20, Tanpa Masking.
79.35
77.82
6. Haar, Tanpa Masking.
62.36
82.94
HasilKoefisien Analisa Filter GaborGabor Wavelet Analisa Phasa
10 20 30 40 20
40
60
80
100
120
Analisa Koefisien Filter Gabor Modulus Gbr. 4. Hasil Analisis Dengan Wavelet Gabor 10 20 30 40 20
40
60
80
100
Implementasi…, Ahmad Arinaldi, FT UI, 2014
120
C. Hasil Pencocokan dengan Menggunakan Database yang Lebih Besar Dari hasil yang diperoleh pada bagian 4.1. dan 4.2. terlihat bahwa metode pencocokan yang memberikan hasil yang paling memuaskan adalah metode pencocokan dengan masking dengan mengabaikan empat posisi piksel terdekat dan betuk wavelet yang digunakan adalah wavelet Gabor. Untuk menentukan apakah benar bahwa threshold yang diperoleh pada bagian 4.1.6. berdasarkan persamaan 4.4., yakni nilai threshold = 0.678 merupakan nilai threshold yang optimal untuk skenario tersebut, maka dilakukan pengujian menggunakan database yang diperbesar. Database yang diperbesar tersebut terdiri atas gambar citra mata dari 60 orang, dengan total gambar sebanyak 246 buah. Dengan persamaan 4.1., maka total kombinasi yang dapat diperoleh adalah 30.135 kombinasi. Hasil perolehan data dengan menggunakan database yang diperbesar ditunjukan pada Tabel 3. Tabel 3. Hasil Percobaan dengan Database 60 orang berbeda Parameter FA TR FR TA
Jumlah 41 29658 34 402
Total Pencocokan 29699 (Antar Kelas) 29699 (Antar Kelas) 436 (Sama Kelas) 436 (Sama Kelas)
Persentase 0.14% 99.86% 7.79% 92.21%
Terlihat dengan menambahkan jumlah data dalam database yang digunakan, nilai FA dan FR pada skenario tersebut dapat dipertahankan. Selanjutnya dilakukan juga pengujian dengan database yang lebih besar lagi, yakni database mata 80 orang yang berbeda, dengan jumlah gambar yang dicocokan sebanyak 340 file. Dengan database tersebut, dapat dilakukan sebanyak 57630 kali pencocokan, dengan jumlah pencocokan antara mata yang berbeda 56995 kali dan pencocokan antara mata yang sama 635 kali, dan seperti sebelumnya digunakan threshold 0.678. Hasilnya diberikan pada Tabel 4. Tabel 4. Hasil Percobaan dengan Database 80 orang berbeda Parameter FA TR FR TA CRR (Correct Recognition Rate)
Jumlah 73 56922 42 593 57515
Total Pencocokan 56995 (Antar Kelas) 56995 (Antar Kelas) 635 (Sama Kelas) 635 (Sama Kelas) 57630
Implementasi…, Ahmad Arinaldi, FT UI, 2014
Persentase 0.13% 99.87% 6.61 % 93.39 % 99.80%
EER (Equal Error Rate) ;Threshold = 0.648
3.01 %
Hasil EER 3.01% dianggap cukup baik untuk sebuah sistem biometrik skala kecil dan menengah [7]. Waktu jalan program dengan algoritma yang telah disusun dalam skripsi ini diberikan dalam Tabel 5. Tabel 5. Waktu Jalan Algoritma Identifikasi Iris Mata yang disusun (Termasuk Masking)
Jumlah Pencocokan
Waktu jalan keseluruhan
30135 57630 Rata - rata waktu / pencocokan Waktu 1 kali ekstraksi fitur
50.400 detik 84.600 detik 1.579 detik
Waktu jalan/ pencocokan 1.672 detik 1.468 detik
0.7895 detik
Kesimpulan 1. Dalam Skripsi ini telah disusun sebuah algoritma berdasarkan algoritma Daugman dengan nilai CRR = 99.80% (TAR = 99.87% dan TRR = 93.39%, pada Threshold 0.678) serta memiliki EER = 3.01% (pada Threshold 0.648). 2. Algoritma yang disusun dalam skripsi ini memiliki kinerja lebih baik apabila dibantu dengan sebuah algoritma soft masking yang dapat membuang bagian - bagian pengganggu yang masuk dalam suatu citra iris yang telah dinormalisasi (seperti kelopak mata, alis dan pantulan sinar). Dalam hal ini, untuk memperoleh hasil yang optimal, algoritma soft masking tersebut diimplementasikan dengan tambahan pengabaian 4 posisi piksel yang bersebelahan dengan mask yang dibuat, dimana dalam hasil percobaan, diperoleh hasil penurunan jumlah False Accept (FA) sebesar 3 kali lipat (dari tanpa masking yang berjumlah 60 kejadian menjadi 20 kejadian dengan pemakaian suatu algoritma masking dengan pengabaian 4 posisi piksel yang bersebelahan dengan mask), dimana threshold optimum yang digunakan adalah 0.678.
Implementasi…, Ahmad Arinaldi, FT UI, 2014
3. Berdasarkan algoritma yang disusun dalam skripsi ini, hasil paling baik dicapai apabila diimplementasikan dengan menggunakan wavelet Gabor, sebagaimana diusulkan oleh Jon Daugman. Dalam hal ini, algoritma yang diimplementasikan dengan menggunakan wavelet Gabor memiliki nilai False Accept dan False Reject yang terkecil dibandingkan dengan wavelet lain yang digunakan dalam percobaan. Daftar Referensi [1] Nalini , K.R. , Govindaraju, V. 2008. Advances in Biometrics : Sensors , Algorithms and Systems. London: Springer – Verlag. [2] Nanavati, S., et al. 2002. Biometrics : Identity Verification in a Networked World. New York : Wiley Computer Publishing. 2002. [3] L. Zhonghua, L. Bibo. 2010. Iris Recognition Method Based on the Coefficients of Morlet wavelet Transform. ICICTA, 2010 : 576 - 580. [4] S. Hariprasath, S. Venkatasubramaniam. 2010. Iris Pattern Recognition Using Biorthogonal Wavelet Packet Analysis. ICCCCT, 2010 : 830 - 834. [5] Tze Weng Ng, Thien Lang Tay, Siak Wang Khor. 2010. Iris Recognition Using Rapid Haar Wavelet Decomposition. International Conference on Signal Processing Systems (ICSPS), 2010 : 820 - 823. [6] Zhai, Y., Gan, J., Zeng, J., Xu, Y. 2010. A Novel Iris Recognition Method Based on the Contourlet Transform and Biomimetic Pattern Recognition Algorithm. International Conference on Signal Processing Systems (ICSPS), 2010 : 1390-1393. [7] Radu, P., Sirlantzis, K., Howells, W.G.J., Hoque S., Deravi F. 2012. Image Enhancement vs Feature Fusion in Colour Iris Recognition. International Conference on Emerging Security Technologies, third 2012 : 53 - 57. [8] L. Zhonghua, L. Bibo. 2009. Adaptive Iris Recognition Method Based on the Marr Wavelet Transform Coefficients. IEEE 2009. [9] Tang, Y.Y., et al. 2009. Wavelet Theory and its Application to Pattern Recognition. Singapore : World Scienctific. [10] Fugal, D.L. 2009. Conceptual Wavelets in Digital Signal Processing. Space and Signals Technologies, LLC. [11] Daugman, J. 2004. How Iris Recognition Works. IEEE Transactions on Circuits and Systems for Video Technology, Vol. 14, No.1.
Implementasi…, Ahmad Arinaldi, FT UI, 2014
[12] Khaw, P. 2002. Iris Recognition Technology for Improved Authentication. SANS Institute. [13] R.A. Serway, Jewett J.. 2006. Physics : For Scientists and Engineers 6th ed. Thomson Brooks – Cole : New York. 2006. [14] Prakash Manandhar. 2009. Image Cartesian to Polar. Mathwork Central. Diakses pada Juli 2013. [15] Rafael Gonzales, Richard Woods, Steven Eddins. 2004. Digital Image Processing using MATLAB. New Jersey. [16] Ahmad Poursaberi. 2004. Gabor Filter in MATLAB. Mathwork Central. Diakses pada Juli 2013. [17] Savvides, M. 2009. Introduction to Biometric Recognition Technologies and Application. Carnegie Melon Cylab and ECE. [18] Svetlana N.Y., Patrick S.P. Wang, Marina L., Sargur N. 2007. Image Pattern Recognition: Analysis and Synthesis in Biometrics. World Scientific series in Machine Perception and Artificial Intelligence : New Jersey. [19] Devore, Jay L. 2009. Probability and Statistics for Engineers and the Sciences. Brooks/Cole: Boston, USA. [20] "CASIA Iris Image Database - Version 1.0". http://www.sinobiometrics.com/. 2007. Diakses pada Februari 2014. [21] "CASIA Iris Image Database - Version 2.0". http://www.sinobiometrics.com/. 2007. Diakses pada Februari 2014.
Implementasi…, Ahmad Arinaldi, FT UI, 2014