Universitas Kristen Maranatha i
PENGENALAN WAJAH DENGAN METODE LAPLACIANFACE
R. Fraya Assyifa ( 0522036 )
Jurusan Teknik Elektro, Fakultas Teknik, Universitas Kristen Maranatha
Jln. Prof. Drg. Suria Sumantri 65, Bandung 40164, Indonesia
Email : [email protected]
ABSTRAK
Teknik pengenalan wajah pada saat ini sangat penting dan dapat
diaplikasikan pada banyak bidang, seperti untuk keperluan penegakan hukum
maupun komersial. Banyak teknik pengembangan yang dilakukan, seperti
misalnya metode Laplacianface. Komputer dapat menyerupai kemampuan otak
manusia dalam berbagai tugas pengenalan wajah, terutama tugas-tugas yang
membutuhkan pencarian pada databasewajah yang besar.
Tujuan Tugas Akhir ini adalah untuk merealisasikan perangkat lunak
pengenalan wajah dengan menggunakan metode Laplacianface. Metode
Laplacianface dibangun oleh PCA (Principal Component Analysis) dan LPP
(Locality Preserving Projection). Citra dianalisa dengan training set yang berisi
database gambar wajah untuk dikenali sehingga dapat diimplementasikan untuk
berbagai keperluan. Dalam Tugas Akhir ini perangkat lunak dirancang
menggunakan Matlab.
Hasil pengujian menunjukkan bahwa hasil analisis dapat mengenali citra
wajah yang diuji.
Universitas Kristen Maranatha ii
FACE RECOGNITION USING LAPLACIANFACES
R. Fraya Assyifa ( 0522036 )
Electrical Engineering, Maranatha Christian University
Jl. Prof.Drg.Suria Sumantri, MPH no.65, Bandung, Indonesia.
Email : [email protected]
ABSTRACT
The face recognition system are very important which is be applied at many fields, such as for authentication or commercial. Any research are performed to develop face recognition technique, such as Laplacianfaces method. Computers ability is similar with human brain's in recognition face people, especially tasks that require a search on a large database of faces.
This Final Project aims to realize software face recognition by using Laplacianfaces. Laplacianfaces method are developed by PCA (Principal Component Analysis)
and LPP (Locality Preserving Projection). The image was analyzed with a training set containing the facial image databases for recognition that can be implemented for various purposes. In this final task was designed using the software Matlab.
The results showed that analysis can recognize the face image being tested.
Universitas Kristen Maranatha
DAFTAR GAMBAR...…….. viii
BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah... 1
1.2 Identifikasi Masalah... 2
1.3 Tujuan…...…. 2
1.4 Pembatasan Masalah…...…... 2
1.5 Sistematika Penulisan... 3
BAB 2 LANDASAN TEORI 2.1 Pengertian Citra…...….…... 4
2.1.1 Implementasi Pengolahan Citra... 5
2.1.2 Proses Pengolahan Citra…..…... 5
2.2 Pengenalan Wajah... 5
2.3 Deteksi Wajah... 7
2.2.1 Segmentasi Kulit……….…………... 7
2.2.2 Proses Morfologi……….………... 10
2.2.3 Connected Region Analysis………... 11
2.2.4 Ekstraksi Wajah………. 11
2.4 PCA...……. 11
2.5 LPP...……. 13
Universitas Kristen Maranatha iv
BAB 3 PERANCANGAN PROGRAM
3.1 Input Data Citra Wajah... 16
3.4 Perancangan Program Aplikasi.………..……… 27
3.4.1 Pengurangan Dimensi dengan PCA ... 27
3.4.2 Pembentukan Matriks Bobot ... 31
3.4.2.1 Pembentukan Graf nearest-neighbor... 31
3.4.2.2 Pemilihan Bobot... 32
LAMPIRAN A KODE PROGRAM
Universitas Kristen Maranatha v
DAFTAR TABEL
Tabel 4.1 Data Pengamatan Database 1 ... 44
Tabel 4.2 Data Pengamatan Database 2 ... 47
Tabel 4.3 Data Pengamatan Database 3 ... 50
Universitas Kristen Maranatha vi
DAFTAR GAMBAR
Gambar 2.1 Proses face recognition…... 6
Gambar 2.2 Proses deteksi wajah... 7
Gambar 2.3 Korelasi antara nilai Cb dan Cr ... 9
Gambar 2.4 Nilai Cb dan Cr untuk warna kulit... 9
Gambar 2.5 Proses erosi dan dilasi …... 12
Gambar 3.1 Blok Diagram Pengenalan Wajah dengan Metode Laplacianface...……… 16
Gambar 3.2 Diagram Alir Sistem Pengenalan Wajah...…………... 17
Gamvar 3.3 Diagram Alir Poses Deteksi Wajah... 18
Gambar 3.4 Diagram Alir Pembatasan Warna dan Proses Morfologi...…... 20
Gambar 3.5 Diagram Alir Proses Region Analysis... 22
Gambar 3.6 Diagram Alir Ekstraksi Gambar Wajah... 24
Gambar 3.7 Diagram Alir Pengurangan Dimensi dengan PCA... 37
Gambar 3.8 Diagram Alir Konstruksi Laplacianface... 38
Gambar 3.9 Diagram Alir Klasifikasi...… 39
Gambar 4.1 Simulasi Train Database... 41
Gambar 4.2 Simulasi Test Database……… 41
Gambar 4.3 Simulasi Input Gambar yang akan diujikan………. 42
Gambar 4.4 Input wajah yang diujikan………. 43
LAMPIRAN A
A-1
fprintf('\n1. Pilih Folder Train Database > '); Train.Path = uigetdir('C:\');
if Train.Path==0 return
end
fprintf('%s',Train.Path);
fprintf('\n2. Pilih Folder Test Database > ');
[file path]= uigetfile({'*.jpg','JPEG files (*.jpg)';'*.gif','GIF files (*.gif)'},'*.pgm','PGM files (*.pgm)'; ... 'Input Image','C:\');
if isequal(file,0) | isequal(path,0) return
else
Recog.Path = fullfile(path,file); end
fprintf('%s',Recog.Path);
fprintf('\n3. Input Image '); im = imread(TestImage);
T = CreateDatabase(TrainDatabasePath); [m, A, Laplacianface] = Laplacianface(T);
OutputName = Recognition(TestImage, m, A, Laplacianface);
SelectedImage = strcat(TrainDatabasePath,'\',OutputName);
A-2 function recog = deteksiwajah(recog,Nxt,Nyt)
% Program untuk mendeteksi posisi wajah dari gambar % Masukan dan memisahkan bagian wajah.
%=======================================
rgb = imread(recog.Path); gray = rgb2gray(rgb);
[Nx Ny M] = size(rgb); if M ~=3
error(['masukan harus berupa matriks MxNx3,'... ' atau matriks dari gambar berwarna'])
%menerapkan threshold pada Cb & Cr. cbb = zeros([Nx Ny]);
crr = zeros([Nx Ny]);
i1 = find(cb>105 & cb<125); i2 = find(cr>135 & cr<160);
cbb(i1) = 1; crr(i2) = 1;
bwimage = immultiply(cbb,crr);
%menerapkan filter pada gambar biner untuk menghilangkan noise pd gambar %yaitu operasi erosi dan dilasi
filt = strel('disk',2); filt2 = strel('disk',3);
bwimage = imerode(bwimage,filt); bwimage = imdilate(bwimage,filt2);
%memeriksa nilai euler pada bagian2 gambar.
%pada dasarnya sebuah wajah terdiri minimal atas 3 hole (lubang) %jadi sebuah wajah memiliki nilai euler < -1.
A-3 i = 0;
while i~=n
i = i+1;
% mencari koordinat daerah (region). [x,y] = find(l == i);
% mengambil daerah (region) yang dipilih saja bw = bwselect(bwimage,y,x);
% mencari nilai euler dari region. eul = bweuler(bw);
A-4 end
end end
panjang = (bawah-atas); lebar = (kanan-kiri); ratio = panjang / lebar;
if ratio > 1.5
panjang = floor(1.5 * lebar); bw(atas+panjang:Nx,:) = 0; end
%menghitung posisi tengah wajah [cx, cy] = center(bw);
startx = cx - floor(panjang/2); starty = cy - floor(panjang/2);
% memisahkan wajah dari gambar
recog.Posisi = [startx, starty, panjang, panjang]; keluaran = imcrop(gray,recog.Posisi);
A-5 function [xmean, ymean] = center(bw)
% menghitung posisi tengah wajah pada topeng
area = bwarea(bw); [m n] =size(bw);
xmean =0; ymean = 0; for i=1:m,
for j=1:n,
xmean = xmean + j*bw(i,j); ymean = ymean + i*bw(i,j); end;
end;
xmean = xmean/area; ymean = ymean/area;
A-6 function [m,A,PCA] = PCA(T)
% menghitung PCA
%===================================================
[Wpca,train] = PCA(data,options);
X = double(reshape(train.Image, [irow*icol]))./255; % 1 kolom per wajah m = mean(T,2)
% mengurutkan eigen vektor berdasarkan besar nilai eigen % dari besar ke kecil untuk mendapatkan vektor dominan
[eigVal ndx] = sort(diag(D),'descend'); V = V(:,ndx);
% mengambil N-C komponen dengan nilai eigen terbesar % mencari eigen vektor
eigVec = A * V;
% normalisasi eigen vektor --> PCA(eigenface)
A-7
function [eigvector,eigvalue] = LPP(X, W, options)
% menghitung Laplacianfaces
%=================================
[eigvector, eigvalue] = LPP(X, W, options);
X = double(reshape(train.Image, [irow*icol]))./255; % 1 kolom per wajah m = mean(T,2)
% mencari eigen vektor dan nilai eigen
[eigvector, LPPeigvalue] = eig(LPrime,DPrime);
% mengurutkan vektor eigen dengan nilai eigen terbesar LPPeigvalue = diag(LPPeigvalue);
[junk, index] = sort(-LPPeigvalue); LPPeigvalue = LPPeigvalue(index); eigvector = eigvector(:,index);
LPPeigvalue = ones(length(LPPeigvalue),1) - LPPeigvalue;
LPPeigvector = PCAeigvector*eigvector;
A-8 function [recog] = eudist(recog,train,W,thresh)
% Klasifikasi
%=================================================
% mencari ukuran gambar, [eigenvector eigenvalue], dan banyaknya training images, M
[eigvector, eigvalue] = LPP(X, W, options);
% Inisialisasi input face Mp = length(Wp(1,:));
X2= double(reshape(recog.Image, [irow*icol] 1))./255; %input image dalam matrik kolom
A2 = X2 - train.Mean;
% Proyeksi input face ke seluruh laplacianface, mencari bobot masing2 % laplacianface
recog.Wt = Wp'*A2; % rekonstruksi input face
recog.reConstructed = Wp*recog.Wt + train.Mean;
% mencari jarak Euclidian dari input face terhadap masing2 training images recog.Dist = zeros(M,1);
for i = 1:M % banyaknya training images x = recog.Wt - train.Wt(:,i);
recog.Dist(i) = x'*x; end
% Klasifikasi menggunakan Nearest-Neighbor dengan thresholds:
% thresh => batas jarak Euclidian, untuk gambar input dapat dinyatakan % terdapat pada training images
[minDis ndx] = min(recog.Dist);
if minDis > thresh
recog.classNameEst = 'Tidak Dikenali'; recog.classEst = ndx;
else
recog.classNameEst = train.NamaFile{ndx}; recog.classEst = ndx;
end
B-0
LAMPIRAN B
1 Universitas Kristen Maranatha
BAB 1
PENDAHULUAN
1. 1 Latar Belakang
Saat ini perkembangan jaman menuntut berbagai aplikasi serba cepat
namun tetap akurat. Permintaan kebutuhan akan kemudahan identifikasi semakin
marak. Aplikasi identifikasi citra banyak diaplikasikan dalam berbagai aspek di
kehidupan sehari-hari. Banyak cara dan berbagai pengembangan dilakukan untuk
mendapatkan analisa sebuah citra dengan hasil maksimum, cepat dan akurat.
Teknologi biometrics adalah teknologi keamanan yang menggunakan
bagian tubuh sebagai identitas. Secara medis dikatakan bahwa ada beberapa
bagian tubuh kita yang sangat unik, dimana tidak dimiliki oleh lebih dari satu
individu. Tujuan utama menganalisa suatu citra wajah adalah untuk mengenali
siapa pemilik wajah tersebut yang kemudian bisa dikembangkan untuk
mendapatkan informasi identitas data diri seseorang ataupun dapat digunakan
sebagai alat verifikasi.
Pengenalan wajah dengan metode Laplacianface adalah menggabungkan
dua teknik analisis, yaitu Principal Component Analysis (PCA) dan Locality
Preserving Projections (LPP). PCA berfungsi untuk melestarikan struktur global,
sementara LPP merupakan metode linear yang dapat mempertahankan struktur
lokal untuk mendapatkan subruang wajah. Setiap gambar wajah pada ruang
gambar dipetakan ke subruang wajah berdimensi rendah yang dikarakteristikan
Bab 1 Pendahuluan
Universitas Kristen Maranatha 2
1. 2 Identifikasi Masalah
Bagaimana merancang dan merealisasikan perangkat lunak untuk menganalisa citra dengan menggunakan metode Laplacianface?
Bagaimana hasil akhir citra yang keluar, apakah sesuai dengan yang diharapkan?
1. 3 Tujuan
Merealisasikan penganalisaan citra wajah dengan menggunakan metode
Laplacianface.
Memastikan hasil percobaan yang diujikan, apakah sesuai dengan yang diharapkan.
1. 4 Pembatasan Masalah
Masukan gambar berupa citra wajah.
Banyak wajah dalam gambar masukan yang akan diuji, maksimum hanya terdapat satu wajah.
Latar belakang gambar yang akan diuji sederhana atau terdiri atas satu warna (uniform).
Gambar yang diproses dalam satu database memiliki ukuran yang sama dan maksimal 200 x 200 piksel.
Bab 1 Pendahuluan
Universitas Kristen Maranatha 3
1. 5 Sistematika Penulisan
Laporan Tugas akhir ini disusun dengan sistematika sebagai berikut :
Bab I Pendahuluan
Bab ini berisi latar belakang masalah, identifikasi masalah, tujuan,
pembatasan masalah dan sistematika penulisan.
Bab II Landasan Teori
Bab ini berisi penjelasan singkat mengenai referensi yang berkaitan
dengan metode pengenalan wajah dengan metode Laplacianface.
Bab III Realisasi Pengenalan Wajah
Bab ini berisi perancangan program yang digunakan, penjelasan program
dan diagram alir perancangan program.
Bab IV Data Pengamatan
Bab ini berisi tentang hasil data pengamatan pengenalan citra dengan
pengujian program yang telah dilakukan dalam Tugas Akhir ini.
Bab V Kesimpulan dan Saran
57 Universitas Kristen Maranatha
BAB 5
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Berdasarkan data analisis yang telah diperoleh pada penelitian ini dapat
disimpulkan sebagai berikut:
1. Proses pengenalan wajah pada sistem pengenalan wajah dengan metode
Laplacianface untuk gambar yang terdapat dalam database memiliki
tingkat akurasi 100%.
2. Proses pengenalan wajah pada sistem pengenalan wajah dengan metode
Laplacianface untuk gambar yang tidak terdapat dalam database memiliki
tingkat akurasi 73%
3. Tingkat akurasi keseluruhan, baik gambar yang terdapat dalam training set
maupun di luar data training set adalah 86,5%.
4. Metode Laplacianface berhasil 100% apabila gambar yang diujikan
memiliki data yang sama dengan database.
5.2 Saran
Beberapa saran yang dapat diajukan untuk pengembangan program bagi
para peneliti lain adalah:
1. Menambahkan modul pengenalan dengan database identitas. Sehingga bisa
sekaligus menampilkan identitas dan informasi orang tersebut.
2. Menambahkan algoritma input melalui kamera. Sehingga input tidak
hanya berupa foto maupun gambar.
3. Memadukan program aplikasi pengenalan wajah dengan program
pengenalan lainnya, misal pengenalan sidik jari, pengenalan suara, dan lain
58 Universitas Kristen Maranatha
DAFTAR PUSTAKA
1. Ch. Wijaya, Marvin dan Agus Prijono. 2007. Pengolahan Citra Digital
Menggunakan Matlab. Bandung : Informatika Bandung
2. Cover, T., Hart. P. “Nearest neighbor pattern classification”, IEEE
Transactions on Information Theory 13, p21-27, 1997.
3. Dyah, 2007, Pengantar Pengolahan Citra Digital,
http://blog.its.ac.id/dyah03tc/2007/10/25/pengantar-pengolahan-citra-digital/
4. Hoi, Hyun., Kim, James., “Survey Paper: Face Detection And Face
Recognition”.
5. Li, Stan Z., ”Face Detection”, Handbook of Face Recognition, Des 2004.
6. M.Belkin dan Partha Niyogi. “Laplacian Eigenmaps and Spectral
Techniquesfor Embedding and Clustering”, Advances in Neural
Information Processing System 15, Vancouver, British Columbia, Canada,
2001.
7. Mohsin, Waqar., Ahmed, Noman., Mar, Chung-tse., “Face Detection
Project”, Department of Electrical Engineering, Stanford University, 2003. 8. Smith, Lindsay., “Tutorial On Principal Component Analysis”, The Math
Works, Inc., 2002.
9. Xiaofei He dan Partha Niyogi. “Locality Preserving Projections”,
Advances in Neural Informaton Processing Systems, Vol. 16, 2003.
10.Xiaofei He, Shuicheng Yan, Yuxiao Hu, dan Hong-Jiang Zhang., “Face
Recognition Using Laplacianfaces”, 2005.
11.Yale Univ. Face Database,
http://cvc.yale.edu/projects/yalefaces/yalefaces.html. 2002
12.Zhao W., Chellapa R., Phillips P.J., “Face recognition: survey paper”,