Jurnal Teknika Vol.4 No.2 September 2012
ISSN No. 2085 - 0859
Pengenalan Image Wajah Dengan Menggunakan Metode Template Matching Moh. Khayat Subkhan1, Yuliana Melita Pranoto2 Mahasiswa Magister Teknologi Informasi, Sekolah Tinggi Teknik Surabaya 2 Dosen Magister Teknologi Informasi, Sekolah Tinggi Teknik Surabaya
[email protected],
[email protected]
1
Abstraksi Dewasa ini pengolahan citra menjadi trend baru dalam dunia kecerdasan buatan, kemampuannya dalam menginterprestasikan sebuah image dinilai sangat memudahkan aktifitas manusia. Salah satunya image processing dalam pengenalan wajah. Metode template matching merupakan salah satu metode pengenalan citra yang populer saat ini. Komputasinya yang relative sederhana dan akurasinya yang cukup baik, membuat metode ini banyak digunakan. Dalam penelitian ini, dengan sampling wajah sekitar 60 image didapatkan hasil ketepatan mencapai 85%. Faktor jarak, pencahayaan dan pose obyek sangat mempengaruhi hasil dari pengenalan image wajah. Template matching menghasilkan sebuah angka yang akan diperbandingkan jaraknya dengan image training yang sudah dipersiapkan sebelumnya. Jarak eigenvalue dari image testing yang terpendek akan direkomendasikan sebagai image yang paling mendekati faktor kecocokannya. Keyword : Pengolahan citra, image processing, template matching, eigenvalue
PENDAHULUAN Dalam teknologi informasi, biometrics biasanya merujuk kepada teknologi untuk mengukur dan menganalisa karakteristik tubuh manusia seperti sidik jari, retina, mata, pola suara dan pola wajah yang terutama sekali digunakan untuk proses otentikasi. Pengenalan wajah manusia mendapatkan banyak perhatian beberapa tahun terakhir ini. Hal ini disebabkan banyak aplikasi yang menerapkannya. Proses pengenalan wajah yang dilakukan oleh komputer tidak semudah dan secepat dengan proses pengenalan yang dilakukan oleh manusia. Manusia dengan mudah dapat mengenali wajah seseorang dengan cepat tanpa rasa harus berpikir. Manusia juga tidak terpengaruh oleh orientasi wajah orang tersebut. Kesulitan dalam pembuatan proses pola pun terutama adalah karena kekompleksan dari kondisi wajah, yaitu dalam hal kualitas gambar yang ditangkap, dari segi warna, pencahayaan, hingga posisi gambar yang tertangkap, maupun dalam hal perubahan geometrinya. Untuk mengetahui kemampuan sebuah metode, baik atau kurangnya sebuah metode tidak hanya dilihat dari sisi teoritis, namun diperlukan pengujian dan akan lebih baik jika metode tersebut dilakukan pembanding dengan metode lain yang memiliki kemampuan untuk digunakan dalam sistem pengenalan pola wajah.
Menurut Achmad Basuki, Jozua F. Palandi dan Fatchurrochman (2005 : 1), pengolahan citra (image processing) merupakan suatu sistem dimana proses dilakukan dengan masukan berupa citra (image). Pada awalnya pengolahan citra ini dilakukan untuk memperbaiki kualitas citra, namun dengan berkembangnya dunia komputasi yang memungkinkan manusia dapat mengambil informasi dari suatu citra, maka image processing tidak dapat dilepaskan dengan bidang computer vision Dalam perkembangan lebih lanjut dari ilmu komputasi yang memanfaatkan pengolahan citra, ternyata untuk mengidentifikasikan seseorang tidak hanya dengan sidik jari, tetapi juga dilakukan dengan pengenalan wajah (face recognition) atau pengenalan iris pada mata (iris recognition). Dalam model pengenalan wajah dan pengenalan iris, proses pengolahan citra yang dilakukan menjadi tidak sederhana, baik dari sisi capture atau pengambilan citra, sampai pada ekstraksi cirinya.
371
Jurnal Teknika Vol.4 No.2 September 2012
ISSN No. 2085 - 0859
Template Matching Menurut Darma Putra (2010 : 227), Template Matching adalah proses mencari suatu objek (template) pada keseluruhan objek yang berasal dalam suatu citra. Template dibandingkan dengan D(m,n) = Dengan f(j,k) menyatakan citra tempat objek yang akan dibandingkan dengan template T(j,k) sedangkan D(m,n) menyatakan jarak antara template dengan objek pada citra. Pada umumnya ukuran template jauh lebih kecil dari ukuran citra. Secara ideal, template dikatakan cocok dengan objek pada citra bila D(m,n) = 0, namun kondisi seperti ini sulit dipenuhi apalagi bila template merupakan suatu citra grayscale. Oleh karena itu, aturan yang digunakan untuk menyatakan template cocok dengan objek adalah bila D(m,n) < (m,n)
keseluruhan objek yang belum diketahui pada citra tersebut maka objek tersebut ditandai sebagai template. Perbandingan antara template dengan keseluruhan objek pada citra dapat dilakukan dengan menghitung selisih jaraknya, seperti berikut.
[ f (j,k) – T(j-m,k-n) Menurut Darma Putra (2010 : 311), Jarak digunakan untuk menentukan tingkat kesamaan (similiarity degree) atau ketidaksamaan (dismiliarity degree) dua vektor fitur. Tingkat kesamaan berupa suatu nilai (score) dan berdasarkan skor tersebut dua vektor fitur akan dikatakan mirip atau tidak. Euclidean distance adalah metrika yang paling seraing digunakan untuk menghitung kesamaan 2 vektor. Euclidean distance menghitung akar dari kuadrat perbedaan 2 vektor (root of square differences between 2 vectors).
dengan (m,n) merupakan nilai Threshold. Euclidean Distance Rumus dari Euclidean distance
Contoh : Terdapat 2 vektor ciri berikut. A = [0, 3, 4, 5] B = [7, 6, 3, -1] Euclidean distance dari vektor A dan B adalah :
Euclidean distance adalah kasus istimewa dari Minskowski distance dengan λ = 2 Eigenvector dari suatu transformasi adalah vektorvektor yang tidak mengalami perubahan atau hanya Eigenvalue, Eigenvektor dan Eigenface Menurut Hanif Al Fatta (2009 : 10), Transformasi dikalikan dengan scalevector setelah transformasi. ruang seperti translasi, rotasi, refleksi, strechting Eigenvalue dari suatu eigenvector adalah dan kompresi atau kombinasi dari transformasi ini, scalevector dimana eigenvector dikalikan. dapat divisualisasikan dengan efek yang dihasilkan Misalnya akan menghitung eigenvalue dari suatu pada vektor. Vektor divisualisasikan sebagai panah matriks yang diberikan. Jika matriks yang diberikan yang menunjuk 1 titik ke titik yang lain. kecil, maka dapat menghitungnya secara simbolis
dengan karakteristik polynomial. Akan tetapi
372
Jurnal Teknika Vol.4 No.2 September 2012
ISSN No. 2085 - 0859
ini mustahil untuk matriks dengan ukuran yang lebih besar. Pada penelitian ini akan digunakan metode numerik. Mencari Eigenvalue Salah satu tool penting dalam mendeskripsikan eigenvalue dari suatu matriks bujursangkar adalah
polynomial karakteristik : jika λ adalah eigenvalue dari A maka akan ekuivalen dengan persamaan linear (A - λI) v = 0 (dimana I adalah matriks identitas) yang memiliki pecahan non zero v (suatu eigenvector), sehingga akan ekuivalen dengan determinan :
det (A - λI) = 0 Fungsi p(λ) = det (A - λI) adalah sebuah polynomial dalam λ karena determinan dengan perhitungan sum of product. Semua eigenvalue dari suatu matriks A dapat dihitung dengan menyelesaikan persamaan
pA(λ) = 0. Jika A adalah matriks ukuran n x n, maka pA memiliki derajat n dan A paling banyak n buah eigenvalue.
Mencari Eigenvector Ketika eigenvalue λ diketahui, eigenvector dapat dicari dengan memecahkan : (A - λI)v = 0. Dalam
beberapa kasus bisa dijumpai beberapa matriks tanpa eigenvalue misalnya A:
Dimana karekteristik polinomialnya adalah λ2 + 1 sehingga eigenvalue-nya adalah bilangan kompleks i, -i. Eigenvector yang berasosiasi juga tidak riil.
Perhatikan lagi contoh berikut ini. Jika diberikan matriks A :
Maka polynomial karakteristiknya dapat dicari sebagai berikut
det
=
Ini adalah persamaan kuadrat. Akarnya adalah λ = 2 dan λ = 3 yaitu: = (2 . -λ) . (3 . λ) – (0 . -1) = (2 . 3) + (2 . -λ) + (-λ . 3) + (-λ . - λ) – (0) = 6 - 2λ - 3λ + λ2 – 0 = 6 - 5λ + 6 – 0 = - 5λ + 6 = 0 Adapun eigenvector yang bisa didapat ada 2 buah. eigenvector yang berasosiasi dengan eigenvalue λ = Eigenvector pertama dicari dengan mensubsitusikan 3. Set Yo dengan nilai: λ = 3 ke dalam persamaan. Misalnya Yo adalah
Subsitusikan Yo dengan v pada persamaan:
(A - λI) v = 0 maka akan mendapatkan:
373
Jurnal Teknika Vol.4 No.2 September 2012
ISSN No. 2085 - 0859
Kita bisa sederhanakan menjadi:
Atau bisa disederhanakan menjadi:
Sehingga eigenvector untuk eigenvalue = 3 adalah = Eigenface Eigenface adalah kumpulan dari eigenvector yang digunakan untuk masalah computer vision pada pengenalan wajah manusia. Banyak penulis lebih menyukai istilah eigenimage. Teknik ini telah digunakan pada pengenalan tulisan tangan, pembacaan bibir, pengenalan suara dan pencitraan medis. Dalam istilah layman, eigenface adalah sekumpulan standardized face ingredient yang diambil dari analisis statistik dari banyak gambar wajah. Suatu wajah manusia dapat dipandang sebagai kombinasi dari wajah-wajah standar ini. Wajah seseorang bisa saja terdiri dari 10% dari
wajah 1, 20% wajah 2, dan seterusnya sehinga jika ingin merekam wajah seseorang untuk pengenalan wajah maka biasa digunakan jauh lebih sedikit fitur dari pada yang ditangkap oleh foto digital. Untuk menghasilkan eigenface, sekumpulan besar citra digital dari wajah manusia diambil dari kondisi pencahayaan yang sama kemudian dinormalisasi setelah itu diolah pada resolusi yang sama (misalnya m x n), dan kemudian diperlakukan sebagai vector dimensi mn dimana komponennya diambil dari nilai pikselnya. Untuk menentukan eigenface dari sekumpulan citra wajah, banyak alternatif cara yang digunakan. Analisis Komponen Sistem Sistem pengenalan wajah ini terdiri dari beberapa komponen yang dapat digambarkan dalam suatu model seperti pada gambar dibawah ini :
BAHAN DAN METODE PENELITIAN
Webcam
Antar Muka Pengguna
Capture Citra
File Wajah
Komponen SubSistem Pengenalan Wajah
Komponen Basis Data
Gambar 1. Model Sistem Pengenalan Wajah a. Komponen Webcam : piranti masukan yang digunakan dalam sistem dengan 2 fungsi yaitu :
1. Digunakan untuk melengkapi data personal dengan foto, dimana foto ini akan disimpan
374
Jurnal Teknika Vol.4 No.2 September 2012
ISSN No. 2085 - 0859
dalam database, yang nantinya digunakan untuk proses pencocokan dengan citra wajah yang di-capture. 2. Digunakan untuk meng-capture citra wajah personal. Dengan menggunakan webcam citra wajah ini akan disimpan dalam bentuk file pada harddisk. b. Komponen capture citra : ini berfungsi untuk melakukan mekanisme pengambilan citra wajah dengan media webcam, baik untuk disimpan dalam bentuk file citra wajah maupun untuk citra wajah yang digunakan sebagai input. c. Komponen antarmuka : komponen ini berfungsi untuk menjembatani komunikasi antara
Webcam
pengguna dengan sistem pengenalan wajah, baik untuk proses input data personal ataupun proses pengenalannya. Subsistem Pengenalan Wajah : pengenalan wajah dilakukan dengan mencocokkan citra wajah yang di-capture webcam dengan citra wajah yang ada pada database personal. Proses Identifikasi Citra wajah Langkah-langkah pencocokkan citra wajah yang dicapture dengan data citra yang terdapat dalam database dapat dilihat pada gambar 2 berikut:
Normalisasi Citra
Kalkulasi Eigen Value
Eigen value Eigen Vector Proses Matching
Database Citra Wajah
Kalkulasi Eigen Vector
Cari Nilai pada eigen vector yang paling mendekati Eigen value citra input (Distance)
Gambar 2. Langkah-langkah proses identifikasi citra wajah Keterangan gambar : 1.
Citra wajah di-capture menggunakan webcam. Hasil dari capturing ini adalah file gambar yang bertipe .bmp 2. Citra wajah ini kemudian dinormalisasi dengan beberapa tahapan. Pertama, citra diturunkan kualitas warnanya menjadi grayscale. Ukuran dari citra wajah juga diseragamkan, menjadi berukuran 80x80 piksel. 3. Setelah didapatkan citra wajah yang ternormalisasi, hitung nilai eigen dari citra wajah tersebut, misalnya diperoleh nilai x. 4. Pada data personal juga terdapat file citra wajah yang telah disimpan pada folder images. Dengan itu masing-masing citra dikalkulasi nilai eigen-nya dan dikumpulkan dalam vektor yang dinamakan eigenvector. Misalkan nilai yang didapatkan (x1, x2, x3,….xn). Proses matching dilakukan dengan mencocokkan mendekati sudah ditemukan, cari data personal yang nilai x dengan nilai-nilai pada eigenvector dan berkorespondensi dengan nilai tadi. mencari nilai yang paling mendekati. Jika nilai yang Proses Pemasukan Data ke dalam Database Proses pemasukan data/citra wajah personal ke dalam database dapat duraikan dengan algoritma berikut. Inisialisasi webcam
Proses ini adalah dengan melakukan penginstalan driver kamera yang akan digunakan. Setelah melakukan penginstalan driver kamera akan dikenali PC sehingga kamera dapat digunakan. Setting resolusi webcam dengan ukuran resolusi 160 x 120 piksel. Proses capture obyek wajah
375
Jurnal Teknika Vol.4 No.2 September 2012
ISSN No. 2085 - 0859
Pada proses ini obyek wajah akan di capture dengan cara wajah menghadap kamera dan posisi tegak lurus dengan kamera. Crop citra Proses ini untuk penyeragaman dengan file yang ada pada database dengan meng-crop citra wajah menjadi ukuran 80 x 80 pixel. Proses Grayscale
Proses merubah citra wajah normal diturunkan nilai intensitas warnanya menjadi citra berwarna grayscale (keabuan). Pemasukan citra dalam database Citra yang telah dinormalisasi atau proses dari crop citra dan grayscale akan dimasukkan dalam database dalam bentuk file berformat .jpg ke dalam folder image.
Untuk lebih jelasnya keterangan dapat dilihat pada gambar 3 berikut Mulai
Inisialisasi webcam
Capture wajah
Crop citra 80x80 pixel
Grayscale
Database
Selesai
Gambar 3. Flowchart pemasukan data citra ke database Proses Euclidean Pada proses ini citra wajah yang di-capture berupa file .bmp akan diproses menjadi matrik dan akan dikalkulasi menggunakan metode Eigenface dan Euclidean Distance. Adapun algoritmanya dimulai dengan membuat matriks kolom dari wajah yang diinput ke dalam database. Rata-rata vector citra (mean) dari matriks kolom dihitung dengan cara membaginya dengan
jumlah banyaknya citra yang disimpan di dalam database. Contoh perhitungan eigenvalue 2 (dua) citra: a.) Penyusunan flatvector matriks citra Seperti pada pembahasan sebelumnya telah dijelaskan langkah-langkah pengenalan wajah dengan pendekatan eigenvalue dan eigenvector, representasikan semua matriks training menjadi matriks dengan bentuk n × 1 atau matriks linier seperti yang ditunjukkan berikut ini :
376
Jurnal Teknika Vol.4 No.2 September 2012
ISSN No. 2085 - 0859
Wajah training-1
Wajah training-2
Dari kedua matriks training tersebut, diperoleh matriks n × 1 dari matriks A dan matriks B sebagai berikut:
b.) Perhitungan rataan flatvector (mean) matriks citra Dari flatvector yang diperoleh, jumlahkan seluruh barisnya sehingga diperoleh matriks berukuran 1 x (W x H). Setelah itu bagi matriks dengan jumlah
citra (N) yang dalam contoh adalah dua untuk mendapatkan rataan flatvector (mean) sebagai berikut: Dari kedua matriks tersebut akan diperoleh matriks ψ yang diperoleh dengan cara :
= 3 3 3 3 3 3 3 3 3
Jadi mean flatvector adalah = (3 3 3 3 3 3 3 3 3) Nilai flatvector citra akan digunakan untuk menghitung nilai eigenface citra wajah untuk training (pembelajaran).
377
Jurnal Teknika Vol.4 No.2 September 2012
ISSN No. 2085 - 0859
c.) Perhitungan Nilai Eigenface Dengan memakai nilai mean citra di atas nilai eigenface untuk matriks flatvector yang sudah disusun tersebut dapat dihitung dengan mengurangi
baris-baris pada matriks flatvector dengan nilai mean flatvector. Jika diperoleh nilai negatif, maka ganti nilainya dengan 0 (nol). Perhitungan nilai eigenface adalah sebagai berikut: Matriks citra wajah -1 Mean flat vector
0 0 0 0 0 0 0 0 0 Matriks x -1 Matriks citra wajah -2 Mean flat vector
1 1 1 1 1 1 1 1 1 Matriks x -2 Matriks x-1 sampai matriks x-2 digabung untuk mendapatkan matriks eigenface untuk pembelajaran (training) dalam proses pengenalan. d.) Penghitungan Euclidean Distance matriks testface dengan cara sebelumnya untuk Untuk mengenali citra tes (testface), langkah penentuan nilai eigenface dan flatvector citranya. identifikasinya adalah hitung nilai eigenface untuk
Matriks yang berkorespondensi
Citra tesface-1
(4 4 4 4 1 4 4 4 4)
Citra testface-1 Matriks yang berkorespondensi
Citra tesface-2
(5 5 5 5 5 5 5 5 5) Citra testface-2
378
Jurnal Teknika Vol.4 No.2 September 2012
ISSN No. 2085 - 0859
Selanjutnya flatvector yang diperoleh testface dikurangi dengan mean flatvector :
1 1 1 1 0 1 1 1 1
2 2 2 2 2 2 2 2 2 Jadi nilai eigen dari testface-1 adalah 111101111. Sedangkan nilai eigen dari testface-2 adalah 222222222. Citra testface-1 dan testface-2 merupakan citra capture, citra testface-2 adalah citra yang belum ada di dalam database. Nilai eigen (eigenvalue) dari testface digunakan untuk identifikasi dengan menentukan jarak
Nilai eigenvalue citra tesface-1
Nilai eigenvalue citra tesface-2 terpendek dengan eigenface dari eigenvector training dengan cara menentukan nilai absolut dari pengurangan baris i pada matriks eigenface training citra dengan eigenface dari testface dan jumlahkan dengan elemen penyusun vector yang dihasilkan dari pengurangan dan didapat jarak d indeks i dan cari nilai d yang paling kecil.
0 0 0 0 0 0 0 0 0 Eigenvalue citra wajah-1 Eigenface training 1 1 1 1 1 1 1 1 1 1 1 1 1 citra wajah-2 Eigenvalue Perhitungan jarak pada testface-1 Perhitungan jarak antara Citra Wajah-1 dengan testface-1 :
0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 1 -1 -1 -1 -1 0 -1 -1 -1 -1 1 1 1 1 0 1 1 1 1 = 8 Perhitungan jarak antara Citra Wajah-2 dengan testface-1:
1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 = 1 Dari perhitungan tersebut diperoleh : a. Jarak citra-1 dengan testface-1 = 8
379
Jurnal Teknika Vol.4 No.2 September 2012
ISSN No. 2085 - 0859
b. Jarak citra-2 dengan testface-1 = 1 Perhitungan jarak pada testface-2 Perhitungan jarak antara Citra Wajah-1 dengan testface-2 : 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 -2 -2 -2 -2 -2 -2 -2 -2 -2
2 2 2 2 2 2 2 2 2 = 18 Perhitungan jarak antara Citra Wajah-2 dengan testface-2 : 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 -1 -1 -1 -1 -1 -1 -1 -1 -1
1 1 1 1 1 1 1 1 1
= 9
Dari perhitungan tersebut diperoleh : a. Jarak citra-1 dengan testface-2 = 18 b. Jarak citra-2 dengan testface-2 = 9
Proses Template matching Dilakukan pencocokan hasil citra wajah yang telah di-capture dan diubah bentuk matrik dengan database yang awalnya capture wajah berupa file .bmp menjadi matrik. Pada proses ini terdapat proses pencocokkan antara hasil capture wajah .
dengan database yaitu dengan dari hasil perhitungan, diperoleh jarak citra wajah-1 dan wajah-2 memiliki nilai yang terkecil. Citra yang paling mirip dengan testface-1 dan testface-2 adalah citra wajah wajah-2, ambil citra tersebut sebagai citra wajah yang paling mirip dengan citra testface seperti pada gambar berikut:
Gambar Citra wajah yang paling mirip dengan citra testface-1 dan testface-2 IMPLEMENTASI DAN EVALUASI Pada pengujian ini dilakukan percobaan individual dengan menggunakan database yang terdiri dari 60 citra wajah. Pada pengetesan ini jarak subjek dengan kamera dibuat konstan yaitu 30 sampai 35 cm.
Dengan percobaan yang telah dilakukan didapatkan beberapa analisis sebagai berikut: 1. Perubahan pose tidak terlalu mempengaruhi akurasi pengenalan wajah. 2. Pengenalan pada pencahayaan yang kurang memberikan hasil yang lebih baik, ini disebabkan pada pencahayaan yang tinggi,
380
Jurnal Teknika Vol.4 No.2 September 2012
ISSN No. 2085 - 0859
detail wajah yang lebih jelas, sehingga kompleksitas warna wajah lebih tinggi. Kompleksitas ini menyebabkan sensitivitas pengenalan meningkat karena algoritma eigenface menitikberatkan pada ciri warna dari objek sehingga muncul citra wajah lain atau data lain dengan nilai yang paling mendekati. 3. Pengenalan pada pencahayaan yang normal ternyata memberikan hasil yang lebih baik, Dari sini bisa ditentukan hasil analisisnya, yaitu bahwa keberhasilan pengenalan dipengaruhi beberapa hal, diantaranya: 1. Jarak antara subjek dan kamera Untuk pengenalan yang baik, jarak antara subjek dan kamera sebaiknya dibuat konstan. 2. Pencahayaan Pencahayaan yang terlalu tinggi akan membuat detail gambar yang lebih rumit, mengakibatkan matriks dari gambar menjadi lebih kompleks, sehingga pengenalan menjadi lebih sensitif dan menurunkan kualitas pengenalan wajah. 3. Pose Wajah Untuk pengenalan pose wajah dari diam ke ekspresif dan aksesoris seperti kacamata tidak terlalu mempengaruhi hasil pengenalan. Sedangkan distorsi pose (menghadap ke kiri atau ke kanan 45° dan ke atas atau ke bawah), jika sudut kemiringan cukup banyak, akan menurunkan kualitas pengenalan wajah. DAFTAR PUSTAKA 1) R. C. Gonzales and R. E. Woods, Digital Image Processing (third edition), Reading, Massachusetts:Addision-Wesley, 1992. 2) Torralba A, Fergus, W. T. Freeman. 80 million tiny images: a large dataset for nonparametric object and scene recognition. In press, IEEE Transaction on Pattern Analysis and Machine Intellligence, 2008. 3) Riyanto Sigit, Sistem Pengenalan Ekspresi Wajah Secara Real Time, Tesis, Teknik Informatika ITS, 2005. 4) Quoc Le, Morgan Quigley and Andrew Y. Ng. Visual Servoing by Template Matching. 5) Http://www.google.com/Image preprocessing .
381
Jurnal Teknika Vol.4 No.2 September 2012
ISSN No. 2085 - 0859
Halaman ini sengaja dikosongkan
382