Biometrik Sidik Jari SH

Unduh sebagai pdf atau txt
Unduh sebagai pdf atau txt
Anda di halaman 1dari 6

Biometrik_sidik_jari_SH

Implementasi dan Analisis Performansi Autentikasi Sistem Biometrik Sidik Jari


AM Iqbal dan Sigit Haryadi Teknik Telekomunikasi- Institut Teknologi Bandung [email protected]
Ringkasan
Pada penelitian ini dilakukan implementasi dan analisis performansi terhadap sistem biometrik sidik jari dengan menggunakan simulasi komputer. Simulasi dilakukan dengan bantuan perangkat lunak FingerCell, VeriIFnger dan Matlab 6.5 terhadap 30 sampel sidik jari. Hasil yang diperoleh dalam penelitian ini adalah adanya hubungan antara ukuran fitur sidik jari dengan waktu yang diperlukan untuk pendaftaran dimana untuk ukuran fitur yang 2,35 kali lebih besar, software VeriFinger memerlukan waktu 25% lebih lama dibandingkan dengan FingerCell. Pada proses identifikasi dan verifikasi, tampak bahwa faktor translasi dan rotasi mempengaruhi performansi sistem dengan FingerCell. REJENROLL sistem 17,5% dan FMR1000 18.8%. Hal tersebut dapat diatasi dengan menggunakan generalisasi terhadap masukan sampel sidik jari dari user. Selain itu dilakukan pembatasan tiga kali percobaan untuk setiap proses identifikasi maupun verifikasi yang gagal. Hal ini menyebabkan sistem memberikan akurasi tinggi sehingga tingkat penerimaan terhadap user yang salah maupun tingkat penolakan terhadap user yang benar menjadi nol.

dalam bidang dua dimensi, dengan (x,y) menyatakan suatu koordinat dan nilai f pada setiap titik (x,y) menyatakan intensitas, tingkat kecerahan atau derajat keabuan.

2.1.1. Akuisisi citra


Citra digital merupakan suatu citra kontinyu yang diubah kedalam bentuk diskrit, baik koordinat maupun intensitas cahanya. Dengan kata lain, citra digital dibuat dengan cara mencuplik suatu citra kontinyu dengan jarak seragam. Suatu titik terkecil pada citra digital sering disebut sebagai picture element atau pixel. Citra ini dapat berupa citra vektor ataupun citra bitmap. Citra ini mengandung persamaan-persamaan matematis dari bentuk-bentuk dasar yang membentuk citra tersebut.

2.1.2. Operasi pengolahan citra digital


Operasi pengolahan cittra digital umumnya dilakukan dengan tujuan memperbaiki kualitas suatu gambar sehingga dapat dengan mudah diinterpretasi oleh mata manusia dan untuk mengolah informasi yang terdapat pada suatu gambar untuk keperluan pengenalan objek secara otomatis.

Kata kunci :
Sidik jari,VeriFinger, FingerCell, minusi, identifikasi, verifikasi

1. Pendahuluan
Sistem biometrik sidik jari merupakan sistem autentikasi berbasis biometrik yang paling banyak digunakan saat ini karena cenderung memiliki tingkat akurasi yang tinggi dan mudah untuk diterapkan. Pengkajian terhadap akurasi dan unjuk kerja sistem biometrik sidik jari menjadi latar belakang penelitian ini agar hasil dari analisis performansi tersebut nantinya dapat diterapkan untuk aplikasi keamanan akses.

3. Pengenalan pola
Pola atau pattern adalah pengaturan khusus dari elemen-elemen struktural misalnya pola-pola awan yang berbeda-beda. Adapun pengenalan pola adalah proses mengidentifikasi suatu objek dalam citra. Secara garis besar metode-metode pengenalan pola dapat dibagi menjadi tiga kelompok yaitu metode statistik, metode struktural maupun metode jaringan syaraf tiruan.Pada metode struktural,dicari ciri khas/fitur yang unik dari suatu citra yang dapat dimanfaatkan pada proses pengenalan pola. Pada penelitian ini digunakan metode pengenalan pola dengan metode struktural. Sebagaimana prinsip kerjanya maka pada metode ini harus ada fitur yang diekstrak dan untuk verifikasi sidik jari ini fitur yang diambil adalah minusi sebagai model strukturnya.

2. Pengolahan citra digital 2.1. Citra kontinyu dan citra digital


Citra kontinyu yang dimaksud dalam pengolahan citra dapat diartikan sebagai suatu fungsi kontinyu dari intensitas cahaya f(x,y)

Biometrik_sidik_jari_SH
(valley), yang unik untuk tiap individu, bahkan bagi ), mereka yang kembar sekalipun.

4. Sistem biometrik
Sebuah sistem biometrik pada hakikatnya merupakan sebuah sistem pengenalan pola yang melakukan identifikasi personal dengan menentukan keotentikan dari karakteristik fisiologis dan perilaku tertentu yang dimiliki seseorang. Secara logika sistem ini dibagi menjadi dua modul: modul pendaftaran dan modul identifikasi. Modul pendaftaran berfungsi untuk mengambil data dari individu dan menyimpannya ke dalam sistem. Pada saat pendaftaran, karakteristik biometrik dipindai terlebih dahulu oleh sebuah pemindai biometrik untuk menghasilkan sebuah representasi digital yang belum diolah. Untuk dapat digunakan dalam proses pencocokan, representasi digital tersebut diproses lebih lanjut untuk mendapatkan representasi yang cukup untuk mewakilinya yang disebut sebagai ilinya template. Template ini kemudian disimpan dalam pusat database dalam sistem biometrik atau pada kartu magnetik atau smart card. Modul identifikasi berfungsi untuk mengidentifikasi individu pada titik akses. Pada saat tahap pengoperasian, pemindai erasian, biometrik menangkap karakteristik yang akan diidentifikasi dan diubah menjadi format digital, kemudian oleh ekstraktor fitur diproses menjadi representasi yang sama dengan template template-nya dan kemudian dicocokkan untuk mendapatkan suatu identitas.

Gambar 1 Contoh sampel sidik jari

6. Pengujian 6.1 Perangkat Pengujian


Dalam penelitian ini, perangkat pengujian yang digunakan meliputi sampel sidik jari, software simulasi autentikasi dan perangkat komputasi.

6.1.1 Sampel Sidik Jari


Perangkat sidik jari yang digunakan diambil dengan menggunakan inkless scanner. pada penelitian ini dilakukan proses autentikasi dengan masukan untuk FingerCell adalah sampel dengan resolusi 250 dpi (dot per inch) sedangkan untuk VeriFinger 500 dpi. ) Ukuran gambar yang diberikan adalah sama yaitu 300 x 300 pixel. Pada penelitian ini digunakan 30 sampel sidik jari yang berasal dari 10 orang yang berbeda. Setiap orang memasukkan sampel dengan 3 erbeda. variasi yaitu: (a)Normal, (b)Translasi koordinat X Translasi dan Y, dan (c)Rotasi sebesar 30 atau -30 Dalam dunia nyata sesungguhnya terdapat tiga macam pola sidik jari yang berbeda untuk setiap individu yaitu: (a)Tipe whorl, (b)Tipe Arch, (c)Tipe , (b) Loop (right loop dan left loop) Sidik jari dengan ). tipe loop merupakan sidik jari yang terdistribusi paling banyak atau sebanyak 65% dari keseluruhan populasi manusia. Contoh sampel sidik jari yang digunakan untuk ampel penelitian ini dapat dilihat pada gambar berikut:

4.1. Persyaratan sistem biometrik


Karakteristik fisiologis manusia untuk biometrik harus memenuhi beberapa kriteria yaitu: Universal, unik, , permanen, dan dapat diukur secara apat kuantitatif dan nilai dari pengukuran tersebut dapat digunakan untuk kepentingan verifikasi dan identifikasi. Meski demikian pada prakteknya tidak semua karakteristik biometrik yang memnuhi syarat diatas dapat diwujudkan dalam suatu sistem biometrik yang nyata. Ada beberapa hal yang perlu diperhatikan, yaitu: (a)Unjuk kerja (performance,. (b) Tingkat penerimaan (acceptability (acceptability), dan (c)Tingkat keamanan (circumvention) ).

5. Sidik jari
Sidik jari merupakan karakteristik alami manusia yang digunakan dalam identifikasi personal sejak lama. Bahkan orang awam sering menganggap sidik jari merupakan sinonim dari biometrik. Sidik jari yang terdiri dari pola alur (ridge dan lembah ridge)
Gambar 2 Sampel sidik jari pada proses pengujian dengan tiga variasi

Biometrik_sidik_jari_SH 6.1.2 Perangkat Lunak Simulasi


nama dan finger ID.. Jumlah record dalam database akan mempengaruhi kecepatan identifikasi dan verifikasi. Untuk kedua program ini, identifikasi dapat dilakukan hingga 600 citra sidik jari per detik. Setelah melakukan pemasukan data, untuk setiap user, program akan menampilkan feature size (besarnya fitur citra) dalam satuan byte, waktu yang diperlukan untuk melakukan proses pendaftaran (enrollment) dalam satuan detik serta hasil proses binerisasi terhadap citra sidik jari.

Pada penelitian ini, perangkat lunak simulasi autentikasi biometrik sidik jari yaitu FingerCell 1.1 dan VeriFinger 4.2.

6.1.2.1 FingerCell 1.1


FingerCell 1.1 merupakan software autentikasi biometrik sidik jari yang dibuat oleh Neurotechnologija Ltd. Alasan penggunaan software ini adalah karena waktu pemrosesannya yang cepat meski pada database yang besar.

7.2 Proses Identifikasi


Proses identifikasi merupakan proses pencocokan yang dilakukan dengan mencari data dari database yang cocok dengan sidik jari yang diakuisisi. Dalam proses ini, hal pertama yang dilakukan adalah melakukan akuisisi terhadap sampel sidik jari. Program kemudian akan melakukan proses ekstraksi minusi terhadap sampel tersebut dan mencocokkan dengan data yang tersedia pada database. Keluaran dari program ini adalah keputusan untuk menerima atau menolak user yang melakukan autentikasi. Pada penelitian ini dilakukan proses identifikasi terhadap masing-masing user dengan menggunakan tiga macam variasi sidik jari yang masing-masing sidik jari normal, sidik jari yang ditranslasikan (digeser) dan dirotasikan. Jika program memberikan keputusan untuk menolak user tertentu, maka proses identifikasi untuk user tersebut akan diulang maksimal sebanyak tiga kali. Proses identifikasi dalam penelitian ini dilakukan dengan tiga nilai FAR (False Acceptance Rate) yang berbeda yaitu 0.1%, 0.01%, dan 0.001%. Hal ini dilakukan untuk melihat tingkat akurasi yang dihasilkan oleh program

6.1.2.2 VeriFinger 4.2


VeriFinger memiliki kemiripan dengan FingerCell hanya saja VeriFinger memiliki ukuran data yang lebih besar serta memberikan resolusi yang lebih besar terhadap masukannya.

6.1.2.3 Matlab 6.5


Perangkat lunak ini digunakan untuk memberikan gambaran terhadap hasil proses binerisasi dan penipisan terhadap citra sampel sidik jari yang digunakan.

6.1.3 Perangkat Komputasi


Perangkat komputer yang digunakan untuk menjalankan simulasi ini memiliki spesifikasi sebagai berikut: a. Processor AMD Athlon 1800 (Clock speed 1.5 Ghz). b. RAM Visipro 128 Mbyte. c. VGA GeForce2 64 Mb. d. Monitor Samsung 32 bit dengan resolusi 800x600 pixel. e. Sistem operasi Microsoft Windows XP. Software autentikasi yang digunakan dalam penelitian ini dapat dijalankan pada sistem operasi Linux dan Windows.

7.3 Proses Verifikasi


Verifikasi merupakan proses pencocokan sejenis dengan identifikasi hanya saja pada proses verifikasi, sidik jari dicocokkan satu-satu dimana setiap sidik jari masukan diperbandingkan dengan satu template sidik jari tertentu yang tersimpan dalam database. Keluaran dari program ini adalah keputusan apakah proses verifikasi berhasil atau gagal. Pada penelitian ini, proses verifikasi dilakukan dengan empat mode. Pertama, verifikasi dilakukan pada masing-masing user dengan menggunakan sidik jari yang normal. Kedua, verifikasi dilakukan dengan terhadap sidik jari normal dan sidik jari yang ditranslasikan sebagai pembandingnya. Ketiga, verifikasi dilakukan pada sidik jari normal terhadap sidik jari yang dirotasikan dan proses verifikasi terakhir dilakukan secara random. Verifikasi ini dilakukan dengan mencocokkan sidik jari antar user yang berbeda

7. Proses dan Hasil Pengujian 7.1 Proses Pemasukan Data (Enrollment)


Untuk melakukan proses pemasukan data, perlu ditentukan pula batas minimum jumlah minusi yang terkandung dalam citra sidik jari yang dapat diterima program. Dalam hal ini jumlah minusi minimum diambil 10 mengingat bahwa tidak ada dua individu yang memiliki lebih dari delapan minusi yang sama. Dalam proses ini, program akan menyimpan identitas yang berkaitan dengan sidik jari seperti

Biometrik_sidik_jari_SH
untuk masing-masing variasi sidik jari. Pada proses verifikasi random ini dipilih untuk memperbandingkan antar dua user yang memiliki kesamaan tipe sidik jari. Untuk melakukan verifikasi diperkenankan untuk melakukan percobaan verifikasi ulang sampai tiga kali.. membutuhkan setidaknya mendaftarkan 10 user. 4,195 detik untuk

8. Analisis
Selain FRR dan FAR yang telah dijelaskan sebelumnya, analisis performansi terhadap suatu sistem biometrik meliputi: a. REJENROLL (Jumlah fingerprint yang ditolak selama proses enrollment). b. REJNGRA (Jumlah fingerprint yang ditolak selama proses pencocokan dengan menggunakan sampel yang benar). c. REJNIRA (Jumlah fingerprint yang ditolak selama proses pencocokan silang). d. Kurva FMR(t)/FNMR(t). e. Kurva ROC(t). f. FMR100 (FNMR terendah untuk FMR <=1%) . g. FMR1000 (FNMR terendah untuk FMR <=0.1%) . h. Waktu rata-rata yang diperlukan untuk proses pendaftaran . i. Waktu yang dibutuhkan untuk proses pencocokan. (a) (b)
Gambar 4 Perbandingan hasil binerisasi proses enrollment terhadap user oleh FingerCell (a) dan VeriFinger (b)

Untuk menguji waktu yang dibutuhkan untuk melakukan proses pemasukan data untuk ukuran database yang besar, dilakukan pendaftaran terhadap 611 user dan waktu total yang dibutuhkan oleh masing-masing program adalah 3 menit 10 detik dan 8 menit 2 detik. Dari hasil pengujian ini dapat dilihat bahwa tidak ada sampel sidik jari yang ditolak untuk didiftarkan dengan batas jumlah minusi minimal 10. Dari data ini dapat dilihat bahwa VeriFinger memerlukan waktu lebih lama 25 % lebih lama. Namun, dapat dilihat bahwa dengan waktu yang hanya kali lebih lama, VeriFinger mampu mengekstrak 2,35 kali fitur yang lebih banyak.

8.1 Proses pemasukan data (Enrollment)


Dari percobaan ini diperoleh grafik feature size yang diekstrak oleh masing-masing program terhadap waktu sebagai berikut:
ENROLLMENT
feature size (bytes)

8.2 Proses Identifikasi


Dari tabel hasil identifikasi dengan software FingerCell dapat dibuat grafik sebagai berikut:
IDENTIFIKASI DENGAN FINGERCELL

1000 900 800 700 600 500 400 300 200 100 250

waktu pencocokan (ms)

30 27 24 21 18 15 12 9 6 3 0 1 2 3 4 5 6 7 8 9 10

user

300

350

400
waktu (ms)

450

500

550

FAR 0.1 FAR 0.001

FAR 0.01

FINGERCELL

VERIFINGER

Gambar 5 Kurva identifikasi dengan FingerCell

Gambar 3 Kurva enrollment time

Disini terlihat bahwa program VeriFinger memberikan fitur yang lebih besar terhadap setiap sampel yang diambil atau rata-rata 614 bytes per sampel, bandingkan dengan FingerCell yang mengekstrak rata-rata 182 bytes per sampel. Hal ini berdampak pada waktu yang diperlukan oleh masing-masing program untuk melakukan proses pemasukan data. FingerCell membutuhkan total waktu 3,354 detik sedangkan VeriFinger

Dari kurva di atas dapat kita lihat bahwa terdapat kecenderungan proses identifikasi membutuhkan waktu yang sama untuk setiap nilai FAR. Untuk nilai FAR yang lebih rendah terlihat bahwa waktu yang dibutuhkan untuk melakukan identifikasi lebih besar. Terdapat 4 orang user yang ditolak untuk FAR = 0.1, 5 orang untuk FAR = 0.01 dan 8 orang untuk FAR = 0.001 Dari hasil ini dapat dibuat tabel sebagai berikut:

Biometrik_sidik_jari_SH
ROC IDENTIFIKASI DENGAN FINGERCELL

Sebagai perbandingan, kurva ROC untuk proses identifikasi ini dapat kita lihat sebagai berikut:
ROC IDENTIFIKASI DENGAN VERIFINGER

FRR

0, 3 0, 25 0, 2 0, 15 0, 1 0, 05 0 - 05 0, 0 0, 05
FAR

FR R

1 0,5 0 -0,05 0 0,05 FAR 0,1 0,15 0, 1 0, 15

Gambar 6 Kurva ROC identifikasi fingercell Gambar 8 Kurva ROC identifikasi VeriFinger

Dari grafik diatas, dapat kita lihat bahwa terdapat trade off antara FRR dan FAR. Semakin tinggi kita menetapkan FAR maka FRR yang kita peroleh akan semakin kecil. Setelah memeriksa citra masukan yang ditolak oleh sistem dengan software FingerCell yaitu citra yang dimiliki oleh user 3, 4, 6, 8 dan 9, ditemukan bahwa citra yang dimasukkan memang kurang baik. Generalisasi dapat dilakukan pada proses pendaftaran dengan memasukkan beberapa contoh masukan sidik jari untuk satu user tertentu. Fitur dari masing-masing sidik jari ini akan diambil dan dibuat kesamaan variasinya. Dari tabel hasil identifikasi dengan software VeriFinger dapat dibuat grafik sebagai berikut:
IDENTIFIKASI DENGAN VERIFINGER

Dari grafik diatas, dapat kita lihat bahwa untuk setiap nilai FAR yg diinisiasikan terhadap sistem, nilai FRR selalu konstan sama dengan nol. Ini merupakan hasil yang baik dan menunjukkan performansi yang baik. Hasil ini menunjukkan pula bahwa seharusnya sistem yang kita miliki tidak memberikan toleransi meskipun database berukuran besar atau nilai FAR diset tinggi. Perbedaan pada sidik jari dari pemilik yang sama dapat terjadi dikarenakan oleh banyak hal diantaranya adalah: (a)Inconsistent Contact, (b)Nonuniform contact, (c)Irreproducible contact, (d)Sensing Act, dan (e)Feature extraction artifacts

4.3.3 Proses Verifikasi Dari percobaan untuk

waktu pencocokan (ms)

40 36 32 28 24 20 16 12 8 4 0 1 2 3 4 5 6 7 8 9 10

user

FAR 0.1 FAR 0.001

FAR 0.01

Gambar 7 Kurva identifikasi dengan VeriFinger

Dari kurva di atas dapat kita lihat bahwa terdapat kecenderungan dimana proses identifikasi membutuhkan waktu yang bervariasi untuk setiap nilai FAR. Untuk nilai FAR yang lebih rendah terlihat bahwa waktu yang dibutuhkan untuk melakukan identifikasi lebih besar. Hal ini berkaitan dengan tingkat akurasi yang lebih baik nilai FAR yang lebih rendah. Berbeda halnya dengan identifikasi dengan FingerCell, identifikasi dengan VeriFinger tidak menghasilkan penolakan untuk satu user pun untuk setiap nilai FAR yang bervariasi. Dari hasil simulasi ini dapat kita katakan bahwa algoritma yang diberikan oleh software ini lebih baik.

verifikasi dengan menggunakan software FingerCell, dapat dilihat bahwa software ini tidak dapat mengatasi pergeseran terutama pada user 3, 4, 8, dan 9 karena sample yang memang kurang baik.Untuk itu, perlu adanya pengambilan kembali terhadap sampel sidik jari user tertentu. Pemberian kesempatan kedua dan ketiga bagi user yang gagal melakukan verifikasi sebaiknya diperbolehkan oleh sistem. Pada keadaan tertentu, terutama jika dalam pemrosesan dengan jumlah database yang besar atau dengan utilitas processor yang tinggi, FingerCell dapat saja menolak user yang tidak seharusnya ditolak (FRR). Hal ini tentu saja merugikan user dan dapat menyebabkan perubahan emosional yang secara tidak langsung juga berdampak kondisi input sidik jarinya. Untuk verifikasi random, FingerCell memberikan hasil yang memuaskan dengan tingkat FAR nol. Ini membuktikan bahwa kita telah menetapkan nilai FAR yang layak dan cukup aman untuk autentikasi. Dari percobaan untuk proses verifiaksi dengan VeriFinger, ditemukan bahwa software ini melakukan autentikasi dengan sangat akurat terhadap semua variasi sidik jari dan juga dengan verifikasi random.

Biometrik_sidik_jari_SH
Perbandingan parameter performansi untuk kedua software ini dapat dilihat pada tabel berikut:
Tabel 1 Perbandingan performansi FingerCell dan VeriFinger FINGER VERI PARAMETER CELL FINGER REJENROLL REJNGRA REJNIRA FMR1000 Waktu rata-rata untuk proses pencocokan 0% 17,5% 100% 18,8% 16.77 ms 0% 0% 100% 0% 8.39 ms

[3] [4]

[5] [6]

Dari tabel di atas terlihat bahwa VeriFinger memiliki keunggulan dibanding FingerCell dari sisi waktu pencocokan dan tingkat akurasi yang dihasilkan. VeriFinger merupakan pilihan yang baik untuk penggunaan autentikasi dengan database besar karena waktu pencocokannya yang singkat serta untuk aplikasi dengan tingkat keamanan yang tinggi. Namun, FingerCell dapat menjadi alternatif yang memadai untuk aplikasi embedded system karena ukuran programnya yang kecil dan mobilitasnya yang tinggi serta konsumsi dayanya yang rendah.

[7]

[8] [9]

[ 10 ]

[ 11 ]

8. Kesimpulan
Dari uraian dan pembahasan di atas dapat disimpulkan beberapa hal sebagai berikut: a. Salah satu teknik ekstraksi fitur sidik jari adalah minusi yang meru pakan primitif dari alur-alur sidik jari sesuai dengan Galton detail. b. Terdapat hubungan antara ukuran fitur sidik jari dengan waktu yang diperlukan untuk pendaftaran dimana untuk ukuran fitur yang 2,35 kali lebih besar, software VeriFinger memerlukan waktu 25% lebih lama dibandingkan dengan FingerCell. c. Pada proses identifikasi dan verifikasi, tampak bahwa faktor translasi dan rotasi mempengaruhi performansi sistem dengan FingerCell. REJENROLL sistem 17,5% dan FMR1000 18.8%. [ 12 ]

[ 13 ]

[ 14 ]

Biometrics System Laboratory- Cesena, http://bias.csr.unibo.it. Fingerprint Identification, Pattern Recognition and Image Processing Laboratory, Department of Computer Science and Engineering, Michigan State University, http://biometrics.cse.msu.edu/fingerprint.ht ml FingerCell Embedded Development Kit, http://www.neurotechnologija.com Clive Reedman, Biometrics and Law Enforcement, UK Police Information Technology Organization. http://www3.gartner.com/5_about/press_rel eases/pr21july2003a.jsp Anil. K. Jain, Recent Advances in Fingerprint Verification, Department of Computer Science and Engineering, Michigan State University. VeriFinger 4.2 Demo evaluation version, http://www.neurotechnologija.com. R. Austin Hiclin, Comparative Fingerprint Quality and Performance , http://mitretek.org. Elaine M. Newton, Biometrics: A technical Primer, Andy Oram and Joe Camp. A.J. Mansfield, Best Practices in Testing and Reporting Performance of Biometric Devices, National Physical Laboratory, San Jose State University, Midlesex. Magnus Petterson, How Secure is Your Biometric Solution, Precise Biometrics, 2002. Hari Zainuddin Rasyid, Pengenalan Sidik Jari Manusia Menggunakan algoritma Ektraksi Minusi. Penelitian, Departemen Teknik Elektro, 2001 Interpreting Fingerprint Authentication Performance Tehcnical White paper, Fidelica mycrosystems. Available at http://www.fidelica.com

. 9. Referensi
[1] [2] Anil. K. Jain, Handbook of Figerprint Recognition, Springer, New York, 2003. A minutia matching algorithm, http://www.fingerpass.net

Anda mungkin juga menyukai