BAB 2
LANDASAN TEORI
2.1 Citra
Menurut Gonzales (2004, p1) “Citra bisa dijelaskan sebagai 2 dimensi dari
fungsi f(x,y), dimana x dan y merupakan spatial koordinat, dan tingkatan aplitude
pada  posisi ini disebut dengan intensitas atau gray level dari citra pada point-nya.
Ketika x,y dan nilai amplitudo dari f merupakan nilai yang dapat ditentukan, maka
dapat
kita
sebut
citra
sebagai
citra digital. Untuk
selanjutnya pada penulisan ini,
semua citra yang disebutkan akan mengartikan citra digital. Contoh citra digital
berupa file Bitmap, JPEG, GIF, dan lain-lain.
Citra digital disusun dari kumpulan elemen yang angkanya dapat
ditentukan.   Setiap   elemen   ini   berada   pada   lokasi   yang   bersangkutan   dan
mempunyai
nilai.
Elemen ini
disebut
sebagai picture
elements.
Pada citra
digital,
elemen ini disebut sebagai piksel, Gonzales (2004, p 1-2).
2.1.1 Pengolahan Citra
Pengolahan
citra
merupakan
bidang studi
yang
mempelajari
proses
pengolahan gambar dimana baik masukan maupun keluarannya berbentuk
berkas
citra
digital, seperti
yang
dijelaskan
oleh Aniati
Murni
Arymurty(1992).  
Juga dijelaskan bahwa pengolahan citra merupakan
pengolahan dan analisis citra yang banyak melibatkan persepsi visual.
  
Kebutuhan untuk memproses sebuah gambar dengan cepat dalam satu
aplikasi yang melakukan pengolahan citra adalah salah satu masalah
utamanya seperti yang dikemukakan oleh Chen (2003, p1), “Walau
bagaimanapun, aplikasi yang bekerja secara real time lebih bergantung pada
pemrosesan piksel / signal yang cepat daripada metode optimisasi lain yang
rumit dan memakan waktu”.
2.1.2 Pengenalan Pola
(Arymurty, 1992, p 168) Pengenalan pola adalah suatu proses analisis
gambar, dimana masukkan berupa sebuah citra dan hasil keluarannya berupa
sebuah deskripsi citra tersebut. Proses ini bertujuan untuk mengekstrak
informasi yang disampaikan oleh 
citra. Pada pengenalan pola dibutuhkan
obyek
citra
untuk
diidentifikasikan.
Hasil
dari
pengenalan pola
ini akan
berupa kelas yang merupakan kelompok dari  klasifikasinya.
(Saphiro dan Stockman, 2001, p 94) Feature Extraction adalah proses
mengambil informasi yang relevan, berhubungan dengan klasifikasi data
input
dengan
bantuan
suatu
alat.
Biasanya
feature
extraction dilakukan
dengan bantuan piranti lunak. Pemrosesan ini akan mengubah pola data
mentah
dari
gambar
menjadi
sebuah vektor
ciri.
Penggunaaannya
akan
mengurangi data
yang berulang dalam sebuah pola
gambar.
Teknik feature
extraction ini digunakan dalam proses, salah satunya face detection.
2.2 Computer Vision
  
(Saphiro dan Stockman, 2001, p 1) Computer Vision adalah suatu bidang yang
bertujuan untuk membuat suatu keputusan yang berguna mengenai obyek fisik nyata
dan keadaan berdasarkan
atas sebuah
citra. Computer vision
merupakan
kombinasi
antara
pengolahan
citra
dan
pengenalan
pola.
Hasil
keluaran
dari proses computer
vision merupakan image understanding.
Anonim   (2002,   p5):   Dalam   Computer  Vision  terdapat   bagian   untuk
mendeteksi
muka
dengan
langkah-langkah face detection,
face representation, dan
face recognition.
2.2.1 Face Detection
Menurut Waring (2005, p 2-3)
Usaha
untuk
mendeteksi
muka
membutuhkan
fungsi diskriminasi efektif yang
membedakan antara pola
muka
dan  bukan 
muka.  Pendekatan  dalam 
face  detection 
ini  dibagi 
menjadi  4
kategori:
-
Metode berdasar pengetahuan
Metode ini mencoba menggambarkan  
semua pola dari wajah
dengan
menggunakan aturan syarat wajah
manusia, seperti sebuah
wajah memiliki 2 buah mata dan sebuah mulut.
-
Metode berdasar template
Metode   ini   merepresentasikan   wajah   dengan   template   yang
diubah-ubah berdasarkan pada poin-poin fitur wajah. Akan tetapi
poin-poin tersebut bisa menjadi rusak oleh pencahayaan, posisi
wajah,   
tambahan  benda  pada  wajah,  atau  perubahan  expresi
  
wajah, membuat penyesuaian fitur pada citra wajah menjadi sulit.
Dan
lagi
jika
batasan
yang diberikan
terlalu
ketat,
maka
wajah
bisa
saja
gagal
ditemukan.
Namun
jika
batasan
terlalu
longgar,
akan terjadi kesalahan deteksi.
-
Metode fitur yang serupa
Metode ini sulit digunakan untuk mendeteksi wajah dalam citra
nyata karena adalah sulit untuk menemukan suatu fitur yang benar-
benar serupa dengan adanya variasi pencahayaan, posisi, dan
ekspresi
wajah.
Untuk
mengatasi
kesulitan tersebut, metode
berdasar penampilan memberikan keuntungan dan banyak
digunakan
dalam pendeteksian
wajah.
Karena
kemampuannya
untuk belajar dari data hasil
training, banyaknya variasi, ekspresi,
dan posisi bisa digantikan dengan training menggunakan data awal
yang banyak.
-
Metode berdasar tampilan
Metode
ini
menggunakan
spectral
histogram
sebagai
sebuah
representasi dan dukungan mesin vektor sebagi pemilahnya.
Spectral
histogram mengeneralisasi
dengan
cara
hanya
mengelompokan citra yang mirip
secara persepsi. Dan dengan
dukungan mesin vektor, memberikan sebuah fungsi yang
memisahkan   antara   citra   wajah   dengan   citra   selain   wajah,
walaupun didalam berbagai macam kondisi yang berbeda.
  
Menurut  (  Mohsin  et.  al,  2003,  p2  )  “Berbagai  macam  teknik  telah
digunakan,
seperti
analisis warna,
neural
network,
mesin
vektor
pendukung
(Support Vector Machines - SVM), klasifikasi penolakan
nilai maksimal, dan
deteksi berdasarkan contoh. Akan tetapi, sangatlah sulit untuk membuat sebuah
algoritma  yang  bisa  bekerja  untuk  semua  jenis  pencahayaan,  warna  wajah,
perbedaan ukuran dan geometris, dan latar belakang yang beragam dari gambar.
( Zhang et. Al , 1999, p2 ) Karena permainan warna pada citra sangat
populer penggunaannya dan mudah digunakan. Deteksi wajah menggunakan
pendekatan klasifikasi pola dari citra berwarna. Proses deteksinya sendiri
dilaksanakan dengan dua langkah, yaitu:
-
Feature Classification
-
Candidate Generation
2.2.1.1 Feature Classification
Dalam 
usaha 
untuk 
menghasilkan 
klasifikasi 
pola 
dalam
feature
space,
masalah
pertama
adalah
menjelaskan
ciri
yang
tepat.
Ciri
yang
akan
digunakan
ini
merupakan color thresholding.
Warna
yang  menyerupai  warna  kulit  ini  disimpan  dan  yang  tidak
berhubungan  dengan  warna  akan  dibuang.  Sebuah  piksel  memiliki
nilai intensitas warna RGB. Dan kulit juga mempunyai warna dengan
intensitas
RGB
tertentu,
sehingga
bisa
dilakukan
suatu
pembatasan
agar
piksel
yang
memiliki
intensitas
warna
RGB
tidak
menyerupai
kulit dihilangkan.
  
Thresholding adalah metode menentukan batasan-batasan nilai
yang akan menentukan apakah suatu data diterima atau ditolak. Color
Thresholding  adalah pengaplikasian penentuan suatu nilai batasan
warna  tertentu,  sehingga  warna-warna  yang  diluar  batasan  tersebut
akan
dihapus
dari
citra.
Sebenarnya
metode color thresholding ini
mempunyai banyak
versi.
Dan
hampir semuanya
didapatkan
dengan
cara trial
dan
error. Cara
pengambilan
nilai
thresholding
yang
digunakan disini didapat dengan cara mengamati sifat
dan nilai dari
warna kulit wajah.
Di metode inilah warna-warna yang tidak menyerupai warna
kulit akan dihilangkan. Warna-warna yang nantinya akan tersisa hanya
akan
berkisar
antara
warna
coklat
tua,
hingga
warna
krem agak
keputihan.
Sedangkan
warna-warna
yang
agak
kebiruan,
kehijauan,
dan terlalu merah akan dihilangkan.
2.2.1.2 Candidate Generation
Hasil yang diperoleh dari klasifikasi ciri akan merupakan
kandidat  dari  warna  kulit.  Proses  candidate generation digunakan
untuk memilih yang merupakan warna dari kulit, dan memisahkan
warna yang merupakan kumpulan yang terlalu sedikit dan akan
dihasilkan
kandidat
sebenarnya dari
muka.
Permasalahan
pada
pembuangan piksel ini akan didapat pada menentukan batas threshold
jumlah
piksel.
Jika
jumlah
piksel lebih
kecil
dari
batas
maka
akan
dibuang (Zhang et.al, 1999, p3).
  
2.2.2 Face Recognition
Menurut
Feifei
Cao
(2005,
p7),
face
recognition merupakan
proses
penganalisa karakteristik dari bentuk muka yang tidak berubah, seperti:
Bagian atas dari rongga mata
Area sekitar tulang pipi
Sisi kiri dan kanan dari mulut.
Kesulitan dalam pengenalan wajah sering ditemukan pada
Noise dan blur yang disebabkan oleh ketidak sempurnaan kamera.
Skala: Ukuran muka terhadap citra.
Perubahan bentuk : Posisi wajah, ekspresi, usia.
Intensitas Cahaya : Pencahayaan, efek pantulan sinar.
Gangguan : kacamata, jenggot, dan kumis.
Menurut
Turk
(2005, P3),
“Pengenalan
wajah
bisa dilihat
sebagai
suatu
cara 
untuk  secara 
tepat 
mengenali 
citra 
dari 
sebuah 
wajah, 
dengan
menggunakan data-data dari wajah yang telah lebih dahulu dikenal. Pengenalan
wajah memiliki semua kesulitan pengenalan yang berdasarkan pemrosesan citra.
Dikarenakan citra yang digunakan bisa berubah secara drastis dikarenakan
beberapa faktor yang rumit dan membingungkan, seperti faktor pencahayaan,
posisi kamera, setting kamera, dan noise.
Jadi
hasil dari face recognition akan berupa
informasi dikenal atau
tidak
sebagai muka dengan sebelumnya membandingkan dengan informasi dari muka
yang 
diketahui. 
Proses 
face 
recognition 
ini 
memiliki 
permasalahan 
dari
  
pencahayaan, posisi kamera, parameter kamera dan noise yang didapatkan pada
sebuah citra.
2.4 Principal Component Analysis
Principal Component Analysis merupakan teknik statistikal yang digunakan
dalam
lingkungan
seperti
face recognition dan image compression,  dan merupakan
teknik
yang biasa dipakai
untuk menemukan pola dalam data dengan dimensi yang
besar. Biasa digunakan untuk menganalisa (Smith et al ,2002, p13).
Kegunaan utama dari Principal Component Analysis adalah untuk mengurangi
variasi
yang ada dengan
tetap
menjaga
informasi
yang
diperlukan,
supaya
variasi
yang tersisa memang variasi yang paling menonjol dan paling mencerminkan feature
yang
ada.
Sisa
variasi
yang
tersisa
ini
disebut sebagai Principal
Component. Pada
proses
pengurangan
variasi
ini
dilakukan dengan mereduksi daerah matrix yang
mempunyai nilai ciri mulai dari yang paling lemah.
Kegunaan
lain
dari Principal
Component Analysis akan membuat aplikasi yang menggunakannya akan lebih cepat.
Karena data yang digunakan sudah direduksi.
(
Pissarenko, 2002,
p
4
)Principal
Component Analysis
menggunakan
nilai
intensitas piksel dari citra yang akan ditampung ke dalam matrix.
G
=
[G
0
G
1
.... G
M
-1
]
= vektor citra input berdimensi 
1x N
2
M
= jumlah dari citra input
Nilai rata-rata dari semua citra yang ada bisa didapatkan dengan membagi rata
hasil penjumlahan semua citra yang menjadi input
  
F
2
2
?
?
=  
1
M
M
-1
?
G
i
i
=0
?
= nilai rata-rata citra
?
= jumlah dari citra input
= image vector input berdimensi   1x N
2
Jarak perbedaan
dari
masing-masing citra
input
dengan
nilai
rata-rata
citra
dihitung dengan mengurangi nilai masing-masing citra tersebut dengan nilai rata-rata
citra
F
=
G
-
?
F
=  jarak perbedaan citra dengan nilai rata-rata citra
= vector citra input berdimensi   1x N
2
?
= nilai rata-rata citra
Jarak  perbedaan  ini  kemudian  dikelompokkan  menjadi  matrix  2  dimensi
(
M
×
N
2
)
A
=
[F
F
1
?
atau
F
M -1
]
?
F
0,0
?
F
F
0,1
?
F
?
F
0, -1
F
?
A
=
?
?
?
1,0
?
1,1
?
1, N
2
-1  
?
?
?
?
?
?
F
M -1,0
F
M -1,1
?
M -1, N   -1
?
?
Jika  sudah  didapatkan  jarak  perbedaan  citra  dengan  nilai  rata-rata  citra,
selanjutnya menghitung covariance matrix dengan
C
A.
A
T
  
?
C
= Covariance Matrix
A
= Difference Matrix
Dengan   didapatkannya   nilai   covariance  matrix,   maka   kita   akan   bisa
menghitung nilai eigen.
Det
(
?
·
?
-
C
)
0
?
= nilai eigen
= matrix identitas
C
= covariance matrix
Dan vector eigen dengan
(
?
.
?
-
C .
).
?
=
0
?
= nilai eigen
= matrix identitas
C
= covariance matrix
?
?
= vector eigen
Hasil
vector
eigen
yang
didapatkan
ini
yang
nantinya
akan
diurutkan
lebih
lanjut untuk mendapatkan ciri yang terbesar.
2.5 Eigenfaces
Ide
utama
dari eigenfaces
ini
didapat
dengan mengambil
informasi
yang
terdapat pada citra muka,
lalu
memasukkan ke dalam perhitungan
matematika yang
mudah
dan
membandingkannya
dengan
masing-masing muka dari muka yang
diketahui
yang diproses dengan perhitungan yang sama. Jika didapatkan hasil
yang
  
sama, 
maka  dapat  disimpulkan  bahwa  citra  yang  diinputkan  berupa  muka  dan
diketahui.
(
Pissarenko, 2002,
p
4
)
Proses
pelatihan yang dilakukan oleh perhitungan
eigenfaces ini menggunakan teknik PCA. Hasil yang diperoleh dari PCA ini berupa
vektor eigen. Vektor eigen selanjutnya diurutkan dari besar sampai ke kecil. Gunanya
untuk
mendapatkan
nilai vektor yang paling
menonjolkan cirinya. Dari
nilai vektor
ini selanjutnya akan bisa didapatkan nilai eigenfaces dengan mengalikan nilai vektor
yang sudah didapat dari PCA dengan nilai awal citra yang belum diproses PCA.
Eigenface
=
EigenVector .G
i
Eigenfaces
= nilai Vektor eigenfaces
EigenVector = Vektor hasil PCA yang sudah diurutkan
G
= nilai latihan set awal
Vektor
eigenfaces
yang
didapat
akan
mewakili
wajah
yang
paling
menggambarkan subyek.
Seperti yang dituliskan di atas, nilai yang dihitung dengan rumus yang sama
akan mempunyai nilai yang sama dengan nilai yang mempunyai rumus yang sama
juga. Karena
itu,
untuk melakukan pengenalan, nilai vektor input yang mengandung
data citra, akan diproses dengan menggunakan langkah yang sama,
tetapi pada
pengenalan ini tidak akan dilakukan perhitungan nilai eigenvektor baru. Tetapi cukup
dengan mencerminkan data input baru terhadap nilai rata-rata citra
F
new 
=
G
new 
-
?
F
new
= nilai perbedaan dengan rata-rata citra
G
new
= nilai citra yang ingin dikenali
  
?
= nilai rata-rata yang didapat dari proses pelatihan
dan
hasilnya dikalikan
dengan
nilai
vektor
eigen
yang
didapat dari
proses
pelatihan.
Im ageSpace
=
EigenVector .
F
new
Im ageSpace = nilai hasil weight matrix data input
EigenVector = Vector hasil PCA yang sudah diurutkan
F
new
= nilai perbedaan dengan rata-rata citra
Hasil  yang  didapat  dari  perhitungan  proses  pengenalan,  selanjutnya  akan
dibandingkan  dengan  masing-masing  nilai  eigenfaces yang  paling  mencerminkan
citra.
Hasil  perbedaan  nilai  yang  paling  kecil  ini  merupakan  citra  yang  paling
mewakili citra
yang diinputkan. Pembandingan yang dilakukan akan menggunakan
eucledian distance.
2.6 Eucledian Distance
Eucledian   distance   merupakan  teknik  dalam  pencocokan  citra.  Nilai
perbedaan
ukuran
dengan
eucledian
distance
akan
memberitahukan
kesamaan yang
terdapat pada 2 buah gambar yang dijadikan sebagai pembanding (Pissarenko, 2002,
p 5-6 ).
d
=   Im ageSpace - Eigenface
i
d
i
= nilai eucledian distance
Im ageSpace
= nilai weight matrix hasil proses pengenalan
Eigenface
i
= nilai vector eigenfaces
  
2.7 Borland Delphi
Menurut (Neil Moffatt, 2006) Delphi merupakan stuktur bahasa pemrograman
tingkat tiga yang menerapkan bahasa Pascal di dalamnya, yang disebut dengan highly
typed
language.
Delphi
ini
menyediakan
pemrograman
yang
bersih
dan
konsisten,
dan menghasilkan aplikasi yang handal.
Dalam sejarahnya,
munculnya
pascal
agak
terlambat,
dibandingkan
dengan
bahasa pemrograman
yang
lain. Pascal dikembakan oleh Niklaus Wirth pada tahun
1968. Berkembangnya Pascal diikuti dengan kemunculan bahasa C pada tahun 1972.
Program bahasa C ini dirancang sebagai bahasa tingkat tinggi yang menyediakan low
level
language yang
disediakan
oleh
bahasa
assembly.
Sedangkan
bahasa
Pascal
dirancang untuk pengembangan pemrograman yang terstruktur.
2.8 Penelitian Relevan
Penelitian yang relevan yang dilakukan dengan penelitian yang dilakukan
dimana
topik
utama
membahas
permasalahan
pengembangan
eigenfaces
atau face
detection adalah
-
Analisis  dan  Perancangan  Sistem  Pengenalan  Wajah  menggunakan  Web-
Camera dengan metode Eigenface, (Kusnadi, 2004)
Penulis
merancang
sitem aplikasi
penerapan
eigenfaces
dengan
menggunakan
inputan data dari Web-Camera. Dalam penelitian ini, program
penulisan dibatasi posisi gambar muka harus berada di tengah dan menjadi
pusat   dari   Web-Camera,   sehingga   akan   membatasi   proses   kerja   dari
  
eigenfaces  dan ada kemungkinan kesalahan  dari faktor pengguna dimana
posisi
mukanya tidak berada di pusat dari Web-Camera, dan
menimbulkan
kesalahan dalam pengenalannya.
-
Eigenfaces for Recognition, (Turk dan Pentland, 1991).
Algoritma pengenalan muka yang cukup menggunakan ciri karakteristik 2
Dimensi dari target muka.
-
Automatic Face Detection Using Color Based Segmentation and Template /
Energy Thresholding,( Padilla dan Fan,  2003)
Sebuah grup yang melakukan pendeteksian wajah dari sebuah foto yang
berisi beberapa
orang.
Dengan
metode
utama
yang digunakan
adalah Color
Based Segmentation.