PCA

4
____________________________________________ * Mahasiswa Jurusan Teknik Elektro UNDIP ** Staf Pengajar Jurusan Teknik Elektro UNDIP 1 PENGENALAN WAJAH MENGGUNAKAN ANALISIS KOMPONEN UTAMA (PRINCIPAL COMPONENTS ANALYSIS) Bangun Budi Wibowo * , Achmad Hidayatno ** , R. Rizal Isnanto ** Abstrak - Pengenalan wajah adalah proses identifikasi manusia dengan menggunakan gambaran raut wajah. Dengan semakin meluasnya penggunaan komputer, diharapkan kemampuan pengenalan wajah dapat diadopsi pada perangkat pintar tersebut. Proses adopsi tersebut menjadi mungkin dengan ditemukannya berbagai metode pengenalan wajah, yang salah satunya adalah Analisis Komponen Utama atau lebih dikenal sebagai PCA (Principal Components Analysis). Penelitian dimulai dengan merancang sebuah program komputer dengan menggunakan bahasa pemrograman Matlab. Program hasil rancangan tersebut digunakan menguji metode PCA dengan menggunakan sejumlah citra wajah. Pengujian dibagi menjadi tiga kategori, yaitu berdasarkan jumlah citra latih, berdasarkan jumlah komponen utama vektor ciri, dan penentuan nilai ambang. Pada akhirnya dapat disimpulkan bahwa PCA cukup layak dijadikan metode pengenalan wajah. Data penelitian menunjukkan hasil pengenalan yang cukup baik dengan tingkat kesalahan yang cukup kecil pada pengujian menggunakan empat citra latih, yaitu tiga kesalahan pengenalan dari 60 pengujian. Kata kunci: pengenalan wajah, analisis komponen utama, identifikasi, vektor ciri, metode pengenalan wajah I. PENDAHULUAN 1.1 Latar Belakang Semakin meluasnya penggunaan komputer dalam kehidupan sehari-hari telah membawa piranti tersebut sebagai asisten serbaguna bagi manusia. Salah satu aplikasi komputer dalam bidang keamanan yang tengah meningkat peranannya adalah dalam hal pengenalan wajah. Suatu sistem keamanan yang menggunakan sistem pengenalan wajah di dalamnya menjadi lebih susah untuk diterobos, karena proses identifikasinya melibatkan suatu metode identifikasi yang unik, yaitu identifikasi wajah, sehingga hanya orang yang wajahnya dikenali dan memiliki hak saja yang diperbolehkan lewat. Prosesnya pun mudah, hanya perlu berdiri di depan suatu kamera, tidak ada suatu kata sandi (password) atau nomor identifikasi personal yang perlu diingat. 1.2 Pembatasan Masalah Batasan Masalah pada Tugas Akhir ini, yaitu: 1. Metode pengolahan citra digital yang akan digunakan adalah Analisis Komponen Utama atau PCA (Principal Components Analysis). 2. Citra yang digunakan dalam penelitian ini adalah hasil pemotretan dengan menggunakan kamera digital pada telepon genggam merk Nokia seri 6600 dan hasil download dari internet, yang telah diubah ukuran dan warnanya menjadi 56 46 piksel dan 256 tingkat keabuan, tanpa membahas proses yang terlibat di dalamnya. 3. Citra wajah yang digunakan dalam pengujian merupakan citra wajah lurus tampak depan. 4. Program bantu yang digunakan adalah Matlab versi 6.1. 5. Permasalahan yang akan diteliti dibatasi pada: pengaruh jumlah citra latih, pengaruh jumlah komponen utama terhadap hasil pengenalan wajah, dan penentuan nilai ambang menggunakan simpangan baku. 1.3 Tujuan Tujuan yang hendak dicapai dalam tugas akhir ini adalah menghasilkan kesimpulan tentang kelayakan PCA sebagai sebuah metode pengenalan wajah. II. LANDASAN TEORI 2.1 Citra Digital Citra dapat dibagi menjadi 4 kelas, yaitu cara kontinu-kontinu, kontinu-diskret, diskret-kontinu, dan diskret-diskret. Deskripsi pertama menyatakan tingkat akurasi dari suatu titik pada bidang koordinat, sedangkan deskripsi kedua menyatakan tingkat keabuan atau warna suatu citra. Kontinu dinyatakan dengan tingkat akurasi tidak berhingga, sedangkan diskret dinyatakan dengan tingkat akurasi berhingga. Berdasarkan tingkat pewarnaan, citra dapat dibagi menjadi dua kelas, yaitu citra monokrom atau hitam putih, yang merupakan citra satu kanal, dan citra multi-spektral atau multiwarna. Citra hitam putih menyajikan warna dengan nilai integer pada piksel yang menyatakan tingkat keabuan dari hitam ke putih, sedangkan pada citra multi-spektral, warna citra dinyatakan oleh tiga komponen warna, yaitu merah, hijau, dan biru (RGB), sehingga penyajian warnanya adalah berbentuk fungsi nilai tingkat warna, yang meliputi warna-warna: merah, hijau, dan biru: )}. , ( ), , ( ), , ( { y x f y x f y x f biru hijau merah 2.2 Sistem Pengenalan Wajah Menggunakan PCA Sebuah wajah dalam bentuk citra dua dimensi dapat dilihat sebagai vektor satu dimensi. Jika panjang citra adalah w dan lebar citra adalah h, maka jumlah komponen dari vektor 1 dimensinya adalah h w . Setiap piksel dikodekan oleh satu komponen vektor. Pembentukan vektor ini disusun berurutan secara kolom, seperti diperlihatkan oleh Gambar 1.

description

Ini PCA

Transcript of PCA

Page 1: PCA

____________________________________________

* Mahasiswa Jurusan Teknik Elektro UNDIP ** Staf Pengajar Jurusan Teknik Elektro UNDIP

1

PENGENALAN WAJAH MENGGUNAKAN ANALISIS KOMPONEN UTAMA

(PRINCIPAL COMPONENTS ANALYSIS) Bangun Budi Wibowo*, Achmad Hidayatno**, R. Rizal Isnanto**

Abstrak - Pengenalan wajah adalah proses identifikasi manusia dengan menggunakan gambaran raut wajah. Dengan semakin meluasnya penggunaan komputer, diharapkan kemampuan pengenalan wajah dapat diadopsi pada perangkat pintar tersebut. Proses adopsi tersebut menjadi mungkin dengan ditemukannya berbagai metode pengenalan wajah, yang salah satunya adalah Analisis Komponen Utama atau lebih dikenal sebagai PCA (Principal Components Analysis).

Penelitian dimulai dengan merancang sebuah program komputer dengan menggunakan bahasa pemrograman Matlab. Program hasil rancangan tersebut digunakan menguji metode PCA dengan menggunakan sejumlah citra wajah. Pengujian dibagi menjadi tiga kategori, yaitu berdasarkan jumlah citra latih, berdasarkan jumlah komponen utama vektor ciri, dan penentuan nilai ambang.

Pada akhirnya dapat disimpulkan bahwa PCA cukup layak dijadikan metode pengenalan wajah. Data penelitian menunjukkan hasil pengenalan yang cukup baik dengan tingkat kesalahan yang cukup kecil pada pengujian menggunakan empat citra latih, yaitu tiga kesalahan pengenalan dari 60 pengujian.

Kata kunci: pengenalan wajah, analisis komponen utama, identifikasi, vektor ciri, metode pengenalan wajah I. PENDAHULUAN 1.1 Latar Belakang Semakin meluasnya penggunaan komputer dalam kehidupan sehari-hari telah membawa piranti tersebut sebagai asisten serbaguna bagi manusia. Salah satu aplikasi komputer dalam bidang keamanan yang tengah meningkat peranannya adalah dalam hal pengenalan wajah. Suatu sistem keamanan yang menggunakan sistem pengenalan wajah di dalamnya menjadi lebih susah untuk diterobos, karena proses identifikasinya melibatkan suatu metode identifikasi yang unik, yaitu identifikasi wajah, sehingga hanya orang yang wajahnya dikenali dan memiliki hak saja yang diperbolehkan lewat. Prosesnya pun mudah, hanya perlu berdiri di depan suatu kamera, tidak ada suatu kata sandi (password) atau nomor identifikasi personal yang perlu diingat. 1.2 Pembatasan Masalah Batasan Masalah pada Tugas Akhir ini, yaitu: 1. Metode pengolahan citra digital yang akan

digunakan adalah Analisis Komponen Utama atau PCA (Principal Components Analysis).

2. Citra yang digunakan dalam penelitian ini adalah hasil pemotretan dengan menggunakan kamera digital pada telepon genggam merk Nokia seri 6600 dan hasil download dari internet, yang telah

diubah ukuran dan warnanya menjadi 5646 piksel dan 256 tingkat keabuan, tanpa membahas proses yang terlibat di dalamnya.

3. Citra wajah yang digunakan dalam pengujian merupakan citra wajah lurus tampak depan.

4. Program bantu yang digunakan adalah Matlab versi 6.1.

5. Permasalahan yang akan diteliti dibatasi pada: pengaruh jumlah citra latih, pengaruh jumlah komponen utama terhadap hasil pengenalan wajah, dan penentuan nilai ambang menggunakan simpangan baku.

1.3 Tujuan Tujuan yang hendak dicapai dalam tugas akhir ini adalah menghasilkan kesimpulan tentang kelayakan PCA sebagai sebuah metode pengenalan wajah. II. LANDASAN TEORI 2.1 Citra Digital Citra dapat dibagi menjadi 4 kelas, yaitu cara kontinu-kontinu, kontinu-diskret, diskret-kontinu, dan diskret-diskret. Deskripsi pertama menyatakan tingkat akurasi dari suatu titik pada bidang koordinat, sedangkan deskripsi kedua menyatakan tingkat keabuan atau warna suatu citra. Kontinu dinyatakan dengan tingkat akurasi tidak berhingga, sedangkan diskret dinyatakan dengan tingkat akurasi berhingga. Berdasarkan tingkat pewarnaan, citra dapat dibagi menjadi dua kelas, yaitu citra monokrom atau hitam putih, yang merupakan citra satu kanal, dan citra multi-spektral atau multiwarna. Citra hitam putih menyajikan warna dengan nilai integer pada piksel yang menyatakan tingkat keabuan dari hitam ke putih, sedangkan pada citra multi-spektral, warna citra dinyatakan oleh tiga komponen warna, yaitu merah, hijau, dan biru (RGB), sehingga penyajian warnanya adalah berbentuk fungsi nilai tingkat warna, yang meliputi warna-warna: merah, hijau, dan biru:

)}.,(),,(),,({ yxfyxfyxf biruhijaumerah 2.2 Sistem Pengenalan Wajah Menggunakan PCA Sebuah wajah dalam bentuk citra dua dimensi dapat dilihat sebagai vektor satu dimensi. Jika panjang citra adalah w dan lebar citra adalah h, maka jumlah komponen dari vektor 1 dimensinya adalah hw . Setiap piksel dikodekan oleh satu komponen vektor. Pembentukan vektor ini disusun berurutan secara kolom, seperti diperlihatkan oleh Gambar 1.

Page 2: PCA

2

X = { }

Gambar 1. Pengubahan dari citra 2 dimensi ke vektor 1 dimensi.

Vektor wajah pada Gambar 1 kemudian

dimasukkan ke dalam suatu ruang, ruang tersebut dinamakan ruang citra, yaitu ruang tempat meletakkan sejumlah citra berukuran hw piksel. Vektor ciri wajah terletak hanya pada bagian tertentu dari ruang citra. Oleh karena ruang citra adalah terlalu berlebih untuk mendeskripsikan setiap wajah di dalamnya, maka perlu dibangun sebuah ruang baru, yaitu ruang wajah. Analisis Komponen Utama (Principal Component Analysis) atau PCA adalah suatu metode yang melibatkan prosedur matematika yang mengubah dan mentransformasikan sejumlah besar variabel yang berkorelasi menjadi sejumlah kecil variabel yang tidak berkorelasi, tanpa menghilangkan informasi penting di dalamnya. Proses pada sistem pengenalan wajah menggunakan PCA tersebut dapat dilihat lebih jelas pada Gambar 2.

Wajah latih: tiapkolom merupakanvektor berukuran

P C A

Wajah-wajah eigen:tiap kolom berisi 2576komponen yang menyajikanvektor-vektor eigen

Transpos

2576 komponen

Hasil

Vektor ciri daricitra uji diruang citra(K komponen)

Citra uji(2576 piksel)

Vektor ciri citra latihmana yang terdekatdengan citra uji?

Vektor ciri daricitra-citra latihdi ruang wajah(K komponen perwajah).

Gambar 2 Sistem pengenalan wajah menggunakan PCA Gambar 2 memperlihatkan bahwa PCA digunakan untuk memproses matriks ruang citra sehingga menghasilkan suatu matriks baru berisi sejumlah vektor eigen. Sejumlah vektor eigen inilah yang akan digunakan sebagai pengektraksi ciri, baik terhadap citra latih maupun citra uji. Ekstraksi

terhadap citra latih menghasilkan sejumlah vektor ciri yang dapat disimpan dan digunakan pada proses pengenalan. 2.3 PCA Secara Statistik Perhitungan PCA dimulai dengan pembentukan matriks kovarians dari sekumpulan citra latih dalam basis-data. Untuk membuat matriks kovarians dapat dilakukan dengan mengurangkan setiap kolom dari matriks ruang citra dengan reratanya masing-masing sehingga didapatkan suatu matriks transformasi, kemudian mengalikan matriks hasilnya dengan transpos matriks tersebut sendiri. Jika dimisalkan matriks transformasinya adalah X, maka matriks kovariansnya adalah X = XXT. Pada dasarnya, matriks kovarians X = XXTdari sekumpulan wajah latih adalah tidak berbentuk diagonal

Xhwhw

Xhw

Xhw

XXX

Xhw

XX

TX XX

,2,1,

222221

,11211

...............

...

...

(1)

ij menyajikan kovarians antara piksel i dan piksel j.

Hubungan antara koefisien kovarians dan koefisien korelasi adalah:

jjii

ijijr

(2)

sehingga koefisien korelasi adalah normalisasi dari koefisien kovarians. Tujuan yang ingin dicapai adalah membangun sebuah ruang wajah, dengan setiap komponennya tidak saling berkorelasi. Ini berarti bahwa matriks kovarians dari komponen yang baru haruslah berbentuk diagonal:

Y

hwhw

Y

Y

TY YY

,

22

11

...00............0...00...0

(3)

dengan yi adalah vektor kolom yang mendeskripsikan wajah xi pada sumbu ruang wajah, yi disebut juga komponen utama;

X adalah matriks yang berisi sejumlah wajah latih, xi;

Y adalah matriks yang berisi vektor-vektor yi. Bentuk diagonal dari matriks kovarians ini menunjukkan bahwa varians sebuah variabel dengan variabel itu sendiri akan bernilai maksimal, sedangkan kovarians sebuah variabel dengan variabel lainnya akan bernilai nol, setiap variabel tidak saling berkorelasi lagi. Dengan demikian, pembentukan ruang wajah baru ini adalah untuk mencari arah sumbu yang akan memaksimalkan varians.

Page 3: PCA

3

Komponen utama dari matriks X dapat dihitung secara linear. Jika P adalah matriks transformasinya, maka: XPY T dan PYX (4) pada dasarnya P=P-1, karena setiap kolom dari vektor P adalah saling ortonormal, dengan: ,IPPT di sini I adalah suatu matriks identitas. Hal yang menjadi pertanyaan sekarang adalah merupakan apakah seharusnya P itu jika Y adalah sebuah matriks diagonal.

PXXPYY TTTY

PP XT (5)

Dengan demikian, Y adalah rotasi dari X oleh vektor P. Misal P adalah matriks yang berisi sejumlah vektor eigen dari matriks X : PPX (6) dengan adalah matriks diagonal yang berisi sejumlah nilai eigen dari matriks X . Dengan demikian, PPPP TT

Y (7) dan Y adalah matriks diagonal berisi sejumlah nilai eigen dari X , karena setiap elemen diagonal dari Y adalah varians dari komponen wajah-wajah latih di ruang wajah, yang juga merupakan nilai eigen dari matriks X . 2.4 Nilai Eigen Misalkan ][ jkaA adalah matriks nn yang

dikaitkan dengan persamaan: xAx (8) dengan adalah suatu bilangan; maka vektor nol,

0x adalah penyelesaian dari Persamaan (1) untuk sebarang nilai . Suatu nilai pada Persamaan (1) yang memberikan penyelesaian 0x disebut nilai eigen atau nilai karakteristik dari matriks A. Penyelesaian padanannya, yaitu 0x dari Persamaan (1) disebut vektor eigen, atau vektor karakteristik dari A yang berpadanan dengan nilai . 2.5 Pengurangan Ukuran Seharusnya, ukuran dari ruang wajah adalah lebih kecil dari pada ruang citra:

,)()()()dim( KXXrankXcolPcolY T 1)()dim( T

i XXranky (9) dengan K adalah jumlah wajah yang dilatihkan, sehingga nilai 1 pada Persamaan (9) menunjukkan bahwa yang dicari adalah dimensi 1 wajah; col adalah jumlah kolom; rank adalah jumlah vektor baris atau vektor kolom yang bebas linear dari suatu matriks. Dengan demikian, ukuran ruang wajah adalah rank( TXX ), yaitu nilai minimal antara hw dengan K. Oleh karena nilai K biasanya adalah jauh lebih

kecil dari ,hw maka rank( TXX ) adalah sama dengan K. Pengurangan ukuran telah dibuat dan informasi yang dibawa oleh yi adalah sama dengan informasi yang dibawa oleh citra aslinya, yaitu xi. 2.6 Proses Pengenalan Setelah proses pelatihan, akan dihasilkan suatu pola latih berupa sejumlah vektor ciri yang berisi komponen utama dari seluruh citra latih (citra yang dilatihkan ke sistem). Vektor ciri tersebut disimpan dalam suatu matriks, dan akan dikeluarkan pada saat proses pengenalan. Untuk proses pengenalan, suatu citra uji (citra yang disajikan ke sistem untuk proses pengenalan) yang memiliki dimensi yang sama dengan citra latih yang disajikan ke sistem. Citra uji tersebut kemudian diekstraksi ciri dengan cara mengalikan dengan vektor eigen citra latih, dan menghasilkan vektor ciri berisikan komponen utama yang memiliki dimensi yang sama dengan vektor ciri citra latih. Setelah didapatkan vektor ciri dari citra uji, maka proses selanjutnya adalah membandingkan vektor ciri dari citra uji dengan vektor ciri citra latih. Perbandingan tersebut dapat dilakukan dengan cara menghitung jarak euclidean (euclidean distance), yang merupakan selisih nilai piksel antara 2 vektor tersebut. Jarak euclidean adalah akar dari jumlah selisih kuadrat antara 2 vektor, dan secara matematis dapat dirumuskan oleh:

5,0

1

2)(),(

K

iii babadist (10)

dengan dist(a,b) adalah jarak euclidean antara vektor a dan vektor b; ia adalah komponen ke i dari vektor a; ib adalah komponen ke i dari vektor b;

K adalah jumlah komponen pada vektor a dan vektor b. Dari hasil perhitungan jarak euclidean tersebut dapat ditentukan suatu citra wajah adalah mirip bila memiliki jarak yang paling dekat. III PENGUJIAN Pengujian yang dilakukan dibagi menjadi tiga kategori, yaitu: pengujian pengaruh jumlah citra latih, pengaruh jumlah komponen utama, dan pengujian nilai ambang. Dalam rangka mendukung pengujian telah dikumpulkan 160 citra wajah dari 20 individu. 3.1 Pengujian Pengaruh Jumlah Citra Latih Hal yang ingin diketahui berdasarkan pengujian ini adalah pengaruh jumlah citra latih terhadap hasil pengenalan. Pada akhirnya didapatkan data-data sebagai berikut: 1. Pengujian menggunakan 1 citra latih

menghasilkan 14 kesalahan pengenalan dari 60 pengujian.

Page 4: PCA

4

2. Pengujian menggunakan 2 citra latih menghasilkan 8 kesalahan pengenalan dari 60 pengujian.

3. Pengujian menggunakan 3 citra latih menghasilkan 7 kesalahan pengenalan dari 60 pengujian.

4. Pengujian menggunakan 4 citra latih menghasilkan 3 kesalahan pengenalan dari 60 pengujian.

3.2 Pengujian Pengaruh Jumlah Komponen Utama Pengujian pengaruh jumlah komponen utama terhadap hasil pengenalan ini menghasilkan data-data sebagai berikut. 1. Pengujian menggunakan 45 komponen utama

menghasilkan 3 kesalahan pengenalan dari 60 pengujian.

2. Pengujian menggunakan 30 komponen utama menghasilkan 3 kesalahan pengenalan dari 60 pengujian.

3. Pengujian menggunakan 15 komponen utama menghasilkan 4 kesalahan pengenalan dari 60 pengujian.

3.3 Pengujian Nilai Ambang Nilai ambang pada Tugas Akhir ini adalah suatu nilai untuk menentukan suatu citra uji dikenali atau tidak dikenali. Penentuan nilai ambang pada penelitian ini menggunakan penjumlahan dua parameter statistik, yaitu rerata dan simpangan baku. Nilai ambang ini pada akhirnya hanya menghasilkan satu kesalahan pengenalan terhadap citra uji luar dari 60 pengujian. IV. PENUTUP 4.1 Kesimpulan Berdasarkan hasil penelitian dan pembahasan dapat disimpulkan hal-hal sebagai berikut: 1. PCA cukup layak digunakan sebagai metode

ekstrasi ciri sistem pengenalan wajah, karena hasil pengenalannya selama pengujian cukup baik, yaitu berhasil mengenali dengan benar 57 buah citra wajah (dari 60 pengujian) pada pengujian menggunakan 4 citra latih.

2. Jumlah citra latih yang digunakan pada metode PCA berbanding lurus dengan kinerja sistem pengenalan wajah, artinya semakin banyak citra latih yang digunakan untuk pelatihan, hasil pengenalannya akan semakin bagus.

3. Vektor ciri keluaran dari PCA dapat dikurangi jumlah komponen utamanya sampai pada jumlah tertentu (dalam penelitian ini sampai dengan 30 komponen utama masih bisa memberikan hasil pengenalan yang sama baiknya dengan menggunakan semua komponen utama, yaitu 60 komponen utama).

4. Penjumlahan antara rerata dan simpangan baku cukup layak digunakan sebagai penentu suatu citra dikenali atau tidak dikenali, karena cukup berhasil mengelompokkan citra uji luar dan citra uji dalam.

4.2 Saran 1. Penelitian dapat dilanjutkan dengan

menambahkan perangkat keras, yaitu kamera untuk membuat sistem pengenalan wajah yang lengkap.

2. Penggabungan dengan metode lain, misalnya jaringan saraf tiruan perlu dilakukan untuk memperoleh hasil pengenalan yang lebih baik.

3. Perlu dilakukan penelitian lanjutan untuk mengenali citra dengan variasi cara hadap wajah, misal: condong ke kiri atau ke kanan, tampak samping ataupun posisi wajah yang tidak vertikal dengan sudut tertentu.

V. DAFTAR PUSTAKA [1] Anton, H., Aljabar Linear Elementer, (terj. P. Silaban dan I.

N. Susilo), Penerbit Erlangga, Jakarta, 1991. [2] Hartadi, D., Simulasi Penghitungan Sel Darah Merah,

Skripsi-S1, Universitas Diponegoro, 2003. [3] Jain, A.K., Fundamentals of Digital Image Processing,

Prentice Hall of India Private Limited, New Delhi, 1995. [4] Oziem, D.J., Face Recognition Techniques and the

Implications of Facial Transformation, Disertasi-S3, University of Bristol, 2002.

[5] Romdhani, S., Face Recognition Using Principal Components Analysis, http://www.elec.gla.ac.uk/~romdhani, Juli 2004.

[6] ---, Basic Statistic, http://www.statsoft.com/textbook/glosi. html , Juli 2004.

[7] ---, Image Processing Toolbox,for user's with MALTLAB, user's guide version 3, The mathwork Inc, 2001.

[8] ---, Principal Components Analysis, http://www.fon.hum.uva.nl/praat, Juli 2004.

Bangun Budi Wibowo (L2F 098 595) Mahasiswa Teknik Elektro 1998 Universitas Diponegoro dengan konsentrasi Teknik Telekomunikasi. E-mail: [email protected]

Menyetujui

Pembimbing II

R. Rizal Isnanto, ST., MM., MT. NIP. 132 125 670 Tanggal:

Pembimbing I

Achmad Hidayatno, ST., MT. NIP. 131 668 485 Tanggal: