Sabtu, 19 Juli 2014



INTEGRASI METODE 2DPCA-ICA DAN SVM PADA PENGENALAN WAJAH
Rima Tri Wahyuningrum
Laboratorium Komputasi dan Sistem Cerdas
Program Studi Teknik Informatika, Universitas Trunojoyo Madura
Jl. Raya Telang PO.BOX 2, Kamal, Bangkalan, Madura - 691962
E-mail : rima_tw@yahoo.co.id
Abstrak
Pada penelitian ini, kami mempresentasikan sebuah integrasi metode ekstraksi fitur yang efisien antara Two Dimensional Principal Component Analysis (2DPCA) - Independent Component Analysis (ICA) dan Support Vector Machines (SVM) Multiclass pada pengenalan wajah. Berbeda dengan PCA-ICA pada pengenalan wajah, 2DPCA melakukan ekstraksi fitur berdasarkan pada 2D matrik citra wajah dan eigenvektornya berkorespondensi dengan eigenvalue yang diurutkan secara descending. Hal ini mengatasi kekurangan dari PCA-ICA. Kemudian untuk pengukuran kemiripan / metode klasifikasi menggunakan SVM yang memiliki performa sangat tinggi di berbagai proses pengenalan obyek. Untuk uji coba dan evaluasi performansi dari sistem yang dibuat, penelitian ini menggunakan basis data wajah Yale, ORL dan Bern. Berdasarkan hasil uji coba, rata-rata pengenalan wajah menggunakan 2DPCA-ICA dan SVM lebih tinggi dibandingkan dengan metode lainnya yaitu 99.6%.
Kata Kunci : 2DPCA, ICA, SVM, pengenalan wajah.
Abstract
In this paper,we presented an integration of an efficient feature extraction method between Two Dimensional Principle Component Analysis (2DPCA) - Independent Component Analysis (ICA) and Support Vector Machines (SVM) multiclass in face recognition. Unlike the PCA-ICA in face recognition, 2DPCA to extract features based on the 2D facial image where eigenvector matrix corresponding to eigenvalue in descending order. It overcomes the shortcomings of PCA-ICA. Then to measure the similarity / classification method using SVM which have performance very high in object recognition processes. To test and evaluate the performance of the system are made, this research used a face database Yale, ORL and Bern. Based on the test results, the average face recognition using 2DPCA-ICA and SVM is higher than other methods, namely 99.6%.


Pengenalan adalah suatu kemampuan dasar dari beberapa sistem visual. Hal ini menunjukkan proses pemberian label suatu obyek yang merupakan bagian dari kelas tertentu. Wajah manusia adalah salah satu obyek terpenting pada sistem visual. Manusia hanya dapat mengenali manusia lainnya dalam keadaan tertentu saja, padahal kemampuan ini sangat krusial untuk saling berinteraksi, sistem keamanan dan lain sebagainya.
Masalah pengenalan wajah menjadi daya tarik para peneliti dalam kurun waktu terakhir. Matrik citra wajah orang yang sama dapat memiliki perbedaan. Hal ini disebabkan

beberapa faktor, seperti pencahayaan, ekspresi wajah, dan pose. Dalam melakukan proses pengenalan terdapat dua hal penting yaitu ekstraksi fitur dan pengukuran kemiripan/ metode klasifikasi yang digunakan.
Metode ekstraksi fitur yang banyak digunakan adalah Principal Component Analysis (PCA) dan Independent Component Analysis (ICA). PCA pertama dikenalkan oleh Turk and Pentland pada tahun 1991 sedangkan ICA dikenalkan oleh Bell and Sejnowski pada tahun 1995. PCA bertujuan untuk mewakili citra masukan berdasarkan eigenvector yang berkorespondensi dengan eigenvalue yang disusun secara decreasing sedangkan ICA bertujuan untuk menemukan transformasi


linear pada data masukan menggunakan variabel bebas secara statistik yang mungkin. Kedua metode ini sangat sensitif terhadap pencahayaan. Sehingga konsep ICA dapat dianggap generalisasi dari PCA [1].
Pada metode PCA, matrik citra wajah harus terlebih dahulu diubah menjadi 1D vektor citra. Sehingga hasil citra vektor memiliki ruang dimensi yang tinggi, akibatnya sulit untuk melakukan evaluasi matrik kovarian secara akurat karena ukurannya yang besar dan hanya efektif untuk jumlah data pelatihan yang sedikit [2]. Oleh karena itu, dilakukan pengembangan metode PCA yaitu 2DPCA untuk mengatasi kelemahan metode PCA tersebut.
Pada 2DPCA menggunakan teknik proyeksi citra langsung, matrik citra wajah 2D tidak perlu ditransformasikan ke dalam bentuk citra vektor namun secara langsung matrik kovarian citranya dapat dibentuk langsung dengan menggunakan matrik citra aslinya sehingga ukuran matrik kovarian citranya menjadi lebih kecil. Metode 2DPCA memiliki dua keuntungan penting daripada PCA, yaitu pertama, lebih mudah dan akurat untuk melakukan evaluasi matrik kovarian. Kedua, waktu yang dibutuhkan untuk menentukan eigenvector lebih sedikit [2].
Pada penelitian sebelumnya, Denis et. al membandingkan metode PCA dan ICA dengan pengukuran kemiripan menggunakan SVM [3]. Selain itu telah dilakukan penerapan ekstraksi kemiripan menggunakan Euclidean Distance dan SVM [4]. Kemudian Gan et.al melakukan penelitian dengan menggunakan 2DPCA-ICA sebagai metode ekstraksi fitur dan nearest neighbor sebagai metode klasifikasinya [5].
Pada penelitian ini mempresentasikan integrasi metode 2DPCA-ICA dan SVM sebagai metode klasifikasi dengan tujuan meminimalkan kesalahan (error) yang terjadi sehingga nilai akurasi pada pengenalan wajah meningkat serta komputasi yang diperlukan lebih cepat. Uji coba dilakukan menggunakan basis data wajah Yale, ORL dan Bern.
METODE
Two Dimensional Principal Component Analysis (2DPCA)
Algoritma 2DPCA dapat dijelaskan sebagai berikut [1]:

1. Himpunan sebanyak M citra dari basis data citra wajah pelatihan (xi), yang diproyeksikan ke dalam matrik dua dimensi (xi).
2.
3.
4.            Y=
±̅ =
Ï = dar    Perhitungan pelatihan
Perhitungan himpunan
Perhitungan
x             x             K             x
11           21           M 1
x             x             L             x
12           22           M2
K             K             K             K
x             x             K             x
1N          2N          MN
rata-rata dari (±̅):
r              å
+r
å ∑        
matrik
citra pelatihan
r              å
             #±~ − ±̅%æ~±~
å             +r
eigenvalue
i              matrik   kovarian              (1)         
1
total matrik citra
(2)         
kovarian              dari
(G):
− ±̅~       (3)
dan eigenvector
dapat     diperoleh
berdasarkan persamaan 4:
çæ(Ï)ç =             (4)
Eigenvalue () selalu berkorespondensi dengan perubahan eigenvector (U). Selanjutnya eigenvector diproyeksikan sesuai eigenvalue mulai dari yang terbesar (d).
5. Memperoleh fitur vektor proyeksi optimal dari 2DPCA, yang direpresentasikan oleh Y1, Y2, ..., Yd, yang disebut sebagai principal component vectors dari sampel citra wajah pelatihan (x).
Independent Component Analysis (ICA)
Pemodelan ICA dinotasikan sebagai r(t) = As(t) dengan r(t) adalah variabel acak yang diteliti, s(t) adalah vektor dari komponen bebas (independent component) dan A adalah matrik citra [3]. Tujuan dari ICA yaitu meramalkan matrik A dan komponen bebas s(t) menggunakan variabel masukan r(t). Berdasarkan ICA asli, diasumsikan sangat sederhana yaitu s(t) merupakan komponen bebas secara statistik. Pada penelitian ini diasumsikan bahwa komponen bebas menggunakan distribusi non-gauss yaitu FAST ICA yang bertujuan untuk memaksimalkan fungsi kontras.
Two       Dimensional        Principal
Component Analysis - Independent Component Analysis (2DPCA-ICA)
Diasumsikan matrik data pelatihan dinotasikan dengan X = [x1 x2 ... xn], dan berkorespondensi dengan komponen bebas S =


[s1 s2 ... smj. Hubungan antara X dan S ditunjukkan pada persamaan berikut [5]:
X             =             AS
(5)
Berdasarkan persamaan 5, setiap citra wajah xi dapat diwakili sebagai kombinasi linear dari s1, s2, ..., sm dengan nilai bobot masing-masing ai1, ai2, ..., aim. Oleh karena itu, A adalah matrik n x m yang disebut sebagai matrik fitur gabungan. FAST ICA digunakan untuk menghitung matrik gabungan, A.
Matrik gabungan, A merupakan matrik balikan, sehingga didapatkan W dengan rumus:
A = W-1 (6)
dimana W adalah matrik transformasi.
Pada penelitian ini, 2DPCA digunakan untuk mereduksi dimensi dari data pelatihan xi,
i = 1, 2, ..., M. Berdasarkan persamaan 4, eigenvalue () dan eigenvector (U) diperoleh dari perhitungan matrik kovarian. Selanjutnya eigenvector diproyeksikan sesuai eigenvalue mulai dari yang terbesar (d) untuk menghitung matrik pemutihan (whitened matrix) berdasarkan persamaan 7 berikut:
æ
é =~ t1/2 ç
,
ìi(î = 1,2, ..., o)    disebut  sebagai
eigenvalue dan disusun ìr ≥ ìM ≥ ìd. Eigenvector berkorespondensi dengan eigenvalue dinotasikan sebagai ði(î = 1,2, . .., o), selanjutnya kompresi matrik fitur dari eigenvector ditunjukkan sebagai çd = [ðr ðM ... ðd].
Proses terakhir, data pelatihan dinotasikan sebagai é(±j − ±)ñññæ, ò = 1,2,..., ó. FAST-ICA digunakan untuk menghitung matrik gabungan, A, dan matrik fitur, W, ô õmd  and. Jika d adalah komponen bebas yang dipilih, maka matrik bebas (independent matrix) didefinisikan sebagai berikut:
ö = ôé
(8)         
dengan ô õmd  d, é õdÂn, dan ö õmdÂn. Selanjutnya vektor proyeksi optimal dari 2DPCA-ICA diperoleh dari
÷ = [±l − ±]ø öæ
(9)         
dengan ÷ õmÂmd.
Setelah ekstraksi fitur dengan 2DPCA-ICA, maka didapatkan vektor fitur proyeksi dari

Support Vector Machines (SVM) Salah satu metode
klasifikasi yang memiliki performa sangat tinggi adalah Support Vector Machines (SVM). Metode ini pertama kali dikenalkan oleh Vapnik tahun 1995 untuk klasifikasi biner. SVM mampu mengoptimalkan hyperplane yang memisahkan kelas
kelas saat melakukan
ujicoba.
Selanjutnya Hsu dan Lin berhasil mengembangkan SVM multiclass [6]. Pada dasarnya terdapat dua
pendekatan untuk menyelesaikan permasalahan SVM multiclass. Pendekatan pertama adalah dengan menggabungkan semua data
dalam suatu permasalahan optimasi, sedangkan pendekatan kedua adalah dengan membangun multiclass classifier, yaitu dengan cara menggabungkan beberapa SVM biner. Pendekatan pertama menuntut penyelesaian masalah optimasi yang lebih rumit dan komputasi yang
tinggi,
sehingga pendekatan ini tidak
banyak
dikembangkan.
Selain itu,
Liu
et.al telah
mengembangkan SVM multiclass one against all [7].
Dalam penelitian ini menggunakan SVM one against all dengan kernel gaussian. Pada proses klasifikasi pelatihan variabel hyperplane untuk
setiap
pengklasifikasi
(classifier) yang
didapat akan disimpan dan nantinya digunakan sebagai datatiap pengklasifikasi dalam proses pengujian, dengan kata lain proses klasifikasi pelatihan adalah untuk mencari support vector dari data input (dalam hal ini digunakan quadratic programming).
Pada
proses klasifikasi pengujian menggunakan hasil ekstraksi fitur data pengujian dan hasil proses klasifikasi pelatihan. Hasil dari proses ini berupa nilai indeks dari fungsi keputusan yang
terbesar
yang
menyatakan kelas dari data pengujian. Jika kelas yang
dihasilkan dari proses klasifikasi pengujian sama dengan kelas data pengujian, maka pengenalan dinyatakan benar. Hasil akhirnya berupa citra wajah yangsesuai dengan nilai indeks dari fungsi keputusan yang terbesar hasil dari proses klasifikasi pengujian. Berikut ini adalah algoritma SVM one against all
proses pelatihan dilanjutkan dengan proses pengujian
pada
:


1.            Membangun sejumlah k SVM biner (k adalah jumlah kelas).
2.            Proses pelatihan pada setiap SVM biner (no.2-4). Memetakan input space ke feature space menggunakan kernel Gaussian
|K(x,y) = exp(  (2) |2
s )
(10)
3.            Menentukan sejumlah support vector dengan cara menghitung nilai alpha a1, ..., aN ( N = sejumlah data pelatihan) menggunakan quadratic programming
l              l
1
Q(a) = a − aa y y x x
i              i j i j i j
i=1          2 , 1
i i=
(11)
l
dengan : ai 3 0 (i =1,2, ... ,l) Y ai y = 0
i
i=1
Data xri yang berkorelasi dengan ai > 0
inilah yang disebut sebagai support vector
4.            Solusi bidang pemisah didapatkan dengan
rumus: w =Eaiyixi              (12)
dan b = yk- wTxk untuk setiap xk , dengan ak1 0.
5.            Proses pengujian pada setiap SVM biner (no.5-6).
Memetakan input space ke feature space menggunakan kernel Gaussian, seperti ditunjukkan pada persamaan 10.
6.            Menghitung        fungsi    keputusan:
f i =K(xi,xd)wi +bi              (13)
dengan: i = 1 sampai k; xi = support vector; xd = data pengujian.
7.            Menentukan nilai fi          yang paling
maksimal. Kelas i dengan fi terbesar adalah kelas dari data pengujian.
RANCANGAN SISTEM
Secara garis besar sistem terdiri dari dua bagian, yaitu proses pelatihan citra dan proses pengujian. Pada Gambar 1 merupakan gambaran garis besar sistem pengenalan wajah menggunakan metode 2DPCA-ICA dan SVM. Pada proses pelatihan terdapat proses 2DPCA¬ICA yang digunakan untuk mengekstraksi fitur, fitur-fitur yang terpilih pada saat proses pelatihan digunakan dalam proses klasifikasi dan juga digunakan untuk mendapatkan fitur¬fitur yang terpilih pada data uji coba. Masing¬masing basis data wajah yang digunakan

dibagi menjadi dua, sebagian digunakan untuk proses pelatihan (training) dan sisanya digunakan untuk proses pengujian (testing).
Gambar 1. Rancangan sistem pengenalan wajah menggunakan metode 2DPCA-ICA dan
SVM
HASIL DAN PEMBAHASAN
Pada penelitian  ini, integrasi metode
2DPCA-ICA dan SVM diterapkan pada pengenalan wajah menggunakan database wajah Yale, ORL dan Bern. Database wajah Yale menggunakan variasi ekspresi wajah dan pencahayaan. Database ini terdiri dari 165 citra dari 15 orang, setiap orang memiliki 11 perbedaan citra dengan ukuran dimensi 64 x 88. Sedangkan database wajah ORL menggunakan variasi pose dan ukuran data. Database ini terdiri dari 40 orang, masing-masing orang memiliki 10 perbedaan, dengan ukuran dimensi 92 x 112.. Pada database wajah Bern terdiri dari 28 orang, masing-masing orang memiliki 10 perbedaan, dengan ukuran dimensi 64 x 88..
Pada uji coba, semua citra pada tiga database wajah diubah menjadi grayscale dan dilakukan normalisasi menjadi 30 x 24 piksel dengan metode interpolasi bilinear. Selanjutnya ukuran matrik kovarian adalah 24 x 24 untuk mendapatkan eigenvector. Pada penelitian ini, memilih eigenvector yang berkorespondensi dengan 6 eigenvalue terbesar sehingga dilakukan perhitungan matrik pemutihan (whitened matrix) E _ d"' Ud, dengan d = 6. Kemudian dilakukan proses FAST-ICA untuk menghitung vektor


dari komponen bebas, S. Pada penelitian ini menggunakan 6 komponen bebas (d = 6). Berdasarkan persamaan 8, bahwa dimensi S adalah 24x6x24. Selanjutnya menghitung vektor proyeksi berdasarkan persamaan 9 sehingga didapatkan Y, dengan ukuran dimensi sama dengan 24x24x6.
Dilanjutkan dengan proses klasifikasi menggunakan SVM one against all. Setelah menghitung fungsi keputusan (fi) dan kelas data x akan ditentukan berdasarkan nilai fungsi keputusan yang tertinggi. Untuk pencarian solusi tersebut menggunakan quadratic programming. Pada penelitian ini menggunakan Matlab 2010, termasuk
quadratic             programming     langsung
menggunakan yang sudah tersedia di Matlab.
Untuk masing-masing database wajah pelatihan menggunakan 3 wajah (uji 3), 4 wajah (uji 4), 5 wajah (uji 5) . Sisa wajah yang tidak digunakan pada proses pelatihan, maka digunakan sebagai data pengenalan/ pengujian. Pada Tabel 1, 2 dan 3 menunjukkan hasil pengenalan wajah menggunakan database Yale, ORL, dan Bern dengan membandingkan metode 2DPCA + SVM dan 2DPCA-ICA + SVM.
Tabel 1 Perbandingan hasil pengenalan wajah menggunakan 2DPCA dan 2DPCA-ICA dengan SVM sebagai pengklasifikasinya pada database Yale
Metode Akurasi pengenalan (%)
               Uji 3       Uji 4       Uji 5
2DPCA +
SVM       80.65     83.42     87.25
2DPCA-ICA
+ SVM    84.5       89.55     93.6
Tabel 2 Perbandingan hasil pengenalan wajah menggunakan 2DPCA dan 2DPCA-ICA dengan SVM sebagai pengklasifikasinya pada database ORL
Metode Akurasi pengenalan (%)
               Uji 3       Uji 4       Uji 5
2DPCA   +             88.3       92.5       98.75
SVM                                    
2DPCA-ICA          90.5       94.75     99.6
+ SVM                                 
Tabel 3 Perbandingan hasil pengenalan wajah menggunakan 2DPCA dan 2DPCA-ICA dengan SVM sebagai pengklasifikasinya pada database Bern
Metode Akurasi pengenalan (%)
               Uji 3       Uji 4       Uji 5
2DPCA   +             86.47     93.65     96.25
SVM
2DPCA-ICA 84.5 94.55 99 + SVM
Berdasarkan Tabel 1, 2 dan 3 menunjukkan bahwa rata-rata akurasi pengenalan wajah menggunakan 2DPCA-ICA + SVM lebih tinggi dibandingkan dengan 2DPCA + SVM, yaitu sebesar 99,6% dengan 5 data pelatihan pada database ORL. Metode 2DPCA-ICA mampu menggabungkan kelebihan 2DPCA (ukuran matrik kovarian yang lebih kecil dibandingkan PCA) dan ICA (generalisasi dari PCA).
SIMPULAN
Pada penelitian ini mempresentasikan integrasi metode 2DPCA-ICA dan SVM one against all pada pengenalan wajah. Uji coba menggunakan database wajah Yale, ORL dan Bern. Berdasarkan hasil uji coba, 2DPCA-ICA dan SVM memiliki rata-rata akurasi pengenalan wajah lebih tinggi dibandingkan 2DPCA dan SVM, yaitu sebesar 99.6% menggunakan pada 5 data pelatihan pada database ORL.
DAFTAR PUSTAKA
[1]          Liu,         C.           Enhanced            Independent
Component Analysis of Gabor Features for Face Recognition. IEEE Transactions on Neural Networks. 14: 919-928. 2003.
[2]          Yang, J., Zhang, D., Frangi, A.F. and Yang, J.Y. Two-Dimensional PCA : A New Approach to Appearance-Based Face Representation and Recognition. IEEE Transactions on Pattern Analysis and Machine Intelligence. 26 (1) : 131- 137. 2004.
[3]          Deniz, O., Castrillon, M., and Hernandez, M. Face Recognition Using Independent Component Analysis and Support Vector Machines. Pattern Recognition Letters. 24: 2153-2157. 2003.
[4]          Fortuna, J. and Capson, D. Improved Support Vector Classification Using PCA and ICA Feature Space Modification. Pattern Recognition. 37: 1117-1129.
[5]          Gan, J.-y., Li, C.-z., and Zhou, D.-p. A Novel Method for 2DPCA-ICA in Face Recognition. ICIC 2007, CCIS 2, pp. 1203-1209. 2007.

[6]          Hsu, C.W., and Lin, C.J. A Comparison of Methods for Multi-class Support Vector Machines, IEEE Transactions on Neural Networks. 13(2): 415-425. 2002.
[7]          Liu, Y., Wang, R., Zeng, Y., and He, H. An Improvement of One-against-all Method for Multiclass Support Vector Machine. 4th International Conference: Sciences of Electronic, Technologies of Information and Telecommunications (SETIT 2007). Tunisia. 2007.

Tidak ada komentar:

Posting Komentar