ISSN: 1693-6930
177
PENGENALAN WAJAH MANUSIA DENGAN METODE PRINCIPLE COMPONENT ANALYSIS (PCA) Murinto Program Studi Teknik Informatika Universitas Ahmad Dahlan Yogyakarta Kampus III UAD Jl Prof Dr. Supomo, Janturan, Yogyakarta 55164 Telp. (0274) 379 418, Fax. (0274) 381523, e-mail:
[email protected]
Abstrak Pengenalan wajah yaitu membandingkan citra masukan dengan suatu database wajah dan menemukan wajah yang paling sesuai dengan masukan citra tersebut. Beberapa pendekatan untuk pengenalan objek dan grafika komputer didasarkan secara langsung pada citra-citra tanpa penggunaan model 3D. Karena dimensi piksel hasil transformasi berukuran besar kemudian dilakukan reduksi dimensi dengan menggunakan analisis komponen utama (Principal Component Analysis) yang juga dikenal dengan metode eigenfaces. Setelah citra pelatihan diolah maka akan dicari nilai rata-ratanya. Dengan penghitungan dari sampel training set akan diperoleh eigenfaces dengan nilai tertinggi. Citra untuk pengujian berupa citra wajah dan bukan wajah yang sebagian merupakan data citra pelatihan, jumlah data uji sebanyak 40 citra yang terdiri dari 35 citra wajah dan 5 citra bukan wajah. Pengukuran jarak euclid (Euclidean Distance) akan menghasilkan nilai maksimum dan minimum, sehingga dapat diperoleh output berupa wajah yang dikenali dan tidak dikenali. Dari hasil penelitian didapatkan bahwa persentase ketepatan pengenalan wajah pada konfigurasi optimum dari principle component analysis (PCA), menunjukkan hasil yang memuaskan. False positive ratenya menunjukkan angka yang kecil, yakni sebesar 0.125%. Kata kunci: Eigenfaces, Principal Component Analysis (PCA), Pengenalan Wajah.
1. PENDAHULUAN Pengenalan wajah (face recognition) telah menjadi suatu aplikasi khusus di antara banyak bidang penelitian yang ada pada Computer Vision. Pengenalan wajah yaitu membandingkan citra wajah masukan dengan suatu database wajah dan menemukan wajah yang paling sesuai dengan citra masukkan tersebut. Pengenalan wajah merupakan suatu pekerjaan yang kompleks hal ini disebabkan banyak kemungkinan variasi untuk subyek yang sama pada kondisi yang berbeda, seperti luminansi dan ekspresi muka (facial expression), dan bentuk kepala secara tiga-dimensi [1]. Pengenalan wajah merupakan suatu pengenalan pola (pattern recognition) yang khusus untuk kasus wajah. Ini dapat dideskripsikan sebagai pengklasifikasian suatu wajah apakah dikenali (known) atau tidak dikenali (unknown), dimana setelah dibandingkan kemudian disimpan secara tersendiri. Beberapa pendekatan untuk pengenalan obyek dan grafika komputer didasarkan secara langsung pada citra-citra tanpa penggunaan model 3D. Banyak dari teknik ini tergantung pada suatu representasi citra yang membentuk suatu struktur ruang vektor, dan dalam prinsip ini memerlukan korespondensi yang padat. Salah satu algoritma pengenalan wajah yang banyak digunakan adalah teknik eigenfaces [2]. Eigenvector yang pertama (komponen utama) diperoleh dari suatu kumpulan bentuk citra pelatihan representasi dasar dalam pendekatan tersebut. Eigenfaces, memproyeksikan citra ke dalam eigenvector, digunakan untuk pengklasifikasian fitur-fitur. Pada tahap pengujian, citra tak berlabel (probe) diproyeksikan ke dalam basis eigenvector dan dibandingkan dengan citra terlatih dalam ruang citra yang baru. PCA digunakan untuk model pengenalan ekspresi wajah [3]. Teknik eigenfaces klasik merupakan suatu contoh yang baik dari suatu algoritma umum(holistic). Penggunaan representasi eigenfaces ini memungkinkan untuk menurunkan jumlah dimensi yang berkaitan dengan citra wajah dan hal ini mampu untuk menekan biaya komputasi secara signifikan. Penyimpanan citra wajah ini juga dapat dilakukan
ISSN: 1693-6930
178
setahap demi setahap dengan menggabungkan citra objek wajah baru kedalam ruang eigen yang telah dibentuk berdasarkan sekumpulan citra wajah awal. Proyeksi ruang eigen (eigenspace) juga dikenal sebagai Karhunen-Loeve (KL) atau juga dinamakan dengan Principal Component Analysis (PCA). Algoritma eigenface memanfaatkan Principal Component Analysis (PCA) untuk mereduksi dimensinya guna menemukan vector-vektor yang mempunyai nilai terbaik untuk distribusi citra wajah didalam ruang citra masukan. Vektor ini mendefinsikan subruang dari citra-citra wajah dan subruang tersebut dinamakan ruang wajah. Semua wajah-wajah dalam himpunan pelatihan diproyeksikan ke dalam ruang wajah untuk menemukan suatu himpunan bobot-bobot yang mendeskripsikan kontribusi dari tiap vector dalam ruang wajah. Untuk identifikasi suatu citra uji, membutuhkan proyeksi suatu citra ke dalam ruang wajah untuk menentukan korespondensi kumpulan bobotbobot. Dengan membandingkan kumpulan bobot-bobot wajah dalam training set, Pengujian citra dapat diidentifikasi. Prosedur kunci dalam PCA didasarkan pada tranformasi KarhumenLoeve. Jika elemen-elemen citra dianggap sebagai variable-variabel random, citra mungkin dilihat sebagai sample suatu proses stokastik. Contoh 2D PCA ditampilkan dalam Gambar 1. Principle Component pertama menyediakan suatu reduksi dimensi secara liner optimal dari 2D ke 1D.
Gambar 1. PCA Kumpulan Titik Dua Dimensi Ide utama principal component analysis adalah menemukan vektor dengan nilai terbaik untuk distribusi citra wajah dalam seluruh ruang citra. Vektor-vektor ini mendefinisikan subruang citra wajah atau biasa disebut dengan nama ruang wajah. Tiap vektor dengan panjang N2, mendsikripsikan citra dengan ukuran N x N, yang merupakan suatu kombinasi linier dari citra wajah asli [4, 5]. Pada penelitian ini akan dibahas mengenai pengenalan wajah dengan menggunakan suatu representasi ruang vektor yang dinamakan dengan Principal Component Analysis (PCA).
2. METODE PENELITIAN Subjek penelitian ini adalah membuat aplikasi untuk pengenalan wajah manusia menggunakan metode principal component analysis (PCA). Data dalam penelitian ini menggunakan data citra sampel wajah manusia berupa file citra berekstensi *.bmp, *.jpg dan yang telah diolah terlebih dahulu untuk menghasilkan citra yang lebih baik dan untuk mempermudah pembacaan data dalam aplikasi pengenalan wajah. Metode yang digunakan untuk merubah citra tersebut adalah dengan merepresentasikan wajah kedalam bentuk piksel (pixel-based models). Metode ini mentransformasi citra wajah kedalam piksel-piksel [6]. Karena dimensi hasil tramsformasi tersebut berukuran besar kemudian dilakukan reduksi demensi dengan menggunakan analisis komponen utama (principal component analysis) [7]. Selanjutnya hasilnya digunakan untuk pengenalan dalam hal ini adalah pengenalan wajah. Diagram konteks ini menggambarkan seluruh sistem yang akan dibuat dan akan diimplementasikan dalam sebuah program, tetapi diagram konteks yang dibuat masih bersifat TELKOMNIKA Vol. 5, No. 3, Desember 2007 : 177 - 184
■ 179
ISSN: 1693-6930
TELKOMNIKA
umum dan belum mengambarkan proses pengenalan wajah dengan jelas. Maka diagram tersebut perlu didekomposisi lagi untuk mendapatkan gambaran sistem dengan jelas. Perancangan diagram konteks dapat dilihat pada Gambar 2. Citra Wajah Pelatihan Citra Pengujian Pengguna
1 Software Pengenalan Wajah
Hasil Pelatihan
+
Hasil Pengujian dan Pengenalan
Gambar 2. Diagram Konteks Pengenalan Wajah
1.1
[Citra Wajah Pelatihan] Pengguna
Input Citra
Training Data Set
Data Citra
Training Data Set Pengguna
Hasil Pelatihan
[Hasil Pelatihan] 1.3
1.2
Pelatihan
Hitung Eigenfaces
Hasil Pelatihan
+ Hasil Hitung Eigenfaces
Data Eigenfaces Hasil Pelatihan
Bobot Akhir
Data Eigenfaces Data Eigenfaces
Pengguna
[Citra Pengujian]
1.4
[Hasil Pengujian]
Pengujian
Pengguna
+
Gambar 3. DFD Level 0 Perancangan DFD menggambarkan aliran data yang terjadi dalam sistem (Gambar 3). Pada sistem pengenalan wajah ini terdapat beberapa aliran data masuk yang berasal dari pengguna (user) serta terjadi keluaran hasil proses kepada pengguna itu sendiri. Proses dalam penerapan metode PCA untuk pengenalan wajah manusia yang digambarkan pada DFD meliputi: a. Input data citra. Proses ini pertama kali dikenakan pada citra yang sudah diproses secara manual sebelumnya untuk digunakan sebagai data kumpulan pelatihan (training data set). Setiap citra pelatihan yang dimasukkan diproyeksikan ke dalam ruang eigen (eigenspace). b. Hitung eigenfaces. Kemudian menghitung eigenfaces dari kumpulan citra pelatihan tersebut. Proses ini diturunkan lagi kedalam beberapa sub proses meliputi: 1). Menghitung rata-rata dari citra pelatihan Procedure Hitung_ratarata_citra_pelatihan {menghitung rata-rata citra pelatihan} Deklarasi I : integer {indek baris} i : integer {indek kolom/indek banyaknya citra pelatihan} n : integer {banyaknya piksel} M : integer {banyaknya citra pelatihan} m : integer {rata-rata citra pelatihan} tmp : integer {peubah untuk menampung jumlah piksel per baris} x : integer {citra}
Penerapan Metode Principle Component Analysis (PCA) Untuk ........(Murinto)
ISSN: 1693-6930
180 Deskripsi for I 1 to n do for i 1 to M do tmp m tmp + xi[I,i] endfor m[I,j] tmp/M endfor
2). Selisih antara citra pelatihan dan rata-rata Procedure Hitung_selisih_citra_pelatihan {setiap citra pelatihan dikurangi rata-rata citra} Deklarasi I : integer {indek baris} i : integer {indek kolom/indek banyaknya citra pelatihan} n : integer {banyaknya piksel} M : integer {banyaknya citra pelatihan} m : integer {rata-rata citra pelatihan} tmp : integer {peubah untuk menampung jumlah piksel per baris} xi : integer {citra}
X :integer {matriks kombinasi/hasil} Deskripsi for I 1 to n do for i 1 to M do X [I,i] xi[I,i] - m [I,1] endfor endfor 3). Matriks Kovarians Procedure Hitung_Kovarians (input
X
: selisih citra;
T
input X : tranpose dari selisih citra; output : C : matriks kovarians) T
{mengalikan matriks X dan X menghasilkan matriks C} Deklarasi I : integer {indek baris} i : integer {indek kolom/indek banyaknya citra pelatihan} n : integer {banyaknya piksel} M : integer {banyaknya citra pelatihan} k : integer {indek baris matriks
XT}
X :integer {matriks kombinasi/hasil} X T : integer {tranpose matriks kombinasi/hasil} Deskripsi for I 1 to n do for i 1 to M do for k 1 to M do C[I,i] C[I,i] + endfor endfor endfor
c.
X
[I,k]*
X T [k,i]
Proses pelatihan. Dari proses hitung eigenfaces akan dilakukan proses pelatihan untuk mendapatkan himpunan data pelatihan dari berbagai citra yang bervariasi. Berikut adalah algoritma dari proses pelatihan:
TELKOMNIKA Vol. 5, No. 3, Desember 2007 : 177 - 184
ISSN: 1693-6930
TELKOMNIKA
■ 181
Prosedure Pelatihan_citra {Pemroyeksian citra pelatihan ke dalam eigenspace} Deklarasi m : integer (banyaknya nilai eigenvektor) n : integer (banyaknya kolom (piksel)/baris xi)
~
x : integer (eigenspace x) Deskripsi Tranpose (V : matriks, VT : matriks) for I 1 to m do for i 1 to n do ~ x [I,i] 0
for k 1 to n do
~ x [I,i] ~ x [I,i] + VT [I,k]* xi [k,i] endfor endfor endfor
d. Proses pengujian citra masukan. Pada proses ini citra wajah yang akan diuji ditransformasikan ke dalam komponen-komponen eigenfaces. Proses ini kemudian diturunkan lagi menjadi Proses Membandingkan mean image dengan salah satu eigenvektor, dan proses mencari euclidean distance. Dari Proses Membandingkan mean image dengan salah satu eigenvektor, diperoleh bobot untuk tiap-tiap citra training set yang kemudian akan digunakan pada proses mencari Eucludean Distance untuk mencari nilai minimum euclidean distance. Prosedure Pengujian_citra {Pemroksian citra pelatihan ke dalam eigenspace} Deklarasi m : integer (banyaknya nilai eigenvektor) n : integer (banyaknya kolom (piksel)/baris yi)
~ y
: integer (eigenspace y)
Deskripsi Tranpose (V : matriks, VT : matriks) for I 1 to m do for i 1 to n do
~ y
[I,i] 0
for k 1 to n do
~ y
[I,i]
~ y
[I,i] + VT [I,k]* yi [k,i]
endfor endfor endfor
3. HASIL DAN PEMBAHASAN Aplikasi akan menerima masukan berupa citra sampel wajah dan bukan wajah. Untuk input data pelatihan yang digunakan dalam aplikasi ini diperoleh dari training set wajah yang telah dikonversi ke dalam matriks, kemudian diolah dengan metode eigenfaces, sesuai dengan variabel-variabel yang ditentukan sebelumnya. Untuk pengujian diambil dari file-file citra pelatihan dan ditambah citra yang bukan dari pelatihan. Jumlah citra untuk pelatihan adalah 32 citra, sedangkan citra ujinya (yang tidak termasuk dalam citra pelatihan) sebanyak 8 buah citra. Hasil kumpulan citra pelatihannya ditunjukkan pada Gambar 4. Pada langkah awal, akan diinputkan citra wajah yang sudah diolah dengan ukuran 40x50 piksel dan tingkat keabuan 256 (grayscale). Setelah citra diambil, kemudian lanjutkan dengan pembentukan himpunan pelatihan (training set) dari input citra. Rata-Rata citra wajah pelatihan kemudian ditemukan. Berikut ini adalah hasil dari inputan suatu citra, yang dapat dilihat pada Gambar 5.
Penerapan Metode Principle Component Analysis (PCA) Untuk ........(Murinto)
ISSN: 1693-6930
182
Gambar 4. Kumpulan Citra Pelatihan dan Citra Uji
Gambar 5. Input Citra Uji Perbedaan antara masing-masing dari citra pelatihan dan rata-rata wajah dihitung. Perbedaan ini kemudian ditempatkan ke dalam matriks yang terdiri atas vektor kolom dari perbedaan yang dihitung. Eigenvector dan eigenvalue dari matriks ini ditemukan. Citra pelatihan yang sudah diolah dengan metode eigenface dapat dilihat pada Gambar 6. Sedangkan hasil rata-rata citra diperlihatkan pada Gambar 7. Data citra yang disimpan dalam sebuah file akan diproses pada proses hitung eigenfaces, kemudian hasil akan diberikan kepada pengguna berupa data hasil eigenfaces dan disimpan untuk dilatih dan diujikan. Dari proses pelatihan akan diperoleh nilai bobot akhir sehingga pada proses pengujian akan didapat hasil pengujian atau pengenalan berupa wajah yang dikenali (known) dan tidak dikenali (unknown). Citra hasil rekonstruksi dari citra uji, serta nilai jarak euclideannya diperlihatkan dalam Gambar 8. Kemudian nilai dari bobot citra uji dan jarak euclideannya secara grafik diperlihatkan dalam Gambar 9.
TELKOMNIKA Vol. 5, No. 3, Desember 2007 : 177 - 184
ISSN: 1693-6930
TELKOMNIKA
■ 183
Gambar 6. Eigenfaces Citra pelatihan
Gambar 7. Rata-rata
Gambar 8. Citra hasil akhir rekonstruksi citra pelatihan
Gambar 9. Bobot citra uji dan jarak Euclidean Sistem pengenalan wajah telah diuji menggunakan satu kumpulan citra wajah yang diambil dari beberapa sumber. Semua data citra pelatihan dan data citra pengujian berintensitas warna grayscale dengan ukuran piksel 40x50 dan berekstensi .bmp. Kumpulan pelatihan (training data set) wajah terdiri dari 32 citra wajah (M=32). Setelah citra pelatihan diolah maka akan dicari nilai rata-ratanya. Dengan penghitungan dari sampel training set akan diperoleh eigenfaces dengan nilai tertinggi. Nilai eigen menentukan kegunaan dari eigenfaces. Penerapan Metode Principle Component Analysis (PCA) Untuk ........(Murinto)
184
ISSN: 1693-6930
Eigenfaces ditampung dengan nilai eigen non-zero karena ukuran dari training set kecil. Citra untuk pengujian berupa citra wajah dan bukan wajah yang sebagian merupakan data citra pelatihan, jadi jumlah data uji sebanyak 40 citra yang terdiri dari 35 citra wajah dan 5 citra bukan wajah. Pengukuran jarak euclid (Euclidean Distance) akan menghasilkan nilai maksimum dan minimum, sehingga dapat diperoleh output berupa wajah yang dikenali dan tidak dikenali. Persentase ketepatan pengenalan wajah pada konfigurasi optimum dari eigenfaces dihitung dengan menggunakan detection rate dan false positive rate. Jumlah wajah yang berhasil dideteksi adalah 32 dari 35 wajah, jadi detection rate-nya adalah 91,43%. False positif rate-nya adalah 5 dari non-wajah yang terdeteksi sebagai wajah atau 0,125%.
4. SIMPULAN Dari hasil penelitian dan pembahasan yang telah dilakukan menunjukkan bahwa principle component analysis dapat dimanfaakan untuk melakukan pengenalan wajah pada citra digital dengan lebih sederhana dan cepat. Dari hasil penelitian didapatkan bahwa persentase ketepatan pengenalan wajah pada konfigurasi optimum dari eigenfaces dengan menggunakan detection rate dan false positive rate. Jumlah wajah yang berhasil dideteksi adalah 32 dari 35 wajah, jadi detection rate-nya adalah 91,43%. False positif rate-nya adalah 5 dari non-wajah yang terdeteksi sebagai wajah atau 0,125%. Dari hasil ini dapat disimpulkan bahwa metode principle component analysis dapat dijadikan sebagai salah satu metode pengenalan wajah manusia yang bagus. Hal ini dapat dilihat dari hasil ketepatan pengenalan wajah yang tinggi.
DAFTAR PUSTAKA [1]. Jianke, Z., Mang, V., and Peng, U.M., “Face Recognition Using 2D DCT With PCA”, University of Macau, Macau, 2002. [2]. Turk, M., and Pentland, “Eigenfaces for Recognition”, Journal of Cognitive Neuroscience 3: 71-86, 1991. [3]. Calder, A.J., Burton, A.M, Miller, P., Young, A.W., and Akamatsu, S., “A Principle Componen Analysis of Facial Expressions”, Vision Research 41: 1179-1208., 2001. [4]. Atalay, I., “Face Recognition Using Eigenfaces”, Istambul Technical University, Turki, 1996. [5]. Sax, J.D., and Dillon, O.W., “The Simulation of Radiation”, Radiation Journal, No. 2, Addison-Wisley, San Fransisco, 173-179, 1963. [6]. Xiaoguang Lu, ”Image Analysis for Face Recognition”, Dept. of Computer Science and Engineering, Michigan State University, 2000. [7]. Zanna, Y., and Roberto,M.C., “Face Recognition Based on Polar Frequency Features”, University of Sao Paolo, Brazil, 2000.
TELKOMNIKA Vol. 5, No. 3, Desember 2007 : 177 - 184