• Tidak ada hasil yang ditemukan

LANDASAN TEORI

2.7. Metode Viola-Jones

Metode Viola-Jones merupakan sebuah metode yang digunakan untuk mendeteksi objek seperti manusia, mobil, roda mobil, wajah, dan sebagainya yang terdapat dalam EmguCV dan OpenCV. Metode ini banyak digunakan untuk mendeteksi objek karena metode ini memiliki algoritma yang efisien sehingga tidak memerlukan waktu yang banyak untuk melakukan proses pendeteksian objek. Proses pendeteksian objek dilakukan dengan membandingkan citra terhadap sebuah pengklasifikasi yang dibentuk dari data pelatihan.

11 Dalam metode viola-jones terdapat empat kontribusi utama yaitu :

Haar-like Features

Citra Integral (Integral Image)

Adaptive Boosting atau Adaboost

Cascade of Classifier 2.7.1. Haar-Like Feature

Haar Feature merupakan fitur yang didasarkan pada Wavelet Haar (Viola et al, 2001). Wavelet Haar adalah suatu fungsi matematika yang berbentuk kotak, bersama-sama membentuk basis. Wavelet Haar hampir sama dengan fungsi Fourier yaitu meletakan target di dalam interval, kemudian melakukan proses. Awalnya pengolahan gambar hanya memproses nilai RGB dari setiap piksel yang dimiliki oleh gambar tersebut. Proses ini kurang efisien karena menggunakan sumber yang besar sedangkan hasil yang diperoleh kecil. Oleh sebab itu, Viola dan Jones mengembangkan proses pengolahan gambar yakni Haar-Like Feature.

Setiap Haar-Like Feature terdiri dari gabungan kotak-kotak hitam dan putih. Ada tiga tipe kotak feature dalam Haar:

a. Tipe two-rectangle feature (horizontal, vertikal) b. Tipe three-rectangle feature

c. Tipe four-rectangle feature

Haar-Like Feature mengolah gambar dalam kotak-kotak dimana dalam satu kotak terdapat beberapa piksel. Kemudian setiap kotak tersebut diproses yakni setiap piksel-piksel dalam wilayah kotak tersebut dijumlahkan dan dilakukan proses perhitungan sehingga didapatkan perbedaan nilai yang menandakan daerah gelap dan terang. Perbedaan inilah yang dijadikan sebagai dasar untuk menandai wilayah tersebut yang nantinya dijadikan sebagai dasar dalam image processing.

2.7.2. Citra Integral (Integral Image)

Citra integral adalah representasi tengah untuk citra dan terdiri dari jumlah nilai keabu-abuan dari citra N dengan tinggi y dan lebar x dimana nilai tiap pikselnya merupakan akumulatif dari nilai piksel atas dan kirinya. Citra integral digunakan untuk pendeteksian fitur secara cepat. Perumusannya adalah sebagai berikut:

� , = ∑ ∑ � ,

′=

′= (2.4)

Citra integral dihitung secara rekursif:

� , = � , + � , − + � − , − � − , − (2.5)

dimana :

� − , = � , − = � − , − = (2.6)

Representasi tengah dari citra ini memungkinkan perhitungan nilai fitur kotak D pada Gambar 2.2 dapat dihitung dengan empat refrensi perhitungan.

13 Nilai dari citra integral pada lokasi 1 adalah penjumlahan dari piksel dalam persegi panjang A. Nilai pada lokasi 2 adalah A+B, nilai pada lokasi 3 adalah A+C, dan nilai pada lokasi 4 adalah D-B-C+A.

Dengan menggunakan citra integral, perhitungan fitur akan sangat efektif dan efisien. Proses pencarian nilai fitur ini dilakukan secara iteratif mulai dari ujung kiri atas gambar hingga ujung kanan bawah.

2.7.3. Adaptive Boosting (Adaboost)

Adaboost merupakan salah satu metode boosting yang dapat meningkatkan ketelitian dalam proses klasifikasi dan prediksi dengan cara membangkitkan kombinasi dari suatu model, tetapi hasil klasifikasi dan prediksi yang dipilih adalah model yang memiliki nilai bobot paling besar.

Dalam metode viola-jones, adaboost digunakan untuk memilih fitur yang spesifik yang akan digunakan untuk mengatur nilai ambangnya (treshold). Adaboost menggabungkan banyak classifier yang lemah untuk membentuk sebuah classifier yang kuat. Classifier yang lemah adalah suatu jawaban dengan tingkat kebenaran yang kurang akurat (Viola et al, 2001). Adaboost memilih sejumlah classifier yang lemah untuk disatukan dan menambahkan bobot pada setiap classifier sehingga akan terbentuk sebuah classifier yang kuat. Salah satu metode yang cepat untuk dapat beradaptasi dengan classifier yang lemah adalah dengan membatasi classifier yang lemah ke set klasifikasi fungsi yang masing-masing bergantung pada fitur tunggal. Adapun algoritma adaboost adalah sebagai berikut :

 Input citra , , ...., , dimana = 0,1 untuk data negatif dan positif.

 Inisialisasikan bobot , = , untuk = 0,1 berturut-turut, dimana m dan l adalah jumlah citra positif dan negatif.

 Untuk = , … , � ∶

1. Normalisasikan bobot :

, = , ,

=

adalah distribusi probabilitas.

2. Untuk setiap fitur, , latih sebuah classifier ℎ yang dibatasi agar menggunakan sebuah fitur tunggal. Kesalahan dievaluasi sehubungan dengan :

, � = ∑ |ℎ − |.

3. Pilih classifier, ℎ , dengan kesalahan terendah � . 4. Perbaharui bobot :

Dimana = jika data diklasifikan dengan benar dan = jika sebaliknya, dan =

.

Pembentukan classifier kuat :

dimana = �

2.7.4. Cascade of Classifier

Cascade of classifier merupakan sebuah classifier yang telah terlatih dengan ribuan contoh objek yang terdiri dari objek yang positif dan objek yang negatif. Dalam algoritma Viola-Jones dilakukan penggabungan atau kombinasi cascade of classifier supaya kecepatan dari proses pendeteksian dapat meningkat yaitu dengan cara memusatkan perhatian pada daerah-daerah dalam gambar yang berpeluang saja. Hal ini berguna untuk menentukan dimana letak objek yang dicari pada suatu gambar.

Karakteristik dari algoritma Viola-Jones adalah adanya klasifikasi bertingkat seperti tampak pada Gambar 2.3. Klasifikasi pada algoritma ini terdiri dari tiga tingkatan dimana tiap tingkatan mengeluarkan subcitra yang diyakini bukan objek. Hal ini dilakukan karena lebih mudah untuk menilai subcitra tersebut bukan objek yang ingin dideteksi dari pada menilai apakah subcitra tersebut merupakan objek yang ingin dideteksi (Dzulkamain et al, 2011).

IMAGE SUB-WINDOW 1 Feature 5 Feature 20 Feature OBJECT

NON-OBJECT NON-OBJECT NON-OBJECT

50% 20% 2%

(2.8)

(2.9)

15 Pada klasifikasi fitur (tingkat) pertama, tiap subcitra akan diklasifikasikan menggunakan satu fitur. Jika hasil nilai fitur dari filter tidak memenuhi kriteria yang diinginkan maka hasil ditolak. Pada klasifikasi ini akan disisakan kira-kira 50% subcitra untuk diklasifikasi di tahap kedua. Subcitra yang lolos dari tingkat pertama akan diklasifikasikan lagi pada tahap kedua dimana pada tahap kedua jumlah fitur yang digunakan lebih banyak. Semakin bertambah tingkat klasifikasi maka fitur yang digunakan semakin banyak. Jumlah subcitra yang lolos dari klasifikasi pun akan berkurang hingga mencapai 2%.

2.8. OpenCV

OpenCV (Open Source Computer Vision) adalah sebuah API (Application Programming Interface) library yang sudah sangat familiar pada pengolahan citra dinamis secara real-time, yang dibuat oleh Intel. Fitur-fitur yang dimiliki oleh OpenCV antara lain :

a. Manipulasi data citra seperi alokasi, copying, setting, dan konversi. b. Mendukung input dan ouput citra maupun video.

c. Manipulasi matriks dan vektor serta aljabar linear. d. Data struktur dinamis (lists, queues, sets, trees, graphs)

e. Pemroses citra yang fundamental (filtering, edge detection, corner detection, sampling and interpolation, color conversion, morphological operations, histograms, image pyramids).

f. Analisis struktur (connected components, contour processing, distance transform, various moments, template matching, Hough transform, polygonal approximation, line fitting, ellipse fitting, Delaunay triangulation).

g. Kalibrasi kamera (calibration patterns, estimasi matriks yang fundamenal, estimasi homography, stereo correspondence).

h. Analisis gerakan (optical flow, segmentation, tracking). i. Pengenalan objek (eigen-methods, HMM).

j. Graphical User Interface (tampilan citra/video, penanganan keyboard dan mouse, scroll-bars).

Adapun struktur dan konten dalam OpenCV dapat dilihat pada Gambar 2.4

Gambar 2.4. Struktur dan Konten OpenCV (Bradski et al, 2008) 1. CV

Merupakan komponen yang berisikan algoritma dasar pengolahan citra digitial dan computer vision yang lebih tinggi.

2. ML

Merupakan komponen yang berisikan pustaka dari machine learning yang memiliki algoritma berikut :

a. Naive Bayes Classifier

b. K-nearest Neighbor algorithm c. Support Vector Machine d. Decision Trees e. Boosting f. Random forest g. Expectation Maximization h. Neural Networks 3. Highgui

Berisikan fungsi dan rutin I/O untuk penyimpanan dan pembacaan video dan gambar.

17 4. CXCORE

Berisikan struktur data, support XML dan fungsi-fungsi grafis.

Komponen yang lain adalah CvAux yang berisikan both defunct areas (embedded HMM face recognition) dan algoritma eksperimental (background/foreground segmentation).

Dokumen terkait