Institutional Repository | Satya Wacana Christian University: Pemanfaatan Metode Template Matching untuk Face Tracking Secara Real Time di Ruang Tertutup T1 612010016 BAB II
BAB II
DASAR TEORI
Pada bab ini akan dijelaskan dasar teori yang digunakan dalam perancangan
skripsi ini. Pada sub bab 2.1 akan dijelaskan mengenai citra berwarna (RGB) dan citra
beraras keabuan (grayscale), pada sub bab 2.2 akan dijelaskan mengenai resizing citra,
pada sub bab 2.3 akan dijelaskan mengenai template matching, pada sub bab 2.4 akan
dijelaskan mengenai rotator , dan pada sub bab 2.5 akan dijelaskan mengenai perhitungan
akurasi.
2.1. Citra Berwarna (RGB ) dan Citra Beraras Keabuan (Grayscale)
Citra adalah suatu representasi, kemiripan, atau imitasi dari suatu objek atau benda.
Citra digital dapat didefinisikan sebagai fungsi dua variabel f(x,y), di mana x dan y adalah
koordinat spasial sedangkan f(x,y) adalah nilai intensitas citra pada koordinat tersebut [4].
Citra dalam komputer tersusun dari sekumpulan piksel, di mana setiap triplet 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 I yang didapatkan dari proses capturing yang dilakukan oleh USB video
capture merupakan citra berwarna. Untuk mempercepat waktu komputasi maka
diperlukan konversi dari citra berwarna menjadi citra beraras keabuan J .
Contoh perubahan citra RGB menjadi citra grayscale dapat dilihat pada Gambar
2.1.
(a)
(b)
Gambar 2.1.(a) Citra berwarna I dan (b) Citra beraras keabuan J .
Warna abu-abu pada citra jenis ini merupakan variasi dari warna hitam untuk
bagian dengan intensitas terlemah dan warna putih pada intensitas terkuat [5]. Citra
4
grayscale berbeda dengan citra hitam-putih, di mana citra hitam putih hanya terdiri atas
2 warna yaitu hitam dan putih saja.
Citra grayscale disimpan dalam format 8 bit untuk setiap sampel piksel, yang
memungkinkan sebanyak 256 intensitas. Untuk mengubah citra RGB menjadi grayscale
menggunakan Persamaan (2.1) [6] berikut ini:
�=
.
� +
dimana, K = nilai grayscale
.
� +
.
×
(2.1)
R = nilai komponen red
G = nilai komponen green
B = nilai komponen blue
2.2. Resizing Citra
Selanjutnya dilakukan proses resizing terhadap citra J menjadi citra L. Resize
adalah sebuah operasi geometri yang memberikan efek memperbesar atau memperkecil
ukuran citra sesuai dengan variabel penskalaan citra [7]. Resizing dalam pengolahan citra
bertujuan untuk menyeragamkan ukuran data citra sehingga data yang diperoleh lebih
mudah untuk diolah. Penskalaan (memperkecil ukuran citra) memiliki peranan penting
dalam proses pengolahan citra karena dapat memperkecil waktu komputasi.
Contoh citra hasil resizing dapat dilihat pada Gambar 2.2.
(a)
(b)
Gambar 2.2.(a) Citra J sebelum di-resize dengan ukuran 480×720 dan (b) Citra L
setelah di-resize dengan ukuran 351×527.
2.3. Template Matching
Template matching merupakan salah satu teknik pengolahan citra digital untuk
menemukan suatu bagian pada citra yang memiliki kemiripan dengan citra template
(acuan) [8]. Kemiripan antara template dan citra uji ditentukan oleh nilai korelasi.
5
Nilai Threshold (α) adalah nilai ambang batas yang digunakan untuk batas
kemiripan antara citra uji dan template yang dikehendaki. Nilai korelasi dapat dituliskan
dalam Persamaan (2.2) [9].
=
∑ ∑ [� , −�̅ ].[
2
+ , +
√∑ ∑ [� , −�̅ ] ∑ ∑ [
− ̅]
2
̅
+ , + − ]
(2.2)
dimana, Cij = nilai normalisasi korelasi di koordinat i,j
Tu,v = template dengan ukuran u × v
�̅
= rata-rata template
Im,n = citra uji dengan ukuran m × n
��̅
= rata-rata citra yang ditutupi template
Jika nilai Ci,j ≥ α maka pada posisi tersebut terdeteksi bagian yang dianggap sesuai
dengan template. Dan sebaliknya jika Ci,j < α maka pada posisi tersebut tidak terdeteksi
bagian apapun pada citra uji.
Berikut ini merupakan metode template matching (dengan contoh citra uji 8×6 dan
citra template 3×3) :
1.
Meletakkan citra template pada citra uji.
Posisi pertama ditunjukkan oleh Gambar 2.3.
Gambar 2.3. Posisi pertama citra template pada citra uji.
Kotak yang berarsir menunjukkan citra template, sedangkan kotak yang tidak
berarsir menunjukkan citra uji.
2.
Menghitung nilai korelasi antara citra template dengan citra uji pada posisi citra
template seperti pada langkah 1, kemudian dihitung nilai korelasinya. Perhitungan
korelasi ditunjukkan pada Persamaan (2).
3.
Nilai korelasi yang telah diperoleh pada langkah 2 disimpan pada suatu variabel
matriks, kemudian citra template digeser sebesar satu piksel dan dihitung nilai
korelasinya kembali. Langkah ini dilakukan pada seluruh bagian citra uji dengan
posisi citra template selalu berada dalam citra uji hingga diperoleh posisi seperti pada
Gambar 2.4.
6
Gambar 2.4. Posisi terakhir citra template pada citra uji.
4.
Dari nilai korelasi yang telah disimpan pada variabel matriks tersebut akan dicari
nilai korelasi maksimal.
5.
Membandingkan nilai korelasi maksimal yang didapat pada langkah 4 dengan nilai
Threshold (α).
- jika nilai korelasi maksimal ≥ α maka pada posisi tersebut terdeteksi bagian yang
sesuai dengan template.
- jika nilai korelasi maksimal < α maka pada posisi tersebut terdeteksi bagian yang
lain yang mempunyai kemiripan dengan template.
6.
Menyimpan posisi koordinat wajah dari citra uji yang telah terdeteksi ke dalam suatu
variabel P W.
2.4. Rotator
Rotator merupakan perangkat keras untuk menggerakkan handycam ke kiri atau ke
kanan. Rotator dikendalikan oleh rangkaian mikrokontroler. Mikrokontroler yang
digunakan adalah AVR ATMega 8, perangkat ini berfungsi sebagai pengendali
pergerakan motor dalam rotator . Motor akan bekerja setelah pergerakan diinformasikan
dari PC ke mikrokontroler. Kemampuan rotator dalam skripsi ini dapat bergerak ke kiri
atau ke kanan sesuai perintah yang diberikan dengan rentang sudut ±135º.
Rotator yang digunakan pada sistem dapat dilihat pada Gambar 2.5.
Gambar 2.5. Rotator
7
2.5. Perhitungan Akurasi
2.5.1. Akurasi Program Template Matching
Perhitungan akurasi program template matching ditunjukkan pada Persamaan (2.3)
[10].
=
#
#
�+#
�+#� +#
(2.3)
+#��
dimana, #Hit = jumlah citra wajah yang dikenali benar saat citra uji dan template berisi
subyek yang sama (wajah berada dalam kotak deteksi)
#MD = Miss Detection, jumlah citra wajah yang tidak dikenali dengan benar
saat citra uji dan template berisi subyek yang sama (tidak ada kotak
deteksi dalam citra keluaran)
#FA = False Alarm, jumlah citra wajah dan bukan wajah yang dikenali benar
saat citra uji dan template berisi subyek yang sama (wajah tidak berada
dalam kotak deteksi) atau jumlah citra wajah dan bukan wajah yang
dikenali benar saat citra uji dan template berisi subyek yang berbeda
#CR = Correct Rejection jumlah citra wajah yang tidak dikenali dengan benar
saat citra uji dan template berisi subyek yang berbeda (tidak ada kotak
deteksi dalam citra keluaran)
Contoh ilustrasi citra keluaran dari hasil penerapan template matching dapat dilihat
pada Gambar 2.6.
A
A
A
A
=
template
A
B
B
=
template
citra uji citra keluaran
A
citra uji
citra keluaran
Citra wajah yang dikenali benar dimana wajah berada dalam kotak deteksi (Hit)
A
A
A
A
=
template
citra uji
A
A
B
=
template
citra keluaran
B
citra uji
citra keluaran
Citra wajah yang tidak dikenali dengan benar saat citra uji dan template berisi subyek
yang sama (MD)
Gambar 2.6. Citra keluaran template matching (kotak berwarna merah merupakan kotak
deteksi)
8
A
A
=
template
citra uji
A
A
B
A
citra keluaran
citra uji
A
B
=
citra uji citra keluaran
B
B
=
citra uji
A
citra keluaran
B
template
A
B
=
template
B
template
A
A
A
citra keluaran
B
=
template
citra uji
citra keluaran
Citra wajah yang dikenali benar dimana wajah tidak berada dalam kotak deteksi (FA)
A
template
No
face
=
citra uji
No
face
citra keluaran
Citra bukan wajah yang dikenali benar dan terdapat kotak deteksi (FA)
A
B
B
=
template
citra uji
citra keluaran
Citra wajah yang tidak dikenali dengan benar saat citra uji dan template berisi subyek
yang berbeda (CR)
A
template
No
face
=
citra uji
No
face
citra keluaran
Citra bukan wajah yang tidak dikenali dengan benar (CR)
Gambar 2.6 Lanjutan. Citra keluaran template matching (kotak berwarna merah
merupakan kotak deteksi).
9
2.5.2. Akurasi Rotator
Perhitungan akurasi rotator dilakukan saat rotator bergerak. Rotator yang
seharusnya tidak bergerak, tidak dimasukkan ke dalam A dan B. Batas interval (garis
putus-putus) dalam perhitungan akurasi rotator dapat dilihat pada Gambar 2.7. Akurasi
rotator ditunjukkan pada Persamaan (2.4).
dimana,
=
�
(2.4)
�+
V = jumlah frame yang ada pergerakan rotator dengan kotak deteksi template
matching berada dalam interval antara x dan z.
Q = jumlah frame yang ada pergerakan rotator dengan kotak deteksi template
matching berada di luar interval antara x dan z.
x=214
y=264
50 piksel
z=314
50 piksel
Gambar 2.7. Batas interval perhitungan akurasi rotator
10
DASAR TEORI
Pada bab ini akan dijelaskan dasar teori yang digunakan dalam perancangan
skripsi ini. Pada sub bab 2.1 akan dijelaskan mengenai citra berwarna (RGB) dan citra
beraras keabuan (grayscale), pada sub bab 2.2 akan dijelaskan mengenai resizing citra,
pada sub bab 2.3 akan dijelaskan mengenai template matching, pada sub bab 2.4 akan
dijelaskan mengenai rotator , dan pada sub bab 2.5 akan dijelaskan mengenai perhitungan
akurasi.
2.1. Citra Berwarna (RGB ) dan Citra Beraras Keabuan (Grayscale)
Citra adalah suatu representasi, kemiripan, atau imitasi dari suatu objek atau benda.
Citra digital dapat didefinisikan sebagai fungsi dua variabel f(x,y), di mana x dan y adalah
koordinat spasial sedangkan f(x,y) adalah nilai intensitas citra pada koordinat tersebut [4].
Citra dalam komputer tersusun dari sekumpulan piksel, di mana setiap triplet 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 I yang didapatkan dari proses capturing yang dilakukan oleh USB video
capture merupakan citra berwarna. Untuk mempercepat waktu komputasi maka
diperlukan konversi dari citra berwarna menjadi citra beraras keabuan J .
Contoh perubahan citra RGB menjadi citra grayscale dapat dilihat pada Gambar
2.1.
(a)
(b)
Gambar 2.1.(a) Citra berwarna I dan (b) Citra beraras keabuan J .
Warna abu-abu pada citra jenis ini merupakan variasi dari warna hitam untuk
bagian dengan intensitas terlemah dan warna putih pada intensitas terkuat [5]. Citra
4
grayscale berbeda dengan citra hitam-putih, di mana citra hitam putih hanya terdiri atas
2 warna yaitu hitam dan putih saja.
Citra grayscale disimpan dalam format 8 bit untuk setiap sampel piksel, yang
memungkinkan sebanyak 256 intensitas. Untuk mengubah citra RGB menjadi grayscale
menggunakan Persamaan (2.1) [6] berikut ini:
�=
.
� +
dimana, K = nilai grayscale
.
� +
.
×
(2.1)
R = nilai komponen red
G = nilai komponen green
B = nilai komponen blue
2.2. Resizing Citra
Selanjutnya dilakukan proses resizing terhadap citra J menjadi citra L. Resize
adalah sebuah operasi geometri yang memberikan efek memperbesar atau memperkecil
ukuran citra sesuai dengan variabel penskalaan citra [7]. Resizing dalam pengolahan citra
bertujuan untuk menyeragamkan ukuran data citra sehingga data yang diperoleh lebih
mudah untuk diolah. Penskalaan (memperkecil ukuran citra) memiliki peranan penting
dalam proses pengolahan citra karena dapat memperkecil waktu komputasi.
Contoh citra hasil resizing dapat dilihat pada Gambar 2.2.
(a)
(b)
Gambar 2.2.(a) Citra J sebelum di-resize dengan ukuran 480×720 dan (b) Citra L
setelah di-resize dengan ukuran 351×527.
2.3. Template Matching
Template matching merupakan salah satu teknik pengolahan citra digital untuk
menemukan suatu bagian pada citra yang memiliki kemiripan dengan citra template
(acuan) [8]. Kemiripan antara template dan citra uji ditentukan oleh nilai korelasi.
5
Nilai Threshold (α) adalah nilai ambang batas yang digunakan untuk batas
kemiripan antara citra uji dan template yang dikehendaki. Nilai korelasi dapat dituliskan
dalam Persamaan (2.2) [9].
=
∑ ∑ [� , −�̅ ].[
2
+ , +
√∑ ∑ [� , −�̅ ] ∑ ∑ [
− ̅]
2
̅
+ , + − ]
(2.2)
dimana, Cij = nilai normalisasi korelasi di koordinat i,j
Tu,v = template dengan ukuran u × v
�̅
= rata-rata template
Im,n = citra uji dengan ukuran m × n
��̅
= rata-rata citra yang ditutupi template
Jika nilai Ci,j ≥ α maka pada posisi tersebut terdeteksi bagian yang dianggap sesuai
dengan template. Dan sebaliknya jika Ci,j < α maka pada posisi tersebut tidak terdeteksi
bagian apapun pada citra uji.
Berikut ini merupakan metode template matching (dengan contoh citra uji 8×6 dan
citra template 3×3) :
1.
Meletakkan citra template pada citra uji.
Posisi pertama ditunjukkan oleh Gambar 2.3.
Gambar 2.3. Posisi pertama citra template pada citra uji.
Kotak yang berarsir menunjukkan citra template, sedangkan kotak yang tidak
berarsir menunjukkan citra uji.
2.
Menghitung nilai korelasi antara citra template dengan citra uji pada posisi citra
template seperti pada langkah 1, kemudian dihitung nilai korelasinya. Perhitungan
korelasi ditunjukkan pada Persamaan (2).
3.
Nilai korelasi yang telah diperoleh pada langkah 2 disimpan pada suatu variabel
matriks, kemudian citra template digeser sebesar satu piksel dan dihitung nilai
korelasinya kembali. Langkah ini dilakukan pada seluruh bagian citra uji dengan
posisi citra template selalu berada dalam citra uji hingga diperoleh posisi seperti pada
Gambar 2.4.
6
Gambar 2.4. Posisi terakhir citra template pada citra uji.
4.
Dari nilai korelasi yang telah disimpan pada variabel matriks tersebut akan dicari
nilai korelasi maksimal.
5.
Membandingkan nilai korelasi maksimal yang didapat pada langkah 4 dengan nilai
Threshold (α).
- jika nilai korelasi maksimal ≥ α maka pada posisi tersebut terdeteksi bagian yang
sesuai dengan template.
- jika nilai korelasi maksimal < α maka pada posisi tersebut terdeteksi bagian yang
lain yang mempunyai kemiripan dengan template.
6.
Menyimpan posisi koordinat wajah dari citra uji yang telah terdeteksi ke dalam suatu
variabel P W.
2.4. Rotator
Rotator merupakan perangkat keras untuk menggerakkan handycam ke kiri atau ke
kanan. Rotator dikendalikan oleh rangkaian mikrokontroler. Mikrokontroler yang
digunakan adalah AVR ATMega 8, perangkat ini berfungsi sebagai pengendali
pergerakan motor dalam rotator . Motor akan bekerja setelah pergerakan diinformasikan
dari PC ke mikrokontroler. Kemampuan rotator dalam skripsi ini dapat bergerak ke kiri
atau ke kanan sesuai perintah yang diberikan dengan rentang sudut ±135º.
Rotator yang digunakan pada sistem dapat dilihat pada Gambar 2.5.
Gambar 2.5. Rotator
7
2.5. Perhitungan Akurasi
2.5.1. Akurasi Program Template Matching
Perhitungan akurasi program template matching ditunjukkan pada Persamaan (2.3)
[10].
=
#
#
�+#
�+#� +#
(2.3)
+#��
dimana, #Hit = jumlah citra wajah yang dikenali benar saat citra uji dan template berisi
subyek yang sama (wajah berada dalam kotak deteksi)
#MD = Miss Detection, jumlah citra wajah yang tidak dikenali dengan benar
saat citra uji dan template berisi subyek yang sama (tidak ada kotak
deteksi dalam citra keluaran)
#FA = False Alarm, jumlah citra wajah dan bukan wajah yang dikenali benar
saat citra uji dan template berisi subyek yang sama (wajah tidak berada
dalam kotak deteksi) atau jumlah citra wajah dan bukan wajah yang
dikenali benar saat citra uji dan template berisi subyek yang berbeda
#CR = Correct Rejection jumlah citra wajah yang tidak dikenali dengan benar
saat citra uji dan template berisi subyek yang berbeda (tidak ada kotak
deteksi dalam citra keluaran)
Contoh ilustrasi citra keluaran dari hasil penerapan template matching dapat dilihat
pada Gambar 2.6.
A
A
A
A
=
template
A
B
B
=
template
citra uji citra keluaran
A
citra uji
citra keluaran
Citra wajah yang dikenali benar dimana wajah berada dalam kotak deteksi (Hit)
A
A
A
A
=
template
citra uji
A
A
B
=
template
citra keluaran
B
citra uji
citra keluaran
Citra wajah yang tidak dikenali dengan benar saat citra uji dan template berisi subyek
yang sama (MD)
Gambar 2.6. Citra keluaran template matching (kotak berwarna merah merupakan kotak
deteksi)
8
A
A
=
template
citra uji
A
A
B
A
citra keluaran
citra uji
A
B
=
citra uji citra keluaran
B
B
=
citra uji
A
citra keluaran
B
template
A
B
=
template
B
template
A
A
A
citra keluaran
B
=
template
citra uji
citra keluaran
Citra wajah yang dikenali benar dimana wajah tidak berada dalam kotak deteksi (FA)
A
template
No
face
=
citra uji
No
face
citra keluaran
Citra bukan wajah yang dikenali benar dan terdapat kotak deteksi (FA)
A
B
B
=
template
citra uji
citra keluaran
Citra wajah yang tidak dikenali dengan benar saat citra uji dan template berisi subyek
yang berbeda (CR)
A
template
No
face
=
citra uji
No
face
citra keluaran
Citra bukan wajah yang tidak dikenali dengan benar (CR)
Gambar 2.6 Lanjutan. Citra keluaran template matching (kotak berwarna merah
merupakan kotak deteksi).
9
2.5.2. Akurasi Rotator
Perhitungan akurasi rotator dilakukan saat rotator bergerak. Rotator yang
seharusnya tidak bergerak, tidak dimasukkan ke dalam A dan B. Batas interval (garis
putus-putus) dalam perhitungan akurasi rotator dapat dilihat pada Gambar 2.7. Akurasi
rotator ditunjukkan pada Persamaan (2.4).
dimana,
=
�
(2.4)
�+
V = jumlah frame yang ada pergerakan rotator dengan kotak deteksi template
matching berada dalam interval antara x dan z.
Q = jumlah frame yang ada pergerakan rotator dengan kotak deteksi template
matching berada di luar interval antara x dan z.
x=214
y=264
50 piksel
z=314
50 piksel
Gambar 2.7. Batas interval perhitungan akurasi rotator
10