Penerapan Algoritma Quickprop pada Jaringan Syaraf Tiruan untuk Mendeteksi Wajah Manusia

6

Click here to load reader

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 learning

Transcript of Penerapan Algoritma Quickprop pada Jaringan Syaraf Tiruan untuk Mendeteksi Wajah Manusia

Page 1: Penerapan Algoritma Quickprop pada Jaringan Syaraf Tiruan untuk Mendeteksi Wajah Manusia

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]

Page 2: Penerapan Algoritma Quickprop pada Jaringan Syaraf Tiruan untuk Mendeteksi Wajah Manusia

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-

Page 3: Penerapan Algoritma Quickprop pada Jaringan Syaraf Tiruan untuk Mendeteksi Wajah Manusia

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

Page 4: Penerapan Algoritma Quickprop pada Jaringan Syaraf Tiruan untuk Mendeteksi Wajah Manusia

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

Page 5: Penerapan Algoritma Quickprop pada Jaringan Syaraf Tiruan untuk Mendeteksi Wajah Manusia

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

Page 6: Penerapan Algoritma Quickprop pada Jaringan Syaraf Tiruan untuk Mendeteksi Wajah Manusia

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.