Karya Ilmiah
Perancangan Algoritma Pengolahan Citra Mata Menjadi Citra Polar Iris Sebagai Bentuk Antara Sistem Biometrik
Oleh
F A H M I , S.T, M.Sc NIP. 132 316 970
DEPARTEMEN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS SUMATRA UTARA MEDAN 2007
Fahmi : Perancangan Algoritma Pengolahan Citra Mata Menjadi Citra Polar Iris Sebagai Bentuk Antara Sistem Biometrik, 2007
USU Repository © 2007
ABSTRAK Sistem biometrik saat ini telah mencapai perkembangan yang luar biasa. Dalam karya ilmiah ini akan dibahas perancangan algoritma yang memungkinkan pengolahan awal citra mata untuk dapat dikembangkan menjadi bentuk antara iris untuk sistem biometrik yang akurat. Algoritma pengolahan citra yang dirancang dibagi ke dalam beberapa tahap. Beberapa proses seperti pengambilan ROI Iris, deteksi tepi Canny, pencarian titik pusat, dan perhitungan jari-jari iris dikembangkan untuk mengubah citra menjadi bentuk antara citra polar iris. Hasil pengolahan berupa bentuk antara inilah yang nantinya dapat dengan mudah dianalisa untuk mendapatkan ciri yang dibutuhkan untuk klasifikasi dan verifikasi. Pengujian yang dilakukan pada beberapa gambar mata menunjukkan bahwa algoritma yang dikembangkan dapat diaplikasikan pada tahap awal pemrosesan citra iris mata dan menghasilkan bentuk antara berupa citra polar yang siap digunakan untuk tahap amalisa berikutnya. Kata kunci : pengolahan citra, biometrik, iris
Fahmi : Perancangan Algoritma Pengolahan Citra Mata Menjadi Citra Polar Iris Sebagai Bentuk Antara Sistem Biometrik, 2007
USU Repository © 2007
KATA PENGANTAR Segala puji bagi Allah SWT, Rab segala pengetahuan, atas berkat, rahmat, dan hidayah-Nya sehingga penulis dapat menyelesaikan dan menyusun karya ilmiah ini. Karya ilmiah ini berjudul
“Perancangan Algoritma Pengolahan Citra Mata
Menjadi Citra Polar Iris Sebagai Bentuk Antara Sistem Biometrik” Karya ilmiah ini dikembangkan sebagai bagian dalam rangka memenuhi salah satu tugas penulis sebagai dosen di lingkungan Departemen Teknik Elektro, Fakultas Teknik Universitas Sumatera Utara. Dalam pelaksanaan Karya ilmiah, penulis telah banyak mendapat bantuan dari berbagai pihak, baik bantuan yang berupa materi maupun bantuan dukungan moril. Untuk itu dalam kata pengantar ini penulis ingin menyampaikan banyak terima kasih. Penulis menyadari bahwa karya ilmiah ini masih jauh dari sempurna. Oleh karena itu kritik dan saran sangat diharapkan demi kesempurnaan karya ilmiah ini. Semoga karya ilmiah ini bermanfaat bagi kita semua, terutama bagi perkembangan dunia teknologi Indonesia. Amin. Medan, Februari 2007 Penulis
Fahmi , S.T, M.Sc Nip. 132 316 970
Fahmi : Perancangan Algoritma Pengolahan Citra Mata Menjadi Citra Polar Iris Sebagai Bentuk Antara Sistem Biometrik, 2007
USU Repository © 2007
DAFTAR ISI LEMBAR PENGESAHAN ABSTRAK KATA PENGANTAR DAFTAR ISI BAB I. PENDAHULUAN 1.1 Latar Belakang………………….....…………………………………… I - 1 1.2 Tujuan Pembahasan …………………………………………………… I - 1 1.3 Rumusan Masalah…………………………………………………….... I - 2 1.4 Metode.................................…………………………………………… I - 2 1.5 Sistematika Pembahasan……………………………………………….. I - 2 BAB II. TEORI PENDUKUNG 2.1 Citra Digital.............................................................................................. II - 1 2.2 Dasar Pengolahan Citra Digital....................………………....………… II - 3 2.3 Pemisahan objek iris dari Citra Mata 2.3.1 Binerisasi......................................................................................
II - 4
2.3.2 Operasi Morphologi…………………....……………..……......... II - 5 2.3.2 Rekonstruksi Look Up..........................……………………….… II - 5 2.4 Transformasi Koordinat Polar 2.3.1 Deteksi Tepian Canny ………………………………..……......... II - 6 2.3.2 Perhitungan Parameter Koordinat Polar……………………….… II - 8 2.3.3 Pembentukan Citra Polar……............…………………………… II - 9 BAB III. CITRA MATA DAN IRIS 3.1 Iris…………………..............................................................………….. III - 1 3.2 Anatomi dan Fisiologi Iris 3.2.1 Karakteristik Iris…...........................……………………………. III – 1 3.2.2 Warna dasar Iris…………………………………………………. III - 2 BAB IV. PERANCANGAN ALGORITMA 4.1 Algoritma Pemisahan Iris Mata 4.1.1 Binerisasi....……………………………………………………... IV - 2 4.1.2 Operasi Morphologi...............………………………………….... IV - 2 4.1.3 Pencarian Titik batas…………………………………………….. IV - 2 4.1.4 Rekonstruksi Look Up................................................................... IV - 3 4.2 Algoritma Pemrosesan Awal Fahmi : Perancangan Algoritma Pengolahan Citra Mata Menjadi Citra Polar Iris Sebagai Bentuk Antara Sistem Biometrik, 2007
USU Repository © 2007
4.2.1 Pembentukan Citra Grayscale……………………………………. IV - 4 4.2.2 Pengontrasan……………………………………………………… IV - 4 4.2.3 Penapisan Citra…………………………………………………… IV - 5 4.3 Algortima Transformasi Polar 4.3.1 Deteksi Tepi Canny……………………………………………… IV - 6 4.3.2 Perhitungan Parameter Koordinat Polar…………………………. IV-10 4.3.3 Perhiungan Titik Pusat…………………………………………... IV-12 4.3.4 Perhitungan Jari-Jari Iris dan Pupil .....………….………………. IV-13 4.3.5 Pembentukan Citra Polar………………………………………… IV-15 BAB V. PENGUJIAN ALGORITMA DAN ANALISIS SISTEM 5.1 Mekanisme Pengujian……………………………………………………V - 1 5.2 Spesifikasi Sistem 5.2.1 Perangkat Lunak…………………………………………………..V - 1 5.2.2 Perangkat Keras …………………………………………………..V - 2 5.3 Pengujian Algoritma 5.3.1 Pengujian Algoritma Pemisahan Bagian Iris....……………….......V - 4 5.3.2 Pengujian Algoritma Proses Awal ………………………………..V - 5 5.3.3 Pengujian Algoritma Deteksi Tepi Canny………………………...V - 5 5.3.4 Pengujian Perhitungan Parameter Lingkaran Iris............................V - 6 5.3.5 Pengujian Algoritma Pembentukan Citra Polar ………………......V - 7 BAB VI. PENUTUP 6.1 Kesimpulan ……………………………………………………………..VI - 1 6.2 Saran…………………………………………………………………….VI - 3
DAFTAR PUSTAKA
Fahmi : Perancangan Algoritma Pengolahan Citra Mata Menjadi Citra Polar Iris Sebagai Bentuk Antara Sistem Biometrik, 2007
USU Repository © 2007
BAB I PENDAHULUAN 1.1 Latar Belakang Sistem biometrik saat ini telah mencapai perkembangan yang luar biasa dalam menggantikan sistem verifikasi konvensional. Pemanfaatan anggota tubuh secara unik untuk membedakan antara satu orang dengan orang lain, telah banyak dibuktikan memberikan hasil yang lebih akurat dalam pengidentifikasian. Penggunaan iris mata, telapak tangan, sidik jari, bentuk wajah sampai kepada suara telah dikembangkan untuk keperluan tersebut. Salah satu pemanfaatan organ tubuh untuk identifikasi adalah dengan memanfaatkan iris mata. Iris diketahui memiliki tingkat pembeda yang cukup baik untuk dapat mengklasifikasikan tiap individu. Perkembangannya yang sangat cepat didukung dengan pemanfaatannya yang semakin luas, menuntut semakin ditingkatkannya keakurasian analisa citra iris mata dalam sistem biometrik. Saat ini yang menjadi salah satu permasalahan adalah proses pengolahan awal citra mata hingga kita dapat memperoleh hanya bagian iris saja dengan membuang bagian yang tidak perlu.
1.2 Tujuan Pembahasan Tujuan dari penelitian Karya ilmiah ini adalah untuk merancang dan menguji algoritma pengolahan citra mata menjadi citra polar iris sebagai bentuk antara system biometrik. Diharapkan algoritma ini dapat digunakan untuk melakukan proses awal pengolahan citra mata yang mampu memberikan analisis system biometric yang lebih akurat nantinya. 1.3 Rumusan Masalah Dalam laporan ini permasalahan yang akan dibahas adalah bagaimana merancang algoritma untuk mengolah citra mata menjadi citra polar iris sebagai bentuk antara untuk system biometric.
Fahmi : Perancangan Algoritma Pengolahan Citra Mata Menjadi Citra Polar Iris Sebagai Bentuk Antara Sistem Biometrik, 2007
USU Repository © 2007
1.4 Metode Dalam Karya ilmiah ini, metode yang dilakukan meliputi tahap-tahap sebagai berikut : -
Studi literatur mengenai mata dan iris mata dengan melakukan pengumpulan data, pencarian informasi, dan diskusi dengan berbagai sumber seperti praktisi kedokteran dan juga buku-buku.
-
Studi literatur mengenai pemrosesan citra digital, terutama yang berhubungan dengan
pemrosesan citra iris mata yang dibutuhkan dalam merancang
algoritma. -
Merancang algoritma untuk beberapa proses yang dibutuhkan, baik itu dengan menciptakan algoritma baru ataupun memodifikasi algoritma yang telah ada sebelumnya
-
Membuat sistem simulasi dan pengujian menggunakan MATLAB.
-
Menganalisis dan menyimpulkan hasil pengujian algoritma yang dilakukan
-
Dokumentasi dan laporan
1.5 Sistematika Pembahasan Laporan ini akan disusun dengan sisematika berikut : BAB 1, membahas tentang hal-hal yang melatarbelakangi pokok permasalahan, tujuan pembahasan, rumusan masalah, metode dan Sistematika pembahasan. BAB 2, menjelaskan tentang teori dasar pengolahan citra digital, termasuk jenis-jenis pengolahan citra serta dasar teori beberapa algoritma yang nantinya berhubungan dengan perancangan sistem. BAB 3, menjelaskan tentang objek mata secara keseluruhan, tinjauan anatomis, struktur dan keadaan penampakan bagian-bagian mata. BAB 4, menjelaskan tentang perancangan algoritma pengolahan citra yang digunakan, serta prosedur pemrograman yang dilakukan. Termasuk di dalamnya semua proses yang berhubungan dengan pengolahan awal, transformasi polar bentuk antara. BAB 5,menjelaskan tentang proses pengujian algoritma yang dilakukan pada tiap tahapnya, analisis sistem mengenai hasil yang dicapai, tingkat keberhasilan algoritma, efektifitas, dan efisiensi. BAB 6, berisi kesimpulan dan saran.
Fahmi : Perancangan Algoritma Pengolahan Citra Mata Menjadi Citra Polar Iris Sebagai Bentuk Antara Sistem Biometrik, 2007
USU Repository © 2007
BAB II TEORI PENDUKUNG
2.1 Citra Digital Istilah “citra” yang digunakan dalam bidang pengolahan citra dapat diartikan sebagai suatu fungsi kontinu dari intensitas cahaya dalam bidang dua dimensi. Pemrosesan citra dengan komputer digital membutuhkan citra digital sebagai masukannya. Citra digital adalah citra kontinu yang diubah dalam bentuk diskrit, baik koordinat ruang maupun intensitas cahayanya. Pengolahan digitalisasi terdiri dari dua proses, yaitu pencuplikan (sampling) posisi, dan kuantisasi intensitas. Citra digital dapat dinyatakan dalam matriks dua dimensi f (x,y) dimana ‘x’ dan ‘y’ merupakan koordinat piksel dalam matriks dan ‘f’ merupakan derajat intensitas piksel tersebut. Citra digital berbentuk matriks dengan ukuran M x N akan tersusun sebagai berikut:
⎛ ⎜ ⎜ f ( x, y ) = ⎜ ⎜ ⎜ ⎜ ⎝
f (0,0) f (1,0) f (2,0)
f (0,1) f (1,1) f (2,1)
f (0,2) f (1,2) f (2,2)
M f (M - 1,0)
M f (M - 1,1)
M f (M - 1,2)
L L L O L
⎞ ⎟ ⎟ ⎟ ⎟ M ⎟ f (M - 1, N - 1) ⎟⎠ f (0, N - 1) f (1, N - 1) f (2, N - 1)
Suatu citra f(x,y) dalam fungsi matematis dapat dituliskan sebagai berikut:
dimana :
0 ≤ x ≤ M-1 0 ≤ y ≤ N-1 0 ≤ f(x,y) ≤ G-1 M = banyaknya baris pada array citra N = banyaknya kolom pada array citra G = banyaknya skala keabuan (graylevel)
(2.1)
Interval (0,G) disebut skala keabuan (grayscale). Besar G tergantung pada proses digitalisasinya. Biasanya keabuan 0 (nol) menyatakan intensitas hitam dan G menyatakan intansitas putih. Untuk citra 8 bit, nilai G sama dengan 28 = 256 warna (derajat keabuan). Jika kita memperhatikan citra digital secara seksama, kita dapat melihat titik-titik kecil berbentuk segiempat yang membentuk citra tersebut. Titik-titik tersebut merupakan satuan terkecil dari suatu citra digital disebut sebagai “picture element”,
Fahmi : Perancangan Algoritma Pengolahan Citra Mata Menjadi Citra Polar Iris Sebagai Bentuk Antara Sistem Biometrik, 2007
USU Repository © 2007
“pixel”, piksel, atau “pel’. Jumlah piksel per satuan panjang akan menentukan resolusi citra tersebut. Makin banyak piksel yang mewakili suatu citra, maka makin tinggi nilai resolusinya dan makin halus gambarnya. Pada sistem dengan tampilan citra digital yang dirancang dengan baik (beresolusi tinggi), titik-titik kecil tersebut tidak teramati oleh kita yang melihat secara normal. Untuk aplikasi 3 dimensi kita juga mengenal satuan voxel yang memiliki dimansi ketebalan dan berbentuk kubus. Beberapa sistem peralatan medical imaging seperti CT-Scan dan ultrasonography menggunakan bentuk citra digital 3 dimensi seperti ini untuk keakuratan pengamatan. Contoh citra digital ditunjukan pada gambar dibawah ini, dimana sebagian dari citra ini diperbesar untuk memperlihatkan bahwa citra tersebut tersusun atas piksel-piksel.
Gbr2.1 Citra Digital : piksel dan voxel Citra berwarna dapat dinyatakan dengan banyak cara, salah satunya adalah dengan menggunakan sinyal RGB (Red-Green-Blue). Pada cara ini, sebuah citra berwarna dinyatakan sebagai gabungan dari tiga buah citra monochrome merah, hijau, dan biru yang berukuran sama. Warna untuk setiap pikselnya tergantung dari komposisi ketiga komponen pada koordinat tersebut. Konsep ini digunakan luas untuk berbagai aplikasi citra berwarna. Untuk menyederhanakan perhitungan, semua citra pada laporan ini akan diolah ke dalam bentuk derajat keabuan (graylevel), di mana pada citra berwarna direprentasikan dengan nilai yang sama pada ketiga komponen R-G-B-nya.
Fahmi : Perancangan Algoritma Pengolahan Citra Mata Menjadi Citra Polar Iris Sebagai Bentuk Antara Sistem Biometrik, 2007
USU Repository © 2007
Penyederhanaan ini akan mengurangi waktu yang dibutuhkan untuk melakukan pengolahan citra.
2.2 Dasar Pengolahan Citra Digital
Pengolahan citra (image processing) merupakan proses mengolah piksel-piksel dalam citra digital untuk suatu tujuan tertentu. Beberapa alasan dilakukannya pengolahan citra pada citra digital antara lain yaitu: 1. Untuk mendapatkan citra asli dari suatu citra yang sudah buruk karena pengaruh derau. Proses pengolahan bertujuan mendapatkan citra yang diperkirakan mendekati citra sesungguhnya. 2. Untuk memperoleh citra dengan karakteristik tertentu dan cocok secara visual yang dibutuhkan untuk tahap yang lebih lanjut dalam pemrosesan analisis citra Dalam proses akuisisi, citra yang akan diolah ditransformasikan dalam suatu representasi numerik. Pada proses selanjutnya reprentrasi numerik tersebutlah yang akan diolah secara digital oleh komputer. Pengolahan citra pada umumnya dapat dikelompokan dalam dua jenis kegiatan, yaitu: 1. Memperbaiki kualitas citra sesuai kebutuhan 2. Mengolah informasi yang terdapat pada citra Bidang aplikasi yang kedua ini sangat erat kaitannya dengan computer aided analysis yang umumnya bertujuan untuk mengolah suatu objek citra dengan cara mengekstraksi informasi penting yang terdapat di dalamnya. Dari informasi tersebut dapat dilakukan proses analisis dan klasifikasi secara cepat memanfaatkan algoritma perhitungan komputer. Dari pengolahan citra diharapkan terbentuk suatu sistem yang dapat memproses citra masukan hingga citra tersebut dapat dikenali cirinya. Pengenalan ciri inilah yang sering diaplikasikan dalam kehidupan sehari hari. Aplikasi yang dibahas pada laporan ini adalah aplikasi di bidang kedokteran, yaitu untuk aplikasi analisis prediagnosis melalui penampakan citra iris mata dengan metoda Iridologi.
Fahmi : Perancangan Algoritma Pengolahan Citra Mata Menjadi Citra Polar Iris Sebagai Bentuk Antara Sistem Biometrik, 2007
USU Repository © 2007
Dalam pengolahan citra digital terdapat lima proses secara umum [1], yaitu: •
image restoration
•
image enhancement
•
image data compaction
•
image analysis
•
image reconstruction
2.3 Pemisahan Objek Iris dari Citra Mata
Citra mata mengandung objek-objek selain iris yang dalam proses analisis biometrik tidak dibutuhkan, bahkan terkadang mengganggu. Objek tersebut misalnya kelopak mata, alis mata dan bagian lainnya. Untuk itu diperlukan sebuah teknik pemisahan objek iris dari citra mata keseluruhan. Metode yang dikembangkan untuk pemisahan ROI iris mata ini dilakukan dengan 3 tahap : Binerisasi, Operasi Morfologi dan rekonstruksi Look Up .
2.3.1 Binerisasi
Dalam hal ini citra mata akan diubah dari citra warna menjadi citra grayscael lalu menjadi citra biner dengan threshold nilai derajat keabuan 128. Hasil dari proses ini adalah bentuk iris mata yang berwarna hitam (pixel 0) dan selainnya berwarna putih (pixel 1)/ Proses ini bisa disebut juga tahap segmentasi yang memisahkan roi iris yang diinginkan dengan bagian lain mata yang tidak dibutuhkan secara global.
2.3.2 Operasi Morphologi
Bentuk iris pada mata kadangkala terganggu oleh kehadiran kilatan blitz atau pantulan cahaya yang akan menimbulkan spot putih (glare) di dalam bagian iris. Dalam citra biner hal ini dapat dilihat dari kehadiran lubang putih pada bagian iris yang berwarna hitam. Untuk menghilangkan noise seperti ini dapat dilakukan operasi morphologi untuk menutup lubang glare yang terjadi. Proses yang dilakukan adalah proses closing, yaitu dengan melakukan operasi dilasi dan erosi secara berurutan.
2.3.3 Rekonstruksi Look Up
Dari proses segmentasi sebelumnya, akan diperoleh bagian iris sebagai bentuk bulatan hitam dengan latar putih. Langkah selanjutnya adalah untuk mengambil hanya bagian iris dengan melakukan rekonstruksi ulang citra mata asli. Untuk Fahmi : Perancangan Algoritma Pengolahan Citra Mata Menjadi Citra Polar Iris Sebagai Bentuk Antara Sistem Biometrik, 2007
USU Repository © 2007
batasan yang digunakan dalam rekonstruksi look up, dapat diperleh dengan pencarian titik dari pusat ke tepi iris terluar hingga mencapai titik putih yang pertama (sebagai batas iris) pada citra biner
2.4 Transformasi Koordinat Polar
Bentuk iris yang berupa lingkaran akan sangat menyulitkan untuk dianalisis dan diolah lebih lanjut. Pola susunan piksel yang dianalisa harus mengikuti algoritma tertentu yang memungkinkan pengambilan piksel dengan bentuk geometri lingkaran. Hal ini akan sangat merepotkan dan tidak efisien. Untuk mengatasi hal tersebut kita harus terlebih dahulu mengubah citra iris ke dalam bentuk antara yang sesuai. Pengubahan bentuk ini dapat dilakukan dengan melakukan transformasi koordinat polar dari citra iris. Untuk dapat melakukan transformasi tersebut, pertama harus dilakukan deteksi tepian, perhitungan parameter koordinat polar, baru kemudian dilakukan pembentukan citra koordinat polar itu sendiri.
2.4.1 Deteksi Tepian Canny
Pengambilan garis tepi dilakukan untuk memudahkan perhitungan parameterparameter lingkaran iris nantinya. Tepian citra dapat didefinisikan sebagai piksel yang mengalami perubahan tajam pada skala keabuannya. Tepian akan terlihat sebagai frekuensi tinggi pada spektrum citra, sehingga dapat diekstrak dengan menggunakan filter tertentu dengan meredam bagian frekuensi rendah. Ada beberapa metode deteksi tepi yang dapat digunakan, antara lain : -
Metode Canny
- Metoda Roberts
- Metoda Prewitt
-
Metode Sobel
- Metoda Log
Metoda Zerocross
Dalam laporan ini digunakan metoda Canny, karena memiliki beberapa kelebihan dalam mengekstrak tepian dengan kebebasan pemilihan parameter yang digunakan. Canny edge detector ditemukan oleh Marr dan Hildreth yang meneliti pemodelan persepsi visual manusia. Dalam memodelkan pendeteksi tepi, dia menggunakan ideal step edge, yang direpresentasikan dengan fungsi Sign satu dimensi. Pendekatan algoritma Canny dilakukan dengan konvolusi fungsi image dengan operator gaussian dan turunan-turunannya. Fahmi : Perancangan Algoritma Pengolahan Citra Mata Menjadi Citra Polar Iris Sebagai Bentuk Antara Sistem Biometrik, 2007
USU Repository © 2007
Fungsi Gaussian dalam satu dimensi dapat direpresentasikan sebagai berikut :
(2.4) turunan pertamanya : (2.5) dan turunan keduanya adalah :
(2.6) Gambar berikut menunjukkan fungsi-fungsi di atas:
Gbr 2.7 Gambar Fungsi Gaussian dan turunannya Ketika citra dikonvolusikan dengan fungsi Gaussian, hasilnya dapat dilihat pada gambar paling kiri dari gambar di bawah ini. Gambar selanjutnya menunjukkan hasil konvolusi citra dengan turunan pertama dan kedua dari fungsi Gaussian. Keberadaan dan lokasi tepi ditandai dengan puncak dan zero-crossing.
Gbr 2.8 Hasil Konvolusi Citra dengan Fungsi Gaussian Turunan pertama dari fungsi citra yang dikonvolusikan dengan fungsi Gaussian, g(x, y) = D[Gauss(x, y) ∗ f(x, y)]
(2.7)
ekivalen dengan fungsi citra yang dikonvolusikan dengan turunan pertama dari fungsi Gaussian, g(x, y) = D[Gauss(x, y)] ∗ f(x, y)
(2.8)
Fahmi : Perancangan Algoritma Pengolahan Citra Mata Menjadi Citra Polar Iris Sebagai Bentuk Antara Sistem Biometrik, 2007
USU Repository © 2007
Oleh karena itu, memungkinkan untuk mengkombinasikan tingkat kehalusan dan pendeteksian tepian ke dalam suatu konvolusi dalam satu dimensi dengan dua arah yang berbeda (vertikal dan horizontal). Hal ini berlaku dalam mengkonvolusikan turunan pertama Gaussian untuk pencarian puncak, atau dengan turunan kedua Gaussian untuk mencari zero-crossing-nya. Ada beberapa kriteria pendeteksi tepian paling optimum yang dapat dipenuhi oleh algoritma Canny : 1. Mendeteksi dengan baik (kriteria deteksi) Kemampuan untuk meletakkan dan menandai semua tepi yang ada sesuai dengan pemilihan parameter-parameter konvolusi yang dilakukan. Sekaligus juga memberikan fleksibilitas yang sangat tinggi dalam hal menentukan tingkat deteksi ketebalan tepi sesuai yang diinginkan. 2. Melokalisasi dengan baik (kriteria lokalisasi) Dengan Canny dimungkinkan dihasilkannya jarak yang minimum antara tepi yang dideteksi dengan tepi yang asli. 3. Respon yang jelas (kriteria respon) Hanya ada satu respon untuk tiap tepi. Sehingga mudah dideteksi dan tidak menimbulkan kerancuan pada pengolahan citra selanjutnya. Perancangan lebih lengkap mengenai deteksi tepian akan diuraikn pada bab selanjutnya.
2.4.2 Perhitungan Parameter Koordinat Polar
Parameter lingkaran dibutuhkan untuk pembentukan citra polar. Titik pusat dan jarijari diperlukan sebagai referensi dalam mentransformasikan citra berbentuk lingkaran ke dalam bentuk koordinat polar. Untuk dapat menghitung parameter-parameter tersebut, terlebih dahulu diambil beberapa titik sampel pada tepian citra yang membentuk pola lingkaran. Jumlah titik sampel yang diambil sangat berpengaruh pada ketelitian pengukuran. Semakin banyak titik sampel yang diambil maka perhitungan yang dilakukan akan semakin teliti. Namun di sisi lain perhitungan akan berjalan sangat rumit dan memakan waktu
Fahmi : Perancangan Algoritma Pengolahan Citra Mata Menjadi Citra Polar Iris Sebagai Bentuk Antara Sistem Biometrik, 2007
USU Repository © 2007
cukup lama. Untuk itu, pemilihan titik sampel harus dipertimbangkan secara optimum karena akan sangat berpengaruh pada unjuk kerja sistem nantinya.
Perhitungan titik pusat
Kita dapat menggunakan rumus dasar lingkaran yang telah diketahui untuk menghitung titik pusat dari lingkaran. R2 = (x-a)2+(y-b)2
(2.9)
R2 = (x2+y2) - (2x)a - (2y)b + a2 + b2
(2.10)
Dengan (a,b) adalah titik pusat dan R merupakan jari-jari. Dari persamaan di atas untuk mencari 2 buah variabel absis dan ordinat titik pusat dibutuhkan sedikitnya minimal 3 buah persamaan yang berasal dari 3 titik sampel. Oleh karena itu pemilihan sampel harus lebih dari 3 buah titik pada tepian lingkaran. Jumlah perhitungan yang akan dilakukan merupakan hasil kombinasi semua titik sampel pada tiap perhitungan 3 titik yang dibutuhkan. Jumlah perhitungan yang dilakukan adalah sebanyak 3CN proses dengan N adalah banyaknya titik sampel yang diambil.
Perhitungan Jari-jari Lingkaran
Setelah mengetahui titik pusat, jari-jari lingkaran dapat dengan mudah dihitung menurut persamaan berikut : R2n= ((xn2+yn2) - (2xn)a – (2yn)b +a2+b2 )
n = 0,1,…N
(2.11)
Hasil perhitungan akhir diperoleh dengan mengambil nilai rata-rata dari N buah perhitungan jari-jari yang diperoleh dari N buah titik sampel yang berbeda.
2.4.3 Pembentukan Citra Polar
Parameter-paramter yang telah dihitung dapat kita pakai untuk mengubah bentuk citra iris yang berbentuk lingkaran ke dalam koordinat polar. Citra ditransformasikan ke dalam bentuk polar dengan titik pusat sebagai acuannya. Pada gambar di bawah, lebar data citra hasil transformasi adalah sebesar a-b dan panjang data citra sebesar c-d. Lebar citra sangat tergantung kepada besar jari-jari dalam dan jari-jari luar lingkaran. Sedangkan Fahmi : Perancangan Algoritma Pengolahan Citra Mata Menjadi Citra Polar Iris Sebagai Bentuk Antara Sistem Biometrik, 2007
USU Repository © 2007
panjang data citra tergantung kepada besarnya pengambilan piksel tiap derajat lingkaran. Proses transformasi dapat diilustrasikan sebagai berikut :
Gbr 2.9 Ilustrasi Transformasi Koordinat Polar
Fahmi : Perancangan Algoritma Pengolahan Citra Mata Menjadi Citra Polar Iris Sebagai Bentuk Antara Sistem Biometrik, 2007
USU Repository © 2007
BAB III Citra Mata dan Iris
3.1 Iris
Iris merupakan bagian yang berwarna yang tampak pada bola mata. Bagian iris terlihat sebagai lingkaran mata yang melingkupi bagian hitam pupil dengan warnawarna tertentu.
Gbr 3.1 Penampakan Iris Pada Bagian Mata
3.2 Anatomi dan Fisiologi Citra Mata
3.2.1 Karakteristik Iris
Secara anatomi iris merupakan sebuah organ internal yang dilindungi, terletak di belakang kornea dan aqueous humour, serta berada di depan lensa mata. Iris merupakan satu-satunya organ internal tubuh yang dapat terlihat dari luar. Iris dapat terlihat cukup jelas pada jarak 1 meter.
Gbr 3.2 Struktur Anatomi Mata Bagian depan dari iris berbentuk tidak teratur, cendrung kasar serta memiliki alur yang tidak rata. Bagian ini dibentuk oleh lapisan yang terdiri dari sel pigmen dan fibroblast. Bagian bawah dari lapisan ini adalah jaringan ikat yang berkadar darah rendah (poorly vascularized) dengan beberapa serat, fibroblast dan melanocyte. Fahmi : Perancangan Algoritma Pengolahan Citra Mata Menjadi Citra Polar Iris Sebagai Bentuk Antara Sistem Biometrik, 2007
USU Repository © 2007
Bagian selanjutnya merupakan bagian yang kaya akan supply darah tertutup oleh jaringan ikat yang longgar [Diambil dari Basic Histology 8th edition oleh L. Carlos Junquerira, Jose Carneiro, Robert O. Kelley ISBN: 0-8385-0567-8] Tekstur dari iris bersifat stokastik. Hal ini disebabakan karena morfologi iris sangat bergantung pada kondisi awal pada fasa mesoderm embrionik, saat dimana iris mulai berkembang. Bentuk fenotip dari dua iris yang bahkan mempunyai genotip yang sama (misalnya pada dua orang yang kembar atau iris kiri dan kanan) akan tidak berkorelasi satu sama lainnya. Adapun karakteristik iris adalah : •
Mempunyai bentuk geometri polar, merupakan sistem koordinat yang alami.
•
Mempunyai tingkat ketidakteraturan yang tinggi, dan mempunyai entropi 3,2 bit per milimeter persegi jaringan iris.
3.2.2 Warna Dasar Iris
Warna iris manusia sangat beraneka ragam, tergantung dari ras dan etniknya. Beberapa ahli iridologi mengklasifikasikan warna iris yang menjadi hitam, coklat, emas, biru tua, hijau, biru muda, dan abu-abu. Kesemuanya itu dapat dibagi menjadi tiga bagian utama, yaitu : biru, coklat, dan campuran. Warna biru dan coklat merupakan warna iris murni. Warna campuran berasal dari gabungan genetik yang berbeda sebagai akibat perkawinan antar ras, dan merupakan anomali genetik dari warna iris coklat dan biru. Sekarang ini, sebagai akibat perkawinan antar ras, terdapat bermacam-macam warna dasar iris. Tidak terdapat warna yang ideal, dengan kata lain tidak terdapat iris dengan warna yang paling baik, masing-masing memiliki kelebihan dan kekurangan. Iris yang jernih mengindikasikan berbagai organ di dalam tubuh berfungsi dengan baik. Jika salah satu organ tubuh tidak berfungsi dengan normal, terdapat kemungkinan warna iris akan berubah pada area yang berhubungan dengan bagian tubuh yang bersangkutan.
Fahmi : Perancangan Algoritma Pengolahan Citra Mata Menjadi Citra Polar Iris Sebagai Bentuk Antara Sistem Biometrik, 2007
USU Repository © 2007
Gbr 3.4 Skema Warna Mata Iris Biru
Warna biru dari iris merupakan refleksi cahaya dari jaringan ephitel posterior yang terlihat melalui stroma yang tak berpigmen (lapisan otot pada iris). Iris berwarna dasar biru/abu-abu ditemukan di Nordic, Eropa, dan ras Anglo-Saxon. Warna iris ini mengindikasikan mudahnya terserang kondisi ‘asam’ seperti arthritic, rheumatic, asma, dan penyakit bisul (ulcer). Pada umumnya mereka mempunyai sel darah yang lebih kecil, dan kecendrungan cold extremities, ginjal yang lemah dan penyempitan pembuluh limfe. (Bagian a)
Iris Coklat
Pada iris yang berwarna coklat, sel pigmen dari stroma memberikan warna pada mata. Warna coklat ditentukan oleh konsentrasi sel pigmen dalam mata. Warna dasar iris coklat ditemukan di Asia, Afrika, Indian, dan Ras Semit. Hal ini menunjukkan sel darah yang lebih tebal, dan kecenderungan pada penyakit pencernaan, dan kerusakan sistem saraf. Iris yang berwarna coklat umumnya menunjukkan tekstur berpasir (Bagian b)
Iris Campuran
Iris campuran merupakan hasil pencampuran antara warna iris biru dan coklat. Terdapat berbagai macam variasi antara biru dan coklat (Bagian c). Warna iris campuran mempunyai dasar genetik biru, dan orang yang memiliki warna iris ini rawan terhadap kondisi ‘asam’ dan keracunan. Orang dengan iris campuran memerlukan pemeliharaan tubuh secara khusus, terutama pada pencernaan dan sistem saraf, dengan cara kebiasaan hidup yang teratur.
Fahmi : Perancangan Algoritma Pengolahan Citra Mata Menjadi Citra Polar Iris Sebagai Bentuk Antara Sistem Biometrik, 2007
USU Repository © 2007
Selain warna dasar iris, seringkali kita temukan ada warna lain di dalam iris. Hal ini menunjukkan adanya disfungsi dari organ di dalam tubuh yang letaknya ditunjukkan oleh letak warna lain tersebut di dalam iris. Warna lain ini antara lain putih, kuning, orange, coklat, merah, dan hitam.
Fahmi : Perancangan Algoritma Pengolahan Citra Mata Menjadi Citra Polar Iris Sebagai Bentuk Antara Sistem Biometrik, 2007
USU Repository © 2007
BAB IV PERANCANGAN ALGORITMA
Pada bagian ini akan dibahas mengenai perancangan algoritma yang digunakan dalam melakukan pengolahan citra mata menjadi citra polar iris. Untuk mengolah keseluruhan proses, dimanfaatkan fungsi-fungsi dalam software MATLAB 7 yang dijalankan di bawah sistem operasi Windows 2000. Fungsi-fungsi yang digunakan terdapat dalam Image Processing Toolbox
ver 4.2 yang akan mempermudah
perancangan proses pengolahan citra. Ada beberapa tahap yang harus dilakukan dalam mengolah citra mata sebelum mendapatkan bentuk antara citra polar iris. Tahapan tersebut dapat dilihat dalam blok diagram berikut : Citra Mata (Proses Akuisisi Citra)
Pemisahan ROI bagian Iris • Binerisasi • Operasi Morphologi • Rekonstruksi Look Up ROI Block Image Enhancement Grayscale, penapisan, pengontrasan, iluminasi Preprocessing Block Deteksi tepi Canny Deteksi titik pusat, jari iris dan jari pupil
Transformasi Koordinat Polar Transformation Process Block Gbr 4.1 Diagram Blok Algoritma Pengolahan Citra iris mata
Citra Iris mata diperoleh dengan menggunakan perangkat kamera digital yang cukup memadai disertai dengan beberapa perangkat pendukung , seperti penopang dagu yang berguna untuk menjaga tetap tegaknya bagian kepala, dan perangkat lampu halogen yang berfungsi untuk memberikan tambahan penerangan yang dibutuhkan. Fahmi : Perancangan Algoritma Pengolahan Citra Mata Menjadi Citra Polar Iris Sebagai Bentuk Antara Sistem Biometrik, 2007
USU Repository © 2007
Tahapan-tahapan perancangan untuk setiap bagian dari proses pengolahan citra iris mata dijelaskan lebih lengkap pada bagian berikut ini.
4.1 Algoritma Pemisahan Bagian Iris Mata
Bagian pemisahan ROI Iris dilakukan untuk memisahkan bagian iris mata yang penting, dari bagian-bagian lain mata yang tidak membutuhkan atau bahkan mengganggu. Bagian dari mata yang tidak dibutuhkan akan dihilangkan sehingga menyisakan bagian lingkaran iris dan pupil.
4.1.1 Binerisasi
Citra mata terlebih dahulu diubah menjadi bentuk citra biner / hitam-putih melalui proses treshold. Fungsi MATLAB yang digunakan dapat ditulis secara matematis: imdat = imread(‘mata.bmp’); imgray = rgb2gray(imdat); imbw = im2bw(imgray);
4.1.2 Operasi Morphologi
Citra biner mata yang mengandung glare pada bagian iris perlu diperbaiki dengan melakukan operasi morphologi Opening. Operasi ini terdiri dari operasi dilasi dan erosi secara berturut-turut pada data citra. Dalam MATLAB dapat digunakan fungsi berikut : se = strel('disk',15); %se adalah komponen morphologi imbw = imopen(imbw,se);
4.1.3 Pencarian Titik Batas
Pencarian titik batas dimaksudkan untuk mengukur besarnya iris mata pada citra. Dengan titik batas ini, sistem akan mengetahui sampai pada batas mana citra asli harus dipotong untuk mendapatkan hanya bagian iris yang tersisa. Hal ini dilakukan dengan menetapkan titik pusat sementara, kemudian diikuti dengan proses scanning dari dalam ke luar sampai menemukan titik batas yang dimaksud. Hasil pengukuran titik batas ini akan digunakan untuk rekonstruksi look up berikutnya. Program yang dapat digunakan adalah sebagai berikut. %penentuan titik pusat sementara [M,N]=size(BW); esty=round(M/2);
estx=round(N/2); %mencari arah kanan/kiri
Fahmi : Perancangan Algoritma Pengolahan Citra Mata Menjadi Citra Polar Iris Sebagai Bentuk Antara Sistem Biometrik, 2007
USU Repository © 2007
batas_kanan=estx; batas_kiri=estx; while(BW(esty,batas_kanan)==0) batas_kanan=batas_kanan+1; end while(BW(esty,batas_kiri)==0) batas_kiri=batas_kiri-1; end batas_kiri=estx-batas_kiri;
%mencari arah atas/bawah batas_atas=esty; batas_bawah=esty; while(BW(batas_atas,estx)==0) batas_atas=batas_atas+1; end while(BW(batas_bawah,estx)==0) batas_bawah=batas_bawah-1; end batas_bawah=esty-batas_bawah;
4.1.4 Rekonstruksi Look-Up
Citra biner mata yang mengandung glare pada bagian iris perlu diperbaiki dengan melakukan operasi morphologi imiris=BW(batas_bawah-15:batas_atas+15,batas_kiri-15:batas_kanan+15);
4.2 Algoritma Pemrosesan Awal
Bagian preprocessing melakukan pengolahan awal citra mata agar dapat diolah lebih lanjut untuk diambil cirinya. Pada proses ini juga diharapkan agar derau yang muncul pada saat pengambilan gambar atau pada saat akuisisi citra dapat dihilangkan. Peningkatan kualitas gambar melalui perbaikan kontras, dan iluminasi dapat dilakukan untuk mempermudah proses pengolahan citra nantinya.
4.2.1 Pembentukan Citra GrayScale
Citra yang dihasilkan adalah image format berwarna dengan komposisi layer Red, Green, Blue (RGB) masing-masing dengan level intensitas tertentu. Format citra seperti ini memiliki ukuran data yang cukup besar. Besarnya ukuran data yang diolah akan dapat memperlambat proses pengolahan pada tahap selanjutnya. Untuk mengatasi hal itu, maka perlu dilakukan perubahan bentuk citra ke dalam image format grayscale 8 bit (28 = 256 derajat keabuan) yang memiliki level intensitas yang sama untuk tiap-tiap layernya. Dengan ukuran data citra yang lebih kecil, maka proses pengolahan akan dapat lebih disederhanakan dan waktu komputasi akan menjadi lebih cepat. Pada Matlab fungsi ini dapat dilakukan dengan menggunakan fungsi rgb2gray seperti yang telah digunakan pada saat pengambilan ROI sebelumnya. citra yang dihasilkan adalah citra grayscale dengan 256 derajat keabuan.
Fahmi : Perancangan Algoritma Pengolahan Citra Mata Menjadi Citra Polar Iris Sebagai Bentuk Antara Sistem Biometrik, 2007
USU Repository © 2007
Perataan Iluminasi
Kurang sempurnanya teknik pengambilan gambar kadangkala menyebabkan kurang meratanya penyebaran cahaya pada citra iris mata akibat intensitas iluminasi yang tidak sama pada daerah-daerah citra. Hal ini akan berpengaruh pada perubahan derajat keabuan yang terbentuk pada citra. Noise seperti ini harus diantisipasi dengan terlebih dahulu melakukan penyeragaman iluminasi pada keseluruhan citra masukan sebelum dilakukan pembentukan citra grayscale. Penyeragaman ini dapat dilakukan dengan mengatur distribusi histogram pada level 0-255 pada skala derajat keabuan. Pada pemrograman Matlab perataan ini telah dilakukan bersama-sama dalam proses pembentukan citra grayscale
4.2.2 Pengontrasan
Untuk kasus-kasus tertentu, citra iris yang diperoleh belum dapat diproses akibat perbedaan warna antara bagian pupil dan bagian iris tidak jauh berbeda. Hal ini sering terjadi khususnya pada mata orang Asia yang memiliki warna iris coklat dan warna pupil kehitaman. Perbedaan warna yang tidak jauh berbeda ini, akan menyebabkan sulitnya pemisahan bagian iris dari bagian pupil yang akan dianalisis nantinya. Untuk itu perlu dilakukan contrast stretching pada histogram citra asli agar perbedaan tersebut dapat diperlebar. Fungsi yang digunakan dapat ditulis secara matematis :
αu ⎧ v=⎨ ⎩ β (u − a) + va
0
(4.1)
Untuk mengontraskan bagian yang gelap maka dipilih faktor α yang nilainya lebih besar dari 1. Dan faktor β yang kurang dari 1. Nilai α dipilih dari histogram yang akan diperlebar. Pada Matlab fungsi ini dapat dilakukan dengan menggunakan fungsi imadjust. Contoh pemrogramannya adalah sebagai berikut. c_kon = imadjust(c_gray,[ batas_bawah batas_atas],faktor gamma);
penentuan parameter yang digunakan, seperti batas atas dan batas bawah, atau juga faktor gamma sangat tergantung dari keadaan citra dan kebutuhan dari citra masukan yang kita miliki.
Fahmi : Perancangan Algoritma Pengolahan Citra Mata Menjadi Citra Polar Iris Sebagai Bentuk Antara Sistem Biometrik, 2007
USU Repository © 2007
4.2.3 Penapisan Citra
Untuk mengurangi noise, dapat dilakukan penapisan pada citra iris mata menggunakan matriks konvolusi yang sesuai. Proses ini dilakukan dengan mengkonvolusikan nilai tiap-tiap entry pada matiks citra dengan tiap-tiap nilai entry pada matriks filter. Beberapa filter yang biasa digunakan antara lain adalah filter wiener dan filter median yang dapat digunakan untuk menghapus derau tertentu pada citra. Pada Matlab, fungsi ini dapat dilakukan dengan menggunakan fungsi filter2, ordfilt2, ataupun juga wiener2. Kita dapat merancang sendiri kernel matriks filter yang kita inginkan, sesuai dengan jenis noise yang ingin dihilangkan. Salah satu contoh pemakaian filter median 3x3 dapat dilakukan dengan pemrograman sebagai berikut : kernel=[1 1 1 ;1 1 1 ;1 1 1 ]; %Kernel filter median 3x3 cfilt=medfilt2(kernel,citra);
4.3 Algoritma Transformasi Polar
Seperti yang telah dibahas pada bab II, bentuk geometris iris yang berupa lingkaran amat sulit untuk diolah lebih lanjut. Solusi bentuk antara yang harus diambil adalah dengan terlebih dahulu mengubahnya ke dalam bentuk citra koordinat polar. Pada bagian Transformation Process ingin diperoleh bentuk antara berupa citra transformasi polar dari iris mata yang berbentuk lingkaran. Dengan proses transformasi polar ini akan dihasilkan sebuah citra polar yang memiliki bentuk geometri persegi. Dengan bentuk seperti ini maka analisis dan klasifikasi dapat dilakukan dengan lebih mudah.
4.3.1 Deteksi Tepi Canny
Deteksi tepian dilakukan untuk mengekstrak garis tepi dari bentuk iris mata yang dibatasi pupil di bagian dalamnya. Aplikasi deteksi tepian pada citra iris mata akan menghasilkan sebuah citra yang akan membatasi lingkup iris dari bagian lain mata yang tidak diperlukan sehingga mudah untuk dianalisis. Dalam deteksi tepian Canny digunakan fungsi gaussian seperti yang telah diterangkan pada bab II. Perancangan algoritma deteksi tepi Canny untuk itu harus mendefinisikan fungsi tersebut dalam pemrograman khusus sebagai berikut. Fahmi : Perancangan Algoritma Pengolahan Citra Mata Menjadi Citra Polar Iris Sebagai Bentuk Antara Sistem Biometrik, 2007
USU Repository © 2007
Fungsi Gaussian (persamaan 2.4) function y=gauss(x,std) y=exp(-x^2/(2*std^2))/(std*sqrt(2*pi));
Fungsi turunan pertama Gaussian (persamaan 2.5) function y=dgauss(x,std) y=-x*gauss(x,std)/std^2;
Fungsi turunan kedua Gaussian (persamaan 2.6) function h=d2dgauss(n1,sigma1,n2,sigma2,theta) r=[cos(theta) -sin(theta); sin(theta) cos(theta)]; for i=1:n2 for j=1:n1 u=r*[j-(n1+1)/2 i-(n2+1)/2]'; h(i,j)=gauss(u(1),sigma1)*dgauss(u(2),sigma2); end end h = h / sqrt(sum(sum(abs(h).*abs(h))));
Dengan n1, n2 adalah masing-masing lebar mask gaussian yang digunakan dan sigma1, sigma2 adalah besarnya sigma dari persamaan (2.4) yang akan menetukan cepat lambatnya fungsi gaussian menuju titik nol. Sedangkan theta digunakan untuk mengatur matriks antara ‘r’ yang akan menentukan apakah akan dilakukan dalam arah konvolusi x ataupun konvolusi arah y. Langkah dalam melakukan deteksi tepian Canny dapat dilakukan dengan tahapan berikut.
Penghalusan Citra (Image Smoothing)
Data citra dihaluskan dengan fungsi Gaussian dua dimensi. Dalam prakteknya konvolusi dua dimensi dengan fungsi Gaussian dua dimensi akan membutuhkan waktu
yang
sangat
lama,
sehingga
biasanya
diaproksimasi
dengan
mengkonvolusikan dua buah fungsi Gaussian satu dimensi, pada arah x dan arah y. Hal ini akan menghasilkan 2 buah nilai untuk tiap pikselnya. Algoritma pemrograman dalam Matlab dapat dilakukan sebagai berikut : filterx=d2dgauss(Nx1,Sigmax1,Nx2,Sigmax2,Theta1); Ix=conv2(citra,filterx,'same'); filtery=d2dgauss(Ny1,Sigmay1,Ny2,Sigmay2,Theta2); Iy=conv2(citra,filtery,'same');
Diferensiasi
Data citra yang telah dihaluskan dideferensiasi terhadap arah x dan y. Nilai dari array citra yang telah dihaluskan dalam arah x dikonvolusikan dengan turunan pertama fungsi Gaussian satu dimensi dalam arah y. Hal yang sama, nilai dari array citra yang telah dihaluskan dalam arah y dikonvolusikan dengan turunan pertama fungsi Gaussian satu dimensi dalam arah x. Dari nilai-nilai gradien x dan y yang Fahmi : Perancangan Algoritma Pengolahan Citra Mata Menjadi Citra Polar Iris Sebagai Bentuk Antara Sistem Biometrik, 2007
USU Repository © 2007
diperoleh (Ix dan Iy), maka magnitudenya dapat dihitung dari persamaan
Ix 2 + Iy 2 .
Dari hasil ini sudah dapat diperoleh citra dengan tepian yang terekstraksi. Algoritma pemrograman untuk menghitung magnitude diferensiasi adalah sebagai berikut: %Norm of Gradien NVI=sqrt(Ix.*Ix+Iy.*Iy);
Thresholding pada Tepi
Thresholder yang digunakan pada operator Canny adalah hysteresis. Sebagian besar thresholder menggunakan batas tunggal, yang berarti jika nilai tepi berfluktuasi di atas dan di bawah nilai ini akan tampak rusak (streaking). Hysteresis mampu menghilangkan streaking dengan mengeset nilai limit atas dan bawah. Jika nilai suatu titik lebih tinggi dari limit atas threshold, maka akan langsung diterima. Jika nilai suatu titik
lebih rendah dari limit bawah threshold akan secara langsung
dibuang. Jika nilai suatu titik berada di antara batas bawah dan atas, akan diterima jika letaknya berdekatan dengan piksel yang memiliki respon yang kuat. Streaking akan berkurang dengan drastis karena titik dari segmen garis akan berfluktuasi di atas limit atas dan di bawah limit bawah. Algoritma pemrograman untuk menentukan level ambang dari tresholding adalah sebagai berikut: I_max=max(max(NVI)); I_min=min(min(NVI)); level=alfa*(I_max-I_min)+I_min;
parameter alfa akan menentukan seberapa besar batas bawah akan ditarik dari batas terendah level hasil diferensiasi. Sedangkan untuk batas atas tidak berpengaruh banyak pada hasil akhir citra sehingga dapat dibiarkan pada nilai aslinya.
Peredaman Titik Non Maksimum
Tepi harus ditempatkan pada titik maksimum, titik non maksimum akan diredam. Maksimum lokal terjadi pada puncak fungsi gradien, atau titik dimana turunan dari fungsi gradien bernilai nol. Pada kasus ini diharapkan untuk meredam titik non maksimum yang tegak lurus terhadap arah tepi, dibanding arah yang paralel dengan tepi, karena diharapkan kekontinuan tepi dari kontur citra iris mata. Langkah yang dilakukan adalah dengan melihat piksel tengah dari sembilan buah piksel yang bertetanggaan. Dengan menginterpolasi nilai yang berdekatan, besar gradien dihitung pada perbatasan dengan piksel yang bersebelahan pada dua arah Fahmi : Perancangan Algoritma Pengolahan Citra Mata Menjadi Citra Polar Iris Sebagai Bentuk Antara Sistem Biometrik, 2007
USU Repository © 2007
yang tegak lurus dengan piksel di tengah (gambar di bawah). Jika piksel yang dianalisis tidak lebih besar dari dua nilai ini (tidak maksimum), maka titik ini akan diredam.
Gbr 4.2 Ilustrasi Peredaman Titik Non Maksimum
Parameter Canny
Pemilihan parameter deteksi tepi Canny sangat mempengaruhi hasil dari tepian yang dihasilkan. Beberapa parameter tersebut antara lain : 1. Nilai Standart Deviasi Gaussian Semakin besar nilai standart deviasi yang dipilih, maka semakin lebar pula nilai mask Gaussiannya yang akan berakibat pada semakin tebalnya tepi yang dihasilkan. Pemilihan nilai standart deviasi akan sangat berpengaruh pada proses tresholding. Besarnya nilai standart deviasi yang berarti semakin tebalnya tepian, mengharuskan batas atas yang lebih tinggi agar tekstur yang menebal tidak ikut terdeteksi. Pada pemrograman yang dirancang, nilai standart deviasi ini harus disesuaikan dengan besar mask gaussian yang dipilih. Untuk nilai standart deviasi sama dengan 1, maka lebar mask yang digunakan adalah 10 (n1=n2 =10 dan sigma1=sigma2=1) . Pemilihan nilai mask dan standart deviasi gaussian ini dapat dilihat pada bagian lampiran B. 2. Nilai Ambang Tresholding menggunakan batas atas dan batas bawah yang diset antara ‘0’ sampai dengan ‘1’. Batas atas bertujuan untuk mengurangi pengaruh tepi akibat pantulan cahaya pada iris (glare). Sedangkan batas bawah dimaksudkan untuk mengurangi pengaruh tepi akibat tekstur iris, sehingga tepi yang dominan hanya tepi iris dan tepi pupil saja. Dalam hal ini perlu diperhatikan agar nilai batas bawah jangan terlalu besar agar tepian iris dan tepian pupil tidak ikut tereduksi. Pada pemrograman yang dirancang, penentuan ambang batas bawah ini ditetapkan melalui besarnya nilai alfa. Algoritma pemrograman untuk melakukan deteksi tepi Canny dapat dilihat sebagi berikut : Fahmi : Perancangan Algoritma Pengolahan Citra Mata Menjadi Citra Polar Iris Sebagai Bentuk Antara Sistem Biometrik, 2007
USU Repository © 2007
for i=2:n-1 for j=2:m-1 if Ibw(i,j)>level %Penghalusan X=[-1,0,+1;-1,0,+1;-1,0,+1]; %arah x Y=[-1,-1,-1;0,0,0;+1,+1,+1]; filterx=d2dgauss(Nx1,Sigmax1,Nx2, Z=[Ibw(i-1,j-1),Ibw(i-1,j),Ibw(i-1,j+1); Sigmax2,Theta1); Ibw(i,j-1),Ibw(i,j),Ibw(i,j+1); Ix=conv2(citra,filterx,'same'); Ibw(i+1,j-1), Ibw(i+1,j),Ibw(i+1,j+1)]; XI=[Ix(i,j)/NVI(i,j),-Ix(i,j)/NVI(i,j)]; %arah y YI=[Iy(i,j)/NVI(i,j),-Iy(i,j)/NVI(i,j)]; filtery=d2dgauss(Ny1,Sigmay1,Ny2, ZI=interp2(X,Y,Z,XI,YI); Sigmay2,Theta2); if Ibw(i,j)>=ZI(1)&Ibw(i,j)>=ZI(2) Iy=conv2(citra,filtery,'same'); c_ken(i,j)=I_max; else %Norm of Gradien c_ken(i,j)=I_min; NVI=sqrt(Ix.*Ix+Iy.*Iy); end else %Master Tresholding I_max=max(max(NVI)); c_ken(i,j)=I_min; I_min=min(min(NVI)); end level=alfa*(I_max-I_min)+I_min; end Ibw=max(NVI,level.*ones(size(NVI))); end %Peredaman Titik Non Maksimum [n,m]=size(Ibw); ALGORITMA DETEKSI TEPI CANNY
Gbr 4.3 Pemrogrman Matlab untuk Deteksi Tepi Canny
4.3.2 Perhitungan Parameter Koordinat Polar
Perhitungan beberapa parameter lingkaran seperti titik pusat dan jari-jari lingkaran iris dan pupil, dapat dilakukan dengan terlebih dahulu mengambil titik-titik sampel pada tepian yang telah diekstrak. Pengambilan titik-titik ini dilakukan mulai dari titik pusat sampai ke batas luar. Proses pengambilan titik ini membutuhkan perkiraan titik tengah yang sedapat mungkin berada tidak jauh dari titik pusat yang asli. Diambil asumsi bahwa citra yang diolah memuat gambar iris secara simetri dari hasil proses akuisisi citra dan memiliki titik pusat pada fokus pupil. Dengan begitu kita bisa mengambil asumsi nilai awal titik tengah pada absis = M/2 dan ordinat=N/2, dengan M, N adalah ukuran dimensi matriks citra. Nilai awal ini nantinya akan digantikan dengan nilai titik pusat yang sebenarnya dari hasil perhitungan. Jumlah titik yang diambil akan sangat berpengaruh pada ketelitian hasil pengukuran parameter lingkaran. Namun di sisi lain, banyaknya titik yang diambil akan memperlama waktu komputasi. Untuk proses yang optimum, kita dapat mengambil 8 titik dari 4 arah yang berbeda : Utara, Timur, Selatan dan Barat. Masing-masing diambil untuk lingkar dalam pupil (4 buah) dan lingkar luar iris (4 buah). Jumlah titik
Fahmi : Perancangan Algoritma Pengolahan Citra Mata Menjadi Citra Polar Iris Sebagai Bentuk Antara Sistem Biometrik, 2007
USU Repository © 2007
sampel ini dinilai cukup untuk melakukan perhitungan parameter lingkaran dengan waktu komputasi yang tidak terlalu besar. Ilustrasi besaran-besaran tersebut pada hasil deteksi tepi Canny citra mata dapat dilihat sebagai berikut : (a,b) pusat iris mata p = Jari-jari pupil I = Jari-jari Iris
Gbr 4.4 Proses Pengambilan Titik Sampel
Dengan empat arah ini maka kita akan memperoleh 4 titik dari pusat ke batas pupil, dan 4 titik dari pusat ke luar iris. Masing-masing titik kita gunakan untuk menentukan titik pusat, besarnya jari-jari iris dan jari-jari pupil. Parameter-parameter ini mutlak dibutuhkan untuk mengambil batasan lebar data bidang polar yang nantinya akan kita bentuk. Pemrograman untuk mengambil titik sample pada citra dapat dilakukan sebagai berikut :
%Proses Scanning [M,N]=size(c_keni); esty=round(M/2); estx=round(N/2); i=0; j=0; %mencari arah Timur/Barat for n=estx:N if c_keni(esty,n)>1 i=i+1; timur(i)=n; end end for n=0:(estx-1) if c_keni(esty,estx-n)>1 j=j+1;
barat(j)=estx-n; end end if i==1 timur(2)=estx-1; end if j==1 barat(2)=estx-1; end %mencari arah Utara/Selatan i=0; j=0; for m=esty:M if c_keni(m,estx)>1 i=i+1; selatan(i)=m;
end end for m=0:(esty-1) if c_keni(esty-m,estx)>1 j=j+1; utara(j)=esty-m; end end if i==1 selatan(2)=esty-1; end if j==1 utara(2)=esty-1; end
Gbr 4.5 Pemrogrman Matlab untuk Pencarian Titik Sampel
%Proses mengambil titik [stupid,outer_utara]=size(utara); [stupid,outer_selatan]=size(selatan); [stupid,outer_timur]=size(timur); [stupid,outer_barat]=size(barat); %BAGIAN INNER %titik utara y(1)=utara(1);x(1)=estx; %titik timur y(2)=esty;x(2)=timur(1); %titik selatan y(3)=selatan(1);x(3)=estx;
%titik barat y(4)=esty;x(4)=barat(1); %BAGIAN OUTER %titik utara y(5)=utara(outer_utara);x(5)=estx; %titik timur y(6)=esty;x(6)=timur(outer_timur); %titik selatan y(7)=bawah(outer_selatan);x(7)=estx; %titik barat y(8)=esty;x(8)=barat(outer_barat);
Gbr 4.6 Pemrogrman Matlab untuk Pengambilan titik Sampel
Hasil dari pencarian titik ini adalah 2 buah deretan bilangan, masing-masing -
(x(1:4),y(1:4)) yang merupakan titik-titik pada lingkar dalam pupil
-
(x(5:8),y(5:8)) yang merupakan titik-titik pada lingkar luar iris.
4.3.3 Perhitungan Titik Pusat
Untuk perhitungan titik pusat lebih baik digunakan titik pada lingkar dalam pupil untuk mempermudah proses yang dilakukan. Dengan mengetahui 3 titik yang berbeda (x1,y1), (x2,y2), dan (x3,y3) kita dapat melakukan perhitungan sebagaimana yang disyaratkan pada persamaan(2.10) sebelumnya. R2 = (x12+y12) - (2x1)a - (2y1)b + a2 + b2 R2 = (x22+y22) - (2x2)a - (2y2)b + a2 + b2 R2 = (x32+y32) - (2x3)a - (2y3)b + a2 + b2
(4.2) (4.3) (4.4)
Dengan metode eliminasi (4.1)-(4.2) = ((x12+y12)-(x22+y22))–((2x1)-(2x2))a – ((2y1)– (2y2))b 0 = C – Da – Eb (4.2)–(4.3) = ((x22+y22)-(x32+y32))–((2x2)- (2x3))a – ((2y2)– (2y3))b 0 = F – Ga - Hb (4.5)–(4.6) = (CH - FE) – (DH - GE)a a = (CH - FE) / (DH - GE) (4.6): b = (C - Da)/E
(4.5) (4.6) (4.7) (4.8)
a dan b masing-masing adalah titik absis dan ordinat dari lingkaran pupil. Dari keempat titik pada batas pupil yang telah diambil kita dapat melakukan kombinasi perhitungan sebanyak 3C4 buah = 4 buah perhitungan. Nilai titik pusat diambil dari rata-rata hasil keempat perhitungan tersebut. Algoritma pemrograman untuk melakukan perhitungan titik pusat adalah sebagai berikut:
%Perhitungan Titik Pusat Iris n=0; for k=3:4 i=1; j=2; n=n+1; c=x(i)^2+y(i)^2-x(j)^2-y(j)^2; d=2*(x(i)-x(j)); e=2*(y(i)-y(j)); f=x(j)^2+y(j)^2-x(k)^2-y(k)^2; g=2*(x(j)-x(k)); h=2*(y(j)-y(k)); a(n)=(c*h-f*e)/(d*h-g*e); b(n)=(c-(d*a(n)))/e; end
for i=1:2 j=3; k=4; n=n+1; c=x(i)^2+y(i)^2-x(j)^2-y(j)^2; d=2*(x(i)-x(j)); e=2*(y(i)-y(j)); f=x(j)^2+y(j)^2-x(k)^2-y(k)^2; g=2*(x(j)-x(k)); h=2*(y(j)-y(k)); a(n)=(c*h-f*e)/(d*h-g*e); b(n)=(c-(d*a(n)))/e; end % cari nilai rata-ratanya an=(a(1)+a(2)+a(3)+a(4))/4;absis=round(an) bn=(b(1)+b(2)+b(3)+b(4))/4;ordinat=round(bn)
Gbr 4.7 Pemrograman Matlab untuk Perhitungan titik Pusat
4.3.4 Perhitungan Jari-jari Iris dan Jari-jari Pupil
Setelah mengetahui titik pusat lingkaran, kita dapat dengan mudah menghitung besarnya jari-jari iris maupun jari-jari pupil. Dengan memiliki delapan buah titik pengamatan (empat untuk lingkar dalam pupil, dan empat untuk lingkar luar iris), maka kita dapat melakukan 4 kali perhitungan untuk jari-jari iris dan 4 kali perhitungan untuk jari-jari pupil (3C8). Perhitungan dilakukan dengan menggunakan persamaan(2.11) yang telah dijelaskan pada bab II. R2n= ((xn2+yn2) - (2xn)a – (2yn)b +a2+b2 ) n = 0,1,…N
(4.9)
Hasil akhir nilai jari-jari diperoleh dengan mencari nilai rata-rata dari keempat hasil perhitungan. Algoritma pemrograman untuk melakukan perhitungan jari-jari iris dan jari-jari pupil adalah sebagai berikut: %Perhitungan Nilai jari-jari iris dan pupil for n=1:4 rp(n)=(x(n)^2+y(n)^2-(2*x(n)*an)-2*y(n)*bn+an^2+bn^2)^0.5; ri(n)=(x(n+4)^2+y(n+4)^2-(2*x(n+4)*an)-2*y(n+4)*bn+an^2+bn^2)^0.5; end jari_pupil=(rp(1)+rp(2)+rp(3)+rp(4))/4 jari_iris=(ri(i)+ri(2)+ri(3)+ri(4))/4
Untuk penggunaan pada proses selanjutnya, parameter-parameter yang telah diperoleh dicari nilai bulatnya untuk menghindari kesalahan pemrograman. Hal ini disebabkan karena parameter yang dimiliki akan digunakan untuk operasi matriks yang membutuhkan nilai integer.
Penyesuaian nilai jari-jari juga harus dilakukan agar nilai yang diperoleh tidak melebihi kapasitas indeks data matriks citra yang dimiliki. Nilai jari-jari yang melebihi kapasitas dapat terjadi untuk iris mata yang memiliki bentuk lingkaran yang tidak sempurna. Bentuk yang terlalu pipih atau elips akan menyebabkan dimensi matriks citra tidak simetris. Agar tidak terjadi kesalahan pada saat pengolahan citra maka harus dilakukan penyesuaian nilai jari-jari baik untuk iris, maupun pupil. Penyesuaian ini dilakukan dengan memperhatikan nilai [M,N] yang merupakan dimensi dari matriks citra. Nilai jari-jari yang melebihi nilai setengah dari kedua nilai ini akan dikembalikan menjadi nilai M/2 –1 atau N/2 –1 tergantung pada nilai M dan N yang lebih kecil. Perlu diperhatikan juga keadaan titik pusat dari lingkaran iris. Untuk nilai absis dan ordinat titik pusat yang lebih kecil dari M/2 atau N/2, maka nilai jari-jari iris harus dikembalikan kepada nilai absis dan ordinat titik pusat yang terkecil. Dengan cara ini maka dapat dijamin nilai jari-jari tidak akan melampaui kapasitas indeks matriks. Algoritma pemrograman untuk melakukan penyesuaian yang dimaksud, dapat dilakukan sebagai berikut : %----batas iris r_iris=floor(jari_iris); if absis
r_iris=(M-absis)-1; else r_iris=(N-ordinat)-1; end end else if ordinat<M-absis if ordinat<(Nordinat) r_iris=ordinat-1; else
r_iris=(N-ordinat)-1; end else if (M-absis)<(N-ordinat) r_iris=(M-absis)-1; else r_iris=(N-ordinat)-1; end end end
Gbr 4.8 Pemrogrman Matlab untuk Penyesuaian Jari Iris
Sedangkan algoritma penyesuaian batas pupil dilakukan untuk menghindari terdapatnya bagian pupil pada citra polar yang dibentuk. Selain itu juga untuk menghindari terlalu banyaknya bagian tepi dalam iris yang terpotong bila jari-jari pupil yang digunakan terlalu besar. Untuk itu perlu dilakukan penyesuaian dengan algoritma sebagai berikut :
%------batas pupil r_pupil=floor(jari_pupil); for i=1:4 if r_pupil>rp(i) r_pupil=rp(i); end end
4.3.5 Pembentukan Citra Polar
Dengan mengetahui parameter-parameter lingkaran, maka kita dapat melakukan pembentukan citra transformasi polar dari citra iris yang kita miliki. Hal ini dapat dilakukan dengan melakukan pembacaan piksel-piksel citra secara clock wise sejauh 3600 yang dilakukan pada bidang yang dibatasi antara jari-jari pupil dan jari-jari iris. Sebagai poros perputaran pembacaan piksel ini digunakan titik pusat sebenarnya yang telah kita peroleh dari perhitungan di atas. Dan jari-jari yang digunakan adalah jari-jari iris dan pupil yang telah disesuaikan dengan dimensi matriks citra. Algoritma pemrograman untuk melakukan pembentukan citra polar adalah sebagai berikut : %Pembentukan Citra Polar i=0; a=1.5708/90; %konversi sudut for theta=0:1:360 %panjang data i=i+1; for r=r_pupil:r_iris %lebar data s_tegak=r*cos(a*theta); s_alas=r*sin(a*theta); if theta<=90 m=ordinat-s_tegak; n=absis+s_alas; elseif theta>90 & theta<=180 m=ordinat-s_tegak;
n=absis+s_alas; elseif theta>180 & theta<=270 m=ordinat-s_tegak; n=absis+s_alas; elseif theta>270 & theta<=360 m=ordinat-s_tegak; n=absis+s_alas; end m=ceil(m); n=ceil(n); y(r+1-r_pupil,i)=c_gray(m,n); end end
Gbr 4.9 Pemrograman Matlab untuk Pembentukan Citra Polar
Hasilnya adalah bentuk polar dari citra iris yang memiliki panjang data sebesar 360n dengan n adalah selisih antara sudut-sudut geometri yang dideteksi pikselnya. Sedangkan lebar data ditentukan oleh besarnya selisih dari jari-jari iris dan jari-jari pupil yang meliputi keseluruhan bidang geometri iris.
BAB V PENGUJIAN ALGORITMA DAN ANALISIS SISTEM
Untuk mengetahui keberhasilan dari algoritma yang telah dirancang, maka perlu dilakukan pengujian terhadap data citra yang dimiliki. Dalam bab ini akan dibahas mengenai proses pengujian yang dilakukan serta analisis dari hasil yang diperoleh.
5.1 Mekanisme Pengujian
Tujuan dari pengujian adalah untuk mengetahui fungsionalitas algoritma pemrograman yang telah dirancang, waktu komputasi yang dibutuhkan dan juga tingkat keberhasilan dan keefektifan metoda. Tingkat keberhasilan menunjukkan seberapa besar kemampuan metoda yang dikembangkan dalam memberikan bentuk antara citra polar iris dari cira mata utuh untuk kemudian digunakan dalam analisis sistem biometrik. Selain itu juga diukur waktu komputasi yang dibutuhkan untuk tiap-tiap algoritma dalam memproses citra iris mata sesuai dengan prosedur pemrograman yang telah dirancang pada bab sebelumnya.
5.2 Spesifikasi Sistem
Implementasi perangkat keras dan perangkat lunak sangat menentukan keberhasilan dari pengujian algoritma yang telah dirancang. Berikut ini adalah uraian piranti yang digunakan dalam proses pengujian ini.
5.2.1 Perangkat Lunak
Seperti yang telah dijelaskan pada bab IV, dalam laporan ini sebagian besar proses menggunakan software MATLAB 7 untuk mengolah citra. Fungsi-fungsi yang digunakan terdapat dalam Image Processing Toolbox ver 4.2 yang dijalankan di bawah sistem operasi WindowsXP. Beberapa perangkat lunak lain yang digunakan adalah Microsoft©Paint ataupun dengan IrvanView 3.51 yang dibutuhkan saat melakukan akuisisi data citra.
5.2.2 Perangkat Keras
Pengambilan gambar iris mata dilakukan dengan menggunakan kamera digital dengan kualitas yang memadai. Ada beberapa jenis kamera digital yang dapat digunakan : 1. Casio QV-8000-SX Beberapa klinik Iridologi banyak yang menggunakan kamera digital jenis ini. Kamera ini sangat baik digunakan karena memiliki kemampuan perbesaran sampai dengan 8 kali tanpa kehilangan fokus pengamatan. Kualitas citra dan resolusi yang dihasilkan sangat memadai untuk dapat dipakai dalam menganalisis citra iris mata. Kapasitas memori yang dimiliki cukup besar (32 MB) dan dapat ditambah dengan card memory tambahan. 2. Sony DSL1 3.3 Mpix Dari percobaan yang dilakukan di laboratorium Robovis, kamera digital jenis ini dapat juga digunakan dan memberikan hasil dengan kualitas yang cukup memadai. Kamera ini memiliki perbesaran hingga 6 kali, resolusi 3.3 Mpix dan pemfokusan hingga jarak 10 cm. Kapasitas memori yang dimiliki sebesar 6 MB dan dapat ditambah dengan card memory tambahan. Gambar yang dihasilkan oleh kamera digital adalah citra berwarna dalam format BMP dengan ukuran yang bervariasi. Citra yang diperoleh juga masih memiliki bagian-bagain yang tidak penting seperti bagian alis dan kelopak mata. Contoh hasil pengambilan citra mata dengan kamera digital CASIO QV-8000-SX dapat dilihat pada gambar berikut.
Gbr 5.1 Citra Asli berukuran 259x194, format .bmp
Pengambilan citra iris mata kadangkala membutuhkan penerangan lampu halogen yang diletakkan di samping kanan/kiri kamera digital. Atau untuk pengujian dalam laboratorium digunakan lampu biasa yang ditutupi dengan karton pembatas. Penempatan lampu ini kadang menyebabkan timbulnya glare yang dapat mengganggu analisis citra. Untuk itu perlu diantisipasi dalam proses awal pengolahan citra. Digunakan juga penopang dagu yang bertujuan untuk menjaga tetap tegaknya sumbu kepala. Hal ini diperlukan untuk menjaga sumbu dari iris agar sesuai dengan penampakan pada diagram iridologi yang dijadikan patokan. Untuk kebutuhan pengolahan algoritma digunakan satu set komputer Pentium IV-1.7 GHz, RAM 512 MB, dan VGA 4MB dengan layar monitor diset untuk dapat menampilkan warna true color 24 bit (16777216). Hal ini perlu diperhatikan karena warna yang diolah adalah warna yang tampak pada layar monitor. Bila menggunakan setting 16 warna, 256 warna ataupun 16 bit (655536), maka akan terjadi pembulatan warna yang bukan nilai sebenarnya. Resolusi yang digunakan minimal 800x600 agar tampilan dapat dilihat dengan baik.
5.3 Pengujian Algoritma
Pengujian algoritma dilakukan untuk tiap-tiap citra dengan proses yang sama. Kecuali pada bagian pengolahan awal citra, tiap citra mengalami proses yang sedikit berbeda tergantung pada kebutuhannya masing-masing. Parameter pengontrasan, perataan iluminasi dan ataupun penapisan terhadap derau dilakukan dengan melihat citra yang miliki. Semakin buruk kualitas citra untuk dianalisis maka semakin banyak pemrosesan awal yang dilakukan pada citra. Berikut adalah hasil pengujian pemrosesan citra pada data citra iris .
5.3.1 Pengujian Algoritma Pemisahan Bagian Iris
Untuk memisahkan bagian iris dari keseluruhan mata, maka diterapkan 3 tahapan proses.
Proses pertama adalah binerisasi dengan mengubah cita berwarna menjadi citra biner hitam putih. Bagian iris secara umum akan memiliki pixel hitam, sedangkan bagian mata lain akan memiliki pixel putih. Kadangkala keberadaan glare di bagian iris mata dapat menyebabkan timbulnya bercak putih pada citra biner. Untuk itulah diperlukan operasi morphologi. Operasi yang dilakukan adalah operasi opening, yaitu melakukan berturut-turut dilasi dan erosi. Dari citra inilah baru kemudian dilakukan perhitungan titik jari-jari dan titik tengah iris. Dengan data yang diperoleh maka dapat dilakukan rekonstruksi look up dengan memotong citra asli dan mengambil citra iris saja.
5.3.2 Pengujian Algoritma Proses Awal
Proses awal yang berupa Image Enhancement sangat bergantung pada kualitas tiaptiap citra iris mata yang dimiliki. Semakin baik kualitas citra untuk dapat diolah pada proses berikutnya, maka semakin sedikit proses awal yang harus dilakukan. Untuk citra uji dilakukan pemrosesan awal sebagai berikut : Dari citra asli yang diambil bagian irisnya, diperoleh ukuran citra kurang lebih 240x240 dalam format .bmp.
Gbr 5.2 Citra Akuisisi Berwarna
Dari hasil akuisisi kemudian dibuat citra grayscale 8 bit, pengontrasan dengan menurunkan 0.3 piksel maksimum untuk
memperjelas perbedaan pada batas, koreksi gamma 0.79 untuk perataan iluminasi akibat glare yang ada. Melihat derau yang terjadi tidak begitu mengganggu, maka tidak dilakukan penapisan. Gbr 5.3 Citra Grayscale hasil Proses Awal Dalam hal ini akan terjadi perubahan pada besar data citra yang akan diolah nantinya. Citra bmp semula memiliki ukuran data 240x240x24 bit, dan setelah dibentuk citra grayscale ukuran data citra menjadi 240x240x8 bit. Pengurangan ukuran data ini akan mengurangi kerumitan dan waktu komputasi proses selanjutnya. Keseluruhan proses awal memakan waktu lebih kurang sekitar 10 sampai dengan 15 detik. Beberapa proses seperti akuisisi dilakukan secara manual dan membutuhkan waktu yang relatif berbeda antara tiap citra yang diolah.
5.3.3 Pengujian Algoritma Deteksi Tepi Canny
Dilakukan pengujian deteksi tepi canny dengan memilih parameter deteksi yang berbeda-beda. Parameter yang digunakan adalah σ , lebar mask gaussian, dan faktor alfa. Dilakukan pengubahan nilai faktor alfa untuk melihat pengaruh ketebalan tepian yang dihasilkan. Pemilihan nilai yang digunakan berdasarkan uji coba trial-error untuk menghasilkan deteksi tepian yang optimum. Untuk nilai alfa yang berbeda dapat dilihat hasil deteksi tepian sebagai berikut :
Gbr 5.4 Citra hasil canny a) faktor alfa 0.1, b) faktor alfa 0.075, c) faktor alfa 0.05 Dari hasil perbandingan di atas maka dapat dilhat, semakin kecil nilai faktor alfa maka semakin baik tepian yang dihasilkan. Akan tetapi waktu komputasi juga akan
semakin panjang. Masing – masing waktu yang dibutuhkan adalah 125 detik untuk faktor alfa 0.1, 200 detik untuk 0.07 dan 270 detik untuk faktor alfa 0.05. Harus dilakukan pemilihan nilai yang paling optimum dari segi tepian yang dihasilkan (yang penting hanya bagian tepi lingkaran iris dan pupil), dan waktu komputasi yang dibutuhkan.
5.3.4 Pengujian Perhitungan Parameter Lingkaran iris
Dari citra tepian yang diperoleh, dilakukan pengujian perhitungan parameter lingkaran iris meliputi titik pusat, jari-jari iris dan jari-jari pupil. Dengan menggunakan algoritma pemrograman yang telah dirancang sebelumnya, pertama dilakukan proses scanning untuk mendapatkan titik-titik sampel pada lingkar dalam pupil dan lingkar luar iris. Proses ini dilakukan mulai dari titik tengah citra sampai ke sisi terluar dari iris. Untuk citra dengan ukuran 240x240, maka titik tengah terletak pada posisi (120,120). Dari pengujian akan diperoleh dua buah barisan bilangan yang memuat informasi tentang posisi 4 titik pada lingkar dalam pupil dan 4 titik lingkar luar iris. Pengujian pada citra uji memberikan hasil berupa titik-titik lingkar dalam pupil pada (60,120), (120,149), (157,120), dan (120,81). Sedangkan titik-titik lingkar luar iris yang diperoleh berada pada (10,120), (120,229), (235,120), dan (120,14). Waktu yang dibutuhkan untuk proses ini tidak lebih dari 1 detik. Setelah memiliki 8 buah titik sampel maka parameter lingkaran iris dapat dihitung menggunakan algoritma yang telah dikembangkan. Perhitungan pada citra uji memberikan hasil berupa titik pusat yang berada pada (108,109), jari-jari iris 99.6 piksel dan jari-jari pupil 52.81 piksel. Melihat ukuran data citra 240x240, maka dapat disimpulkan bahwa titik pusat cenderung berada sedikit ke kiri atas. Hal ini perlu diperhatikan pada saat melakukan penyesuaian jari-jari iris dan pupil yang digunakan dalam pembentukan citra polar. Keseluruhan proses perhitungan parameter lingkaran iris memakan waktu tidak kurang dari 1 detik pada tiap jenis citra yang berbeda.
Gbr 5.5 Hasil Pengujian 8 Titik Sampel, Perhitungan Titik Pusat dan Jari-jari
5.3.5 Pengujian Algoritma Pembentukan Citra Polar
Parameter lingkaran iris yang diperoleh dapat digunakan untuk melakukan transformasi polar. Transformasi yang dilakukan sejauh 360 derajat pada kesemua lebar iris. Diambil titik acuan adalah titik pusat hasil perhitungan, dan dilakukan penyesuaian pada jari-jari iris dan pupil dengan tujuan agar keseluruhan bidang iris dapat ditransformasikan dan agar tidak melampaui batas matriks. Pada citra uji, terlihat citra iris memiliki titik pusat yang cenderung berada di bagian kiri atas. Untuk itu nilai jari-jari iris dan pupil yang telah dihitung harus dikembalikan ke nilai yang lebih sesuai. Jari-jari pupil diambil untuk nilai yang lebih rendah : 50 piksel. Sedangkan jari-jari iris diambil dari nilai terendah titik pusat yaitu 108 piksel. Dengan penyesuaian ini maka dapat dilakukan proses transformasi polar tanpa terjadi kesalahan pada pemrograman. Untuk citra polar ini digunakan selisih sudut 1 derajat untuk panjang data 360 piksel. Dan lebar data adalah 58 piksel dihitung dari selisih jari-jari iris dan jari-jari pupil yang telah disesuaikan. Berikut hasil transformasi yang dilakukan pada citra uji.
00
3600
Gbr. 5.6 Hasil Citra Polar Waktu yang dibutuhkan untuk proses pembentukan bentuk polar ini berkisar antara 5 sampai dengan 10 detik. Berbeda antara satu citra dengan citra lainnya tergantung kepada lebar data iris yang dimiliki dan panjang data yang diinginkan.
BAB VI PENUTUP
6.1 Kesimpulan
Algoritma pengolahan citra dapat dikembangkan untuk membantu pengolahan awal citra mata sebagai bagian proses analisis system biometrik. Pemilihan bentuk antara yang sesuai, pengolahan awal citra, serta teknik klasifikasi yang dipilih akan sangat berpengaruh pada sejauh mana algoritma yang dirancang dapat memberikan hasil pengolahan sesuai dengan yang diinginkan. Dalam laporan ini telah dikembangkan algoritma pemrograman pengolahan citra iris mata dalam aplikasi iridologi. Beberapa proses yang diterapkan untuk melakukan hal tersebut, antara lain : - Pemisahan bagian iris dari keseluruhan citra mata, dengan 3 tahap : binerisasi, operasi morphologis, dan rekonstruksi Look-up - Pengolahan awal (preprocessing image) dengan melakukan enhancement atau perbaikan kualitas citra yang cukup, agar ciri yang dipilih dapat diekstrak nantinya. Hal yang dilakukan antara lain pembentukan citra grayscale, penapisan, perataan iluminasi dan pengontrasan. - Pemilihan bentuk antara berupa citra polar, mengingat bentuk geometris Iris berupa lingkaran yang diharapkan mampu memudahkan proses pengolahan citra. Di dalamnya dibutuhkan algoritma deteksi tepian Canny, perhitungan parameterparameter lingkaran dan proses pembentukan citra polar itu sendiri. Pemilihan beberapa parameter dalam proses yang dilakukan sangat mempengaruhi hasil akhir dari klasifikasi. Mulai dari penentuan nilai parameter untuk pengontrasan, parameter deteksi tepian Canny, sampai kepada pemilihan nilai ambang dominan merupakan parapeter-parameter yang sangat menentukan berhasil tidaknya proses pengolahan citra. Untuk itu, dari pengujian yang dilakukan telah dipilih beberapa parameter yang paling sesuai untuk digunakan. Secara keseluruhan algoritma yang dirancang dapat dijalankan dengan baik. Akan tetapi waktu komputasi yang dibutuhkan masih terlalu lambat bila ingin diterapkan untuk aplikasi sebenarnya.
Secara keseluruhan, algoritma yang dirancang dianggap telah berhasil memenuhi tujuan perancangan pengolahan citra iris mata menjadi citra polar iris sebagai bentuk antara untuk sistem biometrik.
6.2 Saran
Algoritma yang dirancang masih dapat dikembangkan lebih jauh untuk memperoleh hasil yang lebih baik. Beberapa hal yang perlu dikembangkan untuk penelitian lebih lanjut antara lain : 1. Pengujian
algoritma
sebaiknya
dikembangkan
dengan
penelitian
yang
menggunakan lebih banyak data, pembandingan diagnosis yang lebih akurat (bekerjasama dengan pihak rumah sakit) serta penggunaan piranti pengujian, baik perangkat lunak maupun perangkat keras yang lebih baik. 2. Perlu dilakukan implementasi pemrograman yang lebih tinggi dan lebih user friendly , misalnya dengan membuat prototype program aplikasi dalam bahasa Visual C ataupun Java sehingga memungkinkan para praktisi iridolog menggunakan algoritma ini dalam praktik iridologi secara lebih mudah.
DAFTAR PUSTAKA
1. Fahmi, “Perancangan Algoritma Pengolahan Citra Iris Mata untuk Aplikasi Iridologi Menggunakan Metode Simpangan Kepadatan dan Gray Level Spatial Dependence”, Tugas Akhir Jurusan Teknik Elektro, ITB 2002. 2. Kurniawan, Edi.“Finding Iris Object and Its Information Value”, Jurnal ICTS hal 136-140, Surabaya 2006 3. Jain, Anil K. “Fundamental of Digital Image Processing”, Prentice Hall, New Jersey, 1989. 4. Mengko, Tati Latifah R. “Diktat Kuliah Pengolahan Citra Digital”, ITB, tanpa tahun. 5. “Canny Edge Detector”, http://www.icbl.hw.ac.uk/marble/vision, last updated February 2002.