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
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
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
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
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
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.
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.
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.
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
xiv
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.1Hasil Pengujian Citra Masukan menggunakan data training dari kamera digital… … … . 74
4.4.2.2Hasil Pengujian Citra Masukan menggunakan data training dari webcam… … … .. 77
4.5Analisa 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.1Hasil Pengujian Citra Masukan menggunakan data training dari kamera digital… … … 83
xv
BAB V KESIMPULAN DAN SARAN… … … . 85
5.1Kesimpulan… … … .… … … ... 85
5.2Saran… … … ... 87
DAFTAR PUSTAKA… … … . 88
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
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
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
xviiii
4.26 Citra masukan menggunakan webcam
(a)citra asli (b)citra hasil cropping 78 4.27 Hasil Pengujian Citra masukan menggunakan webcam
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
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.
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 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 :
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
- 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
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
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.
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
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
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,
Tabel 2.1 Kategori Teknik Pengenalan Wajah
Holistic methods
Principal Component Analysis - Eigenfaces
- 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
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
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
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
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)
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)
𝑑 𝑢,𝑣 = 𝑢 −𝑖 𝑣 𝑖 2 𝑖
1
2 (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
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
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.
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
File wajah karyawan
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
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
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
Citra wajah Citra wajah
Proses awal Proses awal
Reshape matriks Ekstrak 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.
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
2. Mentransformasikan matriks NxN menjadi sebuah vektor kolom untuk tiap citra. Misal (M) ada 3 buah citra wajah training.
𝑖𝑚𝑎𝑔𝑒1 = 5 1
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)
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) 𝐶= 𝐴𝑡𝐴
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 −𝜆
((2 -𝜆)*{(4 -𝜆) (-𝜆) – (2) (-1)}) – (0*{(-1) (-𝜆 ) – (-1) (-1)}) + (1*{(-1) Eigenvalue yang sudah diperoleh akan digunakan untuk mencari
eigenvector dengan menggunakan persamaan (2.3)
Untuk 𝜆1 = 2
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
−𝑥1 + 2𝑥2 = 0 sehingga diperoleh bahwa 𝑥1 = 2𝑥2.
Eigenvector yang tebentuk
2𝑥2
Sehingga diperoleh persamaan seperti berikut : 𝑥1 + 𝑥3 = 0 −→ 𝑥1 =−𝑥3
kedua persamaan tersebut saling dieliminasi seperti berikut : 𝑥3 + 3𝑥2− 𝑥3= 0
𝑥3 + 2𝑥2− 𝑥3= 0
Eigenvector yang tebentuk
Sehingga diperoleh persamaan seperti berikut : −𝑥1 + 𝑥3 = 0 −→ 𝑥3= 𝑥1
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
-
Eigenvector yang tebentuk 𝑥1
2𝑥1 𝑥1
, nilai yang mendekati adalah
𝑥3 =
1 2 1
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.990.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 = 20.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.680.34 -0.66 0.34 1 2
1 2 -3 2
𝑢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.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
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
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
Setelah keseluruhan data dikelompokkan, tahap berikutnya adalah melakukan kombinasi pengujian. Untuk 3 kelompok data tersebut akan
menghasilkan 3 kombinasi pengujian.
A B C
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.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 4
6 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
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
mencari jarak terhadap dua vector tersebut, maka akan dilakukan normalisasi nilai vector tersebut menggunakan persamaan (2.12).
Ω = 𝑣𝑖2
Setelah melakukan normalisasi nilai vector, kemudian menyelesaikan persamaan (2.11) seperti berikut :
Ω = 10.2412
18.2436 = 0.5180; 0.2884; −0.8053
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
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
3.5.2 Tampilan Menu File
Perancangan tampilan menu File disajikan pada Gambar 3.7 sebagai
berikut :
X
-Help About File
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 Help About
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
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
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
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\',readB{1,i}{1,1},'.jpg')); imgTrain=strA;
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\',readB{1,i}{1,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];
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];
3. Mencari matriks kovarian dengan menggabungkan matriks Q ke dalam matriks 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=[];
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.
7. Melakukan normalisasi terhadap eigenfaces yang diperoleh. %Normalisasi eigenfaces
8. Mencari bobot dari masing-masing citra wajah training yaitu dengan
memproyeksikan Qi ke dalam eigenspace dengan persamaan =
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');
fileB=fopen('kombinasi2.txt');
%membuka dan menscan database dari notepad untuk grup C fidC=fopen('kombinasi3.txt');
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
testA=imread(strcat(F:\KULIAH\TA meme_JUNI\data kamera\',bacaB{1,z}{1,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≤ d u, v ≤ 2. Setelah kedua vektor tersebut dinormalisasi,
%normalisasi bobot citra masukan omegaTrain=[omegaTrain omTrain];
end
%menghitung jarak euclidean dari data testing thdp data training
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
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];
6. Mencari jarak terdekat antara citra masukan dengan citra wajah training
sehingga diperoleh kemiripan. Pencarian jarak ini menggunakan algoritma
Euclidean distance. omegaTrain=[omegaTrain omTrain];
end
%menghitung jarak euclidean dari data testing thdp data training
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.
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.4 Implementasi Tampilan Open File
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
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
Gambar 4.10 Data training kombinasi 1
Gambar 4.12 Data training kombinasi 2
Gambar 4.14 Data training kombinasi 3
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
Hasil terbaik adalah kelompok kombinasi kedua yaitu kelompok AC dengan error rate 13.33%.
4.1.1.2Hasil Pengujian 3-fold cross validation menggunakan webcam File “kombinasiWebcam1.txt”
16,tri16,tukijo16,has16,linda17,rina17,titik17,tri17,tuki jo17,has17,linda18,rina18,titik18,tri18,tukijo18,has18,li nda19,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
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,tit ik15,tri15,tukijo15,has15,linda16,rina16,titik16,tri16,tu kijo16,has16,linda17,rina17,titik17,tri17,tukijo17,has17, linda18,rina18,titik18,tri18,tukijo18,has18,linda19,rina1 9,titik19,tri19,tukijo19,has19,linda20,rina20,titik20,tri 20,tukijo20,has20,linda21,rina21,titik21,tri21,tukijo21,h as21,linda8,rina8,titik8,tri8,tukijo8,has8,linda9,rina9,t itik9,tri9,tukijo9,has9,linda10,rina10,titik10,tri10,tuki jo10,has10,linda11,rina11,titik11,tri11,tukijo11,has11,li nda12,rina12,titik12,tri12,tukijo12,has12,linda13,rina13, titik13,tri13,tukijo13,has13,linda14,rina14,titik14,tri14 ,tukijo14,has14
Gambar 4.19 Data testing kombinasi webcam 2
File “kombinasiWebcam3.txt”
Gambar 4.20 Data training kombinasi webcam 3
Gambar 4.21 Data testing kombinasi webcam 3
Setelah dilakukan pengelompokkan, data testing akan diujikan terhadap
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.3Hasil 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
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.4Hasil Pengujian 3-fold cross validation menggunakan data training kamera digital dan data testing webcam
Pengujian dilakukan dengan membandingkan data citra wajah
Tabel 4.4. Tabel Hasil Pengujian menggunakan data training kamera digital dan data testing webcam
No Kelompok
Hasil terbaik dari pengujian tersebut adalah kelompok kombinasi BC
dengan correct rate 33.333%
4.1.1.5Hasil 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