Anda di halaman 1dari 23

PEMECAHAN MASALAH

PENGENALAN CITRA WAJAH


SECARA REALTIME DENGAN
VARIASI POSE MENGGUNAKAN
METODE EIGENFACES


Reza A Prasetyo
Binus University, Jakarta, DKI Jakarta, Indonesia

Benny Senjaya
BinusUniversity, Jakarta, DKI Jakarta, Indonesia

Alexander A S Gunawan
BinusUniversity, Jakarta, DKI Jakarta, Indonesia





Abstract


There are so many human jobs that can be replaced by computer in the age of advanced
technology, one of them is face recognition. Face recognition is often used at places that need
a high security. Generally, face recognition is done with controlled variables like light
intensity, poses, and expression. Uncontrolled variables would decrease the performance of
face recognition. This journal examines how to handle pose variations in face recognition
using EigenFaces method. Testing was conducted with inputs of face images in multi-poses
based on yaw head movement. The result was obtained with different shooting angles and
threshold values to get the optimal results. At the end of testing, the EigenFaces method
could be used for face recognition with pose variations, with the help of multi-pose face
detection and division of PCA modules based on the captured pose.

Keyword: recognition, face, variation, poses, EigenFaces, Principal Component Analysis




Abstrak


Banyak pekerjaan manusia yang dapat digantikan oleh komputer dalam teknologi maju
sekarang ini, salah satunya adalah pengenalan wajah. Pengenalan wajah banyak digunakan
pada tempat-tempat yang membutuhkan sekuritas tinggi. Pengenalan wajah umumnya
dilakukan dengan beberapa variabel terkontrol seperti intensitas cahaya, pose wajah, dan
ekspresi. Tidak terkontrolnya variabel-variabel tersebut dapat menurunkan performa dari
pengenalan wajah. Skripsi ini membahas mengenai pendekatan untuk menangani masalah
variasi pose pada pengenalan wajah menggunakan metode EigenFaces. Pengujian dilakukan
dengan masukan berupa citra wajah dengan variasi pose berdasarkan perputaran axis sejajar
dengan bidang rata (yaw head movement). Hasil pengujian divariasikan dengan berbagai
sudut pengambilan dan nilai threshold untuk mendapatkan nilai yang optimal. Setelah
pengujian dilakukan dengan beberapa sampel, dapat disimpulkan bahwa metode EigenFaces
dapat digunakan untuk menyelesaikan masalah pengenalan citra wajah dengan variasi pose,
dengan bantuan pendeteksian wajah secara multi-pose dan pembagian tugas kerja modul PCA
berdasarkan pose yang ditangkap.

Kata kunci: pengenalan, wajah, variasi, pose, EigenFaces, Principal Component Analysis




1. Pendahuluan
Dalam masa teknologi maju sekarang ini, banyak pekerjaan manusia yang telah
digantikan oleh komputer. Dengan adanya penggantian posisi manusia oleh komputer,
pekerjaan dapat diselesaikan dengan biaya lebih murah dan lebih optimal, namun tetap
dapat diandalkan. Salah satunya adalah teknologi untuk pengenalan citra wajah untuk
mengetahui identitas seseorang.
Pengenalan citra wajah diawali dari deteksi wajah, di mana komputer dapat
mengetahui adanya citra wajah dan menemukan semua citra wajah yang ada dari sebuah
citra atau video. Dari hasil deteksi citra wajah tersebut, selanjutnya dikembangkan agar
dapat mengenali atau mengidentifikasi siapa yang memiliki wajah tersebut. Meskipun
pengenalan wajah tidak seakurat metode pengenalan lain seperti sidik jari, hal ini tetap
menarik perhatian besar banyak peneliti di dalam bidang computer vision (Eleyan &
Demirel, 2007, p. 93).
Pengenalan citra wajah ini umumnya digunakan di beberapa tempat yang memerlukan
identifikasi wajah secara cepat, biasanya di tempat-tempat yang membutuhkan sekuritas
tinggi dan digunakan oleh banyak orang seperti pada mesin ATM, imigrasi, bank, dan
sebagainya. Hal ini dikarenakan tidak mungkin manusia dapat mengingat citra wajah
setiap orang dan mengenali identitasnya secara cepat. Teknologi ini dapat digunakan
untuk mempermudah identifikasi seseorang, atau bahkan menghindari hal yang tidak
diinginkan, seperti identifikasi atas orang yang dicari, identifikasi residivis, dan identitas
yang dipalsukan.



2. Pembahasan
Identifikasi (pengenalan) wajah atau face recognition adalah sebuah tugas yang
dilakukan oleh manusia secara rutin dan mudah dalam kehidupan sehari-hari. Penelitian
dan pengembangan ilmu pengenalan wajah berkembang secara otomatis atas dasar
ketersediaan desktop kuat dan rendah biaya serta embedded-system yang telah
menciptakan minat yang sangat besar dalam pengolahan citra digital dan video. Motivasi
penelitian dan pengembangan dari pengenalan wajah termasuk dalam lingkup otentikasi
biometrik, pengawasan, interaksi manusia-komputer, dan manajemen multimedia (Li &
Jain, 2005, p. 1).
Sistem pengenalan citra wajah umumnya mencakup empat modul utama (Li & Jain,
2005, p. 2), yaitu: deteksi, alignment, ekstraksi fitur, dan pencocokan. Proses lokalisasi
dan normalisasi (deteksi wajah dan alignment) adalah langkah-langkah sebelum proses
pengenalan wajah (ekstraksi fitur wajah dan pencocokan) dilakukan.
Deteksi wajah adalah langkah awal untuk melakukan identifikasi wajah atau face
recognition. Sebuah pendeteksi wajah yang ideal seharusnya mampu mengidentifikasi
dan menemukan lokasi dan luas semua wajah yang ada di dalam sebuah gambar tanpa
memperhatikan pose, skala, orientasi, umur, dan ekspresi (Li & Jain, 2005, p. 13).
Deteksi wajah melakukan segmentasi area citra wajah dengan bagian latar (background).
Proses alignment bertujuan untuk memperoleh akurasi yang lebih tinggi untuk
lokalisasi dan normalisasi citra wajah karena deteksi wajah menyediakan estimasi lokasi
dan skala dari setiap citra wajah yang terdeteksi.
Setelah sebuah wajah dinormalisasi, ekstraksi fitur dilakukan untuk mengambil data
efektif yang berguna untuk memisahkan antara citra-citra wajah dan orang-orang yang
berbeda dan cukup stabil untuk variasi geometrik dan fotometrik. Pencocokan wajah
dilakukan dengan cara melakukan pencocokan fitur yang telah diekstraksi dari citra wajah
masukan dengan kumpulan data training citra wajah yang telah disimpan sebagai basis
data wajah.
Principal Component Analysis (PCA) adalah teknik standar yang digunakan dalam
pengenalan pola statistikal dan pemrosesan sinyal untuk data reduction dan ekstraksi fitur
(Eleyan & Demirel, 2007, p. 94). Kemampuan ekstraksi fitur ini dapat digunakan untuk
melakukan pengenalan wajah. Metode PCA dikenal juga dengan nama Karhunen-Loeve
Transformation (KLT). PCA memberikan transformasi ortogonal yang disebut juga
dengan eigenimage yang di mana sebuah citra akan direpresentasikan ke dalam bentuk
proyeksi linier searah dengan eigenimage yang bersesuaian dengan nilai Eigen terbesar
dari matriks covariance. Dalam prakteknya, matriks covariance ini dibangun dari
sekumpulan image training yang diambil dari berbagai objek.
Sebuah citra 2D dengan dimensi kolom m dan baris n dapat direpresentasikan ke
dalam bentuk citra 1D. Dalam penelitian ini ukuran jumlah kolom dan baris pixel citra
adalah sama, sehingga nantinya akan terbentuk dimensi n
2
.


Gambar 1 Contoh citra wajah




Misalnya ada sejumlah N individu yang dijadikan sampel. Dari setiap individu
diambil P citra, sehingga total citra di dalam training set adalah:

H = N P

Semua citra yang diproses adalah matriks n n , direpresentaikan menjadi vektor
1
2
n dimensi. Contohnya, dalam penelitian ini semua citra wajah disimpan dalam ukuran
100 100

pixel. Data citra tersebut akan direpresntasikan menjadi sebuah vektor
berdimensi 10000 atau sebuah titik di dalam ruang berdimensi 10000 . Untuk setiap citra
yang mewakili wajah digambarkan sebagai sebuah matriks 100 100 .

100 100
100 100 2 100 1 100
100 2 2 2 1 2
100 1 2 1 1 1

=
a a a
a a a
a a a
I
i
K
M O M M
K
K


Matriks
i
I berisikan informasi setiap pixel di dalam citra wajah berukuran 100 100 .
Informasi pixel tersebut telah dikonversi ke dalam nilai intensitas cahaya (grayscale).
Matriks
i
I kemudian dikonkatenasi menjadi sebuah titik di dalam ruang berdimensi
10000 .

1 100
100 100
100 2
100 1
1 1
2

=
a
a
a
a
i
M
M
M


Dari kumpulan data training tersebut, dicari nilai vektor rata-rata dari wajah dengan
rumus:

=
=
M
i
i
M
1
1


Gambar 2 Citra average face

Kemudian nilai rata-rata dari wajah tersebut dikurangi dengan setiap vektor wajah
i

untuk mendapatkan vektor
i
.
=
i i




Kumpulan vektor yang sangat besar ini kemudian mengikuti pada aturan PCA, yang
mencari sejumlah H vektor-vektor ortonormal u
k
dan nilai Eigen z
k
yang terbaik dalam
menggambarkan distribusi dari data tersebut. Vektor-vektor u
k
dan nilai-nilai z
k
adalah
vektor-vektor Eigen dan nilai-nilai Eigen dari matriks covariance

C =
1
H

I

I
T
M
=1

= A A
1

di mana A = |
1

2

M
].

Matriks C adalah matriks berukuran
2 2
n n atau
2 2
100 100 dalam penelitian ini
dan A adalah sebuah matrix berukuran M n
2
, di mana M adalah jumlah data. Dari
hasil perhitungan matriks C , diambil vektor-vektor Eigen terbaik sebanyak jumlah data (
M ). Kemudian dipilih vektor-vektor Eigen sebanyak K , yang dilakukan secara
heuristik.
Nilai-nilai vektor Eigen pada langkah sebelumnya jika dikonversi menjadi matriks
n n (dalam penelitian ini 100 100 ) akan menghasilkan citra seperti wajah jika
ditampilkan sebagai citra digital. Oleh karena itu, nilai vektor Eigen ini disebut juga
Eigenface.


Gambar 3 Citra eigenfaces

Ketika sebuah citra wajah harus dikenali, maka dilakukan langkah berikut:
1. Data citra wajah masukan dinormalisasi dengan rumus = .
2. Hasil normalisasi pada langkah pertama diproyeksikan ke dalam ruang Eigen
(kumpulan dari vektor-vektor Eigen) dan dihitung bobotnya. Nilai hasil normalisasi
dapat digambarkan sebagai berikut.

=
K
w
w
w
M
2
1


3. Setelah data bobot didapat, perlu dilakukan proses klasifikasi untuk melakukan
perhitungan jarak. Pada penelitian ini, perhitungan jarak dilakukan dengan
menggunakan Euclidean Distance. Metode ini memiliki perhitungan sebagai berikut.
2
i i
e
y x y x =





4. Kemudian dicari nilai terkecil dari kumpulan jarak data citra wajah masukan dengan
data training yang telah disimpan sebelumnya.
i
= min


Keputusan diambil setelah nilai jarak yang didapat dibandingkan dengan nilai
threshold dengan ketentuan sebagai berikut.
Jika < , di mana adalah nilai threshold yang ditentukan secara heuristik, maka
citra wajah masukan dapat dikatakan telah dikenali sebagai citra wajah dalam data
training dengan nilai jarak terkecil.
Jika > , di mana adalah nilai threshold yang ditentukan secara heuristik, maka
citra wajah masukan dapat dikatakan tidak ditemukan di dalam basis data training.

Penggunaan PCA sangat mengurangi kalkulasi yang perlu dilakukan, dari sejumlah
pixel di dalam citra (n
2
) menjadi sejumlah citra di dalam training set (H). Dalam
prakteknya, jumlah citra wajah di dalam training set biasanya lebih kecil dibandingkan
dengan jumlah pixel di dalam citra (Eleyan & Demirel, 2007, p. 96). Pendekatan metode
PCA untuk pengenalan wajah ditunjukkan pada Gambar 4.


Gambar 4 Pendekatan PCA untuk pengenalan wajah (Eleyan & Demirel, 2007, p. 98)

Dengan kata lain metode PCA memproyeksikan ruang asal menjadi ruang baru yang
berdimensi lebih rendah, dengan berpegang bahwa sebanyak mungkin informasi yang
dimiliki dimensi asal dipertahankan dan tidak terlalu banyak yang hilang setelah
diproyeksikan ke ruang yang baru. Dengan memperkecil dimensi dari sebuah ruang, tentu
akan meringankan proses komputasi yang perlu dilakukan oleh sistem.
Penulis menggunakan fitur yang telah disediakan oleh EmguCV untuk menerapkan
algoritma ini di dalam aplikasi dengan menggunakan bantuan class bernama
HaarCascade sebagai classifier dari pendeteksian objek. Masalah yang dihadapi dalam
penggunaannya adalah data pengklasifikasi yang berhasil didapat oleh penulis untuk
pendeteksian wajah terpisah antara wajah bagian depan (frontal face) dan wajah bagian
samping (profile face). Selain itu, data pengklasifikasi untuk wajah bagian samping hanya


tersedia untuk sisi wajah bagian kiri. Hal ini mengacu kepada sumber data pengklasifikasi
untuk metode Viola-Jones yang penulis dapat dari penelitian Seo (2008). Viola & Jones
(2003) telah melakukan pengembangan terhadap penelitian pendeteksian wajah
sebelumnya (2001) dengan membangun pohon keputusan untuk mendeteksi citra wajah
dari samping (profile face). Penelitian ini menghasilkan pengklasifikasi yang memiliki
tingkat keakuratan sebesar 95.4% untuk data di dalam training set.
Masalah dalam pendeteksian wajah dengan lebih dari satu data pengklasifikasi yang
digunakan dapat diatasi dengan melakukan pendeteksian sebanyak jumlah data
pengklasifikasi yang ingin digunakan. Sedangkan masalah pendeteksian wajah bagian
samping yang hanya tersedia untuk wajah bagian kiri diatasi dengan membalik gambar
secara horisontal, kemudian melakukan pendeteksian menggunakan pengklasifikasi untuk
wajah bagian kiri. Dengan demikian, sistem akan tetap dapat mendeteksi citra wajah
bagian kanan.
Pengenalan wajah untuk pose yang bervariasi menggunakan metode yang biasa
digunakan untuk melakukan pengenalan citra wajah dari depan, yaitu menggunakan
metode Principal Component Analysis, hanya saja data training atas identitas citra wajah
disimpan dengan berbagai pose. Namun dalam penerapannya, ditemukan kendala
keakuratan identifikasi jika data training citra wajah dengan pose wajah yang bervariasi
dirata-rata tanpa memperhatikan kesamaan pose yang ditangkap. Untuk meningkatkan
tingkat keakuratan dari sistem, maka pengidentifikasi dipisahkan berdasarkan pose yang
ditangkap, yaitu dari citra wajah dari depan, dari sisi kanan, dan dari sisi kiri.

Gambar 5 Proses solusi deteksi dan pengenalan citra wajah dengan variasi pose


Proses deteksi dan pengenalan citra wajah yang dipisah menjadi tiga ini membuat
waktu proses yang diperlukan oleh sistem menjadi lebih lama. Hal ini menyebabkan
aplikasi tidak dapat berjalan secara realtime saat melakukan proses deteksi dan
pengenalan citra wajah dengan sumber masukan menggunakan webcam. Oleh karena itu,
pada tahapan ini diterapkan konsep parallel processing yang disediakan oleh .NET
Framework 4. Penggunaan parallel processing membuat tugas pemrosesan data
disebarkan ke beberapa core di dalam processor (CPU) yang membuat banyak tugas
dapat diselesaikan dengan lebih cepat. Penggunaan parallel processing ini begantung
pada spesifikasi CPU yang digunakan.
Koleksi citra wajah yang digunakan dalam penelitian ini ditangkap dengan latar
belakang terkontrol (dalam penelitian ini menggunakan kertas karton berwarna putih),
dengan kondisi ruangan yang memiliki intensitas cahaya sebesar kurang lebih antara 150
sampai 300 lux. Namun setiap citra wajah yang diambil baik sebagai data training dan
data input dilakukan proses grayscaling dan histogram equalization agar diperoleh hasil
citra dengan nilai tingkat keabuan yang mirip. Putaran sudut diambil dengan putaran axis
tegak lurus bidang datar (yaw head movement).
Pengambilan data untuk setiap sampel identitas dalam data training ditangkap dengan
ketentuan sudut seperti ditunjukkan pada Gambar 6. Pengukuran sudut diukur dengan
menggunakan selembar kertas dengan garis-garis sudut yang diletakkan di atas titik pusat
kepala.

Gambar 6 Contoh pengambilan pose (citra telah mengalami proses grayscaling dan
histogram equalization)

Pada akhir penelitian akan ditentukan sudut yang mana saja yang cukup optimal untuk
digunakan sebagai data training.
Adapun spesifikasi komputer yang digunakan penulis dalam melakukan simulasi pada
aplikasi penelitian pengenalan citra wajah dengan variasi pose ini adalah sebagai berikut:
1. Intel Core i5-460M Processor (2.54 Ghz, Cache 3MB)
2. Memory 4 GB DDR3 SODIMM 1066 MHz
3. Graphic ATI Mobility Radeon HD 5730 2GB
4. Microsoft LifeCam VX-5500
5. OS: Microsoft Windows 7 Professional
6. IDE: Microsoft Visual Studio 2010 Ultimate
7. Library: EmguCV 2.0.5077
Pada penelitian ini diambil citra wajah dari sepuluh orang dengan masing-masing
sebanyak sebelas citra pengambilan.
Proses simulasi pertama dilakukan dengan menggunakan nilai threshold sebesar -1
atau setiap hasil pengenalan atas citra wajah selalu dikembalikan oleh sistem (nilai
threshold tidak membatasi hasil yang didapat dari proses pengenalan). Hasil simulasi
ditunjukkan pada Tabel 1.






Tabel 1 Hasil simulasi untuk setiap sampel
No. Sampel
Jumlah
Dikenali
Jumlah
Berhasil
1. A 158 89
2. B 201 130
3. C 214 156
4. D 147 102
5. E 101 74
6. F 71 38
7. G 158 133
8. H 64 62
9. I 185 138
10. J 150 91
Total 1449 1013

Berdasarkan hasil simulasi di atas, maka dapat dihitung keakuratan sistem dalam
mengenali setiap wajah yang terdeteksi adalah:

% keakuiatan =
beihasil
uikenali
1%
=
113
1449
1%
= 9. 91%

Keakuratan pengenalan dilihat dari variasi jumlah sudut yang tersedia sebagai data
training ditunjukkan pada Tabel 3 dengan perhitungan berikut:

% keakuiatan =
beihasil
uikenali
1%

Tabel 2 Variasi data training
Variasi
Variasi Sudut Pengambilan
Sisi Kiri Sisi Depan Sisi Kanan
I 45
o
0
o
45
o

II 30
o
, 60
o
0
o
30
o
, 60
o

III 30
o
, 60
o
-15
o
, 15
o
30
o
, 60
o

IV 45
o
, 60
o
, 75
o
-15
o
, 15
o
45
o
, 60
o
, 75
o

V 30
o
, 45
o
, 60
o
, 75
o
-15
o
, 0
o
, 15
o
30
o
, 45
o
, 60
o
, 75
o








Tabel 3 Hasil simulasi berdasarkan variasi data training
Variasi
Jumlah
Dikenali
Jumlah
Berhasil
%
keakuratan
I 1396 650 46.56%
II 1450 848 58.48%
III 1472 950 64.54%
IV 1451 917 63.20%
V 1449 1013 69.91%

Keakuratan pengenalan dilihat dari keberhasilan pengenalan berdasarkan nilai
threshold dihitung dengan rumus berikut:

% keakuiatan =
beihasil
uikenali ualam batas thiesholu
1%

Hasil perhitungan keakuratan berdasarkan nilai threshold ditunjukkan pada Tabel 4.

Tabel 4 Hasil simulasi berdasarkan variasi nilai threshold
No.
Nilai
Threshold
Maksimum
Jumlah
Dikenali
dalam Batas
Threshold
Jumlah
Berhasil
%
keakuratan
1. 5000 1417 1006 71.00%
2. 4000 1276 944 73.98%
3. 3000 926 743 80.24%
4. 2000 337 332 98.52%
5. 1000 15 15 100%

Waktu proses membaca data citra wajah dilihat dari jumlah citra wajah ditunjukkan
pada Tabel 5.

Tabel 5 Perbandingan waktu proses membaca citra wajah
Variasi
Waktu Load
Frontal Face
Waktu Load
Left Profile Face
Waktu Load
Right Profile Face
I 17 ms 9 ms 9 ms
II 19 ms 33 ms 33 ms
III 43 ms 32 ms 32 ms
IV 42 ms 72 ms 72 ms
V 81 ms 126 ms 128 ms

Kegagalan dalam pengenalan dapat disebabkan oleh beberapa hal berikut:
1. Citra digital yang kurang jelas atau mengalami gangguan (noise) yang berlebihan.
2. Adanya kemiripan antara wajah yang satu dengan yang lainnya.
3. Sudut putaran kepala yang tidak tersedia di dalam data training.



3. Penutup
Berdasarkan hasil analisis terhadap data yang telah diperoleh pada penelitian ini,
maka diambil kesimpulan sebagai berikut:
1. Semakin banyak citra wajah yang digunakan dalam melakukan training untuk setiap
sampel, maka pengenalan akan semakin baik, tetapi waktu proses untuk training data
wajah meningkat.
2. Semakin rendah nilai threshold, kemiripan citra wajah masukan dengan citra wajah di
dalam data training semakin tinggi, tetapi semakin sulit mengenali (untuk high
security).
3. Semakin tinggi nilai threshold, semakin tinggi kemungkinan mengenali citra wajah
masukan dengan citra wajah di dalam data training, tetapi semakin tinggi
kemungkinan kesalahan (untuk visual surveillance).
4. Kesalahan dalam melakukan pengenalan dapat terjadi karena kemiripan antara dua
atau lebih sampel yang berbeda.
5. Metode Principal Component Analysis dapat digunakan untuk menyelesaikan
masalah pengenalan citra wajah dengan pose yang bervariasi, dengan bantuan
pendeteksian wajah secara multi-pose dan pembagian tugas kerja modul PCA
berdasarkan pose yang ditangkap. Dengan menggunakan data training set sebanyak
mungkin, hasil terbaik penggunaan PCA dalam penelitian ini adalah melakukan
pengenalan dengan akurasi sebesar 100% untuk nilai threshold sebesar 1000, dan
hasil terendahnya adalah melakukan pengenalan dengan akurasi sebesar 71% untuk
nilai threshold sebesar 5000.

Berikut beberapa saran yang diajukan untuk penggunaan ataupun pengembangan
aplikasi ini adalah:
1. Pengambilan citra masih dilakukan dengan variabel-variabel yang masih terkontrol.
Perlu adanya pengembangan dari sisi proses normalisasi (alignment wajah) dengan
algoritma yang lebih baik.
2. Pada penelitian ini, pengambilan citra dilakukan dengan posisi kamera ditempatkan
sejajar dengan rata-rata ketinggian kepala manusia. Dalam prakteknya, perlu
dikembangkan pose wajah yang diambil. Tingkat akurasi pengenalan dapat
ditingkatkan dengan menggunakan algoritma yang lebih baik untuk penerapan
klasifikasi class yang memiliki banyak data, misalnya metode Support Vector
Machines (dalam penelitian ini satu sampel dapat memiliki beberapa citra wajah di
dalam data training set, tetapi setiap data berdiri secara independen).




Daftar Pustaka

Andoko. (2007). Perancangan Program Simulasi Deteksi Wajah dengan Support Vector
Machines - Viola Jones.

Anonim. (2011, December 28). Emgu CV Main Page. Retrieved December 2011, from Emgu
CV: OpenCV in .NET (C#, VB, C++ and more):
http://www.emgu.com/wiki/index.php/Main_Page



Bernard, & Surya Liestiawan, B. (2006). Pengenalan Wajah dengan Menggunakan Metode
EigenFaces.

Dzulkarnain, A. D., Dewantara, B. S., & Besari, A. R. (2011). PENGENDALIAN ROBOT
LENGAN BERODA DENGAN KAMERA UNTUK PENGAMBILAN OBYEK.

Eleyan, A., & Demirel, H. (2007). PCA and LDA based Neural Networks for Human Face
Recognition. In K. Delac, & M. Grgic, Face Recognition. Vienna: I-Tech Education
and Publishing.

Fairhurst, M. C. (1988). Computer Vision for Robotic Systems an Introduction. New Jersey:
Prentice Hall.

Gonzalez, R. C., & Woods, R. E. (2002). Digital Image Processing (2nd Edition ed.). New
Jersey: Prentice-Hall, Inc.

Hendrik, I. (2007). Perancangan Program Aplikasi Pengenalan Wajah dengan Metode
LaplacianFaces.

Jones, M. J., & Viola, P. (2003). Fast Multi-view Face Detection.

Jones, M. J., & Viola, P. (2001). Robust Real-time Object Detection.

Li, S. Z., & Jain, A. K. (2005). Handbook of Face Recognition. New York: Springer
Science+Business Media, Inc.

Pissarenko, D. (2002). Eigenface-based Facial Recognition.

Pusat Bahasa. (2008). In Kamus Besar Bahasa Indonesia. Jakarta: Gramedia Pustaka Utama.

Selva, P., Morlier, J., & Gourinat, Y. (2009). Development of a Dynamic Virtual Reality
Model of the Inner Ear Sensor System as a Learning and Demonstrating Tool.

Seo, N. (2006). EigenFaces and FisherFaces.

Seo, N. (2008, 10 16). Tutorial: OpenCV haartraining (Rapid Object Detection With A
Cascade of Boosted Classifiers Based on Haar-like Features). Retrieved 12 2011,
from Naotoshi Seo: http://note.sonots.com/SciSoftware/haartraining.html

Shakhnarovich, G., & Moghaddam, B. (2005). Face Recognition in Subspaces. In S. Z. Li, &
A. K. Jain, Handbook of Face Recognition. New York: Springer Science+Business
Media, Inc.

Szeliski, R. (2011). Computer Vision Algorithms and Applications. New York: Springer.

Yolanda. (2009). Perancangan Program Aplikasi Absensi dengan Identifikasi Wajah
Karyawan PD. Mustika Logam Menggunakan Metode Gabor Wavelet.


PROBLEM SOLVING OF REALTIME
FACE RECOGNITION WITH VARIOUS
POSES USING EIGENFACES METHOD


Reza A Prasetyo
Binus University, Jakarta, DKI Jakarta, Indonesia

Benny Senjaya
BinusUniversity, Jakarta, DKI Jakarta, Indonesia

Alexander A S Gunawan
BinusUniversity, Jakarta, DKI Jakarta, Indonesia





Abstract


There are so many human jobs that can be replaced by computer in the age of advanced
technology, one of them is face recognition. Face recognition is often used at places that need
a high security. Generally, face recognition is done with controlled variables like light
intensity, poses, and expression. Uncontrolled variables would decrease the performance of
face recognition. This journal examines how to handle pose variations in face recognition
using EigenFaces method. Testing was conducted with inputs of face images in multi-poses
based on yaw head movement. The result was obtained with different shooting angles and
threshold values to get the optimal results. At the end of testing, the EigenFaces method
could be used for face recognition with pose variations, with the help of multi-pose face
detection and division of PCA modules based on the captured pose.

Keyword: recognition, face, variation, poses, EigenFaces, Principal Component Analysis



1. Introduction
On the age of advanced technology, there are so many human jobs that could be
replaced by computer. By replacing human with computer, a task can be done with
cheaper price and more optimum, but still can be reliable. One of them is a technology of
face recognition to know someones identity.
Face recognition begins with face detection, where the computer can know the
existence of face images and find all face images in an image or a video. From the result
of face detection, further development is recognizing or identificating to whom the face
images belong to. Althought face recognition is not as accurate as other recognition
method like finger print, this thing still attracts attention of a lot of researchers in
computer vision (Eleyan & Demirel, 2007, p. 93).
Generally, face recognition is used at places that need a rapid face-identification, the
places that need high security and used by many people, like ATM, immigration, bank,
etc. This is caused that it is difficult for human to remember all faces of every person and
know the identity quickly. A technology can be used to make it easier to identify
someone, or even to avoid undesired things, like identification of wanted people,
recidivists identification, and fake identity.

2. Discussion
Face identification or recognition is a task that done by human routinely and easily in
daily life. Research and development of face recognition method evolves automatically
based on the avaibiltiy of high-performance and low-cost desktop, and embedded-system
that create huge interest in image and video processing. Research and development
motivation of face recognition are included in biometric authentication area, surveillance,
human-computer interaction, and multimedia management (Li & Jain, 2005, p. 1).
Generally, face recognition system consists four main modules (Li & Jain, 2005, p. 2),
which are: detection, alignment, feature extraction, and matching. Localization and
normalization process (face detection and alignment) are steps before face recognition
process (face feature extraction and matching) can be done.
Face detection is the early step to do a face identification. An ideal face identification
should be able to indetify and find location and area of all faces in an image regardless of
the poses, scale, orientation, age, and expression (Li & Jain, 2005, p. 13). Face detection
does the segmentation of face area from the background.
Alignment process aims to get higher accuracy in localizing and normalizing face
image because face detection provides the estimation of location and scale of every
detected face image.
After a face image is normalized, feature extraction is being done to get the effective
data which is useful for separating between face imges and different people and fairly
stable for geometric and fotometric variation. Face matching is done by doing feature
matching of extracted features from input face image with the training data of face images
that have been saved as face database.
Principal Component Analysis (PCA) is a standard method that used in statistical
pattern recognition and signal processing for data reduction and feature extraction
(Eleyan & Demirel, 2007, p. 94). This feature extraction ability can be used to do face
recognition. PCA method is also known as Karhunen-Loeve Transformation (KLT). PCA
gives ortoghonal transformation which is also called as eigenimage where an image will


be represented as a form of a linear projection of the direction of the eigenimage
corresponding to the largest eigenvalue of the covariance matrix. Practically, this
covariance matrix is built from training images that taken from a lot of objects.
A 2D image in size m-columns and n-rows can be represented as a 1D image. In this
study, the size of column and row of image are the same, so that will be formed an n
2
-
size image.


Figure 1 Face image example

For example, there are N individuals that become samples. From each individual is
taken P images, so that total images in the training set is:

H = N P

All images that processed are n n matrices, represented as 1
2
n -dimension vectors.
For example, in this study all the images are stored in size 100 100 pixels. The image
data will be represented as a 10000 -dimension vector or a point in a 10000 dimension
space. For every image that represent the face is formed as a 100 100 matrices.

100 100
100 100 2 100 1 100
100 2 2 2 1 2
100 1 2 1 1 1

=
a a a
a a a
a a a
I
i
K
M O M M
K
K


The
i
I matrix contains the information of every pixel in a 100 100

face image. The
pixel information has been converted to grayscale value.
i
I matrix will be concatenated
to a point in a 10000 -dimension space.

1 100
100 100
100 2
100 1
1 1
2

=
a
a
a
a
i
M
M
M








From the training data, average vector is count using the formula:

=
=
M
i
i
M
1
1



Figure 2 Average face image

After that the average value of the images is subtracted by face vector
i
to receive
vector
i
.
=
i i


These very large set of vectors then followed the rules of PCA, which finding the best
H orthonormal vectors u
k
and Eigen value z
k
that describe the data distribution. Vectors
u
k
and z
k
values are Eigen vectors and Eigen values of the covariance matrix

C =
1
H

I

I
T
M
=1

= A A
1

which A = |
1

2

M
].

Matrix C is a matrix with
2 2
n n

size, or
2 2
100 100 in this study, and A is a
matrix with M n
2

size, where M is count of the data. From the matrix C, the best
Eigen vectors will be taken as many as the data count ( M ). After that, K Eigen vectors
will be chosen heuristically.
If the values of Eigen vectors from previous step are converted to n n matrices (in
this study they are 100 100 ), they will create face-like images. This is why, the Eigen
vector value is also called as Eigenface.


Figure 3 Eigenfaces image

When an image of face must be recognized, then these are the steps that must be
done:
1. The input data is normalized with the formula = .
2. The normalization result from the first step is projected to Eigen space and the weight
is counted. The value of normalization result can be described as:

=
K
w
w
w
M
2
1


3. After the weight is counted, classification is needed to do calculation of the distance.
In this study, the distance is calculated using Euclidean Distance. This method has the
formula:
2
i i
e
y x y x =

4. After that, the smallest value is selected between the image input and the training data
saved before.
i
= min


Conclusion is taken after comparing the distance value with threshold value with
the following:
If < , where is threshold value that decided heuristically, then the input face
image is recognized as a face image in training data with the smallest distance value.
If > , where is threshold value that decided heuristically, then the input face is
not recognized as a face image in training data.

The use of PCA reduces the calculation that needed to be done, from some pixels in
an image (n
2
) to some images in training set (H). Practically, total of face images in
training set is smaller than total of pixels in the image (Eleyan & Demirel, 2007, p. 96).
PCA method approach for face recognition is shown in Figure 4.


Figure 4 PCA approach for face recognition (Eleyan & Demirel, 2007, p. 98)



In other words, PCA method projects the origin space to a new space with smaller
dimension, by holding that as many as possible that information of the origin dimension
is maintained and not missing too much. By reducing the dimension of a space, of course
the computation process that need to be done by system will be more easier.
The author used the feature that provided by EmguCV library to implement this
algorithm in an application using support of a class named HaarCascade as the classifier
of object detection. The problem
Penulis menggunakan fitur yang telah disediakan oleh EmguCV untuk menerapkan
algoritma ini di dalam aplikasi dengan menggunakan bantuan class bernama
HaarCascade sebagai classifier dari pendeteksian objek. The problem that encountered in
using it is the classifier data only provided for frontal face and left profile face. It refers to
classifier data source for Viola-Jones method from Seo (2008) and Viola & Jones (2003)
who have done research and development of face detection before (2001) by building a
decision tree to detect profile face image. This research resulted in classifier with
accuracy rate of 95.4% for the data in the training set.
The problem in detecting faces with more than one data classifiers can be overcome
by performing the detection processes as much as the amount of classifier data that need
to be used. While the problem in detection the side profile face is only available to the left
face resolved by flipping the image horizontally, and then perform face detection using
the classifier of left profile face. Thus, the system will still be able to detect a right profile
face image.
Face recognition for various poses using the method that often used to do frontal face
recognition, using Principal Component Analysis method, but only the identities of the
training data are stored in various pose. But in practice, it is found that the accuracy of
identification will decrease if the faces arranged without regarding the similiarities of the
poses. To improve the accuracy of the system, the identifiers are separated based on the
captured pose, which are face image from the front, from the right side, and from the left
side.

Figure 5 Solution process of face detection and recognition with various poses


The face detection and recognition processes that are splitted into three make the
processing time required by the system becomes longer. This causes the application can
not run in realtime during the face detection and recognition process of facial images with
the input source using a webcam. Therefore, at this stage applied the concept of parallel
processing provided by .NET Framework 4. The use of the parallel processing is to
distribute the data processing tasks to multiple cores in the processor (CPU), which makes
many tasks can be completed more quickly. Use of this parallel processing will depend on
the specification of the CPU used.
Collection of face images used in this study was captured with a controlled
background (using a huge white paper), with the condition of the room that has a light
intensity of approximately between 150 to 300 lux. However, each facial image taken
whether as training data or input data is grayscaled and histogram equalized in order to
obtain images with similar gray level value. The angle taken for the facial images based
on yaw head movement.
Retrieval of data for each sample identity in the training data was captured by rule of
angle shown in Figure 6. Angle measurement was measured using a piece of paper with
angle lines placed on the center point of the head.


Figure 6 Poses example (grayscaled and histogram equalized)

At the end of this study, it will be determined which angles that are quite optimal to
be used as training data.
The computer specification used by author in doing the simulation of this face
recognition with various poses study is:
1. Intel Core i5-460M Processor (2.54 Ghz, Cache 3MB)
2. Memory 4 GB DDR3 SODIMM 1066 MHz
3. Graphic ATI Mobility Radeon HD 5730 2GB
4. Microsoft LifeCam VX-5500
5. OS: Microsoft Windows 7 Professional
6. IDE: Microsoft Visual Studio 2010 Ultimate
7. Library: EmguCV 2.0.5077
In this study, the facial images were taken from ten individuals with each of them are
eleven taken images.
The first simulation process was done by using a threshold value of -1 or any
recognition result of the facial image will always be returned by the system (no threshold
limits the value of the result obtained from the recognition). The simulation result is
shown in Table 1.







Table 1 Simulation result for every sample
Num. Sample
Amount of
Recognizable
Amount of
Successful
1. A 158 89
2. B 201 130
3. C 214 156
4. D 147 102
5. E 101 74
6. F 71 38
7. G 158 133
8. H 64 62
9. I 185 138
10. J 150 91
Total 1449 1013

Based on the simulation result above, the accuracy of the system in recognizing every
detected face can be calculated as:

% accuiacy =
successful
iecognizable
1%
=
113
1449
1%
= 9. 91%

The accuracy of recognition based on the variation of available angles as the traning
data shown in Table 3.

% accuiacy =
successful
iecognizable
1%


Table 2 Training data variation
Variaton
Angle Variation
Left Side Front Side Right Side
I 45
o
0
o
45
o

II 30
o
, 60
o
0
o
30
o
, 60
o

III 30
o
, 60
o
-15
o
, 15
o
30
o
, 60
o

IV 45
o
, 60
o
, 75
o
-15
o
, 15
o
45
o
, 60
o
, 75
o

V 30
o
, 45
o
, 60
o
, 75
o
-15
o
, 0
o
, 15
o
30
o
, 45
o
, 60
o
, 75
o








Table 3 Simulation result based on training data variation
Variation
Amount of
Recognizeable
Amount of
Successful
%
accuracy
I 1396 650 46.56%
II 1450 848 58.48%
III 1472 950 64.54%
IV 1451 917 63.20%
V 1449 1013 69.91%

The accuracy of success recognition by the threshold value is calculated using the
formula:

% accuiacy =
successful
successful unuei thiesholu
1%

The result of accuracy calculation based on threshold value is shown in Table 4.

Table 4 Simulation result based on threshold value variation
Num.
Maximum
Threshold
Value
Amount of
Recognizeable under
Threshold Value
Jumlah
Berhasil
%
keakuratan
1. 5000 1417 1006 71.00%
2. 4000 1276 944 73.98%
3. 3000 926 743 80.24%
4. 2000 337 332 98.52%
5. 1000 15 15 100%

Processing time of loading the face image training data is shown in Table 5.

Tabke 5 Processing time difference in loading training data
Variaton
Frontal Face
Load Time
Left Profile Face
Load Time
Right Profile Face
Load Time
I 17 ms 9 ms 9 ms
II 19 ms 33 ms 33 ms
III 43 ms 32 ms 32 ms
IV 42 ms 72 ms 72 ms
V 81 ms 126 ms 128 ms

The failure of recognizing could be caused by:
1. The digital image is not clear or has excessive noise.
2. The similiarity between one face with another.
3. Head angle that is not provided in training data.



3. Conclusion
Based on the analysis of the result data in this study, then the conclusions are drawn
as follow:
1. The more facial images used as training data of every sample, the better recognition
result, but it will increasing the processing time to load the face training data.
2. The lower threshold value, the harder to recognize a face image, but it can increase
the accuracy of the recognition (high security).
3. The higher threshold value, the easier to recognize a face imge, but it can reduce the
accuracy of the recognition (visual surveillance).
4. Failure of recognition can be caused by the similiarity between one face with another.
5. Principal Component Analysis method can be used to handle problem of face
recognition using various poses, with the use of multi-pose face detection and
splitting the PCA task modules based on the captured pose. By using a lot of training
data as possible, the best result of using PCA in this study is doing recognition with
100% accuracy rate for threshold value of 1000, and the worst is doing recognition
with 71% accuracy rate for threshold value of 5000.

Here is some suggestion in using or developing this application:
1. Facial images collection was still done with controlled variables. The alignment
process need to be developed using a better algorithm.
2. In this study, image capturing was done by placing the camera in the same height as
the average human head height. Practically, it is needed to develop the captured face
poses. The accuracy rate of recognition can be increased using better algorithm that
provides classification of multiple data, like Support Vector Machines method.




References

Andoko. (2007). Perancangan Program Simulasi Deteksi Wajah dengan Support Vector
Machines - Viola Jones.

Anonim. (2011, December 28). Emgu CV Main Page. Retrieved December 2011, from Emgu
CV: OpenCV in .NET (C#, VB, C++ and more):
http://www.emgu.com/wiki/index.php/Main_Page

Bernard, & Surya Liestiawan, B. (2006). Pengenalan Wajah dengan Menggunakan Metode
EigenFaces.

Dzulkarnain, A. D., Dewantara, B. S., & Besari, A. R. (2011). PENGENDALIAN ROBOT
LENGAN BERODA DENGAN KAMERA UNTUK PENGAMBILAN OBYEK.

Eleyan, A., & Demirel, H. (2007). PCA and LDA based Neural Networks for Human Face
Recognition. In K. Delac, & M. Grgic, Face Recognition. Vienna: I-Tech Education
and Publishing.



Fairhurst, M. C. (1988). Computer Vision for Robotic Systems an Introduction. New Jersey:
Prentice Hall.

Gonzalez, R. C., & Woods, R. E. (2002). Digital Image Processing (2nd Edition ed.). New
Jersey: Prentice-Hall, Inc.

Hendrik, I. (2007). Perancangan Program Aplikasi Pengenalan Wajah dengan Metode
LaplacianFaces.

Jones, M. J., & Viola, P. (2003). Fast Multi-view Face Detection.

Jones, M. J., & Viola, P. (2001). Robust Real-time Object Detection.

Li, S. Z., & Jain, A. K. (2005). Handbook of Face Recognition. New York: Springer
Science+Business Media, Inc.

Pissarenko, D. (2002). Eigenface-based Facial Recognition.

Pusat Bahasa. (2008). In Kamus Besar Bahasa Indonesia. Jakarta: Gramedia Pustaka Utama.

Selva, P., Morlier, J., & Gourinat, Y. (2009). Development of a Dynamic Virtual Reality
Model of the Inner Ear Sensor System as a Learning and Demonstrating Tool.

Seo, N. (2006). EigenFaces and FisherFaces.

Seo, N. (2008, 10 16). Tutorial: OpenCV haartraining (Rapid Object Detection With A
Cascade of Boosted Classifiers Based on Haar-like Features). Retrieved 12 2011,
from Naotoshi Seo: http://note.sonots.com/SciSoftware/haartraining.html

Shakhnarovich, G., & Moghaddam, B. (2005). Face Recognition in Subspaces. In S. Z. Li, &
A. K. Jain, Handbook of Face Recognition. New York: Springer Science+Business
Media, Inc.

Szeliski, R. (2011). Computer Vision Algorithms and Applications. New York: Springer.

Yolanda. (2009). Perancangan Program Aplikasi Absensi dengan Identifikasi Wajah
Karyawan PD. Mustika Logam Menggunakan Metode Gabor Wavelet.

Anda mungkin juga menyukai