Perancangan Sistem Pengenalan Wajah Berbasis Algoritma Principal Component Analysis (PCA)

(1)

(2)

TUGAS AKHIR

Disusun untuk memenuhi syarat kelulusan pada

Program Studi Sistem Komputer Strata Satu di Jurusan Teknik Komputer

Oleh

Krisna Gunawan

NIM: 10207028

Pembimbing

Dr. Ir. Yeffry Handoko Putra, MT.

Wendi Zarman, M.Si.

JURUSAN TEKNIK KOMPUTER

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

BANDUNG

2012


(3)

(4)

iii

Sistem identifikasi merupakan suatu bidang yang sangat penting penerapannya di dalam masyarakat, tidak jarang sistem ini diterapkan pada bidang yang bersifat rahasia dan menyangkut data-data pribadi seseorang, seperti sistem keamanan, absensi dan lainnya. Terdapat banyak metode yang dapat diterapkan pada sistem identifikasi, salah satunya menggunakan wajah. Sistem identifikasi berbasis pengenalan wajah, merupakan sistem yang baru-baru ini mulai digunakan sebagai alternatif sistem identifikasi. Sistem ini bekerja dengan cara mengambil karakteristik suatu citra yang nantinya dibandingkan dengan karakteristik citra yang telah disimpan dalam database. Pemasalahan yang timbul dalam sistem pengenalan wajah ini adalah seberapa akurat tingkat pengenalannya.

Pada tugas akhir ini, permasalahan keakuratan pengenalan tersebut akan diuji dengan membandingkan hasil pengenalan pada berbagai kondisi. Sistem pengenalan wajah yang digunakan berbasis algoritma Principal Component Analysis. Algoritma ini berfungsi sebagai ekstraktor karakteristik citra yang dimasukan kedalam sistem.

Karakteristik-karakteristik yang didapatkan dari proses ekstraksi citra tersebut akan dibandingkan menggunakan metode Euclidean Distance, tujuannya untuk mengetahui seberapa mirip karateristik-karakteristik tersebut. Berdasarkan pengujian keseluruhan sistem yang telah dilakukan, sistem pengenalan wajah ini memiliki tingkat keakuratan yang cukup baik. Ketidak-akuratan sistem ini disebabkan intensitas cahaya dan posisi wajah yang diuji berbeda dengan posisi wajah yang telah disimpan dalam database.


(5)

iv

System Identification is a very important system which applied in society, this system not infrequently applied to a field which has confidential and personal data concerning a person, such as security systems, absences and other. There are many methods that can be applied to system identification, one of them uses the face. System identification which based face recognition is an alternative system that has recently begun to be used in identification system. This system works by taking the characteristics of an image that will be compared with the characteristics of the image that has been stored in the database. The problem that appears in face recognition that is how accurate system can recognice an image.

In this final paper, the accuracy problem of recognition will be tested by comparing the result in various conditions. Face recognition systems in this paper based on Principal Component Analysis algorithm. This algorithm serves as an image characteristic extractor which added into system.

Characteristic of the image are compared using Euclidean Distance method, the aim of this process to find out how similar characteristic-characteristics which compared by system. Based on the overall system test which has been done, this facial recognition system has a fairly good level of accuracy. Imprecision of this system due to light intensity and position of the face were tested had different to the face position that had been stored in database.


(6)

v Bismillahirahmaannirrohiim,

Assalamu’alaikum Wr. wb.

Segala puji dan syukur penulis panjatkankepada Allah SWT., Pencipta dan Pemelihara alam semesta, shalawat serta salam semoga terlimpah bagi Muhammad SAW., keluarga dan para pengikutnya yang setia hingga akhir masa.

Atas rahmat dan hidayah-Nya, akhirnya penulis dapat menyelesaikan tugas akhir ini, meskipun hasilnya masih jauh dari kata sempurna, mengingat keterbatasan pengetahuan, keilmuan, pengalaman serta referensi yang penulis miliki. Oleh karena itu penulis selalu terbuka untuk menerima kritik dan saran yang dapat menyempurnakan tugas akhir ini.

Penyusunan tugas akhir ini, tidak terlepas dari bantuan berbagai pihak yang tak mungkin penulis sebutkan satu per satu. Sehingga, dengan segala kerendahan hati pada kesempatan ini penulis ingin mengucapkan terima kasih kepada:

1. Kedua orang tua dan keluarga besar penulis yang sudah memberikan do’a, dukungan, kasih sayang dan motivasi, sehingga penulis dapat menyelesaikan tugas akhir ini.

2. Ibu Sri Nurhayati, M.T. selaku Ketua Jurusan Teknik Komputer Univesitas Komputer Indonesia.

3. Bapak Dr. Ir. Yeffry Handoko Putra, M.T. selaku dosen pembimbing I, yang telah banyak memberikan arahan, saran dan bimbingan kepada penulis. 4. Bapak Wendi Zarman, M.Si. selaku dosen pembimbing II, yang telah

memberikan bimbingan dan arahan kepada penulis.

5. Ibu Selvia Lorena Br. Ginting, M.Si. selaku dosen wali penulis yang telah memberikan banyak bimbingan selama penulis menuntut ilmu.

6. Bapak dan Ibu seluruh staff dosen Jurusan Teknik Komputer yang telah memberikan ilmu, motivasi dan bantuan kepada penulis.

7. PT. Callysta Multi Engineering yang telah mengenalkan penulis ke dunia


(7)

vi memberikan bantuan kepada penulis.

9. Teman-teman SMA, yang telah banyak membantu penulis.

10. Serta seluruh pihak yang telah mendukung dan membantu dalam penyusunan tugas akhir ini yang tidak dapat penulis sebutkan satu persatu.

Akhir kata, penulis berharap semoga penelitian ini menjadi sumbangsih yang bermanfaat bagi dunia sains dan teknologi di Indonesia, khususnya disiplin keilmuan yang penulis dalami.

Bandung, 30 Agustus 2012


(8)

vii

LEMBAR PENGESAHAN ... i

LEMBAR PERNYATAAN ... ii

ABSTRAK ... iii

ABSTRACT ... iv

KATA PENGANTAR ... v

DAFTAR ISI ... vii

DAFTAR TABEL ... ix

DAFTAR GAMBAR ... x

DAFTAR LAMPIRAN ... xii

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang... 1

1.2 Maksud dan Tujuan ... 2

1.3 Batasan Masalah ... 2

1.4 Metodologi Penelitian ... 2

1.5 Sistematika Penulisan ... 3

BAB II DASAR TEORI ... 4

2.1 Perkembangan Teknologi Pengolahan Citra ... 4

2.2 Sistem Pengenalan Wajah ... 5

2.2.1 Pendeteksian Wajah ... 7

2.2.2 Penyelarasan Wajah ... 8

2.2.2.1 Grayscaling Citra ... 9

2.2.2.2 Pemotongan Citra ... 9

2.2.2.3 Resizing Citra ... 10

2.2.2.4 Equalizing Citra ... 10

2.2.3 Ekstraksi Fitur ... 10

2.2.4 Penyimpanan Fitur ... 11

2.2.5 Pencocokan Fitur ... 11

2.2.6 Metode Viola-Jones... 12

2.2.7 Principal Component Analysis (PCA) ... 16

2.2.8 Ekstraksi Fitur Menggunakan PCA ... 18


(9)

viii

2.4 Perangkat Lunak ... 24

2.4.1 C++ ... 24

2.4.2 Microsoft Visual C++ 2008 Enterprise ... 26

2.4.3 Open Source Computer Vision (OpenCV) ... 26

2.4.4 HaarCascade Frontal Face ... 28

BAB III PERANCANGAN SISTEM ... 33

3.1 Diagram Blok ... 33

3.2 Diagram Alir... 33

3.3 Perancangan Sistem ... 38

3.3.1 Konfigurasi OpenCV2.1 ... 38

3.3.2 Antarmuka Sistem ... 39

BAB IV PENGUJIAN DAN ANALISA ... 41

4.1 Pengujian Antarmuka Sistem ... 41

4.2 Pengujian Proses Deteksi Wajah ... 42

4.3 Pengujian Proses Pelatihan Citra Wajah ... 43

4.4 Pengujian Proses Pengenalan ... 46

4.5 Pengujian Sistem Secara Keseluruhan ... 46

BAB V KESIMPULAN DAN SARAN ... 56

5.1 Kesimpulan... 56

5.2 Saran ... 56


(10)

1 1.1 Latar Belakang

Dewasa ini, telah banyak metode yang digunakan untuk mengidentifikasi seseorang dalam sistem keamanan, sistem absensi dan sistem lain yang menerapkannya. Dengan cara yang beragam, dari yang memanfaatkan benda fisik seperti smart card, hingga yang memanfaatkan bagian anggota tubuh seperti sidik jari, retina mata dan sampai menggunakan wajah. Sistem identifikasi seseorang berbasiskan wajah atau biasa disebut sistem pengenalan wajah, memang baru-baru ini mulai digunakan pada bidang biometrika, sehingga sistem ini masih diragukan kehandalannya. Oleh karena itu, perlu diadakan suatu analisis tentang kehandalan sistem mengidentifikasi seseorang berbasiskan wajah.

Sama hal nya dengan sidik jari dan retina mata manusia, wajah bersifat non-identik karena setiap orang memiliki bentuk dan kontur wajah yang berbeda-beda, sehingga wajah sangatlah memungkinkan untuk dijadikan alat atau model yang dipakai untuk mengidentifikasi seseorang. Sistem pengenalan wajah adalah suatu sistem yang membuat mesin dapat mengenali wajah seseorang sesuai dengan gambar wajah yang telah dilatih dan disimpan di dalam mesin tersebut.

Untuk membangun sistem pengenalan wajah yang baik agar dapat diterapkan pada sistem identifikasi seseorang, sistem tersebut harus memenuhi beberapa kriteria diantaranya keakuratan pengenalan dan kecepatan pengenalan. Dengan adanya masalah tersebut maka diperlukan suatu analisis terhadap sistem pengenalan wajah, oleh karena itu dilakukan penelitian tentang analisis sistem pengenalan wajah dengan metoda principal component, dengan judul “Perancangan Sistem Pengenalan Wajah Berbasis Algoritma Principal Component Analysis (PCA)”.


(11)

2 1.2 Maksud dan Tujuan

Pembuatan tugas akhir ini dibuat dengan maksud dan tujuan untuk mempelajari dan memahami bahasa pemrograman C++, merancang sistem pengenalan wajah yang berfungsi dengan baik dan mendapatkan hasil analisis tentang keakuratan sistem pengenalan wajah berbasis principal component analysis, yang kedepannya diharapkan dapat berguna bagi bidang biometrika untuk mengidentifikasi seseorang.

1.3 Batasan Masalah

Pada perancangan sistem pengenalan wajah yang dibuat ini terdapat beberapa batasan masalah yaitu:

1. Bahasa pemrograman yang digunakan adalah bahasa C++ dengan IDE

Microsoft Visual C++ 2008 Express Edition.

2. Posisi wajah yang akan dikenali lurus tegap menghadap kamera. 3. File data wajah yang disimpan dengan format PGM.

4. Proses pengenalan dilakukan hanya per satu orang.

5. Jumlah orang yang dikenali sebanyak 5 orang dengan database orang pembanding sebanyak 5, 10 dan 20 orang.

6. Citra yang diambil ke dalam database sebanyak 10 citra per orang.

1.4 Metodologi Penelitian

Metodologi penelitian yang dilakukan dalam penyelesaian tugas akhir ini meliputi:

1. Studi literatur.

Suatu metode pengumpulan data dengan membaca dan mempelajari buku atau referensi lainnya yang berhubungan dengan topik tugas akhir ini.

2. Perancangan.

Mengaplikasikan teori-teori yang didapat, sehingga tersusun suatu perancangan sistem untuk perangkat lunak dan pengujian sistem.


(12)

3 3. Eksperimen.

Melakukan eksperimen atau pengujian sistem dan cara kerja sistem pengenalan wajah.

4. Analisa

Melakukan analisa terhadap pengujian sistem dan mengambil kesimpulan dari penelitian ini.

1.5 Sistematika Penulisan

Sistematika penulisan yang dilakukan dalam penyelesaian tugas akhir ini sebagai berikut:

BAB I PENDAHULUAN

Bab ini mengemukakan latar belakang pemilihan judul,rumusan masalah, batasan masalah, metodologi penelitian, serta sistematika penulisan.

BAB II DASAR TEORI

Bab ini akan menjelaskan tentang semua landasan teori yang berhubungan dengan sistem yang akan dibuat.

BAB III PERANCANGAN SISTEM

Bab ini menjelaskan perancangan sistem, mulai dari tujuan, perangkat lunak yang digunakan, pembuatan program, proses

training image dan cara menggunakan/menjalankan sistem.

BAB IV PENGUJIAN DAN ANALISA

Bab ini berisi hasil dan bahasan yang ditekankan pada perumusan masalah, yaitu tentang pengujian sistem, serta analisa terhadap hasil yang telah didapatkan.

BAB V KESIMPULAN DAN SARAN

Bab ini berisikan kesimpulan dari hasil penelitian serta saran-saran bagi mahasiswa yang akan mengembangkan Tugas Akhir ini.


(13)

4

2.1 Perkembangan Teknologi Pengolahan Citra

Teknologi pengolahan citra sekarang ini sudah semakin berkembang, hal tersebut ditandai dengan mulai banyaknya aplikasi-aplikasi yang menerapkan teknologi ini. Pengolahan citra merupakan proses yang memperbaiki kualitas citra agar mudah diinterpretasi oleh manusia atau komputer. Sedangkan definisi citra sendiri adalah gambar pada bidang 2 dimensi atau secara matematis pengertiannya adalah fungsi yang kontinu dari intensitas cahaya pada bidang 2 dimensi.

Pengolahan citra digital mulai dikembangkan pertama kali pada tahun 1964, dimana pada saat itu pengolahan citra digital digunakan untuk memperbaiki kualitas citra bulan dari distorsi di laboratorium Jet Propulsion. Sampai perkembangannya hingga sekarang, teknologi ini telah memiliki spektrum aplikasi yang sangat luas, diantaranya:

1. Dibidang biomedis terdapat tomografi terkomputerisasi (computerized tomography/CT) dan scanner Magnetic Resonance Imaging (MRI) yang digunakan untuk mengidentifikasi organ dalam tubuh.

Gambar 2.1. Hasil Pencitraan Scanner MRI

2. Dibidang penginderaan jarak jauh (remote sensing) untuk mengetahui informasi penting tentang sumber-sumber alam, pencemaran, kerusakan alam di suatu wilayah menggunakan citra satelit.


(14)

Gambar 2.2. Citra Satelit Daerah Jepang Pasca Bencana Tsunami

3. Dibidang biometrika, yang memanfaatkan sidik jari, iris, wajah, dan lainnya untuk teknologi sistem keamanan.

Gambar 2.3. Kunci Pintu Dengan Sidik Jari Biometrik

4. Dibidang-bidang lainnya, seperti bidang fotografi, bidang desain visual, identifikasi objek, bidang volumetrik, dll.

2.2 Sistem Pengenalan Wajah

Sistem pengenalan wajah adalah aplikasi pengolahan citra yang dapat mengidentifikasi atau memverifikasi seseorang melalui citra digital atau frame video. Dewasa ini, sistem pengenalan wajah telah menjadi salah satu aplikasi pengolahan citra yang cukup populer, khususnya di bidang sistem keamanan, verifikasi kartu kredit dan indentifikasi penjahat.

Manusia dapat mengenali wajah seseorang dengan mudah dan cepat, tidak sama halnya dengan proses pengenalan wajah yang dilakukan oleh komputer.


(15)

Proses pengenalan wajah menggunakan komputer berjalan lambat dan cukup rumit, selain itu terdapat faktor lain yang menambah kesulitan pengenalan wajah seperti orientasi wajah yang berbeda, pencahayaan, potongan rambut, kumis dan objek lain di sekitar wajah.

Penelitian tentang pengenalan wajah telah berlangsung dari tahun 1960 hingga sekarang dengan beragan metode yang digunakan. Namun dari beragam metode tersebut, hanya terdapat dua metode utama yang digunakan untuk pengenalan wajah, yaitu[2]:

- Pengenalan berbasis fitur, berdasarkan pada ekstraksi dari sifat-sifat organ individu yang terletak pada wajah seperti mata, hidung dan mulut, serta hubungan mereka satu sama lain.

- Pengenalan berbasis pendekatan eigenfaces, berdasarkan pada ekstraksi informasi paling relevan yang terkandung dalam wajah. Informasi ini berupa suatu set karakteristik citra yang digunakan untuk menggambarkan variasi citra wajah. Tujuan dari proses ekstraksi tersebut adalah untuk mendapatkan

eigenvector (eigenface) dari kovarian matriks distribusi, yang disusun dari kumpulan pelatihan citra wajah. Kemudian, setiap citra wajah diwakili oleh kombinasi linier dari eigenvector. Pengenalan dilakukan dengan mengklasifikasikan citra baru dengan citra yang telah disimpan dalam

database.

Secara umum, meskipun didasari dengan metode-metode yang berbeda proses pengenalan wajah terdiri dari dua proses utama yaitu, proses pelatihan citra dan proses pengenalan citra. Kedua proses ini memiliki tahapan-tahapan yang hampir sama, perbedaannya terletak pada hasil ekstraksi fiturnya. Proses pelatihan citra wajah memiliki tahapan-tahapan sebagai berikut:

- Pendeteksian wajah atau tracking wajah. - Penyelarasan wajah.

- Ekstraksi fitur.


(16)

Untuk lebih jelasnya, pada Gambar 2.4 ditunjukan diagram blok sistem pelatihan citra wajah secara umum:

Deteksi Wajah ---Tracking Wajah Penyelarasan Wajah Ekstraksi Fitur Penyimpanan Ke Database Citra/Video yang dilatih Lokasi Wajah, Ukuran & Pose Aligned Face Vektor Fitur

Gambar 2.4. Diagram Blok Proses Pelatihan Citra Wajah

Sedangkan pada proses pengenalan citra wajah, terdiri dari tahapan-tahapan sebagai berikut:

- Pendeteksian wajah atau tracking wajah. - Penyelarasan wajah.

- Ekstraksi fitur.

- Pencocokan fitur yang diuji dengan fitur yang dilatih.

Untuk lebih jelasnya, pada Gambar 2.5 ditunjukan diagram blok sistem pengenalan citra wajah secara umum:

Deteksi Wajah ---Tracking Wajah

Penyelarasan Wajah Ekstraksi Fitur Pencocokan Fitur Citra/Video yang diuji Lokasi Wajah, Ukuran & Pose Aligned Face Vektor Fitur

Fitur Wajah dari database

Vektor Fitur

ID Wajah

Gambar 2.5. Diagram Blok Proses Pengenalan Citra Wajah

2.2.1 Pendeteksian Wajah

Pendeteksian wajah adalah proses yang mensegmentasi area wajah dengan latar belakang dari suatu masukan citra. Proses ini bekerja dengan cara memeriksa citra yang dimasukan, apakah memiliki citra wajah atau tidak, jika memiliki, maka akan dilakukan pemisahan dengan cara memotong citra wajah dari latar belakang citra yang dimasukan. Jika masukan berbentuk video, proses yang dilakukan adalah proses face tracking. Secara umum, proses face tracking dan


(17)

proses pendeteksian wajah mempunyai fungsi yang sama. Perbedaannya terletak pada proses pendeteksiannya saja, jika pada masukan berbentuk citra, sistem berjalan offline sehingga dapat menggunakan proses pendeteksian wajah, sedangkan pada masukan video, sistem berjalan secara online atau real-time yang membutuhkan pendeteksian secara langsung maka proses yang digunakan adalah proses face tracking. Terdapat banyak metode yang dapat digunakan untuk melakukan proses pendeteksian wajah ini, salah satunya dengan menggunakan metode Viola-Jones.

Gambar 2.6. Proses Deteksi Wajah

2.2.2 Penyelarasan Wajah

Pada proses pendeteksian wajah, citra wajah yang didapatkan masih berupa perkiraan kasar atau masih memiliki kualitas yang cukup buruk seperti ukuran yang berbeda dengan ukuran normal, faktor pencahayaan yang kurang atau lebih, kejelasan citra yang buruk dan sebagainya. Maka perlu diadakannya proses penyelarasan.

Proses penyelarasan wajah merupakan proses yang bertujuan untuk menormalisasi wajah dari citra wajah yang didapatkan dari proses pendeteksian wajah. Proses ini terdiri dari tahapan-tahapan sebagai berikut:

- Grayscaling (tahap konversi warna menjadi warna abu)

- Pemotongan(tahap pemisahan citra wajah dengan latar belakangnya) - Resizing (tahap normalisasi dimensi citra)


(18)

2.2.2.1 Grayscaling Citra

Grayscaling citra merupakan tahapan pertama dari proses penyelarasan, pada tahap ini terjadi pengkonversian citra warna RGB menjadi citra berwarna abu. Citra warna RGB terdiri dari 3 parameter warna yaitu merah (red), hijau (green) dan biru (blue), jika citra warna RGB ini dimasukan ke dalam proses ekstraksi, maka proses tersebut akan sulit untuk dilakukan karena citra RGB terdiri dari 3 parameter, oleh karena itu diperlukan penyamaan parameter yaitu dengan melakukan tahap grayscaling ini. Berikut ini adalah persamaan tahap

grayscaling citra[14]:

x = 0.299r + 0.587g + 0.114b (2.1)

Dimana, nilai citra RGB adalah (r, g, b) dengan nilai integer diantara 0 sampai 255, dan x adalah nilai grayscale.

Gambar 2.7. Grayscaling Citra

2.2.2.2 Pemotongan Citra

Pada tahapan ini terjadi pemotongan citra yang memisahkan citra wajah dengan citra masukannya, tujuannya untuk mengambil citra yang hanya diperlukan untuk proses ekstraksi, dalam hal ini adalah citra wajah dan membuang citra lain yang tidak diperlukan. Dimensi citra yang dipotong disesuaikan dengan dimensi dari proses segmentasi atau pengkotakan objek wajah yang dilakukan pada proses pendeteksian wajah.


(19)

Gambar 2.8. Pemotongan Citra

2.2.2.3 Resizing Citra

Pada tahap resizing citra, terjadi proses normalisasi dimensi citra wajah, yaitu proses pembesaran atau pengecilan dimensi citra wajah menjadi dimensi yang telah ditentukan. Tujuannya, untuk menyamakan dimensi wajah dari tiap citra yang dimasukan, sehingga pada proses ekstraksi citra nanti tidak ada perbedaaan dimensi dari matriks data citra wajah.

2.2.2.4 Equalizing Citra

Tahap ini adalah tahapan terakhir dari proses penyelarasan, yang tujuannya untuk memperjelas nilai histogram dari citra wajah hasil tahapan-tahapan sebelumnya.

Gambar 2.9. Equalizing Citra

2.2.3 Ekstraksi Fitur

Ekstraksi fitur merupakan proses yang berfungsi untuk mendapatkan informasi yang efektif dan berguna untuk membedakan wajah-wajah orang yang berbeda dari citra wajah yang telah diselaraskan. Proses ini dilakukan menggunakan algoritma-algoritma ekstraksi seperti principal component analysis


(20)

(PCA), linear discriminant analysis (LDA), independent component analysis

(ICA) dan sebagainya. Informasi yang didapatkan dari ekstraksi fitur disebut vektor fitur, yaitu bentuk dasar pencarian citra berbasis konten, yang menangkap properti citra seperti warna dan tekstur.

2.2.4 Penyimpanan Fitur

Proses penyimpanan fitur, merupakan tahapan terakhir dari proses pelatihan citra wajah. Proses ini bertugas untuk menyimpan vektor fitur hasil ekstraksi citra wajah beserta identitas vektor fitur tersebut kedalam database, yang nantinya akan digunakan sebagai pembanding citra wajah yang diuji pada proses pengenalan wajah.

2.2.5 Pencocokan Fitur

Pencocokan fitur adalah tahapan proses yang hanya terdapat pada proses pengenalan citra wajah. Proses ini merupakan proses perbandingan fitur yang telah diekstrak dari citra uji dengan fitur citra wajah dari database, yang sebelumnya telah melalui proses pelatihan citra. Proses perbandingan ini dilakukan menggunakan metode pengenalan pola, salah satunya adalah metode

nearest neighbours.

Dari proses perbandingan fitur tersebut akan menghasilkan nilai jarak terdekat yang menandakan nilai fitur citra uji hampir menyamai dengan fitur citra latih. Nilai jarak ini akan menjadi nilai masukan untuk nilai kemiripan citra.

Nilai kemiripan citra merupakan nilai tingkat kemiripan citra uji dengan citra latih, semakin besar nilainya menandakan bahwa orang yang sedang diamati adalah orang yang sama dengan orang yang citra wajahnya telah disimpan dalam

database. Nilai kemiripan ini sebelum mengeluarkan output hasil pengenalan wajah akan melalui proses threshold terlebih dahulu.

Proses threshold pengenalan wajah adalah proses penyaringan nilai kemiripan citra, dimana jika nilai kemiripan berada dibawah threshold yang telah ditentukan maka output hasil pengenalan tidak akan ditampilkan. Jika, berada diatas output hasil pengenalan akan ditampilkan. Tujuannya agar output hasil


(21)

pengenalan yang ditampilkan bernilai benar, karena memiliki nilai kemiripan yang tinggi.

Setelah, proses-proses tersebut dilakukan proses terakhir adalah proses pencarian tingkat keakuratan. Keakuratan adalah kondisi yang menunjukan kebenaran atau ketepatan suatu objek yang diamati, dalam sistem pengenalan ini adalah kebenaran bahwa citra wajah yang diujikan benar-benar citra wajah orang yang dimaksud.

2.2.6 Metode Viola-Jones

Metode Viola-Jones merupakan salah satu metode pendeteksian objek yang cukup populer, yang dapat memberikan hasil dengan tingkat keakuratan yang cukup tinggi dan dengan kecepatan yang sangat tinggi. Metode ini, diusulkan oleh Paul Viola dan Michael Jones pada tahun 2001, dengan menggabungkan empat kunci utama untuk mendeteksi suatu objek, yaitu[8]:

- Fitur persegi sederhana, disebut fitur Haar

- Integral image untuk pendeteksian fitur dengan cepat - Metoda AdaBoost machine-learning

- Cascade classifier untuk mengkombinasikan banyak fitur

Fitur yang digunakan dalam metode Viola-Jones adalah fitur Haar yang didasari oleh Haar wavelets. Haar wavelets adalah satu gelombang panjang berupa gelombang persegi (satu interval tinggi satu dan satu interval rendah). Dalam dua dimensi, gelombang persegi ini digambarkan dengan sepasang persegi yang berdekatan – satu terang dan satu gelap.


(22)

Ada atau tidaknya fitur Haar dalam suatu citra ditentukan dengan cara mengurangi nilai rata-rata piksel daerah gelap dengan nilai rata-rata piksel daerah terang. Jika hasilnya diatas ambang maka fitur tersebut dikatakan ada.

Untuk menentukan ada atau tidaknya ratusan fitur Haar pada suatu citra secara efektif, Viola-Jones menggunakan teknik yang disebut integral image.

Integral image merupakan teknik yang dapat mempercepat proses pendeteksian suatu objek dengan menggabungkan unit terkecil dari citra yaitu nilai-nilai piksel menjadi suatu representasi citra baru, caranya dengan menjumlahkan piksel yang ada di sebelah kiri dan atas titik tersebut.

Gambar 2.11. Nilai Piksel (x, y) Adalah Nilai Semua Piksel Daerah Arsir

Sebagai contoh terdapat citra masukan dengan dimensi 5x5 dengan nilai-nilai piksel sebagai berikut:

2 4 7 5 8 1 5 9 7 7 4 6 8 5 6 3 5 6 6 7 4 4 5 3 6

Maka integral image dari citra input diatas adalah:

2 6 13 18 26 3 12 28 40 55 7 22 46 63 84 10 30 60 83 111 14 38 73 99 133

Nilai piksel pada integral image ini didapatkan dengan cara menjumlahkan nilai suatu piksel dengan nilai piksel disebelah kiri, kiri atas dan atas dari piksel tersebut. Sebagai contoh, nilai dari piksel pada baris ke-2 dan kolom ke-2 pada


(23)

ilustrasi di atas diperoleh dengan cara menjumlahkan nilai piksel baris ke-1 kolom ke-1, piksel baris ke-1 kolom ke-2, piksel baris ke-2 kolom ke-1 dengan piksel baris ke-2 kolom ke-2, maka didapatkan piksel dengan nilai 12 (2+4+1+5).

Dengan integral image ini, maka perhitungan untuk mendapatkan nilai fitur

Haar dapat didapatkan dengan waktu yang cepat, berikut ini adalah contoh perbandingan pencarian nilai fitur dengan menggunakan integral image dan tanpa

integral image:

- Tanpa integral image

2 4 7 5 8 1 5 9 7 7 4 6 8 5 6 3 5 6 6 7 4 4 5 3 6

Nilai fitur Haar = | (total piksel hitam) – (total piksel putih) |

= | (jumlah nilai piksel baris-2 kolom-2 sampai nilai piksel baris-5 kolom-3) – (jumlah nilai piksel baris-4 kolom-2 sampai nilai piksel baris-5 kolom-5) |

= | (5+9+6+8+5+6+4+5) – (7+7+5+6+6+7+3+6) | = | 48 - 47 |

= 1

- Dengan integral image

2 6 13 18 26 3 12 28 40 55 7 22 46 63 84 10 30 60 83 111 14 38 73 99 133

Untuk menghitung fitur dengan menggunakan integral image, terdapat rumusan sebagai berikut:


(24)

Dimana, D adalah nilai piksel kanan bawah, A adalah nilai piksel kiri atas, B adalah piksel atas dari piksel D dan C adalah nilai piksel kiri dari piksel D. Berikut adalah gambaran dari piksel-piksel tersebut:

Gambar 2.12.Pencarian Nilai Piksel D Pada Integral Image

Nilai fitur Haar = | (total piksel hitam) – (total piksel putih) | = | (73+2-(14 + 13)) – (133+13-(73+26)) | = | 48 - 47 |

= 1

Selanjutnya, setelah nilai fitur didapatkan Viola-Jones menggunakan metode AdaBoost machine-learning untuk mengetahui suatu fitur apakah merepresentasikan ada tidaknya wajah dalam suatu citra masukan. Metode AdaBoost menggabungkan banyak classifier lemah menjadi satu classifier kuat.

Classifier adalah suatu ciri yang menandakan adanya objek wajah dalam suatu citra. Sedangkan classifier lemah adalah suatu jawaban benar namun memiliki tingkat kebenaran yang kurang akurat, jika digabung maka classifier lemah tersebut akan menghasilkan suatu classifier kuat. Berikut ini adalah gambaran dari metode AdaBoost yang digunakan untuk mendeteksi wajah:

Gambar 2.13, menjelaskan bagaimana metode AdaBoost ini akan menyeleksi nilai fitur dari citra masukan, jika pada fitur tersebut tidak terdeteksi adanya wajah maka akan disimpulkan tidak ada wajah, jika ada akan diteruskan ke tingkat selanjutnya sampai ke tingkat terakhir, lalu akan disimpulkan pada citra masukan terdeteksi adanya wajah. Proses penyeleksian fitur tersebut dengan cara membandingkan nilai fitur dengan nilai ambang yang telah ditentukan pada tiap


(25)

tingkat, jika nilai fitur sama atau diatas nilai ambang maka terdeteksi adanya wajah dalam fitur tersebut.

Gambar 2.13. Metode AdaBoost Machine-Learning

Tingkatan proses penyeleksian fitur diurutkan berdasarkan bobot terberat sampai teringan, sehingga dapat secepat mungkin untuk mengklasifikasikan bahwa tidak terdeteksi wajah dalam citra masukan, pengurutan proses penyeleksian fitur ini disebut cascade classifier.

Gambar 2.14. Fitur Tingkat Pertama Pada Metode Viola-Jones

2.2.7 Principal Component Analysis (PCA)

Principal Component Analysis (PCA) merupakan teknik linier untuk memproyeksikan data vektor yang berdimensi tinggi ke vektor yang mempunyai dimensi rendah[10]. PCA ditemukan pada tahun 1901 oleh Karl Pearson, dan


(26)

telah mengalami pengembangan hingga terakhir oleh Karhunen-Louve pada tahun 1963.

PCA banyak digunakan sebagai alat eksplorasi dalam analisis data dan untuk membuat model prediksi. Sedangkan, pada sistem pengenalan wajah, PCA digunakan untuk keperluan ekstraksi fitur citra, dimana jumlah dimensi dari citra jauh lebih besar dibandingkan dengan jumlah data sampel yang digunakan. Misalnya diketahui suatu citra dengan ukuran hxw, dengan h adalah tinggi citra dan w adalah lebar citra, maka dimensi citra adalah n dengan n=hxw. Jika suatu citra dengan ukuran dimensi n, maka jumlah kombinasi linier dari citra sebanyak n merupakan dimensi yang tinggi, dan ini merupakan masalah besar pada komputasi ketika proses pengukuran. Dengan menggunakan PCA, dimensi yang tinggi tersebut dapat direduksi menjadi dimensi yang rendah. Jumlah dimensi yang dihasilkan oleh PCA tergantung pada jumlah data yang digunakan oleh pelatihan dan jumlah sampel pada masing-masing data pelatihan. Misalkan jumlah data pelatihan adalah k dan masing-masing data mempunyai s model, maka jumlah sampel keseluruhan adalah m dengan m=kxs.

Sebagai contoh, misalnya terdapat data sampel 50 orang dengan 4 pose citra yang digunakan untuk pelatihan, maka m = 50x4 = 200. Jika tinggi citra 150 pixel

dan lebar 110 pixel, maka n = 150x110 = 165.000 pixel. Pada kasus ini, metode ekstraksi fitur menggunakan PCA sangat cocok untuk digunakan karena nilai m<<n (200<<165.000). Pengurangan dimensi yang sangat signifikan ini akan sangat membantu untuk mempercepat waktu komputasinya dalam melakukan klasifikasi.

Data pelatihan mxn dapat dituliskan dengan bentuk matriks yang persamaannya sebagai berikut:


(27)

Jika n>>m dan n merupakan dimensi citra, m adalah jumlah citra dilatih. Perlu dicatat, n merupakan vektor baris hasil bentukan hxw dengan h sebagai tinggi citra dan w merupakan lebar citra. Setiap citra yang digunakan harus dibentuk menjadi matriks baris atau matriks kolom. Sebagai ilustrasi dapat dilihat pada gambar berikut:

a b c d e

f g h i j k l m n o

p q r s t

a b c d e f g h i j k l m n o p q r s t

Gambar 2.15. Representasi Perubahan Dimensi dari 4x5 Menjadi 1x20

2.2.8 Ekstraksi Fitur Menggunakan PCA

Proses ekstraksi fitur bukanlah proses yang singkat, proses ini terdiri dari banyak tahapan, berikut ini adalah bentuk algoritma ekstraksi fitur menggunakan PCA:

a. Pembentukan matriks data citra wajah

Hal pertama yang harus dilakukan adalah pembentukan matriks yang datanya diambil dari pixel setiap citra. Berdasarkan contoh yang telah dijelaskan diatas yaitu, mxn dimana m adalah jumlah citra yang dilatih dan n merupakan dimensi dari citra tersebut, lalu diekstraksi menjadi citra dengan dimensi yang lebih kecil, hasilnya diproyeksikan menjadi sebuah matriks seperti pada persamaan (2.3).

b. Pencarian rata-rata seluruh citra

Setelah matriks data citra wajah terbentuk, maka proses berikutnya adalah proses perhitungan untuk mencari rata-rata hasil seluruh citra. Pencarian nilai rata-rata ini tujuannya untuk mengetahui noise atau persamaan tiap vector yang dapat menganggu keakuratan perhitungan pada PCA, yang dapat dihitung dengan menggunakan rumus:


(28)

Terlihat bahwa hasil perhitungan persamaan diatas adalah merupakan sebuah array yang memuat nilai n, (τ1, τ2, … … …, τn). Array tersebut

nantinya akan digunakan untuk mencari nilai rata-rata nol (zero mean), setelah dibentuk menjadi matriks 1xn terlebih dahulu. Namun, ukuran matriks nilai rata-rata tidak berkesesuaian dengan matriks data citra sampel yang memiliki ukuran mxn, maka perlu dilakukan penggandaan nilai rata-rata.

c. Penggandaan nilai rata-rata.

Pengandaan nilai rata-rata dilakukan untuk menyamakan dimensi nilai rata-rata dengan dimensi data citra sampel sebanyak m, sehingga rata-rata seluruh citra data sampel memiliki dimensi (mxn). Matriks rata-rata citra data sampel yang telah digandakan sebanyak m kali dapat ditulis menggunakan persamaan:

a adalah matriks kolom dengan dimensi mx1 dan a untuk keseluruhan nilai adalah bernilai 1. Nilai dari [μi,1, μi,2, … … …, μi,n] pada baris ke i =

nilai baris ke i+1 dan berlaku maka hasil persamaan diatas dapat digunakan untuk menghitung rata-rata nol.

d. Perhitungan nilai rata-rata nol

Perhitungan nilai rata-rata nol, berfungsi untuk menghilangkan noise

yang dapat menganggu keakuratan padaperhitungan PCA. Perhitungan ini dapat dimodelkan menggunakan persamaan:


(29)

Atau dapat dimodelkan menggunakan matriks seperti pada persamaan berikut:

e. Pembentukan matrik kovarian

Hasil perhitungan nilai rata-rata nol digunakan untuk mendapatkan nilai matriks kovarian. Matriks kovarian merupakan matriks reduksi dari proses ekstraksi PCA, yang memiliki dimensi lebih kecil dibandingkan dimensi matriks citra asli. Berikut ini adalah persamaan matriks kovarian:

Persamaan 2.6 dapat diuraikan menggunakan matriks seperti pada persamaan:

T


(30)

f. Penentuan matriks eigenvalue dan eigenvector

Setelah matriks kovarian didapatkan maka langkah selanjutnya adalah menentukan matriks eigenvalue dan matriks eigenvector.

Matriks eigen dapat dicari menggunakan persamaan:

Dimana C adalah matriks kovarian. Z adalah matriks eigenvalue dengan  sebagai scalar pembentuknya dan I sebagai matriks identitas, persamaan tersebut jika diimplementasikan ke bentuk matriks menjadi persamaan sebagai berikut:

Hasil dari matriks tersebut akan menghasilkan suatu persamaan, sebagai berikut:

Setelah itu dilakukan proses faktorisasi, maka akan didapatkan nilai (1,

2, …, i+1) yang nantinya akan digunakan untuk mencari nilai eigenvector,


(31)

Xi merupakan matriks kolom dengan elemen (x1, x2, …, xi) didalamnya,

dan matriks inilah yang disebut eigenvector. Persamaan (2.13) dapat ditulis menjadi bentuk matriks sebagai berikut:

Kedua matriks tersebut dikalikan hingga didapatkan sebuah persamaan sebagai berikut:

(C11

Dari persamaan (2.14) didapatkan nilai (x1, x2, …, xn+1) yang nantinya

diproyeksikan kedalam suatu matriks baris atau kolom, yang disebut matriks

eigenvector.

g. Pencarian eigenface untuk proses pengenalan wajah

Eigenface didapatkan dari hasil perkalian matriks X atau eigenvector

dengan matriks  yang merupakan matriks hasil perhitungan rata-rata nol pada persamaan (2.7), yang dibagi oleh akar Z, sebagai eigenvalue.

2.2.9 Pencocokan Fitur Menggunakan Metode Nearest Neighbours

Nearest neighbors adalah pendekatan untuk mencari kasus dengan menghitung kedekatan antara kasus baru dengan kasus lama, yaitu berdasarkan pada pencocokan bobot dari sejumlah fitur yang ada. Terdapat banyak metode pengukuran jarak pada nearest neighbor ini, salah satunya euclidean distance

yang akan digunakan pada proses pengenalan wajah ini. Berikut persamaan dari metode euclidean distance:


(32)

Diketahui, Eigenfacetrain ke j merupakan matriks fitur yang dihasilkan oleh pelatihan ke j, dengan j  1..m dan m=k*s. Eigenfaceuji merupakan matriks fitur

citra yang diuji. Hasil pengukuran kemiripan yang didapatkan merupakan nilai minimal dari dv atau ditulis dengan persamaan:

d = min (dv ) (2.18)

2.3 Perangkat Keras

2.3.1 Webcam Logitech C270

Webcam atau kamera web, pada dasarnya adalah sebuah kamera digital yang terhubung ke komputer, yang berfungsi untuk mengambil citra yang akan diolah oleh komputer. Pada awalnya webcam digunakan sebagai alat komunikasi yang menampilkan rentetan citra dan dapat diakses melalui world wide web. Namun, seiring perkembangannya webcam digunakan juga untuk keperluan lainnya.

Gambar 2.16. Webcam Logitech C270

Webcam Logitech C270 merupakan webcam yang memiliki kemampuan yang cukup memenuhi syarat untuk digunakan pada sistem pengenalan wajah

online, karena:

- Memiliki tingkat kecerahan dan ketajaman gambar yang cukup baik. - Memiliki kecepatan frame rate yang tinggi.


(33)

2.4 Perangkat Lunak

2.4.1 C++

C++ merupakan bahasa pemrograman komputer yang dikembangkan oleh Bjarne Stroustrup di Bell Labs pada tahun 1979 merupakan pengembangan pendahulunya yaitu bahasa C. Pada dasarnya fungsi-fungsi bahasa C++ tidaklah berbeda jauh dengan bahasa C, perbedaannya terletak pada penambahan kelas-kelas, fungsi virtual, operator overloading, multiple inheritance, templat, penanganan eksepsi dan fitur-fitur lainnya. Sehingga pada awal penciptaannya bahasa C++ sering disebut dengan istilah “C with Classes”.

C++ memiliki wilayah aplikasi yang cukup luas, karena dapat digunakan untuk membuat banyak program aplikasi diantaranya, perangkat lunak sistem, perangkat lunak aplikasi, driver perangkat keras, perangkat lunak tertanam, aplikasi dengan kinerja yang tinggi pada server dan client, dan perangkat lunak hiburan seperti video game. Contoh program C++ sederhana, sebagai berikut:

#include <iostream>

int main ()

{

std:: cout<<"Hello,new world!\ n "; }

Keterangan:

- #include <iostream>

Pernyataan #include memberitahukan pre-processor untuk menyertakan kode dari iostream. Berkas iostream berisi deklarasi untuk berbagai fungsi yang dibutuhkan oleh perangkat lunak atau kelas-kelas yang dibutuhkan. Pre-processor adalah suatu program yang dijalankan oleh kompilator C++, yang memiliki kemampuan untuk menambahkan dan menghapus kode dari sumber.

- intmain()

Pernyataan ini mendeklarasikan fungsi utama, fungsi adalah modul yang berisi kode-kode untuk menyelesaikan masalah-masalah tertentu.


(34)

- {

Kurung kurawal buka menandakan awal program.

- std ::cout <<"Hello,newworld!\ n ";

Cout adalah sebuah obyek dari library perangkat lunak standar C++ yang digunakan untuk mencetak string ke piranti output standar, biasanya layar komputer. Kompilator menghubungkan kode dari library perangkat lunak standar dengan kode yang telah ditulis untuk mendapatkan hasil yang dapat dieksekusi.

- \n

Bentuk modifier yang digunakan untuk berganti baris setelah menampilkan string.

- }

Kurung kurawal tutup menandakan akhir program.

Kelebihan dari bahasa C++ dibandingkan bahasa lain adalah:

- Bahasa C++ tersedia hampir di semua jenis komputer.

- Kode bahasa C/C++ sifatnya portable dan fleksibel untuk semua jenis komputer.

- Proses eksekusi program bahasa C/C++ lebih cepat. - Dukungan pustaka yang banyak.

- Bahasanya terstruktur

- Sudah mendukung pemrograman berorientasi objek.

Banyaknya kelebihan dari bahasa C++ ini bukan berarti bahasa ini tidak memiliki kekurangan, berikut adalah kekurangan bahasa C++:

- Banyaknya operator serta fleksibilitas penulisan program, yang dapat membingungkan pemakai.

- Bagi pemula pada umumnya akan mengalami kesulitan ketika menggunakan


(35)

2.4.2 Microsoft Visual C++ 2008 Enterprise

Microsoft Visual C++ 2008 Enterprise merupakan IDE (Intergrated Development Environtment) atau lingkungan pemrograman yang sudah dikemas sebagai program aplikasi yang biasanya terdiri dari editor kode, compiler, debugger, dan antarmuka grafis (GUI) builder. Sesuai namanya, Visual C++

menggunakan bahasa C dan C++ sebagai bahasa pemrogramannya. Sesuai dengan versinya, IDE ini diperkenalkan oleh Microsoft pada tahun 2008. Perangkat ini memiliki beberapa keunggulan, diantaranya:

- Gratis.

- Mendukung pembangunan aplikasi native dan non-managed. - Dapat digunakan untuk mengkompilasi .NET serta aplikasi Win32.

Karena sifatnya yang gratis, perangkat lunak ini memiliki banyak kekurangan, diantaranya:

- Tidak dapat mengkompilasi aplikasi yang menggunakan MFC atau ATL. - Tidak mendukung OpenMP, 64-bit compiler, atau editor sumber daya.

Gambar 2.17. Tampilan IDE Microsoft Visual C++2008

2.4.3 Open Source Computer Vision (OpenCV)

Open Source Computer Vision Library, adalah library open source multi


(36)

untuk digunakan baik di kegiatan akademik maupun komersial. Library ini berfungsi untuk mentransformasikan data dari citra diam atau kamera video ke salah satu keputusan atau representasi baru. Semua representasi tersebut dilakukan untuk mencapai beberapa tujuan tertentu.

OpenCV dirilis pada Januari 1999 oleh Visual Interactivity Group di Intel’s

Microprocessor Research Lab. Tujuannya untuk membangun suatu komunitas

open source vision dan menyediakan situs yang mendistribusikan upaya dari komunitas sehingga dapat dikonsolidasi dan dioptimalkan kinerjanya.

Struktur OpenCV secara luas terbagi menjadi lima komponen utama, empat diantaranya terlihat pada gambar dibawah ini[4]:

Gambar 2.18. Struktur Dasar OpenCV

Keterangan:

- Komponen CV berisi pengolahan citra dasar dan algoritma computer vision

tingkat tinggi.

- MLL adalah library pembelajaran mesin, yang meliputi pengklasifikasi statistik dan peralatan clustering.

- HighGUI berisi rutin dan fungsi I/O untuk menyimpan dan membaca video dan citra.

- CXCORE berisi struktur data dan konten dasar.

Komponen lainnya adalah CvAux, tidak ada dokumentasi yang jelas tentang komponen ini, namun secara umum komponen ini berisi area yang tidak terpakai dan algoritma eksperimental.


(37)

Telah banyak pengembangan-pengembangan yang dilakukan oleh kontributor dalam penambahan komponen ke kelas OpenCV, sehingga OpenCV

hingga saat ini, telah memiliki lebih dari 500 fungsi. Beberapa fungsi tersebut diantaranya:

- Metoda Geometrik - Pengenalan Objek - Pengukuran - Segmetasi - Utilitas - Fitur

- Transformasi Citra - Piramida Citra - Tracking

- Kalibrasi Kamera - Pengolahan Citra

Alasan utama penggunaan OpenCV, karena OpenCV memiliki kustomisasi yang tinggi dan kinerja yang baik pada program berbasis bahasa native C/C++. Selain itu terdapat beberapa kelebihan lainnya, yaitu:

- Gratis, karena open source library.

- Memiliki dokumentasi yang cukup banyak.

- Dapat bekerja lebih cepat pada prosesor berbasis intel.

Kekurangannya, yaitu:

- Kurang mendukung bahasa berbasis .NET seperti C#, Visual Basic, Phyton

dan lainnya, sehingga dibutuhkan wrappers mendukungnya.

2.4.4 HaarCascade Frontal Face

HaarCascade Frontal Face adalah suatu library berupa file templet berekstensi xml, yang diciptakan oleh Rainer Leinhart pada tahun 2000. Library

ini mengadopsi metode Viola-Jones yang memiliki fungsi untuk mendeteksi objek berupa wajah dengan posisi tegak lurus ke depan[5].


(38)

Setidaknya terdapat empat file templet HaarCascade Frontal Face, namun hanya satu yang akan digunakan penulis yaitu haarcascade_frontalface_alt.xml.

File templet ini memiliki karakteristik sebagai berikut:

- Menggunakan sub-window citra dengan dimensi 20x20

- Memiliki 22 tahapan (stage 0 sampai stage 21) cascade classifier

- Memiliki 2133 weak classifier (tree)

Berikut ini adalah potongan kode file templet haarcascade_frontalface_alt/xml:

<opencv_storage><haarcascade_frontalface_alt type_id="opencv-haar-classifier">

<size>20 20</size><stages> <_>

<!--stage 0--> <trees>

<_>

<!--tree 0--> <_>

<!--root node--> <feature>

<rects>

<_>3 7 14 4 -1.</_>

<_>3 9 14 2 2.</_></rects> <tilted>0</tilted></feature>

<threshold>4.0141958743333817e-003</threshold> <left_val>0.0337941907346249</left_val>

<right_val>0.8378106951713562</right_val></_></_> <_>

<!--tree 1--> … <!--tree 2--> …

</_> </trees>

<stage_threshold>0.8226894140243530</stage_threshold> <parent>-1</parent>

<next>-1</next></_> <_>

<!--stage 1--> …

<!--stage 10--> …

<!--stage 21--> …

</_></stages></haarcascade_frontalface_alt> </opencv_storage>


(39)

Pada awal kode, tertera <size> yang mendefinisikan ukuran sub-window

yang digunakan yaitu 20x20. Hal ini menunjukan bahwa setiap citra masukan akan dibentuk menjadi sub-window berukuran 20x20 sebelum masuk ketahapan deteksi wajah. Gambar 2.19 akan menjelaskan pembentukan sub-window 20x20.

Gambar 2.19. Pembentukan Sub-Window 20x20

Setelah sub-window terbentuk tahap selanjutnya adalah tahap klasifikasi yang melalui tingkatan-tingkatan (stage) cascade classifier dan tree sebagai weak classifier. Didalam tree terdapat satu node yaitu root node, yang isinya berbeda-beda disetiap tree. Didalam node ini, terdapat fitur Haar (rects), nilai ambang


(40)

(threshold) proses deteksi wajah, nilai batas minimum (left_val) dan nilai batas maksimum (right_val) yang harus dipenuhi agar sub-window lolos ke tahap selanjutnya. Untuk dapat melewati suatu tahapan sub-window harus berhasil melewati setiap tree didalam suatu tahapan. Perhitungan nilai fitur dilakukan juga pada tree. Sebagai contoh, berikut ini adalah perhitungan fitur Haar (rects) pada suatu tree.

<rects>

<_>3 7 14 4 -1.</_> <_>3 9 14 2 2.</_> </rects>

Angka pada kolom pertama dan kedua menunjukan posisi piksel yang akan diklasifikasi (x, y) pada sub-window. Kolom ketiga dan keempat menunjukan lebar dan tinggi fitur. Sedangkan, angka pada kolom terakhir adalah konstanta yang akan dikalikan ke setiap fitur persegi tersebut, dimana angka ini berfungsi untuk menentukan piksel hitam dan piksel putih suatu fitur, dengan ketentuan jika nilai suatu piksel dalam suatu piksel < 0, maka piksel tersebut masuk ke daerah piksel hitam, jika tidak piksel tersebut masuk ke daerah putih.

-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 (-1+2)=1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1


(41)

Gambar 2.20 menjelaskan gambaran fitur dalam sub-window pada kasus fitur Haar (rects) diatas. Sesuai dengan gambar tersebut, piksel hitam adalah piksel dengan nilai fitur = -1, sedangkan piksel putih adalah piksel dengan nilai fitur = (-1+2) = 1. Setelah daerah piksel hitam dan daerah piksel putih ditentukan, langkah selanjutnya adalah menghitung nilai fitur Haar keseluruhan caranya dengan mengurangi jumlah nilai fitur pada piksel area hitam dengan jumlah nilai fitur pada piksel area putih. Hasilnya akan dibandingkandengan nilai yang tertera pada threshold pendeteksian wajah, jika nilainya berada dibawah threshold proses pendeteksian wajah maka fitur dianggap tidak ada, jika diatas threshold

pendeteksian wajah fitur akan dilanjutkan ke left_val dan right_val. Apabila, fitur tersebut memiliki nilai diantara left_val dan right_val, maka sub-window

dinyatakan berhasil melewati tree tersebut.

Untuk dapat melanjutkan ke tingkat classifier selanjutnya, seluruh sub-window harus dapat melewati seluruh tree dalam suatu tingkat, jika tidak maka secara otomatis, sub-window akan dieleminasi dan dianggap bukan wajah. Jika, berhasil melalui keseluruhan tingkat classifier maka sub-window dianggap sebagai wajah.


(42)

33 3.1 Diagram Blok

Sistem ini terdiri dari 2 blok utama yaitu blok proses pelatihan dan proses pengenalan. Blok proses pelatihan terdiri dari webcam dan perangkat lunak yang memproses citra masukan menjadi karakteristik citra yang hasilnya akan disimpan. Sedangkan pada blok proses pengenalan terdiri dari webcam, perangkat lunak yang memproses citra masukan menjadi karakteristik citra, lalu membandingkannya dengan karakteristik citra yang telah disimpan hingga dan memberikan output hasil pengenalan. Berikut ini adalah diagram blok secara keseluruhan:

Gambar 3.1. Diagram Blok Keseluruhan Sistem

3.2 Diagram Alir

Berikut ini adalah diagram alir yang akan digunakan dalam membuat algoritma program untuk mendukung sistem pengenalan wajah secara online ini:


(43)

Gambar 3.2. Diagram Alir Keseluruhan Sistem

Gambar 3.2 menunjukan diagram alir keseluruhan sistem yang dirancang. Dimana, sistem pengenalan wajah proses ini akan diawali dengan inisialisasi

library-library yang akan digunakan oleh program dan diakhiri oleh hasil pengenalan wajah. Input pada sistem ini akan terjadi secara otomatis, jika citra wajah terdeteksi maka proses akan dilanjutkan ke proses pengenalan atau pelatihan jika tidak program akan mencari masukan citra wajah secara terus menerus. Program ini akan selesai ketika ada penekanan tombol selesai pada


(44)

Gambar 3.3. Diagram Alir Proses Simpan Citra

Gambar 3.3 menggambarkan aliran proses penangkapan citra, dimana aliran ini menunjukan bagaimana citra masukan ditangkap, lalu diselaraskan sampai disimpan ke dalam database dalam bentuk file gambar PGM (Portable GrayMap).


(45)

Gambar 3.4. Diagram Alir Proses Pre-Processing Citra Uji

Gambar 3.4 menunjukan diagram alir yang menggambarkan aliran pre-processing citra uji, dimana aliran ini menunjukan proses penyelarasan citra uji.


(46)

Gambar 3.5. Diagram Alir Proses Ekstraksi PCA

Gambar 3.5 menjelaskan tentang proses ekstraksi fitur menggunakan algoritma PCA. Proses ini dimulai dengan pembacaan data-data citra seperti jumlah orang, nama citra wajah orang, dan sebagainya. Lalu, dilakukan proses ekstraksi citra untuk mendapatkan eigenvalue dan eigenvector, kemudian dilanjutkan ke proses penghitungan eigenface.


(47)

Gambar 3.6. Diagram Alir Proses Klasifikasi Citra

Gambar 3.6 menjelaskan proses klasifikasi citra, dimana pada proses inilah proses pengenalan terjadi. Proses ini akan membandingkan dua masukan yaitu fitur citra latih dan fitur citra uji, yang akan menghasilkan suatu nilai yaitu nilai kemiripan. Nilai kemiripan ini nantinya akan melalui proses thresholding, jika nilai kemiripan berada diatas nilai threshold, maka citra uji yang diujikan akan dikenali sebagai citra latih yang memiliki nilai diatas threshold tersebut.

3.3 Perancangan Sistem

3.3.1 Konfigurasi OpenCV2.1

OpenCV 2.1 adalah library tambahan, sehingga tidaklah otomatis terhubung dengan IDE yang digunakan, maka perlu dilakukan konfigurasi tertentu untuk menghubungkan library ini dengan IDE yang digunakan agar sistem pengenalan wajah ini dapat berjalan. Berikut ini adalah tahapan-tahapan konfigurasi penghubungan library OpenCV dengan IDE Microsoft Visual C++ 2008:

1. Penyertaan directory OpenCV

Dengan menambahkan path “$openCVDir\include\opencv” ke opsi include files pada konfigurasi directory VC++: Tools\Options\Projects and Solutions\VC++ Directories.


(48)

Dengan menambahkan path “$openCVDir\lib” ke opsi library files pada konfigurasi directory VC++: Tools\Options\Projects and Solutions\VC++ Directories.

3. Penyertaan source files

Dengan menambahkan 4 path dibawah ini, ke opsi source files pada konfigurasi directory VC++: Tools\Options\Projects and Solutions\VC++ Directories.

a. $openCVDir\src\cv b. $openCVDir\src\cvaux c. $openCVDir\src\cxcore d. $openCVDir\src\highgui

4. Penyertaan library OpenCV pada proyek yang dirancang

Dengan menambahkan library-library files dibawah ini, kedalam linker input properties dari project properties proyek yang dirancang: Project Properties\Configuration Properties\Linker Input.

a. cv210.lib b. cxcore210.lib c. highgui210.lib

3.3.2 Antarmuka Sistem

Antarmuka sistem yang dirancang berupa command prompt dan frame video window yang terpisah, hal ini didasari karena keterbatasan dari library yang tidak mendukung manage code, yang menyebabkan terjadi error pada perancangan dengan antarmuka berbasis windows form application. Rancangan antarmuka pada command prompt terdiri dari:

- Keterangan cara penggunaan sistem pengenalan wajah, yang menjelaskan tentang bagaimana cara melakukan proses pelatihan citra wajah dan cara keluar dari program.

- Keterangan dari data wajah yang tersimpan didalam database.


(49)

Gambar 3.7. Prototype Antarmuka Command Prompt

Sedangkan rancangan pada frame video window terdiri dari:

- Tampilan citra yang ditangkap oleh webcam, dengan frame video windows

berukuran 320x240.

- Segmentasi wajah jika terdapat wajah pada citra yang ditangkap.

- Keterangan nama pemilik citra wajah pelatihan yang mirip dengan citra wajah pengujian.


(50)

41 4.1 Pengujian Antarmuka Sistem

Pada pengujian ini, dilakukan pengujian antarmuka sistem pengenalan wajah yang terdiri dari command prompt dan frame window.

Gambar 4.1. Tampilan Antarmuka Command Prompt

Gambar 4.1 menunjukan tampilan antarmuka command prompt yang berfungsi sebagai controller untuk melakukan proses training wajah dan proses penghentian program, serta sebagai tempat yang menginformasikan proses yang sedang berlangsung pada sistem.


(51)

Gambar 4.2 menunjukan tampilan window frame yang berfungsi menampilkan video hasil tangkapan webcam. Dari window frame ini juga akan ditampilkan wajah yang terdeteksi dan nama orang hasil proses pengenalan.

4.2 Pengujian Proses Deteksi Wajah

Pengujian ini dilakukan dengan mendeteksi ada tidaknya wajah dalam citra masukan yang di-input melalui webcam. Gambar 4.3 menunjukan bagaimana proses deteksi wajah bekerja.

Gambar 4.3. Pengujian Proses Deteksi Wajah

Tabel 4.1. Analisa Proses Deteksi Wajah

Kondisi Pengujian Wajah Terdeteksi Keterangan

Normal Ya

Kondisi terang, posisi wajah lurus terhadap

kamera

Kondisi Gelap Ya Posisi wajah lurus

terhadap kamera

Miring Tidak Kemiringan lebih dari

30º dari sumbu y

Terhalang Objek Tidak Bagian yang terhalangi


(52)

4.3 Pengujian Proses Pelatihan Citra Wajah

Selanjutnya, akan dilakukan pengujian proses pelatihan citra wajah dengan cara memproses citra wajah dan menyimpannya ke dalam database, lalu mengekstraksi citra wajah menjadi karakteristik citra baru yang dinamakan

eigenface. Proses ini dimulai dengan penekanan diawali dengan penekanan

tombol ‘C’ pada keyboard, lalu program akan meminta masukan nama dari citra

wajah yang akan dilatih.

Gambar 4.4. Pengujian Proses Pelatihan Wajah

Dari Gambar 4.4 ditunjukan proses penyimpanan data citra kedalam

database, yang dimana database pada sistem ini berbentuk folder dengan kumpulan data citra wajah hasil penyelarasan. Data citra wajah tersebut disimpan dengan format n_(nama)m.pgm, dimana n adalah nomor wajah yang dilatih, nama adalah nama dari citra wajah dan m adalah nomor citra wajah yang dilatih. Gambar 4.5, menunjukan data citra wajah yang disimpan ke dalam database.


(53)

Setelah, citra wajah disimpan ke dalam database, citra-citra wajah tersebut direkam ke dalam file ‘train.txt’, yang berisikan daftar nomor orang yang dilatih,

nama wajah orang yang dilatih dan directory file citra wajah.

Gambar 4.6. Isi File train.txt

Gambar 4.6 menunjukan isi dari file train.txt, file ini nantinya akan digunakan dalam proses retrain untuk pelatihan ulang data baru yang ada dalam

database. Setelah, proses retrain dilakukan proses selanjutnya adalah proses ekstraksi citra wajah, yang menghasilkan data eigen yang akan digunakan pada proses pengenalan. Gambar 4.7 menunjukan hasil dari ekstraksi citra wajah yang telah dilakukan.

Gambar 4.7. Rata-Rata Citra (kiri) – Eigenface (kanan)

Data-data hasil ekstrasi PCA tersebut, akan disimpan ke dalam file

facedata.xml, yang berisi karakteristik dari suatu citra, seperti eigenvalue,

eigenvector, eigenface, dan lain-lain. Berikut ini adalah potongan isi file


(54)

<?xml version="1.0"?> <opencv_storage>

<nPersons>1</nPersons>

<personName_1>Krisna</personName_1> <nEigens>1</nEigens>

<nTrainFaces>2</nTrainFaces>

<trainPersonNumMat type_id="opencv-matrix">

<rows>1</rows> <cols>2</cols> <dt>i</dt> <data>

1 1</data></trainPersonNumMat> <eigenValMat type_id="opencv-matrix"> <rows>1</rows>

<cols>1</cols> <dt>f</dt> <data>

1.</data></eigenValMat>

<projectedTrainFaceMattype_id="opencv-matrix">

<rows>2</rows> <cols>1</cols> <dt>f</dt> <data>

003 -1.32703932e-003</data></projectedTrainFaceMat> <avgTrainImg type_id="opencv-image"> <width>120</width>

<height>90</height>

<origin>top-left</origin> <layout>interleaved</layout> <dt>f</dt>

<data>

2.95000000e+001 4.95000000e+001 3.75000000e+001 1.25000000e+001

1.25000000e+001 17. 0. 0. 1.25000000e+001 31. 25. 17. 26. 26. 1.35000000e+001 3.25000000e+001 1.25000000e+001

1.25000000e+001 0.

3.85000000e+001 3.85000000e+001 20. 2.25000000e+001 20. 1.25000000e+001 1.25000000e+001 17. 2.25000000e+001 31. 31. 4.95000000e+001 46. 53. 6.55000000e+001 5.45000000e+001 58. …

</data></avgTrainImg>

<eigenVect_0 type_id="opencv-image"> …

</eigenVect_0> </opencv_storage>


(55)

4.4 Pengujian Proses Pengenalan

Pengujian proses pengenalan wajah akan dilakukan dengan membandingkan

eigenface citra uji dengan eigenface citra latih yang telah disimpan dalam

database dengan menggunakan metode euclidean distance.

Gambar 4.8. Pengujian Pengenalan Wajah

Gambar 4.9. Keterangan Pengujian Pengenalan Wajah

4.5 Pengujian Sistem Secara Keseluruhan

Selanjutnya dilakukan pengujian sistem yang telah dibangun secara keseluruhan. Pengujian ini dilakukan dengan membandingkan citra uji dengan jumlah 5 sample citra wajah orang terhadap 5, 10 dan 20 sample citra wajah orang yang telah melalui proses pelatihan. Sample citra wajah orang yang digunakan sebagai citra uji adalah Agung, Hery, Krisna, Azhar dan Tri.


(56)

Tabel 4.2. 5 Sample Citra Latih

Nama Orang Data Citra Latih

Agung

Hery

Krisna

Azhar

Tri


(57)

Tabel 4.3. Pengujian Kondisi Normal Citra Uji Terhadap 5 Citra Latih

Nama Citra Uji Nama Hasil Pengenalan

Agung Agung

Hery Hery

Krisna Krisna

Azhar Krisna

Tri Tri

Keakuratan = (Jumlah Hasil Benar / Jumlah Pengujian) x 100% = (4 / 5) x 100% = 80%

Tabel 4.4. Pengujian Kondisi Gelap Citra Uji Terhadap 5 Citra Latih

Nama Citra Uji Nama Hasil Pengenalan

Agung Agung

Hery Hery

Krisna Azhar

Azhar Azhar

Tri Tri

Keakuratan = (4 / 5) x 100% = 80%

Tabel 4.5. Pengujian Kondisi Miring Citra Uji Terhadap 5 Citra Latih

Nama Citra Uji Nama Hasil Pengenalan

Agung Agung

Hery Hery

Krisna Krisna

Azhar Krisna

Tri Tri


(58)

Tabel 4.6. 10 Sample Citra Latih

Nama Orang Data Citra Latih

Agung

Hery

Krisna

Azhar

Tri

Ida

Fahmi

Ratih


(59)

Cecep

Gambar 4.11. Eigenface 10 Orang Citra Latih

Tabel 4.7. Pengujian Kondisi Normal Citra Uji Terhadap 10 Citra Latih

Nama Citra Uji Nama Hasil Pengenalan

Agung Cecep

Hery Hery

Krisna Krisna

Azhar Hery

Tri Tri


(60)

Tabel 4.8. Pengujian Kondisi Gelap Citra Uji Terhadap 10 Citra Latih

Nama Citra Uji Nama Hasil Pengenalan

Agung Agung

Hery Hery

Krisna Azhar

Azhar Azhar

Tri Tri

Keakuratan = (4 / 5) x 100% = 80%

Tabel 4.9. Pengujian Kondisi Miring Citra Uji Terhadap 10 Citra Latih

Nama Citra Uji Nama Hasil Pengenalan

Agung Agung

Hery Hery

Krisna Ratih

Azhar Hery

Tri Tri

Keakuratan = (3 / 5) x 100% = 60%

Tabel 4.10.20 Sample Citra Latih

Nama Orang Data Citra Latih

Agung

Hery

Krisna


(61)

Tri

Ida

Fahmi

Ratih

Anton

Cecep

Astrid

Emi

Pema


(62)

Eko

Dody

Yoga

Roby

Iqbal


(63)

(64)

Tabel 4.11. Pengujian Kondisi Normal Citra Uji Terhadap 20 Citra Latih

Nama Citra Uji Nama Hasil Pengenalan

Agung Agung

Hery Hery

Krisna Krisna

Azhar Hery

Tri Tri

Keakuratan = (4 / 5) x 100% = 80%

Tabel 4.12. Pengujian Kondisi Gelap Citra Uji Terhadap 20 Citra Latih

Nama Citra Uji Nama Hasil Pengenalan

Agung Agung

Hery Hery

Krisna Krisna

Azhar Azhar

Tri Tri

Keakuratan = (5 / 5) x 100% = 100%

Tabel 4.13. Pengujian Kondisi Miring Citra Uji Terhadap 20 Citra Latih

Nama Citra Uji Nama Hasil Pengenalan

Agung Agung

Hery Hery

Krisna Krisna

Azhar Azhar

Tri Tri

Keakuratan = (5 / 5) x 100% = 100%


(65)

56 5.1 Kesimpulan

Merujuk pada data yang didapatkan pada bab pengujian dan analisa, dirumuskan kesimpulan sebagai berikut:

1. Sistem pengenalan wajah secara online berbasis algortima principal component analysis (PCA) dapat berfungsi dengan baik, meskipun terdapat kekurangan pada sisi antarmuka yang agak sulit untuk digunakan.

2. Berdasarkan pada Tabel 4.13 dan Tabel 4.14, diketahui bahwa sistem ini memiliki tingkat keakuratan yang sangat baik dengan nilai keakuratan sebesar 100%.

3. Berdasarkan pada Tabel 4.7 dan Tabel 4.9, didapatkan nilai tingkat keakuratan sistem pengenalan wajah sebesar 60% yang menandakan bahwa sistem pengenalan wajah kurang bekerja dengan baik pada kondisi 5 citra uji dibandingkan dengan 10 citra latih.

4. Pada Gambar 4.13 diketahui bahwa, semakin banyak data citra yang dilatih tiap orang akan membuat sistem ini memiliki tingkat keakuratan yang lebih baik.

5.2 Saran

Saran yang dipertimbangkan untuk mengembangkan sistem ini lebih baik, adalah:

1. Untuk mendapatkan sistem pengenalan yang lebih akurat dan lebih baik dapat dilakukan dengan merancang sistem pengenalan wajah menggunakan kombinasi algoritma principal component analysis dengan algoritma image processing lain, seperti algoritma independent component analysis, linear discriminant analysis, dan sebagainya.


(66)

2. Sistem pengenalan wajah berbasis principal component analysis ini dapat dikembangkan menjadi suatu aplikasi sistem keamanan atau sistem absensi yang menggunakan wajah sebagai objeknya.

3. Perlunya pengembangan sistem pengenalan wajah dengan bahasa pemrograman lain, seperti bahasa Basic, C#, Java, dan sebagainya. Sehingga, membuat antarmuka sistem ini lebih user-friendly.


(67)

58

[1] Anonim. (n.d.). Experimental and Obsolete Functionality Reference. Retrieved July 19, 2012, from Cognotics - Resource for Cognotive Robotics:

http://www.cognotics.com/opencv/docs/1.0/ref/opencvref_cvaux.htm

[2] Atalay, & Ilker. (1995). Face Recognition Using Eigenfaces.

[3] Bradski, G. (n.d.). Retrieved September 2011, from OpenCV: http://opencv.willowgarage.com/wiki/

[4] Bradsky, G., & Kaehler, A. (2008). Learning OpenCV. Sebastopol: O'Reilly Media, Inc.

[5] Chandra, D., Gaja, N. P., & Nugroho, L. A. (2011). Studi Pendeteksian Wajah Dengan Metode Viola Jones. 48-75.

[6] Garcia, E. (2006, July 17). Matrix Tutorial 3: Eigenvalues and Eigenvectors. Retrieved March 27, 2012, from Mi Islita: http://www.miislita.com/information-retrieval-tutorial/matrix-tutorial-3-eigenvalues-eigenvectors.html

[7] Grgic, M., & Delac, K. (2005, Maret). Retrieved September 2011, from Face Recognition Homepage: http://www.face-rec.org

[8] Hewitt, R. (2007, May). How Face Detection Works. Retrieved June 2012, from Cognotics - Resource of Cognitive Robotics: http://www.cognotics.com/opencv/servo_2007_series/part_2/sidebar.html

[9] Hewitt, R. (2007, Februari). Seeing With OpenCV, Part 5: Implementing Eigenface. Retrieved Januari 2012, from Cognotics - Resource for Cognitive Robotics:

http://www.cognotics.com/opencv/servo_2007_series/part_5/index.html

[10] Purnama, M. H., & Muntasa, A. (2010). Konsep Pengolahan Citra Digital dan Ekstraksi Fitur. Yogyakarta: Graha Ilmu.


(68)

[11] Putra, D. (2010). Pengolahan Citra Digital. Yogyakarta: Penerbit Andi.

[12] Stroustrup, B. (1997). The C++ Programming Language 3rd Ed. Reading, Massachusetts: Addison-Wesley.

[13] Wahana Komputer. (2009). Shortcourse Series : Pemrograman Microsoft Visual C++. Yogyakarta: Penerbit Andi.

[14] Williams, P. X. (n.d.). How to Convert RGB to Grayscale. Retrieved

Agustus 4, 2012, from had to know:


(69)

Nama : Krisna Gunawan

Tempat, tanggal lahir : Bandung, 01 Oktober 1989 Jenis Kelamin : Laki-laki

Agama : Islam

Alamat : Jl. H.M. Mesri No. 34/6B Rt 03 Rw 06 Bandung 40171

No. telepon : 081321042023

Email : kr.gunawan@gmail.com

Pendidikan Formal

2007 – 2012 : Universitas Komputer Indonesia, Bandung.

Fakultas Teknik dan Ilmu Komputer, Jurusan Teknik Komputer.

2004 – 2007 : SMA Pasundan 3, Bandung. 2001 – 2004 : SMP Negeri 6, Bandung.

1994 – 2001 : SD Negeri Pasirkaliki 96/III, Bandung. 1993 – 1994 : TK Kenari, Bandung.

Pendidikan Non-Formal

Maret 2012 – April 2012 : Comlabs USDI-ITB, OpenSource Server and Networking.

Pengalaman Organisasi

2009 – 2011 : Asisten Lab. Elektronika Universitas Komputer Indonesia.


(1)

55

Tabel 4.11. Pengujian Kondisi Normal Citra Uji Terhadap 20 Citra Latih

Nama Citra Uji Nama Hasil Pengenalan

Agung Agung

Hery Hery

Krisna Krisna

Azhar Hery

Tri Tri

Keakuratan = (4 / 5) x 100% = 80%

Tabel 4.12. Pengujian Kondisi Gelap Citra Uji Terhadap 20 Citra Latih

Nama Citra Uji Nama Hasil Pengenalan

Agung Agung

Hery Hery

Krisna Krisna

Azhar Azhar

Tri Tri

Keakuratan = (5 / 5) x 100% = 100%

Tabel 4.13. Pengujian Kondisi Miring Citra Uji Terhadap 20 Citra Latih

Nama Citra Uji Nama Hasil Pengenalan

Agung Agung

Hery Hery

Krisna Krisna

Azhar Azhar

Tri Tri

Keakuratan = (5 / 5) x 100% = 100%


(2)

56 5.1 Kesimpulan

Merujuk pada data yang didapatkan pada bab pengujian dan analisa, dirumuskan kesimpulan sebagai berikut:

1. Sistem pengenalan wajah secara online berbasis algortima principal component analysis (PCA) dapat berfungsi dengan baik, meskipun terdapat kekurangan pada sisi antarmuka yang agak sulit untuk digunakan.

2. Berdasarkan pada Tabel 4.13 dan Tabel 4.14, diketahui bahwa sistem ini memiliki tingkat keakuratan yang sangat baik dengan nilai keakuratan sebesar 100%.

3. Berdasarkan pada Tabel 4.7 dan Tabel 4.9, didapatkan nilai tingkat keakuratan sistem pengenalan wajah sebesar 60% yang menandakan bahwa sistem pengenalan wajah kurang bekerja dengan baik pada kondisi 5 citra uji dibandingkan dengan 10 citra latih.

4. Pada Gambar 4.13 diketahui bahwa, semakin banyak data citra yang dilatih tiap orang akan membuat sistem ini memiliki tingkat keakuratan yang lebih baik.

5.2 Saran

Saran yang dipertimbangkan untuk mengembangkan sistem ini lebih baik, adalah:

1. Untuk mendapatkan sistem pengenalan yang lebih akurat dan lebih baik dapat dilakukan dengan merancang sistem pengenalan wajah menggunakan kombinasi algoritma principal component analysis dengan algoritma image processing lain, seperti algoritma independent component analysis, linear discriminant analysis, dan sebagainya.


(3)

57

2. Sistem pengenalan wajah berbasis principal component analysis ini dapat dikembangkan menjadi suatu aplikasi sistem keamanan atau sistem absensi yang menggunakan wajah sebagai objeknya.

3. Perlunya pengembangan sistem pengenalan wajah dengan bahasa pemrograman lain, seperti bahasa Basic, C#, Java, dan sebagainya. Sehingga, membuat antarmuka sistem ini lebih user-friendly.


(4)

58

[1] Anonim. (n.d.). Experimental and Obsolete Functionality Reference. Retrieved July 19, 2012, from Cognotics - Resource for Cognotive Robotics:

http://www.cognotics.com/opencv/docs/1.0/ref/opencvref_cvaux.htm [2] Atalay, & Ilker. (1995). Face Recognition Using Eigenfaces.

[3] Bradski, G. (n.d.). Retrieved September 2011, from OpenCV: http://opencv.willowgarage.com/wiki/

[4] Bradsky, G., & Kaehler, A. (2008). Learning OpenCV. Sebastopol: O'Reilly Media, Inc.

[5] Chandra, D., Gaja, N. P., & Nugroho, L. A. (2011). Studi Pendeteksian Wajah Dengan Metode Viola Jones. 48-75.

[6] Garcia, E. (2006, July 17). Matrix Tutorial 3: Eigenvalues and

Eigenvectors. Retrieved March 27, 2012, from Mi Islita:

http://www.miislita.com/information-retrieval-tutorial/matrix-tutorial-3-eigenvalues-eigenvectors.html

[7] Grgic, M., & Delac, K. (2005, Maret). Retrieved September 2011, from Face Recognition Homepage: http://www.face-rec.org

[8] Hewitt, R. (2007, May). How Face Detection Works. Retrieved June 2012, from Cognotics - Resource of Cognitive Robotics: http://www.cognotics.com/opencv/servo_2007_series/part_2/sidebar.html [9] Hewitt, R. (2007, Februari). Seeing With OpenCV, Part 5: Implementing

Eigenface. Retrieved Januari 2012, from Cognotics - Resource for Cognitive Robotics:

http://www.cognotics.com/opencv/servo_2007_series/part_5/index.html [10] Purnama, M. H., & Muntasa, A. (2010). Konsep Pengolahan Citra Digital


(5)

59

[11] Putra, D. (2010). Pengolahan Citra Digital. Yogyakarta: Penerbit Andi. [12] Stroustrup, B. (1997). The C++ Programming Language 3rd Ed. Reading,

Massachusetts: Addison-Wesley.

[13] Wahana Komputer. (2009). Shortcourse Series : Pemrograman Microsoft Visual C++. Yogyakarta: Penerbit Andi.

[14] Williams, P. X. (n.d.). How to Convert RGB to Grayscale. Retrieved

Agustus 4, 2012, from had to know:


(6)

Nama : Krisna Gunawan

Tempat, tanggal lahir : Bandung, 01 Oktober 1989 Jenis Kelamin : Laki-laki

Agama : Islam

Alamat : Jl. H.M. Mesri No. 34/6B Rt 03 Rw 06 Bandung 40171

No. telepon : 081321042023

Email : kr.gunawan@gmail.com

Pendidikan Formal

2007 – 2012 : Universitas Komputer Indonesia, Bandung.

Fakultas Teknik dan Ilmu Komputer, Jurusan Teknik Komputer.

2004 – 2007 : SMA Pasundan 3, Bandung. 2001 – 2004 : SMP Negeri 6, Bandung.

1994 – 2001 : SD Negeri Pasirkaliki 96/III, Bandung. 1993 – 1994 : TK Kenari, Bandung.

Pendidikan Non-Formal

Maret 2012 – April 2012 : Comlabs USDI-ITB, OpenSource Server and Networking.

Pengalaman Organisasi

2009 – 2011 : Asisten Lab. Elektronika Universitas Komputer Indonesia.