|
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
]
G
= 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
G
= 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
i
=
G
i
-
?
F
= jarak perbedaan citra dengan nilai rata-rata citra
G
= 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
0
F
1
?
atau
F
M -1
]
?
F
0,0
?
F
F
0,1
?
F
?
F
0, N -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
i
=
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
i
= 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.
|
|
|