BAB 4 HASIL DAN PEMBAHASAN
4.1
Implementasi
4.1.1
S pesifikasi Sistem Adapun spesifikasi komputer yang digunakan penulis dalam melakukan simulasi
pada aplikasi penelitian pengenalan citra wajah dengan varias i pose ini ditunjukkan pada Tabel 4.1:
Tabel 4.1 Spesifikasi perangkat keras Processor
Intel® Core™ i5-460M Processor (2.54 Ghz, Cache 3M B)
Chipset
Intel® HM 55
Memory
4 GB DDR3 SODIMM 1066 M Hz
Graphic
ATI M obility Radeon HD 5730 2GB
M onitor
14” WXGA LED
Kamera
M icrosoft® LifeCam VX-5500
Tabel 4.2 Spesifikasi perangkat lunak Sistem Operasi
M icrosoft® Windows 7 Professional
Framework
M icrosoft .NET Framework 4.0
IDE
M icrosoft Visual Studio 2010 Ultimate
Library
EmguCV
55 4.1.2
Penggunaan Aplikasi Saat aplikasi dijalankan, akan tampil form utama seperti ditunjukkan pada
Gambar 4.1. Jika belum tersimpan data training citra wajah sama sekali, maka akan ditampilkan pesan seperti yang ditujukkan di dalam Gambar 4.2.
Gambar 4.1 Form utama (main form)
Gambar 4.2 Pesan jika belum ada data training
56 Langkah pertama yang perlu dilakukan adalah menyimpan data training citra wajah melalui form input data training citra wajah yang dapat ditampilkan melalui menu “Tools” Æ “Input Training Data”.
Gambar 4.3 M engakses form input data training Dalam melakukan penambahan data training citra wajah dapat dilakukan melalui dua cara. Cara pertama adalah dengan menangkap secara langsung citra wajah yang tertangkap oleh webcam yang sedang aktif. Pengguna dapat menekan tombol “Capture Face(s)” pada saat ada citra wajah yang sedang tertangkap oleh proses deteksi. Citra wajah yang berhasil ditangkap akan ditambahkan ke dalam listbox “Captured Face(s)”.
Gambar 4.4 Form input data training melalui webcam
57
Gambar 4.5 Pesan jika tidak ada wajah yang sedang tertangkap saat tombol “Capture Face(s)” ditekan
Gambar 4.6 Pesan jika ada wajah yang sedang tertangkap saat tombol “Capture Face(s)” ditekan
Gambar 4.7 Tampilan form input data training dengan wajah yang berhasil ditangkap
58 Citra wajah yang berhasil ditangkap dinamai berdasarkan penggunaan pose saat deteksi dilakukan. Untuk pose dari depan ditandai dengan “F-Face-i”, pose dari kanan ditandai dengan “R-Face-i”, dan pose dari kiri ditandai dengan “L-Face-i” (variabel i sebagai penomoran) seperti ditunjukkan pada Gambar 4.7. Citra wajah yang berhasil ditangkap dapat ditambahkan ke dalam listbox “Added Face(s)” dengan cara memilih citra wajah yang ingin ditambahkan dari listbox “Captured Face(s)”, memasukkan nama data training tersebut, kemudian menekan tombol “Add Face”. Kumpulan citra wajah yang telah ditambahkan di dalam listbox “Added Face(s)” dapat disimpan sebagai data training dengan menekan tombol “Close and Save”. Data training disimpan berdasarkan pose yang ditangkap.
Gambar 4.8 Proses menambahkan data citra wajah ke dalam listbox “Added Face(s)”
59
Gambar 4.9 Pesan jika berhasil menambahkan data training citra wajah baru
Cara kedua untuk menambahkan data training citra wajah adalah dengan menyiapkan citra wajah yang ingin disimpan dalam bentuk citra digital berukuran 100 x 100 pixel. Citra digital ini nantinya akan mengalami proses grayscaling dan histogram equalization sebelum dis impan. Proses penambahan citra dilakukan dengan memilih tab menu “From File” pada form “Add Face(s)”. File citra digital yang ingin disimpan sebagai data training dipilih dengan menekan tombol “Browse”. Pada textbox “Name” diisi dengan nama yang ingin disimpan sebagai nama dari data training tersebut. Penyimpanan data training menggunakan gambar diakhiri dengan memilih pose yang diinginkan pada combobox “Pose” dan menekan tombol “Save”.
Gambar 4.10 Penambahan data training menggunakan file citra digital
60 Pengaturan deteksi dan pengenalan dapat dilakukan dengan membuka form “Settings” melalui menu “Tools” Æ “Settings”. Di dalam form ini dapat dipilih deteksi apa saja yang ingin ditampilkan, pose apa saja yang ingin dideteksi, dan nilai threshold yang digunakan.
Gambar 4.11 Form “Settings” Setelah data training disimpan, proses pengenalan wajah dapat dilakukan dengan memilih sumber masukan. Sumber masukan dapat berupa citra digital statis, video, ataupun tangkapan secara realtime. Proses deteksi dan pengenalan dilakukan setelah data masukan ditampilkan pada frame pada bagian sebelah kiri form utama.
61
Gambar 4.12 Proses deteksi dan pengenalan citra wajah Citra wajah yang berhasil dideteksi akan ditandai dengan kotak berwarna merah, biru, atau hijau sesuai dengan pose yang terdeteksi. Sedangkan citra wajah yang berhasil dikenali akan disimpan sebagai data dan ditambahkan ke dalam listbox di sebelah kanan form utama. Jika baris hasil pengenalan pada listbox di sebelah kanan dilakukan doubleclick, maka akan muncul form “Detected Result” yang berisikan detil dari hasil pengenalan wajah tersebut.
Gambar 4.13 Detil hasil pengenalan citra wajah
62 Pada form “Detected Result” ditampilkan citra wajah yang terdeteksi, pose yang terdeteksi, beserta data training dengan nilai bobot jarak terendah sebanyak maksimum tiga buah data. Data training yang ditampilkan berupa citra wajah yang disimpan, nama dari citra wajah, dan nilai bobot jarak data training tersebut dengan citra wajah yang terdeteksi.
4.2
Hasil Analisis Data dan Pembahasan
4.2.1
Analisis Data Tujuan dari penelitian ini adalah mengembangkan aplikasi yang dapat
menyelesaikan masalah pengenalan citra wajah dengan pose yang bervariasi. Analisis data dalam penelitian ini didapat dengan melakukan simulasi penggunaan sistem yang telah dibuat untuk mengetahui beberapa hal berikut: − Sudut pengambilan citra wajah apa saja yang minimal diperlukan agar sistem dapat melakukan pengenalan citra wajah dengan optimal. − Berapa nilai threshold yang paling cocok digunakan bergantung pada jumlah data training yang digunakan. − Apakah metode Principal Component Analysis dapat menyelesaikan masalah pengenalan citra wajah dengan pose yang bervariasi. Dalam penelitian ini, data training citra wajah diambil dari beberapa orang dengan variasi sudut pengambilan adalah sebagai berikut: -75o, -60o, -45o, -30o, -15o, 0o, 15o, 30o, 45o, 60o, 75o terhadap axis tegak lurus bidang rata (head yaw). Untuk menjaga konsistensi, data input yang diberikan ke dalam sistem adalah kumpulan citra digital dinamis dalam bentuk video. Hal ini dilakukan agar modifikasi data training citra wajah
63 dan nilai threshold dapat dipelajari untuk menyelesaikan kasus yang sama. Selain itu citra digital berupa video dapat secara tidak langsung mewakili tangkapan secara realtime. Setiap sampel di dalam data training direkam berputar dari –90o hingga +90o di depan kamera. Hasil tangkapan tersebut akan diujikan ke dalam sistem untuk mengetahui hasil pendeteksian dan pengenalan citra wajah berdasarkan data training yang telah disimpan sebelumnya. Kamera diposisikan dengan sudut pengambilan yang sesuai dengan kemampuan sistem dalam mendeteksi lokasi citra wajah di dalam sebuah gambar (sejajar dengan kepala).
Gambar 4.14 Axis tegak lurus bidang rata Adapun citra wajah yang menjadi data training dalam percobaan simulasi ini adalah sebagai berikut: Tabel 4.3 Citra wajah yang menjadi data training No.
1.
Wajah Depan
Wajah Kanan
Wajah Kiri
Nama
Alvin
64
2.
3.
4.
5.
6.
Agustiawan
Hans
Lena
Niko
Rita
7.
Sofia
8.
Setiawan
65
9.
William
10.
Yovita
Gambar 4.15 Contoh rekaman video salah satu sampel
66 4.2.2
Pembahasan Proses deteksi untuk video dilakukan setelah file video yang ingin dikenali
dipilih. Video akan diputar pada panel sebelah kiri aplikasi. Waktu pemutaran dari video mungkin tidak berjalan realtime karena bergantung pada waktu yang dibutuhkan untuk proses deteksi dan pengenalan, serta jumlah frame perdetik yang dimiliki oleh video tersebut. Hal ini mengakibatkan video dapat berjalan lebih lambat dari seharusnya. Proses pengenalan citra wajah yang terdeteksi dilakukan secara otomatis oleh sistem untuk setiap frame yang ditangkap oleh sistem. Citra wajah yang terdeteksi ditandai oleh kotak berwarna merah, biru, dan hijau. Kotak berwarna merah menandakan citra wajah yang terdeteksi sebagai citra wajah dari arah depan (frontal face), kotak berwarna biru menandakan citra wajah yang terdeteksi sebagai citra wajah sebelah kiri (left profile face), dan kotak berwarna hijau menandakan citra wajah yang terdeteksi sebagai citra wajah sebelah kanan (right profile face). Jika dari citra wajah yang terdeteksi tersebut berhasil dikenali sebagai salah satu dari data training, maka pada bagian atas kotak deteksi ditampilkan nama dari data citra wajah tersebut dan akan ditambahkan data hasil pengenalan ke dalam listbox yang ada di sebelah kanan. M elakukan double-click pada baris yang ada di dalam listbox hasil pengenalan akan menampilkan jendela baru dengan detil pengenalan yang berhasil dilakukan, yaitu citra wajah yang ditangkap, tiga citra wajah pada data training dengan nilai terkecil beserta nilai jarak dan nama dari data citra wajah tersebut. Detil hasil pengenalan ini akan dibahas sebagai data yang harus dianalisa. Proses simulasi pertama dilakukan dengan menggunakan nilai threshold sebesar -1 atau setiap hasil pengenalan atas citra wajah selalu dikembalikan oleh sistem (nilai
67 threshold tidak membatasi hasil yang didapat dari proses pengenalan). Hasil simulasi ditunjukkan pada Tabel 4.4.
Gambar 4.16 Proses simulasi
Tabel 4.4 Hasil simulasi untuk setiap sampel No. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Jumlah Dikenali 158 201 214 147 101 71 158 64 185 150 1449
Nama Agustiawan Alvin Hans Lena Niko Rita Setiawan Sofia William Yovita Total
Jumlah Berhasil 89 130 156 102 74 38 133 62 138 91 1013
Berdasarkan hasil simulasi di atas, maka dapat dihitung keakuratan sistem dalam mengenali setiap wajah yang terdeteksi adalah: % keakuratan
∑ berhasil ∑ d ikenali
%
68 % .
%
Keakuratan pengenalan dilihat dari variasi jumlah sudut yang tersedia sebagai data training ditunjukkan pada Tabel 4.6 dengan perhitungan berikut: % keakuratan
∑ b erhasil ∑ dikenali
%
Tabel 4.5 Variasi data training Variasi I II III IV V
Variasi S udut Pengambilan Sisi Kiri Sisi Depan Sisi Kanan o 0o 45o 45 o o o 30 , 60 0 30o, 60o o o -15o, 15o 30o, 60o 30 , 60 o o o o o -15 , 15 45o, 60o, 75o 45 , 60 , 75 30o, 45o, 60o, 75o -15o, 0o, 15o 30o, 45o, 60o, 75o
Tabel 4.6 Hasil simulasi berdasarkan variasi data training Variasi I II III IV V
Jumlah Dikenali 1396 1450 1472 1451 1449
Jumlah Berhasil 650 848 950 917 1013
% keakuratan 46.56% 58.48% 64.54% 63.20% 69.91%
Keakuratan pengenalan dilihat dari keberhasilan pengenalan berdasarkan nilai threshold dihitung dengan rumus berikut: % keakuratan
∑ b erhasil ∑ dikenali dalam batas threshold
%
Hasil perhitungan keakuratan berdasarkan nilai threshold ditunjukkan pada Tabel 4.7.
69 Tabel 4.7 Hasil simulasi berdasarkan variasi nilai threshold
No.
Nilai Threshold Maksimum
1. 2. 3. 4. 5.
5000 4000 3000 2000 1000
Jumlah Dikenali dalam Batas Threshold 1417 1276 926 337 15
Jumlah Berhasil
% keakuratan
1006 944 743 332 15
71.00% 73.98% 80.24% 98.52% 100%
Waktu proses membaca data citra wajah dilihat dari jumlah citra wajah ditunjukkan pada Tabel 4.8. Tabel 4.8 Perbandingan waktu proses membaca citra wajah Variasi I II III IV V
Waktu Load Frontal Face 17 ms 19 ms 43 ms 42 ms 81 ms
Waktu Load Left Profile Face 9 ms 33 ms 32 ms 72 ms 126 ms
Waktu Load Right Profile Face 9 ms 33 ms 32 ms 72 ms 128 ms
M aka dapat diambil kesimpulan secara umum terhadap hubungan jumlah data training citra wajah dan nilai threshold adalah sebagai berikut: 1. Semakin banyak citra wajah yang digunakan dalam melakukan training untuk setiap sampel, maka pengenalan akan semakin baik. Dapat dilihat pada hasil penelitian melakukan variasi perubahan data training set yang digunakan. 2. Semakin rendah nilai threshold, kemiripan citra wajah masukan dengan citra wajah di dalam data training semakin tinggi, tetapi dapat mengurangi keberhasilan pengenalan (semakin sulit untuk dikenali).
70 3. Semakin tinggi nilai threshold, semakin tinggi kemungkinan mengenali citra wajah masukan dengan citra wajah di dalam data training, tetapi semakin tinggi kemungkinan kesalahan.
Kegagalan dalam pengenalan dapat disebabkan oleh beberapa hal berikut: 1. Citra digital yang kurang jelas atau mengalami gangguan (noise) yang berlebihan. 2. Adanya kemiripan antara wajah yang satu dengan yang lainnya. 3. Sudut putaran kepala yang tidak tersedia di dalam data training.