SISTEM PENGENALAN WAJAH MENGGUNAKAN NEURO-WAVELET Benni Agung Nugroho, Irna Wijayanti dan Agus Widayanti Jurusan Teknik Informatika, Politeknik Kediri e-mail :
[email protected]
Abstrak Sistem pengenalan wajah dapat diaplikasikan dalam berbagai bidang, misalnya bidang kedokteran, sitem keamanan, perkantoran, pertokoan, absensi dan lain sebagainya. Sistem pengenalan wajah ini menggunakan metode neuro-wavelet, yang merupakan gabungan dari metode wavelet yang berguna untuk mereduksi ukuran citra wajah. Jaringan syaraf tiruan yang berguna untuk pengenalan pola atau pengambilan citi citra wajah dan LVQ (Learning Vector Quantization) yang berguna untuk pelatihan citra wajah, dan diimplementasikan dengan bahasa pemrograman Matlab. Sistem ini menggunakan citra wajah dengan ukuran 40x40 piksel, kemudian citra wajah yang dibuat dengan klasifikasi wavelet, JST (Jaringan syaraf tiruan) dan LVQ tersebut dicocokkan dengan ciri citra wjaah yang ada di database. Secara otomatis program akan menampilkan hasil pengenalan citra wajah, apakah citra wajah yang diujikan dikenali atau tidak. Dengan menggunakan metode ini tingkat pengenalan citra wajah bisa mencapai 90%. Penelitian ini diharapkan dapat memudahkan peneliti selanjutnya untuk mengembangkan program ini menjadi lebih sempurna misalnya dibuat untuk aplikasi presensi pelajar/karyawan, identifikasi wajah korban atau pelaku kejahatan pada bidang kepolisian, identifikasi wajah costumer yang ditangkap oleh kamera pengintai/ cctv untuk keamanan pertokoan, bank atau tempat-tempat belanja dan lain-lain. Kata kunci : Pengenalan wajah, wavelet, Jaringan syaraf tiruan dan LVQ
1. PENDAHULUAN Sistem pengenalan wajah saat ini sudah digunakan dibeberapa tempat, namun selama ini di Politeknik Kediri belum ada aplikasi yang dapat mengenali wajah seseorang seperti absensi mahasiswa, dosen, karyawan maupun kebutuhan lain yang berhubungan dengan pengenalan wajah. Hal ini yang mendorong peneliti untuk membuat penelitian yaitu sebuah program pengenalan wajah yang nantinya dapat di gunakan dikampus Politeknik Kediri sebagai aplikasi absensi mahasiswa, dosen dan karyawan. Absensi menggunakan sistem pengenalan wajah dapat meningkatkan kedisiplinan mahasiswa, dosen dan karyawan dalam menjalankan perkuliahan dan tugasnya. Dengan adanya absensi pengenalan wajah, tidak ada lagi sistem titip absen yang biasanya dilakukan mahasiswa jika tidak dapat hadir dalam perkuliahan karena setiap orang mempunyai bentuk wajah (ciri wajah) yang berbeda. Pada penelitian penelitian ini peneliti hanya melakukan studi kasus pada mahasiswa Teknik Informatika semester VI angkatan 2008 Politeknik Kediri untuk pengambilan data.
2. METODOLOGI PENELITIAN 2.1 Jaringan Syaraf Tiruan Learning Vector Quantization (LVQ) LVQ diterapkan pada saat melakukan pengenalan pola atau klasifikasi dengan cara melakukan pembelajaran berulang-ulang hingga batas tertentu. Batas-batas tersebut dapat meliputi : a. Jumlah epoch > max epoch epoch adalah perulangan besar atau secara global b. Nilai learning rate (α) >= max error learning rate (α) adalah derajat pembelajaran yang digunakan untuk merubah nilai dari bobot [0.......1].
max error adalah maksimal error yang diperbolehkan contohnya [max error < 10-2] Algoritma LVQ (Learning Vector Quantization) : 1) Tentukan max epoch, misal max epoch = 500. Tentukan max error, misal max error = 0,000001. Tentukan nilai learning rate (α) awal [0….1] misal α = 0,8. Tentukan nilai faktor pengurang [0…1] fp = 0,5. 2) Lakukan perulangan While (epoch < max epoch) or (α ≥ max error) 3) Hitung suatu pola lebih dekat ke kelas mana, menggunakan rumus euclidean. D(kelas) = (√∑ (xi – wim)2) (1) Keterangan : i = input ke i (0…..34) m = suatu kelas (0…..9) 4) Bila suatu pola masuk ke kelas yang benar, lakukan update pada bobotnya dengan rumus : wim(baru) = wim (lama) + α (xi – wim) (2) Bila pola tidak masuk ke kelas yang seharusnya, maka update bobotnya dengan rumus : wim(baru) = wim (lama) - α (xi – wim) (3) 5) Update learning rate : α (baru) = α (lama) - α * faktor pengurang (4) 6) Naikkan nilai epoch Epoch = epoch +1 (5) 7) Kembali ke langkah 2 8) Bila langkah 2 sudah terpenuhi maka selesailah pelatihan.
X || X – W1 ||
1
Y_in1
F1
Y 1
X 2
|| X – W2||
Y_in2
F2
Y 2
X 3
Gambar 1 Arsitektur jaringan LVQ
Keterangan
:
X F Y_in Y W || x – w ||
= Vektor masukan (x1, x2, ..., xn) = Lapisan kompetitif = Masukan ke lapisan kompetitif = Keluaran (Output) = Vektor bobot untuk unit keluaran = Selisih nilai jarak euclidean antara vektor input dengan bobot untuk unit Output
2.2 Transformasi Wavelet Transformasi wavelet merupakan perangkat untuk melakukan dekomposisi pada citra menjadi beberapa resolusi yang berbeda .Transformasi wavelet dapat digunakan untuk mengekstrak ciri didalam citra ke dalam berbagai frekuensi dan skala yang berbeda. Ketika dilakukan dekomposisi komponen aproksimasi dan komponen detail dapat dipisahkan. Untuk melakukan dekomposisi pada citra, digunakan tranformasi wavelet diskret 2D (2D DWT) yang akan mendekomposisi citra ke dalam komponen aproksimasi (Lj) dan komponen detail yang dibagi menjadi komponen horisontal (Dj hor), vertikal (Dj vert) dan diagonal (Dj diag) yang dinyatakan dalam persamaan berikut : Lj(m,n) = [Hx*[Hy*Lj-1]↓2,1]↓1,2(m,n) Dj vert(m,n) = [Hx*[Gy*Lj-1]↓2,1]↓1,2(m,n) Dj hor(m,n) =[Gx*[Hy*Lj-1]↓2,1]↓1,2(m,n) Dj diag(m,n) =[Gx*[Gy*Lj-1]↓2,1]↓1,2(m,n)
(6)
Dimana * menyatakan operator konvolusi, ↓2,1 merupakan subsampling sepanjang baris, ↓1,2 merupakan subsampling sepanjang kolom, sedangkan H dan G merupakan filter low pass dan high pass. Sedangkan j menyatakan dekomposisi pada level tertentu Pada penelitian ini, transformasi wavelet digunakan untuk mengekstrak ciri pada citra latih, citra uji dan citra yang akan dideteksi dan diidentifikasi. 2.3 Integral projection Integral projection merepresentasikan sebingkai citra sebagai hasil penjumlahan nilai – nilai piksel baik secara vertikal ataupun horizontal. Dari hasil penjumlahan piksel yang didapat dari sebuah objek dapat dipisahkan dari objek lain disekelilingnya
Gambar 2 Integral Projection Contoh Penghitungan integral projection : 5 0 2 5 x1 = 5+0+2+5 = 12 y1 = 5+2+3+1 = 11 2 8 6 9 x2 = 2+8+6+9 = 25 y2 = 0+8+2+6 = 16 3 2 7 3 x3 = 3+2+7+3 = 15 y3 = 2+6+7+4 = 19 1 6 4 0 x4 = 1+6+4+0 = 11 y4 = 5+9+3+0 = 17 Hasil Penghitungan Integral Projection = [ 12, 25, 15, 11, 11, 16, 19, 17 ]
3. HASIL DAN PEMBAHASAN Pada sistem pengenalan wajah menggunakan neuro-wavelet ini, terdapat beberapa proses mulai dari penyiapan citra wajah hingga dapat mengenali citra wajah mahasiswa. Proses-proses yang dilakukan antara lain : a. Menyiapkan citra wajah Citra wajah yang diambil berupa video yang diambil melalui webcam menggunakan software CyberLink YouCam. Kemudian video tersebut dicapture menggunakan software Presto! VideoWorks 6, hasil capture video tersebut berupa file citra wajah bertipe jpg. Kemudian citra wajah tersebut di crop mulai dari ujung kepala hingga dagu menggunakan software FSViewer39.
Gambar 3 Contoh citra wajah yang di crop Bedakan citra wajah antara mahasiswa satu dengan lainnya dengan memasukkan citra wajah pada folder angka yang terdiri dari dua digit secara berurutan. Nama folder tersbut menunjukkan kelas pemilik wajah.
Gambar 4 Kumpulan kelas citra wajah Setiap folder (kelas) citra_latih terdapat sepuluh macam pose yang berbeda. Folder (kelas) uji terdapat lima macam pose yang berbeda.
Gambar 5 Pose citra wajah pelatihan b. Proses pelatihan Proses pelatihan dilakukan dengan memasukkan parameter pelatihan yaitu jumlah kelas, jumlah epoch dan max error. Maka program akan menghitung citra latih sesuai parameter yang dimasukkan untuk mendapatkan ciri citra wajah tiap kelas. Sebelum menentukan ciri citra wajah tiap kelas, perlu dilakukan langkah-langkah sebagai berikut : resize citra latih, ubah citra latih menjadi grayscale, melakukan normalisasi brightness pada setiap citra latih, mereduksi citra latih menggunakan metode wavelet kemudian dihitung menggunakan integral projection. Dari hasil reduksi ditentukan citra yang digunakan sebagai data target awal dan data pelatihan. Setelah ditentukan data target dan data pelatihan, dicari ciri setiap kelas menggunakan jaringan syaraf tiruan dengan metode LVQ (Learning Vector Quantization). Hasilnya didapatkan target atau ciri dari masing-masing kelas citra latih. c. Proses pengujian Proses pengujian dilakukan dengan memasukkan citra uji baik melalui folder uji ataupun di luar folder uji yang telah disediakan oleh penulis. Program akan menghitung citra uji yang dicocokkan dengan ciri setiap kelas yang ada di database menggunakan rumus euclidean. Sebelum mencocokkan citra uji dengan ciri citra wajah pada tiap kelas, perlu dilakukan langkah-langkah sebagai berikut : resize citra uji, ubah citra uji menjadi grayscale, melakukan normalisasi brightness citra uji, mereduksi citra uji menggunakan metode wavelet kemudian dihitung menggunakan integral projection. Dari hasil reduksi citra uji dilakukan proses pencocokan dengan ciri citra latih untuk ditentukan masuk di kelas manakah citra uji yang dimasukkan ke dalam program. Tabel tingkat pengenalan dengan citra latih Dari proses pelatihan didapatkan ciri citra wajah tiap kelas yang dibandingkan dengan semua citra latih yang ada di dalam database, sehingga dapat menghasilkan prosentase tingkat pengenalan. Terdapat 10 pose pada tiap kelas citra latih. Jika diimplementasikan dalam tabel berdasarkan jumlah data dan prosentase pengenalan seperti dibawah ini : Tabel 1 Tingkat pengenalan dengan citra latih Kelas 1 2 3 4 5 6
Prosentase Pengenalan (%) 100,00 100,00 100,00 100,00 100,00 100,00
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
100,00 100,00 100,00 100,00 100,00 100,00 100,00 100,00 100,00 100,00 100,00 100,00 100,00 99,00 99,00 96,80 94,95 91,65 87,60
Tabel tingkat pengenalan dengan citra uji Dari ciri yang didapatkan dari proses pelatihan, dibandingkan dengan data uji yang berada di database sehingga diperoleh prosentase tingkat pengenalan pada citra wajah yang diujikan. Tabel 2 Tingkat pengenalan dengan citra wajah pada folder uji Kelas 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
Prosentase Pengenalan (%) 100,00 100,00 100,00 100,00 100,00 100,00 100,00 100,00 100,00 100,00 100,00 100,00 100,00 100,00 100,00 100,00 100,00 100,00 100,00 95 94,28 90,9 87,82 84,16 80,8
Grafik tingkat pengenalan dengan citra latih Dari tabel 1 dapat dilihat bahwa jumlah kelas yang dimasukkan akan mempengaruhi prosentase pengenalan. Dapat dilihat bahwa jika jumlah kelas yang dimasukkan berjumlah 25, maka prosentase pengenalannya turun 1 %. Nilai prosentase ini menurun hingga kelas 25 yaitu 12,4 %. Hal ini disebabkan
oleh banyaknya kelas yang dicocokkan oleh program. Sehingga dapat ditarik kesimpulan bahwa semakin besar jumlah kelas maka prosentase pengenalan semakin kecil.
Prosentase
Grafik Tingkat Pengenalan Citra Pelatihan
1 Jumlah Data
Gambar 6 Grafik tingkat pengenalan dengan citra latih Grafik tingkat pengenalan dengan citra uji Dari Tabel 2 dapat dilihat bahwa jumlah kelas yang dimasukkan akan mempengaruhi prosentase pengenalan. Dapat dilihat bahwa jika jumlah kelas yang dimasukkan berjumlah 25, maka prosentase pengenalannya turun 5 %. Nilai prosentase ini menurun hingga kelas 25 yaitu 19,2 %. Hal ini disebabkan oleh banyaknya kelas yang dicocokkan oleh program. Sehingga dapat ditarik kesimpulan bahwa semakin besar jumlah kelas maka prosentase pengenalan semakin kecil. Prosentase Tingkat Pengenalan Citra Uji
1
Prosentase
2 3 4
5 Jumlah Data
6
Gambar 7 Grafik tingkat pengenalan dengan citra Wajah pada folder uji Gambar 8 Citra wajah bisa dikenali yang terdapat pada folder uji Sedangkan keluaran dari program dapat dilihat dari Gambar 8 sampai dengan Gambar 10
Gambar 9 Citra wajah yang tidak bisa dikenali oleh program
Gambar 10Hasil pengujian jika folder citra uji bukan dari folder uji
4. KESIMPULAN 1. 2.
3.
Dari penelitian ini dapat penulis simpulkan bahwa : Sistem Pengenalan Wajah Menggunakan Neuro-Wavelet dapat mengenali citra wajah mahasiswa yang dicocokkan dengan ciri citra wajah yang berada didalam database. Sistem Pengenalan Wajah Menggunakan Neuro-Wavelet dapat menampilkan keterangan hasil pengujian seperti citra wajah yang berhasil dikenali, citra uji, nama pemilik wajah, kelas yang dikenali, jarak yang dikenali, kelas seharusnya, nama wajah seharusnya dan jarak dari kelas seharusnya dan prosentase Algoritma yang digunakan pada Sistem Pengenalan Wajah Menggunakan Neuro-Wavelet yaitu wavelet dan JST sangat baik karena prosentase hasil pengenalan sebesar 90 %.
5. SARAN Pada penelitian ini masih banyak kekurangan, diharapkan pada penelitian selanjutnya dilakukan perbaikan pada program ini diantaranya : 1. Nama pemilik citra wajah masih diinputkan secara manual melalui program, diharapkan pada penelitian selanjutnya nama pemilik citra wajah dapat diketahui melalui nama folder pemilik citra wajah. 2. Proses pelatihan dilakukan pada folder kelas yang berurutan. Jika folder kelas tidak ada, program tidak dapat melakukan pelatihan. Namun program belum bisa menampilkan message box error jika folder kelas atau file citra latih tidak ditemukan di dalam database. Pada penelitian selanjutnya jika folder kelas atau file citra latih tidak ditemukan, dapat ditampilkan message box error. 3. Dalam pengembangan program selanjutnya sebaiknya menggunakan bahasa pemrograman lain, agar program ini menjadi aplikasi yang bisa berdiri sendiri misalnya Delphi, Visual Basic atau bahasa pemrograman lainnya. 4. Untuk pengembangan selanjutnya sebaiknya dibuat aplikasi dengan menggunakan webcam yang dilengkapi sistem deteksi wajah.
UCAPAN TERIMA KASIH Pada kesempatan ini penulis ingin menyampaikan hormat dan terima kasih yang sebesar-besarnya atas bantuan dan dukungan dari berbagai pihak yang memberikan masukan dalam penyusunan penelitian ini : 1.
2. 3. 4. 5.
Manajemen Politeknik Kediri, Direktur Drs. H.M. Zaini M.M., Pembantu Direktur Ir. H. IGG Heru Marwanto, M.M., Drs. Bambang Sukodiono, M.T., Drs. Hasyim Nawawie, S.H., M.Si., dan Ketua SPK Drs. Bambang Sumarjono, M.M. yang telah memberikan dukungan dan kesempatan kepada penulis untuk menyelesaikan penelitian ini. Seluruh rekan kerja, jajaran dosen, laboran dan staf di Politeknik Kediri. Terima kasih atas dukungan dan bantuannya selama penulis menyelesaikan penelitian Mahasiswa Politeknik Kediri seluruh angkatan. Keluarga besar di Kediri yang telah memberikan dukungannya baik secara material maupun nonmaterial. Seluruh pihak yang tidak dapat penulis sebutkan satu per satu, yang telah membantu penulis dalam menyelesaikan penelitian ini.
DAFTAR PUSTAKA [1] Al Fatta, Hanif. 2009. Pengenalan Wajah Dengan Algoritma Eigen Face. Yogyakarta, pdf. Hlm: 1-9 [2] Bullinaria, John. 2007. Learning Vector Quatization (LVQ). Guest Lecture 2. Hlm: 12-16 [3] Chahyati, dina. 2011. Dekomposisi Citra Dengan Wavelet Haar. Hlm: 1-4 [4] Chahyati, dina. 2003. Wavelet. Draft Tesis II, pdf. Hlm: 1-7 [5] S. Wahyono, Eko and Ernastuti. 2009. Identifikasi Nomor Polisi Mobil Menggunakan metode Jaringan Saraf buatan learning vector Quantization. Depok, pdf. Hlm: 6-8