PERANCANGAN PERANGKAT LUNAK PENGENALAN WAJAH
DENGAN METODE EIGENFACE
SKRIPSI
MUHAMMAD SYUKUR HUTAGALUNG
071401078
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
PERANCANGAN PERANGKAT LUNAK PENGENALAN WAJAH
DENGAN METODE EIGENFACE
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar
Sarjana Komputer
MUHAMMAD SYUKUR HUTAGALUNG
0 7 1 4 0 1 0 7 8
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : PERANCANGAN PERANGKAT LUNAK
PENGENALAN WAJAH DENGAN METODE EIGENFACE
Kategori : SKRIPSI
Nama : MUHAMMAD SYUKUR HUTAGALUNG
Nomor Induk Mahasiswa : 071401078
Program Studi : SARJANA (S1) ILMU KOMPUTER
Departemen : ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI
(Fasilkom-TI) UNIVERSITAS SUMATERA
UTARA
Diluluskan di
Medan,28 Agustus 2014
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Amer Sharif,S.Si,M.Kom M.Andri Budiman B,ST,McompSc,MEM NIP. 197510082008011011
Diketahui/Disetujui oleh
Departemen Ilmu Komputer Fasilkom-TI USU Ketua,
PERNYATAAN
PERANCANGAN PERANGKAT LUNAK PENGENALAN WAJAH DENGAN
METODE EIGENFACE
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, 28 Agustus 2014
PENGHARGAAN
Segala puji dan syukur kepada Allah SWT yang senantiasa melimpahkan rahmat dan karunia-Nya kepada penulis sehingga skripsi ini dapat selesai dalam waktu yang telah ditetapkan.
Skripsi ini merupakan salah satu syarat wajib diselesaikan guna meraih gelar sarjana komputer padajurusan S1 Ilmu Komputer Universitas Sumatera Utara. Adapun judul
yang diangkat penulis adalah “Prancangan perangkat lunak pengenalan wajah dengan metode eigenface”. Terima kasih penulis sampaikan kepada semua pihak yang telah membantu penulis dalam menyelesaikan skripsi ini baik secara langsung maupun tidak langsung. Dalam kesempatan ini penulis mengucapkan terima kasih yang sebesar-besarnya kepada :
1.Ketua Jurusan S1 Ilmu Komputer Bapak Dr. Poltak Sihombing, M.Kom.Bapak Muhammad Andri Budiman, ST, M.CompSc, MEM dan Bapak Amer Sharif,S.Si, M.Kom selaku pembimbing yang telah membimbing dan memberikan panduan dan penuh kepercayaan kepada penulis untuk menyelesaikan skripsi ini.
2. Dosen penguji Bapak Dr. Poltak Sihombing, M.Kom dan Bapak Drs. Marihat Situmorang,M.Kom yang telah memberikan panduan ringkas, padat dan profesional kepada penulis guna penyempurnaan skripsi ini.
3. Sekertaris Jurusan S1 Ilmu Komputer, Ibu Maya Silvi Lydia, B.Sc, M.Sc., Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi beserta para pegawai/staff S1 Ilmu Komputer.
4. Keluarga tercinta, kepada ayahanda dan ibunda tercinta, Drs.H.Maulana Hutagalung dan Hj.Murni Idawani Dalimunthe yang sangat luar biasa sabar,tidak henti-hentinya mendukung dan mendoakan penulis serta memberikan motivasi dan dukungan baik secara moril dan materil.
5. Sahabat yang selalu membantu dan menjadi teman diskusi penulis dalam menyelesaikan skripsi ini diantaranya Takdir tarigan,Eka Patma Rahmansyah S.Kom, Alpiriyandi S.Kom, ahmad syawqi ,yogi aditya putra,indra dongoran,subardi,reza affandi,ardinsyahputra,para anggota RCS dan Rekan-rekan mahasiswa Program Studi S1 Ilmu Komputer pada umumnya dan angkatan 2007 pada khususnya yang telah memberikan dukungan moril dalam penyusunan skripsi ini.
Akhirnya penulis berharap, semoga skripsi ini dapat bermanfaat bagi pribadi penulis, keluarga, masyarakat, organisasi dan negara.
Medan, 28 Agustus 2014 Penulis
ABSTRAK
Sistem pengenalan wajah adalah sistem berbasis komputer yang mampu mengenali karakteristik individu baik secara karakteristik fisiologi maupun karakteristik perilaku untuk mengenali atau mengidentifikasi suatu individu. Pengenalan wajah banyak dikembangkan karena memiliki tingkat kenyamanan dan penerimaan yang tinggi, serta merupakan bagian dari pengenalan pola dengan masukkan berupa citra wajah. Penelitian ini bertujuan untuk merancang sebuah sistem yang dapat mengenali sebuah wajah menggunakan metode eigenfaces. Data yang digunakan oleh sistem berupa foto close up dari bagian muka, dan foto inilah yang akan diinformasikan ke sistem untuk dikenali, sehingga apabila terdapat sebuah foto lain dari orang yang sama diinputkan ke sistem, maka secara otomatis sistem dapat mengenali orang tersebut. Metode penelitian yang akan dilakukan dengan menganalisa dan merancang sebuah program aplikasi untuk mensimulasikan kebenaran hipotesa. Pengujian sistem ini dilakukan dengan mencocokkan foto wajah yang diinputkan dengan foto wajah yang disimpan di database, sehingga sistem dapat mengidentifikasi foto wajah tersebut.
DESIGNING SOFTWARE OF FACE RECOGNITION WITH EIGENFACE METHOD
ABSTRACT
Face recognition system is a computer-based system capable of identifying both physical and behaviour characteristic of one individual. Face recognition has been widely developed because of its comfortability and high acceptance, and as part of pattern recognition with face visual as input. The purpose of this research is to design a system that will recognize faces using the Eigenfaces Method. Data used in the system is a full face close-up photograph. This photo will be inputted to the system to be recognized, so if there is another photo from the same person inputted to the system, it will automatically recognized. The method in this research will be conducted by analyzing and designing an application to simulate a hypothesis. The testing in this system will be done by matching the inputted face with the face stored in the database, then the system will be able to identify the face.
DAFTAR ISI
2.3 Principal Component Analysis (PCA) 13
2.4 Database 15
2.5 Microsoft Visual Studio 17
2.6 Bahasa Pemrograman C# 18
2.7 Webcam 18
2.8 Penelitian Relevan 20
Bab 3 Analisis dan Perancangan Sistem 21
3.1 Analisis Permasalahan 21
3.2 Analisis Proses Pengenalan Wajah 22
3.3 Flowchart Proses Pelatihan 25 3.4 Flowchart Proses Pengenalan 26 3.5 Data Flow Diagram (DFD) 27
3.5.1 Diagram Konteks / DFD Level 0 27
3.5.3 DFD Level 2 29
3.6 Perancangan Antarmuka (Interface) 32
3.6.1 Rancangan Tampilan Utama 32
3.6.2 Rancangan Tampilan Proses Pelatihan Wajah 33 3.6.3 Rancangan Tampilan Proses Pengenalan Wajah 35
Bab 4 Implementasi dan Pengujian 38
4.1 Implementasi Sistem 38
4.2 Pengujian Sistem 38
4.2.1 Tampilan Halaman Utama 38
4.2.2 Tampilan Proses Pelatihan Citra Wajah 40 4.2.3 Tampilan Proses Pengenalan Citra Wajah 43
Bab 5 Kesimpulan dan Saran 46
5.1 Kesimpulan 46
5.2 Saran 46
DAFTAR TABEL
No. Keterangan Hal.
3.1 Spesifikasi Proses Diagram Konteks / DFD Level 0 28
3.2 Spesifikasi Proses DFD Level 1 29
DAFTAR GAMBAR
No. Keterangan Hal.
2.1 Kombinasi Warna RGB 8
2.2 Citra Hasil Proses Eigenfaces 12
3.1 Flowchart Proses Pelatihan 25
3.2 Flowchart Proses Pengenalan 26
3.3 Diagram Konteks / DFD Level 0 27
3.4 DFD Level 1 28
3.5 DFD Level 2 Proses Pelatihan Foto Wajah 30
3.6 DFD Level 2 Proses Pengenalan Foto Wajah 31
3.7 Rancangan Tampilan Utama 33
3.8 Rancangan Tampilan Halaman Proses Pelatihan Wajah 34 3.9 Rancangan Tampilan Halaman Proses Pengenalan Wajah 36
4.1 Tampilan Halaman Utama 39
4.2 Menu Utama 39
4.3 Tampilan Menu Pilihan pada Menu Utama 40
4.4 Tampilan Halaman Menu Training Wajah 40
4.5 Tampilan Proses Pengambilan Wajah Orang 41
4.6 Tampilan Proses Pengisian Biodata 42
4.7 Tampilan Konfirmasi Awal Proses Training 42
4.8 Tampilan Konfirmasi Akhir Proses Training 43
4.9 Tampilan Halaman Proses Pengenalan Wajah 43
4.10 Tampilan Proses Pengambilan Wajah Orang 44
ABSTRAK
Sistem pengenalan wajah adalah sistem berbasis komputer yang mampu mengenali karakteristik individu baik secara karakteristik fisiologi maupun karakteristik perilaku untuk mengenali atau mengidentifikasi suatu individu. Pengenalan wajah banyak dikembangkan karena memiliki tingkat kenyamanan dan penerimaan yang tinggi, serta merupakan bagian dari pengenalan pola dengan masukkan berupa citra wajah. Penelitian ini bertujuan untuk merancang sebuah sistem yang dapat mengenali sebuah wajah menggunakan metode eigenfaces. Data yang digunakan oleh sistem berupa foto close up dari bagian muka, dan foto inilah yang akan diinformasikan ke sistem untuk dikenali, sehingga apabila terdapat sebuah foto lain dari orang yang sama diinputkan ke sistem, maka secara otomatis sistem dapat mengenali orang tersebut. Metode penelitian yang akan dilakukan dengan menganalisa dan merancang sebuah program aplikasi untuk mensimulasikan kebenaran hipotesa. Pengujian sistem ini dilakukan dengan mencocokkan foto wajah yang diinputkan dengan foto wajah yang disimpan di database, sehingga sistem dapat mengidentifikasi foto wajah tersebut.
DESIGNING SOFTWARE OF FACE RECOGNITION WITH EIGENFACE METHOD
ABSTRACT
Face recognition system is a computer-based system capable of identifying both physical and behaviour characteristic of one individual. Face recognition has been widely developed because of its comfortability and high acceptance, and as part of pattern recognition with face visual as input. The purpose of this research is to design a system that will recognize faces using the Eigenfaces Method. Data used in the system is a full face close-up photograph. This photo will be inputted to the system to be recognized, so if there is another photo from the same person inputted to the system, it will automatically recognized. The method in this research will be conducted by analyzing and designing an application to simulate a hypothesis. The testing in this system will be done by matching the inputted face with the face stored in the database, then the system will be able to identify the face.
BAB I
PENDAHULUAN
1.1.Latar Belakang
Dewasa ini kemajuan dunia teknologi berkembang sangat pesat dan berpengaruh
hampir ke seluruh sisi kehidupan. Hal ini dapat kita lihat dengan penggunaan
komputer yang sudah hampir menjadi sebuah bagian dari kehidupan harian kita.
Semakin banyak muncul peralatan-peralatan terkomputerisasi maupun sistem yang
bekerja dengan bantuan komputerisasi yang bertujuan untuk membantu meringankan
tugas manusia. Perkembangan tersebut sangatlah membantu dalam menyajikan data
dan informasi dengan cepat dan efisien.
Seiring perkembangan teknologi tersebut, dikembangkan pula suatu teknologi yang
mampu mengenali seseorang berdasarkan pola wajah. Sistem pengenalan wajah
adalah salah satu bagian dari pengolahan citra yang mengidentifikasi individu
berdasarkan data yang diinputkan berupa karakteristik fisiologis maupun karakteristik
perilaku. Pengetahuan tersebut berdasarkan data yang diinputkan ke dalam database
sehingga setiap orang yang diidentifikasi melalui sistem dapat diketahui datanya.
Permasalahan pengaruh dari data yang akan dimasukkan membuat pemilihan
facedetection yang bagus akan diharapkan meningkatkan keberhasilan penggunaan metode eigenfaces. Pemrosesan informasi terbukti lebih cepat daripada memproses
feature dari muka jika dihadapkan pada videosequences. Untuk itu, pendeteksian wajah menggunakan colorthresholding. Deteksi wajah ini sendiri merupakan sistem pencarian wajah pada suatu citra. Jadi, jika eigenfaces ini mendapatkan data input yang benar-benar muka maka diharapkan akan didapatkan suatu sistem pengenalan
Cara kerja dari colorthresholding, dimana citra akan dibedakan berdasarkan threshold
tertentu dari warna. Cara ini akan digunakan karena waktu yang diperlukan untuk
prosesrelatif singkat. Karena permasalahan luasnya batas threshold jika harus mengenali orang yang berwarna kulit beragam, maka ditentukan untuk membatasi
warna kulit ini menjadi dalam kelompok orang asia, agar warna kulitnya di dalam
batas nilai intensitas yang tidak terlalu tinggi dan rendah.
Salah satu implementasi yang diterapkan sistem pengenalan wajah ini, dalam bidang
keamanan yaitu untuk sistem keamanan gedung, dimana orang yang dapat mengakses
gedung tersebut merupakan orang-orang tertentu saja, terlebih mengingat keamanan
dan keselamatan suatu gedung saat ini merupakan kebutuhan pengguna gedung yang
menginginkan privasi dan rentan terhadap penjahat. Oleh karena itu dibangun suatu
sistem yang dapat membantu pengenalan wajah agar dapat mengetahui data dari orang
yang fotonya diinputkan ke sistem, sehingga meminimumkan timbulnya kesalahan
dalam pengenalan seseorang, dengan menggunakan metode eigenfaces.
1.2.Rumusan Masalah
Berdasarkan uraian pada latar belakang masalah di atas, maka dapat dirumuskan
masalah yang dihadapi penulis dalam pembuatan tugas akhir ini adalah bagaimana
merancang sistem pengenalan wajah untuk mengidentifikasi data foto yang diinputkan
apakah dapat dikenali oleh sistem atau tidak.
1.3.Batasan Masalah
Batasan-batasan masalah yang digunakan dalam tugas akhir ini, adalah:
a. Pembangunan sistem pakar ini menggunakan metode eigenface dari data
penunjang yang sesuai untuk mengatasi masalah diagnosis.
b. Komputer yang akan digunakan memakai sistem operasi Windows XP Service Pack 2.
d. Foto wajah pembanding disimpan dalam bentuk file yang ber-format .jpg
dengan resolusi warna grayscale.
e. Data pemilik wajah disimpan dalam database.
f. Aplikasi yang akan dibangun dengan menggunakan Framework Visual Studio 2010 bahasa pemrograman C#.
g. Penyimpanan data penunjang menggunakan SQL Server 2005.
1.4. Tujuan Penelitian
Tujuandari penelitian ini adalah untuk merancang suatu sistem pengenalan wajah
dengan menggunakan webcam.
1.5. Manfaat Penelitian
Manfaat dari penelitian ini adalah untuk mempermudah dan mempercepat
mendapatkan hasil pengenalan wajah seseorang yang sedang dicari.
1.6. Metodologi Penelitian
Dalam penelitian ini, tahapan-tahapan yang akan dilalui adalah sebagai berikut:
a. Studi Literatur
Pengerjaan skripsi ini dimulai dengan mengumpulkan data yang diperlukan
menggunakan metode Library Research. Penulis mengumpulkan data sebagai referensi baik dari buku, paper, jurnal, makalah, forum, milis, dan sumber-sumber lain yang berkaitan dan beberapa referensi lainnya untuk menunjang pencapaian
penelitian ini.
b. Observasi
Metode ini dilakukan dengan melakukan pengamatan terhadap sistem pengenalan
wajah yang sudah ada.
c. Analisis
Pada tahap ini, dilakukan analisis permasalahan yang ada, batasan yang dimiliki
d. Perancangan dan Implementasi Algoritma
Pada tahap ini akan dilakukan perancangan aplikasi dan implementasi hasil
analisis dalam bentuk hardware dan software.
1.7. Sistematika Penulisan
Agar penulisan menjadi lebih terstruktur, maka penulisan ini dibagi menjadi lima bab,
antara lain sebagai berikut:
BAB 1 :Pendahuluan
Pada bab ini penulis menguraikan latar belakang, rumusan masalah, batasan
masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian dan
sistematika penulisan.
BAB 2 :Landasan Teori
Pada bab ini penulis menguraikan tentang dasar - dasar teoritis pencitraan,
metode eigenface untuk melandasi pemecahan masalah dan teori-teori
sehubungan dengan pendeteksi wajah serta teknologi yang digunakan dalam
pembuatan tugas akhir ini.
BAB 3 : Pembahasan Dan Perancangan
Pada bab ini penulis menguraikan tentang analisis masalah yang akan
dibangun pada sistem pengenalan wajah ini, dan menganalisis apa saja
kebutuhan sistem yang akan dibangun kemudian tahapan selanjutnya adalah
melakukan perancangan sistem yakni dengan membuat Data Flow Diagram
(DFD) atau Diagram Aliran Data (DAD), Flowchart, basis data pengetahuan dan merancang antarmuka sistem.
BAB 4 : Implementasi Dan Pengujian Sistem
Pada bab ini penulis menyajikan tentang implementasi sistem berdasarkan
tahapan perancangan dengan menggunakan metode eigenface dengan
serta tahapan pengujian sistem untuk melihat apakah sistem sudah berjalan
sesuai perancangan atau tidak.
BAB 5 : Kesimpulan Dan Saran
Bab ini berisi mengenai kesimpulan yang diperoleh selama penulisan dan
BAB II
TINJAUAN PUSTAKA
2.1. Pengertian Citra
Citra adalah gambar dua dimensi yang dihasilkan dari gambar analog dua dimensi
yang kontiniu menjadi gambar diskrit melalui proses sampling. Citra digital dapat didefinisikan sebagai fungsi dua variabel, f(x,y), dimana x dan y adalah koordinat spasial sedangkan nilai f(x,y) adalah intensitas citra pada koordinat tersebut, hal tersebut diilustrasikan pada gambar di bawah ini. Teknologi dasar untuk menciptakan
dan menampilkan warna pada citra digital berdasarkan pada penelitian bahwa sebuah
warna merupakan kombinasi dari tiga warna dasar, yaitu merah, hijau, dan biru (Red, Green, Blue - RGB) [6].
Citra digital merupakan citra yang diambil berdasarkan sampling dan kuantitas tertentu sehingga citra digital ini terbentuk dari piksel-piksel yang besarnya tergantung
pada besar kecilnya sampling dan nilainya (besarnya derajat keabuan) tergantung pada kuantitas. Berdasarkan pengertian ini maka model citra digital dinyatakan dalam
bentuk matriks yang nilainya berupa nilai derajat keabuan. Model ini menyatakan
model dari citra grayscale yaitu citra yang terdiri dari derajat keabuan tertentu [3].
2.1.1. Pengolahan Citra
Pengolahan citra merupakan bidang studi yang mempelajari proses pengolahan
gambar dimana baik masukan maupun keluarannya berbentuk berkas citra digital [2].
Pengolahan citra merupakan pengolahan dan analisis citra yang banyak melibatkan
Kebutuhan untuk memproses sebuah gambar dengan cepat dalam satu aplikasi
yang melakukan pengolahan citra adalah salah satu masalah utamanya seperti yang
dikemukakan oleh Chen, “Walau bagaimanapun, aplikasi yang bekerja secara
realtime lebih bergantung pada pemrosesan piksel / signal yang cepat daripada metode optimisasi lain yang rumit dan memakan waktu” [4].
2.1.2. Mode Warna
Menampilkan sebuah citra pada layar monitor diperlukan lebih dari sekedar informasi
tentang letak dari pixel-pixel pembentuk citra. Untuk memperoleh gambar yang tepat dibutuhkan juga informasi tentang warna yang dipakai untuk menggambarkan sebuah
citra digital. Beberapa mode warna yang sering digunakan adalah:
1. Bitmap mode memerlukan 1 bit data untuk menampilkan warna dan warna yang dapat ditampilkan hanya warna hitam dan putih (monochrome).
2. Indexed Color Mode, mengurutkan warna dalam jangkauan 0-255 (8 bit). 3. Grayscale Mode, menampilkan citra dalam 256 tingkat keabuan.
4. RGB Mode, menampilkan citra dalam kombinasi 3 warna dasar (Red, Green, Blue) tiap warna dasar memiliki intensitas warna 0-255 (8 bit).
5. CMYK Mode, menampilkan citra dalam kombinasi 4 warna dasar (cyan, magenta,
yellow, black) tiap warna dasar memiliki intensitas warna 0-255 (8 bit).
Mode warna RGB menghasilkan warna menggunakan kombinasi dari tiga
warna primer merah, hijau, biru. RGB adalah model warna penambahan, yang berarti
bahwa warna primer dikombinasikan pada jumlah tertentu untuk menghasilkan warna
yang diinginkan. RGB dimulai dengan warna hitam (ketiadaan semua warna) dan
menambahkan merah, hijau, biru terang untuk membuat putih. Kuning diproduksi
dengan mencampurkan merah, hijau; warna cyan dengan mencampurkan hijau dan biru; warna magenta dari kombinasi merah dan biru. Monitor komputer dan televisi
memakai RGB. Sorotan electron menghasilkan sinyal merah, hijau, biru yang dikombinasikan untuk menghasilkan berbagai warna yang dilihat pada layar.
Gambar 2.1 Kombinasi Warna RGB
Warna campuran (selain dari putih) dihasilkan dengan menambahkan warna
komponen RGB individual dengan berbagai tingkat saturasi, dengan tingkatan mulai
dari 0.0 hingga 1.0 (0 berarti tidak menggunakan warna tersebut; 1 berarti
menggunakan warna tersebut pada saturasi penuh)[6].
2.1.3. Pengenalan Pola
Pengenalan pola adalah suatu proses analisis gambar, dimana masukkan berupa
sebuah citra dan hasil keluarannya berupa sebuah deskripsi citra tersebut. Proses ini
bertujuan untuk mengekstrak informasi yang disampaikan oleh citra. Pada pengenalan
pola dibutuhkan obyek citra untuk diidentifikasikan. Hasil dari pengenalan pola ini
akan berupa kelas yang merupakan kelompok dari klasifikasinya [2].
FeatureExtraction adalah proses mengambil informasi yang relevan, berhubungan dengan klasifikasi data input dengan bantuan suatu alat. Biasanya
feature extraction dilakukan dengan bantuan piranti lunak. Pemrosesan ini akan mengubah pola data mentah dari gambar menjadi sebuah vector ciri. Penggunaaannya
akan mengurangi data yang berulang dalam sebuah pola gambar. Teknik feature extraction ini digunakan dalam proses, salah satunya face detection [9].
2.1.4. Pengenalan Wajah
Menurut Waring, usaha untuk mendeteksi muka membutuhkan fungsi diskriminasi
efektif yang membedakan antara pola muka dan bukan muka [10]. Pendekatan dalam
1. Metode berdasar pengetahuan
Metode ini mencoba menggambarkan semua pola dari wajah dengan
menggunakan aturan syarat wajah manusia, seperti sebuah wajah memiliki 2
buah mata dan sebuah mulut.
2. Metode berdasar template
Metode ini merepresentasikan wajah dengan template yang diubah-ubah
berdasarkan pada poin-poin fitur wajah. Akan tetapi poin-poin tersebut bisa
menjadi rusak oleh pencahayaan, posisi wajah, tambahan benda pada wajah, atau
perubahan expresi bias saja gagal ditemukan. Namun jika batas anterlalu longgar,
akan terjadi kesalahan deteksi.
3. Metode fitur yang serupa
Metode ini sulit digunakan untuk mendeteksi wajah dalam citra nyata karena
adalah sulit untuk menemukan suatu fitur yang benar-benar serupa dengan
adanya variasi pencahayaan, posisi, dan ekspresi wajah. Untuk mengatasi
kesulitan tersebut, metode berdasar penampilan memberikan keuntungan dan
banyak digunakan dalam pendeteksian wajah. Karena kemampuannya untuk
belajar dari data hasil training, banyaknya variasi, ekspresi, dan posisi bisa
digantikan dengan training menggunakan data awal yang banyak.
4. Metode berdasar tampilan
Metode ini menggunakan spectralhistogram sebagai sebuah representasi dan dukungan mesin vektor sebagi pemilahnya. Spectralhistogram mengeneralisasi dengan cara hanya mengelompokan citra yang mirip secara persepsi. Dan dengan
dukungan mesin vektor, memberikan sebuah fungsi yang memisahkan antara
citra wajah dengan citra selain wajah, walaupun didalam berbagai macam
Proses pengenalan wajah secara umum adalah terdiri dari:
a. Acquisition module, merupakan blok input dari proses pengenalan wajah, sumbernya dapat berasal dari kamera ataupun file citra.
b. Pre-processing module, merupakan proses penyesuaian citra input yang meliputi, normalisasi ukuran citra, histogram equalization untuk memperbaiki kualitas citra
input agar memudahkan proses pengenalan tanpa menghilangkan informasi
utamanya, median filtering untuk menghilangkan noise akibat kamera atau
pergeseran frame, high pass filtering untuk menunjukkan bagian tepi dari citra,
background removal untuk menghilangkan background sehingga hanya bagian
wajah saja yang diproses dan normalisasi pencahayaan ketika mengambil citra
input. Bagian pre-processing ini untuk menghilangkan masalah yang akan timbul
pada proses pengenalan wajah seperti yang dijelaskan sebelumnya.
c. Feature Extraction module, digunakan untuk mengutip bagian terpenting sebagai suatu vektor yang merepresentasikan wajah dan bersifat unik.
d. Classification module, pada modul ini, dengan bantuan pemisahan pola, fitur wajah yang dibandingkan dengan fitur yang telah tersimpan di database sehingga
dapat diketahui apakah citra wajah tersebut dikenali.
e. Training set, modul ini digunakan selama proses pembelajaran proses pengenalan, semakin kompleks dan sering, proses pengenalan wajah akan semakin baik.
f. Database, berisi kumpulan citra wajah.
2.2. Eigenface
Ide utama dari eigenface ini didapat dengan mengambil informasi yang terdapat pada citra muka, lalu memasukkan ke dalam perhitungan matematika yang mudah dan
membandingkannya dengan masing-masing muka dari muka yang diketahui yang
diproses dengan perhitungan yang sama. Jika didapatkan hasil yang sama, maka
dapat disimpulkan bahwa citra yang diinputkan berupa muka dan diketahui.
Proses yang dilakukan oleh perhitungan eigenface ini menggunakan teknik PCA. Hasil yang diperoleh dari PCA ini berupa vektor eigen. Vektor eigen
selanjutnya diurutkan dari besar sampai ke kecil. Gunanya untuk mendapatkan nilai
didapatkan nilai eigenface dengan mengalikan nilai vector yang sudah didapat dari PCA dengan nilai awal citra yang belum diproses PCA [7].
Vektor eigenface yang didapat akan mewakili wajah yang paling menggambarkan subyek. Seperti yang dituliskan di atas, nilai yang dihitung dengan
rumus yang sama akan mempunyai nilai yang sama dengan nilai yang mempunyai
rumus yang sama juga. Karena itu, untuk melakukan pengenalan, nilai vektor input
yang mengandung data citra, akan diproses dengan menggunakan langkah yang sama,
tetapi pada pengenalan ini tidak akan dilakukan perhitungan nilai eigenvektor baru.
Tetapi cukup dengan mencerminkan data input baru terhadap nilai rata-rata citra dan
hasilnya dikalikan dengan nilai vektor eigen yang didapat dari proses pelatihan.
Eigenvector dari suatu transformasi adalah vektor-vektor yang tidak mengalami perubahan sedang eigenvalue dari suatu eigenvector adalah scale factor
dimana eigenvector dikalikan. Eigenvector juga dinyatakan sebagai karakteristik wajah oleh karena itu metoda ini disebut dengan eigenface. Setiap wajah direpresentasikan dalam kombinasi linear eigenface. Kirbi dan Sirovich mengembangkan suatu teknik yang menunjukan wajah menggunakan analisis
komponen, teknik tersebut menghitung koordinat sistem wajah yang disebut dengan
eigenpicture [1].
Hasil yang didapat dari perhitungan proses pengenalan, selanjutnya akan
dibandingkan dengan masing-masing nilai eigenfaces yang paling mencerminkan citra. Hasil perbedaan nilai yang paling kecil ini merupakan citra yang paling
mewakili citra yang diinputkan.
2.2.1. Perhitungan Eigenface
Perhitungan eigenface citra adalah sebagai berikut: a. Mengisi variabel S dengan seluruh citra wajah input.
b. Setiap citra ditranformasikan ke dalam vektor dengan ukuran N .
d. Kemudian tentukan selisih antara citra input dengan citra mean.
e. Selanjutnya vektor orthonormal M, un, yang menunjukkan distribusi data. Vektor ke-k, uk: bernilai maksimum terhadap uk dan ul adalah eigenvector dan
eigenvalue.
f. Nilai matriks C akan diperoleh.
g. Kemudian tentukan eigenvector, v1, u1.
Proses Perhitungan eigenface-nya adalah:
a. Citra wajah baru yang akan ditransformasikan menjadi komponen eigenface,
dibandingkan dengan citra input yang telah diubah manjadi bentuk mean
kemudian dikalikan dengan eigenvector.
b. Kemudian tentukan euclidean distance yang merepresentasikan citra wajah
tersebut.
Gambar 2.2 Citra Hasil Proses Eigenfaces.
2. Ambil citra input X (*.jpg) yang akan dikenali dari database
3. Tentukan nilai mean berikut eigenvalue dari setiap citra
4. Ambil sebuah citra (*.jpg) yang akan dicocokkan dengan citra input dari database
5. Tentukan nilai mean dan eigenvaluenya
6. Apakah eigenvalue dari citra random sama dengan citra input
7. Jika belum sama, maka ulangi lagi langkah ke-4
8. Jika sama, maka tampilkan ke dua citra.
9. Proses selesai.
2.3. Principal Component Analysis (PCA)
Metode Principal Component Analysis (PCA) dibuat pertama kali oleh para ahli statistik dan ditemukan oleh Karl Pearson pada tahun l90l yang memakainya pada
bidang biologi. Kemudian tidak ada perkembangan baru pada teknik ini, dan.
perkembangannya baru mulai pesat pada akhir tahun l930 dan awal 1940. Setelah itu
perkembangannya berkurang sebentar sampai komputer telah berhasil didesain
sehingga dapat mengaplikasikan teknik ini pada masalah-masalah yang masuk akal.
Pada tahun 1947 teori ini muncul lagi dan cukup independen sebagai teori probabilitas
yang ditemukan oleh Karhunen, dan kemudian dikembangkan oleh Loeve pada tahun
l963, sehingga teori ini juga dinamakan Karhunen-Loeve transform pada bidang ilmu
telekomunikasi.
PCA adalah sebuah transformasi linier yang biasa digunakan pada kompresi
data. PCA adalah sebuah teknik statistika yang berguna pada bidang pengenalan,
klasifikasi dan kompresi data citra. PCA juga merupakan teknik yang umum
digunakan untuk menarik fitur-fitur dari data pada sebuah skala berdimensi tinggi.
Dengan cara mentransformasikan citra ke dalam eigenfaces secara linier, proyeksikan citra ke dalam bentuk skala berdimensi n, yang menampakkan properti dari sampel
yang paling jelas sepanjang koordinat.
Fitur yang paling signifikan yang ada pada citra akan menjadi principal component yang akan digunakan untuk pengolahan selanjutnya. Dalam prosesnya
eigenvector dan nilai-nilai yang disebut dengan eigenvalue untuk mendapatkan fitur yang paling signifikan pada dataset. Principal component dicari dengan hubungan:
AC = λC
di mana A adalah matriks yang akan dicari principal component-nya, C adalah
principal component atau disebut dengan eigenvector dan λ adalah eigenvalue. Andaikan A adalah sebuah matriks berdimensi n x n, eigenvalue dari matriks A diperoleh dengan hubungan:
det(A-λI) = 0
di mana I adalah matriks identitas dari A dan λ adalah eigenvalue dari matriks A.
Mencari nilai eigenvector dapat dicari dengan memecahkan (A- λI) v = 0, dalam beberapa kasus dapat dijumpai suatu matriks tanpa eigenvalues di mana karakteristik polinomial-nya adalah λ2 + 1 sehingga eigenvalue-nya adalah bilangan bilangan kompleks i, -i. Eigenvalue juga tidak riil. Sebagai contoh diberi matrik citra A= , polinomial karakteristiknya dapat dicari sebagai berikut:
Ini adalah persamaan kuadrat dengan akarnya λ1 = 2 dan λ2 = 3. Substitusikan λ2 = 3
ke dalam persamaan. Misalnya Y0 adalah Eigenvector yang berasosiasi dengan
Eigenvalue λ2 = 3. Set Y0 dengan nilai:
Substitusikan Y0 dengan v pada persamaan:
dapat disederhanakan lagi menjadi Y0 = -X0
2.4 Database
Database terdiri dari dua kata, yaitu base dan data. Base berarti markas atau gudang, tempat bersarang atau berkumpul. Sedang data adalah representasi fakta dunia nyata
yang mewakili suatu objek seperti manusia pegawai, siswa, guru, pelanggan, barang,
hewan, peristiwa, konsep, keadaan, dan sebagainya yang direkam dalam bentuk
angka, huruf, simbol, teks, gambar, bunyi, atau kombinasinya [8].
Database dapat didefinisikan berdasarkan sejumlah sudut pandang yaitu
sebagai berikut:
1. Himpunan kelompok data (arsip) yang saling berhubungan yang diorganisasi
sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah.
2. Kumpulan data yang saling berhubungan yang disimpan secara bersama
sedemikian rupa dan tanpa pengulangan (Redudance) yang tidak perlu, untuk memenuhi berbagai kebutuhan.
3. Kumpulan file/tabel/arsip yang saling berhubungan yang disimpan dalam media
penyimpanan elektronis.
Database dan lemari arsip sesungguhnya memiliki prinsip kerja dan tujuan yang sama. Prinsip utamanya adalah pengaturan data/arsip. Dan tujuan utamanya
adalah kemudahan dan kecepatan dalam mengambil kembali data/arsip. Perbedaannya
hanya terdapat pada media penyimpanan yang digunakan. Jika lemari arsip
menggunakan lemari dari besi atau kayu sebagai media penyimpanan, maka basis data
menggunakan media penyimpanan elektronis seperti disk (disket atau harddisk). Hal ini merupakan konsekuensi yang logis, karena lemari arsip langsung
dikelola/ditangani manusia, sementara basis data dikelola/ditangani melalui
perantaraan alat/mesin pintar elektronik (yang kita kenal sebagai komputer).
Istilah-istilah yang biasa dipergunakan dalam sistem database adalah sebagai
berikut:
Entitas adalah suatu bentuk organisasi, seperti: Restoran maupun Pegawai. Data yang disimpan di dalam basis data merupakan data operasional suatu enterprise. Contoh data operasional adalah:
Data Restoran Kode, NamaRestoran, Alamat
Data Pegawai NIP, NamaPegawai, JKPegawai
Data MenuMakanan KodeMenu, NamaMenu, Harga.
2. Entitas (entity)
Entitas adalah suatu obyek yang dapat dibedakan dengan obyek lainnya yang
dapat diwujudkan di dalam basis data.
Contoh:
a. Entitas di lingkungan Restoran (Pegawai, Menu Makanan, Gaji).
b. Entitas di lingkungan Kantor (Pegawai, Gaji Pegawai, Tamu).
c. Kumpulan entitas disebut himpunan entitas. Contoh: Restoran merupakan
kumpulan entitas pegawai dan tamu.
3. Attribute/field, karakteristik entitas tertentu.
Contoh:
Entity Menu Makanan atributnya adalah Kode, NmMenu, Harga
Entity Pegawai atributnya adalah NIP, NamaPegawai, JKPegawai
4. Data Value (nilai atau isi data), merupakan data aktual atau informasi yang disimpan di tiap data elemen atau atribut. Isi atribut disebut nilai data.
Contoh:
Atribut NmSiswa Sutrisno, Budiman.
5. Record/Tuple, kumpulan isi elemen data atribut yang saling berhubungan menginformasikan tentang suatu entity secara lengkap.
Contoh: kumpulan atribut NIP, NamaPegawai, JKPegawai berisikan “04345698”,
6. File, kumpulan record sejenis yang mempunyai panjang elemen dan atribut yang
sama, namun berbeda-beda valuenya.
7. Kunci elemen data, sebagai tanda pengenal yang secara unik mengidentifikasi
entitas dari suatu kumpulan entitas.
Contoh: Entitas Pegawai mempunyai atribut-atribut NIP, NamaPegawai,
JKPegawai, menggunakan NIP sebagai kunci elemen data.
Database Management System (DBMS) kemudian yang saling berkaitan bersama dengan program untuk pengelolanya. Database dapat terdiri dari ratusan field
yang dibutuhkan untuk informasi dan dapat diakses/dipakai secara bersama-sama oleh lebih dari beberapa ratus pemakai (user). Karena database dipergunakan secara bersama-sama, mungkin dalam waktu yang bersamaan, maka diperlukan suatu
pengontrol dan pengelola data yang ada di dalamnya.
Pengontrol ini dilakukan oleh DBMS (Database Management System) yang merupakan kumpulan software yang mengkoordinasikan semua kegiatan yang berhubungan dengan basis data agar data dapat diakses/dipakai oleh pengguna.
Tujuannya adalah efisiensi dan kenyamanan dalam memperoleh dan menyimpan
informasi di dalam database.
2.5. Microsoft Visual Studio
Microsoft Visual Studio merupakan sebuah perangkat lunak lengkap (suite) yang dapat digunakan untuk melakukan pengembangan aplikasi, baik itu aplikasi bisnis,
aplikasi personal, ataupun komponen aplikasinya, dalam bentuk aplikasi console, aplikasi Windows, ataupun aplikasi Web. Visual Studio mencakup kompiler, SDK,
Integrated Development Environment (IDE), dan dokumentasi (umumnya berupa MSDN Library). Kompiler yang dimasukkan ke dalam paket Visual Studio antara lain
Visual C++, Visual C#, Visual Basic, Visual Basic .NET, Visual InterDev,Visual J++,
Microsoft Visual Studio dapat digunakan untuk mengembangkan aplikasi
dalam native code (dalam bentuk bahasa mesin yang berjalan di atas Windows)
ataupun managed code (dalam bentukMicrosoft Intermediate Language di atas .NET
Framework). Selain itu, Visual Studio juga dapat digunakan untuk mengembangkan
aplikasi Silverlight, aplikasi Windows Mobile (yang berjalan di atas .NET Compact
Framework).
2.6. Bahasa Pemograman C#
C# adalah bahasa pemrograman baru yang diciptakan oleh Microsoft yang
dikembangkan dibawah kepemimpinan Anders Hejlsberg yang telah menciptakan
berbagai macam bahasa pemrograman termasuk Borland Turbo C++ dan orland
Delphi. Bahasa C# juga telah di standarisasi secara internasional oleh ECMA. Seperti
halnya bahasa pemrograman yang lain, C# bisa digunakan untuk membangun
berbagai macam jenis aplikasi, seperti aplikasi berbasis windows (desktop) dan aplikasi berbasis web serta aplikasi berbasis web services.
2.7. Webcam
Webcam (singkatan dari web camera) adalah sebuah kamera video digital kecil yang dihubungkan ke komputer melalui (biasanya) port USB ataupun port COM. Ada berbagai macam merek webcam, di antaranya LogiTech, Itech, SunFlowwer dan sebagainya. Webcam biasanya ber-resolusi sebesar 352 x 288 / 640 x 480 piksel, namun ada yang kualitasnya hingga 1 megapiksel. Sekarang hampir semua kamera
digital dan telepon genggam bisa dijadikan sebagai kamera web (webcam).
Istilah webcam merujuk pada teknologi secara umumnya, sehingga kata web
terkadang diganti dengan kata lain yang mendeskripsikan pemandangan yang
ditampilkan di kamera, misalnya StreetCam yang memperlihatkan pemandangan jalan, Metrocam yang memperlihatkan pemandangan panorama kota dan pedesaan,
TraffiCam yang digunakan untuk memonitor keadaan jalan raya, cuaca dengan
Kabel support yang dibuat dari bahan yang fleksibel, salah satu ujungnya dihubungkan dengan papan sirkuit (PCB) dan ujung satu lagi memiliki konektor.
Kabel ini dikontrol untuk menyesuaikan ketinggian, arah dan sudut pandang web
camera. Sebuah webcam biasanya dilengkapi dengan software, software ini mengambil gambar-gambar dari kamera digital secara terus menerus ataupun dalam
interval waktu tertentu dan menyiarkannya melalui koneksi internet. Ada beberapa
metode penyiaran dan yang paling umum adalah software mengubah gambar ke dalam bentuk file JPEG dan meng-upload-nya ke web server menggunakan File Transfer Protocol (FTP).
Frame rate mengindikasikan jumlah gambar sebuah software dapat ambil dan transfer dalam satu detik. Untuk streaming video, dibutuhkan minimal 15 frame per second (fps) atau idealnya 30 fps. Untuk mendapatkan frame rate yang tinggi, dibutuhkan koneksi internet yang tinggi kecepatannya. Sebuah webcam tidak harus selalu terhubung dengan komputer, ada webcam yang memiliki software webcam dan
web server bulit-in, sehingga yang diperlukan hanyalah koneksi internet, webcam ini
dinamakan “network camera”.
Penggunaan webcam mencakup video conferencing, internet dating, video messaging, home monitoring, images sharing, video interview, video phone-call, dan banyak hal lain. Kamera untuk video conference biasanya berbentuk kamera kecil yang terhubung langsung dengan komputer. Kamera analog juga terkadang
digunakan, kamera ini terhubung dengan video capture card dan tersambung dengan internet (baik langsung maupun tidak langsung). Saat ini kamera untuk video conference sudah makin maju, sudah ada webcam yang di dalamnya terdapat
microphone maupun noise cancellation untuk memfokuskan audio ke speaker yang terletak di depan kamera sehingga noise yang ada tidak mengganggu jalannya konferensi.
Webcam memiliki fitur-fitur dan setting yang bermacam-macam, di antaranya adalah:
2. Image archiving, pengguna dapat membuat sebuah archive yang menyimpan semua gambar dari webcam atau hanya gambar-gambar tertentu saat interval pre-set.
3. Video messaging, beberapa program messaging mendukung fitur ini.
4. Advanced connections, menyambungkan perangkat home theater ke webcam
dengan kabel maupun nirkabel.
5. Automotion, kamera robotik yang memungkinkan pengambilan gambar secara pan
atau tilt dan setting program pengambilan frame berdasarkan posisi kamera. 6. Streaming media, aplikasi profesional, setup webcam dapat menggunakan
kompresi MPEG4 untuk mendapatkan streaming audio dan video yang sesungguhnya.
7. Custom coding, mengimpor kode komputer pengguna untuk memberitahu webcam apa yang harus dilakukan (misalnya automatically refresh).
8. AutoCam, memungkinkan pengguna membuat webpage untuk webcam-nya secara gratis di server perusahaan pembuat webcam.
2.8. Penelitian Relevan
Penelitian relevan yang dilakukan oleh Kusnadi di mana topik utama membahas
permasalahan pengembangan eigenfaces atau face detection adalah Analisis dan
Perancangan Sistem Pengenalan Wajah menggunakan Web-Camera dengan metode Eigenface. Penulis merancang sistem aplikasi penerapan eigenfaces dengan menggunakan inputan data dari Web-Camera. Dalam penelitian ini, program penulisan dibatasi posisi gambar muka harus berada di tengah dan menjadi pusat dari
Web-Camera, sehingga akan membatasi proses kerja dari eigenface dan ada kemungkinan kesalahan dari faktor pengguna dimana posisi mukanya tidak berada
BAB III
ANALISIS DAN PERANCANGAN SISTEM
Analisis sistem dalam penelitian ini akan dilakukan dalam beberapa tahap yakni
analisis permasalahan sistem dan analisis proses pengenalan wajah. Sedangkan, pada
perancangan sistem dalam penelitian ini akan dijelaskan dengan menggunakan
flowchart, data flow diagram, dan perancangan antarmuka (interface).
3.1 Analisis Permasalahan
Pengenalan wajah merupakan suatu teknologi dimana komputer dapat meniru
kemampuan otak manusia dalam mengenali wajah manusia. Pada manusia, sistem
pengenalan wajahnya yaitu adalah mengunakan alat indera penglihatan manusia yaitu
mata sebagai input bagi sistem. Kemudian melalui berbagai proses, hasil input dari
mata dikirim ke otak sebagai informasi untuk melakukan proses selanjutnya yaitu
proses pengenalan atau mengingat wajah manusia.
Pada pengenalan wajah pada komputer, fungsi alat indra penglihatan pada
manusia dapat ditangani oleh berbagai alat media seperti kamera digital, scanner
ataupun webcam. Citra wajah yang diambil menggunakan media-media tersebut merupakan hasil input yang nantinya akan diproses lebih lanjut oleh aplikasi dalam
komputer. Dimulai dari mengubah format warna dari citra wajah dengan format 24 bit
menjadi format grayscale 8 bit yang kemudian dilanjutkan dengan melakukan training untuk mendapatkan fitur-fitur dari citra wajah.
Pengenalan wajah merupakan salah satu bidang yang sangat menarik untuk
diteliti dan sampai sekarang masih belum ditemukan suatu metode yang benar-benar
terlalu kompleks, sehingga untuk mengembangkan suatu perhitungan yang ideal
adalah hal yang sulit.
Banyak peneliti yang sudah menggunakan metode-metode berbeda, dan tentu
saja dari tiap metode-metode itu ada kelebihan dan juga kekurangannya, bahkan
metode tersebut banyak yang digabungkan, dengan hasil yang lebih baik tetapi masih
belum dapat dikatakan sempurna. Dapat dikatakan bahwa dari sekian banyak
pengembangan dan implementasi aplikasi pengenalan wajah, belum suatu aplikasi
yang mengkombinasikan kecepatan, keakuratan, dan ketahanan terhadap variasi citra
wajah. Kesulitan utama yang dihadapi dalam analisa dan pengenalan wajah adalah
karena variasi dalam satu wajah bisa sangat besar, sedangkan variasi antara wajah
yang berbeda sangat kecil.
Di dalam setiap penelitian tentang pengenalan pola, pasti akan kita temukan
sesuatu yang berhubungan dengan image processing dan computer vision. Image
Processing adalah salah satu jenis teknologi untuk menyelesaikan masalah mengenai
pemrosesan gambar. Dalam Image Processing, gambar yang ada diolah sedemikian
rupa sehingga gambar tersebut lebih mudah diproses, sedangkan Computer Vision
mempunyai tujuan utama yaitu untuk membuat suatu keputusan yang berguna tentang
obyek fisik nyata yang didapat dari perangkat atau sensor.
Dari sekian banyak metode pengenalan wajah yang telah digunakan, kami
menggunakan metode principal component analysis untuk memecahkan masalah yang dihadapi. Hal ini didasari oleh kelebihan-kelebihan pada metode ini antara lain dapat
merepresentasi image wajah dengan sangat rapi, proses yang cepat, tingkat keakurasian yang tinggi.
3.2 Analisis Proses Pengenalan Wajah
Cara yang paling umum digunakan oleh seseorang untuk menentukan mengenali
orang lain adalah dengan pengenalan terhadap wajah seseorang tersebut. Pengenalan
tersebut dilakukan dengan melihat pola dan ciri-ciri wajah orang yang akan dikenali.
diperoleh terlebih dahulu dan terutama didapatkan dari orang yang akan dan ingin
dikenali.
Secara garis besar, tahap pada pengenalan wajah dengan metode eigenfaces
dan deteksi muka dengan color thresholding akan mempunyai proses yang dilakukan sebagai berikut:
1. Melakukan pencarian wajah dari beberapa image input dan menyiapkannya sebagai
inputan untuk pelatihan citra.
Kegunaan utama dari proses pencarian wajah ini adalah untuk mendukung dalam
pengenalan wajah, dengan menyiapkan terlebih dahulu sebelum diinputkan ke
dalam pengenalan wajah. Proses ini akan diharapkan akan membantu dalam
memberikan inputan yang lebih baik dan konsisten kepada proses pelatihan wajah,
sehingga hasil dari pelatihan akan menjadi lebih akurat. Terutama apabila citra
yang digunakan sebagai input memiliki ukuran yang berbeda-beda dan posisi wajah
pada citra tidak tetap (posisi dan jarak wajah pada masing-masing citra tidak sama).
Citra yang akan digunakan sebagai input pencarian wajah diharuskan
menggunakan gambar berwarna karena metode color thresholding yang digunakan dalam deteksi wajah memerlukan input nilai warna. Untuk ukuran dari citra akan
dibuat bisa menerima variasi yang berbeda. Namun jenis file yang akan digunakan
akan bertipe jpeg. Citra yang berbeda-beda ukuran ini, nanti akan diproses untuk
menghasilkan citra baru dengan menggunakan feature classification dan candidate generation, sehingga citra yang akan dijadikan input dalam face recognition
nantinya diharapkan memiliki ciri yang serupa yaitu daerah muka.
Ciri citra yang baik untuk digunakan adalah:
- Keseluruhan wajah terdapat di dalam citra.
- Warna latar belakang, baju dan rambut tidak menyerupai warna kulit
(lebih baik jika berwarna kontras seperti merah, hijau, atau biru)
2. Pelatihan citra dengan menggunakan input dari hasil deteksi wajah dan
melakukan perhitungan pelatihan dengan eigenface
Pada tahap pelatihan, kumpulan citra yang menjadi hasil face detection akan
diproses dengan melakukan perhitungan PCA dengan tujuan untuk mendapatkan
nilai eigenface. Nilai eigenface ini akan diproyeksikan dengan semua citra yang
ada yang sudah dikurangi dengan rata-rata seluruh wajah. Hasil proyeksi ini akan
berupa nilai eigenspace.
3. Pengenalan citra wajah
Pada tahap pengenalan citra wajah, nilai dari citra yang akan dikenali akan
diproyeksikan terhadap nilai eigenface yang telah didapat sebelum dari tahap
pelatihan, sehingga akan didapatkan nilai space untuk citra input. Nilai ini nantinya
akan digunakan untuk mengenali citra wajah tersebut. Dengan mencari jarak yang
paling minimal dengan eucledian distance, maka akan didapatkan citra yang paling
mendekati wajah yang diinputkan.
Pada Gambar 3.1 diperlihatkan aliran kerja berupa flowchart bagian proses pelatihan setiap image wajah.
Gambar 3.1 Flowchart Proses Pelatihan 3.4 Flowchart Proses Pengenalan
Mengaktifkan webcam untuk menampilkan gambar yang berada di depan webcam tersebut
Mulai
Selesai Terdeteksi citra wajah dari webcam?
Menampilkan citra wajah yang berhasil diambil dari webcam
Menyimpan biodata, nilai eigenvalue, dan citra wajah Melakukan proses PCA untuk
mendapatkan eigenvalue Simpan citra
wajah?
Ya
Tidak Ya
Pada Gambar 3.2 diperlihatkan aliran kerja berupa flowchart bagian proses pengenalan wajah.
Gambar 3.2 Flowchart Proses Pengenalan
3.5 Data Flow Diagram
Mengaktifkan webcam untuk menampilkan gambar yang berada di depan webcam tersebut
Mulai
Selesai
Terdeteksi citra wajah dari webcam?
Menampilkan citra wajah yang berhasil diambil dari webcam
Menampilkan biodata dan citra wajah dari database
Menghitung jarak Euclidean antara citra wajah tersebut dengan citra
wajah yang terdapat di dalam database
Ya
Tidak
Melakukan proses PCA untuk mendapatkan eigenvalue
Jarak Euclidean
terkecil?
Ya
Pemodelan dalam sistem ini menggunakan Data Flow Diagram atau yang sering disebut DFD yang digunakan untuk menggambarkan aliran informasi dan proses data
yang bergerak dari pemasukan data hingga keluaran. DFD memudahkan pemakai
yang kurang menguasai bidang komputer untuk mengertisistem yang akan dikerjakan
atau dikembangkan.
3.5.1 Diagram Konteks / DFD Level 0
Diagram konteks atau biasa disebut DFD Level 0 adalah diagram yang terdiri dari
suatu proses yang menggambarkan ruang lingkup sistem secara keseluruhan. Berikut
diagram konteks untuk perangkat lunak pengenalan wajah.
P0
Perangkat Lunak Pengenalan
Wajah User
citra, biodata
citra_wajah
citra_hasil, biodata
Gambar 3.3 Diagram Konteks / DFD Level 0
Pada DFD Level 0 ini, user memberikan input kepada sistem berupa citra / foto wajah yang digunakan untuk proses pelatihan dan pengenalan wajah, biodata / identitas diri
dari setiap citra wajah yang digunakan dalam proses pelatihan. Kemudian setelah
mendapat foto wajah sebagai basis pengetahuan, sistem menghasilkan deteksi wajah
yang membantu user untuk mengetahui informasi mengenai foto wajah yang sedang dideteksi.
Tabel 3.1 Spesifikasi Proses Diagram Konteks / DFD Level 0
No./Nama
P0/Perangkat
Perangkat lunak menerima input citra dan biodata sebagai bagian dari proses
pelatihan. Selanjutnya, perangkat lunak
melakukan proses pengenalan dengan
menerima input citra_wajah untuk mendeteksi / mengenali wajah dan
menampilkan citra_hasil dan biodata
yang terkait dengan citra_wajah tersebut
level 1 dari proses perangkat lunak pengenalan wajah.
P2
Tabel 3.2 Spesifikasi Proses DFD Level 1
No./Nama
Proses Input Keterangan Proses Output
biodata beserta biodata yang dimasukkan
Proses pengenalan wajah dengan
membandingkan nilai-nilai dari
suatu proses yang menggambarkan ruang lingkup proses secara lebih terperinci.
Diagram level 2 merupakan pengembangan dari DFD level 1.
Gambaran DFD level 2 dari proses pelatihan foto wajah ditampilkan pada
Tabel 3.3 Spesifikasi Proses DFD Level 2 Proses Pelatihan Foto Wajah
No./Nama
Proses Input Keterangan Proses Output
P1.1/Input Citra
Wajah
citra Proses mengambil citra wajah yang
ditampilkan oleh webcam. Proses
tersebut mengambil data dari citra
bersangkutan untuk proses
perhitungan PCA selanjutnya.
data_citra
P1.2/Perhitungan
PCA
data_citra Proses menghitung nilai-nilai dari
citra wajah yang dibutuhkan dalam
wajah beserta identitas dari citra
wajah yang bersangkutan ke dalam
database.
data_training
Gambaran DFD Level 2 untuk proses pengenalan foto wajah ditampilkan pada
Gambar 3.6 berikut.
Tabel 3.4 Spesifikasi Proses DFD Level 2 Proses Pengenalan Foto Wajah
No./Nama Proses Input Keterangan Proses Output
P2.1/Input Citra
data_citra Proses menghitung dan
mendapatkan nilai-nilai dari
citra wajah yang dibutuhkan
dalam proses pengenalan
euclidean antara citra wajah
yang hendak dikenali dengan
setiap citra yang disimpan ke
dalam database yang
diperoleh dari proses training
sebelumnya.
data_euclidean
P2.4/Perbandingan
Jarak Euclidean
data_euclidean Proses yang membandingkan
setiap nilai jarak euclidean.
Perbandingan tersebut untuk
mencari nilai jarak euclidean
yang paling kecil.
data_training
P2.5/Hasil Akhir data_training Proses yang menampilkan
hasil pengenalan wajah
Perancangan interface memperlihatkan rancangan yang digunakan untuk mendapatkan gambaran bagaimana suatu sistem akan dibangun. Tampilan interface
tersebut akan menjadi jembatan komunikasi antara sistem dengan user.
3.6.1 Rancangan Tampilan Utama
Rancangan yang akan diperlihatkan terlebih dahulu adalah rancangan halaman
utama. Rancangan halaman utama menampilkan beberapa pilihan menu dari menu
pelatihan, menu pengenalan, menu about, dan exit. Untuk lebih jelasnya, rancangan halaman utama ditampilkan dalam Gambar 3.7.
Gambar 3.7 Rancangan Tampilan Utama
Keterangan:
1. Menu Pelatihan merupakan menu yang digunakan untuk menjalankan proses
pelatihan wajah.
2. Menu Pengenalan merupakan menu yang digunakan untuk menjalankan proses
pengenalan wajah.
3. Menu About merupakan menu yang digunakan untuk memperlihatkan informasi mengenai pembuat aplikasi tersebut.
4. Menu Exit merupakan menu yang digunakan untuk menutup aplikasi.
5. Bagian ini digunakan sebagai tempat untuk menampilkan halaman dari menu
pelatihan, menu pengenalan, dan menu about.
Pelatihan Form Utama
Pengenalan About Exit
1 2 3 4
3.6.2 Rancangan Tampilan Proses Pelatihan Wajah
Rancangan yang diperlihatkan selanjutnya adalah rancangan halaman untuk
proses pelatihan citra wajah. Rancangan halaman proses pelatihan wajah
menampilkan objek yang ditangkap oleh webcam dan selanjutnya sistem akan
mendeteksi dan mengambil bagian wajah dan selanjutnya mencari nilai-nilai yang
akan dibutuhkan dalam proses pengenalan. Setiap hasil pelatihan citra wajah tersebut
akan disimpan ke dalam database beserta biodata / identitas diri dari citra wajah yang
bersangkutan. Rancangan halaman proses pelatihan wajah dapat dilihat pada Gambar
3.8.
Gambar 3.8 Rancangan Tampilan Halaman Proses Pelatihan Wajah
Ambil Gambar
Nama
Alamat
No. Telp Biodata
Train
1 2 3
4
5
6
Keterangan:
1. Bagian ini digunakan sebagai tempat untuk menampilkan objek yang ditangkap
oleh webcam.
2. Tombol “Ambil Gambar” merupakan tombol yang digunakan untuk mengambil
bagian wajah dari objek yang ditampilkan oleh webcam.
3. Bagian ini digunakan sebagai tempat untuk menampilkan hasil pengambilan
gambar wajah.
4. Textbox “Nama” merupakan bagian yang digunakan untuk mengisi nama orang
dari foto wajah orang yang bersangkutan.
5. Textbox“Alamat” merupakan bagian yang digunakan untuk mengisi alamat rumah
dari foto wajah orang yang bersangkutan.
6. Textbox “No. Telp” merupakan bagian yang digunakan untuk mengisi nomor
telepon dari foto wajah orang yang bersangkutan.
7. Tombol “Train” merupakan tombol yang digunakan untuk melakukan proses
perhitungan PCA dan menyimpan nilai-nilai citra wajah dan biodata dari citra
wajah orang yang bersangkutan.
3.6.3 Rancangan Tampilan Proses Pengenalan Wajah
Rancangan halaman selanjutnya adalah rancangan halaman yang digunakan
untuk proses pengenalan wajah. Rancangan halaman proses pengenalan wajah
menampilkan objek yang ditangkap oleh webcam dan kemudian sistem mengambil
bagian wajah dari objek tersebut dan mencari nilai-nilai yang diperlukan untuk
mengenali wajah tersebut. Rancangan halaman proses pengenalan wajah dapat dilihat
Gambar 3.9 Rancangan Tampilan Halaman Proses Pengenalan Wajah
Keterangan :
1. Bagian ini digunakan sebagai tempat untuk menampilkan objek yang ditangkap
oleh webcam.
2. Tombol “Ambil Gambar” merupakan tombol yang digunakan untuk mengambil
citra wajah dari objek yang ditampilkan oleh webcam tersebut.
3. Bagian ini digunakan sebagai tempat untuk menampilkan citra wajah yang diambil
dari objek yang ditampilkan oleh webcam tersebut.
4. Tombol “Kenali” merupakan tombol yang digunakan untuk memulai proses
perhitungan PCA dan mencari nilai jarak euclidean. Tahap akhir dari proses
pengenalan wajah adalah mencari nilai terkecil dari setiap jarak euclidean antara
citra wajah dengan setiap citra wajah yang terdapat di dalam database.
Ambil Gambar
Nama
Alamat
No. Telp Identitas
Kenali
1 2
4
3
5
6
7
5. Bagian ini digunakan sebagai tempat untuk menampilkan hasil pengenalan wajah
berupa citra wajah yang bersesuaian dengan citra wajah dari objek yang ditangkap
oleh webcam tersebut.
6. Textbox “Nama” merupakan tempat untuk menampilkan hasil pengenalan wajah
berupa nama orang dari citra wajah orang yang bersangkutan.
7. Textbox “Alamat” merupakan tempat untuk menampilkan hasil pengenalan wajah
berupa alamat orang dari citra wajah orang yang bersangkutan.
8. Textbox “No. Telp” merupakan tempat untuk menampilkan hasil pengenalan
BAB IV
IMPLEMENTASI DAN PENGUJIAN
4.1 Implementasi Sistem
Bab ini memperlihatkan hasil implementasi dari tahap perancangan sistem pengenalan
wajah. Proses perancangan diimplementasikan ke dalam framework Microsoft Visual Studio 2010 dengan bahasa pemrograman C#. Data diolah dan dimasukkan ke dalam database dengan bantuan SQL Server 2005.
4.2 Pengujian Sistem
Pengujian sistem merupakan tahap di mana hasil implementasi sistem pengenalan
wajah diuji untuk membuktikan apakah sistem yang dibangun dapat memberikan hasil
yang diinginkan. Tujuan dari adanya proses pengujian sistem adalah untuk dapat
memperbaiki setiap fungsi yang tidak bekerja semestinya.
4.2.1 Tampilan Halaman Utama
Pada Gambar 4.1 diperlihatkan tampilan halaman awal ketika aplikasi pertama kali
dijalankan. Pada halaman tersebut terdapat beberapa menu pilihan yang berkaitan
dengan sistem pengenalan wajah. Tampilan setiap menu pada halaman utama
Gambar 4.1 Tampilan Halaman Utama
Pada Gambar 4.2 diperlihatkan empat menu yang terdapat pada halaman
utama. Menu-menu tersebut adalah menu pelatihan, pengenalan, about, dan exit. Menu yang berhubungan dengan proses pengenalan wajah adalah menu pelatihan dan
menu pengenalan.
Gambar 4.2 Menu Utama
Pada Gambar 4.3 diperlihatkan tampilan mengenai tampilan menu pelatihan,
Gambar 4.3 Tampilan Menu Pilihan pada Menu Utama
4.2.2 Tampilan Proses Pelatihan Citra Wajah
Pada Gambar 4.4 diperlihatkan tampilan awal dari proses pelatihan citra wajah. Pada
tampilan tersebut diperlihatkan hasil objek yang berhasil diambil oleh webcam.
Pada Gambar 4.5 diperlihatkan tampilan hasil pengambilan bagian citra wajah
dari objek yang ditampilkan oleh webcam tersebut. Pada awalnya sistem berusaha
mendeteksi ada atau tidaknya citra wajah dengan memberikan tanda kotak merah pada
layar webcam jika sistem berhasil mendeteksi adanya citra wajah pada layar webcam
tersebut. Ketika sistem berhasil mendeteksi citra wajah, user dapat mengeksekusi
tombol “Ambil Gambar” untuk mengambil bagian citra wajah dari objek tersebut.
Hasil pengambilan citra wajah ditampilkan di sebelah kanan dari tombol “Ambil
Gambar”.
Gambar 4.5 Tampilan Proses Pengambilan Wajah Orang
Pada Gambar 4.6 diperlihatkan tampilan user mengisi data nama, alamat, dan nomor telepon dari citra wajah yang bersangkutan. Biodata yang diisikan tersebut
bertujuan untuk menunjukkan identitas diri dari citra wajah yang bersangkutan.
Tombol “Train” digunakan untuk memulai proses perhitungan PCA untuk
didapatkan tersebut selanjutnya akan disimpan ke dalam database bersama dengan
biodata dari citra wajah yang bersangkutan beserta citra wajah tersebut.
Gambar 4.6 Tampilan Proses Pengisian Biodata
Pada Gambar 4.7 ditampilkan konfirmasi sebelum proses pelatihan citra wajah
dimulai. Jika user memilih tombol “yes” maka sistem akan memulai proses
perhitungan tersebut. Demikian sebaliknya, jika user memilih “No” maka sistem akan
menutup halaman konfirmasi dan tidak melakukan proses perhitungan.
Pada Gambar 4.8 diperlihatkan pesan bahwa proses perhitungan telah berhasil
mendapatkan nilai-nilai yang dibutuhkan dalam proses pengenalan dan telah berhasil
menyimpan citra wajah, nilai dan biodata tersebut ke dalam database.
Gambar 4.8 Tampilan Konfirmasi Akhir Proses Training
4.2.3 Tampilan Proses Pengenalan Citra Wajah
Pada Gambar 4.9 diperlihatkan tampilan awal dari proses pengenalan citra wajah.
Pada awal tampilan tersebut diperlihatkan objek yang berhasil diambil dari webcam.
Pada Gambar 4.10 diperlihatkan tampilan hasil pengambilan bagian citra
wajah dari objek yang ditampilkan oleh webcam tersebut. Proses pengambilan citra
wajah tersebut sama dengan proses pengambilan citra wajah pada bagian pelatihan
citra wajah. Sistem memberikan tanda kotak merah pada layar webcam jika sistem
berhasil mendeteksi adanya citra wajah pada layar webcam tersebut. Ketika sistem
berhasil mendeteksi citra wajah, user dapat mengeksekusi tombol “Ambil Gambar”
untuk mengambil bagian citra wajah dari objek tersebut. Hasil pengambilan citra
wajah ditampilkan di sebelah kanan dari tombol “Ambil Gambar”.
Gambar 4.10 Tampilan Proses Pengambilan Wajah Orang
Pada Gambar 4.11 diperlihatkan tampilan hasil akhir dari proses pengenalan
citra wajah. Untuk memulai proses pengenalan wajah, user mengeksekusi tombol
perhitungan PCA untuk mendapatkan nilai seperti halnya pada proses pelatihan citra
wajah sebelumnya. Proses selanjutnya dari pengenalan wajah adalah mencari jarak
Euclidean antara citra wajah dengan setiap citra wajah yang terdapat di dalam
database. Proses terakhir dari proses pengenalan wajah adalah mengambil jarak
Euclidean terkecil dan menampilkan citra wajah tersebut beserta identitas diri dari
citra wajah yang bersangkutan pada kolom yang tersedia.