6 BAB 2 LANDASAN TEORI Pada bab ini enjelaskan engenai berbagai teori yang digunakan untuk elakukan penelitian ini. Bab ini terdiri dari penjelasan engenai penghitung pengunjung, lalu penjelasan engenai haar-like features dan gentle adaboost yang digunakan dala proses pelatihan datanya. Selanjutnya juga dijelaskan engenai nilai jarak Euclidian yang digunakan pada penjejakan objek kepala. 2. PENGHITUNG PENGUNJUNG Penghitungan pengunjung secara otoatis terbukti apu enghasilkan penghitungan yang euaskan dan eperudah peilik pusat keraaian [5]. Operator pusat keraaian tidak perlu disibukkan lagi oleh hal-hal onoton yang tidak seharusnya dilakukan anusia. 2.2 HAAR-LIKE FEATURES Perosesan data gabar dengan intensitas gabar (piksel per piksel dengan aturan RGB) ebutuhkan resource yang ahal, baik waktu aupun koputasi. Papageorgiou et. al.[] telah ebahas engenai penggunaan fitur gabar saat perosesan daripada intensitas gabar. Suatu set dari fitur ini epertibangkan wilayah atau region persegi panjang dari gabar dan enjulahkan tiap piksel pada region ini. Hasil penjulahan tersebut digunakan untuk engkategorisasikan gabar-gabar [5]. Setiap haar-like features terdiri dari gabungan kotak-kotak hita dan putih[7, 2]: 6 Siste penghitungan pengunjung..., Ikhsan Putra Kurniawan, FASILKOM Universitas UI, 2008 Indonesia
7 Gabar 2. Satu Set Extended Haar-like Features (telah diolah kebali) [7, 6, 7]. Bagaiana Menghitung Haar-like Features Nilai dari haar-like features adalah perbedaan antara julah nilai-nilai piksel level abu-abu ke dala daerah kotak hita dan daerah kotak putih. [7, 6, 7]. f ( x) = Sublackrec tan gle ( pixe lg raylevel) Suwhiterec tan gle ( pixe lg raylevel) Kotak rectangular haar-like features dapat dihitung secara cepat enggunakan integral iage. Integral iage pada lokasi x,y terdiri dari julah nilai piksel diatas dan dikiri dari lokasi x,y[7, 6, 7]. P( x, = Gabar 2. 2 Integral Iage (telah diolah kebali) [7, 6, 7] x' x, y' y i( x', y') (2.)
8 Gabar 2. 3 Perhitungan Integral Iage (telah diolah kebali) [7, 6, 7] Pada gabar diatas, i(x, adalah nilai piksel dari iage pada posisi x,y. s(x, adalah kuulatif julah kolo, Kita dapat enghitung integral iage dengan sekali jalan ( single pass ). Gabar 2. 4 Perhitungan Integral Iage (telah diolah kebali) [7, 6, 7] Dengan enggunakan integral iage, nilai julah piksel rectangular dapat dihitung dala waktu yang konstan. Sebagai contoh julah nilai piksel di dla kotak D, dapat dihitung sebagai berikut: ii( P4) + ii( P) ii( P2) ii( P3) (2.2) Berikut adalah contoh bagaiana enghitung haar-like features: Misalkan sebuah citra eiliki nilai grayscale sebagai berikut: i(x, 2 5 7 20 4 6 5 3 Maka untuk enghitung integral iage-nya dapat dilakukan dengan enggunakan ruus: ii ( x, = ii( x, + s( x, (2.3) s ( x, = s( x, + i( x, (2.4) Maka dengan ruus tersebut akan didapatkan s(x, 2 5 7
9 3 25 9 30 4 Dan akan enghasilkan integral iage berupa: ii(x, 2 5 4 3 38 49 9 49 63 Berikut adalah contoh ekstraksi haar-like features pada wajah anusia oleh Viola[7]. Gabar 2. 5 Contoh Hasil Ekstraksi Haar-like Features pada wajah anusia (telah diolah kebali)[7]. 2.3 BOOSTING Algorita yang digunakan untuk elakukan pelatihan data dala engenali pola kepala pengunjung tapak atas adalah boosting. Lienhart[7] endefiniskan sekupulan classifier seperti sebuah pohon keputusan diana setiap langkah atau level keputusan dilatih untuk endeteksi hapir seua bagian pada objek dan enolak objek yang tidak eenuhi kriteria. Boosting erupakan teknik yang apuh untuk engkobinasikan banyak classifier untuk ebentuk suatu gabungan yang perforanya lebih baik dibanding perfora tiap classifier dasar tersebut[3, 4, 5]. Bentuk boosting yang banyak digunakan adalah AdaBoost, singkatan dari adaptive boosting, yang dikebangkan oleh Freund dan Schapire[4]. Perfora boosting dapat enghasilkan klasifikasi yang bagus, eskipun tiap classifier dasar-nya hanya
0 sedikit lebih bagus daripada algorita rando[]. Satuan classifier ini dapat disebut weak learner. Gabar 2. 6 Algorita Boosting (telah diolah kebali) [] Pada gabar, setiap classifier y (x) dilatih dan diberi bobot, diana bobot-bobonya w () n bergantung pada perfora dari classifier dasar sebelunya y - (x). Ketika seua classifier dasar sudah dilatih, seuanya akan dikobinasikan untuk enghasilkan classifier akhir Y M (x). Algorita AdaBoost:. Inisiasi data koefisien bobot {w n } dengan enset w n () = /N for n =,, N. 2. For =,,M: (a) Cocokkan classifier y(x) dengan data pelatihan dengan einialisasi bobot fungsi eror J = N n= w ( ) n I ( y ( x ) t (2.5) n n Diana I(y (x n ) t n ) sebagai fungsi indicator dan akan bernilai ketika Y (x n ) t n dan 0 sebaliknya. (b) Evaluasi kuantitas N ( ) wn I n= = N ( y( xn) tn) ε (2.6) ( ) w n= n Lalu gunakan ini untuk engevaluasi
ε α = ln (2.8) ε (c) Perbaharui koefisien-koefisien bobot W (+) n = w () n exp{α I(y (x n ) t n )} (2.9) 3. Buat prediksi dengan enggunakan odel final, yaitu Y M M ( x) = sign α y( x) (2.0) = Gabar 2. 7 Contoh Proses learning atau pelatihan dengan 3 tahap oleh Viola[6] (telah diolah kebali). Sesuai dengan yang disebutkan pada latar belakang, bahwa penelitian Kuranov[6] enyipulkan bahwa Gentle Adaboost adalah algorita boosting yang paling baik, aka algorita Adaboost yang akan digunakan dala proses pelatihan adalah Gentle Adaboost. 2.3. Gentle Adaboost Gentle Adaboost enghasilkan perfora yang lebih baik dari Discreet Adaboost dan Real Adaboost dari sisi akurasi untuk proses deteksi karena ebutuhkan koputasi yang lebih ringan[6]. Algorita Gentle Adaboost:. Terdapat N contoh x, y ),...,( x N, y ) dengan k x R, y {, } ( N 2. Mulai dari bobot w = /N, i=,, N. (2.) i
2 3. Ulangi untuk =,, M 4. Hasil dari classifier adalah sign M f ( x) (2.2) = 2.3. Bagaiana Adaboost Bekerja Berikut adalah bagaiana Adaboost bekerja yang dijelaskan oleh Sochan[4]. Sesuai algorita Adaboost, cara kerja adaboost adalah sebagai berikut:. Terdapat: x, y ),...,( x, y ); x x, y {, } ( i i + Gabar 2. 8 Adaboost Bekerja (telah diolah kebali) [4] 2. Inisiasi bobot D ( i) / Untuk t =,..., T : = Cari = D ( i)[ y h ( x )] (2.3) i= t i j i Gabar 2. 9 Adaboost Bekerja (telah diolah kebali) [4] 3. Jika / 2 aka berhenti t
3 t Set α t = log( ) (2.4) 2 t Update nilai D D ( i)exp( α y h ( x )) ( t t i t i t+ i) = (2.5) Z t Z t adalah faktor noralisasi. Gabar 2. 0 Adaboost Bekerja (telah diolah kebali) [4] 4. Hasil dari classifier akhir T H ( x) = sign α tht ( x) (2.6) t= Gabar 2. Adaboost Bekerja (telah diolah kebali) [4]
4 Gabar 2. 2 Adaboost Bekerja (telah diolah kebali) [4]
5 Gabar 2. 3 Adaboost Bekerja (telah diolah kebali) [4]
6 Gabar 2. 4 Adaboost Bekerja (telah diolah kebali) [4] 2.4 NILAI JARAK EUCLIDIAN Penghitungan pengunjung enggunakan jarak euclidian terbukti lebih cepat dan enghasilkan penghitungan yang relatif euaskan[5]. Metode jarak euclidian akan digunakan dala proses tracking. Jarak Euclidian adalah jarak terpendek antara dua buah titik. Jika terdapat dua buah titik, aka jarak terpendek tersebut didapatkan dengan cara enarik garis lurus yang enghubungkan kedua titik tersebut. Dala ruang Euclidian berdiensi n, R n, jarak antara titik x dan y dapat diruuskan sebagai berikut [2, 5]: D = x-y n 2 = x i y i (2.7) i= Diana n adalah julah titik dala R n. Karena siste yang dikebangkan bekerja dala ruang Euclidian dengan diensi dua, aka jarak euclidian antara dua titik p(x,y) dan q(x2,y2) dapat dihitung dengan persaaan sebagai berikut[2]: D(p,q) = ( x y (2.8) 2 2 x2 ) + ( y 2 ) Jarak Euclidian(jarak antar objek pada citra) aksiu yang ditoleransi dala berbagai video dapat beraga, tergantung dari letak kaera[5].