Transformasi Hough Untuk Ekstraksi Iris Mata

By | November 9, 2022
897 Views

Transformasi Hough Untuk Ekstraksi Iris Mata – Transformasi hough banyak digunakan untuk mendeteksi garis dan lingkaran. Transformasi ini bekerja pada level binary alias gambar hitam putih untuk mendeteksi garis dari yang terpendek hingga terpanjang menjadikannya sebagai solusi tepat untuk melakukan filter garis pada citra. Transformasi ini pada dasarnya dirancang untuk mendeteksi kurva pada citra, dengan demikian dia juga bisa digunakan untuk mendeteksi lingkaran.

Iris mata layaknya sidik jari yang bersifat unik, di dunia ini ada perusahaan yang fokus sekali dengan pengembangan iris mata sebagai biometrik yaitu https://www.irisguard.com/. Perusahaan tersebut dipakai sebagai vendor di Kementerian Dalam Negeri Uni Emirat Arab (UEA). Nah postingan kali ini, kita akan membahas teknologi algoritma yang digunakan secara sederhana melalui image processing.

Dasar itu semua yaitu transformasi hough hough circle. Saya akan demokan penggunaan Transformasi Hough Untuk Ekstraksi Iris Mata. Bagi pengguna Matlab, kalian bisa menggunakan function imfindcircles dengan cepat.

Namun bagi yang penasaran, berikut penggunaan 3 function sebagai dasarnya yaitu circle_hough, circlepoints, circle_houghpeaks yang merupakan function built in di Matlab pada versi sebelumnya yaitu 7.1 dan sampai sekarang function tersebut tetap masih ada.

Sekarang kita demo kan satu-persatu, yaitu loading dulu image nya

im = imread('coins.png');
e = edge(im, 'canny');
imshow(e);

Lingkaran di sekitar koin memiliki jari-jari dalam kisaran 20-30 piksel. Untuk memastikan cukup rentang, kita bisa mencari jari-jari dari 15 hingga 40 piksel. Memilih opsi ‘same’ untuk menyederhanakan pemrosesan selanjutnya, dan opsi ‘normalize’ untuk menghindari bias dalam menemukan lingkaran yang lebih besar.

radii = 15:1:40;
h = circle_hough(e, radii, 'same', 'normalise');

Kita menggunakan metode neighbourhood-suppression dari peak-finding untuk memastikan bahwa kita menemukan lingkaran yang terpisah secara spasial. Kita juga memilih 10 puncak yang paling menonjol, karena kebetulan kita dapat melihat bahwa ada 10 koin untuk ditemukan.

peaks = circle_houghpeaks(h, radii, 'nhoodxy', 15, 'nhoodr', 21, 'npeaks', 10);

Kita dapat menggambar lingkaran yang ditemukan pada gambar, menggunakan posisi dan jari-jari yang disimpan dalam array puncak. Fungsi circlepoints serta circle_hough dapat digunakan dalam proses looping

imshow(im);
hold on;
for peak = peaks
    [x, y] = circlepoints(peak(3));
    plot(x+peak(1), y+peak(2), 'g-');
end
hold off

Penerapan Transformasi Hough Untuk Ekstraksi Iris Mata

Sekarang kita akan coba untuk iris mata dengan contoh yang sangat baik sekali tentu menggunakan menghasilkan gambar sebagus dibawah ini butuh alat khusus.

See also  Pengenalan Huruf dengan PCA

 

Tentu dalam proses nya akan butuh banyak pre prosesing seperti berikut mulai dari

  • Normalisasi citra dengan excess blue
  • membuang objek yang ukurann dibawah 1000 pixel bwareaopen
  • lakukan erosi
  • mengisi lubang imfill
  • serta edge detection
clc;clear all;close all;
im = imread('database_iris\021R_1.png');
I = im;
r = im(:,:,1);
g = im(:,:,2);
b = im(:,:,3);
r = im2bw(r,165/255);
g = im2bw(g,42/255);
b = im2bw(b,42/255);
%%mengambil warna biru
b = (g-b)+(g-r);
im = bwareaopen(b,1000);
%%dilate
se = strel('line',11,90);
im = imerode(im,se);
 
im = imfill(im,'holes');
im = edge(~im, 'canny');
figure,imshow(double(im));

im = logical(im);

pause(2);
radii = 260:261
h = circle_hough(im, radii, 'same', 'normalise');
peaks = circle_houghpeaks(h, radii, 'nhoodxy', 15, 'nhoodr', 21, 'npeaks', 10);
peak = peaks(:,end);
figure,imshow(I);
hold on;
[x, y] = circlepoints(peak(3))
plot(x+peak(1), y+peak(2), 'g-');
hold off
return
for peak = peaks
    figure,imshow(I);
    hold on;
    [x, y] = circlepoints(peak(3))
    plot(x+peak(1), y+peak(2), 'g-');
end
hold off



hasilnya sebagai berikut

Hasilnya dikasih warna hijau seperti berikut

 

Mengubah Objek Lingkaran menjadi persegi Panjang

Langkah selanjutnya yaitu mengubah gambar lingkaran menjadi persegi panjang, saya analogikan sebagai berikut

lihat hasil akhir objek lingkaran menjadi gambar berbentuk persegi panjang dan siap dilakukan perhitungan ciri fitur seperti wavelet atau teknik PCA

 

Kode untuk mengubah lingkaran menjadi persegi panjang, silahkan kalian bisa peroleh disini

Iris Mata sebagai biometrik

Penerapan Pengenalan Iris di Uni Emirat Arab – Dalam penerapan terobosan algoritma ini mulai tahun 2001, Kementerian Dalam Negeri Uni Emirat Arab (UEA) telah menggunakan pengenalan iris mata orang asing yang memasuki UEA di 35 pelabuhan udara, darat, dan laut.

Melalui tautan internet, setiap pelancong dibandingkan dengan sekitar satu juta IrisCodes dalam daftar pantauan; waktu yang dibutuhkan untuk pencarian lengkap melalui database adalah sekitar 1 detik. Pada hari rata-rata, sekitar 12.000 penumpang yang tiba dibandingkan dengan seluruh daftar pengawasan;

ini membuat sekitar 12 miliar perbandingan per hari. Sejauh ini sekitar 7.500.000 pencarian menyeluruh terhadap database itu telah dilakukan, membuat sekitar 7 triliun perbandingan iris.

See also  Algoritma Dynamic Time Warping

Sebanyak 73.180 pertandingan sejauh ini telah ditemukan antara orang yang ingin masuk kembali ke UEA dan persona non grata dalam daftar pantauan.

Penting untuk memahami mengapa probabilitas kecocokan palsu tidak terakumulasi dalam pencarian lengkap yang begitu besar, ketika sejumlah besar perbandingan silang menghasilkan peluang besar untuk kecocokan palsu. Fitur matematika dari algoritma yang mencegah akumulasi probabilitas kesalahan dijelaskan di sini.

Arsitek sistem, penyedia aplikasi, dan integrator untuk program nasional di UEA ini adalah IrisGuard. Sebuah artikel yang menjelaskan aplikasi ini secara lebih rinci tersedia di sini.

sumber : https://www.cl.cam.ac.uk/~jgd1000/deployments.html