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
5
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
6
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].
7
π€π (π’, π£) = π
π’ 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.
8
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 3 π=1
πΈ1,0 =
3 π =1
π΄π,π +1 β π΄π,π
2
ππΌπ 2 9 π=1 ππ₯
β
(4)
dengan, ππΌπ β‘ πΌπ β (β1,0,1) β π΄π,π +1 β π΄π,π ππ₯ sedangkan persamaan variasi intensitas yang mengalami pergeseran ke arah sumbu y ditunjukkan pada Persamaan (5) 3 π=1
πΈ0,1 =
3 π =1(π΄π+1,π
ππΌπ 2 9 π =1 ππ¦
β π΄π,π )2 β
(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
=
D
=
C
=
ππΌ 2 ππ₯ ππΌ 2 ππ¦ ππΌ ππΌ ππ₯ ππ¦
β π€ β π€ βπ€
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
9
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.
10
(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.
11
ο©1 0 ο1οΉ Sv ο½ οͺοͺ 2 0 ο2 οΊοΊ οͺο«1 0 ο1οΊο» π=
ο© ο1 ο2 ο1οΉ Sh ο½ οͺοͺ 0 0 0 οΊοΊ οͺο« 1 2 1 οΊο»
(πΌ β ππ£ )2 + (πΌ β πβ )2
(11)
(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
12
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
13
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
14
π΄ππ’πππ π =
ππ+ππ ππ+πΉπ+ππ+πΉπ
(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
15