HUMAN IRIS IDENTIFICATION ALGORITHM BASED ON IMAGE PROCESSING USING GABOR ANALYSIS FOR AOI Hendro Nurhadi, Yogi Wardana Teknik Mesin FTI-ITS, Surabaya Kampus ITS Sukolilo Surabaya 60111 E-mail:
[email protected]
Basic Need in area of biomedical application is to identify and measure characteristic. Referred to these basic needs is there for an AOI ( Automated Optical Inspection ) developed. An Identification Algorithm For AOI Based On Image Processing Is Then Required. Biometric pattern recognition is a reliable and difficult to be imitated system, thus fits to be used as an identification tract. Physiological characteristic covers physical features which is relatively more stable than the behavioral one. In this project, property that would be studied is the iris pattern of the eye. Iris texture has a unique and different from one to another, even a man’s right eye would be quite contrast from his left. Iris pattern recognition consists of eye images inputting, preprocessing eye images, texture analysis, and recognition process. Algorithm used to extract the features is a Gabor filter that brings out features constituted as values of mean and standard deviation. The recognition step uses Euclidean Distance method. The most minimum distance value is chosen to be the closest with the one in the database. The software attains its success rate of 90.5 %.Mistakes probably will occur because of the iris pattern similarities from one to another. Keywords: Gabor Filter, Euclidean Distance, Biometrics, AOI, Image Processing, Iris.
pada tahap pre-processing dan analisa tekstur. Ichsan [1] melakukan penelitian tentang sistem identifikasi seseorang berdasarkan iris mata dengan metode filter multi-channel gabor dan proses pencocokan dengan Weighted Euclidean Distance. Ekstraksi fitur yang digunakan dalam penelitian Ichsan mengunakan variasi frekuensi 2, 4, 8, 16, 32 dan 64 degree dimana masing- masing pusat frekuensi dilakukan pada sudut 00, 450, 900, dan 1350. Sehingga akan menghasilkan 24 output gambar dan 48 fitur yang berupa nilai mean dan standar deviasi. Pengujian dilakukan terhadap 8 sample mata dengan 7 gambar mata yang sama pada setiap sample sehingga jumlah mata ang diuji berjumlah 56 gambar mata, satu gambar mata dari masing–masing sample disimpan dalam database. Hasil yang dipaparkan adalah semakin besar nilai frekuensi dan sudut yang digunakan,
Pengenalan pola secara biometrik merupakan sistem yang handal dan sulit ditiru sehingga cocok untuk digunakan sebagai sistem identifikasi. Beberapa contoh biometrik antara lain: geometri tangan, sidik jari, suara, retina, tandatangan, muka dan iris. Iris merupakan salah satu bagian tubuh manusia, letaknya terlindung oleh kornea dan aquaeus humor, memiliki pola yang unik sehingga cocok untuk digunakan sebagai pengenalan identitas. Struktur iris mata setiap orang berbeda. Pada kasus anak kembar, meskipun memiliki kesamaan fitur genetika, tetapi iris mata mereka berbeda bahkan antara iris pada mata kiri dan kanan. Dengan demikian, iris dapat dijadikan sebagai identitas pribadi sehingga saat ini berkembang sistem pengenalan iris mata manusia. Problem yang yang sering muncul dalam sistem identifikasi dalam image prosesing adalah 1
memberikan penjelasan tentang proses pengolahan citra digital (image processing). Selain digunakan dalam perancangan program algoritma, Matlab juga digunakan dalam membuat tampilan utama atau interface dari perangkat lunak yang dibuat. Menu yang digunakan adalah menggunakan GUI (Graphic User Interface). Selain itu juga dalam proses prepocessing yaitu dalam melakukan cropping iris berbeda dari penelitian sebelumnya. Untuk analisa tekstur, menggunakan Gabor dari Elliot Freeman. 02/07, “Steps To Making A Gabor Patch “.Published with Matlab[9]. Dimana Gabor yang didapatkan kemudian dikonvolusi dengan citra iris yang ada untuk mendapatkan nilai fitur citra berupa nilai mean dan standar deviasi.
maka jumlah nilai mean dan standar deviasi yang dihasilkan akan semakin kecil. Hal ini disebabkan oleh penyebaran pixel yang makin rapat. Ichsan juga memaparkan bahwa proses preprocessing pada tahap perbaikan pola iris yang tidak sempurna sangat mempengaruhi keberhasilan dalam proses pengenalan. Dari hasil penelitian ini memiliki tingkat keberhasilan sebesar 80.35 % pada frekuensi 2 dan pada sudut 00. Dari paparan di atas, terlihat bahwa tingkat keberhasilan selain dipengaruhi oleh proses preprocessing yang juga dipengaruhi oleh pemilihan nilai frekuensi dan theta. Oleh karena itu perlu dilakukan penelitian tentang proses preprocessing dan pemilihan gabor dengan variasi frekuensi dan theta yang tepat untuk mendapatkan tingkat keberhasilan perangkat lunak yang optimal. Pada penelitian ini akan digunakan proses preprocessing yang menghasilkan iris dalam bentuk persegi dengan resolusi 64x64 pixel dan gabor yang digunakan menggunakan variasi lambda 10, 15, dan 20 dimana setiap lambda dilakukan pada theta 0, 45, 90, dan 135 derajat. Beda sudut yang digunakan adalah 45 derajat hal ini dikarenakan nilai ini dianggap mendekati karakteristik sistem visual manusia [7].
Database dan Akuisisi Data Sampel citra iris mata yang digunakan dalam penelitian ini adalah secara offline yaitu dari CASIA (Chinese Academy of Science Institute of Automation) image dataset. Data citra iris mata yang akan diproses selanjutnya terbagi dalam 2 bagian yaitu data untuk pelatihan (learning) dan data untuk pengujian proses pengenalan (testing). Dari 21 subjek/orang yang dinotasikan : A, B, C, ….dan U. Dimana setiap subjek diwakili oleh 6 citra iris yang berbeda. Dari 6 citra iris mata tersebut, data citra no 1–4 digunakan sebagai database. Sedangkan data 5-6 digunakan sebagai inputan.. Berikut ini adalah contoh sample citra iris mata dari Subjek A :
Pengembangan Algoritma Dalam penelitian ini algoritma yang digunakan untuk identifikasi hampir sama dengan penelitian sebelumnya yaitu dimulai dari proses preprocessing, analisa tekstur sampai dengan proses identifikasi atau proses pengenalan. Penelitian sebelumnya yang dilakukan oleh Ichsan, program yang digunakan untuk merancang algoritma menggunakan program Visual Basic. Pada penelitian ini program yang digunakan untuk merancang algoritma adalah menggunakan program Matlab. Program Matlab memberikan kemudahan dalam proses pengolahan citra digital. Hal ini dikarenakan di dalam program Matlab terdapat toolbox yang membahas dan
Gambar 1. Citra Iris mata (CASIA) 2
A. Penglokasian Pupil Proses penglokasian pupil dimulai dari input citra yang sudah dalam bentuk grayscale sampai dengan proses buang pupil. Berikut ini adalah algoritma proses penglokasian pupil :
Gambar 3. Citra hasil penglokasian pupil Gambar 2. Penglokasian Pupil
B. Tahap Pendeteksian Iris Proses pendeteksian iris dimulai dari hasil tahap penglokasian pupil yaitu citra mata yang lubang pupilnya telah dihilangkan sampai dengan proses crop iris.
Hasil citra iris mata setelah dilakukan tahapan proses penglokasian pupil adalah sebagai berikut :
3
Berikut ini adalah pendeteksian iris :
algoritma
citra hasil crop iris yang berbentuk ring sampai dengan proses mendapatkan pola iris berbentuk persegi. Berikut ini adalah algoritma proses mendapatkan pola iris :
proses
Gambar 4. Pendeteksian Iris Hasil citra iris mata setelah dilakukan tahapan proses pendeteksian iris adalah sebagai berikut :
Gambar 6. Proses mendapatkan pola iris Hasil citra iris mata setelah dilakukan tahapan mendapatkan pola iris adalah sebagai berikut :
Gambar 5. Citra hasil deteksi iris C. Tahap Mendapatkan Pola Iris Gambar 7. Citra hasil pola iris Proses untuk mendapatkan pola iris mata yang akan dijadikan sebagai masukan untuk proses analisa tekstur dimulai dari 4
D. Analisa Tekstur Pada citra iris berbentuk persegi ini adalah hasil penurunan resolusi gambar asli citra iris mata yaitu dari 320×280 piksel menjadi 64×64 piksel. Dari citra baru yang berukuran 64×64 piksel dilakukan proses analisa tekstur menggunakan Gabor. Gabor yang digunakan didapatkan dari : Elliot Freeman. 02/07, “Steps to Making a Gabor Patch “.Published with Matlab[9]. Dari Gabor yang telah didapatkan dilakukan variasi nilai lambda dan theta. Nilai lambda yang digunakan adalah 10, 15, dan 20 dimana setiap lambda dilakukan pada theta 00, 450, 900, dan 1350. Sehingga akan menghasilkan 12 output Gabor dan menghasilkan 24 fitur yang berupa nilai mean dan standar deviasi. Fitur ini merupakan ciri-ciri pola tekstur dari citra iris yang digunakan sebagai masukan untuk melakukan proses pengenalan. Filter Gabor dari masing–masing arah orientasi dibentuk dari rumus berikut [9]: 1 𝑋𝑋𝑋𝑋 2 + 𝑌𝑌𝑌𝑌 2
𝐺𝐺(𝜃𝜃, 𝜆𝜆) = 𝑒𝑒𝑒𝑒𝑒𝑒 �− 2 �
𝑠𝑠 2
�� sin(2𝜋𝜋𝜋𝜋𝜋𝜋𝜋𝜋𝜋𝜋)
Gambar 8. Citra hasil gabor Proses Pengenalan Proses pengenalan adalah proses membandingkan citra input dengan citra iris yang ada di dalam database. Fitur citra input dibandingkan dengan fitur citra dalam database menggunakan Euclidean Distance. Euclidean Distance adalah jarak antara dua buah objek atau titik. Dalam penelitian ini, rumus jarak euclidean distance digunakan untuk mengukur kemiripan sebuah citra dengan citra yang lainnya. Nilai jarak diantara titik A (A1, A2, ..., An) dan B (B1, B2, ...., Bn) didefinisikan sebagai berikut :
(1)
Xyt=Xm.cos(thetaRad)+Ym.sin(thetaRad) (2)
thetaRad = 𝑓𝑓 =
𝑠𝑠 =
𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖 𝜆𝜆 𝜎𝜎
𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖
𝜃𝜃
360
2𝜋𝜋
(6)
(3) (4)
Nilai A1 dan B1 dalam hal ini diganti dengan nilai mean dari citra. Sehingga A1 adalah mean dari citra input dan B1 adalah nilai dari citra dalam database. Sedangkan nilai A2 adalah standar deviasi dari citra input dan B2 adalah standar deviasi dari citra dalam database. Nilai mean digunakan untuk mengukur rata – rata nilai dari suatu citra sedangkan standar deviasi digunakan untuk mengukur penyebaran kumpulan nilai tersebut. Jarak terkecil hasil perhitungan dengan Euclidean Distance merupakan citra yang memiliki kemiripan tertinggi.
(5)
Dimana θ adalah arah orientasi dari gabor, f adalah frekuensi gelombang sinus, σ adalah standard deviasi dari Gaussian, pada penelitian ini digunakan 10 (dalam pixel). Hasil dari citra yang telah dilakukan menggunakan 12 output gabor, dimana dilakukan proses konvolusi sebelumnya adalah sebagai berikut :
5
Hasil dan Pembahasan Tabel 2. Hasil Identifikasi pada Lamda 10, Sudut 900
Berdasarkan hasil pengujian terhadap semua jenis Gabor maka dapat dilakukan analisis pengujian jenis Gabor terbaiknya. Hasil ini didapat dengan membandingkan prosentase tingkat keberhasilan pada masing-masing Gabor dengan variasi lambda dan theta. Keseluruhan Prosentase tingkat keberhasilan pada keseluruhan pengujian dapat dilihat pada table di bawah ini : Tabel 1. Tingkat keberhasilan dari tiap Lambda dengan variasi Theta
Dari Tabel 1, jenis Gabor yang memiliki prosentase tingkat keberhasilan paling tinggi adalah jenis Gabor pada lambda 10 dengan theta 900 yang mampu mengenali citra input dengan benar sampai 90.5%.
6
Berikut ini adalah hasil grafik dari tingkat keberhasilan pada masing-masing lambda dengan variasi theta:
Tabel 3. Table hasil mean dan standar deviasi LAMDA
10
15
Gambar 9. Grafik Hasil Akurasi Dari Tiap Lambda Dengan Variasi Theta 20
Dari grafik di atas terlihat untuk masingmasing lambda, semakin besar sudut maka tingkat keberhasilan proses pengenalan citra semakin besar. Hal ini berarti dengan semakin besarnya sudut ciri-ciri dari tekstur iris suatu subjek dapat teridentifikasi dengan lebih akurat. Terlihat juga tingkat keberhasilan paling baik berada pada sudut 900 untuk masingmasing lambda. Untuk analisa pada sudut 900, semakin besar lambda maka tingkat keberhasilan proses pengenalan semakin kecil. Hal ini bisa dikarenakan dengan lambda yang besar maka frekuensi gabor akan semakin kecil. Dengan semakin kecilnya frekuensi semakin sedikit pula ciri-ciri tekstur dari citra yang dapat terekstraksi. Sehingga terlihat bahwa pada lambda 10, tingkat keberhasilan proses pengenalan paling besar yaitu 90.5 %.
THETA 90 MEAN 0.27523 0.2622851 0.2622851 0.27458 0.3107909 0.2961734 0.2961734 0.3100569 0.3235523 0.3083346 0.3083346 0.3227881
STDEV 0.0514992 0.0549766 0.0549766 0.0610223 0.0633436 0.0670152 0.0670152 0.0730542 0.06839 0.0721907 0.0721907 0.0783524
Grafik dari table mean dan standar deviasi di atas adalah sebagai berikut :
Gambar 10. Grafik nilai mean tiap lambda
Analisis Perbandingan Nilai Fitur Citra Berikut ini adalah table nilai mean dan standar deviasi tiap lambda dengan mengambil salah satu citra mata database yaitu citra mata K yang terdiri dari citra mata K1, K2, K3 dan K4 : Gambar 11. Grafik nilai standar deviasi tiap lambda 7
Dari grafik mean dan standar deviasi di atas terlihat tren nilai mean dan standar deviasi untuk tiap lambda semakin besar. Dari grafik mean maupun standar deviasi, pada lambda 10 memiliki nilai mean dan standar deviasi paling kecil. Sedangkan pada lambda 20 memiliki nilai mean dan standar deviasi paling besar. Hal ini berarti pada lambda 10 nilai intensitas tiap piksel dari keempat citra (K1, K2, K3, dan K4) paling rendah tetapi memiliki persebaran nilai intensitas yang lebih merata. Sehingga pada lambda 10 menghasilkan citra yang lebih mudah untuk dikenali (dalam hal ini ciri khas tekstur dari suatu citra iris).
hampir sama. Sehingga lambda 10 dengan theta 90 menghasilkan tingkat keberhasilan tertinggi dalam melakukan proses pengenalan. Hal ini menunjukkan metode identifikasi menggunakan Gabor pada lambda 10 dan theta 90 adalah Gabor yang paling akurat dengan akurasi 90.5 % dalam mengenali identitas seseorang dengan menggunakan analisa tekstur pada iris mata. KESIMPULAN Proses yang digunakan untuk mendapatkan pola iris yaitu dengan cropping yang sebelumnya dilakukan proses deteksi pupil dan iris mata. Proses cropping iris ditentukan oleh besar lubang bekas pupil, yang kemudian direzise dengan ukuran 64 x 64 piksel agar ukuran citra hasil cropping untuk semua citra menjadi sama. Kemudian dilakukan proses analisa tekstur untuk mendapatkan nilai fitur dengan menggunakan filter gabor. Gabor respons yang telah terbentuk kemudian dilakukan proses konvolusi dengan citra hasil cropping untuk mendapatkan citra hasil gabor. Kemudian citra hasil gabor dicari nilai fiturnya yaitu berupa nilai mean dan standar deviasi. Setiap citra akan diproses dengan menggunakan 12 output gabor sehingga menghasilkan 24 fitur berupa nilai mean dan standar deviasi. Setiap citra yang diproses baik yang merupakan input maupun database dicari nilai fiturnya (mean dan standar deviasi). Kemudian dilakukan proses pengenalan. Proses pengenalan disini merupakan proses dimana citra sebagai input dicocokkan dengan citra yang terdapat di dalam database berdasarkan nilai Euclidean distance. Nilai Euclidean ini merupakan nilai dengan parameter inputnya adalah nilai fitur citra yaitu mean dan standar deviasi.Semakin kecil nilai Euclidean distance nya maka semakin mirip antara citra input dengan citra yang ada di dalam database. Berdasarkan nilai
Analisis Perbandingan Nilai Jarak (Euclidean Distance) Pada Tiap Lambda
Gambar 12. Grafik Perbandingan Nilai Jarak Dari Tiap Lambda Dari grafik di atas terlihat tren ketiga grafik dari masing – masing lambda memiliki kecenderungan yang sama. Nilai jarak untuk lambda 10 dengan input K6 pada masing – masing citra dalam database memiliki nilai jarak paling kecil. Sedangkan pada lambda 20 memiliki nilai jarak yang paling besar. Dengan semakin kecil nilai jarak yang dihasilkan maka semakin mirip antara citra input dengan citra dalam database. Hal ini dikarenakan nilai mean dan standar deviasi antara citra input dengan citra dalam database memiliki nilai yang 8
Euclidean, maka akurasi perangkat lunak dapat dicari dengan cara nilai terkecil dari nilai Euclidean input dengan semua citra yang ada di dalam database menunjukkan citra dengan subjek yang benar. Semakin banyak citra input yang dikenali maka semakin besar akurasi yang di dapat. Setiap variasi lambda dan theta dicari nilai akurasinya, nilai akurasi yang terbaik akan dijadikan sebagai akurasi dari perangkat lunak. Akurasi terbaik yang didapatkan adalah sebesar 90.5 % pada lambda 10 dan theta 900.
computer vision “.University of Groningen, Department of Computing Science, Intelligent Systems. [9]. Elliot Freeman. 02/07, “steps to making a Gabor patch “.Published with MATLAB® 7.1.
DAFTAR PUSTAKA [1]. Gonzalez Rafael C, Woods Richard E.
[2].
[3].
[4].
[5].
[6].
[7].
[8].
1993. Digital Image Processing. University of Tenesse. Addison Wesley Publishing Company A.A. K. Oka Sudana, D.M. Wiharta, Mahardhika Tirta. 2006. “Sistem Verifikasi Sidik Jari Dengan Metode Pencocokan Berbasis Bank Gabor Filter” . Staf Pengajar Teknik Elektro, Fakultas Teknik, Universitas Udayana Marvin Ch. Wijaya, Prijono Agus. 2007. “Pengolahan Citra Dijital Menggunakan Matlab”. Bandung : Informatika Bandung Resmana Lim, Santoso. 2003. “Verifikasi Personal Berdasarkan Citra Tangan Dengan Metode Filter Gabor “. Jurusan Teknik Elektro, Universitas Kristen Petra Fadlisyah, S.Si. 2007. “ Computer Vision dan Pengolahan Citra “. Yogyakarta : CV ANDI OFFSET Ichsan. 2004. “Identifikasi Personal Biometrik Berdasarkan Pola Iris Mata Dengan Menggunakan FIilter Gabor”.ITS Anonim, Praktikum EL4027 Pengolahan Citra Biomedika EB703 Pengolahan Citra Biomedika Lanjut Modul3 Analisis Tekstur, Imaging & Image Processing Research Group Institut Teknologi Bandung, 2008. N. Petkov and M.B. Wieling.” Gabor filter for image processing and 9