bab ii landasan teori -...
TRANSCRIPT
5
BAB II
LANDASAN TEORI
Pada bab ini akan dibahas teori yang berkaitan dengan pemrosesan data untuk
sistem pendeteksi senyum pada skripsi ini, meliputi metode Viola Jones, konversi
citra RGB ke grayscale, color segmentation, ketiga metode yang akan dibandingkan,
yaitu Harris Corner Detection, Edge Based Corner Detection dan FAST Corner
Detection, dan metode perhitungan akurasi untuk menguji performa sistem.
2.1 Metode Viola Jones untuk Mendeteksi Wajah
Viola dan Jones memperkenalkan metode deteksi wajah yang mampu
mendeteksi wajah dalam suatu citra secara cepat dengan tingkat akurasi yang tinggi
pada tahun 2001 [1]. Metode yang kemudian lebih dikenal dengan nama Viola Jones
Detector ini menggunakan tiga komponen utama, komponen pertama adalah “Integral
Image” yang membuat fitur dari citra mampu dikomputasi secara cepat. Komponen
kedua adalah klasifier yang sederhana dan efisien berdasarkan pada algoritma Ada
Boost yang mampu memilih beberapa fitur penting dari sekumpulan fitur yang sangat
banyak. Komponen ketiga adalah menggabungkan klasifier dalam bentuk “Cascade”
atau bertingkat, hal ini mampu menghilangkan latar belakang citra pada daerah yang
memiliki kemiripan sangat besar dengan wajah manusia. Metode ini mampu
melakukan deteksi wajah dengan kecepatan 15 frames per detik.
2.2 Konversi Citra RGB ke Grayscale
Citra wajah yang telah yang diambil merupakan citra RGB (red, green, blue).
Citra tersebut akan dikonversi menjadi citra grayscale. Konversi citra dari RGB ke
grayscale dapat dilakukan dengan mengeliminasi informasi warna dan saturasi
dengan tetap mempertahankan pencahayan (luminance) [6]. Luminance merupakan
jumlah energi dari sumber yang ditangkap oleh pengamat, dinyatakan dalam lumen
[7].
Citra adalah gambar dua dimensi yang dihasilkan dari gambar analog dua
dimensi yang kontinu menjadi gambar diskrit melalui proses sampling. Citra digital
dapat didefinisikan sebagai fungsi dua variabel, f(x,y), dimana x dan y adalah
koordinat spasial sedangkan f(x,y) adalah nilai intensitas citra pada koordinat tersebut
[8]. Citra dalam komputer tersusun dari sekumpulan piksel, dimana setiap triplet
6
terdiri atas variasi tingkat keterangan (brightness) dari elemen red, green, dan blue.
Triplet terdiri dari 3 angka yang mengatur intensitas dari red (R), green (G), dan blue
(B). Angka-angka RGB ini yang seringkali disebut dengan color values.
Citra grayscale adalah citra yang terdiri atas beberapa aras keabuan. Warna
abu-abu pada citra jenis ini merupakan variasi dari warna hitam untuk bagian dengan
intensitas terlemah dan warna putih pada intensitas terkuat [9]. Citra grayscale
berbeda dengan citra hitam-putih, dimana citra hitam putih hanya terdiri atas 2 warna
saja yaitu hitam dan putih saja.
Citra grayscale disimpan dalam format 8 bit untuk setiap sampel piksel, yang
memungkinkan sebanyak 256 intensitas. Untuk mengubah citra berwarna yang
mempunyai nilai matriks masing-masing R, G, dan B menjadi citra grayscale dengan
nilai X, maka konversi dapat dilakukan dengan mengambil rata-rata dari nilai R, G,
dan B. Persamaan (1) merupakan persamaan untuk merepresentasikan hal tersebut.
𝑋 = 𝑅+𝐺+𝐵
3 (1)
2.3 Color Segmentation
Segmentasi adalah proses mempartisi citra menjadi beberapa daerah atau
region [4]. Proses segmentasi citra berwarna dapat dilakukan pada setiap lapisan
warna (HSI atau RGB). Segmentasi warna sederhana dilakukan menggunakan metode
thresholding. Pada skripsi ini, color segmentation dilakukan pada lapisan warna RGB
dengan batas nilai Red > 80, Blue < 80 dan Green < 100, nilai piksel diluar nilai
tersebut akan diubah menjadi 0 (hitam).
2.4 Harris Corner Detection
Harris Corner Detection adalah sistem pendeteksi sudut yang sering
digunakan karena mampu menghasilkan nilai yang konsisten pada citra yang
mengalami rotasi, penskalaan, variasi pencahayaan maupun memiliki banyak derau
pada gambar [4]. Deteksi sudut dengan metode Harris ini didasarkan pada variasi
intensitas sinyal. Variasi intensitas yang besar menunjukkan adanya sudut pada citra.
Pada pendeteksian sudut metode Harris, sudut didefinisikan sebagai
pertemuan dua tepian [4]. Oleh karena itu, titik sudut tidak bisa didefinisikan pada
piksel tunggal, karena disana hanya ada satu gradien setiap titik. Gradien adalah arah
perubahan intensitas kecerahan dalam suatu citra seperti yang ditunjukkan pada
7
Gambar 2.1. Gradien dari suatu citra dapat dikelompokkan menjadi:
a) konstan: jika hanya sedikit atau tidak ada perubahan kecerahan
b) sisi: jika ada perubahan intensitas kecerahan yang kuat pada satu arah
c) flow: garis yang paralel
d) tepi: Jika terjadi perubahan kecerahan yang kuat dalam arah saling tegak
lurus
(a) (b) (c)
Gambar 2.1. Gradien Garis dari Suatu Piksel
(a) adalah gradien garis horisontal, (b) adalah gradien garis vertikal, (c) adalah
gradien garis diagonal
Deteksi sudut metode Harris merupakan metode pendeteksian sudut hasil
pengembangan Moravec corner detection. Moravec membuat suatu metode
pendeteksian sudut dengan memperhitungan nilai variasi intensitas suatu citra pada
suatu jendela biner yang akan digeser ke arah sumbu (x, y) tertentu. Pada persamaan
skripsi ini, digunakan jendela biner berukuran 3×3 yang akan digeser ke arah (1,0),
(1,1), (0,1), atau (-1,1). Persamaan variasi intensitas Moravec diberikan oleh
Persamaan (3).
𝐸𝑥 ,𝑦 = 𝑤𝑏(𝑢, 𝑣) 𝐼𝑥+𝑢 ,𝑦+𝑣 − 𝐼𝑢 ,𝑣 2
𝑢 ,𝑣 (2)
dengan,
𝐸𝑥 ,𝑦 = variasi intensitas citra yang tergeser ke arah (x,y)
𝑤𝑏(𝑢, 𝑣) = jendela biner, bernilai 1 di seluruh jendela dan 0 diluar jendela
𝐼𝑥+𝑢 ,𝑦+𝑣 = intensitas citra yang tergeser ke arah (1,0), (1,1), (0,1), atau (-1,1).
𝐼𝑢 ,𝑣 = intensitas citra di posisi (u, v)
Deteksi sudut metode Harris mengganti jendela biner yang digunakan oleh
Moravec dengan jendela Gaussian yang bersifat menghaluskan hasil kuadrat selisih
intensitas yang diperoleh dari Persamaan (2). Secara matematis, pengaplikasian
jendela Gaussian pada citra sama halnya dengan mengalikan citra tersebut dengan
sebuah fungsi Gaussian 2 dimensi [7].
8
𝑤𝑔(𝑢, 𝑣) = 𝑒−𝑢2+𝑣2
2𝜎2 (3)
dengan
𝑤𝑔 = nilai tiap elemen jendela Gaussian di posisi (u, v)
σ = standar deviasi distribusi Gaussian (sigma)
Persamaan (2) menunjukkan adanya proses pengurangan intensitas citra di
posisi akhir terhadap intensitas citra di posisi awal. Pergeseran dari jendela Gaussian
ini terjadi ke arah sumbu x dan ke arah sumbu y seperti yang ditunjukkan pada
Gambar 2.2 dan Gambar 2.3.
Gambar 2.2. Pergeseran Jendela Gaussian ke arah (1,0). Warna biru menunjukkan
posisi pergeseran, warna merah menunjukkan posisi awal jendela pada citra.
Gambar 2.3. Pergeseran Jendela Gaussian ke arah (0,1). Warna biru
menunjukkan posisi pergeseran, warna merah menunjukkan posisi awal jendela pada
citra.
9
Dari Gambar 2.2 dan Gambar 2.3, Harris menuliskan persamaan variasi
intensitas yang mengalami pergeseran ke arah sumbu x seperti yang ditunjukkan pada
Persamaan (4) berikut
𝐸1,0 = 𝐴𝑖 ,𝑗+1 − 𝐴𝑖 ,𝑗 2≈
𝜕𝐼𝑚
𝜕𝑥
29𝑘=1
3𝑗=1
3𝑖=1 (4)
dengan,
𝜕𝐼𝑚𝜕𝑥
≡ 𝐼𝑚 ∗ (−1,0,1) ≈ 𝐴𝑖 ,𝑗+1 − 𝐴𝑖 ,𝑗
sedangkan persamaan variasi intensitas yang mengalami pergeseran ke arah sumbu y
ditunjukkan pada Persamaan (5)
𝐸0,1 = (𝐴𝑖+1,𝑗 − 𝐴𝑖 ,𝑗 )2 ≈ 𝜕𝐼𝑚
𝜕𝑦
29𝑚=1
3𝑗=1
3𝑖=1 (5)
dengan,
𝜕𝐼𝑚𝜕𝑦
≡ 𝐼𝑚 ∗ (−1,0,1)𝑇 ≈ 𝐴𝑖+1,𝑗 − 𝐴𝑖 ,𝑗
Pergeseran jendela yang ditunjukkan oleh Persamaan (4) dan (5) menunjukkan
bahwa variasi intensitas dapat ditulis ke dalam bentuk fungsi gradien citra di tiap titik.
Karena digunakan jendela berukuran 3×3, maka akan diperoleh fungsi gradien di 9
titik yang dilewati oleh jendela, sehingga Persamaan (2) dapat ditulis menjadi
𝐸𝑥 ,𝑦 = 𝑤𝑢 ,𝑣 𝑥 𝜕𝐼
𝜕𝑥 + 𝑦
𝜕𝐼
𝜕𝑦
2
𝑢 ,𝑣
= 𝑤𝑢 ,𝑣 𝑥2
𝜕𝐼
𝜕𝑥
2
+ 2𝑥𝑦𝜕𝐼
𝜕𝑥
𝜕𝐼
𝜕𝑦+ 𝑦2
𝜕𝐼
𝜕𝑦
2
𝑢 ,𝑣 (6)
Persamaan (6) menunjukkan adanya proses perkalian antara gradien suatu
citra dengan jendela yang tergeser ke seluruh bagian citra. Proses ini sama halnya
seperti konvolusi pada citra, sehingga dapat didefinisikan,
A = 𝜕𝐼
𝜕𝑥
2
∗ 𝑤
D = 𝜕𝐼
𝜕𝑦
2
∗ 𝑤
C = 𝜕𝐼
𝜕𝑥
𝜕𝐼
𝜕𝑦 ∗ 𝑤
dari permisalan di atas, maka Persamaan (5) dapat disederhanakan menjadi
𝐸𝑥 ,𝑦 = 𝐴𝑥2 + 2𝐶𝑥𝑦 + 𝐷𝑦2 (7)
Persamaan (6) inilah yang kemudian dikenal dengan istilah ekspansi analitis
yang digunakan pada deteksi sudut metode Harris. Harris menyadari bahwa pada
10
pergeseran yang sangat kecil ke arah (x,y), Persamaan (6) dapat ditulis ke dalam
bentuk matriks seperti yang ditunjukkan oleh Persamaan (7)
𝐸𝑥 ,𝑦 = 𝑥 𝑦 𝑀 𝑥𝑦 (8)
dengan nilai
𝑀 = 𝐴 𝐶𝐶 𝐷
(9)
Persamaan (9) ini unik karena mengandung semua persamaan diferensial.
Harris menggunakan persamaan ini untuk mencari persamaan tanggapan detektor
Harris yang dimanfaatkan untuk menentukan apakah suatu titik merupakan sudut atau
bukan. Persamaan tanggapan detektor Harris dapat diperoleh dengan cara mengurangi
determinan M dengan suatu konstanta sensitivitas dikalikan kuadrat trace M. seperti
yang ditunjukkan pada Persamaan (10)
𝑅𝐻 = det 𝑀 − 𝑘 × 𝑡𝑟𝑎𝑐𝑒2(𝑀) (10)
dengan
𝑅𝐻 = nilai tanggapan detektor Harris citra
k = konstanta sensitivitas dari corner detection metode Harris
Jika nilai 𝑅𝐻>0 menunjukkan bahwa titik pada citra merupakan suatu sudut,
nilai 𝑅𝐻 <0 menunjukkan bahwa titik pada citra merupakan suatu tepian [10].
Penurunan hubungan persamaan tanggapan detektor Harris terhadap determinan dan
trace nya dapat dilihat pada Lampiran C.
Nilai k pada perhitungan nilai sudut ini merupakan konstanta sensitivitas yang
besarnya bisa diubah-ubah. Berdasarkan penelitian dan percobaan yang dilakukan
oleh Neil Bruce dan Pierre Kornprobst, nilai k yang memberikan hasil yang baik
berkisar antara 0.04 - 0.15 [11]. Titik biru pada Gambar 2.4 (a) dan (b) menunjukkan
sudut dari citra setelah diproses menggunakan Harris corner detection.
11
(a) (b)
Gambar 2.4. Hasil Harris Corner Detection
(a) adalah hasil Harris Corner Detection pada citra wajah, (b) adalah hasil Harris
Corner Detection pada citra bibir
2.5 Edge Based Corner Detection
Edge detection adalah salah satu proses ekstraksi fitur yang mengidentifikasi
tepian citra, yaitu posisi dimana terjadi perubahan intensitas piksel secara tajam.
Tepian dari suatu citra mengandung informasi penting dan mampu merepresentasikan
objek-objek yang terkandung dalam citra tersebut meliputi bentuk, ukuran serta
tekstur [12].
Pada penelitian kali ini digunakan operator Sobel karena mampu
menghasilkan hasil ekstraksi paling halus dan memberikan kinerja paling baik
dibandingkan operator Prewitt maupun operator Roberts [7][13]. Operator Sobel
sensitif terhadap tepian diagonal daripada tepian vertikal dan horisontal, sehingga
operator Sobel harus diterapkan secara terpisah untuk mendapatkan gradien horisontal
dan gradien vertikalnya [7]. Operator Sobel diberikan oleh Persamaan (11). Untuk
mencari gradien gabungan dari operator Sobel digunakan Persamaan (12). Contoh
hasil edge detection menggunakan operator Sobel diberikan oleh Gambar 2.5.
12
1 0 1
2 0 2
1 0 1
vS
1 2 1
0 0 0
1 2 1
hS
(11)
𝑆 = (𝐼 ∗ 𝑆𝑣)2 + (𝐼 ∗ 𝑆ℎ)2 (12)
dengan
Sv = matriks operator Sobel vertikal
Sh = matriks operator Sobel horisontal
S = gradien gabungan dari operator Sobel vertikal dengan Sobel
horisontal
I = citra bibir
Gambar 2.5. Hasil Edge Detection Menggunakan Operator Sobel
Setelah citra masukan dipra proses dengan edge detection operator Sobel, citra
akan dideteksi sudutnya menggunakan Harris Corner Detection. Titik sudut hasil
Harris Corner Detection nantinya yang akan menentukan ekspresi wajah citra
masukan termasuk tersenyum atau bukan.
2.6 FAST Corner Detection
FAST (Features from Accelerated Segment Test) adalah suatu algoritma yang
dikembangkan oleh Edward Rosten, Reid Porter, and Tom Drummond. FAST corner
detection ini dibuat dengan tujuan mempercepat waktu komputasi secara real-time
dengan konsekuensi menurunkan tingkat akurasi pendeteksian sudut [14].
FAST corner detection dimulai dengan menentukan suatu titik p pada
koordinat (xp , yp) pada citra dan membandingkan intensitas titik p dengan 4 titik di
13
sekitarnya. Titik pertama terletak pada koordinat (x, yp-3), titik kedua terletak pada
koordinat (xp+3, y), titik ketiga terletak pada koordinat (x, yp+3), dan titik keempat
terletak pada koordinat (xp-3, yp).
Jika nilai intensitas di titik p bernilai lebih besar atau lebih kecil daripada
intensitas sedikitnya tiga titik disekitarnya ditambah dengan suatu intensitas batas
ambang, maka dapat dikatakan bahwa titik p adalah suatu sudut. Setelah itu titik p
akan digeser ke posisi(𝑥𝑝+1,𝑦𝑝) dan melakukan perbandingan intensitas di keempat
titik di sekitarnya lagi. Iterasi ini terus dilakukan sampai semua titik pada citra sudah
dibandingkan.
FAST corner detection bekerja pada suatu citra sebagai berikut:
1. Tentukan sebuah titik p pada citra dengan posisi awal (𝑥𝑝 ,𝑦𝑝)
2. Tentukan lokasi keempat titik. Titik pertama (n=1) terletak pada koordinat
(𝑥𝑝 ,𝑦𝑝−3), titik kedua (n=2) terletak pada koordinat 𝑥𝑝+3,𝑦𝑝 , titik ketiga
(n=3) terletak pada koordinat (𝑥𝑝 ,𝑦𝑝+3), titik keempat (n=4) terletak pada
koordinat (𝑥𝑝−3,𝑦𝑝)
3. Bandingkan intensitas titik pusat p dengan keempat titik di sekitar. Jika
terdapat paling sedikit 3 titik yang memenuhi syarat berikut, maka titik
pusat p adalah sudut
𝐶𝑝 = 1, 𝐼𝑛 < 𝐼𝑝 − 𝑡 𝑜𝑟 𝐼𝑛 > 𝐼𝑝 + 𝑡
0, 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒 (13)
dengan
𝐶𝑝 = keputusan titik p sebagai sudut, nilai 1 menunjukkan bahwa
titik merupakan suatu sudut, dan nilai 0 menunjukkan bahwa
titik bukanlah sudut
𝐼𝑛 = nilai intensitas piksel ke-n
𝐼𝑝 = nilai intensitas titik p
𝑡 = batas ambang nilai intensitas yang ditoleransi
4. Ulangi proses sampai seluruh titik pada citra sudah dibandingkan
intensitasnya
14
Gambar 2.6. Jendela FAST Corner Detection. Jendela d dengan titik pusat p
yang akan dibandingkan intensitasnya dengan intensitas 4 titik di sekitarnya.
2.7 Deteksi Senyum
Ketiga metode yang digunakan pada skripsi ini menghasilkan beberapa titik
sudut pada citra bibir ekspresi tersenyum. Selanjutnya dipilih dua buah titik sudut
pada koordinat x terbesar (xmax, y1) dan koordinat x terkecil (xmin, y2) yang diharapkan
merupakan tepi bibir sebelah kiri dan tepi bibir sebelah kanan. Selanjutnya kedua
koordinat ini dirata-rata untuk mendapatkan koordinat tengah-tengah dari bibir (yrata).
Koordinat ini dirata-rata untuk mentoleransi kemiringan bibir yang tidak sama pada
tiap obyek foto. Titik koordinat rata-rata ini kemudian disimpan dan dijadikan sebagai
batas minimum koordinat bibir ekspresi tersenyum. Proses ini diulang untuk seluruh
citra pelatihan yang terdiri dari citra dengan ekspresi tersenyum saja, sehingga dapat
diperoleh koordinat rata-rata ekspresi tersenyum.
Untuk proses pengujian dilakukan hal yang sama. Ketiga metode akan
menghasilkan beberapa titik sudut pada citra bibir uji. Kemudian dipilih dua buah titik
sudut pada koordinat x terbesar (xmax_u, y1_u) dan koordinat x terkecil (xmin_u, y2_u), lalu
nilai koordinat titik sudut citra bibir uji ini akan dirata-rata (yrata_u). Jika nilai
koordinat rata-rata citra uji (yrata_u) lebih besar dari batas minimum yang sudah
disimpan (yrata), maka citra dianggap bukan ekspresi tersenyum, begitu juga
sebaliknya, nilai koordinat titik sudut citra bibir uji (yrata_u) yang lebih kecil atau sama
dengan batas minimum yang sudah disimpan (yrata) dianggap ekspresi tersenyum.
2.8 Perhitungan Akurasi
Akurasi untuk klasifikasi dua kelas dan banyak kelas dapat dihitung
menggunakan persamaan (14) berikut
15
𝐴𝑘𝑢𝑟𝑎𝑠𝑖 = 𝑇𝑃+𝑇𝑁
𝑇𝑃+𝐹𝑃+𝑇𝑁+𝐹𝑁 (14)
dengan,
𝑇𝑃 = True Positive, jumlah citra senyum yang dideteksi tersenyum oleh sistem
𝑇𝑁 = True Negative, jumlah citra bukan tersenyum yang dideteksi bukan
tersenyum oleh sistem
𝐹𝑃 = False Positive, jumlah citra tersenyum yang dideteksi bukan tersenyum oleh
sistem
𝐹𝑁 = False Negative, jumlah citra bukan tersenyum yang dideteksi tersenyum
oleh sistem