PENGEMBANGAN APLIKASI PENGENAL WAJAH MENGGUNAKAN METODE EIGENFACE DENGAN OPENCV
AHMAD BASUKI 41507110040
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS ILMU KOMPUTER UNIVERSITAS MERCU BUANA JAKARTA 2012
PENGEMBANGAN APLIKASI PENGENAL WAJAH MENGGUNAKAN METODE EIGENFACE DENGAN OPENCV
Laporan Tugas Akhir Diajukan Untuk Melengkapi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer
AHMAD BASUKI 41507110040
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS ILMU KOMPUTER UNIVERSITAS MERCU BUANA JAKARTA 2012
LEMBAR PERNYATAAN
Yang bertanda tangan dibawah ini: NIM
:
41507110040
Nama
:
AHMAD BASUKI
Judul Skripsi
:
PENGEMBANGAN APLIKASI PENGENAL WAJAH MENGGUNAKAN METODE EIGENFACE DENGAN OPENCV
Menyatakan bahwa skripsi tersebut diatas adalah hasil karya saya sendiri dan bukan plagiat. Apabila ternyata ditemukan di dalam laporan skripsi saya terdapat unsur plagiat, maka saya siap mendapatkan sanksi akademik yang terkait hal tersebut.
Jakarta, 3 Januari 2012
(Ahmad Basuki)
LEMBAR PERSETUJUAN
NIM
:
41507110040
Nama
:
AHMAD BASUKI
Judul Skripsi
:
PENGEMBANGAN APLIKASI PENGENAL WAJAH MENGGUNAKAN METODE EIGENFACE DENGAN OPENCV
SKRIPSI INI TELAH DIPERIKSA DAN DISETUJUI
JAKARTA, 25 Februari 2012
Abdusy Syarif, ST.,MT Pembimbing
Tri Daryanto, S.Kom., MT
Anis Cherid, MTI
Koord. Tugas Akhir Teknik Informatika
KaProdi Teknik Informatika
KATA PENGANTAR
Puji syukur kehadirat Allah SWT yang telah melimpahkan segala rahmat dan karuniaNya, sehingga penulis dapat menyelesaikan laporan tugas akhir yang mrupakan salah satu persyaratan untuk menyelesaikan program studi strata satu (S1) pada Jurusan Teknik Informatika Universitas Mercu Buana. Penulis menyadari bahwa laporan akhir ini masih jauh dari sempurna. Karena itu kritik dan saran yang bersifat membangun akan senantiasa penulis terima dengan senang hati. Dengan segala keterbatasan, penulis menyadari pula bahwa laporan tugas akhir ini tidak akan terwujud tanpa bantuan, bimbingan, dan dorongan dari berbagai pihak. Untuk itu dengan segala kerendahan hati, penulis menyampaikan ucapan terima kasih kepada: 1. Bapak Abdusy Syarif, ST., MT selaku pembimbing tugas akhir pada Jurusan Teknik Informatika Universitas Mercu Buana, yang telah membimbing dan membantu penulis dengan kerendahan hatinya. 2. Bapak Anis Cherid, MTI selaku Kepala Program Studi pada Jurusan Teknik Informatika Universitas Mercu Buana. 3. Bapak Tri Daryanto, S.Kom., MT., selaku Koordinator Tugas Akhir pada Jurusan Teknik Informatika Universitas Mercu Buana. 4. Bapak (Almarhum) dan ibu tercinta yang telah memberikan motivasi, do’a dan kasih sayang yang terbaik. 5. Istriku dan Anakku tercinta yang selalu memberikan kasih sayang, do’a, dan motivasi untuk terus menyelesaikan tugas akhir ini. 6. Saudara, sahabat dan semua pihak yang tidak bisa penulis sebutkan satu persatu, terima kasih atas bantuan, dukungan dan do’anya hingga terselesaikannya tugas akhir ini.
Semoga Allah SWT membalas kebaikan dan selalu mencurahkan hidayah serta taufikNya, Amin.
Jakarta, 3 Januari 2012
Ahmad Basuki
DAFTAR ISI
Halaman LEMBAR PERNYATAAN
i
LEMBAR PERSETUJUAN
ii
KATA PENGANTAR
iii
ABSTRACT
v
ABSTRAKSI
vi
DAFTAR ISI
vii
DAFTAR GAMBAR DAFTAR TABEL
x xii
BAB I PENDAHULUAN 1.1 Latar Belakang
1
1.2 Perumusan Masalah
2
1.3 Batasan Masalah
2
1.4 Tujuan dan Manfaat
3
1.5 Metodologi Penelitian
3
1.6 Sistematika Penulisan
4
BAB II LANDASAN TEORI 2.1 Rekasaya Perangkat Lunak
6
2.1.1 Pengertian Rekayasa Perangkat Lunak
6
2.1.2 Tujuan Rekayasa Perangkat Lunak
6
2.1.3 Metodologi Pengembangan Perangkat Lunak
7
2.1.4 Tahapan Pengembangan Perangkat Lunak
8
2.1.5 Model Proses Pengembangan Perangkat Lunak Waterfall
9
2.1.6 Pengujiaan 2.2 Unifield Modelling Language (UML)
11 12
2.2.1 Diagram Use Case
14
2.2.2 Activity Diagram
15
2.2.3 Class Diagram 2.3 Citra
16 17
2.3.1 Model Citra
18
2.3.2 Digitalisasi Citra
19
2.3.3 Pengolahan Citra
19
2.4 Computer Vision
20
2.5 Pengenalan Wajah
21
2.5.1 Deteksi Wajah 2.5.1.1 Algoritma Viola – Jones 2.5.2 Metode Eigenface
21 22 24
2.5.2.1 Principal Component Analysis (PCA)
25
2.5.2.2 Perhitungan Eigenface
27
2.5.3 Klasifikasi Wajah 2.5.3.1 Tahapan Pengenalan Eigenface 2.6 OpenCV
28 28 29
2.6.1 Tipe Data Primitif OpenCV
30
2.6.2 Tipe Data Matrix Dan Image
31
2.7 Qt
31
BAB III ANALISA DAN PERANCANGAN 3.1 Analisa Sistem
33
3.1.1 Analisa Sistem Berjalan
33
3.1.2 Analisa Sistem yang Diajukan
34
3.2 Perancangan
39
3.2.1 Diagram Aktivitas
39
3.2.2 Diagram Kelas
43
3.2.3 Perancangan Antarmuka
45
3.2.3.1 Perancangan Main Window
45
3.2.3.2 Perancangan Form Trainer
46
3.2.3.3 Perancangan Form Recognize from file
47
3.2.3.4 Perancangan Form About
48
BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Implementasi
49
4.1.1 Lingkungan Implementasi
49
4.1.2 Implementasi Aplikasi
49
4.1.2.1 Implementasi Akuisisi Citra
50
4.1.2.2 Implementasi Deteksi Wajah
53
4.1.2.3 Implementasi Pemotongan Citra Wajah
55
4.1.2.4 Implementasi Pelatihan Citra
56
4.1.2.5 Implementasi Pengenalan Citra
65
4.1.3 Implementasi Antarmuka
70
4.1.3.1 Main Wimdow
71
4.1.3.2 Form Trainer
71
4.1.3.3 Form Recognize Dari File
72
4.1.3.4 Form About
72
4.2 Pengujian Aplikasi 4.2.1 Pengujian Antarmuka
73 73
4.2.1.1 Skenario Pengujian Antarmuka
73
4.2.1.2 Hasil Pengujian Antarmuka
75
4.2.1.3 Analisa Hasil Pengujian Antarmuka
78
4.2.2 Pengujian Hasil Pengenalan
78
4.2.2.1 Batasan Pengujian
78
4.2.2.2 Sekenario Pengujian
79
4.2.2.3 Hasil Pengujian
81
4.2.2.4 Analisa Hasil Pengujian
84
BAB V PENUTUP 5.1 Kesimpulan
89
5.2 Saran
90
DAFTAR PUSTAKA
91
GAMBAR
93
LAMPIRAN
98
DAFTAR GAMBAR
Halaman Gambar 2.1 Lapisan rekayasa perangkat Lunak
7
Gambar 2.2 Model Sekuensial Linear
11
Gambar 2.3 Contoh diagram Use Case
15
Gambar 2.4 Contoh activity diagram sederhana
16
Gambar 2.5 Contoh class diagram
17
Gambar 2.1. Citra diam
18
Gambar 2.2 Model Citra
18
Gambar 2.3 Tiga bidang studi yang berkaitan dengan citra
20
Gambar 2.4 Contoh fitur Haar yang digunakan Viola-Jones
22
Gambar 2.5 Integral image
23
Gambar 2.6 Cascade classifier
24
Gambar 2.7 Citra Eigenface
25
Gambar 2.8 Jarak Euclidian d12 pada ruang 2 dimensi
28
Gambar 3.1 Sistem Use Case Pengenal Wajah
35
Gambar 3.2 Diagram Aktivitas Menyimpan Citra Wajah
40
Gambar 3.3 Diagram Aktivitas Pelatihan Citra Wajah
41
Gambar 3.4 Diagram Aktivitas Pengenalan Wajah
42
Gambar 3.5 Diagram Kelas
44
Gambar 3.6 Rancangan antarmuka Main Window
46
Gambar 3.7 Rancangan antarmuka Form Trainer
47
Gambar 3.8 Rancangan antarmuka form recognize from file
47
Gambar 3.8 Rancangan antarmuka Form About
48
Gambar 4.1 Proses akuisisi citra
50
Gambar 4.2 Proses deteksi wajah
53
Gambar 4.3 Proses pemotongan citra wajah
55
Gambar 4.4 Citra wajah untuk pelatihan
57
Gambar 4.5 Isi file pelatihan train.txt
57
Gambar 4.6 Citra rata-rata
65
Gambar 4.7 Citra eigenface
65
Gambar 4.8 Hasil pengenalan wajah
70
Gambar 4. 9 Main Window
71
Gambar 4.10 Form Trainer
71
Gambar 4. 11 Form Recognize from file
72
Gambar 4. 12 Form About
72
Gambar 4.13 Grafik pengenalan variasi ekspresi
85
Gambar 4.14 Grafik pengenalan variasi ekspresi
86
Gambar 4.15 Ilustrasi proyeksi citra pada ruang wajah
87
DAFTAR TABEL
Halaman Tabel 2.1 Diagram UML 2.0
13
Tabel 2.2 Struktur data primitif OpenCv
30
Tabel 3.1 UCD Akuisisi Citra
35
Tabel 3.2 UCD Deteksi Wajah
36
Tabel 3.3 UCD Menyimpan Citra Wajah
36
Tabel 3.4 UCD Pelatihan Citra Wajah
37
Tabel 3.5. UCD Pengenalan Wajah
38
Tabel 4.1 Skenario pengujian antarmuka
73
Tabel 4.2 Skenario pengujian Form Trainer
74
Tabel 4.3 Skenario pengujian Form recognize from file
75
Tabel 4.4 Hasil pengujian antarmuka
75
Tabel 4.5 Hasil pengujian Form Trainer
76
Tabel 4.6 Hasil pengujian Form recognize from file
77
Tabel 4.7 Kode citra pelatihan wajah
79
Tabel 4.8 Kode citra uji variasi ekspresi wajah
80
Tabel 4.9 Kode citra uji variasi aksesoris wajah
80
Tabel 4.10 Jenis Pengujian
80
Tabel 4.11 Hasil pengujian citra uji sama dengan citra latih
81
Tabel 4.12 Hasil pengujian pengenalan terhadap perubahan ekspresi wajah
82
Tabel 4.13 Hasil pengujian pengenalan terhadap perubahan aksesoris wajah
83
Tabel 4.14 Rekapitulasi hasil pengujian pengenalan secara realtime
84