Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
PENERAPAN FACE RECOGNITION MENGGUNAKAN
METODE EIGENFACE PADA SISTEM PRESENSI KARYAWAN
UNIVERSITAS SANATA DHARMA
SKRIPSI
Diajukan untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Komputer
Program Studi Teknik Informatika
Oleh:
Yunita Wahayuning Putri
NIM : 085314082
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2012
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ii
FACE RECOGNITION APPLICATION USING
EIGENFACE METHOD IN SANATA DHARMA UNIVERSITY OFFICIAL
ATTENDANCE SYSTEM
A THESIS
Presented as Partial Fulfillment of the Requirements
For the Degree of Sarjana Komputer
In Department of Informatics Engineering
By:
Yunita Wahayuning Putri
NIM : 085314082
INFORMATICS ENGINEERING STUDY PROGRAM
INFORMATICS ENGINEERING DEPARTMENT
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2012
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iii
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iv
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
v
HALAMAN PERSEMBAHAN
MOTIVASI DAN SEMANGAT TERBESAR
ADALAH DARI DIRI KITA SENDIRI
Bagaikan bejana dari tanah liat yang bersedia dibentuk
dan menghasilkan kerajinan yang indah,
demikian diri kita siap dibentuk melalui kesulitan-kesulitan
yang kelak akan menjadikan kita pribadi yang berguna
Skripsi ini kupersembahkan untuk :
Tuhan Yesus Kristus
Keluargaku
Teman-temanku
Kekasihku
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vi
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa dalam skripsi yang saya tulis
ini tidak memuat karya/bagian karya orang lain, kecuali yang secara tertulis
diacu dalam naskah ini dan disebutkan dalam daftar pustaka.
Yogyakarta, 23 Juli 2012 Penulis
Yunita Wahayuning Putri
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vii
LEMBAR PERNYATAAN PERSETUJUAN
PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Yang bertanda tangan dibawah ini, saya mahasiswa Universitas Sanata Dharma :
Nama : Yunita Wahayuning Putri
Nomor Mahasiswa : 085314082
Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan
Universitas Sanata Dharma karya ilmiah dengan judul :
PENERAPAN FACE RECOGNITION MENGGUNAKAN METODE
EIGENFACE PADA SISTEM PRESENSI KARYAWAN UNIVERSITAS
SANATA DHARMA
Dengan demikian saya memberikan kepada Perpustakaan Universitas Sanata
Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain,
mengelolanya dalam bentuk pangkalan data, mendistribusikan secara terbatas, dan
mempublikasikannya di internet atau media lain untuk kepentingan akademis
tanpa perlu meminta ijin dari saya maupun memberikan royalti kepada saya
selama tetap mencantumkan nama saya sebagai penulis.
Demikian pernyataan ini yang saya buat dengan sebenarnya.
Dibuat di Yogyakarta
Pada tanggal 23 Juli 2012
Yang menyatakan
Yunita Wahayuning Putri
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
ABSTRAK
Saat ini sistem presensi pada beberapa instansi, perusahaan, atau
perkantoran sudah menggunakan teknologi biometrik salah satunya pemindaian
wajah. Saat melakukan proses presensi, pengguna harus berada pada posisi
tertentu agar dapat dikenali sistem.
Skripsi ini bertujuan untuk mengetahui akurasi sistem dalam mengenali
citra masukan berupa citra wajah dengan berbagai posisi dan ekspresi. Proses
pengenalan citra wajah dilakukan menggunakan metode ekstraksi ciri yaitu
metode Eigenfaces dan menggunakan Euclidean Distance untuk mengukur
kemiripan antara kedua buah citra wajah.
Pada penelitian ini dilakukan 2 jenis pengujian, yaitu pengujian
menggunakan 3-fold cross validation dan pengujian menggunakan user interface.
Pengujian pertama menggunakan data training sebanyak 210 citra dan 105 citra
sebagai data testing. Pada pengujian 3-fold cross validation ini diperoleh error
rate sebesar 13.333% untuk kelompok A dan C yang kemudian digunakan sebagai
model klasifikasi. Untuk pengujian menggunakan user interface diperoleh hasil
bahwa sistem dapat mengenali citra masukan dengan baik ketika resolusinya sama
dengan data citra pelatihan yaitu 2736x3648 piksel.
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
ABSTRACT
Today’s presence system of multiple agencies, companies, or the offices
are already using biometric technology such as face scan. However, the users
must be at certain position to be recognized by the system.
This thesis aims to do research about the accurate of the system in
recognizing the input face image with a variety of position and facial expressions.
Facial image recognition performed using Eigenfaces feature extraction method
and it uses Euclidean Distance method to measure the similarity of two face
images.
This research was done by using two kinds of testing method. The first
was 3-fold cross validation test and second was a test using user interface. The
first test uses 210 training images and 105 images as the testing data. 3-fold cross
validation test obtained 13.333% error rate for the A and C data group which is
used for classification. For test using the user interface, the system can recognize
correctly if the input image has 2736x3648 pixels resolution that similar to the
trained face images.
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
x
KATA PENGANTAR
Citra wajah yang menunjukkan suatu ciri fisik dari seseorang telah banyak
diimplementasikan untuk proses pengenalan. Pendekatan paling umum untuk
proses pengenalan wajah didasarkan pada ciri wajah seperti hidung, mata, alis,
dan sebagainya atau analisis wajah secara keseluruhan. Proses pengenalan telah
banyak diimplemntasikan untuk sistem keamanan, sistem presensi, dan
sebagainya.
Skripsi dengan judul “Penerapan Face Recognition Menggunakan Metode
Eigenface Pada Sistem Presensi Karyawan Universitas Sanata Dharma” yang
telah disusun ini diharapkan dapat memberikan sumbangsih untuk perkembangan
ilmu pengetahuan khususnya dalam bidang pengenalan pola untuk membantu
proses ekstraksi ciri dan proses pengenalan pada sistem presensi.
Terima kasih sebesarnya-besarnya kepada pihak-pihak yang telah membantu
serta mendukung terselesaiknnya penyusunan skripsi ini:
1. Tuhan Yesus Kristus yang selalu melindungi dan memberkati di setiap
langkah.
2. Ibu Sri Hartati Wijono, S.Si, M.Kom selaku selaku dosen pembimbing
atas waktu dan saran yang telah diberikan.
3. Bapak Eko Hari Parmadi, S.Si, M.Kom. dan Bapak Albertus Agung
Hadhiatma,S.T.,M.T. atas saran dan kritikan yang diberikan.
4. Kedua orangtuaku tercinta, Bapak Robin Haryanto dan Ibu Tuty
Sumaryati untuk doa dan perhatian yang selalu diberikan.
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xi
5. Kedua kakakku tercinta, Mega Sapta Aria dan Bayu Agung Satriya untuk
motivasi dan dukungan yang selalu diberikan.
6. Yosaphat Samodra yang setia menemani dan memberikan semangat dalam
penyelesaian skripsi ini.
7. Teman-teman seperjuangan (Linardi, S.Kom., Roy Syahputra) yang
bersedia meluangkan waktunya untuk berdiskusi bersama.
8. Sahabat-sahabat penulis (Ayu Budi Setiawan, Septina Susanti, Mahesa
Ahening Raras Kaesthi, Aditya Bayu Putranto, Regina Ditya Ardhiayana,
Fransisca Siti Sudaryati, Anggit Purbarani) yang selalu memberikan
keceriaan dan berbagi suka duka bersama.
9. Teman-teman kos Edelweis yang selalu mengisi hari-hari bersama penulis
serta dukungan dan doa yang diberikan.
10. Seluruh teman-teman angkatan Teknik Informatika angkatan 2008 serta
pihak-pihak yang tidak dapat penulis sebutkan satu per satu.
Penulis menyadari bahwa masih terdapat kekurangan dalam penyusunan
skripsi ini. Oleh karena itu penulis mengharapkan adanya kritik dan saran dari
berbagai pihak yang bersifat membangun dalam penyempurnaan skripsi ini.
Yogyakarta, 23 Juli 2012
Penulis
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xii
DAFTAR ISI
HALAMAN JUDUL BAHASA INDONESIA..………………………….. i
HALAMAN JUDUL BAHASA INGGRIS……..………………………….. ii
HALAMAN PERSETUJUAN……………………………………………… iii
HALAMAN PENGESAHAN……………………………………………… iv
HALAMAN PERSEMBAHAN……………………………………………. v
HALAMAN PERNYATAAN KEASLIAN KARYA……………………… vi
HALAMAN PERSETUJUAN PUBLIKASI………………………………. vii
ABSTRAK………………………………………………………………….. viii
ABSTRACT………………………………………………………………… ix
KATA PENGANTAR……………………………………………………… x
DAFTAR ISI………………………………………………………………... xii
DAFTAR TABEL ………………………………………………………….. xvi
DAFTAR GAMBAR ………………………………………………………. xvii
BAB I PENDAHULUAN………………………………………………….. 1
1.1 Latar Belakang Masalah…………………………………………... 1
1.2 Rumusan Masalah………………………………………………… 3
1.3 Tujuan…………………………………………………………….. 3
1.4 Batasan Masalah …………………………………………………. 4
1.5 Metodologi Penelitian…………………………………………….. 4
1.6 Sistematika Penulisan…………………………………………….. 5
BAB II LANDASAN TEORI……………………………………………… 7
2.1 Wajah…………..…...…………………………………………….. 7
2.2. Pengenalan Wajah ….……………..……………………………... 8
2.2.1. Pengertian Pengenalan Wajah…...………………………….. 8
2.2.2. Tahap-Tahap Pengenalan Wajah……………………………. 9
2.2.2.1.Pencarian Ciri/Ekstraksi Ciri……….…………………….. 10
2.2.2.2.Proses Pengenalan Wajah………………………………… 12
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiii
2.3. Metode Eigenface………………………………………………… 12
2.4. Principal Component Analysis (PCA)……………………………. 13
2.4.1. Proses Perhitungan PCA……………………………………. 14
2.5. Metode Euclidean Distance………………………………………. 16
BAB III ANALISA DAN PERANCANGAN SISTEM…………………. 18
3.1 Analisis Data.………………………..……………………………. 18
3.1.1. Jenis Data.…………………………………………………. 18
3.1.2. Prosedur Pengambilan Data………………………………… 18
3.2 Perancangan Sistem Secara Umum……………………….……… 20
3.2.1 Use Case………………..………..……………………… 22
3.2.2. Gambaran Sistem ………………………………………. 23
3.3. Perancangan Pelatihan Data……………………………………… 24
3.3.1. Proses Awal…………………………………………….. 25
3.3.2. Ekstraksi Ciri…………………………………………… 25
3.3.3. Proses Pengujian………………………………………... 35
3.4. Perancangan Proses Pengenalan Wajah………………………….. 38
3.5. Perancangan Antarmuka……………...………………………….. 41
3.5.1. Tampilan Antarmuka Proses Pengenalan Wajah……….. 42
3.5.2. Tampilan Antarmuka Menu File………………………... 43
3.5.3. Tampilan Antarmuka Menu Help ……………………… 43
3.5.4. Tampilan Antarmuka Menu About …………………….. 43
3.5.5. Tampilan Open Image………………………….……….. 44
3.5.6. Tampilan Cara Menggunakan Sistem………….……….. 45
3.5.7. Tampilan Tentang Program…………………………….. 45
BAB IV IMPLEMENTASI DAN PENGUJIAN…………………………… 46
4.1 Implementasi Pelatihan Data……………………………………... 46
4.1.1 Implementasi Pemrosesan Awal………………………... 46
4.1.2 Implementasi Proses Ekstraksi Ciri...…………………... 47
4.1.3 Implementasi Proses Pengujian.………………………... 50
4.2 Implementasi Proses Pengenalan Wajah...………………………... 53
4.3 Implementasi Perancangan Antarmuka.…………………………... 55
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiv
4.3.1 Tampilan Proses Pengenalan Wajah..…………………... 55
4.3.2 Tampilan Cara menggunakan Sistem…………………... 58
4.3.3 Tampilan Tentang Program………...…………………... 58
4.4 Hasil Pengujian……………………….…………………………... 59
4.4.1 Hasil Pengujian 3-fold cross validation..……….……..... 59
4.4.1.1.Hasil Pengujian 3-fold cross validation
menggunakan kamera digital………………………..
60
4.4.1.2.Hasil Pengujian 3-fold cross validation
menggunakan webcam ……………………………...
66
4.4.1.3.Hasil Pengujian 3-fold cross validation
menggunakan kamera digital dengan data training
menghadap ke depan ………………………………..
71
4.4.1.4.Hasil Pengujian 3-fold cross validation
menggunakan data training kamera digital dan data
testing webcam ……………………………………..
73
4.4.1.5.Hasil Pengujian 3-fold cross validation
menggunakan data training webcam dan data testing
kamera digital ………………………………………
73
4.4.2 Hasil Pengujian melalui User Interface....……….……... 74
4.4.2.1 Hasil Pengujian Citra Masukan menggunakan data
training dari kamera digital……………………….
74
4.4.2.2 Hasil Pengujian Citra Masukan menggunakan data
training dari webcam………………………………..
77
4.5 Analisa Hasil Pengujian…...………….…………………………... 81
4.5.1 Analisa Hasil Pengujian Pelatihan Data..……….……..... 81
4.5.2 Analisa Hasil Pengujian melalui User Interface....……... 83
4.5.2.1 Hasil Pengujian Citra Masukan menggunakan data
training dari kamera digital…………………………
83
4.5.2.2 Hasil Pengujian Citra Masukan menggunakan data
training dari webcam………………………………..
83
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xv
BAB V KESIMPULAN DAN SARAN……………………………………. 85
5.1 Kesimpulan…………………….……………………………... 85
5.2 Saran…………………………………………………………... 87
DAFTAR PUSTAKA………………………………………………………. 88
LAMPIRAN………………………………………………………………… 89
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvi
DAFTAR TABEL
Tabel Keterangan Halaman
2.1 Kategori Teknik Pengenalan Wajah 11
3.1 Daftar Nama Karyawan Fakultas Sains dan Teknologi 19
3.2 Pengelompokkan Data 36
3.3 Tabel Rancangan Pengujian Data training 37
4.1 Tabel Hasil Pengujian Data training menggunakan
kamera digital 63
4.2 Tabel Hasil Pengujian Data training menggunakan
webcam 68
4.3
Tabel Hasil Pengujian Data training menggunakan
kamera digital dengan data training menghadap ke
depan
70
4.4 Tabel Hasil Pengujian menggunakan data training
kamera digital dan data testing webcam 71
4.5 Tabel Hasil Pengujian menggunakan data training
webcam dan data testing kamera digital 71
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvii
DAFTAR GAMBAR
Gambar Keterangan Halaman
2.1 Susunan Proses Pengenalan Wajah 9
2.2 Matriks N2 x 1 15
3.1 Gambaran Umum Proses Pengenalan Wajah 21
3.2 Use Case 23
3.3 Gambaran Umum Pengenalan Wajah,
(a) Proses pelatihan model menggunakan data training
(b) Proses pengenalan (testing)
24
3.4 Proses Awal 25
3.5 Kombinasi Pengujian 36
3.6 Tampilan antarmuka proses pengenalan wajah 42
3.7 Tampilan antarmuka Menu File 43
3.8 Tampilan antarmuka Menu Help 43
3.9 Tampilan antarmuka Menu About 44
3.10 Tampilan antarmuka Open Image 44
3.11 Tampilan antarmuka System Help 45
3.12 Tampilan antarmuka Tentang Program 45
4.1 Pemrosesan Awal 45
4.2 Implementasi Tampilan Proses Pengenalan Wajah 54
4.3 Implementasi Tampilan Open Image 54
4.4 Implementasi Tampilan Open File 55
4.5 Implementasi hasil proses pengenalan wajah 55
4.6 Implementasi tampilan Menu Help 56
4.7 Implementasi tampilan cara menggunakan sistem 56
4.8 Implementasi Tampilan Menu About 57
4.9 Implementasi Tampilan Tentang Program 57
4.10 Data training kombinasi 1 59
4.11 Data testing kombinasi 1 59
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xviii
4.12 Data training kombinasi 2 61
4.13 Data testing kombinasi 2 61
4.14 Data training kombinasi 3 63
4.15 Data testing kombinasi 3 63
4.16 Data training kombinasi webcam 1 65
4.17 Data testing kombinasi webcam 1 65
4.18 Data training kombinasi webcam 2 66
4.19 Data testing kombinasi webcam 2 67
4.20 Data training kombinasi webcam 3 68
4.21 Data testing kombinasi webcam 3 68
4.22
Hasil Pengujian Citra Masukan menggunakan 1 data
testing dari kamera digital dan data training kamera
(a)pengujian ke-1
(b)pengujian ke-2
(c)pengujian ke-3
73
4.23
Hasil Pengujian Citra Masukan menggunakan 1 data
testing dari webcam dan data training kamera
(a)pengujian ke-1
(b)pengujian ke-2
(c)pengujian ke-3
74
4.24
Hasil Pengujian Citra Masukan menggunakan 1 data
testing dari webcam dan data training webcam
(a)pengujian ke-1
(b)pengujian ke-2
(c)pengujian ke-3
76
4.25
Hasil Pengujian Citra Masukan menggunakan 1 data
testing dari kamera digital dan data training webcam
(a)pengujian ke-1
(b)pengujian ke-2
(c)pengujian ke-3
77
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xviiii
4.26 Citra masukan menggunakan webcam
(a)citra asli (b)citra hasil cropping 78
4.27 Hasil Pengujian Citra masukan menggunakan webcam
(a)citra asli (b)citra hasil cropping 78
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
BAB I
PENDAHULUAN
1.1 Latar Belakang Masalah
Setiap instansi, perusahaan, perkantoran, perkuliahan, sekolah-sekolah,
maupun lembaga-lembaga yang lain tentunya menerapkan sistem presensi untuk
mencatat kehadiran karyawan, mahasiswa, atau murid-muridnya. Sistem
presensi pada tiap instansi tersebut tentu berbeda, ada instansi yang masih
menerapkan sistem presensi secara manual dan ada yang sudah menggunakan
teknologi. Saat ini, sistem presensi secara manual sudah tidak efektif digunakan.
Beberapa hal menunjukkan ketidakefektifan tersebut, seperti pemalsuan tanda
tangan, pemborosan biaya (kertas, tinta cetak, dan sebagainya), pengolahan data
kehadiran yang tidak akurat karena menggunakan tenaga manusia, serta
pembuatan laporan untuk rekapitulasi menjadi lambat. Ketidakefektifan tersebut
mendorong instansi-instansi meninggalkan sistem presensi secara manual.
Sebagai salah satu contoh, Universitas Sanata Dharma, telah beralih dari
sistem presensi karyawan secara manual menjadi sistem presensi berbasis
teknologi biometrik, yaitu pengenalan sidik jari. Pengenalan sidik jari ini
menggunakan sebuah sensor untuk mengenali sidik jari seseorang yang
kemudian sensor dihubungkan dengan sistem presensi karyawan. Dalam
penggunaannya, sistem presensi baru ini sudah cukup efektif dalam hal
pendataan, efisiensi waktu, dan keakuratan data kehadiran. Walaupun sudah
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
cukup efektif, sistem presensi dengan sidik jari ini masih menimbulkan
beberapa permasalahan, antara lain sensor yang digunakan sering mengalami
kerusakan, sensor terkadang kurang dapat mengenali dengan baik sidik jari
seseorang, sensor menjadi tidak akurat dalam mengenali sidik jari seseorang
ketika kondisi tangan basah (berkeringat), terluka (tergores), dan sebagainya.
Beberapa kekurangan tersebut dapat diatasi dengan sebuah pengembangan
sistem yang menerapkan teknologi biometrik yang lain, yaitu pengenalan wajah
(face recognition). Pengenalan wajah telah banyak diaplikasikan dalam sistem
security. Selain digunakan dalam sistem security, pengenalan wajah telah
dikembangkan menjadi aplikasi yang mendukung suatu proses pendataan yang
berhubungan dengan sistem informasi, seperti pendataan alamat paket barang,
pendataan karyawan, dan sebagainya. Dalam aplikasinya sendiri pengenalan
wajah menggunakan sebuah kamera untuk menangkap wajah seseorang
kemudian dibandingkan dengan sistem pengenalan wajah yang sebelumnya
telah mengolah pola koleksi wajah. Pengenalan wajah ini akan
diimplementasikan dengan menggunakan metode Eigenface. Konsep Eigenface
adalah serangkaian eigenvector yang digunakan untuk mengenali wajah
manusia dalam suatu computer vision. Eigenvector berasal dari covariance
matrix yang memiliki distribusi probabilitas yang tinggi dan dimensi ruang
vektor untuk mengenali kemungkinan sebuah wajah.
Pengenalan wajah menggunakan metode eigenface pernah dilakukan oleh
(Bayu, S., Hendriawan, A., Susetyoko, R., 2009) untuk sistem keamanan
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
rumah. Konsep pembuatan aplikasi tersebut yaitu untuk membedakan antara
pemilik dan pencuri. Tingkat keberhasilan penggunaan metode tersebut
mencapai 87,5% untuk mengenali wajah pemilik rumah. Kelebihan penggunaan
metode ini adalah dapat mengenali berbagai ekspresi wajah secara real time.
Berdasarkan permasalahan yang ada, penulis akan menerapkan
pengenalan wajah (face recognition) dengan metode eigenface pada prototype
sistem presensi karyawan USD dengan tujuan untuk mendata kehadiran
karyawan-karyawan USD dan untuk dapat mengenali identitas karyawan-
karyawan berdasarkan masukan citra wajah. Data yang digunakan masih berupa
sampel dari 15 karyawan Fakultas Sains dan Teknologi.
1.2 Rumusan Masalah
Berdasarkan latar belakang yang telah disebutkan sebelumnya, maka dapat
dirumuskan permasalahan, yaitu: berapa akurasi metode eigenface membantu
mengenali wajah.
1.3 Tujuan
Adapun tujuan dari penelitian ini, antara lain :
1. Mengimplementasikan metode eigenface dengan masukan berupa data
wajah.
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
2. Melakukan proses pengenalan wajah dengan masukan wajah pada posisi
yang berbeda-beda.
1.4 Batasan Masalah
Penelitian ini memiliki batasan permasalahan, antara lain :
1. Pengambilan citra wajah karyawan dilakukan di dalam ruangan dengan latar
belakang polos (tidak terdapat obyek-obyek yang lain).
2. Sistem yang dibuat merupakan prototipe sistem pengenalan wajah untuk
presensi karyawan.
1.5 Metodologi Penelitian
Metodologi penelitian yang dilakukan sebagai berikut :
1. Studi literatur untuk mempelajari teori pengenalan wajah dan teknik
Principal Component Analysis dalam hal ini metode Eigenface yang
digunakan untuk proses pengenalan.
2. Analisis data bertujuan untuk mengetahui bagaimana cara memperoleh data
yang akan digunakan dalam penelitian.
3. Pengembangan sistem menggunakan model Waterfall (Pressman, 2002).
Tahapan-tahapan pengembangan sistem sebagai berikut :
- Analisis
Analisis adalah tahap untuk menentukan analisis terhadap permasalahan
yang dihadapi dan menentukan kebutuhan software.
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
- Desain
Desain adalah proses menterjemahkan kebutuhan sistem ke dalam sebuah
gambaran program, yaitu dengan mendesain use case, penggunaan
algoritma dan desain model data yang akan digunakan.
- Implementasi
Implementasi merupakan proses penterjemahan desain ke dalam bentuk
yang dapat dieksekusi. Implementasi dilakukan dengan menggunakan
MATLAB.
- Pengujian
Pengujian memastikan apakah semua fungsi-fungsi program berjalan
dengan baik dan menghasilkan output yang sesuai dengan yang
dibutuhkan. Pengujian dilakukan dengan menguji data training
menggunakan k-fold cross validation (Refaeilzadeh, dkk, 2008). Data
training dibagi menjadi 3 bagian. Pengujian dilakukan untuk mengetahui
akurasi sistem pengenalan wajah dan metode Eigenface yang digunakan.
1.6 Sistematika Penulisan
Sistematika penulisan laporan tugas akhir ini adalah sebagai berikut :
BAB I PENDAHULUAN
Berisi latar belakang masalah, rumusan masalah, batasan masalah, tujuan
sistem, manfaat sistem dan metode penelitian serta sistematika penulisan
laporan.
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
BAB II DASAR TEORI
Bab ini berisi landasan teori yang dipakai untuk pembahasan laporan tugas
akhir.
BAB III ANALISIS DAN PERANCANGAN SISTEM
Bab ini berisi tentang analisis dan perancangan sistem yang akan
diimplementasikan.
BAB IV IMPLEMENTASI SISTEM
Bab ini berisi tentang proses implementasi sesuai dengan rancangan sistem
yang dibuat.
BAB V ANALISIS HASIL
Bab ini berisi tentang analisis hasil implementasi sistem.
BAB VI PENUTUP
Bab ini berisi tentang kesimpulan dan saran untuk sistem.
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
BAB II
LANDASAN TEORI
2.1 Wajah
Wajah merupakan kontur kulit manusia yang terdapat pada bagian
kepala depan (Nugroho, 2009). Wajah pada tiap orang pasti memliki
perbedaan, sehingga dapat dilakukan pengenalan identitas seseorang.
Pengenalan tersebut dapat dilakukan secara real time dengan menggunakan
suatu teknologi komputer. Sebelum melakukan pengenalan, sebuah wajah
harus diambil/difoto menggunakan kamera digital /webcam, hasilnya menjadi
sebuah citra digital.
Citra digital tersusun dari titik-titik atau kumpulan elemen-elemen
gambar yang disebut piksel (picture element). Piksel adalah element terkecil
dari sebuah citra digital. Dengan jumlah total piksel adalah M x N. Dimana M
merupakan nilai height atau nilai tinggi citra digital dan N adalah nilai width
atau nilai lebar citra digital.
Sebuah citra wajah digital berupa sebuah matriks yang berisi nilai-
nilai intensitas warna. Nilai-nilai tersebut yang nantinya akan digunakan
untuk proses pengenalan.
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
2.2 Pengenalan Wajah
2.2.1. Pengertian Pengenalan Wajah
Pengenalan wajah adalah salah satu teknologi biometrik yang telah
banyak diaplikasikan untuk sistem keamanan, sistem absensi, pembuatan
SIM, dan sebagainya. Pengenalan wajah akan melakukan pengenalan
secara otomatis atas identitas seseorang berdasarkan ciri wajah dengan
mencocokkan ciri tersebut dengan ciri wajah yang telah disimpan pada
basisdata (Putra, 2009).
Secara umum, sistem biometrika atau sistem pengenalan memiliki
5 modul dasar (Putra, 2009), antara lain :
1. Modul sensor, merupakan modul untuk mengumpulkan data,
mengambil data biometrika pengguna dan mengolahnya menjadi
bentuk yang layak untuk proses pengolahan berikutnya.
2. Modul pemisahan ciri, yaitu modul untuk menghasilkan ciri unik dari
biometrika yang digunakan yang dapat membedakan seseorang
dengan yang lain. Modul ini akan mengubah data dari modul sensor
ke dalam representasi matematika yang diperlukan oleh modul
pencocokan.
3. Modul pencocokan, modul untuk menentukan tingkat
kesamaan/ketidaksamaan antara ciri biometrika yang diuji dengan ciri
biometrika acuan pada basisdata.
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
4. Modul keputusan, modul untuk memutuskan apakah pengguna yang
diuji diterima atau ditolak berdasarkan skor hasil pencocokan. Sah
atau tidak sahnya pengguna diputuskan berdasarkan suatu nilai
ambang (threshold).
5. Modul penyimpanan data, merupakan modul untuk mendaftarkan ciri
biometrika pengguna ke dalam basisdata acuan. Basisdata ini yang
akan digunakan sebagai acuan saat proses pengenalan.
2.2.2. Tahap-tahap Pengenalan Wajah
Dalam melakukan pengenalan wajah (face recognition), ada
beberapa tahapan proses yang harus dilalui, seperti :
Deteksi Wajah
Citra input
Pengenalan Wajah
Ekstraksi Ciri
Identifikasi / Verifikasi
simultan
Gambar 2.1 Susunan Proses Pengenalan Wajah
(disesuaikan dengan Zhao dan Chellapa, 2006: 5)
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
Deteksi wajah (face detection) merupakan proses awal yang harus
dilakukan pada citra input untuk mendeteksi adanya citra wajah di
dalam citra masukan. Namun, berdasarkan Gambar 2.1 tahap-tahap
proses pengenalan wajah dikelompokkan menjadi 2 bagian, yaitu
proses ekstraksi ciri dan proses pengenalan wajah (Zhao dan Chellapa,
2006). Proses deteksi wajah akan dilakukan bersama dalam proses
ekstraksi ciri. Hal ini dikarenakan dalam proses deteksi wajah
diperlukan ekstraksi ciri di dalam citra masukan yang akan mendeteksi
apakah citra masukan merupakan citra yang mengandung ciri wajah.
2.2.2.1 Pencarian Ciri / Ekstraksi Ciri
Secara umum, (Zhao dan Chellapa 2006) menjelaskan ada dua
macam ciri (feature) pada wajah, yaitu holistic features dan facial
feature. Facial feature contoh cirinya adalah warna dan bentuk,
besar dan letak hidung, mulut, mata, telinga, dan lain-lain.
Sedangkan pada holistic features setiap cirinya adalah merupakan
suatu karakteristik dari seluruh wajah. Wajah dianggap sebagai
kesatuan yang utuh.
Untuk melakukan ekstrak ciri pada wajah, (Zhao dan Chellapa,
2006) membedakan teknik pengenalan wajah menjadi tiga metode,
sebagai berikut :
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
Tabel 2.1 Kategori Teknik Pengenalan Wajah
Holistic methods
Principal Component Analysis
- Eigenfaces
- Probabilistic eigenfaces
- Fisherfaces
- SVM
- Evolution pursuit
- Feature line
- ICA
Gambaran lain
- LDA/FLD
- PDBNN
- Kernel faces
- Tensorfaces
Features-based methods
- Method Geometri Murni
- Arsitektur Dinamis
- Model Hidden Markov
- Konvolusi Jaringan Syaraf
Hybrid methods
- Modular eigenfaces
- Hybrid LFA
- Normalisasi Bentuk
- Dasar Komponen
(disesuaikan dengan Zhao dan Chellapa, hal. 15)
a. Holistic methods
Metode ini digunakan untuk menyelesaikan kasus holistic
features yaitu mencari informasi secara keseluruhan pada
wajah.
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
b. Features-based
Metode ini digunakan untuk menyelesaikan kasus facial
features yaitu mencari informasi berdasarkan ciri yang ada
pada wajah seperti hidung, mata, telinga, dan lain-lain.
c. Hybrid methods
Metode ini merupakan penggabungan dari metode holistic
methods dan features-based.
2.2.2.2 Proses Pengenalan Wajah
Proses pengenalan wajah atau biometrika yang lain merupakan
proses pencocokan yang digunakan untuk menentukan tingkat
kesamaan dan ketidaksamaan dua vektor ciri (Putra, 2009). Tingkat
kesamaan berupa suatu skor yang kemudian akan digunakan untuk
mengenali (mengklasifikasi) suatu vektor ciri apakah sah atau tidak
dengan membandingkannya dengan suatu nilai ambang (threshold
value).
2.3 Metode Eigenface
Metode Eigenface merupakan metode yang menggunakan teknik PCA
(lihat Tabel 2.1). Pengenalan citra wajah dengan metode Eigenface dilakukan
berdasarkan pada pengurangan dimensi ruang wajah dengan menggunakan
Principal Component Analysis (PCA) untuk memperoleh ciri wajah.
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
Pencarian ciri dari suatu wajah dilakukan dengan mencari eigenvalue dan
eigenvektor. Eigenvalue dapat disebut sebagai nilai karakteristik dari suatu
matriks. Sedangkan Eigenvector adalah vector karakteristik dari matriks yang
selalu bersesuaian dengan eigenvalue (Putra, 2009).
Pencarian eigenvalue pada matriks A berukuran n x n dapat dilakukan
dengan menggunakan rumus :
𝐴 .𝑥 = 𝜆 . 𝑥 (2.1)
Scalar λ dinamakan eigenvalue dari matriks A, sedangkan x merupakan
eigenvector yang bersesuaian dengan λ.
Dari persamaan (2.1), penyelesaiannya dengan mencari karakteristik equation
melalui determinan dari matriks A tersebut.
𝐴 − 𝐼𝜆 = 0 (2.2)
Pencarian eigenvector dapat dilakukan ketika nilai scalar λ sudah ditemukan,
pencarian eigenvector dengan menggunakan rumus :
𝐴 − λI . x = 0 (2.3)
2.4 Principal Component Analysis (PCA)
Principal Component Analysis (PCA) merupakan sebuah teknik dari
metode holistic methods (lihat Tabel 2.2). Di tahun 1933, Hotelling
mengajukan sebuah teknik untuk mengurangi dimensi sebuah ruang yang
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
direpresentasikan oleh variabel statistik x1, x2, … xn, dimana variabel tersebut
biasanya saling berkorelasi satu dengan yang lain. Selanjutnya Hotelling
menyebut metode tersebut sebagai Principal Component Analysis (PCA) atau
kadang juga Transformasi Hotelling atau disebut juga Transformasi
Karhunen-Loeve (Prasetyo dan Rahmatun, 2008).
Principal Components Analysis (PCA) digunakan untuk mereduksi
dimensi dari sekumpulan atau ruang gambar sehingga basis atau sistem
koordinat yang baru dapat menggambarkan model yang khas dari kumpulan
tersebut dengan lebih baik (Gunadi dan Pongsitanan, 2004). Tujuan utama
penggunaan metode PCA pada pengenalan wajah dengan menggunakan
eigenfaces adalah membentuk (ruang wajah) dengan cara mencari vektor
eigen yang berkoresponden dengan nilai eigen terbesar dari citra wajah.
Vektor eigen ini menyatakan posisi dari Principal Component dalam suatu
ruang dimensi n. Sebelum mengaplikasikan metode PCA dalam hal ini
mereduksi dimensi dari vektor fitur yang ada maka nilai eigen dari citra wajah
yang ada perlu diurutkan terlebih dahulu sehingga nantinya didapat nilai eigen
yang tereduksi yang diinginkan.
2.4.1. Proses Perhitungan PCA
Menurut (Turk dan Pentland, 1991) proses perhitungan PCA dapat
dilakukan dengan langkah-langkah sebagai berikut :
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
1. Mengambil satu set training citra wajah (M). Misalkan M berjumlah 8
buah citra wajah.
2. Inisialisasi r untuk tiap citra wajah dari set training. r adalah sebuah
vektor N2 x 1 berdasarkan matriks dari citra wajah yang berukuran
NxN seperti pada Gambar 2.3 berikut ini.
Gambar 2.2 Matriks N2 x 1
3. Menghitung rata-rata vektor citra wajah
𝑌 = 1
𝑀 𝑟𝑖
𝑀
𝑖=1
(2.4)
4. Melakukan normalisasi ukuran citra dengan melakukan pengurangan
vektor citra wajah dengan nilai rata-rata tersebut.
𝑄 = 𝑟𝑖 − 𝑌 (2.5)
5. Menghitung matriks kovarian
𝐶 = 1
𝑀 𝑄𝑛 𝑄𝑛
𝑇 = 𝐴 𝐴𝑇 (𝑚𝑎𝑡𝑟𝑖𝑘𝑠 𝑁2 𝑥 𝑁2)
𝑀
𝑛=1
(2.6)
Dimana A = [Q1 Q2 Q3 … QM ] (matriks N2
x M)
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
6. Dikarenakan ukuran matriks terlalu besar, maka pencarian matriks
kovarian menjadi :
𝐶 = 𝐴𝑇𝐴 (2.7)
7. Menghitung eigenvalue (λ) dan eigenvector (x) dari matriks kovarian
𝐶 = 𝐴𝑡 𝐴 .
8. Menghitung eigenvector sebanyak M dari matriks kovarian 𝐶 =
𝐴𝐴𝑡 dengan persamaan :
𝑢𝑖 = 𝐴. 𝑥𝑖 (2.8)
9. Melakukan normalisasi terhadap u menggunakan persamaan (2.11).
10. Mengumpulkan eigenvector sebanyak K (K berhubungan dengan
eigenvalue terbaik).
2.5 Metode Euclidean Distance
Metode Euclidean Distance merupakan metode yang sering digunakan
untuk menghitung kesamaan 2 buah vector (Putra, 2010). Pencarian jarak
antar kedua vector dapat dilihat pada persamaan di bawah ini :
𝑑𝑖𝑗 = (𝑥𝑖𝑘 − 𝑥𝑗𝑘 )2
𝑛
𝑘=1
(2.9)
Dari persamaan (2.9) masih harus mengalami normalisasi. Persamaan untuk
melakukan normalisasi sebagai berikut :
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
𝑑 𝑢,𝑣 = 𝑢𝑖 − 𝑣𝑖 2
𝑖
12
(2.10)
Dengan 𝑢𝑖 =𝑢𝑖
| 𝑢 | ,𝑣𝑖 =
𝑣𝑖
| 𝑣 | (2.11)
| 𝑣 | disebut norm atau normalisasi dari v yang dinyatakan sebagai :
𝑣 = 𝑣𝑖
2
𝑖
1/2
(2. 12)
Semakin kecil nilai𝑑 (𝑢,𝑣) maka semakin mirip kedua vector fitur
yang dicocokkan. Sebaliknya, semakin besar nilai 𝑑 (𝑢, 𝑣) maka semakin
berbeda kedua vector ciri tersebut. Sifat dari jarak Euclidean ternormalisasi
adalah bahwa hasilnya berada pada rentang 0 ≤ 𝑑 (𝑢, 𝑣) ≤ 2.
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
BAB III
ANALISA DAN PERANCANGAN SISTEM
Analisis dan perancangan sistem digunakan untuk menggambarkan sistem
yang akan dibangun, proses-proses yang dibutuhkan dalam penelitian, prosedur
pengambilan data, serta rancangan interface yang akan dibangun dalam sistem.
3.1 Analisis Data
3.1.1 Jenis Data
Data yang akan digunakan untuk menyelesaikan tugas akhir ini berupa
citra (image) dalam format *.jpg yang sudah otomatis merupakan format
citra digital dari kamera digital yang digunakan. Citra yang digunakan
merupakan citra wajah karyawan-karyawan Fakultas Sains dan Teknologi
Universitas Sanata Dharma Yogyakarta.
3.1.2 Prosedur Pengumpulan Data
Prosedur pengumpulan data dilakukan dengan melakukan
pengumpulan data primer. Pengumpulan data primer adalah pengumpulan
data yang diperoleh dari pengukuran langsung oleh peneliti yang bukan
berasal dari data yang telah ada. Pada tugas akhir ini, penulis melakukan
pengumpulan data dengan mengambil citra wajah karyawan Fakultas Sains
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
dan Teknologi (Universitas Sanata Dharma) dengan menggunakan kamera
digital yang memiliki resolusi 2736x3648 piksel dan webcam yang memiliki
resolusi 640x480 piksel. Beberapa nama karyawan Fakultas Sains dan
Teknologi yang akan diambil gambar wajahnya, adalah :
Tabel 3.1 Daftar Nama Karyawan Fakultas Sains dan Teknologi
NO. NAMA NIP
1. Dra.M.A. Titik Setyaningsih P.897
2. Erma Linda Santyas Rahayu P.1386
3. Intan Widanarko P.1505
4. Hardi Subarja P.1535
5. Petrus Sumardi P.1554
6. Yustinus Hastoro Nur Cahyoadi P.1555
7. Rusdanang Ali Basuni P.1751
8. Fransiscus Xaverius Surya Asih Subrata P.1869
9. Emanuel Bele Bau P.1944
10. Ignatius Tri Widaryanta P.2000
11. Leander Adik Tri Sulistiono P.2172
12. Catharina Maria Sri Wijayanti, S.Pd P.2175
13. Agustinus Rony Windaryawan P.2216
14. Susilo Dwiratno P.2218
15. Zaerilus Tukija P.1604
Untuk setiap karyawan citra wajah akan diambil sebanyak 21 kali,
yang kemudian akan terbagi dalam 2 bagian yaitu 14 citra wajah
digunakan sebagai data training dan 7 citra wajah sebagai data testing.
Hal serupa diberlakukan untuk seluruh karyawan, sehingga jumlah data
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
training dari 15 karyawan adalah 210 citra, sedangkan data testing
berjumlah 105 citra. Citra wajah tersebut masing-masing berdimensi
100x100 piksel yang kemudian akan diubah menjadi vektor kolom
berukuran 10.000x1. Oleh karena proses tersebut, data training akan
menjadi matriks dari kumpulan vektor yang telah terbentuk sehingga
menjadi matriks berukuran 10.000x210 dan untuk data testing menjadi
matriks berukuran 10.000x105. Data training akan mengalami proses
pelatihan data, sedangkan data testing akan mengalami beberapa proses
awal. Data testing kemudian akan diujikan terhadap data training,
sehingga akan diperoleh akurasi sistem.
3.2 Perancangan Sistem Secara Umum
Sistem pengenalan wajah harus dapat mengenali/mengidentifikasi sebuah
citra masukan dengan mencocokkannya/membandingkannya dengan file wajah
yang telah tersimpan sebelumnya pada suatu database. Hasil pencocokan
tersebut berupa informasi yang menyatakan bahwa citra masukan sesuai dengan
salah satu ciri wajah pada database wajah.
Perancangan sistem merupakan gambaran mengenai alur kerja / proses-
proses yang akan dilakukan oleh sistem. Perancangan sistem untuk aplikasi
pengenalan wajah ditunjukkan pada Gambar 3.1.
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
File wajah karyawan
webcam
Citra wajah
masukan
Interface
pengguna
Hasil
pengenalan
Citra wajah training
Proses
pengenalan
Proses training
(Perhitungan eigenface)Pemrosesan awal
Reshape matriks
Gambar 3.1 Gambaran Umum Proses Pengenalan Wajah
Keterangan :
1. Dengan menggunakan webcam, proses yang dilakukan adalah mengambil
citra wajah seseorang. Hasil capture tersebut akan menjadi sebuah citra
masukan.
2. File wajah karyawan merupakan sebuah data store yang akan menyimpan
citra wajah masukan di dalam suatu file dan terpisah dari database citra
wajah training.
3. Pemrosesan awal merupakan proses mengubah citra masukan RGB menjadi
citra grayscale.
4. Proses reshape matriks merupakan proses mengubah matriks dari citra
masukan menjadi vector kolom. Namun, untuk citra masukan yang ukuran
matriksnya lebih besar dai 100x100 piksel akan di-resize terlebih dahulu
menjadi matriks berukuran 100x100 piksel kemudian dilakukan reshape
matriks.
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
5. Proses pengenalan merupakan proses mencari kesamaan ciri antara citra
masukan dengan nilai eigenface yang telah didapat dari proses pelatihan.
6. Database citra wajah training berupa kumpulan data wajah karyawan yang
akan digunakan untuk proses pelatihan (training).
7. Proses pelatihan (training) merupakan proses untuk mendapatkan
eigenfaces dari citra wajah training.
8. Hasil pengenalan berupa informasi yang menyatakan bahwa citra masukan
memiliki kesamaan ciri dengan salah satu citra wajah dari file wajah
karyawan.
9. Interface pengguna digunakan untuk menampilkan hasil dari proses
pengenalan wajah (recognition).
3.2.1 Use case
Terdapat satu pengguna pada sistem ini, yaitu karyawan.
Karyawan dapat melakukan fungsi memilih citra wajah, dan melakukan
proses pengenalan wajah. Digaram use case untuk sistem pengenalan
wajah, sebagai berikut :
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
Karyawan
SISTEM PENGENALAN WAJAH
KARYAWAN
Memilih Citra Wajah
Melakukan Proses
Pengenalan
«extends»
Gambar 3.2 Use Case
3.2.2 Gambaran Sistem
Sistem pengenalan wajah dilakukan melalui beberapa proses.
Pengguna (karyawan) dapat memilih citra wajah yang akan dicocokkan.
Citra wajah yang dipilih oleh pengguna (karyawan) dan kumpulan citra
wajah untuk pelatihan akan mengalami proses awal, yaitu deteksi wajah
dan normalisasi ukuran citra. Kemudian menuju proses pencarian ciri
dari citra wajah tersebut. Proses pengenalan wajah dilakukan dengan
mencari jarak minimum dari vektor ciri yang dihasilkan oleh citra
masukan dan kumpulan citra hasil pelatihan. Gambaran mengenai proses-
proses pengenalan dapat dilihat pada Gambar 3.3.
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
Citra wajah Citra wajah
Proses awal Proses awal
Reshape matriksEkstrak ciri
(Metode Eigenface)
Perhitungan jarak
(Euclidean Distance)
Tampilan hasil
pengenalan
(a)
(b)
Gambar 3.3 Gambaran Umum Sistem Pengenalan Wajah. (a) Proses pelatihan
model menggunakan data training, (b) Proses pengenalan (testing)
3.3 Perancangan Pelatihan Data
Data citra wajah yang diperoleh sebanyak 21 buah citra untuk tiap
karyawan, sehingga jumlah data citra wajah yang diperoleh ada 315 citra.
Pelatihan data dilakukan untuk mencari ciri wajah dari kumpulan citra yang
sudah terkumpul. Untuk melakukan pelatihan data, ada tiga tahap yang harus
dilakukan yaitu proses awal, ekstrak ciri, dan proses pengujian.
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
3.3.1 Proses Awal
Pada proses pelatihan data, deteksi wajah tidak dilakukan menjadi suatu
proses tersendiri, melainkan proses deteksi wajah akan dilakukan bersamaan
dengan proses ekstrak ciri. Hal tersebut dikarenakan pengambilan data citra
wajah karyawan sudah dilakukan dengan menggunakan latar belakang
(background) gambar yang sama dan diambil dengan kamera digital yang
memiliki resolusi yang sama (misal: 2736x3748 piksel).
Proses awal ini hanya akan mengubah citra wajah RGB menjadi citra
wajah grayscale. Hal ini dimaksudkan untuk memudahkan proses
perhitungan yang akan dilakukan pada proses ekstrak ciri. Rangkaian proses
pada proses awal dapat dilihat pada Gambar 3.4.
Citra Wajah RGB ke
grayscale
Citra wajah hasil
proses awal
Gambar 3.4 Proses Awal
3.3.2 Ekstraksi Ciri
Proses ekstraksi ciri atau pencarian ciri dapat dilakukan terhadap citra
wajah yang telah mengalami pemrosesan awal. Langkah-langkah yang harus
dilakukan adalah sebagai berikut :
1. Mengambil satu set data training (M) yang sudah mengalami proses
awal. Mengenai satu set data training dapat dilihat pada sub bab (3.3.3
Proses Pengujian).
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
2. Mentransformasikan matriks NxN menjadi sebuah vektor kolom untuk
tiap citra. Misal (M) ada 3 buah citra wajah training.
𝑖𝑚𝑎𝑔𝑒1 = 5 13 8
− −> 𝑟1 =
𝑖𝑚𝑎𝑔𝑒2 = 4 72 9
− −> 𝑟2 =
𝑖𝑚𝑎𝑔𝑒3 = 1 23 4
− −> 𝑟3 =
Hasil transformasi tersebut kemudian dijadikan sebuah matriks,
sehingga diperoleh ukuran matriks N2
x M.
S =
3. Mencari rata-rata vektor citra wajah menggunakan persamaan (2.4)
𝑌1 = 5 + 4 + 1
3=
10
3= 3,33
𝑌2 = 1 + 7 + 2
3=
10
3= 3,33
𝑌3 = 3 + 2 + 3
3=
8
3= 2,66
𝑌4 = 8 + 9 + 4
3=
21
3= 7
5
1
3
8
4
7
2
9
1
2
3
4
5 4 1
1 7 2
3 2 3
8 9 4
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
Sehingga didapat sebuah vektor Y =
4. Mengurangi vektor citra wajah dengan nilai rata-rata tersebut
menggunakan persamaan (2.5)
5 3,33 1.67
Q1 = 1 - 3,33 = -2.33
3 2,66 0.34
8 7 1
4 3,33 0.67
Q2 = 7 - 3,33 = 3.67
2 2,66 -0.66
9 7 2
1 3,33 -2.33
Q3 = 2 - 3,33 = -1.33
3 2,66 0.34
4 7 -3
Dari perhitungan tersebut, Q1 Q2 Q3 digabung menjadi suatu matriks A.
1.67 0.67 -2.33
A= -2.33 3.67 -1.33
0.34 -0.66 0.34
1 2 -3
5. Menghitung matriks kovarian menggunakan persamaan (2.7)
𝐶 = 𝐴𝑡𝐴
3,33
3,33
2,66
7
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
1.67 -2.33 0.34 1 1.67 0.67 -2.33
C= 0.67 3.67 -0.66 2 . -2.33 3.67 -1.33
-2.33 -1.33 0.34 -3 0.34 -0.66 0.34
1 2 -3
9.3334 -5.6566 -3.6766
C= -5.6566 18.3534 -12.6666
-3.6766 -12.6666 16.3134
6. Menghitung eigenvalue dengan menggunakan persamaan (2.2) dan
eigenvektor dengan menggunakan persamaan (2.3) dari matriks kovarian
𝐶 = 𝐴𝑡 𝐴
Untuk memudahkan perhitungan eigenvalue dan eigenvector, maka nilai
C akan diubah (hanya untuk memudahkan perhitungan).
2 0 1
C= -1 4 -1
-1 2 0
Dengan menggunakan persamaan (2.2), maka terbentuk matriks
determinan seperti di bawah ini :
(2 − 𝜆) 0 1
-1 (4 − 𝜆) -1 = 0
-1 2 −𝜆
Dari matriks determinan yang terbentuk, maka perhitungannya menjadi
seperti berikut :
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
((2 - 𝜆)*(4 -𝜆) (-𝜆) – (2) (-1)) – (0*(-1) (-𝜆 ) – (-1) (-1)) + (1*(-1)
(2) – (4 - 𝜆 ) (-1)) = 0
2 − 𝜆 −4𝜆 + 𝜆2 + 2 – 0 + −𝜆 + 2 = 0
2 − 𝜆 (𝜆2 − 4𝜆 + 2 + 1 = 0
2 − 𝜆 𝜆2 − 4𝜆 + 3 = 0
2 − 𝜆 (𝜆 − 1)(𝜆 − 3) = 0
𝜆1 = 2 𝜆2 = 1 𝜆3 = 3
Nilai 𝜆1, 𝜆2, 𝜆3 merupakan eigenvalue yang diperoleh matriks C.
Eigenvalue yang sudah diperoleh akan digunakan untuk mencari
eigenvector dengan menggunakan persamaan (2.3)
Untuk 𝜆1 = 2
(2 − 2) 0 1
−1 (4 − 2) −1−1 2 −2
𝑥1
𝑥2
𝑥3
= 0
0 0 1
−1 2 −1−1 2 −2
𝑥1
𝑥2
𝑥3
= 0
Sehingga diperoleh persamaan seperti berikut :
𝑥3 = 0
−𝑥1 + 2𝑥2 − 𝑥3 = 0
−𝑥1 + 2𝑥2 − 2𝑥3 = 0
Karena 𝑥3 bernilai 0, maka untuk 𝑥1 dan 𝑥2 dicari dengan
menyelesaikan persamaan −𝑥1 + 2𝑥2 − 𝑥3 = 0 menjadi
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
−𝑥1 + 2𝑥2 = 0 sehingga diperoleh bahwa 𝑥1 = 2𝑥2.
Eigenvector yang tebentuk 2𝑥2
𝑥2
0
, nilai yang mendekati adalah
𝑥1 = 210
Untuk 𝜆2 = 1
(2 − 1) 0 1
−1 (4 − 1) −1−1 2 −1
𝑥1
𝑥2
𝑥3
= 0
1 0 1
−1 3 −1−1 2 −1
𝑥1
𝑥2
𝑥3
= 0
Sehingga diperoleh persamaan seperti berikut :
𝑥1 + 𝑥3 = 0 −→ 𝑥1 = −𝑥3
−𝑥1 + 3𝑥2 − 𝑥3 = 0
−𝑥1 + 2𝑥2 − 𝑥3 = 0
Karena 𝑥1 = −𝑥3 , maka untuk 𝑥2 dicari dengan menyelesaikan
persamaan −𝑥1 + 3𝑥2 − 𝑥3 = 0 dan −𝑥1 + 2𝑥2 − 𝑥3 = 0
menjadi 𝑥3 + 3𝑥2 − 𝑥3 = 0 dan 𝑥3 + 2𝑥2 − 𝑥3 = 0 sehingga
kedua persamaan tersebut saling dieliminasi seperti berikut :
𝑥3 + 3𝑥2 − 𝑥3 = 0
𝑥3 + 2𝑥2 − 𝑥3 = 0
-
𝑥2 = 0
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
Eigenvector yang tebentuk
−𝑥3
0𝑥3
, nilai yang mendekati adalah
𝑥2 = −101
Untuk 𝜆3 = 3
(2 − 3) 0 1
−1 (4 − 3) −1−1 2 −3
𝑥1
𝑥2
𝑥3
= 0
−1 0 1−1 1 −1−1 2 −3
𝑥1
𝑥2
𝑥3
= 0
Sehingga diperoleh persamaan seperti berikut :
−𝑥1 + 𝑥3 = 0 −→ 𝑥3 = 𝑥1
−𝑥1 + 𝑥2 − 𝑥3 = 0
−𝑥1 + 2𝑥2 − 3𝑥3 = 0
Karena 𝑥3 = 𝑥1 , maka untuk 𝑥2 dicari dengan menyelesaikan
persamaan −𝑥1 + 𝑥2 − 𝑥3 = 0 dan −𝑥1 + 2𝑥2 − 3𝑥3 = 0
menjadi −𝑥1 + 𝑥2 − 𝑥1 = 0 dan −𝑥1 + 2𝑥2 − 3𝑥1 = 0
sehingga kedua persamaan tersebut saling dieliminasi seperti
berikut :
−𝑥1 + 𝑥2 − 𝑥1 = 0 −→ −2𝑥1 + 𝑥2 = 0
−𝑥1 + 2𝑥2 − 3𝑥1 = 0 −→ −4𝑥1 + 2𝑥2 = 0
-
2𝑥1 = 𝑥2
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
Eigenvector yang tebentuk
𝑥1
2𝑥1
𝑥1
, nilai yang mendekati adalah
𝑥3 = 121
7. Menghitung eigenvector sebanyak M dari matriks kovarian 𝐶 = 𝐴 𝐴𝑡
dengan persamaan (2.8)
𝑢𝑖 = 𝐴. 𝑥𝑖
1.67 0.67 -2.33 2 4.01
𝑢1= -2.33 3.67 -1.33 . 1 = -0.99
0.34 -0.66 0.34 0 0.02
1 2 -3 4
1.67 0.67 -2.33 -1 4
𝑢2= -2.33 3.67 -1.33 . 0 = 2
0.34 -0.66 0.34 1 0
1 2 -3 -4
1.67 0.67 -2.33 1 0.68
𝑢3= -2.33 3.67 -1.33 . 2 = 3.68
0.34 -0.66 0.34 1 2
1 2 -3 2
8. Melakukan normalisasi terhadap u yang diperoleh menggunakan
persamaan (2.12)
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
𝑢1 = (4.01)2 + (−0.99)2 + (0.22)2 + (4)2 = 5.75
𝑢2 = (4)2 + (2)2 + (0)2 + (−4)2 = 6
𝑢3 = (0.68)2 + (3.68)2 + (2)2 + (2)2 = 2.45
9. Mengumpulkan eigenvector sebanyak K (K berhubungan dengan
eigenvalue terbaik). Eigenvalue dan eigenvector diurutkan dari besar ke
kecil. Berdasarkan perhitungan yang telah dilakukan, maka diperoleh
eigenvalue terbaik sebanyak tiga buah, sehingga K=3.
Eigenvalue Eigenvector
𝜆3 = 3 0.68
3.68
2
2
𝜆1 = 2 4.01
-0.99 0.02
4
𝜆2 = 1 4
2 0
-4
10. Memproyeksikan Qi ke dalam eigenspace dengan persamaan 𝑤𝑗 = 𝑢𝑗𝑇𝑄𝑖
0.68 3.68 2 2 1.67
𝑤1= . -2.33 = -4.7588
0.34
1
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
0.68 3.68 2 2 0.67
. 3.67 = 16.6412
-0.66
2
0.68 3.68 2 2 -2.33
. -1.33 = -11.7988
0.34
-3
4.01 -0.99 -0.02 4 1.67
𝑤2= . -2.33 = 12.9286
0.34
1
4.01 -0.99 -0.02 4 0.67
. 3.67 = 7.1986
-0.66
2
4.01 -0.99 -0.02 4 -2.33
-1.33 = -20.1014
0.34
-3
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
4 2 0 -4 1.67
𝑤3= . -2.33 = -1.98
0.34
1
4 2 0 -4 0.67
. 3.67 = 2.02
-0.66
2
4 2 0 -4 -2.33
-1.33 = 0.02
0.34
-3
11. Merepresentasikan wi ke dalam sebuah vector.
3.3.3 Proses Pengujian
Proses pengujian dilakukan untuk menguji keakuratan dan keberhasilan
sistem pengenalan wajah. Sebelum melakukan pengujian, keseluruhan data
yang diperoleh akan diklasifikasi. Proses klasifikasi dilakukan
-4.7588 12.9286 -1.98
Ωl = 16.6412 7.1986 2.02
-11.7988 -20.1014 0.02
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
menggunakan metode 3-fold cross validation, yaitu membagi keseluruhan
data menjadi 3 bagian.
Setiap karyawan memiliki 21 data citra wajah. Dari 21 data tersebut
dibagi ke dalam 3 bagian seperti berikut :
Tabel 3.2 Pengelompokkan Data
Karyawan ke- A
Citra wajah ke-
B
Citra wajah ke-
C
Citra wajah ke-
1 1-7 8-14 15-21
2 1-7 8-14 15-21
3 1-7 8-14 15-21
… 1-7 8-14 15-21
15 1-7 8-14 15-21
Setelah keseluruhan data dikelompokkan, tahap berikutnya adalah
melakukan kombinasi pengujian. Untuk 3 kelompok data tersebut akan
menghasilkan 3 kombinasi pengujian.
A CB
Group Data
A B
A C
B C
C
B
A
Training Data
1
3
2
Gambar 3.5 Kombinasi Pengujian
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
Hasil kombinasi pengujian tersebut berlaku untuk seluruh karyawan.
Pada setiap kombinasi, akan dilakukan pengujian (testing) 7 citra wajah
terhadap 14 citra wajah pelatihan (data training). Karena hal tersebut
berlaku untuk seluruh karyawan, maka pada setiap kombinasi terdapat 14
citra x 15 karyawan (210 citra wajah pelatihan) dan 7 citra x 15 karyawan
(105 citra wajah testing).
Pengujian dilakukan berdasarkan metode eigenface yang digunakan.
Data testing sebanyak 105 citra wajah akan diujikan terhadap data pelatihan.
Dari pengujian tersebut akan diperoleh jumlah citra yang benar dan jumlah
yang salah sehingga diperoleh 3 hasil pengujian dari 3 kombinasi tersebut.
Perhitungan jumlah benar dan salah akan disajikan dalam bentuk persen,
sehingga perhitungan tersebut akan dilakukan sebagai berikut :
𝑐𝑜𝑟𝑟𝑒𝑐𝑡 = 𝑏𝑒𝑛𝑎𝑟
𝑗𝑢𝑚𝑙𝑎ℎ 𝑑𝑎𝑡𝑎 𝑡𝑒𝑠𝑡𝑖𝑛𝑔∗ 100%
𝑒𝑟𝑟𝑜𝑟 = 𝑠𝑎𝑙𝑎ℎ
𝑗𝑢𝑚𝑙𝑎ℎ 𝑑𝑎𝑡𝑎 𝑡𝑒𝑠𝑡𝑖𝑛𝑔∗ 100%
Rancangan tabel pengujian data training dapat dilihat pada Tabel 3.3.
Tabel 3.3 Tabel Rancangan Pengujian Data training
No Kelompok
Training
Kelompok
Testing
Correct rate Error rate
1 A B C
2 A C B
3 B C A
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
3.4 Perancangan Proses Pengenalan Wajah
Proses pengenalan wajah melibatkan suatu citra masukan. Citra
masukan dapat berupa citra yang diambil dari kamera/webcam atau dapat
diambil dari data yang telah tersimpan sebelumnya.
Untuk memudahkan proses pengenalan, citra masukan diambil dari
database wajah yang sudah diperoleh sebelumnya.
Langkah-langkah yang harus dilakukan untuk proses pengenalan wajah, antara
lain :
1. Mengambil suatu citra wajah dari database wajah.
2. Melakukan proses awal terhadap citra masukan. Proses awal yang dilakukan
telah dijelaskan sebelumnya pada sub bab perancangan pelatihan data.
3. Mengubah citra masukan yang berupa matriks berdimensi NxN menjadi
vector kolom r.
𝑐𝑖𝑡𝑟𝑎 𝑚𝑎𝑠𝑢𝑘𝑎𝑛 = 2 46 8
−→ 𝑟 =
4. Melakukan normalisasi r. Normalisasi dilakukan dengan melakukan
pengurangan r dengan Y dari pelatihan data.
2 3,33 -1.33
Q= 4 - 3,33 = 0.67
6 2,66 3.34
8 7 1
2
4
6
8
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
5. Memproyeksikan Q ke dalam eigenspace.
𝑤𝑖 = 𝑢𝑖𝑇𝑄 dengan ui sebanyak K pada pelatihan data.
0.68 3.68 2 2 -1.33
𝑤1= . 0.67 = 10.2412
3.34
1
4.01 -0.99 0.02 4 -1.33
𝑤2= . 0.67 = -1.9265
3.34
1
4 2 0 -4 -1.33
𝑤3= . 0.67 = -7.98
3.34
1
6. Merepresentasikan nilai wi ke dalam sebuah vector.
7. Melakukan pencocokan citra masukan dengan citra pelatihan menggunakan
metode Euclidean Distance menggunakan persamaan (2.8). Sebelum
10.2412
Ω = -1.9265
-7.98
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
mencari jarak terhadap dua vector tersebut, maka akan dilakukan
normalisasi nilai vector tersebut menggunakan persamaan (2.12).
Ω = 𝑣𝑖2
𝑖
1/2
= (10.2412)2 + (−1.9265)2 + (−7.98)2 = 13.1253
ΩL1 = 𝑣𝑖2
𝑖
12
= −4.7588 2 + 16.6412 2 + −11.7988 2
= 20.9473
ΩL2 = 𝑣𝑖2
𝑖
12
= 12.9286 2 + 7.1986 2 + −20.1014 2
= 24.9607
ΩL3 = 𝑣𝑖2
𝑖
12
= −1.98 2 + 2.02 2 + 0.02 2 = 2.8286
Setelah melakukan normalisasi nilai vector, kemudian menyelesaikan
persamaan (2.11) seperti berikut :
Ω = 10.2412
13.1253,−1.9265
13.1253,
−7.98
13.1253 = [0.78, −0.15, −0.61]
ΩL1 =
−4.7588
13.9182,12.9286
13.9182,
−1.98
13.9182 = [−0.2272; 0.7944; −0.5633]
ΩL2 =
16.6412
18.2436,
7.1986
18.2436,
2.02
18.2436 = 0.5180; 0.2884; −0.8053
ΩL3 =
−11.7988
23.3083,−20.1014
23.3083,
0.02
23.3083 = [−0.7; 0.7141; 0.007]
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
Tahap terkahir metode Euclidean ini adalah mencari jarak kedua vector
yang telah ternormalisasi seperti berikut :
𝑑 𝑢, 𝑣 = 0.78 + 0.2272 2 + −0.15 − 0.7944 2 + −0.61 + 0.5633 2
= 1.3815
𝑑 𝑢, 𝑣 = 0.78 − 0.5180 2 + −0.15 − 0.2884 2 + −0.61 + 0.8053 2
= 0.5468
𝑑 𝑢, 𝑣 = 0.78 + 0.7 2 + −0.15 − 0.7141 2 + −0.61 − 0.007 2
= 1.8215
Dari perhitungan pencarian jarak tersebut, maka dapat diketahui bahwa nilai
yang bernilai paling kecil yaitu 𝑑 𝑢, 𝑣 = 0.5468 menunjukkan bahwa citra
wajah masukkan memiliki ciri yang mendekati dengan citra wajah kedua
dari citra wajah training.
3.5 Perancangan Antarmuka
Antarmuka sistem terdiri dari 3 tampilan yaitu tampilan proses pengenalan
wajah, tampilan cara menggunakan sistem, dan tampilan tentang program.
Sistem ini memiliki 3 menu, yaitu menu File, Help dan About. Pada menu File,
terdapat 2 submenu yaitu Open Image dan Exit. Pada menu Help hanya terdapat
satu submenu yaitu System Help. Pada menu About juga hanya terdapat satu
submenu yaitu About Program. Desain tampilan sistem disajikan sebagai
berikut :
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
3.5.1 Tampilan Proses Pengenalan Wajah
Pada tampilan ini, terdapat 2 panel yaitu panel Image Input dan Image
Similarity. Panel Image Input digunakan untuk menampilkan citra wajah
yang akan digunakan pada proses pengenalan. Panel Image Similarity
digunakan untuk menampilkan citra wajah dari proses training yang
memliki kesamaan ciri dengan citra wajah masukan. Tombol Recognition
digunakan untuk melakukan proses pengenalan wajah. Di bagian bawah
terdapat teks field yang akan memberikan informasi mengenai tingkat
kemiripan antara citra wajah masukan dan citra wajah training. Terdapat
pula tombol Refresh untuk mengkosongkan panel dan teks field dari proses
yang telah dilakukan sebelumnya. Perancangan tampilan proses pengenalan
wajah disajikan pada Gambar 3.6.
X-
File Help About
SISTEM PENGENALAN WAJAH KARYAWAN
Image Input Image Similarity
RECOGNITION
Tingkat Kemiripan : REFRESH
Gambar 3.6 Tampilan antarmuka proses pengenalan wajah
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
3.5.2 Tampilan Menu File
Perancangan tampilan menu File disajikan pada Gambar 3.7 sebagai
berikut :
X-
Help AboutFile
Open Image Ctrl+O
Exit Ctrl+Q
SISTEM PENGENALAN WAJAH KARYAWAN
Gambar 3.7 Tampilan antarmuka Menu File
3.5.3 Tampilan Menu Help
Perancangan tampilan menu Help disajikan pada Gambar 3.8 sebagai
berikut :
X-
File AboutHelp
System Help
SISTEM PENGENALAN WAJAH KARYAWAN
Gambar 3.8 Tampilan antarmuka Menu Help
3.5.4 Tampilan Menu About
Perancangan tampilan menu About disajikan pada Gambar 3.9 sebagai
berikut :
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
X-
File Help About
About Program
SISTEM PENGENALAN WAJAH KARYAWAN
Gambar 3.9 Tampilan antarmuka Menu About
3.5.5 Tampilan Open Image
Tampilan ini merupakan submenu dari menu File. Pada tampilan ini,
pengguna dapat memilih citra wajah yang akan digunakan untuk proses
pengenalan dengan mengakses folder-folder yang ada pada komputer. Pada
tampilan ini juga terdapat dua buah tombol, yaitu tombol Open dan Cancel.
Open berfungsi untuk membuka gambar yang sudah dipilih dan Cancel
berfungsi untuk membatalkan proses memilih gambar dan kembali ke
tampilan sebelumnya. Perancangan tampilan submenu Open Image
disajikan pada Gambar 3.10 sebagai berikut :
X-Select image that you want to recognition
My Recent
Document
My Network
Places
My
Computer
My
Document
Desktop
Look in :
File Name :
File Type :
Open
Cancel
Gambar 3.10 Tampilan antarmuka Open Image
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
3.5.6 Tampilan Cara Menggunakan Sistem
Tampilan ini memberikan informasi mengenai cara menggunakan
sistem. Perancangan tampilan submenu System Help disajikan pada Gambar
3.11 sebagai berikut :
Cara Menggunakan Sistem :
1. Masukkan foto wajah dengan memilih
submenu Open Image pada menu File
2. Tekan tombol Recognition
3. Tekan tombol Refresh untuk mengkosongkan (clear)
item-item di dalam figure
X-System Help
SISTEM PENGENALAN WAJAH KARYAWAN
Gambar 3.11 Tampilan antarmuka System Help
3.5.7 Tampilan Tentang Program
Tampilan ini memberikan informasi tentang program yang dibuat.
Perancangan tampilan submenu System Help disajikan pada Gambar 3.12
sebagai berikut :
Penerapan Face Recognition Menggunakan Metode Eigenface Pada Sistem
Presensi Karyawan Universitas Sanata Dharma
Dibuat oleh : Yunita Wahayuning Putri
NIM : 085314082
PRODI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
X-About Program
SISTEM PENGENALAN WAJAH KARYAWAN
Gambar 3.12 Tampilan antarmuka Tentang Program
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
BAB IV
IMPLEMENTASI DAN PENGUJIAN
Implementasi dengan menggunakan Matlab 7.1 pada komputer dengan
spesifikasi processor Intel Core i5 , RAM 2GB , VGA NVidia , dan Harddisk 640GB.
4.1 Implementasi Pelatihan Data
4.1.1 Implementasi Pemrosesan Awal
Pemrosesan awal berfungsi untuk mengubah citra RGB menjadi
grayscale. Proses ini dilakukan terhadap seluruh data training. Sebelum
melakukan pemrosesan awal, file yang berisi database citra wajah akan
dipanggil terlebih dahulu. Sebagai contoh, file yang akan digunakan yaitu
“kombinasi1.txt”. Proses ini dilakukan dengan menggunakan sintaks pada
Matlab yaitu :
fidA=fopen('kombinasi1.txt'); readA=textscan(fidA, '%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s', 'delimiter', ','); strA=imread(strcat('F:\KULIAH\TA meme_JUNI\data kamera\',readB1,i1,1,'.jpg')); imgTrain=strA; imgTrain=rgb2gray(imgTrain);
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
Berikut merupakan contoh citra wajah training yang diubah menjadi
grayscale :
Gambar 4.1 Pemrosesan Awal
4.1.2 Implementasi Proses Ekstraksi Ciri
Ekstrak ciri dilakukan dengan menggunakan metode eigenface.
Implementasi ekstrak ciri dilakukan dengan :
1. Mentransformasikan matriks NxN menjadi vektor kolom untuk tiap citra
wajah yang telah mengalami pemrosesan awal. Untuk proses ektraks ciri
pada pelatihan data, jumlah data training yang digunakan sebanyak 210
citra wajah.Sintaks pada Matlab :
jumTrain=210; STrain=[]; %matriks yang menampung vektor kolom citra training for i=1:jumTrain strA=imread(strcat(F:\KULIAH\TA meme_JUNI\data kamera\',readB1,i1,1,'.jpg')); imgTrain=strA; [imgTrain=rgb2gray(imgTrain); [irowTrain icolTrain]=size(imgTrain); %mendapatkan jumlah baris dan kolom dr citra training r=reshape(imgTrain,irowTrain*icolTrain,1); %mengubah matriks menjadi vektor kolom (N^2 x 1) r=im2double(r); STrain=[STrain r]; end
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
2. Melakukan normalisasi ukuran citra dengan melakukan pengurangan
vector kolom dari citra wajah dengan nilai rata-rata vektor wajah.
Sintaks pada Matlab :
%melakukan normalisasi ukuran citra y=[]; for i=1:size(STrain,1) penjumlahan=sum(STrain(i,:)); avg=penjumlahan/jumTrain; y=[y; avg]; end Q=[]; for i=1:size(STrain,2) r=STrain(:,i); pengurangan=r-y; Q=[Q pengurangan]; end
3. Mencari matriks kovarian dengan menggabungkan matriks Q ke dalam
matriks A.
A=[]; for i=1:jumTrain r=Q(:,i); A=[A r]; end %mencari Covariance matrix C=A'A C=A'*A;
4. Menghitung eigenvalue dan eigenvector dari matriks kovarian yang
diperoleh dengan memanggil sebuah function pada Matlab.
[eigenvector eigenvalue]=eig(C);
5. Melakukan eliminasi eigenvalue untuk mengeliminasi eigenvalue yang
bernilai 0 atau negatif.
%Mengurutkan dan mengeliminasi eigenvalue eigvector=[]; eigvalue=[];
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
for i=1:size(eigenvector,2) if(eigenvalue(i,i)>1e-4) eigvector=[eigvector eigenvector(:,i)]; eigvalue=[eigvalue eigenvalue(i,i)]; end end
6. Menghitung eigenfaces dari eigenvector yang terbentuk setelah proses
pengurutan dan eliminasi.
%Eigenfaces dari matriks kovarian u=[]; for i=1:size(eigvector,2) %r=sqrt(eigvalue(i)); u=[u (A*eigvector(:,i))]; end
7. Melakukan normalisasi terhadap eigenfaces yang diperoleh.
%Normalisasi eigenfaces for i=1:size(u,2) kk=u(:,i); r=sqrt(sum(kk.^2)); u(:,i)=u(:,i)./r; end
8. Mencari bobot dari masing-masing citra wajah training yaitu dengan
memproyeksikan Qi ke dalam eigenspace dengan persamaan =
% mencari bobot tiap wajah dari data training omega = []; for h=1:size(A,2) WW=[]; for i=1:size(u,2) t = u(:,i)'; WeightOfImageTrain = dot(t,A(:,h)'); WW = [WW; WeightOfImageTrain]; end omega = [omega WW]; end
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
4.1.3 Implementasi Proses Pengujian
Untuk melakukan pengujian, data citra wajah dibagi ke dalam 3 group
kombinasi. Pengelompokkan dilakukan menggunakan metode 3-fold cross
validation. Pada tiap kombinasi, 1 grup akan diujikan terhadap 2 grup yang
lain. Citra wajah yang telah dikelompokkan disimpan dalam notepad
sehingga saat akan dilakukan pengujian, data teks tersebut dipanggil.
Sintaks pada Matlab sebagai berikut:
fidA=fopen('kombinasi1.txt'); readA=textscan(fidA, '%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s', 'delimiter', ','); fileA=fopen('kombinasi1.txt'); bacaA=textscan(fileA, '%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s', 'delimiter', ','); %membuka dan menscan database dari notepad untuk grup B fidB=fopen('kombinasi2.txt'); readB=textscan(fidB, '%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s', 'delimiter', ',');
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
fileB=fopen('kombinasi2.txt'); bacaB=textscan(fileB, '%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s', 'delimiter', ','); %membuka dan menscan database dari notepad untuk grup C fidC=fopen('kombinasi3.txt'); readC=textscan(fidC, '%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s', 'delimiter', ','); fileC=fopen('kombinasi3.txt'); bacaC=textscan(fileC, '%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s', 'delimiter', ',');
Proses pengujian dilakukan dengan membaca salah satu file teks
tersebut. Citra wajah yang menjadi input akan dibaca dan akan mengalami
pemrosesan awal. Setelah mengalami pemrosesan awal, citra wajah
masukan akan diubah menjadi vektor kolom yang kemudian akan dilakukan
pengurangan terhadap nilai tengah dari citra wajah training.
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
testA=imread(strcat(F:\KULIAH\TA meme_JUNI\data kamera\',bacaB1,z1,1,'.jpg')); imgTest=rgb2gray(testA); [rowTest colTest]=size(imgTest); rTest=reshape(imgTest,rowTest*colTest,1); rTest=im2double(rTest); %menghitung mean dari citra input Difference=rTest-y;
Hasil pengurangan tersebut disimpan dalam variabel Difference.
Variabel tersebut akan digunakan untuk proses pencarian bobot dari citra
wajah masukan terhadap citra wajah training.
%menghitung bobot data testing InImWeightTest = []; for i=1:size(u,2) tA = u(:,i)'; WeightOfInputImageTest =dot(tA,Difference'); InImWeightTest=[InImWeightTest; WeightOfInputImageTest]; end
Pencarian bobot tersebut disimpan dalam matriks InImWeightTest
yang kemudian akan digunakan untuk perhitungan jarak Euclidean.
Perhitungan jarak Euclidean tersebut digunakan untuk mencari kemiripan
antara citra wajah masukan dengan citra wajah training. Sebelum proses
pencarian jarak minimum dilakukan, kumpulan vektor omega dari proses
pelatihan dan vektor InImWeightTest akan dinormalisasi terlebih dahulu.
Proses normalisasi ini bertujuan untuk menghasilkan nilai kemiripan yang
bernilai 0 ≤ du, v≤ 2. Setelah kedua vektor tersebut dinormalisasi,
proses selanjutnya adalah perhitungan jarak menggunakan Euclidean
Distance.
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
53
%normalisasi bobot citra masukan normInImWeightTest=norm(InImWeightTest); omegaInImage=InImWeightTest/normInImWeightTest; %normalisasi bobot citra training normOm=[]; for j=1:size(omega,2) normOmega=norm(omega(:,j)); normOm=[normOm normOmega]; end omegaTrain=[]; for i=1:size(omega,2) omTrain=omega(:,i)/normOm(i); omegaTrain=[omegaTrain omTrain]; end %menghitung jarak euclidean dari data testing thdp data training e=[]; for i=1:size(omega,2) q = omegaTrain(:,i); DiffWeight = omegaInImage-q; mag = norm(DiffWeight); e = [e mag]; end MinimumValue=min(e) %mencari nilai minimum dari jarak euclidean yg diperoleh
Dalam perhitungan jarak Euclidean, nilai minimum (nilai yang
terendah) adalah nilai yang menunjukkan bahwa kedua citra tersebut saling
mirip. Nilai minimum tersebut disimpan dalam variabel MinimumValue.
4.2 Implementasi Proses Pengenalan Wajah
Proses pengenalan wajah dilakukan dalam beberapa langkah.
Implementasi proses pengenalan wajah adalah sebagai berikut :
1. Mengambil suatu citra wajah dari database wajah melalui GUI yang
kemudian disimpan dalam suatu varibel.
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
54
insert=getimage(handles.foto);
2. Melakukan pemrosesan awal terhadap citra masukan. Pemrosesan awal
yang dilakukan adalah mengubah citra RGB menjadi grayscale.
InputImage=masukan; InImage=rgb2gray(InputImage);
3. Mengubah matriks NxN dari citra masukan menjadi vector kolom.
InImage=reshape(InImage,rowIn*colIn,1);
4. Melakukan normalisasi ukuran citra masukan. Normalisasi dilakukan
dengan melakukan pengurangan vektor kolom terhadap nilai tengah citra
wajah training.
rImage=im2double(InImage); Difference = rImage-y;
5. Memproyeksikan hasil pengurangan tersebut ke eigenspace sehingga
diperoleh bobot dari citra masukan yang kemudian disimpan dalam sebuah
vektor.
%menghitung bobot data testing InImWeightTest = []; for i=1:size(u,2) tA = u(:,i)'; WeightOfInputImageTest =dot(tA,Difference'); InImWeightTest=[InImWeightTest; WeightOfInputImageTest]; end
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
55
6. Mencari jarak terdekat antara citra masukan dengan citra wajah training
sehingga diperoleh kemiripan. Pencarian jarak ini menggunakan algoritma
Euclidean distance.
%normalisasi bobot citra masukan normInImWeightTest=norm(InImWeightTest); omegaInImage=InImWeightTest/normInImWeightTest; %normalisasi bobot citra training normOm=[]; for j=1:size(omega,2) normOmega=norm(omega(:,j)); normOm=[normOm normOmega]; end omegaTrain=[]; for i=1:size(omega,2) omTrain=omega(:,i)/normOm(i); omegaTrain=[omegaTrain omTrain]; end %menghitung jarak euclidean dari data testing thdp data training e=[]; for i=1:size(omega,2) q = omegaTrain(:,i); DiffWeight = omegaInImage-q; mag = norm(DiffWeight); e = [e mag]; end MinimumValue=min(e) %mencari nilai minimum dari jarak euclidean yg diperoleh
4.3 Implementasi Perancangan Antarmuka
4.3.1 Tampilan Proses Pengenalan Wajah
Tampilan ini merupakan tampilan utama proses pengenalan wajah.
untuk dapat melakukan proses pengenalan wajah, pengguna dapat memilih
citra wajah dengan memilih submenu Open Image pada menu File. Untuk
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
56
mengetahui citra masukan memiliki kemiripan dengan cotra data training,
pengguna dapat menekan tombol Recognition. Hasil implementasi tampilan
proses pengenalan wajah adalah sebagai berikut :
Gambar 4.2 Implementasi Tampilan Proses Pengenalan Wajah
Gambar 4.3 Implementasi Tampilan Open Image
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
57
Gambar 4.4 Implementasi Tampilan Open File
Gambar 4.5 Implementasi hasil proses pengenalan wajah
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
58
4.3.2 Tampilan Cara Menggunakan Sistem
Tampilan Cara Menggunakan Sistem dapat dibuka dengan memilih
submenu System Help pada menu Help. Implementasi tampilan cara
menggunakan sistem adalah sebagai berikut :
Gambar 4.6 Implementasi tampilan Menu Help
Gambar 4.7 Implementasi tampilan cara menggunakan sistem
4.3.3 Tampilan Tentang Program
Tampilan Tentang Program dapat dibuka dengan memilih submenu
About Program pada menu About. Implementasi tampilan cara
menggunakan sistem adalah sebagai berikut :
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
59
Gambar 4.8 Implementasi Tampilan Menu About
Gambar 4.9 Implementasi Tampilan Tentang Program
4.4 Hasil Pengujian
Terdapat dua macam pengujian, yaitu pengujian terhadap data training
menggunakan 3-fold cross validation dan pengujian dengan menggunakan satu
masukan yang dipilih oleh pengguna melalui user interface yang disediakan.
4.4.1 Hasil Pengujian 3-fold cross validation
Pada pengujian ini keseluruhan data citra wajah disimpan dalam sebuah
folder. Pengelompokkan data training dan data testing dilakukan pada
notepad seperti berikut ini :
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
60
4.4.1.1 Hasil Pengujian 3-fold cross validation menggunakan kamera digital
File “kombinasi1.txt”
linda1,titik1,tri1,bele1,mardi1,has1,tukijo1,susilo1,adek1,broto1,hardi1,danan V g1,roni1,intan1,rina1,linda2,titik2,tri2,bele2,mardi2,has2,tukijo2,susilo2,adek2,broto2,hardi2,danang2,roni2,intan2,rina2,linda3,titik3,tri3,bele3,mardi3,has3,tukijo3,susilo3,adek3,broto3,hardi3,danang3,roni3,intan3,rina3,linda4,titik4,tri4,bele4,mardi4,has4,tukijo4,susilo4,adek4,broto4,hardi4,danang4,roni4,intan4,rina4,linda5,titik5,tri5,bele5,mardi5,has5,tukijo5,susilo5,adek5,broto5,hardi5,danang5,roni5,intan5,rina5,linda6,titik6,tri6,bele6,mardi6,has6,tukijo6,susilo6,adek6,broto6,hardi6,danang6,roni6,intan6,rina6,linda7,titik7,tri7,bele7,mardi7,has7,tukijo7,susilo7,adek7,broto7,hardi7,danang7,roni7,intan7,rina7,linda8,titik8,tri8,bele8,mardi8,has8,tukijo8,susilo8,adek8,broto8,hardi8,danang8,roni8,intan8,rina8,linda9,titik9,tri9,bele9,mardi9,has9,tukijo9,susilo9,adek9,broto9,hardi9,danang9,roni9,intan9,rina1,linda10,titik10,tri10,bele10,mardi10,has10,tukijo10,susilo10,adek10,broto10,hardi10,danang10,roni10,intan10,rina10,linda11,titik11,tri11,bele11,mardi11,has11,tukijo11,susilo11,adek11,broto11,hardi11,danang11,roni11,intan11,rina11,linda12,titik12,tri12,bele12,mardi12,has12,tukijo12,susilo12,adek12,broto12,hardi12,danang12,roni12,intan12,rina12,linda13,titik13,tri13,bele13,mardi13,has13,tukijo13,susilo13,adek13,broto13,hardi13,danang13,roni13,intan13,rina13,linda14,titik14,tri14,bele14,mardi14,has14,tukijo14,susilo14,adek14,broto14,hardi14,danang14,roni14,intan14,rina14,linda15,titik15,tri15,bele15,mardi15,has15,tukijo15,susilo15,adek15,broto15,hardi15,danang15,roni15,intan15,rina15,linda16,titik16,tri16,bele16,mardi16,has16,tukijo16,susilo16,adek16,broto16,hardi16,danang16,roni16,intan16,rina16,linda17,titik17,tri17,bele17,mardi17,has17,tukijo17,susilo17,adek17,broto17,hardi17,danang17,roni17,intan17,rina17,linda18,titik18,tri18,bele18,mardi18,has18,tukijo18,susilo18,adek18,broto18,hardi18,danang18,roni18,intan18,rina18,linda19,titik19,tri19,bele19,mardi19,has19,tukijo19,susilo19,adek19,broto19,hardi19,danang19,roni19,intan19,rina19,linda20,titik20,tri20,bele20,mardi20,has20,tukijo20,susilo20,adek20,broto20,hardi20,danang20,roni20,intan20,rina20,linda21,titik21,tri21,bele21,mardi21,has21,tukijo21,susilo21,adek21,broto21,hardi21,danang21,roni21,intan21,rina21
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
61
Gambar 4.10 Data training kombinasi 1
Gambar 4.11 Data testing kombinasi 1
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
62
File “kombinasi2.txt”
linda1,titik1,tri1,bele1,mardi1,has1,tukijo1,susilo1,adek1,broto1,hardi1,danang1,roni1,intan1,rina1,linda2,titik2,tri2,bele2,mardi2,has2,tukijo2,susilo2,adek2,broto2,hardi2,danang2,roni2,intan2,rina2,linda3,titik3,tri3,bele3,mardi3,has3,tukijo3,susilo3,adek3,broto3,hardi3,danang3,roni3,intan3,rina3,linda4,titik4,tri4,bele4,mardi4,has4,tukijo4,susilo4,adek4,broto4,hardi4,danang4,roni4,intan4,rina4,linda5,titik5,tri5,bele5,mardi5,has5,tukijo5,susilo5,adek5,broto5,hardi5,danang5,roni5,intan5,rina5,linda6,titik6,tri6,bele6,mardi6,has6,tukijo6,susilo6,adek6,broto6,hardi6,danang6,roni6,intan6,rina6,linda7,titik7,tri7,bele7,mardi7,has7,tukijo7,susilo7,adek7,broto7,hardi7,danang7,roni7,intan7,rina7,linda15,titik15,tri15,bele15,mardi15,has15,tukijo15,susilo15,adek15,broto15,hardi15,danang15,roni15,intan15,rina15,linda16,titik16,tri16,bele16,mardi16,has16,tukijo16,susilo16,adek16,broto16,hardi16,danang16,roni16,intan16,rina16,linda17,titik17,tri17,bele17,mardi17,has17,tukijo17,susilo17,adek17,broto17,hardi17,danang17,roni17,intan17,rina17,linda18,titik18,tri18,bele18,mardi18,has18,tukijo18,susilo18,adek18,broto18,hardi18,danang18,roni18,intan18,rina18,linda19,titik19,tri19,bele19,mardi19,has19,tukijo19,susilo19,adek19,broto19,hardi19,danang19,roni19,intan19,rina19,linda20,titik20,tri20,bele20,mardi20,has20,tukijo20,susilo20,adek20,broto20,hardi20,danang20,roni20,intan20,rina20,linda21,titik21,tri21,bele21,mardi21,has21,tukijo21,susilo21,adek21,broto21,hardi21,danang21,roni21,intan21,rina21,linda8,titik8,tri8,bele8,mardi8,has8,tukijo8,susilo8,adek8,broto8,hardi8,danang8,roni8,intan8,rina8,linda9,titik9,tri9,bele9,mardi9,has9,tukijo9,susilo9,adek9,broto9,hardi9,danang9,roni9,intan9,rina1,linda10,titik10,tri10,bele10,mardi10,has10,tukijo10,susilo10,adek10,broto10,hardi10,danang10,roni10,intan10,rina10,linda11,titik11,tri11,bele11,mardi11,has11,tukijo11,susilo11,adek11,broto11,hardi11,danang11,roni11,intan11,rina11,linda12,titik12,tri12,bele12,mardi12,has12,tukijo12,susilo12,adek12,broto12,hardi12,danang12,roni12,intan12,rina12,linda13,titik13,tri13,bele13,mardi13,has13,tukijo13,susilo13,adek13,broto13,hardi13,danang13,roni13,intan13,rina13,linda14,titik14,tri14,bele14,mardi14,has14,tukijo14,susilo14,adek14,broto14,hardi14,danang14,roni14,intan14,rina14
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
63
Gambar 4.12 Data training kombinasi 2
Gambar 4.13 Data testing kombinasi 2
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
64
File “kombinasi3.txt”
linda8,titik8,tri8,bele8,mardi8,has8,tukijo8,susilo8,adek8,broto8,hardi8,danang8,roni8,intan8,rina8,linda9,titik9,tri9,bele9,mardi9,has9,tukijo9,susilo9,adek9,broto9,hardi9,danang9,roni9,intan9,rina1,linda10,titik10,tri10,bele10,mardi10,has10,tukijo10,susilo10,adek10,broto10,hardi10,danang10,roni10,intan10,rina10,linda11,titik11,tri11,bele11,mardi11,has11,tukijo11,susilo11,adek11,broto11,hardi11,danang11,roni11,intan11,rina11,linda12,titik12,tri12,bele12,mardi12,has12,tukijo12,susilo12,adek12,broto12,hardi12,danang12,roni12,intan12,rina12,linda13,titik13,tri13,bele13,mardi13,has13,tukijo13,susilo13,adek13,broto13,hardi13,danang13,roni13,intan13,rina13,linda14,titik14,tri14,bele14,mardi14,has14,tukijo14,susilo14,adek14,broto14,hardi14,danang14,roni14,intan14,rina14,linda15,titik15,tri15,bele15,mardi15,has15,tukijo15,susilo15,adek15,broto15,hardi15,danang15,roni15,intan15,rina15,linda16,titik16,tri16,bele16,mardi16,has16,tukijo16,susilo16,adek16,broto16,hardi16,danang16,roni16,intan16,rina16,linda17,titik17,tri17,bele17,mardi17,has17,tukijo17,susilo17,adek17,broto17,hardi17,danang17,roni17,intan17,rina17,linda18,titik18,tri18,bele18,mardi18,has18,tukijo18,susilo18,adek18,broto18,hardi18,danang18,roni18,intan18,rina18,linda19,titik19,tri19,bele19,mardi19,has19,tukijo19,susilo19,adek19,broto19,hardi19,danang19,roni19,intan19,rina19,linda20,titik20,tri20,bele20,mardi20,has20,tukijo20,susilo20,adek20,broto20,hardi20,danang20,roni20,intan20,rina20,linda21,titik21,tri21,bele21,mardi21,has21,tukijo21,susilo21,adek21,broto21,hardi21,danang21,roni21,intan21,rina21,linda1,titik1,tri1,bele1,mardi1,has1,tukijo1,susilo1,adek1,broto1,hardi1,danang1,roni1,intan1,rina1,linda2,titik2,tri2,bele2,mardi2,has2,tukijo2,susilo2,adek2,broto2,hardi2,danang2,roni2,intan2,rina2,linda3,titik3,tri3,bele3,mardi3,has3,tukijo3,susilo3,adek3,broto3,hardi3,danang3,roni3,intan3,rina3,linda4,titik4,tri4,bele4,mardi4,has4,tukijo4,susilo4,adek4,broto4,hardi4,danang4,roni4,intan4,rina4,linda5,titik5,tri5,bele5,mardi5,has5,tukijo5,susilo5,adek5,broto5,hardi5,danang5,roni5,intan5,rina5,linda6,titik6,tri6,bele6,mardi6,has6,tukijo6,susilo6,adek6,broto6,hardi6,danang6,roni6,intan6,rina6,linda7,titik7,tri7,bele7,mardi7,has7,tukijo7,susilo7,adek7,broto7,hardi7,danang7,roni7,intan7,rina7
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
65
Gambar 4.14 Data training kombinasi 3
Gambar 4.15 Data testing kombinasi 3
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
66
Setelah dilakukan pengelompokkan, data testing akan diujikan terhadap
data training. Hasil pengujian 3 kombinasi tersebut adalah sebagai
berikut :
Jumlah data training tiap kombinasi : 210 citra wajah
Jumlah data testing tiap kombinasi : 105 citra wajah
Tabel 4.1. Tabel Hasil Pengujian Data training menggunakan
kamera digital
No Kelompok
Training
Kelompok
Testing
Correct
rate (%)
Error
rate(%)
1 A B C 73.333 26.667
2 A C B 86.667 13.333
3 B C A 77.143 22.857
Hasil terbaik adalah kelompok kombinasi kedua yaitu kelompok AC
dengan error rate 13.33%.
4.1.1.2 Hasil Pengujian 3-fold cross validation menggunakan webcam
File “kombinasiWebcam1.txt”
linda1,rina1,titik1,tri1,tukijo1,has1,linda2,rina2,titik2,tri2,tukijo2,has2,linda3,rina3,titik3,tri3,tukijo3,has3,linda4,rina4,titik4,tri4,tukijo4,has4,linda5,rina5,titik5,tri5,tukijo5,has5,linda6,rina6,titik6,tri6,tukijo6,has6,linda7,rina7,titik7,tri17,tukijo7,has7,linda8,rina8,titik8,tri8,tukijo8,has8,linda9,rina9,titik9,tri9,tukijo9,has9,linda10,rina10,titik10,tri10,tukijo10,has10,linda11,rina11,titik11,tri11,tukijo11,has11,linda12,rina12,titik12,tri12,tukijo12,has12,linda13,rina13,titik13,tri13,tukijo13,has13,linda14,rina14,titik14,tri14,tukijo14,has14,linda15,rina15,titik15,tri15,tukijo15,has15,linda16,rina16,titik
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
67
16,tri16,tukijo16,has16,linda17,rina17,titik17,tri17,tukijo17,has17,linda18,rina18,titik18,tri18,tukijo18,has18,linda19,rina19,titik19,tri19,tukijo19,has19,linda20,rina20,titik20,tri20,tukijo20,has20,linda21,rina21,titik21,tri21,tukijo21,has21
Gambar 4.16 Data training kombinasi webcam 1
Gambar 4.17 Data testing kombinasi webcam 1
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
68
File “kombinasiWebcam2.txt”
linda1,rina1,titik1,tri1,tukijo1,has1,linda2,rina2,titik2,tri2,tukijo2,has2,linda3,rina3,titik3,tri3,tukijo3,has3,linda4,rina4,titik4,tri4,tukijo4,has4,linda5,rina5,titik5,tri5,tukijo5,has5,linda6,rina6,titik6,tri6,tukijo6,has6,linda7,rina7,titik7,tri17,tukijo7,has7,linda15,rina15,titik15,tri15,tukijo15,has15,linda16,rina16,titik16,tri16,tukijo16,has16,linda17,rina17,titik17,tri17,tukijo17,has17,linda18,rina18,titik18,tri18,tukijo18,has18,linda19,rina19,titik19,tri19,tukijo19,has19,linda20,rina20,titik20,tri20,tukijo20,has20,linda21,rina21,titik21,tri21,tukijo21,has21,linda8,rina8,titik8,tri8,tukijo8,has8,linda9,rina9,titik9,tri9,tukijo9,has9,linda10,rina10,titik10,tri10,tukijo10,has10,linda11,rina11,titik11,tri11,tukijo11,has11,linda12,rina12,titik12,tri12,tukijo12,has12,linda13,rina13,titik13,tri13,tukijo13,has13,linda14,rina14,titik14,tri14,tukijo14,has14
Gambar 4.18 Data training kombinasi webcam 2
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
69
Gambar 4.19 Data testing kombinasi webcam 2
File “kombinasiWebcam3.txt”
linda8,rina8,titik8,tri8,tukijo8,has8,linda9,rina9,titik9,tri9,tukijo9,has9,linda10,rina10,titik10,tri10,tukijo10,has10,linda11,rina11,titik11,tri11,tukijo11,has11,linda12,rina12,titik12,tri12,tukijo12,has12,linda13,rina13,titik13,tri13,tukijo13,has13,linda14,rina14,titik14,tri14,tukijo14,has14,linda15,rina15,titik15,tri15,tukijo15,has15,linda16,rina16,titik16,tri16,tukijo16,has16,linda17,rina17,titik17,tri17,tukijo17,has17,linda18,rina18,titik18,tri18,tukijo18,has18,linda19,rina19,titik19,tri19,tukijo19,has19,linda20,rina20,titik20,tri20,tukijo20,has20,linda21,rina21,titik21,tri21,tukijo21,has21,linda1,rina1,titik1,tri1,tukijo1,has1,linda2,rina2,titik2,tri2,tukijo2,has2,linda3,rina3,titik3,tri3,tukijo3,has3,linda4,rina4,titik4,tri4,tukijo4,has4,linda5,rina5,titik5,tri5,tukijo5,has5,linda6,rina6,titik6,tri6,tukijo6,has6,linda7,rina7,titik7,tri17,tukijo7,has7
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
70
Gambar 4.20 Data training kombinasi webcam 3
Gambar 4.21 Data testing kombinasi webcam 3
Setelah dilakukan pengelompokkan, data testing akan diujikan terhadap
data training. Hasil pengujian 3 kombinasi tersebut adalah sebagai
berikut :
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
71
Jumlah data training tiap kombinasi : 84 citra wajah
Jumlah data testing tiap kombinasi : 42 citra wajah
Tabel 4.2. Tabel Hasil Pengujian Data training menggunakan
webcam
No Kelompok
Training
Kelompok
Testing
Correct
rate (%)
Error
rate(%)
1 A B C 66.667 33.333
2 A C B 66.667 33.333
3 B C A 76.19 23.81
Hasil terbaik adalah kelompok kombinasi ketiga yaitu kelompok BC
dengan error rate 23.81%.
4.1.1.3 Hasil Pengujian 3-fold cross validation menggunakan kamera digital
dengan data training menghadap ke depan
Selain menggunakan data training dari kamera digital dan
webcam, pengujian sistem akan dilakukan dengan menggunakan data
training yang diambil menggunakan kamera digital (2736x3748 piksel)
dengan ketentuan bahwa citra wajah diambil hanya dari 1 sudut pandang
(dari depan), dan objek yang difoto tetap fokus ke arah kamera tetapi
ekspresi wajah boleh dengan berbagai ekspresi. Data citra wajah yang
digunakan tetap berasal dari karyawan yang sama, masing-masing
diambil 21 citra wajah. Pengujian dilakukan dengan mengujikan data
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
72
testing ke data training terhadap 3 kombinasi pengelompokkan data.
Hasil pengujian adalah sebagai berikut :
Jumlah data training tiap kombinasi : 210 citra wajah
Jumlah data testing tiap kombinasi : 105 citra wajah
Tabel 4.3. Tabel Hasil Pengujian Data training menggunakan
kamera digital dengan data training menghadap ke depan
No Kelompok
Training
Kelompok
Testing
Correct
rate (%)
Error
rate(%)
1 A B C 93.333 6.667
2 A C B 97.143 2.8571
3 B C A 80.952 19.048
Hasil terbaik adalah kelompok kombinasi kedua yaitu kelompok AC
dengan error rate 2.8571%.
4.1.1.4 Hasil Pengujian 3-fold cross validation menggunakan data training
kamera digital dan data testing webcam
Pengujian dilakukan dengan membandingkan data citra wajah
yang diambil dari 2 media dan resolusi yang berbeda. Hasil pengujian
adalah sebagai berikut :
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
73
Tabel 4.4. Tabel Hasil Pengujian menggunakan data training
kamera digital dan data testing webcam
No Kelompok
Training
Kelompok
Testing
Correct
rate (%)
Error
rate(%)
1 A B C 33.333 66.667
2 A C B 21.429 78.571
3 B C A 30.952 69.048
Hasil terbaik dari pengujian tersebut adalah kelompok kombinasi BC
dengan correct rate 33.333%
4.1.1.5 Hasil Pengujian 3-fold cross validation menggunakan data training
webcam dan data testing kamera digital
Pengujian dilakukan dengan membandingkan data citra wajah
yang diambil dari 2 media dan resolusi yang berbeda. Hasil pengujian
adalah sebagai berikut :
Tabel 4.5. Tabel Hasil Pengujian menggunakan data training
webcam dan data testing kamera digital
No Kelompok
Training
Kelompok
Testing
Correct
rate (%)
Error
rate(%)
1 A B C 23.81 76.19
2 A C B 23.81 76.19
3 B C A 16.667 83.333
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
74
Hasil terbaik dari pengujian tersebut adalah kelompok kombinasi AB dan
AC karena keduanya memiliki correct rate yang sama yaitu 33.333%
4.4.2 Hasil Pengujian melalui User Interface
4.4.2.1 Hasil Pengujian Citra Masukan menggunakan data training dari
kamera digital
Dari pengujian data training menggunakan kamera digital diperoleh
hasil kombinasi terbaik yaitu kelompok AC. Hasil pengujian citra
masukan adalah sebagai berikut :
(a)
(b)
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
75
(c)
Gambar 4.22 Hasil Pengujian Citra Masukan menggunakan 1 data testing dari kamera digital dan data training kamera
(a)pengujian ke-1 (b)pengujian ke-2 (c)pengujian ke-3
Untuk hasil pengujian pada Gambar 4.22, citra masukan yang
digunakan sebagai data testing merupakan citra wajah dari grup B karena
sistem menggunakan kombinasi AC untuk melakukan proses pengenalan.
Hal tersebut dilakukan untuk menguji apakah sistem dapat mengenali
dengan baik citra wajah yang menjadi masukan.
(a)
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
76
(b)
(c)
Gambar 4.23 Hasil Pengujian Citra Masukan menggunakan 1 data testing dari webcam dan data training kamera
(a)pengujian ke-1 (b)pengujian ke-2 (c)pengujian ke-3 Untuk hasil pengujian pada Gambar 4.23, citra masukan yang
digunakan sebagai data testing merupakan salah satu citra wajah dari
database citra wajah menggunakan webcam.
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
77
4.4.2.2 Hasil Pengujian Citra Masukan menggunakan data training dari
webcam
Dari hasil pengujian data training menggunakan webcam diperoleh
hasil kombinasi terbaik yaitu kelompok BC. Hasil pengujian citra
masukan adalah sebagai berikut :
(a)
(b)
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
78
(c)
Gambar 4.24 Hasil Pengujian Citra Masukan menggunakan 1 data testing dari webcam dan data training webcam
(a)pengujian ke-1 (b)pengujian ke-2 (c)pengujian ke-3
Untuk hasil pengujian pada Gambar 4.24, citra masukan yang
digunakan sebagai data testing merupakan citra wajah dari grup A
karena sistem menggunakan kombinasi BC untuk melakukan proses
pengenalan. Hal tersebut dilakukan untuk menguji apakah sistem dapat
mengenali dengan baik citra wajah yang menjadi masukan.
(a)
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
79
(b)
(c)
Gambar 4.25 Hasil Pengujian Citra Masukan menggunakan 1 data testing dari kamera digital dan data training webcam (a)pengujian ke-1 (b)pengujian ke-2 (c)pengujian ke-3
Untuk hasil pengujian pada Gambar 4.25, citra masukan yang
digunakan sebagai data testing merupakan salah satu citra wajah dari
database citra wajah menggunakan kamera digital.
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
80
(a) (b)
Gambar 4.26 Citra masukan menggunakan webcam (a)citra asli (b)citra hasil cropping
(a)
(b)
Gambar 4.27 Hasil Pengujian Citra masukan menggunakan webcam (a)citra asli (b)citra hasil cropping
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
81
4.5 Analisa Hasil Pengujian
4.5.1 Analisa Hasil Pengujian Pelatihan Data
Berdasarkan hasil pengujian pelatihan data menggunakan kamera
digital, diperoleh hasil terbaik pengujian yaitu berdasarkan data dari
kombinasi kedua. Kombinasi kedua yaitu grup data A dan grup data C
menjadi data training, sedangkan grup data B menjadi data testing. Dari
hasil pengujian kombinasi kedua tersebut, sistem mampu mengenali data
testing dengan baik sebanyak 91 citra wajah, sedangkan jumlah error yang
dihasilkan sebanyak 14 citra wajah. Kombinasi kedua ini akan digunakan
oleh sistem untuk melakukan proses pengenalan dengan kemungkinan error
kecil.
Berdasarkan hasil pengujian pelatihan data menggunakan webcam,
diperoleh hasil terbaik pengujian yaitu berdasarkan data dari kombinasi
ketiga. Kombinasi ketiga yaitu grup data B dan grup data C menjadi data
training, sedangkan grup data A menjadi data testing. Dari hasil pengujian
kombinasi kedua tersebut, sistem mampu mengenali data testing dengan
baik sebanyak 32 citra wajah, sedangkan jumlah error yang dihasilkan
sebanyak 10 citra wajah. Kombinasi ketiga ini akan digunakan oleh sistem
untuk melakukan proses pengenalan dengan kemungkinan error kecil.
Berdasarkan hasil pengujian pelatihan data menggunakan data training
dan data testing yang diambil menggunakan kamera digital dengan
ketentuan bahwa citra wajah diambil hanya dari 1 sudut pandang (dari
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
82
depan), dan objek yang difoto tetap fokus ke arah kamera tetapi ekspresi
wajah boleh dengan berbagai ekspresi, kombinasi terbaik adalah kombinasi
kedua. Kombinasi kedua menggunakan data training dari grup A dan grup
C, sedangkan data testing menggunakan data dari grup B. Dari pengujian
menggunakan data citra wajah yang diambil dari kamera digital dari
berbagai sudut dan data dari webcam, dapat diketahui bahwa akurasi sistem
dapat melakukan pengenalan terhadap citra masukan adalah ketika data citra
yang digunakan adalah citra yang diambil dari 1 sudut pandang. Hal
tersebut terbukti dengan akurasi yang dihasilkan sistem sebesar 97.143%,
yaitu dari 105 data testing diperoleh 102 citra wajah dapat dikenali dengan
baik.
Berdasarkan pengujian yang dilakukan dengan menggunakan data
training dari kamera digital dan data testing dari webcam, diperoleh hasil
bahwa akurasi sistem rata-rata di bawah 50%. Demikian pula berdasarkan
pengujian yang dilakukan dengan menggunakan data training dari webcam
dan data testing dari kamera digital, diperoleh hasil bahwa akurasi sistem
rata-rata di bawah 50%. Hal tersebut menunjukkan bahwa sistem tidak
mampu mengenali dengan baik data citra wajah yang diambil dengan
menggunakan media yang memiliki resolusi berbeda.
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
83
4.5.2 Analisa Hasil Pengujian melalui User Interface
4.5.2.1 Hasil Pengujian Citra Masukan menggunakan data training dari
kamera digital
Berdasarkan hasil pengujian menggunakan data training dari
kamera digital dengan data testing juga menggunakan kamera digital
diperoleh hasil bahwa sistem mampu mengenali dengan baik citra
masukan sehingga citra masukan dikenali sebagai orang itu sendiri. Hal
tersebut dikarenakan citra training dan citra testing diambil
menggunakan kamera digital dengan resolusi yang sama yaitu
2736x3648 piksel dengan latar belakang polos, mengalami pemotongan
(cropping) pada bagian wajah, serta mengalami resize terlebih dahulu.
Untuk hasil pengujian menggunakan data training dari kamera
digital dengan data testing menggunakan webcam diperoleh hasil bahwa
sistem tidak dapat mengenali dengan baik citra masukan sebagai subjek
itu sendiri. Hal tersebut dikarenakan citra training diambil menggunakan
kamera digital dengan resolusi 2736x3648 piksel, sedangkan citra
testing diambil menggunakan webcam dengan resolusi 640x480 piksel.
4.5.2.2 Analisa Hasil Pengujian menggunakan data training dari webcam
Berdasarkan hasil pengujian menggunakan data training dari
webcam dengan data testing juga menggunakan webcam diperoleh hasil
bahwa sistem mampu mengenali dengan baik citra masukan sehingga
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
84
citra masukan dikenali sebagai orang itu sendiri. Hal tersebut
dikarenakan citra training dan citra testing diambil menggunakan
webcam dengan resolusi yang sama yaitu 640x480 piksel, kemudian
mengalami pemotongan (cropping) pada bagian wajah, serta mengalami
resize terlebih dahulu.
Untuk hasil pengujian menggunakan data training dari webcam
dengan data testing menggunakan kamera digital diperoleh hasil bahwa
sistem tidak dapat mengenali dengan baik citra masukan sebagai subjek
itu sendiri. Hal tersebut dikarenakan citra training diambil menggunakan
webcam dengan resolusi 640x480 piksel, sedangkan citra testing diambil
menggunakan kamera digital dengan resolusi 2736x3648 piksel.
Pengujian pada Gambar 4.27 menggunakan citra wajah yang
diambil menggunakan webcam. Dari pengujian tersebut diperoleh hasil
bahwa citra masukan asli tidak dapat dikenali sebagai orang tersebut
oleh sistem, sedangkan citra masukan yang mengalami cropping dapat
dikenali sebagai orang itu sendiri oleh sistem.
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
85
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Berdasarkan hasil penelitian penerapan face recognition menggunakan
metode eigenface pada sistem presensi karyawan Universitas Sanata Dharma,
maka dapat ditarik kesimpulan sebagai berikut :
1. Metode Eigenface merupakan metode yang cukup baik untuk mengenali
citra wajah dengan berbagai posisi dan ekspresi. Batasan data adalah citra
wajah menggunakan kamera digital yang memiliki resolusi 2736x3648
piksel dan citra wajah menggunakan webcam yang memiliki resolusi
640x480 piksel. Hal ini dibuktikan oleh hasil pengujian pelatihan data
menggunakan kamera digital dengan 315 data berupa 105 data testing dan
210 data training menghasilkan akurasi terbesar 86.667% . Untuk hasil
pengujian pelatihan data menggunakan webcam dengan 126 data berupa 42
data testing dan 84 data training menghasilkan akurasi terbesar 76.19%.
2. Metode Eigenface merupakan metode yang cukup baik untuk mengenali
citra wajah yang diambil dari 1 sudut pandang (dari depan). Hal ini
dibuktikan oleh pengujian pelatihan data menggunakan kamera digital
beresolusi 2736x3648 piksel dengan 105 data testing diujikan ke 210 data
training diperoleh akurasi terbesar 97.143%.
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
86
3. Pengujian pelatihan data menggunakan kamera digital berupa 105 data
testing dan 210 data training menggunakan 3-fold cross validation
menghasilkan kelompok data terbaik yaitu kelompok kombinasi AC dengan
error rate 13.333%. Pengujian pelatihan data menggunakan webcam berupa
42 data testing dan 84 data training menggunakan 3-fold cross validation
menghasilkan kelompok data terbaik yaitu kelompok kombinasi BC dengan
error rate 23.81%.
4. Penerapan face recognition menggunakan metode eigenface pada sistem
presensi karyawan Universitas Sanata Dharma masih memiliki beberapa
kekurangan antara lain :
• Citra masukan menggunakan webcam dengan resolusi 640x480 piksel
harus mengalami cropping secara manual agar dapat dikenali sebagai
orang tersebut.
• Data citra wajah keseluruhan diambil dengan latar belakang yang
masih polos, sehingga ketika ada citra masukan dengan latar belakang
tidak polos, maka tidak mampu dikenali dengan baik oleh sistem.
5. Citra masukan dapat dikenali dengan baik oleh sistem jika citra masukan
memiliki resolusi yang sama dengan citra training dengan resolusi
2736x3648 piksel. Misal, citra training diambil menggunakan webcam,
maka citra masukan juga harus diambil menggunakan webcam dengan
resolusi 640x480 piksel.
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
87
5.2 Saran
Beberapa saran yang dapat dilakukan untuk pengembangan penelitian ini
lebih lanjut adalah sebagai berikut :
1. Jika akan digunakan secara real, proses deteksi wajah sebaiknya dilakukan
secara terpisah dengan proses ekstraksi ciri dengan melakukan proses
segmentasi atau deteksi kulit pada citra masukan agar sistem dapat
mengenali dengan baik bahwa ada citra wajah di dalam citra masukan
secara otomatis tanpa harus memotong (cropping) secara manual.
2. Perlu dicoba menggunakan metode ekstraksi ciri yang lain.
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
88
DAFTAR PUSTAKA
Bayu S., Hendriawan A., Susetyoko R. 2007. Penerapan Face Recognition Dengan
Metode Eigenface Dalam Intelligent Home Security. Jurnal Institut
Teknologi Sepuluh Maret. Surabaya
Gunadi K., Pongsitanan S.R. 2004. Pembuatan Perangkat Lunak Pengenalan Wajah
Menggunakan Principal Component Analysis. Jurnal Universitas Kristen
Petra. Surabaya
Nugroho, E. 2009. Biometrika Mengenal Sistem Identifikasi Masa Depan. ANDI
OFFSET : Yogyakarta
Prasetyo E., Rahmantun I. 2008. Desain Sistem Pengenalan Wajah Dengan Variasi
Ekspresi dan Posisi Menggunakan Metode Eigenface. Jurnal Universitas
Gunadarama. Depok
Pressman, R.S. 2002. Rekayasa Perangkat Lunak. ANDI OFFSET : Yogyakarta
Putra, D. 2010. Pengolahan Citra Digital. ANDI OFFSET : Yogyakarta
Refaeilzadeh, Payam., Lie Tang. dan Huan Liu. 2008. Cross-Validation. Arizona :
Arizona State University
Turk M., Pentland A. 1991. Eigenfaces for Recognition. Journal of Cognitive
Neuroscience, vol. 3, pp 71-86
Zhao W., Chellapa R. 2006. Face Processing Advanced Modeling and Methods.
ELSEIVER : USA
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LAMPIRAN
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
SistemKamera.m
function varargout = SistemKamera(varargin) % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @SistemKamera_OpeningFcn, ... 'gui_OutputFcn', @SistemKamera_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin1) gui_State.gui_Callback = str2func(varargin1); end if nargout [varargout1:nargout] = gui_mainfcn(gui_State, varargin:); else gui_mainfcn(gui_State, varargin:); end % End initialization code - DO NOT EDIT % --- Executes just before SistemKamera is made visible. function SistemKamera_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to SistemKamera (see VARARGIN) % Choose default command line output for SistemKamera handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes SistemKamera wait for user response (see UIRESUME) % uiwait(handles.figure1); % --- Outputs from this function are returned to the command line. function varargout = SistemKamera_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
% Get default command line output from handles structure varargout1 = handles.output; set(handles.button_recognition,'Enable','off'); %mengeset button recognition mjd disable set(handles.refresh_button,'Enable','off'); %mengeset button refresh mjd disable % ------------------------------------------------------------------ function File_Callback(hObject, eventdata, handles) % hObject handle to File (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % ------------------------------------------------------------------ function help_Callback(hObject, eventdata, handles) % hObject handle to help (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % ------------------------------------------------------------------ function about_Callback(hObject, eventdata, handles) % hObject handle to about (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % ------------------------------------------------------------------ function open_Callback(hObject, eventdata, handles) % hObject handle to open (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) [namafile, lokasipath] = uigetfile('*.jpg','Select Image You want to Recognition'); if isequal(namafile,0) else ambil=strcat(lokasipath,namafile); info = imfinfo(ambil); %mengetahui info dari file ambil if info.Width<=100 && info.Height<=100 handles.banner = imread(ambil); axes(handles.foto); image(handles.banner) %menampilkan file yg dipilih ke dlm axes pnl=get(handles.panel_input,'Position'); xImage=(pnl(3))+(info.Width/4); yImage=(pnl(4))+(info.Height/4);
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
set(handles.foto, ... 'Visible', 'off', ... 'Units', 'pixels', ... 'Position', [xImage yImage info.Width info.Height]); set(handles.panel_input,'Title',ambil); else masuk=imread(ambil); %crop=imcrop(masuk,[200 120 200 200]); ubahUkuran=imresize(masuk,[100 100],'bilinear'); axes(handles.foto); image(ubahUkuran) pnl=get(handles.panel_input,'Position'); xImage=(pnl(3))+(100/4); yImage=(pnl(4))+(100/4); set(handles.foto, ... 'Visible', 'off', ... 'Units', 'pixels', ... 'Position', [xImage yImage 100 100]); set(handles.panel_input,'Title',ambil); end set(handles.button_recognition,'Enable','on'); %button recognition di-enable-kan end % ------------------------------------------------------------------ function keluar_Callback(hObject, eventdata, handles) % hObject handle to keluar (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) keluar = get(hObject,'Tag'); if keluar=='Exit' delete(handles.figure1); end % ------------------------------------------------------------------ function sistem_help_Callback(hObject, eventdata, handles) % hObject handle to sistem_help (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) sis = get(hObject,'Tag'); if sis=='sistem' System_Help; end % ------------------------------------------------------------------ function tentang_Callback(hObject, eventdata, handles) % hObject handle to tentang (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) about = get(hObject,'Tag');
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
if about=='tentang' About_Program; end % --- Executes on button press in button_recognition. function button_recognition_Callback(hObject, eventdata, handles) % hObject handle to button_recognition (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) insert=getimage(handles.foto); tombol = get(handles.button_recognition,'Value'); if tombol==1 RecognitionKamera(insert,handles.foto_kemiripan,handles.panel_mirip,handles.field_mirip); end set(handles.refresh_button,'Enable','on'); % --- Executes on button press in refresh_button. function refresh_button_Callback(hObject, eventdata, handles) % hObject handle to refresh_button (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) reset=128; axes(handles.foto); image(reset) axes(handles.foto_kemiripan); image(reset) a=' '; set(handles.field_mirip,'String',a); b='Image Input'; set(handles.panel_input,'Title',b); c='Image Similarity'; set(handles.panel_mirip,'Title',c);
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
RecognitionKamera.m
function InImage=RecognitionKamera(masukan,handleskemiripan,panelmirip,handlesfieldkemiripan) % jmlah data training jumTrain=210; %membuka dan menscan database dari notepad untuk grup A fidA=fopen('kombinasi1.txt'); readA=textscan(fidA, '%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s', 'delimiter', ','); %membuka dan menscan database dari notepad untuk grup B fidB=fopen('kombinasi2.txt'); readB=textscan(fidB, '%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s', 'delimiter', ','); %membuka dan menscan database dari notepad untuk grup C fidC=fopen('kombinasi3.txt'); readC=textscan(fidC, '%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s', 'delimiter', ','); %membaca dan menampilkan data training STrain=[]; figure(1); for i=1:jumTrain strA=imread(strcat('F:\KULIAH\TA meme_JUNI\data kamera\',readB1,i1,1,'.jpg')); imgTrain=strA;
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
subplot(ceil(sqrt(jumTrain)),ceil(sqrt(jumTrain)),i) imshow(imgTrain) if i==3 title('Training set','fontsize',18) end drawnow; imgTrain=rgb2gray(imgTrain); [irowTrain icolTrain]=size(imgTrain); %mendapatkan jumlah baris dan kolom dr citra training r=reshape(imgTrain,irowTrain*icolTrain,1); % mengubah menjadi vektor kolom (N^2 x 1) r=im2double(r); STrain=[STrain r]; %matriks yang menampung vektor kolom citra training end %melakukan normalisasi ukuran citra y=[]; for i=1:size(STrain,1) penjumlahan=sum(STrain(i,:)); avg=penjumlahan/jumTrain; y=[y; avg]; end Q=[]; for i=1:size(STrain,2) r=STrain(:,i); pengurangan=r-y; Q=[Q pengurangan]; end %menampilkan normalisasi citra dari data training figure(2); for i=1:jumTrain strTrain=strcat(int2str(i),'.jpg'); imgTrain=reshape(STrain(:,i),icolTrain,irowTrain); eval('imwrite(imgTrain,strTrain)'); subplot(ceil(sqrt(jumTrain)),ceil(sqrt(jumTrain)),i) imshow(imgTrain) drawnow; if i==3 title('Normalized Training Set','fontsize',18) end end % mean image yTrain=mean(Q,2); tmimgTrain=uint8(yTrain); imgTrain=reshape(tmimgTrain,icolTrain,irowTrain); figure(3); imshow(imgTrain);
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
title('Mean Image','fontsize',18) %manipulasi citra A=[]; for i=1:jumTrain r=Q(:,i); A=[A r]; end %mencari Covariance matrix C=A'A C=A'*A; [eigenvector eigenvalue]=eig(C); %eliminasi eigenvalue eigvector=[]; eigvalue=[]; for i=1:size(eigenvector,2) if(eigenvalue(i,i)>1e-4) eigvector=[eigvector eigenvector(:,i)]; eigvalue=[eigvalue eigenvalue(i,i)]; end end %sorting secara ascending [B index]=sort(eigvalue); ind=zeros(size(index)); eigvalueTemp=zeros(size(index)); eigvectorTemp=zeros(size(eigvector)); len=length(index); for i=1:len eigvalueTemp(i)=B(len+1-i); ind(i)=len+1-index(i); eigvectorTemp(:,ind(i))=eigvector(:,i); end eigvalue=eigvalueTemp; eigvector=eigvectorTemp; %Normalisasi eigenvektor for i=1:size(eigvector,2) kk=eigvector(:,i); temp=sqrt(sum(kk.^2)); eigvector(:,i)=eigvector(:,i)./temp; end %Eigenfaces dari matriks kovarian u=[]; for i=1:size(eigvector,2) u=[u (A*eigvector(:,i))]; end
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
%Normalisasi eigenface for i=1:size(u,2) kk=u(:,i); r=sqrt(sum(kk.^2)); u(:,i)=u(:,i)./r; end % show eigenfaces figure(4); for i=1:size(u,2) img=reshape(u(:,i),icolTrain,irowTrain); img=histeq(img,255); subplot(ceil(sqrt(jumTrain)),ceil(sqrt(jumTrain)),i) imshow(img) drawnow; if i==3 title('Eigenfaces','fontsize',18) end end % mencari bobot tiap wajah dari data training omega = []; for h=1:size(A,2) WW=[]; for i=1:size(u,2) t = u(:,i)'; WeightOfImageTrain = dot(t,A(:,h)'); WW = [WW; WeightOfImageTrain]; end omega = [omega WW]; end %--------------------START TO RECOGNITION--------------------------% InputImage=masukan; figure(5) subplot(2,2,3) imshow(InputImage);colormap('gray'); title('Input image','fontsize',18) InImage=rgb2gray(InputImage); [rowIn colIn]=size(InImage); InImage=reshape(InImage,rowIn*colIn,1); rImage=im2double(InImage); Difference = rImage-y; %menghitung bobot data testing InImWeightTest = []; for i=1:size(u,2) tA = u(:,i)'; WeightOfInputImageTest =dot(tA,Difference');
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
InImWeightTest=[InImWeightTest; WeightOfInputImageTest]; end %normalisasi bobot citra masukan normInImWeightTest=norm(InImWeightTest); omegaInImage=InImWeightTest/normInImWeightTest; %normalisasi bobot citra training normOm=[]; for j=1:size(omega,2) normOmega=norm(omega(:,j)); normOm=[normOm normOmega]; end omegaTrain=[]; for i=1:size(omega,2) omTrain=omega(:,i)/normOm(i); omegaTrain=[omegaTrain omTrain]; end % menghitung jarak euclidean dari data testing thdp data training e=[]; for i=1:size(omega,2) q = omegaTrain(:,i); DiffWeight = omegaInImage-q; mag = norm(DiffWeight); e = [e mag]; end kk = 1:size(e,2); subplot(2,2,[1 2]) stem(kk,e) title('Eucledian distance of input image','fontsize',14) MinimumValue=min(e) % minimum eucledian distance subplot(2,2,4) for z=1:size(e,2) if(e(z)==MinimumValue) showTrain=strcat('F:\KULIAH\TA meme_JUNI\data kamera\',readB1,z1,1,'.jpg'); imshow(showTrain);title('Citra Training','fontsize',18) info = imfinfo(showTrain); % mengetehui info dari citra masukan if info.Width<=100 && info.Height<=100 re=imread(showTrain); axes(handleskemiripan); image(re) pnl=get(panelmirip,'Position');
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xImage=(pnl(3))+(info.Width/4); yImage=(pnl(4))+(info.Height/4); set(handleskemiripan, ... 'Visible', 'off', ... 'Units', 'pixels', ... 'Position', [xImage yImage info.Width info.Height]); set(handlesfieldkemiripan,'String',MinimumValue); set(panelmirip,'Title',showTrain); end end end
prosesTrainingKamera.m
%banyaknya data untuk training jumTrain=210; %membuka dan menscan database dari notepad untuk kombinasi 1 fidA=fopen('kombinasi1.txt'); readA=textscan(fidA, '%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s', 'delimiter', ','); fileA=fopen('kombinasi1.txt'); bacaA=textscan(fileA, '%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s', 'delimiter', ','); %membuka dan menscan database dari notepad untuk kombinasi 2 fidB=fopen('kombinasi2.txt'); readB=textscan(fidB, '%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s', 'delimiter', ',');
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
fileB=fopen('kombinasi2.txt'); bacaB=textscan(fileB, '%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s', 'delimiter', ','); %membuka dan menscan database dari notepad untuk kombinasi 3 fidC=fopen('kombinasi3.txt'); readC=textscan(fidC, '%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s', 'delimiter', ','); fileC=fopen('kombinasi3.txt'); bacaC=textscan(fileC, '%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s', 'delimiter', ','); %--------------------------DATA TRAINING---------------------------% %membaca dan menampilkan data training STrain=[]; %matriks yang menampung vektor kolom citra training figure(1); for i=1:jumTrain strA=imread(strcat('F:\KULIAH\TA meme_JUNI\data kamera\',readB1,i1,1,'.jpg')); imgTrain=strA; subplot(ceil(sqrt(jumTrain)),ceil(sqrt(jumTrain)),i) imshow(imgTrain) if i==3 title('Training set','fontsize',18) end drawnow;
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
imTrain=rgb2gray(imgTrain); [irowTrain icolTrain]=size(imTrain); %mendapatkan jumlah baris dan kolom dr citra training r=reshape(imTrain,irowTrain*icolTrain,1);% mengubah menjadi vektor kolom (N^2 x 1) r=im2double(r); STrain=[STrain r]; %matriks yang menampung vektor kolom citra training end %melakukan normalisasi ukuran citra y=[]; for i=1:size(STrain,1) penjumlahan=sum(STrain(i,:)); avg=penjumlahan/jumTrain; y=[y; avg]; end Q=[]; for i=1:size(STrain,2) r=STrain(:,i); pengurangan=r-y; Q=[Q pengurangan]; end %menampilkan normalisasi citra dari data training figure(2); for i=1:jumTrain strTrain=strcat(int2str(i),'.jpg'); imgTrain=reshape(STrain(:,i),icolTrain,irowTrain); eval('imwrite(imgTrain,strTrain)'); subplot(ceil(sqrt(jumTrain)),ceil(sqrt(jumTrain)),i) imshow(imgTrain) drawnow; if i==3 title('Normalized Training Set','fontsize',18) end end % mean image yTrain=mean(STrain,2); tmimgTrain=uint8(yTrain); imgTrain=reshape(tmimgTrain,icolTrain,irowTrain); figure(3); imshow(imgTrain); title('Mean Image','fontsize',18) % manipulasi citra A=[]; for i=1:jumTrain
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
r=Q(:,i); A=[A r]; end %mencari Covariance matrix C=A'A C=A'*A; %mencari eigenvector dan eigenvalue [eigenvector eigenvalue]=eig(C); % mengeliminasi eigenvalue yang bernilai negatif atau 0 eigvector=[]; eigvalue=[]; for i=1:size(eigenvector,2) if(eigenvalue(i,i)>1e-4) eigvector=[eigvector eigenvector(:,i)]; eigvalue=[eigvalue eigenvalue(i,i)]; end end %mengurutkan eigenvalue secara ascending (dari kecil ke besar) [B index]=sort(eigvalue); ind=zeros(size(index)); % 209-1 eigvalueTemp=zeros(size(index)); %B descending eigvectorTemp=zeros(size(eigvector)); len=length(index); for i=1:len %1-209 eigvalueTemp(i)=B(len+1-i); %B(210-i) ind(i)=len+1-index(i); eigvectorTemp(:,ind(i))=eigvector(:,i); end eigvalue=eigvalueTemp; %pengurutan mjd descending eigvector=eigvectorTemp; %Normalisasi eigenvektor for i=1:size(eigvector,2) kk=eigvector(:,i); temp=sqrt(sum(kk.^2)); eigvector(:,i)=eigvector(:,i)./temp; end %Eigenfaces dari matriks kovarian u=[]; for i=1:size(eigvector,2) u=[u (A*eigvector(:,i))]; end %Normalisasi eigenface for i=1:size(u,2) kk=u(:,i);
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
r=sqrt(sum(kk.^2)); u(:,i)=u(:,i)./r; end % show eigenfaces figure(4); for i=1:size(u,2) img=reshape(u(:,i),icolTrain,irowTrain); img=histeq(img,255); subplot(ceil(sqrt(jumTrain)),ceil(sqrt(jumTrain)),i) imshow(img) drawnow; if i==3 title('Eigenfaces','fontsize',18) end end % mencari bobot tiap wajah dari data training omega = []; mod=[]; for h=1:size(A,2) WW=[]; for i=1:size(u,2) t = u(:,i)'; WeightOfImageTrain = dot(t,A(:,h)'); WW = [WW; WeightOfImageTrain]; end omega = [omega WW]; end %---------------------------DATA TESTING---------------------------% jumTest=jumTrain/2; %membaca data testing dari notepad figure(5); for a=1:jumTest z=jumTrain+a; testA=imread(strcat('F:\KULIAH\TA meme_JUNI\data kamera\',bacaB1,z1,1,'.jpg')); imgA=testA; subplot(ceil(sqrt(jumTest)),ceil(sqrt(jumTest)),a) imshow(imgA) if a==3 title('Data Testing','fontsize',18) end drawnow; end %mengubah matriks dari data testing mjd vektor benar=0; %mengeset nilai benar utk proses pengenalan salah=0; %mengeset nilai salah utk proses pengenalan
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
e=[]; for a=1:jumTest z=jumTrain+a; testA=imread(strcat('F:\KULIAH\TA meme_JUNI\data kamera\',bacaB1,z1,1,'.jpg')); imgTest=rgb2gray(testA); [rowTest colTest]=size(imgTest); rTest=reshape(imgTest,rowTest*colTest,1); rTest=im2double(rTest); %menghitung mean dari 105 input Difference=rTest-y; %menghitung bobot data testing InImWeightTest = []; for i=1:size(u,2) tA = u(:,i)'; WeightOfInputImageTest =dot(tA,Difference'); InImWeightTest=[InImWeightTest; WeightOfInputImageTest]; end %normalisasi bobot citra masukan normInImWeightTest=norm(InImWeightTest); omegaInImage=InImWeightTest/normInImWeightTest; %normalisasi bobot citra training normOm=[]; for j=1:size(omega,2) normOmega=norm(omega(:,j)); normOm=[normOm normOmega]; end omegaTrain=[]; for i=1:size(omega,2) omTrain=omega(:,i)/normOm(i); omegaTrain=[omegaTrain omTrain]; end % menghitung jarak euclidean dari data testing thdp data training e=[]; for i=1:size(omega,2) q = omegaTrain(:,i); DiffWeight = omegaInImage-q; mag = norm(DiffWeight); e = [e mag]; end figure(5+a) kk = 1:size(e,2);
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
subplot(2,2,[1 2]) stem(kk,e) title('Eucledian distance of input image','fontsize',14) MinimumValue=min(e) %mencari nilai minimum dari jarak euclidean yg diperoleh for z=1:size(e,2) jum=jumTrain+a; if(e(z)==MinimumValue) disp(['jarak minimum sesuai dengan data training ke :',num2str(z)]); %menampilkan index dari minimum value yg sesuai %membaca data testing showInput=imread(strcat('F:\KULIAH\TA meme_JUNI\data kamera\',bacaB1,jum1,1,'.jpg')); in=bacaA1,jum1,1; %membaca karakter file testing %membaca data training showTrain=imread(strcat('F:\KULIAH\TA meme_JUNI\data kamera\',readB1,z1,1,'.jpg')); train=readA1,z1,1; %membaca karakter file training tampungIn=[]; tampungTrain=[]; for loop=1:3 %membaca 3karakter pertama tampungIn=[tampungIn in(loop)]; tampungTrain=[tampungTrain train(loop)]; end subplot(2,2,3) imshow(showInput);title('Citra Testing','fontsize',18) subplot(2,2,4) imshow(showTrain);title('Citra Training','fontsize',18) end end if(tampungIn==tampungTrain) benar=benar+1; else disp(['SALAH pada pengujian ke:',num2str(a),' testing:',tampungIn,' training:',tampungTrain]) salah=salah+1; end bn=[benar salah]; end correct=benar/(benar+salah)*100; error=salah/(benar+salah)*100;
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.comPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI