Penerapan Algoritma Quickprop pada Jaringan Syaraf Tiruan untuk Mendeteksi Wajah Manusia

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.


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: setyo.n@gmail.com

Email 2: setyo_n@yahoo.com


Penerapan Algoritma Quickprop pada Jaringan Syaraf Tiruan untuk Mendeteksi Wajah Manusia

Setyo Nugroho

Jurusan Teknik Informatika, STMIK STIKOM Balikpapan 76121, email: setyo.n@gmail.com


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:

(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-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:

(2)

di mana:

* : perubahan bobot

: perubahan bobot pada epoch

sebelumnya

* : adalah learning rate

: derivatif error

: 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 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 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

Detection Rate

False Positive

Wajah

non-wajah

total

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

Jumlah

Data training

Error

Waktu training (detik)

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




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.


Versi pdf dari makalah ini dapat di-download dari http://www.snpages.info/files/u1/sitia2005/naskah-SITIA2005-rev1b.pdf

Comments

trims

Penelitian yang bagus. Saya juga jadi ingin meneliti menggunakan metode JST.

Post new comment

The content of this field is kept private and will not be shown publicly.
CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Copy the characters (respecting upper/lower case) from the image.