Prosiding SENTIA 2010 – Politeknik Negeri Malang
Volume 2 ~ ISSN: 2085-2347
APLIKASI BACKPROPAGATION NEURAL NETWORK PADA WAJAH FRONTAL UNTUK MENDETEKSI KESESUAIAN Cahyo Darujati1, Mauridhi Hery Purnomo2 1
Jaringan Cerdas Multimedia Teknik Elektro, 2Fakultas Teknologi Industri, ITS 1
[email protected], 2
[email protected]
Abstrak Deteksi wajah adalah tahapan awal yang sangat penting di dalam proses sistem pengenalan wajah yang digunakan untuk sistem biometrik. Deteksi wajah juga dapat digunakan untuk pencarian dan pengindeksan citra atau video yang di dalamnya terdapat wajah manusia dalam berbagai ukuran, posisi, dan latar belakang. Makalah ini menjelaskan tentang sebuah sistem pendeteksi wajah yang menggunakan multi-layer backpropagation dan pengambilan data menggunakan Discrete cosine transform (DCT). Sistem ini mendapatkan kemampuannya dengan cara belajar dari contoh yang diberikan. Training dilakukan dengan menggunakan backpropagation dan pengambilan data dengan metode DCT untuk meminimalkan jumlah data yang digunakan dalam training. Hasil eksperimen menunjukkan bahwa 100 data terpenting yang diperoleh dari DCT dapat meningkatkan kecepatan training dan pendeteksian yang baik. Kata kunci : deteksi wajah, DCT, backpropagation, neural network
1. Pendahuluan Deteksi wajah adalah tahapan awal yang sangat penting di dalam proses sistem pengenalan wajah yang digunakan untuk sistem biometrik. Deteksi wajah juga dapat digunakan untuk pencarian dan pengindeksan citra atau video yang di dalamnya terdapat wajah manusia dalam berbagai ukuran, posisi, dan latar belakang. Makalah ini menjelaskan tentang sebuah sistem pendeteksi wajah yang menggunakan multi-layer backpropagation dan pengambilan data menggunakan Discrete cosine transform (DCT). Diskrit Cosine Transform (DCT) Sebuah diskrit cosine transform (DCT) mengungkapkan urutan finitely banyak titik data dalam bentuk fungsi kosinus jumlah berosilasi pada frekuensi yang berbeda. DCTs adalah penting untuk berbagai aplikasi dalam bidang sains dan teknik, dari kompresi lossy audio dan gambar (mana kecil komponen frekuensi tinggi dapat dibuang), untuk metode spektral untuk solusi numerik persamaan diferensial parsial. Penggunaan sinus kosinus daripada fungsi sangat penting dalam aplikasi ini: untuk kompresi, ternyata bahwa fungsi kosinus jauh lebih efisien (seperti yang dijelaskan di bawah ini, lebih sedikit dibutuhkan untuk perkiraan sinyal biasa), sedangkan untuk persamaan diferensial yang mengekspresikan cosinus pilihan tertentu kondisi batas.
Secara khusus, sebuah DCT adalah transformasi berhubungan dengan Fourier mirip dengan Transformasi Fourier diskrit (DFT), tetapi hanya menggunakan bilangan real. DCTs yang setara dengan sekitar dua kali DFTs panjang, operasi pada data nyata bahkan dengan simetri (sejak Transformasi Fourier yang nyata dan bahkan fungsi yang nyata dan datar), di mana dalam beberapa varian masukan dan / atau data output dialihkan oleh setengah sampel. Ada delapan standar DCT varian, yang empat adalah biasa. Varian yang paling umum dari transformasi kosinus diskrit adalah tipe-II DCT, yang sering disebut "si DCT"; inversnya, jenis-III DCT, adalah Sejalan sering disebut hanya "invers DCT" atau "IDCT". Dua terkait transformasi adalah mengubah sinus diskrit (DST), yang setara dengan DFT riil dan fungsi-fungsi aneh, dan yang dimodifikasi transformasi kosinus diskrit (MDCT), yang didasarkan pada data yang tumpang tindih DCT. Aplikasi DCT, dan khususnya DCT-II, yang sering digunakan dalam pemrosesan sinyal dan gambar, terutama untuk kompresi data lossy, karena memiliki kuat "energi pemadatan" properti (Rao dan Yip, 1990): sebagian besar informasi sinyal cenderung terkonsentrasi dalam beberapa komponen frekuensi rendah dari DCT, mendekati Karhunen-Loève mentransformasikan (yang optimal dalam arti decorrelation) untuk sinyal berdasarkan batas-batas tertentu proses Markov. Seperti yang dijelaskan di
D - 68
Prosiding SENTIA 2010 – Politeknik Negeri Malang
Volume 2 ~ ISSN: 2085-2347
bawah ini, ini berasal dari kondisi batas yang tersirat dalam fungsi kosinus.
Gambar 1. DCT-II (bawah) dibandingkan dengan DFT (tengah) dari sebuah sinyal input (atas).
kedua cosinus dan sinus (dalam bentuk eksponensial kompleks). Namun, perbedaan terlihat ini hanyalah konsekuensi dari perbedaan yang lebih dalam: sebuah DCT menyiratkan kondisi batas yang berbeda dari DFT atau mengubah terkait lainnya. Yang berhubungan dengan Fourier transformasi yang beroperasi pada fungsi di atas domain yang terbatas, seperti DFT atau DCT atau deret Fourier, dapat dianggap sebagai secara implisit mendefinisikan perpanjangan yang berfungsi di luar domain. Yaitu, sekali Anda menulis fungsi f (x) sebagai penjumlahan sinusoid, Anda dapat mengevaluasi bahwa sum di setiap x, bahkan untuk yang asli x di mana f (x) tidak ditentukan. The DFT, seperti deret Fourier, menyiratkan periodik perpanjangan dari fungsi asli. Sebuah DCT, seperti transformasi kosinus, menyiratkan bahkan perluasan dari fungsi semula.
Mengubah yang terkait, kosinus diskrit yang dimodifikasi mengubah, atau MDCT (berdasarkan pada DCT-IV), digunakan dalam AAC, Vorbis, WMA, dan MP3 audio kompresi. DCT juga banyak digunakan dalam menyelesaikan persamaan diferensial parsial dengan metode spektral, di mana varian yang berbeda sesuai dengan DCT bahkan sedikit berbeda / ganjil kondisi batas pada kedua ujung dari array. DCT juga erat kaitannya dengan polinomial Chebyshev, dan cepat algoritma DCT (di bawah) digunakan dalam pendekatan Chebyshev fungsi sewenang-wenang oleh serangkaian polinomial Chebyshev, misalnya dalam kuadratur ClenshawCurtis. JPEG DCT digunakan dalam kompresi gambar JPEG, MJPEG, MPEG, DV, dan Theora kompresi video. Di sana, dua-dimensi DCT-II dari N \ times N blok dihitung dan hasilnya terkuantisasi dan entropi dikodekan. Dalam kasus ini, N adalah biasanya 8 dan DCT-II rumus akan diterapkan ke setiap baris dan kolom blok. Hasilnya adalah yang tingginya 8 × 8 mengubah koefisien array di mana (0,0) elemen (atas-kiri) adalah DC (nol-frekuensi) komponen dan entri dengan meningkatnya indeks vertikal dan horisontal mewakili nilai-nilai vertikal dan horisontal yang lebih tinggi frekuensi spasial. Seperti apapun yang berhubungan dengan Fourier transform, discrete cosine transforms (DCTs) mengungkapkan fungsi atau sinyal dalam hal dari hasil penjumlahan sinusoid dengan frekuensi dan amplitudo yang berbeda. Seperti Transformasi Fourier diskrit (DFT), sebuah DCT beroperasi pada suatu fungsi pada jumlah terbatas titik data diskrit. Perbedaan yang jelas antara DCT dan DFT adalah bahwa mantan hanya menggunakan fungsi kosinus, sedangkan yang kedua menggunakan
Gambar 2. Ilustrasi bahkan implisit / ganjil perluasan dari DCT input data, untuk N = 11 data titik (titik merah), untuk empat jenis yang paling umum DCT (tipe I-IV). Namun, karena beroperasi pada DCTs terbatas, rangkaian diskrit, dua permasalahan timbul, yang tidak berlaku untuk transformasi kosinus kontinu. Pertama, kita harus menentukan apakah fungsi ini bahkan atau ganjil pada kedua sisi kiri dan kanan batas-batas dari domain (yaitu min-n dan max-n batas-batas dalam definisi di bawah ini, masing-masing). Kedua, kita harus menentukan di titik mana fungsi bahkan atau ganjil. Secara khusus, mempertimbangkan abcd urutan empat titik data dengan jarak yang sama, dan mengatakan bahwa kita tentukan bahkan meninggalkan batas. Ada dua kemungkinan yang masuk akal: data baik bahkan tentang sampel, dalam hal ini bahkan ekstensi dcbabcd, atau bahkan data tentang titik tengah-
D - 69
Prosiding SENTIA 2010 – Politeknik Negeri Malang
Volume 2 ~ ISSN: 2085-2347
tengah antara a dan titik sebelumnya, dalam hal ini bahkan ekstensi dcbaabcd ( a adalah ulang). Pilihan ini mengarah pada semua variasi standar dan juga DCTs sinus diskrit mentransformasikan (DSTs). Masing-masing dapat berupa batas bahkan atau ganjil (2 pilihan per batas) dan dapat simetris tentang titik data atau titik tengah-tengah antara dua titik data (2 pilihan per batas), untuk total 2 \ times2 \ times2 \ times2 = 16 kemungkinan. Setengah dari kemungkinan ini, yang mana batas kiri bahkan, sesuai dengan 8 jenis DCT; separuh lainnya adalah 8 jenis DST. Kondisi batas yang berbeda ini sangat mempengaruhi aplikasi dari mengubah, dan mengarah pada sifat-sifat unik yang berguna untuk berbagai macam tipe DCT. Kebanyakan secara langsung, ketika menggunakan transformasi berhubungan dengan Fourier untuk memecahkan persamaan diferensial parsial dengan metode spektral, kondisi batas secara langsung ditetapkan sebagai bagian dari masalah yang dipecahkan. Atau, untuk MDCT (berdasarkan pada jenis-IV DCT), kondisi batas sangat erat terlibat dalam MDCT milik kritis waktu-domain aliasing pembatalan. Dalam cara yang lebih halus, kondisi batas bertanggung jawab untuk "pemadatan energi" sifat-sifat yang membuat DCTs berguna untuk kompresi gambar dan audio, karena batas-batas mempengaruhi laju konvergensi dari setiap Fourier-seperti seri. Secara khusus, diketahui bahwa setiap diskontinuitas dalam suatu fungsi mengurangi laju konvergensi dari deret Fourier, sehingga lebih sinusoid yang diperlukan untuk mewakili fungsi dengan akurasi tertentu. Prinsip yang sama mengatur kegunaan DFT dan lainnya untuk mengubah sinyal kompresi: fungsi yang halus adalah, semakin sedikit istilah-istilah dalam DCT DFT atau diminta untuk mewakili secara akurat, dan semakin dapat ditekan. (Di sini, kita berpikir tentang DFT atau DCT sebagai perkiraan untuk seri atau kosinus Fourier serangkaian fungsi, masing-masing, untuk berbicara tentang "kelancaran.") Namun, periodisitas implisit dari DFT berarti bahwa diskontinuitas biasanya terjadi pada batas-batas: segmen acak sinyal tidak mungkin memiliki nilai yang sama di kedua sisi kiri dan kanan batas-batas. (Masalah yang sama muncul karena DST, di mana kondisi batas kiri aneh menyiratkan kemandegan untuk setiap fungsi yang tidak terjadi menjadi nol pada batas.) Sebaliknya, di mana kedua batas DCT bahkan selalu menghasilkan ekstensi kontinu di batas-batas (meskipun kemiringan umumnya kontinu). Inilah sebabnya mengapa DCTs, dan khususnya DCTs jenis I, II, V, dan VI (jenis yang memiliki dua bahkan batas-batas) biasanya berperforma lebih baik dibandingkan kompresi sinyal DFTs dan DSTs. Dalam prakteknya, jenis-II DCT biasanya lebih disukai untuk aplikasi tersebut, sebagian karena alasan kemudahan komputasi.
Backpropagation Backpropagation, atau penyebaran dari kesalahan, adalah metode pengajaran umum jaringan saraf buatan bagaimana melakukan tugas tertentu. Stuart Russell and Peter Norvig (1980), Arthur Earl Bryson, Yu-Chi Ho (1969). Ini adalah metode belajar yang diawasi, dan merupakan pelaksanaan aturan Delta. Memerlukan seorang guru yang tahu, atau dapat menghitung, output yang diinginkan untuk setiap masukan. Hal ini paling berguna untuk feed-maju jaringan (jaringan yang tidak memiliki umpan balik, atau sederhana, yang tidak memiliki koneksi yang loop). Istilah adalah singkatan untuk "mundur propagasi dari kesalahan". Backpropagation mensyaratkan bahwa fungsi aktivasi yang digunakan oleh neuron buatan (atau "node") adalah terdiferensiasi.
Gambar 3. Bagan Backpropagation Neural Network Teknik backpropagation: 1.) Menyajikan pelatihan sampel ke jaringan saraf. 2.) Membandingkan output jaringan dengan keluaran yang diinginkan dari sampel. Hitung kesalahan dalam setiap output neuron. 3.) Untuk setiap neuron, menghitung apa output seharusnya, dan faktor skala, seberapa jauh lebih rendah atau lebih tinggi output harus disesuaikan agar sesuai dengan keluaran yang diinginkan. Ini adalah kesalahan lokal. 4.) Mengatur bobot masing-masing neuron untuk menurunkan kesalahan lokal. 5.) Tetapkan "menyalahkan" untuk kesalahan lokal untuk neuron pada tingkat sebelumnya, memberikan tanggung jawab lebih besar untuk neuron dihubungkan oleh bobot yang lebih kuat. 6.) Ulangi dari langkah 3 pada neuron pada tingkat sebelumnya, dengan menggunakan masing-masing's "menyalahkan" sebagai kesalahan. 2. Metode Didalam percobaan ini akan dilakukan pengambilan gambar wajah frontal sebanyak 10 buah gambar berwarna dengan ukuran setiap gambar lebar 92 pixel dan tinggi 112 pixel sehingga setiap gambar memiliki pixel sebanyak 92x112=10.304 pixel (10.304 data).
D - 70
Prosiding SENTIA 2010 – Politeknik Negeri Malang
Volume 2 ~ ISSN: 2085-2347
-0.0001 -0.0016 -0.0020 -0.0027 -0.0013 -0.0013 -0.0016 0.0098 0.0284 0.0375 -0.0080 -0.0071 0.0101 0.0098 0.0139 0.0322 -0.0095 -0.0099
Gambar 4. Sepuluh Wajah Frontal. Setelah gambar wajah frontal dengan berbagai pose tersedia, setiap kelompok gambar wajah 1-5 dan wajah 6-10 masing-masing diambil 2 gambar wajah yaitu: Gambar wajah 1,2,6 dan 7. Gambar tersebut diambil 100 data terpentingnya untuk ditrainingkan pada sistem untuk diberikan bobotnya. Sistem menggunakan Backpropagation dengan jumlah hidden layer sebanyak 75. Setelah Gambar Wajah 1,2,6 dan 7 di training, kemudian dilanjutkan melakukan ujicoba semua gambar wajah. Berikut ini adalah hasil pengolahan untuk uji Gambar Wajah 1 yang sudah di training. ---MULAI--Pengenalan wajah oleh Cahyo Darujati - 2208.205.202 p= Columns 1 through 6 0.1029 0.0975 0.0886 0.0756 0.0680 0.0655 0.0842 0.0856 0.0872 0.0862 0.0845 0.0823 0.3662 0.3661 0.3675 0.3668 0.3651 0.3636 0.3767 0.3763 0.3758 0.3760 0.3751 0.3741 Columns 7 through 12 0.0641 0.0604 0.0544 0.0779 0.0753 0.0774 0.3589 0.3439 0.3224 0.3726 0.3697 0.3616 Columns 13 through 18 0.0253 0.0324 0.0346 0.0076 0.0116 0.0160 -0.0449 -0.0441 -0.0427 -0.0527 -0.0539 -0.0532 Columns 19 through 24 0.0300 0.0280 -0.0118 0.0141 0.0113 0.0016 0.0084 0.0340 0.0238 -0.0418 -0.0174 0.0133 Columns 25 through 30 -0.0104 -0.0086 -0.0044 -0.0013 -0.0015 0.0003 0.0239 0.0237 0.0202 0.0131 0.0142 0.0153 Columns 31 through 36 0.0042 0.0074 0.0071 -0.0055 -0.0045 -0.0024 -0.0031 -0.0040 -0.0036 0.0112 0.0111 0.0115
0.0489 0.0762 0.3000 0.3433 0.0351 0.0184 -0.0424 -0.0537
-0.0107 -0.0001 0.0239 0.0138 0.0009 0.0033 0.0057 0.0154 0.0043 -0.0009 -0.0039 0.0103
0.0151 0.0018 -0.0448 -0.0528 0.0321 0.0205 -0.0376 -0.0534
-0.0108 -0.0012 0.0238 0.0132 0.0051 0.0043 -0.0185 0.0101 0.0004 0.0007 -0.0054 0.0114
0.0186 0.0037 -0.0440 -0.0529 0.0283 0.0197 -0.0193 -0.0512
-0.0127 -0.0010 0.0236 0.0141 0.0046 0.0048 -0.0351 -0.0112 -0.0022 0.0009 -0.0049 0.0110
Columns 37 through 42 -0.0038 -0.0047 -0.0009 -0.0003 0.0011 -0.0013
Columns 43 through 48 -0.0032 -0.0016 0.0012 -0.0030 -0.0047 -0.0050 -0.0077 -0.0078 -0.0062 -0.0109 -0.0102 -0.0114 Columns 49 through 54 -0.0031 -0.0040 -0.0023 0.0018 0.0015 -0.0002 -0.0334 -0.0347 0.0084 -0.0177 -0.0346 -0.0002
0.0035 -0.0038 -0.0066 -0.0114
0.0010 -0.0016 -0.0099 -0.0121
-0.0000 0.0001 -0.0203 -0.0133
-0.0038 -0.0006 0.0079 0.0001
-0.0031 -0.0008 0.0084 0.0022
-0.0066 -0.0013 0.0092 0.0016
Columns 55 through 60 -0.0120 -0.0118 -0.0034 -0.0015 -0.0020 -0.0028 0.0085 0.0084 0.0114 0.0021 0.0020 0.0020
0.0018 -0.0035 0.0221 0.0033
0.0043 -0.0031 0.0316 0.0081
0.0038 -0.0044 0.0260 0.0231
Columns 61 through 66 -0.0039 -0.0030 -0.0023 -0.0014 -0.0020 -0.0011 -0.0031 -0.0031 -0.0033 0.0068 0.0068 0.0059
0.0017 -0.0009 -0.0043 0.0066
0.0044 -0.0007 -0.0040 0.0055
0.0016 -0.0001 -0.0043 0.0057
Columns 67 through 72 -0.0017 0.0008 0.0054 0.0005 0.0012 -0.0002 -0.0065 -0.0173 -0.0235 0.0064 0.0057 0.0013
0.0097 0.0021 -0.0150 -0.0105
-0.0049 0.0019 -0.0034 -0.0039
-0.0037 0.0018 -0.0026 -0.0041
Columns 73 through 78 -0.0019 -0.0016 0.0023 0.0012 0.0005 -0.0000 -0.0026 -0.0021 -0.0020 -0.0038 -0.0049 -0.0037
0.0068 0.0002 -0.0018 -0.0047
0.0059 0.0008 0.0001 -0.0050
-0.0005 0.0009 0.0094 -0.0051
Columns 79 through 84 -0.0037 -0.0043 0.0012 0.0007 -0.0008 -0.0010 0.0135 0.0026 0.0050 -0.0015 0.0065 -0.0028
0.0005 -0.0005 0.0046 -0.0027
0.0006 -0.0006 0.0043 -0.0034
-0.0003 -0.0004 0.0044 -0.0027
Columns 85 through 90 -0.0032 -0.0026 0.0021 0.0004 0.0004 -0.0002 0.0044 0.0036 0.0031 -0.0032 -0.0025 -0.0013
0.0066 -0.0000 -0.0042 -0.0014
-0.0007 0.0006 -0.0055 -0.0045
-0.0015 0.0017 0.0042 -0.0100
Columns 91 through 96 -0.0000 0.0022 0.0013 -0.0007 -0.0009 -0.0004 -0.0026 -0.0021 -0.0020 0.0033 0.0034 0.0044
0.0013 -0.0001 -0.0026 0.0039
0.0029 -0.0001 -0.0029 0.0047
0.0007 -0.0004 -0.0023 0.0046
Columns 97 through 100 -0.0030 -0.0035 0.0062 -0.0006 -0.0008 0.0001 -0.0021 0.0026 0.0002 0.0044 0.0049 0.0072
0.0029 -0.0025 -0.0064 0.0112
net = Neural Network object:
D - 71
Prosiding SENTIA 2010 – Politeknik Negeri Malang
Volume 2 ~ ISSN: 2085-2347
architecture: numInputs: 1 numLayers: 2 biasConnect: [1; 1] inputConnect: [1; 0] layerConnect: [0 0; 1 0] outputConnect: [0 1]
Setiap Gambar Wajah diuji sebanyak 3(tiga) kali dengan hasil, sbb:
numOutputs: 1 (read-only) numInputDelays: 0 (read-only) numLayerDelays: 0 (read-only) subobject structures: inputs: {1x1 cell} of inputs layers: {2x1 cell} of layers outputs: {1x2 cell} containing 1 output biases: {2x1 cell} containing 2 biases inputWeights: {2x1 cell} containing 1 input weight layerWeights: {2x2 cell} containing 1 layer weight
Tabel 1. Hasil Ujicoba 3.
functions: adaptFcn: 'trains' divideFcn: 'dividerand' gradientFcn: 'gdefaults' initFcn: 'initlay' performFcn: 'mse' plotFcns: {'plotperform','plottrainstate','plotregression'} trainFcn: 'trainlm' parameters: adaptParam: .passes divideParam: .trainRatio, .valRatio, .testRatio gradientParam: (none) initParam: (none) performParam: (none) trainParam: .show, .showWindow, .showCommandLine, .epochs, .time, .goal, .max_fail, .mem_reduc, .min_grad, .mu, .mu_dec, .mu_inc, .mu_max, .lr, .mc weight and bias values: IW: {2x1 cell} containing 1 input weight matrix LW: {2x2 cell} containing 1 layer weight matrix b: {2x1 cell} containing 2 bias vectors other: name: '' userdata: (user information) uji WAJAH BARU SIAPA YA ? 1.jpg c= 0 0 0.5000 1.0000 ---SELESAI---
Tampilan sebagai berikut:
Kesimpulan dan Saran
Percobaan ini menunjukkan bahwa dengan pengambilan 100 buah data terpenting pada setiap gambar yang memiliki lebih dari 10.304 data (<1%) dan melakukan pelatihan terhadap 4 gambar dari 10 gambar yang ada (40%) serta hanya menggunakan hidden layer sebanyak 75 buah baik untu pelatihan maupun ujicoba menunjukkan hasil kesesuaian yang baik yaitu diatas 95%. Metode ini mungkin juga dapat dikembangkan untuk menguji kesesuaian suara. Daftar Pustaka: Arthur Earl Bryson, Yu-Chi Ho (1969): Applied optimal control: optimization, estimation, and control. Blaisdell Publishing Company or Xerox College Publishing. pp. 481. Stuart Russell and Peter Norvig (1980): Artificial Intelligence A Modern Approach. p. 578. "The most popular method for learning in multilayer networks is called Back-propagation. It was first invented in 1969 by Bryson and Ho, but was more or less ignored until the mid-1980s." Jain, A.K. (1989): Fundamentals of Digital Image Processing, Englewood Cliffs, NJ, PrenticeHall, 1989. N. Ahmed, T. Natarajan, and K. R. Rao (1974): Discrete Cosine Transform, IEEE Trans. Computers, 90-93, Jan 1974. Pennebaker, W.B., and J.L. Mitchell. (1993): JPEG Still Image Data Compression Standard, New York, NY, Van Nostrand Reinhold, 1993. Chapter 4.
Gambar . Kesesuaian mencapai 99.99%
D - 72