Artikel Reguler _____________________________________________________________________________
PENERAPAN ALGORITME VIOLA-JONES DAN EIGENFACE PADA SISTEM PENGENALAN WAJAH Nafier Rahmantha1, Indah Soesanti2 , Hanung Adi Nugroho3
Abstract—Research in face recognition system becomes very complex and complicated. Face recognition system that has been developed turn out to be difficult since it is sensitive to illumination, expression, orientation, occlusion etc. At least, there are 2 main components in face recognition system such as face detector and face recognition. This paper presents face recognition system which is used ViolaJones and eigenface algorithm as the main method. By combining both of these algorithms, the automated face recognition system can be made. In this paper was used 7 faces each with 10 different expression. Test results gave a accuracy of system by 95,45%. Intisari—Penelitian mengenai sistem pengenalan wajah merupakan permasalahan yang kompleks dan rumit. Sistem pengenalan wajah yang telah dikembangkan saat ini memiliki beberapa batasanbatasan untuk menghasilkan hasil akurasi yang cukup tinggi seperti : efek pencahayaan, ekspresi wajah, orientasi wajah, penghalang dan lain-lain. Setidaknya terdapat dua bagian utama dalam sistem pengenalan wajah yang baik, yaitu proses pendeteksian wajah dan pengenalan wajah. Dalam tulisan ini digunakan algoritme Viola-Jones dan eigenface sebagai algoritme utama dalam sistem pengenalan wajahnya. Dengan menggabungkan kedua metode ini, sistem pengenalan wajah yang otomatis dapat dibuat. Dalam penelitian yang dilakukan dengan menggunakan 7 wajah dengan 10 pose berbeda, Dihasilkan akurasi sistem yang telah dirancang sebesar 95,45%. Kata kunci : Algoritme Viola-Jones, eigenface, eigenvector, pengenalan wajah, pendeteksi wajah.
I PENDAHULUAN Teknologi pengenalan wajah sudah banyak diimplementasikan dalam kehidupan sehari-hari seperti contohnya menemukan teroris dalam ruang publik yang dilengkapi dengan kamera CCTV, sistem keamanan pengguna pada smartphone serta sistem absensi. Sistem keamanan yang menggunakan sistem pengenalan wajah mempunyai 1Mahasiswa
Jurusan Teknik Elektro dan Teknologi Informasi, FT UGM. Jln. Wonorejo Asri XII/27 Rungkut Surabaya KODEPOS : 60296. (tlp : 085733099884, e-mail :
[email protected]) 2, 3 Dosen Jurusan Teknik Elektro dan Teknologi Informasi, FT UGM. Jln Grafika No.2 Kampus UGM Yogyakarta
keuntungan yang lebih apabila dibandingkan dengan sistem keamanan yang lain (kode PIN, password atau smart card) yaitu lebih praktis, pengguna tidak perlu repot mengingat sandi-sandi atau membawa kartu tertentu. Dalam sistem pengenalan wajah terdapat 2 unsur yang penting, yaitu pendeteksian wajah dan proses pengenalan wajah. Dalam proses pendeteksian wajah atau face detection, keberadaan dan lokasi dari wajah pada citra masukan dapat ditentukan sehingga dapat memudahkan proses selanjutnya yaitu proses pengenalan wajah atau face recognition. Algoritma Viola-Jones telah banyak digunakan dan terbukti mampu mendeteksi wajah dengan tepat. Pada proses face recognition, citra wajah yang telah diketahui posisinya dikenali dan dicocokkan dengan citra wajah referensi. Terdapat banyak pendekatan yang dapat dilakukan dalam mendeteksi wajah, contoh yang cukup sederhana yaitu dengan mencari warna kulit atau mendeteksi gerakan pada video dengan latar belakang yang telah dikondisikan. Namun hingga saat ini, pendeteksian wajah dengan pendekatan jaringan syaraf tiruan dan appearance based menunjukkan keunggulan yang lebih karena tidak terlalu sensitif dengan latar belakang yang ada pada citra [1]. Pada penelitian ini akan digunakan metode pendeteksian wajah atau face detection dengan menggunakan algoritme Viola-Jones. Algoritme ini menggunakan pendekatan appearance based dan telah menjadi framework dari berbagai metode face detector modern saat ini. Dalam pengenalan wajah terhadap 2 pendekatan utama yaitu feature based dan information theory concept atau appearance based [2][1]. Pada pendekatan feature based, proses recognition dilakukan dengan mencari fitur-fitur wajah seperti jarak antar mata, jarak mata dengan hidung dan lain-lain. Pendekatan feature based memiliki kelebihan yaitu tidak sensitif terhadap variasi pencahayaan dan sudut pandang. Namun, pendekatan ini semakin ditinggalkan karena rentan terhadap penghalang atau occlusion dan banyak informasi yang hilang dan diabaikan dari tekstur wajah. Sementara itu pada pendekatan appearance based, citra wajah dianalisis sebagai satu kesatuan wajah yang tidak dapat dipisahkan. Algoritme
34 Volume 1 Nomor 1, April 2014 _______________________________________________________________________________
Jurnal Penelitian Teknik Elektro dan Teknologi Informasi _______________________________________________________________________________ eigenface termasuk dalam pendekatan appearance based / information theory based. Pada penelitian ini digunakan metode eigenface sebagai algoritme dasar untuk melakukan face recognition. Algoritme ini digunakan berdasarkan penelitian yang telah dilakukan, bahwa algoritme eigenface sudah menghasilkan akurasi yang cukup baik yaitu sebesar 96% pada keadaan dengan variasi pencahayaan yang berbeda, 85% pada keadaan kemiringan wajah yang berbeda dan 64% pada keadaan ukuran background terhadap citra wajah yang berbeda [3]. Algoritma ini pada dasarnya merupakan pengembangan dari [4] yang menerapakan persamaan Karhunen-Loeve sebagai dasar pengenalan wajahnya. Tujuan penelitian ini adalah melakukan deteksi dan pengenalan wajah dengan akurasi yang tinggi. II METODE A. Bahan dan Alat Penelitian Dibutuhkan beberapa perangkat guna menunjang penelitian ini. Perangkat keras yang digunakan yaitu satu perangkat laptop ASUS K43SJ dengan spesifikasi sistem operasi Windows 7, dengan prosesor Intel ® Core i3 2330M CPU 2.2 GHz dan RAM 2.00 GB. Perancangan sistem dan simulasi dilakukan dengan perangkat lunak Matlab R2009A. Perangkat lunak Matlab R2009A telah menyediakan kemudahan dan beberapa fitur dalam melakukan proses pengolahan citra digital sehingga software Matlab digunakan dalam penelitian ini. Citra wajah didapatkan dengan menggunakan kamera belakang 3MP pada smartphone Samsung Galaxy Tab 2 (7.0) GT-P3100. Jumlah citra uji yang digunakan sebanyak 70 buah dengan 7 jenis wajah dalam 10 ekspresi yang berbeda.
C. Blok Pendeteksian Wajah Pendeteksian wajah ini mengunakan algoritma Viola Jones[5]. Pada blok ini citra masukan yang masih mengandung komponen wajah dan bukan wajah dipisahkan, sehingga hanya komponen wajah saja yang dilewatkan oleh blok ini. Gbr 2 menunjukkan cara kerja dari pendeteksian wajah secara umum. Haarcascade_fron talface_alt
CITRA MASUKAN
UBAH KE INTEGRAL IMAGE
CASCADING
CITRA KELUARAN
Gbr 2 Blok Diagram Proses Pengenalan Wajah
Citra wajah masukan yang masih dalam bentuk grayscale diubah menjadi integral image dengan perumusan, iix, y i x ' , y ' . (2. 1)
x ' x dan y ' y
Dengan iix, y merupakan integral image pada
koordinat baris x dan kolom y, ix ' , y ' merupakan citra masukan. Untuk menentukan ada atau tidaknya wajah dalam sebuah citra, Paul Viola dan Michael Jones menggunakan haar-like features seperti pada Gbr 3.
Gbr 3 Contoh Haar-like features [5].
B. Perancangan Sistem Secara Umum Secara umum, sistem pengenalan wajah yang diterapkan pada penelitian ini dapat diamati pada Gbr 1. CITRA MASUKAN
PENDETEKSIAN WAJAH
PRE-PROCESSING
PENGENALAN WAJAH
CITRA KELUARAN
CITRA REFERENSI
Gbr 1 Blok Diagram Sistem Secara Umum
Citra masukan yang mengandung komponen wajah dan bukan wajah dimasukkan ke dalam blok pendeteksian wajah. Dengan melewatkan citra masukan ke dalam blok ini, daerah yang mengandung wajah dapat dipisahkan dari latar belakangnya. Keluaran dari blok pendeteksian wajah kemudian dilewatkan pada blok preprocessing dan blok pengenalan wajah untuk dicocokkan dengan citra referensi sehingga wajah dapat dikenali.
Haar-like feature merupakan fitur yang cukup sederhana (bujur sangkar) yang mempunyai 3 nilai, yaitu bernilai 1 untuk daerah kotak berwarna hitam, bernilai -1 untuk daerah kotak berwarna putih, dan bernilai 0 untuk daerah yang lain. Pada intinya, sifat dari haar-like feature hampir sama dengan filter yang digunakan pada deteksi tepi, yaitu menunjukkan nilai intensitas yang tinggi apabila nilai-nilai piksel masukan filter selaras dengan pola yang ditunjukkan pada filter itu sendiri. Haar-like feature umumnya masing-masing berukuran 24 x 24 piksel (ada juga yang berukuran 20 x 20 piksel) yang didalamnya terdapat pola fitur tertentu. Daerah yang ditunjukkan oleh haar-like feature dianggap wajah apabila, jumlah dari seluruh daerah citra masukan yang diberi bobot nilai sesuai dengan yang ditunjukkan oleh haar-like feature ke-j melebihi batas threshold j tertentu seperti yang ditunjukkan pada persamaan.
35 Volume 1 Nomor 1, April 2014 _______________________________________________________________________________
Artikel Reguler _____________________________________________________________________________
1 jika sum j h j x (2. 2) 0 yang lain Dengan h j x merupakan haar-like feature ke-j yang diberi masukan daerah citra ke-x dan sum merupakan jumlah dari seluruh daerah citra masukan yang diberi bobot nilai sesuai dengan yang ditunjukkan oleh haar-like feature ke-j. Pengambilan keputusan bahwa bagian citra tersebut merupakan wajah apabila sekumpulan haar-like feature yang digunakan memenuhi persamaan,
hx
T
h x j
j
j 1
Dengan ,
1 h x 0
jika hx
1 2
(2. 3)
T
j
j 1
yang lain
Dengan hx merupakan sekumpulan kombinasi linear dari haar-like features, j adalah bobot kombinasi haar-like feature ke-j, h j x merupakan
haar-like feature ke-j yang diberi masukan daerah citra ke-x, dan T banyaknya haar-like feature yang digunakan dalam kombinasi linear. Berdasarkan persamaan (2. 3), pencarian fitur dan lokasi wajah pada proses cascading membutuhkan 3 komponen utama dalam perhitungannya yaitu : sebanyak j haar-like features yang digunakan, bobot kombinasi j dari haar-like feature ke-j, dan threshold j dari haar-like feature ke-j. Ketiga informasi penting ini telah disediakan oleh opencv pada “haarcascade_frontalface_alt”. Melalui informasi yang telah disediakan oleh “haarcascade_frontalface_alt”, proses cascading dapat dilakukan sehingga wajah dapat dideteksi. D. Blok Pre-processing Blok pre-processing digunakan untuk meningkatkan akurasi dari blok pengenalan wajah dengan cara melakukan seleksi lebih lanjut citra masukan dari blok pendektesian wajah. Citra keluaran blok pendeteksian wajah umumnya masih mengandung banyak unsur bukan wajah. Untuk menghilangkan unsur bukan wajah tersebut, citra keluaran pendeteksian wajah dilakukan segmentasi berdasarkan warna kulit manusia. Warna kulit manusia menempati rentang nilai intensitas tertentu pada color space YCbCr dan HSV. Sensasi warna ditentukan oleh kanal Cb (croma blue) dan Cr (croma red) pada color space YCbCr dank anal H (Hue) pada color space HSV. Pada penelitian yang telah dilakukan, warna kulit manusia menempati rentang nilai 110 hingga 125 pada kanal Cb, 130 hingga 145 pada kanal Cr, dan 10 hingga 25 pada kanal H. Ilustrasi hasil dari blok ini diperlihatkan pada Gbr 4.
(a)
(b)
(c)
Gbr 4 Ilustrasi Hasil Blok Pre-processing(2) (a) citra hasil pendeteksi wajah (b) segmentasi warna kulit (c) Hasil Keluaran
E. Blok Pengenalan Wajah Proses yang berlangsung pada blok ini secara umum merupakan proses perhitungan algoritme eigenface. Inti dari blok ini adalah proses pencarian fitur yang diperlukan untuk pengenalan wajah. Pengenalan wajah dengan metode eigenface dilakukan dengan cara melakukan rotasi sebesar [W] terhadap citra wajah yang ingin dikenali dan kemudian hasil rotasi tersebut dibandingkan kedekatannya dengan citra wajah referensi yang juga telah ditransformasikan sebesar [W]. Pertama-tama citra wajah referensi diubah menjadi vektor kolom x N dengan N merupakan banyaknya citra wajah referensi sehingga terbentuk matriks X seperti pada persamaan, (2. 4) X x1 x 2 x N T . Rata-rata dari citra wajah referensi / average face dihitung berdasarkan perumusan,
X
1 N
N
x
(2. 5)
n
n 1
Matriks transformasi [W] didapatkan berdasarkan eigenvector dari kovarian matriks [C]x yang dihitung berdasarkan perumusan pada persamaan, Cx E X X X X T (2. 6) Andaikan citra wajah referensi yang akan kita uji mempunyai ukuran sebesar 100 x 100 pixel. Sehingga berdasarkan persamaan (2. 6), kita membutuhkan 100x100 pasang eigenvector dan eigenvalue. Berdasarkan hotelling transform atau yang biasa disebut dengan principal component analysis [6][3][4] kita cukup membutuhkan N pasang eigenvector dan eigenvalue yang paling signifikan (mempunyai varians terbesar) tanpa kehilangan banyak informasi penting. T Mengingat dimensi dari E X X X X jauh lebih kecil apabila dibandingkan dengan T dimensi dari E X X X X dan A = X X . Dengan menganggap bahwa eigenvektor
dari E X X X X adalah v sehingga, T
i
AT Avi i vi .
=
(2. 7)
36 Volume 1 Nomor 1, April 2014 _______________________________________________________________________________
Jurnal Penelitian Teknik Elektro dan Teknologi Informasi _______________________________________________________________________________ Dengan mengalikan A pada persamaan (2. 7) sehingga : = i Avi AAT Avi (2. 8) = i Avi C x Avi Berdasarkan pada persamaan (2. 8),
Av i
merupakan eigenvector dari [C]x dengan vi merupakan eigenvector dari AT A yang merupakan eigenvector paling signifikan dari [C]x. Dengan metode ini, dimensi dari matriks transformasi [W] akan lebih kecil sehingga beban komputasi akan semakin berkurang. Lebih lanjut, matriks transformasi [W] ini juga biasa disebut sebagai eigenface. Proses pengenalan wajah dilakukan dengan memanfaatkan perumusan pada persamaan, (2. 9) y W T X . Algoritme eigenface atau PCA dapat bekerja dengan baik apabila setiap dimensi data masukan dikurangi dengan nilai rata-ratanya [7]. Sehingga y merupakan masukan yang telah XX ditransformasi sebesar [W], dengan X merupakan
citra wajah referensi dan X merupakan rerata citra wajah referensi. Citra wajah yang akan dikenali juga ditransformasikan sebesar [W] agar menempati bidang yang sama dengan y. Berdasarkan pada persamaan (2. 9) sehingga, (2. 10) W T Xˆ X Dengan merupakan citra wajah yang akan
dikenali Xˆ yang telah ditransformasikan sebesar
Dari percobaan yang telah dilakukan algoritme Viola-Jones dapat mendeteksi wajah dengan tingkat akurasi yang cukup tinggi yaitu sebesar 94,3% (4 buah citra masukan tidak berhasil dideteksi dari total 70 citra masukan). Berikut pada Gbr 5 ditunjukkan contoh hasil pengujian dari pendeteksi wajah.
Gbr 5 Hasil Pengujian Pendeteksi Wajah
B. Pengujian Pengenalan Wajah Pengujian ini dilakukan untuk mengetahui akurasi dari proses pengenalan wajah yang telah diimplementasikan. Akurasi dari proses pengenalan wajah dihitung berdasarkan jumlah citra wajah yang berhasil dikenali dengan benar dibandingkan dengan banyaknya citra wajah yang dikenali dengan salah. Contoh citra yang digunakan sebagai citra uji dari sistem pengenalan wajah diperlihatkan pada Gbr 6.
[W]. Citra wajah Xˆ kemudian akan dicocokkan dengan citra wajah referensi berdasarkan nilai minimum dari euclidean distance nya. Perumusannya adalah,
k2 y k . 2
(2. 11)
(a)
(b)
(c)
(d)
(e)
(f)
Dengan k2 merupakan nilai euclidean distance dan
yk merupakan citra wajah referensi yang telah ditransformasikan sebesar [W]. III HASIL DAN PEMBAHASAN Pada bab ini akan dilakukan pengujian sistem pengenalan wajah yang telah disimulasi dan diimplementasikan pada perangkat lunak MATLAB R2009A. A. Pengujian Pendeteksian Wajah Pengujian ini dilakukan untuk mengetahui akurasi dari face detector yang telah diimplementasikan. Akurasi dari face detector dihitung berdasarkan perbandingan jumlah citra wajah yang berhasil dideteksi dengan banyaknya citra wajah yang tidak berhasil dideteksi (tidak mampu mendeteksi wajah atau mengalami kesalahan dalam mendeteksi wajah).
(g) Gbr 6 Contoh Citra Uji yang Digunakan.
Berdasarkan hasil pengujian, sistem pengenalan wajah yang tidak menggunakan blok pre-processing menghasilkan akurasi sebesar 86,36%. Sedangkan berdasar pada sistem pengenalan wajah yang ditambahkan dengan blok pre-processing, mengalami peningkatan akurasi sebesar 9% . Lebih
37 Volume 1 Nomor 1, April 2014 _______________________________________________________________________________
Artikel Reguler _____________________________________________________________________________ lanjut, dengan menggunakan blok pre-processing akurasi sistem menjadi 95,45%. Hal ini dikarenakan dari sifat metode eigenface yang membandingkan fitur wajah referensi dengan wajah citra masukan. Fitur yang dibandingkan ini sebenarnya merupakan data pada koordinat kartesian yang telah ditransformasikan sebesar [W] yang mempunyai varians paling tinggi dari sekumpulan citra referensi. Tiap sumbu pada koordinat kartesian yang telah ditransformasikan sebesar [W] ini merupakan nilai tiap-tiap piksel pada citra referensi. Jadi, keluaran dari proses pengenalan wajah akan menghasilkan hasil yang lebih akurat apabila posisi tiap fitur wajah seperti mata, hidung, mulut berada pada koordinat yang sama. Dengan adanya blok pre-processing, posisi fitur mata, hidung, mulut diusahakan dalam posisi yang sama dengan citra referensi. Hal ini disebabkan oleh sifat dari blok pre-processing yang berusaha menghasilkan citra dengan hanya berisi wajah sepenuhnya dengan cara melakukan segmentasi berbasis warna kulit manusia.
[6] R. Dony, The Transform and Data Compression Handbook, Boca Raton: CRC Press LLC, 2001. [7] L. I. Smith, “A Tutorial on Principal Component Analysis,” 2002.
IV KESIMPULAN Berdasarkan hasil penelitian yang telah dilakukan, dapat diambil beberapa kesimpulan sebagai berikut : 1. Metode Viola-Jones dan eigenface dapat dikombinasikan sehingga mampu membentuk sistem pengenalan wajah yang otomatis. 2. Algoritme Viola-Jones yang digunakan dalam proses pendeteksian wajah sudah mampu berjalan dengan baik pada kondisi wajah tegak ke depan dengan akurasi sebesar 94,3%. 3. Algoritme eigenface yang digunakan dalam proses pengenalan wajah sudah mampu berjalan dengan baik pada kondisi wajah tegak ke depan dengan akurasi sebesar 95,45%. 4. Algoritme eigenface sangat bergantung pada posisi fitur pada wajah seperti mata, hidung, dan mulut sehingga peran dari blok preprocessing cukup vital dalam sistem pengenalan wajah yang telah dibuat, terbukti dengan meningkatnya akurasi sistem sebesar 9% dengan penambahan blok pre-processing. REFERENSI [1] S. Z. Li dan A. K. Jain, Handbook of Face Recognition, New York: Springer Science+Business Media, Inc 2005, 2005. [2] M. Agarwal, H. Agrawal, N. Jain dan M. Kumar, “Face Recognition using Principal Component Analysis, Eigenface and Neural Network,” dalam 2010 International Conference on Signal Acquisition and Processing, 2010. [3] M. Turk dan A. Pentland, “Eigenfaces for Recognition,” dalam Journal of Cognitive Neuroscience, vol. 3, 1991. [4] M. Kirby dan L. Sirovich, “Application of the KarhunenLoeve Procedure for the Characterization of Human Faces,” dalam IEEE PAMI Vol 12, 1990. [5] P. Viola dan M. Jones, “Robust Real-Time Object Detection,” Vancouver, 2001.
38 Volume 1 Nomor 1, April 2014 _______________________________________________________________________________