Segmentasi
Tujuan dari segmentasi adalah untuk mendapatkan koordinat pusat lingkaran dari pupil mata pada citra. Untuk mendapatkan koordinat tersebut, perlu dilakukan beberapa tahapan yaitu thresholding, regioning dan labeling serta pencarian nilai piksel pada pusat lingkaran yang memiliki luas region terbesar.
Pada tahapan thresholding, dilakukan pencarian terhadap piksel yang memiliki nilai lebih rendah dari nilai threshold tertentu. Nilai threshold didapat melalui persentase jumlah piksel yang memiliki nilai < 100 terhadap total piksel pada citra. Hal ini dikarenakan ada perbedaan intensitas pencahayaan pada pengambilan citra mata sehingga jika intensitas pencahayaan rendah, maka nilai piksel cenderung rendah. Begitu pula sebaliknya, jika intensitas pencahayaan tinggi, nilai piksel akan cenderung besar. Contoh hasil thresholding pada citra dapat dilihat pada Gambar 7.
(a) (b)
Gambar 7 Segmentasi citra mata (a) sebelum dilakukan segmentasi, (b) setelah dilakukan segmentasi.
Sebelum dilakukan thresholding (Gambar 7a), rentang nilai piksel adalah 0 sampai 255 sedangkan setelah dilakukan thresholding (Gambar 7b), rentang nilai piksel menjadi biner, yaitu 0 dan 1. Nilai 0 menunjukkan bahwa piksel tersebut ≤ threshold dan merupakan bagian dari objek. Nilai 1 berarti piksel tersebut memiliki nilai > threshold dan merupakan background dari objek. Untuk memudahkan dalam perhitungan selanjutnya, nilai
background dan objek ditukar, sehingga background bernilai 0 dan objek bernilai 1.
Setelah citra melalui tahap thresholding seperti Gambar 7b, dilakukan labeling menggunakan fungsi bwlabel pada Matlab. Fungsi tersebut memberikan nilai 1 pada setiap piksel yang memiliki jumlah konektivitas secara vertikal atau horizontal sebanyak ≥ 4 atau ≥ 8 dengan tetangganya yang memiliki nilai yang sama. Contoh kasus penggunaan bwlabel ada pada Lampiran 2.
Hasil dari labeling adalah berupa region yang memiliki indeks 1 sampai N, dengan N adalah jumlah region yang terdeteksi oleh fungsi bwlabel. Setelah itu dilakukan perhitungan terhadap jumlah piksel yang masuk ke dalam setiap region. Region yang kemudian dipilih sebagai pupil adalah yang memiliki jumlah piksel terbanyak. Sebagai ilustrasi pada Gambar 8, region yang memiliki jumlah piksel terbanyak adalah region dengan indeks 7. Piksel yang memiliki indeks region selain 7 kemudian akan dianggap sebagai background dan diberi nilai 0 seperti terlihat pada Gambar 9.
Gambar 8 Ilustrasi labeling di setiap region pada citra mata yang telah diberi threshold.
Gambar 9 Citra mata dengan region terbesar. Tahap terakhir dalam proses segmentasi adalah pencarian koordinat titik tengah pupil dari citra yang telah dicari region terbesarnya. Pencarian koordinat pupil dilakukan melalui pengecekan antara persimpangan garis vertikal
dengan garis horizontal. Pencarian akan terus berlangsung hingga menemukan kondisi ideal di daerah tengah pupil.
Ilustrasi pencarian titik tengah pupil dapat dilihat pada Gambar 10. Variabel x0 dan y0
adalah garis vertikal dan horizontal, sedangkan x1, x2, y1, dan y2 adalah batas wilayah pupil.
Persimpangan antara garis vertikal dan horizontal adalah koordinat pupil yaitu (x0, y0),
sedangkan diameter pupil didapat dari selisih antara y2 dan y1 atau x2 dan x1. Selisih yang
terpanjang dianggap sebagai diameter pupil. Jari-jari pupil didapat dari diameter pupil dibagi dua.
Gambar 10 Ilustrasi pencarian koordinat pupil Setelah koordinat titik pusat lingkaran pupil dan jari-jarinya diketahui, wilayah collarette yang kemudian digunakan untuk pengenalan adalah hingga sejauh 20 piksel dari wilayah luar lingkaran pupil. Ilustrasi wilayah iris tersebut dapat dilihat pada Gambar 11.
Gambar 11 Ilustrasi wilayah collarette. Normalisasi
Setalah titik pusat pupil dan jari-jari dari setiap citra diketahui, perlu dilakukan transformasi wilayah collarette ke dimensi yang tetap. Hal ini dikarenakan jari-jari setiap citra memiliki panjang yang berbeda walaupun citra tersebut milik orang yang sama. Gambar 12 memperlihatkan dua citra dari orang yang sama namun memiliki jari-jari yang berbeda. Gambar 12a memiliki jari-jari sebesar 57 piksel sedangkan Gambar 12b memiliki jari-jari sebesar 51 piksel. Tidak konsistennya dimensi dapat menyebabkan ekstraksi ciri menjadi
8 kurang baik dan sukar untuk dilakukan
pembandingan dengan data lainnya (Masek 2003).
(a) (b)
Gambar 12 Mata kiri orang ke-1 yang diambil pada waktu berbeda (a) pengambilan pertama (b) pengambilan kedua.
Wilayah collarette yang diambil adalah sejauh 20 piksel ke arah luar dari jari-jari pupil. Dengan pembagian sudut N sebanyak 240 sepanjang lingkaran pupil, maka akan menghasilkan array yang berukuran 20 x 240 yang memiliki nilai sepanjang garis putih ke arah luar dari batas lingkaran pupil pada seperti Gambar 13a.
(a)
(b)
(c)
Gambar 13 Proses normalisasi (a) ilustrasi pengambilan nilai piksel sepanjang garis putih ke arah luar batas jari-jari pupil, (b) hasil normalisasi dengan noise, (c) hasil normalisasi dengan nilai noise diubah.
Citra yang telah ditransformasikan ke dalam koordinat polar tampak seperti pada Gambar
13b. Agar proses ekstraksi ciri menghasilkan output yang lebih baik, maka nilai piksel yang termasuk noise seperti yang ditandai di dalam lingkaran pada Gambar 13b diubah nilainya menggunakan rumus:
(7)
dengan adalah nilai piksel setelah diubah nilainya. Hasil citra yang telah diubah nilai noise-nya akan tampak seperti Gambar 13c. Noise yang terbentuk dapat berasal dari wilayah pupil atau bulu mata yang ikut ternormalisasi. Wilayah pupil ikut ternormalisasi dikarenakan segmentasi yang kurang sempurna.
Feature Encoding
Citra yang telah dinormalisasi kemudian diekstraksi cirinya menggunakan log-Gabor filter. Karena citra yang telah dinormalisasi berdimensi 20 x 240, maka akan dihasilkan template yang memiliki dimensi 20 x 480 dengan rentang nilai biner, yaitu 0 dan 1. Dimensi template tersebut kemudian diubah menjadi ukuran 1 x 9600 yang kemudian dijadikan fitur untuk proses pelatihan dan pengujian menggunakan algoritme VFI5. Ilustrasi proses feature encoding dapat dilihat pada Lampiran 3.
Pelatihan dan Pengujian
Proses pelatihan dan pengujian dilakukan menggunakan algoritme VFI5 terhadap tiga subset yang saling lepas dari data template mata kanan, mata kiri dan gabungan keduanya sesuai dengan 3-cross fold validation. Proses tersebut dilakukan terhadap keseluruhan 9600 fitur yang masing-masing memiliki dua EndPoints yaitu 0 dan 1 dan memiliki dua interval saja karena data dari template yang terbentuk merupakan data yang berupa point interval. Kemudian dari masing-masing kelas pelatihan, dihitung vote dari setiap fitur untuk digunakan pada tahap pengujian dan dilakukan normalisasi agar rentang nilainya berkisar 0 sampai 1.
Hasil pengujian yang benar dan salah pada masing-masing subset dapat dilihat pada Tabel 2. Untuk hasil yang lebih lengkap dapat dilihat pada Lampiran 4 sedangkan untuk nilai vote keseluruhan dapat dilihat pada Lampiran 5. Peringkat kemiripan dari setiap data uji terhadap kelas yang ada dapat dilihat pada Lampiran 6.
Beberapa kesalahan terjadi dalam pengujian kelas citra uji pada setiap subset. Tetapi, pada pengujian terhadap data vote gabungan tidak terdapat kesalahan dalam pengujian. Hal ini
dikarenakan nilai vote dari salah satu mata yang memberikan nilai dominan dibandingkan nilai mata yang lainnya. Sebagai contoh pada Tabel 3, saat dilakukan pengujian terhadap mata kanan pada subset fold1, terdapat kesalahan penglasifikasian kelas 2 menjadi kelas 8 (lihat pada Lampiran 4). Nilai vote untuk kelas uji dikenali sebagai kelas 2 dan kelas 8 berbeda tipis sebesar 0.0003 namun karena nilai vote untuk kelas 8 lebih besar, maka data uji akan diklasifikasikan sebagai kelas 8. Penambahan vote mata kiri memberikan nilai vote untuk kelas 2 lebih besar karena pada mata kiri, nilai
vote untuk kelas 2 jauh lebih besar
dibandingkan untuk kelas 8 dengan selisih sebesar 0.02 sehingga setelah penggabungan, nilai kelas akan diberikan pada kelas 2. Hal ini akan mengkoreksi kelas sebelumnya yang jatuh pada kelas 8.
Tabel 2 hasil pengujian yang benar dan salah
subset Wilayah Mata Klasifik- asi Benar Klasifik- asi Salah fold1 Kiri 28 2 Kanan 29 1 Gabungan 30 0 fold2 Kiri 28 2 Kanan 27 3 Gabungan 30 0 fold3 Kiri 30 0 Kanan 28 2 Gabungan 30 0
Tabel 3 Nilai vote data uji kelas 2 yang salah diklasifikasi menjadi kelas 8 pada fold1
Mata Kelas
Dikenali sebagai kelas ke-(Nilai vote)
2 8
Kiri 2 0,1150 0,0950
Kanan 2 0,1046 0,1049
Total 0,2196 0,1999 Penyebab kesalahan klasifikasi pada data uji di antaranya dapat disebabkan oleh kesalahan pada segmentasi data latih maupun data uji itu sendiri. Gambar 14 menunjukkan ilustrasi hasil segmentasi citra mata kiri orang ke-6 yang salah diklasifikasikan menjadi kelas 10 pada subset fold1. Hasil segmentasi dari citra orang tersebut kurang sempurna karena koordinat titik tengah pupil yang didapat sedikit terlalu bawah sehingga cukup banyak wilayah pupil bagian atas yang masuk sebagai wilayah iris dan wilayah iris bagian bawah ada yang tidak terambil (Gambar 13a). Namun setelah
koordinat titik tengah pupil dinaikkan sebesar 2 piksel ke arah atas (Gambar 13b) secara manual, citra tersebut dapat dikenali dengan benar oleh sistem.
(a)
(b)
Gambar 14 Ilustrasi wilayah iris (a) sebelum modifikasi nilai titik tengah, (b) setelah modifikasi.
Nilai vote sebelum dan sesudah modifikasi nilai tengah pada citra mata kiri orang ke-6 tersebut dapat dilihat pada Tabel 4. Dari Tabel tersebut terlihat bahwa nilai vote data uji terhadap kelas 6 lebih kecil dibandingkan kelas 10 sebelum dilakukan modifikasi nilai titik tengah. Namun setelah dilakukan modifikasi, nilai vote untuk kelas 6 menjadi lebih besar dibandingkan dengan kelas 10 sehingga data uji dikenali dengan benar.
Tabel 4 Nilai vote kelas 6 yang salah dikenali menjadi kelas 10 pada fold1
Titik Tengah
Pupil
Dikenali Sebagai kelas ke- (vote)
6 10
Awal 0,100 0,104
Modifikasi 0,107 0,102 Ilustrasi lainnya dapat dilihat pada kesalahan pengujian kelas 10 menjadi kelas 6 pada subset fold1. Pada Gambar 15a terlihat bahwa data uji
10 telah tersegmentasi dengan baik, namun tetap
menunjukkan kesalahan pengenalan. Hal tersebut disebabkan oleh data latih banyak yang tidak tersegmentasi dengan baik seperti terlihat pada Gambar 15b, sehingga template yang terbentuk kurang baik dalam mengekstraksi ciri dari citra tersebut.
(a)
(b)
Gambar 15 Ilustrasi wilayah iris kelas 10 yang salah diklasifikasikan pada fold1 (a) citra uji, (b) citra latih.
Akurasi
Setelah seluruh citra uji pada masing-masing subset melalui tahap pengujian, hasil kelas yang diberikan pada masing-masing data uji tersebut dicatat dan dihitung nilai akurasinya. Nilai akurasi yang dihitung adalah pada masing- masing subset dan bagian mata. Hasil akurasi yang diperoleh dapat dilihat pada Tabel 5. Tabel 5 Akurasi pengujian yang diperoleh
Subset Akurasi Bagian Mata (%)
Kiri Kanan Gabungan
fold1 93,333 96,667 100
fold2 93,333 90,000 100
fold3 100,000 93,333 100
Rata-rata 95,555 93,333 100
Perbandingan akurasi yang diperoleh pada penelitian ini dengan penelitian sebelumnya dapat dilihat pada Lampiran 7. Penelitian Masek menghasilkan akurasi sebesar 99.9% dengan menggunakan Log-Gabor Wavelet satu dimensi sebagai metode ekstraksi ciri dan
Hamming distances sebagai algoritme
pengujian. Abidin mendapatkan akurasi sebesar 92.6% menggunakan ekstraksi ciri Wavelet transform pada level dekomposisi 3 dan menggunakan jaringan syaraf tiruan propagasi balik sebagai algoritme pelatihan dan pengujian. Pada penelitian ini diperoleh akurasi sebesar 100% menggunakan ekstraksi ciri Log-Gabor Wavelet satu dimensi dan algoritme VFI5 sebagai pelatihan dan pengujian terhadap sepasang mata kanan dan kiri.