JCONES Vol. 3, No. 1 (2014) 29-36
Journal of Control and Network Systems
Jurnal of
Situs Jurnal : http://jurnal.stikom.edu/index.php/jcone
APLIKASI PENGENALAN WAJAH PADA MOBILE ROBOT OMNIDIRECTIONAL MENGGUNAKAN METODE PRINCIPAL COMPONENT ANALYSIS (PCA) Galang Putra Pradhana1) Harianto2) Madha Christian Wibowo3) S1 Sistem Komputer STIMIK STIKOM Surabaya Jl. Raya Kedung Baruk 93 Surabaya, 60298 Email : 1)
[email protected], 2)
[email protected], 3)
[email protected]
Abstract: Self identification applications have been used in variety cases. Recently in Indonesia it was used for e-KTP applications, by taking the characteristics of each person such as fingerprints, signature, retina, and photo of faces. But the applications database have not been optimally used, because those data was just stored off hand. One of data used in e-KTP, photo face could be used as reference in the applications of self identification. Recognition faces can also reduce cost, as it only requires webcam. The face recognition applications can be used to finding person by combine this applications with mobile robots. The method used for face recognition are various, there are several criteria that distinguish it by way of the method of identifying face such as: geometric / template based, appearance-based, hybrid appearance based, and models based. Principal component analysis is one of method that was based on appearance criteria. PCA will extract only the important features of data to be used in recognition process. The product of PCA is eigenface. This eigenfaces from the training process will be stored to database. Euclidean distance will be used to finding the most similar sample with the detected face to recognize it. The mobile robot could detect face and extract the eigenface, then mobile robot would matching it with the database stored in computer to recognize the face. The weakness of this method is light intensity, cause when some person take a picture that used for training database in higher or lower light intensity than when he do recognition, this method will be failed to recognized. This method working properly, if the difference between training and recognition is about 3 Ev or 80-1000 Lux (light intensity metering).If the difference light intensity between training and recognition more than 3Ev or about 80-1000 lux, then a fault occurs reach 90%. Keyword: e-KTP, principal component analysis, mobile robot omnidirectional. Wajah merupakan data yang cukup kompleks untuk dijadikan suatu acuan pencarian dibandingkan dengan data lain, selain itujuga dapat menekan biaya yang dikeluarkan untuk device atau alat yang digunakan. Metode yang digunakan untuk pengenalan wajah ada berbagai macam, ada beberapa kriteria yang membedakannya berdasarkan cara metode tersebut mengidentifikasi wajah (Mohammed, 2004) antara lain :geometric/template based, appearance based, hybrid appearance based, model based.Principal component analysis
merupakan metode pengenalan yang cukup baik dalam menganalisa data. metode ini data akan dapat dimampatkan menjadi dimensi yang lebih kecil, namun dengan tidak menghilangkan informasi penting dari data itu sendiri. (Smith, 2002) Jika pada penelitian sebelumnya metode principal component analysis digunakan untuk melakukan pengenalan wajah dengan memanfaatkan database wajah yang telah tersedia, yaitu dengan menggunakan database wajah dari UOB. (Rizkananda, 2010). Dalam penelitian kali ini penulis akan membuat sebuah database
Galang Putra Pradhana, Harianto, Madha Christian Wibowo JCONES Vol. 3, No. 1 (2014) Hal: 29
Situs Ju
menggunakan wajah dari orang secara langsung, tanpa menggunakan database yang sudah ada dan menghubungkannya dengan robot untuk melakukan pencarian wajah tersebut. Lalu robot omnidirectional akan bertugas untuk melakukan pencocokan wajah dengan referensi database yang telah disimpan pada komputer. Sistem ini nantinya akan diterapkan pada komputer yang digunakan sebagai pusat pengolah data, Lalu robot omnidirectional akan bertugas untuk melakukan pencocokandengan referensi database yang telah disimpan pada komputer. Pada penerapan di dunia nyata sistem ini bisa digunakan pada bandara sebagai suatu sistem pencarian orang atau pencarian orang dengan database dari eKTP.
Blok Diagram Training
Personal Computer (PC) TrainingProcess dengan PCA
Data Database
Wajah Blok Diagram Recognition Recognition Process dengan PCA
Mobile Robot Omnidirectional
METODE PENELITIAN Model penelitian yang akan dilakukan dapat dijelaskan melalui blok diagram pada Gambar 1.Sistem ini terdiri dari duablok utama yaitu blok proses training dan proses recognition. Dimana kerja dari kedua blok proses ini dilakukan pada komputer. Blok diagram training terdiri dari webcam dan perangkat lunak yang memproses citra masukan menjadi sebuah karakteristik citra yang hasilnya akan disimpan pada sebuah database. Sedangkan pada blok proses recognition terdiri dari webcam yang telah terintegrasi dengan mobile robot (robotino), komputer akan memproses citra masukan menjadi karakteristik citra, lalu membandingkannya dengan karakteristik citra yang telah tersimpan pada database hingga memberikan output berupa hasil recognition.
Pencarian wajah
Hasil Pengenalan
Gambar 1 Blok diagram sistem secara umum
PROSES TRAINING Proses training dimulai dengan mengakses webcam yang telah terintegrasi pada PC, lalu aplikasi akan melakukan deteksi wajah dari gambar yang didapatkan dari webcam tadi, saat ada wajah yang tertangkap pada gambar hasil webcam, lalu user akan menekan tombol capture untuk melakukan proses pengambilan gambar wajah, saat aplikasi melakukan proses capture proses pengolahan citra juga dilakukan, setelah didapat 10 gambar wajah, proses selanjutnya dilakukan untuk mengambil ciri tiap wajah menggunakan metode PCA dan proses terakhir adalah aplikasi akan menyimpan ciri wajah tadi pada database yang telah ditentukan. Orang
Sampel Pelatihan
Orang 1
Galang Putra Pradhana, Harianto, Madha Christian Wibowo JCONES Vol. 3, No. 1 (2014) Hal: 30
Gambar 1
3 24 13 5 4 1 99 150 4 29 55 2 74 5 10 254 . . . . . . . . . . . . . . . . . . . . 13 1 21 15 150 14 12 251
Orang 2
3 24 13 5 4 1 99 150 4 29 55 2 74 . . . 251
Gambar 2 Ilustrasi penyusunan matriks data menjadi vektor kolom 3.
Orang 3
Menggabungkan setiap vektor kolom dari data tersebut menjadi satu dalam sebuah matriks dengan ordo 𝐍 𝟐 x jumlah data. Misal gambar pelatihan ada 2 gambar dengan ukuran 20 x 20 piksel maka kita akan mempunyai matriks berukuran (20 x 20) x 2 seperti pada penjelasan berikut.
Gambar 1
Gambar 2
3 24 13 5 4 1 99 150 4 29 55 2 74 5 10 254 . . . . . . . . . . . . . . . . . 13 1 21 15 150 14 12
4 29 55 2 3 24 13 74 74 5 10 25 45 4 1 99 . . . . . . . . . . . . . . . . . . . 13 1 21 15 15 14 12 4
Tabel 1 Sampel wajah yang digunakan untuk pelatihan
PCA (PRINCIPAL ANALYSIS)
COMPONENT
PCA adalah teknik statistik untuk menyederhanakan kumpulan data yang dimensi besar menjadi dimensi yang lebih rendah. Metode ini merupakan metode yang bekerja pada wilayah linier, maka aplikasi yang memiliki model linier dapat menggunakan metode ini, seperti pengolahan sinyal, pengolahan citra, dan lain-lain. Dalam sistem ini proses yang paling utama adalah proses PCA, karena yang dapat menentukan wajah seseorang dikenali atau tidak adalah melalui proses ini. Langkah-langkah dari proses PCA dapat dilihat pada Gambar 2. Berikut penjelasan dari diagram alir PCA: 1. Proses pembacaan matriks data gambar yang telah melalui proses pengolahan citra. 2. Proses mengubah masing-masing matriks piksel data gambar menjadi vektor kolom dengan ordo 𝐍 𝟐 x 1.
3 4 24 29 13 55 5 2 4 3 1 24 99 13 15 74 4 74 29 5 55 10 2 25 74 45 . . . . . . 12 4
Gambar 3 Ilustrasi penyusunan matriks data input 4.
Proses perhitungan rata-rata dari matrik, gabungan data training, dengan menambahkan semua data dalam satu baris lalu membaginya dengan jumlah data training.
Galang Putra Pradhana, Harianto, Madha Christian Wibowo JCONES Vol. 3, No. 1 (2014) Hal: 31
3 4 24 29 13 55 5 2 4 3 1 24 Jumlahkan tiap 99 13 15 74 data perbaris 4 74 29 5 55 10 2 25 74 45 . . . . . . 12 4
3,5 7 26,5 53 34 68 3,5 7 Bagi hasil 7 penjumlahan 3,5 12,5 25 112 dengan jumlah 56 ` 44,5 datanya 89 39 78 17 34 32,5 65 13,5 27 59,5 119 . . . . . . 8 16
Perkalian Matriks
3 4 24 29 13 55 5 2 4 3 1 24 99 13 15 74 4 74 29 5 55 10 2 25 74 45 . . . . . . 12 4
3,5 26,5 34 3,5 3,5 12,5 56 44,5 39 17 32,5 13,5 59,5 . . . 8
Matriks normalisasi -0,5 0,5 -2,5 2,5 -21 21 1,5 -1,5 0,5 -0,5 -11,5 11,5 43 -43 -29,5 29,5 -35 35 12 -12 22,5 -22,5 -11,5 11,5 14,5 -14,5 . . . . . . 4 -4
Proses menghitung kovarian matriks C dengan menggunakan metode PCA, karena proses perhitungan matriks C menurut akan menghasilkan ordo atau dimensi matriks yang sangat besar (𝐍 𝟐 x 𝐍 𝟐 atau misalnya 𝟏𝟎𝟎𝟐 𝐱𝟏𝟎𝟎𝟐 dengan 100 x 100 adalah ukuran dimensi per gambar)
10000 x 10
10 x 10000
10000 x 10000
Perkalian Matriks
Gambar 5 Ilustrasi normalisasi data input 6.
Matriks C
Proses perkalian matriks pada Gambar 6 tidak efektif karena terlalu besar jumlah datanya (10000 x 10000). Melalui metode PCA, dengan menggunakan sifat perkalian matriks, maka matriks C diwakilkan dengan menggunakan matriks L dengan ordo berdasarkan jumlah citra M x M (dengan M merupakan jumlah data inputan). Perubahan dari matriks C ke matriks L sebagai penggantinya.
Proses normalisasi matriks dengan cara mengurangkan tiap nilai pada matriks gabungan dengan nilai rata-rata. Kurangi tiap nilai Data dengan Rata-ratanya
Matriks A’
Gambar 6 Ilustrasi kovarian matriks C
Gambar 4 Ilustrasi pencarian rata-rata matriks data input 5.
Matriks A
Matriks A’
Matriks A
Matriks L
10 x 10000
10000 x 10
10 x 10
Gambar 7 Ilustrasi kovarian matriks L 7.
8.
9.
Setelah didapat nilai kovarian matriks lalu proses selanjutnya dengan melakukan perhitungan nilai eigen dan vektor eigen, dimana hasil dari proses ini berupa nilai eigen dan vektor eigen yang saling bersesuaian. Melakukan pengurutan untuk nilai eigen yang didapat pada proses sebelumnya dan melakukan penentuan K best eigen value dan eigen vektor. Nilai K ditentukan sendiri dengan maksimum nilai adalah banyaknya data dari nilai eigen. Melakukan perhitungan nilai eigenface dan eigenspace / weight dari hasil pemilihan K best eigentadi.
Galang Putra Pradhana, Harianto, Madha Christian Wibowo JCONES Vol. 3, No. 1 (2014) Hal: 32
10. Proses terakhir menyimpan data yang didapat dari semua proses tadi pada sebuah direktori untuk digunakan sebagai database pada proses recognition nanti.
A
Cari nilai Eigen Value dan Eigen Vektor
Mulai
Data Gambar Wajah Hasil Pengolahan Citra
Lakukan Sorting dari nilai Eigen Value dan Eigen Vektor
Cari Eigen Face dan Eigen Space
Mengubah tiap data gambar menjadi vektor kolom
Simpan Data
Gabungkan semua vektor kolom data lalu hitung rata - ratanya
Selesai
Normalisasi Matriks
Gambar8 Diagram alir PCA
PROSES RECOGNITION
Hitung kovarian matriks
A
Diagram alir dari proses recognition pada sistem ini dijelaskan pada Gambar 9. Dari diagram alir proses recognition dapat dijelaskan bahwa langkah-langkah recognition adalah sebagai berikut: 1. Sistem akan menampilkan nama-nama yang terdapat pada database, lalu user akan memilih nama orang yang akan dicari. 2. Setelah itu sistem ini akan berjalan untuk memulai pencarian, dengan mulai mengakses kamera. Lalu sistem akan melakukan deteksi wajah. 3. Jika ada wajah yang terdeteksi sistem akan langsung melakukan capture. 4. Mengambil data yang telah tersimpan pada database yang didapat dari proses training. 5. Proses selanjutnya adalah memproyeksikan gambar yang didapat Galang Putra Pradhana, Harianto, Madha Christian Wibowo JCONES Vol. 3, No. 1 (2014) Hal: 33
6.
7.
8.
9.
dengan metode PCA, dengan data yang telah diambil dari database. Berikut langkah yang dilakukan untuk memproyeksikan data gambar dengan PCA: a. Mengubah dimensi gambar, menjadi 1 dimensi (vektor kolom 𝐍 𝟐 𝐱 𝟏), lalu mengurangkan nilai yang didapat dengan rata-rata dari data orang yang terdapat pada database. b. Menghitung eigenspace dari gambar baru yang didapat, dengan mengalikan data 1 dimensi dengan eigenface dari proses training. c. Merekonstruksi data yang baru didapat dari proses tadi, lalu membandingkannya dengan data 1 dimensi. Hasilnya akan dihitung lagi menggunakan proses euclidean distance. d. Lakukan proses diatas sampai semua data pada database training selesai digunakan. Cari data yang memiliki nilai terkecil, lalu bandingkan dengan nilai threshold 1 yang didapatkan dari hasil melakukan percobaan beberapa kali pada sebuah objek pengenalan. Jika hasil lebih kecil dari threshold 1, berarti objek yang ditentukan adalah wajah. Jika nilai terkecil yang terdeteksi lebih dari tershold 1 maka sistem akan mendeteksi objek tersebut sebagai objek lain dan bukan wajah, lalu sistem akan mencari objek baru dengan kembali melakukan deteksi wajah. Lalu proses selanjutnya adalah melakukan pengecekan apakah nilai terkecil tadi kurang dari nilai dari threshold 2. Jika nilai lebih kecil dari threshold 2 maka wajah tersebut merupakan wajah yang ada dalam database, tapi jika nilai lebih dari threshold 2 maka objek tersebut adalah wajah yang tidak terdapat pada database yang sudah ada. Setelah itu proses selanjutnya adalah mencocokkan hasil nama dari objek yang terdeteksi tadi dengan nama yang diinputkan oleh user pada awal proses. Jika hasilnya sama, maka sistem akan menampilkan data dari orang yang terdeteksi itu tadi.
10. Hal ini dilakukan sampai didapatkan orang yang sesuai dengan nama yang dicari oleh user pada awal proses recognition ini.
Mulai
Pilih Nama Orang
Nyalakan Kamera
Deteksi Wajah
B
Tidak
Ada Objek Wajah
Ya
Capture Wajah
Database Training
Load Training data
Proyeksikan data dengan PCA
Tidak
Hasil = Gambar Tes – Gambar Reconstruksi
Euclidean Distance
Semua Database Training
Ya
A
Galang Putra Pradhana, Harianto, Madha Christian Wibowo JCONES Vol. 3, No. 1 (2014) Hal: 34
Kondisi pencahayaan saat training
A B
Kondisi pencahayaan saat recognition
Cari Hasil Terkecil
Ev
Hasil < Treshold 1
Tidak
5 Ev Tidak
Ev
Lux
6 Ev
160 Lux
9 Ev
640 Lux
12 Ev
10000 Lux
6 Ev
160 Lux
9 Ev
1300 Lux
12 Ev
10000 Lux
6 Ev
160 Lux
9 Ev
1300 Lux
12 Ev
10000 Lux
Bukan Wajah
Ya
Hasil < Treshold 2
Lux
80 Lux
Wajah Tidak ada dalam database
Ya
Tidak
Nama input == Hasil pengenalan
Ya
8 Ev
Hasil Pengenalan
640 Lux
Selesai
Gambar9 Diagram alir proses recognition
PENGUJIAN SISTEM Tujuan evaluasi sistem ini adalah untuk mengetahui sistem pada aplikasi apakah sudah dapat berjalan sesuai dengan yang diharapkan. Apakah sistem dapat menemukan wajah dari orang yang dicari, sesuai dengan inputan dari user.
HASIL PENGUJIAN Pada Tabel2 adalah pengujian proses recognition dalam berbagai kondisi pencahayaan yang diukur melalui intensitas cahayanya. Untuk mengukur intensitas cahaya digunakan alat pengukur intensitas cahaya (lux meter/light meter). Pada lux meter akan diatur untuk menggunakan mode Ev. Dimana hasil pembacaan sensor akan dikonversi menjadi satuan intensitas cahaya (Lux). (Sekonic, 2010).
12 Ev
10000 Lux
Hasil dari 20 kali uji Benar : 20 Salah : 0 Benar : 10 Salah : 10 Benar : 0 Salah : 20 Benar : 10 Salah : 10 Benar : 20 Salah : 0 Benar :0 Salah : 20 Benar : 0 Salah : 20 Benar : 5 Salah : 15 Benar : 18 Salah : 2
Pada Tabel 2 dapat dilihat perbedaan intensitas cahaya yang diukur menggunakan lux meter pada proses training dan recognition akan mempengaruhi pada hasil recognition dari tiap wajah. Setelah melalui seluruh prosedur pengujian diatas didapatkan hasil tingkat keberhasilan 100%dari 3 subjek uji. Dari ketiga wajah yang dideteksi menghasilkan hasil data yang sama dengan orang yang dicari.
Tabel 2 Hasil pengenalan wajah pada beberapa kondisi pencahayaan
Galang Putra Pradhana, Harianto, Madha Christian Wibowo JCONES Vol. 3, No. 1 (2014) Hal: 35
Gambar 10 Hasil pendeteksian wajah untuk orang pertama
pengenalan (recognition), setelah itu baru proses recognition dilakukan. Selain itu metode principal component analysis telah berhasil diimplementasikan dengan menggunakan 10 database wajah untuk tiap orang yang telah melakukan pelatihan, aplikasi ini sudah dapat membedakan orang yang telah dikenali oleh sistem dan orang yang belum dikenali oleh sistem.Selama dilakukan dengan jarak intensitas cahaya pada saat melakukan proses pengambilan database (training)dan saat proses pengenalan (recognition) tidak lebih dari 3 Ev atau sekitar 1000 lux.
DAFTAR PUSTAKA Fatta, H. A. (2007). Pengenalan Wajah dengan Algoritma Eigenface, Makalah Tugas Akhir.
Gambar 11 Hasil pendeteksian wajah untuk orang kedua
Mohammed, A. (2004). A Pose Invariant Face Recognition System Using Subspace Techniques. In M. Sarfraz, Computer Aided Intelegence Recognition Techniques and Applications (pp. 169 200). Saudi Arabia: John Wiley and Sons, Ltd. Munir, R. (2004). Pengolahan Citra Digital dengan Pendekatan Algoritmik. (I. Bandung, Ed.) Bandung: Penerbit Informatika.
Gambar 12 Hasil pendeteksian wajah untuk orang ketiga Robotino akan mencari wajah sesuai dengan inputan dari user. Robotino yang telah berhasil menemukan wajah dari orang yang dicari akan menghasilkan output seperti pada Gambar 10 sampai dengan Gambar 12.
Pentland, M. A. (1991). Face Recognition Using Eigenfaces. Rizkananda, B. (2010). Pengolahan Citra Menggunakan Metode Eigen Face. Smith, L. I. (2002). A Tutorial on Principal Component Analysis.
KESIMPULAN Dengan memanfaatkan wajah yang terdeteksi, sistem akan memerintahkan mobile robot untuk bergerak memposisikan wajah sampai pada posisi optimal untuk proses
Galang Putra Pradhana, Harianto, Madha Christian Wibowo JCONES Vol. 3, No. 1 (2014) Hal: 36