Sistem Pendeteksian Manusia Untuk Keamanan Ruangan Menggunakan Viola-Jones

BAB 2

LANDASAN TEORI

Bab ini membahas tentang teori penunjang dan penelitian sebelumnya yang
berhubungan dengan penerapan viola-jones untuk pendeteksian manusia.

2.1. Computer Vision
Computer Vision merupakan salah satu cabang ilmu pengetahuan yang mempelajari
bagaimana komputer dapat mengenali objek yang diamati dengan cara mengekstrak
informasi dari objek tersebut. Cabang ilmu ini jika dikaitkan dengan Artificial
Intelligence akan mampu menghasilkan Visual Intelligence System. Computer Vision
adalah kombinasi antara :
a.

Pengolahan Citra
Merupakan bidang yang berhubungan dengan proses transformasi citra/gambar
yang bertujuan untuk mendapatkan kualitas citra yang lebih baik.

b.


Pengenalan Pola
Merupakan bidang yang berhubungan dengan proses identifikasi obyek pada citra
atau interpretasi citra untuk mengekstrak informasi dari citra tersebut.

2.2. Pendeteksian Objek
Pendeteksian Objek merupakan suatu teknologi komputer yang berhubungan dengan
computer vision dan image processing, yang berhubungan dengan mendeteksi suatu
objek dalam citra. Metode yang digunakan untuk pendeteksian objek pada
perancangan aplikasi ini adalah metode Viola-Jones.

Universitas Sumatera Utara

7
2.3. Citra
Citra adalah suatu representasi dua dimensi yang menggambarkan suatu visualisasi
objek. Sebagai keluaran suatu sistem perekaman data, citra dapat bersifat optik berupa
foto, bersifat analog berupa sinya-sinyal video seperti gambar pada monitor televisi
atau bersifat digital yang dapat langsung disimpan pada suatu media penyimpanan. Di
dalam citra tersusun piksel-piksel dalam larik dua dimensi, indeks baris dan kolom
(x, y) dari sebuah piksel yang dinyatakan dalam bilangan bulat. Secara umum citra

terdiri dari dua yaitu citra analog dan citra digital.

2.3.1. Citra Analog
Citra analog adalah citra yang bersifat continoue seperti gambar pada monitor televisi,
foto sinar X, foto yang tercetak di kertas foto, lukisan, pemandangan alam, hasil CT
scan dan sebagainya. Citra analog tidak dapat dipresentasikan dalam komputer
sehingga tidak bisa diproses di komputer secara langsung. Oleh sebab itu, citra analog
terlebih dahulu di konversi dari analog ke digital sehingga citra tersebut dapat diproses
di komputer.

2.3.2. Citra Digital
Citra digital adalah gambar dua dimensi yang bisa diolah di komputer sehingga
himpunan/diskrit nilai digital. Citra digital merupakan citra berupa suatu matriks
dimana indeks baris dan kolomnya menyatakan suatu titik pada citra tersebut dan
elemen matriks menyatakan tingkat keabuan pada titik tersebut. Matriks yang
dinyatakan pada citra digital berupa matriks berukuran N (baris/tinggi) x M
(kolom/lebar).

2.4. Elemen Citra Digital
Citra digital mengandung sejumlah elemen-elemen dasar. Elemen-elemen dasar inilah

yang dimanipulasi dalam pengolahan citra. Elemen-elemen dasar yang penting dalam
citra digital diantaranya adalah :

Universitas Sumatera Utara

8
a.

Kecerahan
Kecerahan disebut juga sebagai intensitas cahaya. Kecerahan pada suatu titik
(piksel) di dalam suatu citra sebenarnya adalah intensitas rata-rata dari suatu area
yang melingkupinya. Sistem visual manusia menyesuaikan dirinya dengan tingkat
kecerahan mulai dari yang paling rendah sampai yang paling tinggi dengan
jangkauan sebesar 1016.

b.

Kontras
Kontras adalah elemen yang menyatakan sebaran terang dan gelap dalam suatu
citra. Citra dengan kontras rendah memiliki ciri sebagian besar komposisi

citranya terang atau gelap. Citra dengan kontras yang baik memiliki komposisi
terang dan gelap yang merata.

c.

Kontur
Kontur adalah keadaan yang ditimbulkan oleh perubahan intensitas pada pikselpiksel yang bertetangga. Karena adanya perubahan intensitas inilah, maka tepitepi (edge) objek pada citra dapat dideteksi.

d.

Warna
Warna adalah persepsi yang dirasakan oleh sistem visual manusia terhadap
panjang gelombang cahaya yang dipantulkan oleh objek. Setiap warna
mempunyai panjang gelombang yang berbeda-beda. Warna yang diterima oleh
sistem visual manusia (mata) merupakan hasil kombinasi cahaya dengan panjang
gelombang yang berbeda-beda. Kombinasi warna yang memberikan rentang
warna yang paling lebar adalah red (R), green(G), dan blue(B).

e.


Bentuk
Merupakan properti intrinsik dari objek tiga dimensi untuk sistem visual manusia
karena manusia lebih sering menginterpretasikan suatu objek berdasarkan
bentuknya daripada elemen lainnya. Pada umumnya citra yang dibentuk oleh
mata merupakan citra dwimatra (2 dimensi) sedangkan objek yang dilihat
umumnya berbentuk trimatra (3 dimensi).

f.

Tekstur
Tekstur dicirikan sebagai distribusi spasial dari derajat keabuan di dalam
sekumpulan piksel-piksel yang bertetangga sehingga tekstur tidak dapat
didefinisikan untuk sebuah piksel. Tekstur merupakan karakteristik untuk
menganalisa permukaan berbagai jenis citra objek. Sistem visual manusia pada

Universitas Sumatera Utara

9
hakikatnya tidak menerima informasi citra secara independen pada setiap piksel.
melainkan suatu citra dianggap sebagai suatu kesatuan. Resolusi citra yang

diamati ditentukan oleh skala pada tekstur sebagai dipersepsi.

2.5. Citra Warna
Citra warna adalah citra digital yang setiap pikselnya mengandung informasi warna
yang biasanya dibentuk paling sedikit tiga saluran warna misalnya RGB. Citra warna
memiliki beberapa jenis bit per piksel yaitu:
a.

Citra Warna (8 bit)

Setiap piksel dari citra warna (8 bit) hanya diwakili 8 bit dengan jumlah warna
maksimum yang dapat digunakan adalah 256 warna. Ada dua jenis citra warna 8 bit
yaitu :
 Citra warna 8 bit dengan menggunakan 256 palet warna dimana setiap paletnya
memiliki pemetaan nilai RGB tertentu. Model ini sering digunakan.
 Citra warna 8 bit dimana setiap piksel memiliki format 8 bit seperti Tabel 2.1.
Tabel 2.1. Citra Warna 8 bit

b.


Bit-7

Bit-6

Bit-5

Bit-4

Bit-3

Bit-2

Bit-1

Bit-0

R

R


R

G

G

G

B

B

Citra Warna (16 bit)

Citra warna 16 bit atau citra highcolor memiliki piksel yang diwakili dengan 2 byte
memori (16 bit). Jumlah warna 16 bit adalah 65.536 warna. Dalam formasi bitnya,
nilai merah dan biru mengambil 5 bit di kanan dan kiri. Komponen hijau memiliki 5
bit ditambah 1 bit ekstra. Pemilihan komponen hijau dengan deret 6 bit dikarenakan
penglihatan manusia lebih sensitive terhadap warna hijau. Model citra warna 16 bit
tampak seperti Tabel 2.2.

Tabel 2.2. Citra Warna 16 bit
Bit
-15

Bit
-14

Bit
-13

Bit
-12

Bit
-11

Bit
-10

Bit

-9

Bit
-8

Bit
-7

Bit
-6

Bit
-5

Bit
-4

Bit
-3


Bit
-2

Bit
-1

Bit
-0

R

R

R

R

R

G

G

G

G

G

G

B

B

B

B

B

Universitas Sumatera Utara

10
c.

Citra Warna (24 bit)

Setiap piksel dalam citra warna 24 bit diwakili dengan 24 bit sehingga jumlah variasi
warna per pikselnya adalah 16.777.216. Variasi ini sudah lebih dari cukup untuk
memvisualisasikan seluruh warna yang dapat dilihat dalam penglihatan manusia.
Penglihatan manusia dipercaya hanya dapat membedakan hingga 10 juta warna saja.
Setiap poin informasi piksel (RGB) disimpan ke dalam 1 byte data. 8 bit pertama
menyimpan nilai biru, 8 bit kedua menyimpan nilai hijau, dan 8 bit terakhir
menyimpan nilai merah.

2.6. Citra Abu-abu (Grayscale Image)
Citra abu-abu adalah suatu format citra atau gambar dimana tiap-tiap piksel hanya
terdiri dari 1 channel warna yaitu abu-abu. Warna abu-abu merupakan warna pada
ruang RGB dengan komponen merah, hijau, dan biru memiliki intensitas yang sama.
Pada citra beraras keabuan hanya perlu menyatakan nilai intensitas untuk tiap piksel
sebagai nilai tunggal. Untuk mengubah citra warna yang mempunyai nilai R, G, B
menjadi citra abu-abu, perlu dilakukan grayscaling yaitu penyusunan citra yang
sebelumnya 3 matriks akan berubah menjadi 1 matriks saja. Pengubahan citra warna
menjadi citra abu-abu biasanya mengikuti aturan sebagai berikut:
� �



=

.

� + .

+ .

(2.1)

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.

Universitas Sumatera Utara

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

Gambar 2.1. Variasi Fitur pada Haar (LienHart et al, 2002)

Universitas Sumatera Utara

12
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:


,

= ∑

Citra integral dihitung secara rekursif:

dimana :



,

=�

,

+�
� − ,

′=

, −
=�



′=

+�
,−





− ,

,



(2.4)

−�

= � − ,−

− , −

=

(2.5)

(2.6)

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

Gambar 2.2. Perhitungan Citra Integral

Universitas Sumatera Utara

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



Inisialisasikan bobot

,

, ....,

,

, =

dimana
,

= 0,1 untuk data negatif dan positif.

untuk

= 0,1 berturut-turut, dimana m dan l

adalah jumlah citra positif dan negatif.


Untuk = , … , � ∶

1. Normalisasikan bobot :

adalah distribusi probabilitas.

, =



=

,

(2.7)

,

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

Universitas Sumatera Utara

14
,� = ∑



|ℎ

3. Pilih classifier, ℎ , dengan kesalahan terendah � .

|.

(2.8)

4. Perbaharui bobot :

(2.9)
=

Dimana

jika data

sebaliknya, dan


=



− �

diklasifikan dengan benar dan
.

=

jika

Pembentukan classifier kuat :

(2.10)

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).
50%

IMAGE SUB-WINDOW

20%

2%

1 Feature

5 Feature

20 Feature

NON-OBJECT

NON-OBJECT

NON-OBJECT

OBJECT

Gambar 2.3. Alur Kerja Klasifikasi Bertingkat (Dzulkamain et al, 2011)

Universitas Sumatera Utara

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).

k.

Pelabelan citra (line, conic, polygon, text-drawing).

Universitas Sumatera Utara

16
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.

Universitas Sumatera Utara

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).

2.9. Penelitian Terdahulu
Penelitian tentang pendeteksian objek manusia telah banyak dilakukan. Beberapa
penelitian melakukan pendeteksian objek manusia dengan mendeteksi wajah atau
badan atas dan bawah, atau bagian tertentu dari objek manusia.
Pada tahun 2005, Chen et al menggunakan metode invarian dari iluminasi dan
pose untuk mendeteksi wajah manusia. Adapun langkah-langkah metode tersebut
adalah:
1. Bentuk garis/luar objek ditandai secara manual pada gambar contoh objek.
2. Kemudian gambar tersebut diekstraksi dan ditransformasikan menjadi gradient
image.
3. Gradient image tersebut didekomposisikan ke dalam beberapa besaran skalar
dimana tiap gambar memiliki fase kuantisasi yang sama. Hal ini sama dengan
pencarian fitur.
4. Kemudian algoritma boosting digunakan untuk mengklasifikan nilai fitur
tersebut untuk mendapatkan bagian objek atau tidak.
Aziz et al (2011) menggunakan metode skeleton graph untuk mendeteksi
objek manusia yang digunakan untuk menghitung jumlah orang dalam keramaian.
Adapun langkah-langkah metode skeleton graph adalah sebagai berikut:
1. Melakukan proses substraksi latar belakang yaitu penghilangan latar belakang
dari gambar yang dimasukan.
2. Menghitung nilai skeleton graph dari setiap wilayah yang terdeteksi ada
manusia dengan menggunakan metode yang dibuat oleh Thome et al (Thome
et al, 2008).

Universitas Sumatera Utara

18
3. Kemudian titik dari skeleton tersebut diklasifikasikan berdasarkan derajat
lingkungan titik tersebut. Hal ini dilakukan untuk mendeteksi bagian objek dari
wilayah yang terdeteksi manusia.
4. Tahap yang terakhir adalah melakukan head tracking karena file yang diinput
adalah video.

Pada tahun 2012 Subburaman et al (Subburaman et al, 2012) melakukan
penelitian mengenai perhitungan orang dalam keramaian menggunakan sebuah
generic head detector. Adapun langkah-langkah dari metode generic head detector
adalah:
1. Mengubah gambar warna menjadi abu-abu (gray scale image).
2. Pencarian titik penting pada gambar dengan metode interest point detector
yang berguna untuk mengurangi lokasi pencarian sehingga pencarian wilayah
yang mirip dengan bagian objek lebih cepat.
3. Menghilangkan latar belakang dari gambar yang berkelanjutan (video) dengan
melakukan proses background substraction. Hal ini berguna untuk mengurangi
wilayah pencarian dan meningkatkan kecepatan untuk pendeteksian manusia
dalam gambar.
4. Menghitung saluran LUV, saluran intensitas kemiringan, dan enam saluran
kemiringan yang terorientasi untuk mendapatkan fitur dari wilayah yang
penting. Perhitungan dilakukan dengan menggunakan citra integral sehingga
proses lebih cepat.
5. Mengklasifikasikan wilayah dengan adaboost classifier untuk mendapatkan
wilayah

yang

memiliki

bagian

objek

atau

tidak.

Universitas Sumatera Utara