UNIVERSITAS BINA NUSANTARA
Program Ganda Teknik Informatika – Matematika
PERANCANGAN PROGRAM SIMULASI DETEKSI WAJAH DENGAN SUPPORT VECTOR MACHINES – VIOLA JONES
Andoko NIM: 0600653013
ABSTRAK Dengan tingkat intelektual sekarang ini, manusia tidak dapat memberikan definisi yang spesifik mengenai wajah manusia, sehingga metode pemrograman hard computing tidaklah mungkin diterapkan untuk menyelesaikan masalah ini. Di lain pihak, support vector machines menawarkan suatu model matematika yang dapat mengolah data (input dan ouput) yang diberikan, dan melakukan proses generalisasi terhadap data tersebut. Pada tulisan ini, akan dibahas penyelesaian masalah deteksi wajah dengan metode viola-jones, yaitu metode yang menggabungkan support vector machines, algoritma boosting, dan cascade classifier dan menerapkannya terhadap suatu sembarang citra digital, untuk mendapatkan posisi-posisi wajah pada citra tersebut.
Kata Kunci: Face detection, support vector machines, boosting algorithms
KATA PENGANTAR
Puji syukur kepada Tuhan Yang Maha Esa atas berkat dan rahmatnya, sehingga penulis dapat menyusun dan menyelesaikan makalah ini. Pada halaman ini, penulis ingin mengucapkan banyak terima kasih kepada: 1. Bapak Gerardus Polla, Prof., Dr., Drs., M.App.Sc. selaku Rektor Universitas Bina Nusantara yang senantiasa memberikan dorongan untuk kemajuan mahasiswanya. 2. Bapak Wikaria Gazali, S.Si., MT. selaku Dekan FMIPA Universitas Bina Nusantara, yang memberikan dukungan moriil kepada penulis agar dapat menyelesaikan skripsi ini. 3. Bapak Ngarap Imanuel Manik, Drs., M Kom. selaku Ketua Jurusan FMIPA Universitas Bina Nusantara sekaligus Dosen Pembimbing materi yang telah memberikan pengarahanpengarahan dalam materi maupun teknis penulisan kepada penulis. 4. Bapak Gintoro S.Kom, MM selaku Dosen Pembimbing yang telah memberikan bimbingan dalam penulisan dan perancangan program kepada penulis. 5. Orang tua penulis yang telah mendukung secara moril dan senantiasa mengingatkan penulis agar dapat menyelesaikan skripsi ini. 6. Rekan-rekan sekelas jurusan TI-MAT angkatan 2002, rekan-rekan dari litbang google India, dan semua pihak yang tidak dapat disebutkan satu per satu, yang telah memberikan bantuan yang sangat berarti dalam proses penyusunan skripsi ini.
Penulis menyadari bahwa makalah ini masih jauh dari kesempurnaan. Oleh karena itu, penulis mengharapkan masukan kritik dan saran yang membangun dari semua pihak. Semoga makalah ini dapat bermanfaat bagi para pembacanya.
Jakarta, 27 Juli 2007 Penulis
Andoko 0600653013
iv
DAFTAR ISI Halaman Judul Luar ………………………………………………………………………. i Halaman Judul Dalam …………………………………………………………………….. ii Abstrak ……………………………………………………………………………………. iii Kata Pengantar ……………………………………………………………………………. iv Daftar Isi ………………………………………………………………………………….. v Daftar Gambar ……………………………………………………………………………. vii Daftar Tabel ……………………………………………………………………………….. viii BAB 1 : PENDAHULUAN …………………………………………………………….. 1 1.1 Latar Belakang Masalah ………………………………………………….. 1 1.2 Ruang Lingkup Masalah ………………………………………………….. 2 1.3 Perumusan Masalah ……………………………………………………….. 3 1.4 Tujuan dan Manfaat Penelitian …………………………………………… 3 1.5 Metodologi Penelitian …………………………………………………….. 4 1.6 Sistematika Penulisan ……………………………………………………... 4 BAB 2 : LANDASAN TEORI …………………………………………………………. 6 2.1 Machine Learning ………………………………………………………… 6 2.2 Supervised Learning ………………………………………………………. 7 2.3 Linear Learning Machines ……………………………………………….... 7 2.3.1 Rosenblatt’s Perceptron ……………………………………………8 2.3.2 Dual dari Linear Machines ………………………………………... 9 2.4 Trik Kernel ………………………………………………………………… 10 2.5 Support Vector Machines …………………………………………………. 11 2.5.1 Sejarah Support Vector Machines ………………………………… 11 2.5.2 Maximal Margin Classifier ……………………………………….. 12 2.5.3 Soft Margin Optimisation …………………………………………. 12 2.6 Meta-Algoritma …………………………………………………………… 13 2.7 Algoritma Boosting ……………………………………………………….. 13 2.7.1 AdaBoost ………………………………………………………….. 14 2.8 Perancangan Software ……………………………………………………... 14 2.8.1 System Development Life Cycle …………………………………… 15 2.9 Simulasi Komputer ………………………………………………………. 18 BAB 3 : ANALISIS DAN PERANCANGAN PROGRAM …………………………… 20 3.1 Perancangan Program Aplikasi ……………………………………………. 20 3.1.1 Gambaran Umum Program Aplikasi ……………………………… 20 3.1.2 Spesifikasi Rumusan Perancangan ………………………………... 20 3.1.3 Use-Case Diagram ………………………………………………… 21 3.2 Perancangan Modul ……………………………………………………….. 22 3.2.1 Perancangan Menu ………………………………………………… 22 3.2.2 Perancangan Menu Detect From Image …………………………... 22 3.2.3 Perancangan Menu Detect From Video …………………………… 24 3.2.4 Perancangan Author Dialog ……………………………………….. 24 3.3 Spesifikasi Program ……………………………………………………….. 25
v
3.3.1 3.3.2
Perancangan Spesifikasi Proses Form Detect From Image ……….. 25 Perancangan Spesifikasi Proses Form Detect From Video ………...26
BAB 4 : IMPLEMENTASI DAN EVALUASI PROGRAM …………………………… 27 4.1 Implementasi Sistem ………………………………………………………. 27 4.1.1 Spesifikasi Hardware ……………………………………………… 27 4.1.2 Spesifikasi Software ………………………………………………. 27 4.1.3 Tampilan Layar Utama ……………………………………………. 28 4.1.4 Tampilan Layar Form Detect From Image ……………………….. 28 4.1.5 Tampilan Layar Form Detect From Video ………………………... 32 4.1.6 Tampilan Layar Author Dialog …………………………………… 34 4.2 Evaluasi Hasil Program …………………………………………………….35 BAB 5 : KESIMPULAN DAN SARAN ………………………………………………… 42 5.1 Kesimpulan ……………………………………………………………….. 42 5.2 Saran ………………………………………………………………………. 43 DAFTAR PUSTAKA …………………………………………………………………….. 44 DAFTAR RIWAYAT HIDUP LAMPIRAN
vi
DAFTAR GAMBAR Gambar 2.1 Sebuah vektor memisahkan bidang menjadi 2 daerah Gambar 2.2 Ilustrasi fungsi kernel dalam menyederhanakan klasifikasi Gambar 2.3 Waterfall Model Gambar 3.1 Use-Case Diagram Program Aplikasi ViolaJonesSimulator Gambar 3.2 Rancangan Menu Gambar 3.3 Rancangan Form Detect From Image Gambar 3.4 Rancangan Form Training Gambar 3.5 Rancangan Author Dialog Gambar 4.1 Tampilan Layar Utama Gambar 4.2 Tampilan Layar awal Form Detect From Image Gambar 4.3 Tampilan Layar Form Detect From Image Saat Memilih File Gambar 4.4 Tampilan Layar Form Detect From Image Sebelum Proses Deteksi Gambar 4.5 Tampilan Layar Form Detect From Image Sesudah Proses Deteksi Gambar 4.6 Tampilan Layar Awal Form Detect From Video Saat Memilih File Gambar 4.7 Tampilan Layar Form Detect From Video Gambar 4.8 Tampilan Layar Form Detect From Video Sebelum Proses Deteksi Gambar 4.9 Tampilan Layar Form Detect From Video Saat Proses Deteksi Berlangsung Gambar 4.10 Tampilan Layar Form About Gambar 4.11 Hasil proses deteksi citra “bukan wajah 01.jpg” dan “bukan wajah 02.jpg” Gambar 4.12 Hasil proses deteksi citra “bukan wajah 03.jpg” dan “jenggot.jpg” Gambar 4.13 Hasil proses deteksi citra “kacamata.jpg” Gambar 4.14 Hasil proses deteksi citra “lena.jpg” Gambar 4.15 Hasil proses deteksi citra “patung.jpg” Gambar 4.16 Hasil proses deteksi citra “ramai 01.jpg” Gambar 4.17 Hasil proses deteksi citra “ramai 02.jpg” Gambar 4.18 Hasil proses deteksi citra “ramai 03.jpg” Gambar 4.19 Hasil proses deteksi citra “rambut.jpg” dan “topi.jpg”
vii
8 11 17 20 21 22 23 24 27 28 29 30 30 31 32 32 33 34 36 36 37 37 38 38 39 39 39
DAFTAR TABEL Tabel 2.1 Algoritma perceptron (bentuk primal) Tabel 2.2 Algoritma perceptron (bentuk dual) Tabel 4.1 Tabel data citra yang digunakan Tabel 4.2 Tabel hasil proses deteksi
viii
9 10 34 35