penerapan algoritma quickprop pada jaringan syaraf tiruan untuk mendeteksi wajah manusia
DESCRIPTION
Penerapan Algoritma Quickprop pada Jaringan Syaraf Tiruan untuk Mendeteksi Wajah Manusia, Setyo Nugroho.Seminar on Intelligent Technology and Its Applications (SITIA) 2005, 2 Mei 2005, Jurusan Teknik Elektro, Institut Teknologi Sepuluh Nopember (ITS), Surabaya.Abstract - Face detection is one of the most importantpreprocessing step in face recognition systems used inbiometric identification. Face detection can also beused in searching and indexing still image or videocontaining faces in various size, position, andbackground. This paper describes a face detectionsystem using multi-layer perceptron and Quickpropalgorithm for training. The system achieves its abilityby means of learning by examples. The training isperformed using active learning method to minimizethe amount of data used in training. Experimentalresults show that Quickprop algorithm and activelearning method can improve the training speedsignificantly.Keywords: Quickprop, neural networks, facedetection, active learningAbstrak – Deteksi wajah adalah salah satu tahappraproses yang sangat penting di dalam sistempengenalan wajah yang digunakan untuk sistembiometrik. Deteksi wajah juga dapat digunakan untukpencarian dan pengindeksan citra atau video yang didalamnya terdapat wajah manusia dalam berbagaiukuran, posisi, dan latar belakang. Makalah inimenjelaskan tentang sebuah sistem pendeteksi wajahyang menggunakan multi-layer perceptron dan dilatihdengan algoritma Quickprop. Sistem ini mendapatkankemampuannya dengan cara belajar dari contoh yangdiberikan. Training dilakukan dengan menggunakanmetode active learning untuk meminimalkan jumlahdata yang digunakan dalam training. Hasileksperimen menunjukkan bahwa algoritma Quickpropdan metode active learning dapat meningkatkankecepatan training.Kata Kunci : Quickprop, jaringan syaraf tiruan,deteksi wajah, active learningTRANSCRIPT
MAKALAH SEMINAR
Penerapan Algoritma Quickprop pada Jaringan Syaraf Tiruan
untuk Mendeteksi Wajah Manusia
diajukan untuk
The 6th Seminar on Intelligent Technology and Its Applications
( SITIA 2005 )
Jurusan Teknik Elektro
Institut Teknologi Sepuluh Nopember Surabaya
oleh:
Setyo Nugroho
Jurusan Teknik Informatika
STMIK STIKOM Balikpapan
Alamat kontak:
STMIK STIKOM Balikpapan
Jl Kapten P. Tendean 2A, Balikpapan 76121
Email 1: [email protected]
Email 2: [email protected]
1
Penerapan Algoritma Quickprop pada Jaringan Syaraf Tiruan
untuk Mendeteksi Wajah Manusia
Setyo Nugroho Jurusan Teknik Informatika, STMIK STIKOM Balikpapan 76121, email: [email protected]
Abstract - Face detection is one of the most important
preprocessing step in face recognition systems used in
biometric identification. Face detection can also be
used in searching and indexing still image or video
containing faces in various size, position, and
background. This paper describes a face detection
system using multi-layer perceptron and Quickprop
algorithm for training. The system achieves its ability
by means of learning by examples. The training is
performed using active learning method to minimize
the amount of data used in training. Experimental
results show that Quickprop algorithm and active
learning method can improve the training speed
significantly.
Keywords: Quickprop, neural networks, face
detection, active learning
Abstrak – Deteksi wajah adalah salah satu tahap
praproses yang sangat penting di dalam 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 perceptron dan dilatih
dengan algoritma Quickprop. Sistem ini mendapatkan
kemampuannya dengan cara belajar dari contoh yang
diberikan. Training dilakukan dengan menggunakan
metode active learning untuk meminimalkan jumlah
data yang digunakan dalam training. Hasil
eksperimen menunjukkan bahwa algoritma Quickprop
dan metode active learning dapat meningkatkan
kecepatan training.
Kata Kunci : Quickprop, jaringan syaraf tiruan,
deteksi wajah, active learning
1. PENDAHULUAN
Teknologi pengenalan wajah semakin banyak
diaplikasikan dalam sistem pengenalan biometrik,
pencarian dan pengindeksan database citra dan video
digital, sistem keamanan, konferensi video, dan
interaksi manusia dengan komputer. Pendeteksian
wajah (face detection) merupakan salah satu tahap
awal yang sangat penting sebelum dilakukan proses
pengenalan wajah (face recognition).
Masalah deteksi wajah dapat dirumuskan sebagai
berikut: diberikan masukan sebuah citra digital
sembarang, maka sistem akan mendeteksi apakah ada
wajah manusia atau tidak di dalam citra tersebut. Jika
ada maka sistem akan memberitahu berapa jumlah
wajah yang ditemukan dan dimana lokasi wajah-wajah
tersebut di dalam citra. Keluaran dari sistem adalah
posisi subcitra berisi wajah-wajah yang berhasil
dideteksi.
Deteksi wajah juga dapat dipandang sebagai masalah
klasifikasi pola dimana inputnya adalah suatu citra dan
outputnya adalah label kelas dari citra tersebut. Dalam
hal ini terdapat dua label kelas, yaitu wajah dan non-
wajah [4].
Teknik-teknik pengenalan wajah yang dilakukan
selama ini banyak yang menggunakan asumsi bahwa
data wajah yang tersedia memiliki ukuran yang sama
dan latar belakang yang seragam. Di dunia nyata,
asumsi ini tidak selalu berlaku karena wajah dapat
muncul di dalam citra dengan berbagai ukuran,
berbagai posisi, dan latar belakang yang bervariasi [2].
1.1. Supervised Learning
Tujuan pada pembelajaran supervised learning adalah
untuk menentukan nilai bobot-bobot koneksi di dalam
jaringan sehingga jaringan dapat melakukan pemetaan
(mapping) dari input ke output sesuai dengan yang
diinginkan. Pemetaan ini ditentukan melalui satu set
pola contoh atau data pelatihan (training data set).
Setiap pasangan pola p terdiri dari vektor input xp dan
vektor target tp. Setelah selesai pelatihan, jika
diberikan masukan xp seharusnya jaringan
menghasilkan nilai output tp. Besarnya perbedaan
antara nilai vektor target dengan output aktual diukur
dengan nilai error yang disebut juga dengan cost
function:
∑∑∈
−=
Pp n
p
n
p
n stE2)(
2
1
(1)
di mana n adalah banyaknya unit pada output layer.
Tujuan dari training ini pada dasarnya sama dengan
mencari suatu nilai minimum global dari E.
1.2. Algoritma Quickprop
Algoritma Quickprop merupakan hasil pengembangan
dari algoritma backpropagation standar. Pada
algoritma Quickprop dilakukan pendekatan dengan
asumsi bahwa kurva fungsi error terhadap masing-
2
masing bobot penghubung berbentuk parabola yang
terbuka ke atas, dan gradien dari kurva error untuk
suatu bobot tidak terpengaruh oleh bobot-bobot yang
lain [1]. Dengan demikian perhitungan perubahan
bobot hanya menggunakan informasi lokal pada
masing-masing bobot.
Perubahan bobot pada algoritma Quickprop
dirumuskan sebagai berikut:
)()1(
)(
)()(
tw
Et
w
E
tw
E
tw
Etw
∂
∂−−
∂
∂
∂
∂
+∂
∂−=∆ ε
)1(* −∆ tw (2)
di mana:
)(tw∆ : perubahan bobot
)1( −∆ tw : perubahan bobot pada epoch
sebelumnya
ε : adalah learning rate
)(tw
E
∂
∂ : derivatif error
)1( −∂
∂t
w
E : derivatif error pada epoch
sebelumnya
Pada eksperimen dengan masalah XOR dan
encoder/decoder [1], terbukti bahwa algoritma
Quickprop dapat meningkatkan kecepatan training.
2. CARA PENELITIAN
Data yang digunakan dalam penelitian ini terdiri dari
sekumpulan citra untuk pelatihan (training data set)
dan sekumpulan citra untuk pengujian (testing data
set). Jumlah citra wajah yang digunakan sebanyak
3000 buah dengan ukuran 20x20 pixel. Sedangkan
citra non-wajah diambil dari file-file citra yang tidak
terdapat wajah di dalamnya.
Jaringan syaraf tiruan (JST) yang digunakan pada
sistem ini menggunakan jenis multi-layer perceptron.
Arsitektur yang digunakan diadaptasi dari hasil
penelitian Rowley dkk. [3], namun lebih
disederhanakan.
Lapisan input terdiri dari 400 unit input, yang
menerima masukan dari nilai grayscale pixel 20x20
dari subcitra yang akan dideteksi. Sebelum dijadikan
input untuk JST, nilai grayscale yang berkisar dari 0
sampai 255 dinormalisasi menjadi antara –1 dan 1.
Lapisan output terdiri dari sebuah unit dengan nilai
keluaran berkisar antara –1 dan 1. Pada training data
set didefinisikan nilai 1 untuk data wajah dan –1 untuk
data non-wajah.
Lapisan tersembunyi (hidden layer) terdiri dari total
25+16=41 unit. Bagian pertama terhubung dengan
lapisan input yang membentuk 25 area berukuran 4x4
pixel. Bagian kedua terhubung dengan lapisan input
yang membentuk 16 area berukuran 5x5 pixel.
Secara keseluruhan jaringan ini memiliki 883 bobot
penghubung, sudah termasuk bias. Pada sistem
Rowley dkk. [3] yang lebih kompleks, jumlah bobot
penghubungnya mencapai 4357.
2.1. Teknik Active Learning
Dengan teknik active learning [4], training dilakukan
secara bertahap. Pada tahap pertama training dimulai
dengan menggunakan sedikit data non-wajah. Pada
tahap berikutnya, data training non-wajah ditambah
sedikit demi sedikit. Namun data tambahan tersebut
diseleksi hanya untuk data tertentu saja, yaitu data
yang yang dideteksi sebagai wajah (false positive)
pada hasil training tahap sebelumnya. Dengan
demikian jumlah data training yang digunakan untuk
jaringan syaraf tiruan akan lebih sedikit. Karena data
training yang digunakan lebih sedikit, waktu yang
diperlukan untuk proses training juga akan lebih
singkat. Gambar 1 menunjukkan penerapan teknik
active learning untuk sistem pendeteksi wajah.
Gambar 1: Teknik Active Learning untuk Sistem Pendeteksi
Wajah
2.2. Detektor Wajah
Bagian detektor wajah ini menggunakan arsitektur
jaringan syaraf yang sama dengan yang digunakan
untuk training. Bobot penghubung yang digunakan
diambil dari bobot terakhir yang dihasilkan pada
proses training. Hasil deteksi akan diputuskan sebagai
wajah jika output dari JST lebih dari 0, dan diputuskan
False Positive Hasil Deteksi
Deteksi Wajah
Training JST
Data Training
Bobot JST Hasil Training
Pilih random
Koleksi Contoh Data Non-Wajah
Koleksi Contoh Data Wajah
3
sebagai non-wajah jika output JST kurang dari atau
sama dengan 0.
2.3. Ekstraksi Subcitra
Pada citra yang akan dideteksi, posisi wajah bisa
berada di mana saja. Pengklasifikasi jaringan syaraf
tiruan pada detektor wajah memerlukan input citra
20x20 pixel. Karena itu digunakan window 20x20
pixel yang digeser melalui seluruh daerah citra.
Detektor akan memeriksa satu persatu subcitra yang
dilalui oleh window tersebut.
Pada citra yang dideteksi, wajah bisa memiliki ukuran
yang bervariasi. Karena itu citra akan diperkecil
secara bertahap dengan skala perbandingan 1:1,2
sebagaimana dilakukan pada [3]. Pada setiap ukuran
citra yang diperkecil, window 20x20 pixel akan
digeser melalui seluruh area citra.
2.4. Preprocessing
Citra yang akan digunakan sebagai training data set
akan mengalami tahap-tahap preprocessing berikut:
• Histogram Equalization, untuk memperbaiki
kontras citra.
• Masking, yaitu menghilangkan bagian sudut-
sudut citra untuk mengurangi variasi citra
sehingga memperkecil dimensi data.
• Normalisasi, yaitu mengkonversi nilai
intensitas grayscale citra sehingga memiliki
range dari –1 sampai dengan 1.
Tahap-tahap preprocessing yang sama juga dilakukan
pada saat proses pendeteksian wajah.
Gambar 2: Contoh data wajah yang telah mengalami
preprocessing
2.5. Merging
Pada saat dilakukan deteksi wajah pada citra, biasanya
sebuah wajah akan terdeteksi pada beberapa lokasi
yang berdekatan. Lokasi-lokasi ini disebut dengan
kandidat wajah. Untuk itu perlu dilakukan proses
penggabungan (merging), yaitu menyatukan lokasi
kandidat-kandidat wajah yang berdekatan.
3. HASIL DAN PEMBAHASAN
Untuk mengukur evaluasi unjuk kerja dari detektor
wajah, pada umumnya digunakan dua parameter, yaitu
detection rate dan false positive rate [6]. Detection
rate adalah perbandingan antara jumlah wajah yang
berhasil dideteksi dengan jumlah seluruh wajah yang
ada. Sedangkan false positive rate adalah banyaknya
subcitra non-wajah yang dideteksi sebagai wajah.
Gambar 3 menunjukkan contoh hasil deteksi yang
dilakukan pada beberapa citra pengujian. Pengujian
dilakukan dengan data uji citra yang berasal dari
Massachusetts Institute of Technology (MIT) yang
terdiri dari 23 file citra yang secara keseluruhan berisi
149 wajah (data uji MIT-23). Kumpulan citra ini
pertama kali dipublikasikan pada [5]. Pada data uji ini
diperoleh hasil detection rate sebesar 71,14% dan
false positives sebanyak 62. Hasil ini diperoleh dari
training yang menggunakan 3000 data wajah dan 5200
data non-wajah yang diperoleh melalui metode active
learning.
Gambar 3: Contoh hasil deteksi wajah pada beberapa citra
uji yang juga digunakan pada [5]
Tabel 1 menunjukkan hasil deteksi yang pernah
dilakukan oleh para peneliti lain dengan menggunakan
data uji MIT-23. Perbandingan ini tidak bisa dijadikan
patokan mutlak untuk menyimpulkan bahwa satu
metode lebih baik dari metode yang lain, karena
faktor-faktor berikut [2]:
• data set yang digunakan untuk training tidak
sama
• jumlah data yang digunakan untuk training
tidak sama
3.1. Pengaruh Jumlah Data Training yang
Digunakan
Tabel 2 menunjukkan pengaruh jumlah data training
yang digunakan terhadap hasil deteksi. Tabel ini
berdasarkan hasil deteksi pada suatu citra berisi 15
4
wajah dan memiliki total 790.797 window. Terlihat
bahwa semakin banyak data training non-wajah yang
digunakan, semakin kecil angka false positive yang
dihasilkan. Hal ini menunjukkan bahwa dengan data
yang semakin lengkap, hasil belajar sistem akan
semakin baik.
Tabel 1. Beberapa hasil deteksi wajah
pada data uji MIT-23
Metode Detection
Rate
False
Positive
Support vector machines
(SVM) (Osuna, 1997) 74,2% 20
Distribution-based dan
clustering (Sung, Poggio,
1994)
79,9% 5
Neural Networks (Rowley,
1998) 84,5% 8
Kullback relative
information (Lew,
Huijsmans, 1996)
94,1% 64
3.2. Pengaruh Algoritma Quickprop pada
Kecepatan Training
Tabel 3 menunjukkan perbandingan waktu training
yang diperlukan antara training yang menggunakan
algoritma backpropagation standar dengan training
yang menggunakan algoritma Quickprop. Terlihat
bahwa dengan jumlah data training yang semakin
besar, algoritma Quickprop memberikan peningkatan
kecepatan yang signifikan.
3.3. Pengaruh Metode Active Learning
Tabel 4 menunjukkan perbandingan antara hasil
training yang menggunakan metode active learning,
dengan hasil training yang menggunakan data yang
dipilih secara random. Jumlah data yang digunakan
adalah sama. Terlihat bahwa teknik active learning
memberikan hasil yang lebih baik. Ini berarti bahwa
teknik active learning dapat memilih data yang benar-
benar perlu, sehingga dapat meminimalkan jumlah
data training yang digunakan.
Tabel 2. Pengaruh Jumlah Data Training
pada Unjuk Kerja Deteksi Wajah
Jumlah data training
Wajah non-
wajah total
Detection
Rate
False
Positive
1000 1000 2000 15/15 42
1000 1200 2200 15/15 32
1000 1400 2400 15/15 31
1000 1600 2600 15/15 24
1000 1800 2800 15/15 23
1000 2000 3000 15/15 19
1000 2200 3200 15/15 10
1000 2400 3400 15/15 5
1000 2600 3600 15/15 4
1000 2800 3800 15/15 2
1000 3000 4000 15/15 2
1000 3200 4200 15/15 2
1000 3400 4400 15/15 2
1000 3600 4600 15/15 1
1000 3800 4800 15/15 1
1000 4000 5000 15/15 1
Tabel 3. Pengaruh Algoritma Quickprop
pada Kecepatan Training
Waktu training (detik) Jumlah
Data
training
Error Backprop
standar Quickprop
2000 0.05 49 12
3000 0.05 649 96
4000 0.05 4664 867
Tabel 4. Pengaruh Active Learning
pada Unjuk Kerja Deteksi Wajah
Jumlah Data
Training Random Data Active Learning
wajah non-
wajah total
Detection
Rate
False
Positive
Detection
Rate
False
Positive
3000 5200 8200 63,76% 732 71,14% 62
3000 3000 6000 62,42% 1160 71,14% 201
2
4. KESIMPULAN
Dari penelitian ini dapat diambil kesimpulan
sebagai berikut:
1. Jaringan syaraf tiruan dapat dimanfaatkan
untuk melakukan deteksi wajah pada citra
digital.
2. Pada sistem deteksi wajah yang berbasis
contoh, hasil yang diperoleh sangat tergantung
dari kualitas dan banyaknya contoh yang
diberikan.
3. Pada training dengan jumlah data yang besar,
algoritma Quickprop dapat memberikan
peningkatan kecepatan training yang
signifikan.
4. Metode active learning dapat digunakan untuk
meminimalkan jumlah data training yang
digunakan, sehingga mempercepat proses
training.
REFERENSI
[1] Fahlman, S.E., 1988, “An Empirical Study of
Learning Speed in Back-Propagation
Networks”, Technical Report CMU-CS-88-
162, Carnegie Mellon University, USA.
[2] Hjelmas, E., Low, B.K., 2001, “Face
Detection: A Survey”, Computer Vision and
Image Understanding. 83, pp. 236-274.
[3] Rowley, H., Baluja, S., Kanade, T., 1998,
“Neural Network-Based Face Detection”, IEEE
Trans. Pattern Analysis and Machine
Intelligence, vol. 20, no. 1.
[4] Sung, K.K., 1996, “Learning and Example
Selection for Object and Pattern Detection”,
AITR 1572, Massachusetts Institute of
Technology AI Lab.
[5] Sung, K.K., Poggio, T., 1994, “Example-Based
Learning for View-Based Human Face
Detection”, Technical Report AI Memo 1521,
Massachusetts Institute of Technology AI Lab.
[6] Yang, M.H., Kriegman, D., Ahuja, N., 2002,
“Detecting Faces in Images: A Survey”, IEEE
Trans. Pattern Analysis and Machine
Intelligence, vol. 24, no. 1.