i
PENDETEKSIAN GAMBAR WAJAH
MENGGUNAKAN JARINGAN SARAF TIRUAN
BERARSITEKTUR MULTILAYER PERCEPTRON Anthony Sitepu/9822099
Jurusan Teknik Elektro Fakultas Teknik Universitas Kristen Maranatha Jl. Prof. Drg. Surya Sumantri 65, Bandung 40164, Indonesia
Email :[email protected]
ABSTRAK
Pendeteksian gambar wajah (face detection) adalah salah satu tahap awal yang sangat penting dalam sistem pengenalan wajah (face recognition) yang digunakan dalam identifikasi biometrik. Deteksi wajah juga dapat digunakan untuk pencarian atau pengindeksan data wajah dari citra atau video yang berisi wajah dengan berbagai ukuran, posisi, dan latar belakang. Sistem pendeteksian gambar wajah memperoleh kemampuan deteksinya dengan cara belajar dari contoh (learning by examples).
Tahap pendeteksian wajah dapat dibagi dalam dua langkah. Langkah pertama adalah mengklasifikasikan, dengan mengambil sembarang citra sebagai input untuk menghasilkan output berupa bilangan biner yang mengindikasikan keberadaan gambar wajah pada citra. Langkah kedua adalah melakukan pemeriksaan terhadap seluruh gambar yang berpotensi sebagai gambar wajah pada citra. Output merupakan lokasi pada citra yang diperkirakan merupakan lokasi setiap gambar wajah.
Pada Tugas Akhir ini diuraikan sistem pendeteksian gambar wajah menggunakan jaringan syaraf tiruan multilayer perceptron. Berdasarkan hasil percobaan yang dilakukan, sistem pendeteksian wajah menggunakan jaringan saraf tiruan berarsitektur multilayer perceptron memiliki tingkat keberasilan pendeteksian sebesar 78%.
ii
ABSTRACT
Face detection is one of the most important preprocessing step in face recognition systems used in biometric identification. Face detection can also be used in searching and indexing still image or video containing faces in various size, position, and background. The system achieves its ability by means of learning by examples.
The face detection system can be divided into two steps. The first step is a classification that takes some arbitrary image as input and outputs a binary value that indicating whether there are any faces present in the window. The second step is the face localization that checks all potential face contained window. Output, the location in the window that indicating location of any face contained window. This final project describes a face detection system using multilayer perceptron.The localization task assumes that its input image contains a face.
In this final project describes a face detection system using multilayer perceptron. Based on experimental results, face detection system using multilayer perceptron achieves Successful detection rate about 78%
DAFTAR ISI
ABSTRAK ...i
ABSTRACT ...ii
KATA PENGANTAR ...iii
DAFTAR ISI ……….v
DAFTAR GAMBAR ………...vii
DAFTAR TABEL ………...ix
II.4 Jaringan Saraf Tiruan ………...10
II.4.1 Neuron .………11
II.4.2 Arsitektur Jaringan Saraf Tiruan ………...11
II.4.3 Struktur Jaringan Saraf Tiruan ………...12
II.4.4 Cara memodifikasi Bobot ………...14
II.4.5 Fungsi Aktifasi ………...14
II.4.6 Bias Dan Threshold ………...16
II.5.1 Arsitektur Dan Algoritma ………...17
II.5.2 Memperbaharui Bobot Pada Lapisan Keluaran …………...18
II.5.3 Memperbaharui Bobot Pada Lapisan Tersembunyi …………...20
II.6 Penerapan Jaringan Saraf Tiruan Menggunakan Bahasa Pemrograman Matlab ….………..22
II.7 Ekstraksi Fitur Gabor ………...23
BAB III. PERANCANGAN SISTEM ………...26
III.1 Perancangan Sistem ………...26
III.2 Diagram Aliran Data ………...27
III.3 Tahap pendeteksian wajah ………...29
III.4 Jaringan Saraf Tiruan ………...31
III.5 Gabor Filter ………...32
III.6 Database ...………...33
III.7 Pelatihan Active Learning ………...33
III.8 Histogram Equalization ...………...34
BAB IV. ANALISA ………...35
IV.1 Data ………...35
IV.2 Pengukuran Evaluasi Unjuk Kerja ………...35
IV.3 Hasil Deteksi ………...35
IV.4 Pengaruh Jumlah Data Training Yang Digunakan ………...38
BAB V. KESIMPULAN DAN SARAN ………...40
V.1. Kesimpulan ………...40
V.2. Saran ………...40
DAFTAR PUSTAKA
DAFTAR GAMBAR
Gambar II.1 Proses deteksi wajah ………..…..……….5
Gambar II.2 Korelasi antara nilai Cb dan Cr yang memperlihatkan warna kulit....6
Gambar II.3 Nilai Cb dan Cr untuk warna kulit (baris atas) dan untuk seluruh gambar (baris bawah) ……….……7
Gambar II.4 Proses erosi dan dilasi ……….8
Gambar II.5 Struktur sel saraf ... 9
Gambar II.6 Neuron ...11
Gambar II.7 Jaringan lapisan tunggal ...11
Gambar II.8 Jaringan lapisan banyak ...12
Gambar II.9 Jaringan saraf tiruan feedforward ………...13
Gambar II.10 Jaringan reccurent ………...13
Gambar II.11 Fungsi linier ………..…………..………….……..15
Gambar II.12 Fungsi tansig ...………..……..15
Gambar II.13 Fungsi logsig ...………..………...16
Gambar II.14 Jaringan saraf backpropagation ..……….…17
Gambar II.15 Model wajah yang terdiri dari empat titik landmark …………...24
Gambar III.1 Sistem pendeteksi gambar wajah ………...26
Gambar III.2 Sistem Trainer Jaringan Saraf Tiruan ………...27
Gambar III.3 Diagram aliran data sistem detector wajah ..………...28
Gambar III.4 Tahap pertama proses pendeteksian wajah ..………...29
Gambar III.5 Kandidat wajah yang dikandung window ………...29
Gambar III.6 Kandidat wajah setelah difilter ……….………...…...30
Gambar III.7 Memperbesar pola dengan disk structure ….…………....…..30
Gambar III.8 Titik tengah dari kandidat wajah ….………...30
Gambar III.9 Persegi panjang untuk masing-masing titik tengah kandidat wajah ………...31
Gambar III.10 Hasil akhir proses identifikasi ……….………..31
Gambar III.11 Proses vektorisasi ……….…………...32
Gambar III.13 Metode pelatihan Active Learning ………...34
Gambar IV.1 Hasil deteksi dengan false positive dan wajah yang tidak terdeteksi ………..………….…36
Gambar IV.2 Hasil deteksi wajah ………..…………...37
Gambar IV.3 Gambar masukan untuk tabel IV.1 ..………..…...38
DAFTAR TABEL
Tabel IV.1 Pengaruh jumlah data training yang digunakan ……….…...39
pada IV.1
Tabel IV.2 Pengaruh jumlah data training yang digunakan ……….…...39
LAMPIRAN A
%---
% gabor.m
function Psi = gabor (w,nu,mu,Kmax,f,sig)
net.numLayers = 2;
net.biasConnect = [1;1];
net.inputConnect = [1 ;...
0 ];
net.targetConnect = [0 1];
netInputs = ones (2160,2);
%---
% im2vec.m
function IMVECTOR = im2vec (W27x18)
load gabor;
W27x18 = adapthisteq(W27x18,'Numtiles',[8 3]);
Features135x144 = cell(5,8);
for s = 1:5
for j = 1:8
Features135x144{s,j} = ifft2(G{s,j}.*fft2(double(W27x18),32,32),27,18);
end
IMVECTOR = reshape (Features45x48,[2160 1]);
%---
% loadimages.m
function IMGDB = loadimages
%---
face_folder = 'face\'; %Lokasi gambar wajah
non_face_folder = 'non-face\'; %Lokasi gambar non-wajah
file_ext = '.png';
out_max = 0.9; % Output yang diinginkan untuk mendeteksi sebuah wajah
out_min = -0.9; % Output yang diinginkan untuk mendeteksi Non-wajah
if exist('imgdb.mat','file')
load imgdb;
else
IMGDB = cell (3,[]);
end
fprintf ('Loading Faces ');
folder_content = dir ([face_folder,'*',file_ext]);
nface = size (folder_content,1);
for k=1:nface
string = [face_folder,folder_content(k,1).name];
image = imread(string);
IM {8} = im2vec (circshift(fliplr(image),-1));
folder_content = dir ([non_face_folder,'*',file_ext]);
nnface = size (folder_content,1);
for k=1:nnface
string = [non_face_folder,folder_content(k,1).name];
IM {4} = im2vec (flipud(fliplr(image)));
function NET = trainnet(net,IMGDB)
%---% imscan.m
function im_out = imscan (net,im)
close all
C2 = premnmx(double(imread (TEMPLATE1)));
C3 = premnmx(double(imread (TEMPLATE2)));
Corr_1 = double(conv2 (C1,C2,'same'));
Corr_2 = double(conv2 (C1,C3,'same'));
Cell.state = int8(imregionalmax(Corr_1) | imregionalmax(Corr_2));
Cell.state(1:13,:)=-1;
Cell.state(end-13:end,:)=-1;
Cell.state(:,1:9)=-1;
Cell.state(:,end-9:end)=-1;
Cell.net = ones(m,n)*-1;
imshow(im);
elseif Cell.net(i,j) < -1*Threshold
plot(n_,m_,'.g');pause(0.001);
xy_ = Cell.net > Threshold;
xy_ = imregionalmax(xy_);
xy_ = imdilate (xy_,strel('disk',2,4));
[LabelMatrix,nLabel] = bwlabeln(xy_,4);
CentroidMatrix = regionprops(LabelMatrix,'centroid');
xy_ = zeros(m,n);
for i = 1:nLabel
xy_(fix(CentroidMatrix(i).Centroid(2)),...
fix(CentroidMatrix(i).Centroid(1))) = 1;
end
xy_ = drawrec(xy_,[27 18]);
im_out (:,:,1) = im;
im_out (:,:,2) = im;
for i = 1:m
function out = drawrec (in,w)
% Fungsi ini akan menggambar suatu persegi panjang 27x18
% Persegi panjang akan digambar pada tiap gambar biner yang merupakan
try
choice=menu('Face Detection',...
'Create Database',...
'Initialize Network',...
Lampiran B
Grafik training neural network dengan menggunakan 10 data wajah dan 10 data non wajah sebagai data training.
Grafik training neural network dengan menggunakan 10 data wajah dan 30 data non wajah sebagai data training.
Grafik training neural network dengan menggunakan 10 data wajah dan 40 data non wajah sebagai data training.
Grafik training neural network dengan menggunakan 10 data wajah dan 55 data non wajah sebagai data training.
Grafik training neural network dengan menggunakan 20 data wajah dan 55 data non wajah sebagai data training.
Grafik training neural network dengan menggunakan 30 data wajah dan 55 data non wajah sebagai data training.
Grafik training neural network dengan menggunakan 40 data wajah dan 55 data non wajah sebagai data training.
Grafik training neural network dengan menggunakan 50 data wajah dan 55 data non wajah sebagai data training.
Grafik training neural network dengan menggunakan 69 data wajah dan 55 data non wajah sebagai data training.
Grafik training neural network dengan menggunakan 79 data wajah dan 55 data non wajah sebagai data training.
Grafik training neural network dengan menggunakan 108 data wajah dan 65 data non wajah sebagai data training.
Gambar hasil deteksi dengan menggunakan 108 data wajah dan 122 data non wajah sebagai data training.
BAB I
PENDAHULUAN
I.1 Latar Belakang
Sejalan dengan semakin tingginya kemampuan komputer untuk
memproses data dalam jumlah besar dengan kecepatan yang tinggi, sistem
biometrik semakin banyak diaplikasikan dalam kehidupan manusia. Sthepen Coob
(1996) mendefinisikan biometrik sebagai berikut: “The term biometrics refers to a
range of authentication systems. Its definition is a measureable characteristic or
personal trait used to recognize the identity or verify the claimed identity, of a
person through the automated means”. Secara umum, sistem biometrik adalah
sistem untuk melakukan identifikasi dengan cara menggunakan ciri-ciri fisik atau
anggota tubuh manusia, seperti wajah, sidik jari, retina mata, suara.
Dewasa ini teknologi pengenalan wajah semakin banyak diaplikasikan,
antara lain untuk sistem pengenalan biometrik. Secara umum untuk manusia,
wajah merupakan ukuran yang paling mudah dan sederhana untuk membedakan
identitas individu yang satu dengan yang lainnya. Sistem pengenalan wajah
bertujuan untuk mengidentifikasi wajah seseorang dengan cara membandingkan
wajah tersebut dengan database wajah yang sudah ada.
Pendeteksian gambar wajah merupakan persoalan menentukan posisi
wajah dalam suatu citra dan merupakan masalah klasifikasi pola dengan input
adalah suatu citra dan outputnya adalah label kelas dari citra tersebut. Dalam hal
ini terdapat dua label kelas, yaitu wajah dan non wajah [1]. Pendeteksian gambar
wajah (face detection) adalah salah satu tahap awal yang sangat penting sebelum
dilakukan proses pengenalan wajah (face recognition) yang digunakan dalam
identifikasi biometrik. Metode pada penentuan daerah wajah ini adalah dengan
memisahkan wilayah kulit (skin region) dengan wilayah bukan kulit (non-skin
region).
Masalah pendeteksian gambar wajah dapat dirumuskan sebagai berikut:
diberikan masukan sebuah citra digital sembarang, maka sistem akan mendeteksi
apakah ada wajah manusia di dalam citra tersebut. Keluaran dari sistem adalah
2
I.2 Identifikasi Masalah.
1. Bagaimana mendeteksi lokasi wajah manusia dari gambar masukan yang
diberikan?
2. Bagaimana kinerja proses pendeteksian gambar wajah dengan
menggunakan jaringan saraf tiruan berarsitektur multilayer perceptron ?
3. Bagaiman merealisasikan suatu program yang dapat mensimulasikan
pendeteksian gambar wajah dengan menggunakan jaringan saraf tiruan
multilayer perceptron?
I.3 Tujuan.
Tujuan Tugas Akhir ini adalah untuk mempelajari cara kerja sistem
pendeteksian wajah menggunakan metode jaringan saraf tiruan multilayer
perceptron.
I.4 Pembatasan Masalah.
1. Wajah yang akan dideteksi adalah wajah yang menghadap ke depan
(frontal), dan tidak terhalangi sebagian oleh objek lain.
2. Input yang dideteksi menggunakan format JPEG.
3. Metode pelatihan dan pengujian yang digunakan adalah jaringan saraf
tiruan multilayer perceptron.
I.5 Sistematika Penulisan.
Penulisan Tugas Akhir ini terdiri dari lima bab dengan susunan sebagai
berikut:
1. BAB I PENDAHULUAN
Bab ini akan menjelaskan mengenai apa saja yang melatarbelakangi
penulisan laporan tugas akhir, mengidentifikasi masalah yang akan
diselesaikan dalam tugas akhir dan apa saja yang menjadi tujuan
penyusunan laporan Tugas Akhir, pembatasan masalah sehingga ruang
lingkup permasalahan yang akan diselesaikan menjadi lebih fokus, dan
3
2. BAB II DASAR TEORI
Bab ini berisi materi-materi sebagai referensi dalam perancangan sistem
pendeteksian gambar wajah menggunakan jaringan saraf tiruan
berarsitektur multilayer perceptron.
3. BAB III PERANCANGAN
Pada bab ini akan dibahas mengenai perancangan tiap-tiap modul dari
program pendeteksian wajah yang akan dibuat.
4. BAB IV SIMULASI DAN ANALISA
Bab ini akan menampilkan dan menganalisa hasil pengujian terhadap
program pendeteksian wajah yang telah dirancang.
5. BAB V KESIMPULAN DAN SARAN
Bab ini menyimpulkan hasil perancangan, disertai saran-saran untuk
BAB V
KESIMPULAN DAN SARAN
V.1 Kesimpulan
Kesimpulan yang didapat dari penyusunan tugas akhir ini adalah sebagai
berikut:
1. Pada sistem pendeteksi wajah yang berbasis contoh, hasil yang
diperoleh sangat dipengaruhi oleh banyaknya contoh dan kualitas data
yang digunakan.
2. Pendefenisian kotak wajah yang berlebih pada proses deteksi wajah
disebabkan oleh penyesuaian terhadap dimensi gambar.
V.1 Saran
Berdasarkan hasil percobaan yang telah dilakukan, maka dapat
dirumuskan beberapa saran sebagai berikut, yaitu:
1. Untuk meningkatkan unjuk kerja sistem pendeteksi wajah, dapat
diberikan pelatihan dengan tambahan data training.
2. Untuk percobaan lebih lanjut, sistem pendeteksi gambar wajah dapat
DAFTAR PUSTAKA
1. Sung, K.K., 1996, “ Learning and Example Selection for Object and
Pattern Detection”, AITR 1572, Massachusetts Institute of Technology AI
Lab.
2. Yang, M.H., Kriegman, D., Ahuja, N., 2002, “Detecting Faces in Images:
A Survey” , IEEE Trans. Pattern Analysis and Machine Intelligence, vol.
24, no. 1.
3. Marius, Diedrik., Pennathur, Sumita., Rose, Klint., “ Face Detection Using
Color Thresholding, And Eigenimage Template Matching”.
4. LeCun, Y., Bottou, L., Orr, G.B., Muller, K.R., 1998, “ Efficient
BackProp” , Neural Networks: tricks of the trade, Springer.
5. Jek, Jong, Siang, ”Jaringan syaraf tiruan & Pemrogramannya
menggunakan MATLAB”, Andi, 2005.
6. Haykin Simon, Neural networks acomprehensive foundation, second
edition, Prentice Hall, 1999.
7. Gonzalez, R.C., Woods, R.E., 1992, Digital Image Processing,
Addison-Wesley Publishing Company, USA.
8. Demuth,H., Bale, M., Neural Network Toolbox, For Use with MATlLAB,
The MathWorks, 2001.
9. http://www.geocities.com/setyo_n/pub/naskah-pub-ugm-sn.pdf, 09
Februari, 2008.
10.http://puslit.petra.ac.id/~puslit/journals/articles.php?PublishedID=INF030
40101, 6 February, 2008.
11.http://vasc.ri.cmu.edu/idb/html/face/frontal_images, 21 February 2008.
12.Kusumadewi, Sri,“Membangun Jaringan Saraf Tiruan Menggunakan
Matlab & Excel link”,Edisi Pertama,graham Ilmu,Yogyakarta, 2004.
13.Arif, Oki Pamungkas, “Pengenalan Wajah Menggunakan Metode
Fisherface”.
14.Haslim, Herman Susilo, “Aplikasi Jaringan Saraf Tiruan Pada Simulator
15.Radjagukguk, Hendrik MH, “Klasifikasi Arrhythmia Dengan
Menggunakan Jaringan Saraf Tiruan Berarsitektur Multiple Multilayer