Pengenalan Gerakan Tangan Manusia Menggunakan Deep Neural Network

BAB 2
LANDASAN TEORI

2.1. Nearest Neighbor
Nearest neighbor merupakan salah satu teknik interpolasi paling sederhana dan cepat
dengan memindahkan ruang yang kosong dengan piksel yang berdekatan (the nearest
neighboring pixel) pada saat pengecilan atau pembesaran skala gambar (Safinaz,
2014).
Menurut Malepati (2010), nearest neighbor menggunakan nilai piksel terdekat
pada gambar awal untuk memberikan nilai piksel pada gambar awal yang akan
diperbesar atau diperkecil. Sebagai contoh terdapat sebuah gambar dengan ukuran 4 x
4 dengan jumlah piksel 16 dimana setiap pikselnya diwakilkan dengan nilai A, B, C,
D, E, F, G, H, I, J, K, L, M, N, O, P. Kemudian gambar akan diperbesar menjadi
ukuran 6 x 8 dengan jumlah piksel 48 menggunakan nearest neighbor. Ilustrasi
gambar awal dengan ukuran 4 x 4 beserta nilai pikselnya dapat dilihat pada Gambar
2.1. Hasil gambar setelah diperbesar menjadi ukuran 6 x 8 beserta nilai pikselnya
menggunakan neareast neighbor dapat dilihat pada pada Gambar 2.2.

i
j


1

2

3

4

1 A

B C D

2

E

F

G H


3

I

J

K L

4 M N O P
Gambar 2.1. Nilai-Nilai Piksel Gambar Awal (Malepati, 2010)

Universitas Sumatera Utara

8

x
y

1


2

3

4

5

6

1 A

B B C D D

2 A

B B C D D

3


E

F

F G H H

4

E

F

F G H H

5

I

J


J

K L

L

6

I

J

J

K L

L

7 M N N O P


P

8 M N N O P

P

Gambar 2.2. Nilai Piksel Setelah Gambar Diperbesar (Malepati, 2010)

Adapun contoh proses perhitungan untuk mendapatkan setiap nilai piksel pada
gambar dengan ukuran 6 x 8 yaitu:
Perbandingan lebar (ratio weight) = 4 : 6 = 2 : 3.
Perbandingan panjang (ratio height) = 4 : 8 = 1 : 2.
-

Untuk posisi piksel dengan nilai x = 1, y = 1
Pikselx = ceil(x * ratio weight) = ceil(1 * 2/3) = 1
Piksely = ceil(y * ratio height) = ceil(1 * ½) = 1
Nilai piksel pada gambar ukuran 6 x 8 dengan x = 1 yang menghasilkan Pikselx =
1 dan y = 1 yang menghasilkan Piksely = 1 disesuaikan dengan nilai piksel pada
gambar awal dengan i = 1 dan j = 1 yaitu A.


-

Untuk posisi piksel dengan nilai x = 1, y = 2
Pikselx = ceil(x * ratio weight) = ceil(1 * 2/3) = 1
Piksely = ceil(y * ratio height) = ceil(2 * ½) = 1
Nilai piksel pada gambar ukuran 6 x 8 dengan x = 1 dan y = 2 juga memiliki nilai
A.

-

Untuk posisi piksel dengan nilai x = 6, y = 8
Pikselx = ceil(x * ratio weight) = ceil(6 * 2/3) = 4
Piksely = ceil(y * ratio height) = ceil(8 * ½) = 4

Universitas Sumatera Utara

9

Nilai piksel pada gambar ukuran 6 x 8 dengan x = 6 yang menghasilkan Pikselx =

4 dan y = 8 yang menghasilkan Piksely = 4 disesuaikan dengan nilai piksel pada
gambar awal dengan i = 4 dan j = 4 yaitu P.
Ceil (ceiling) merupakan proses pembulatan sebuah bilangan ke atas.

2.2. Grayscaling
Grayscaling dilakukan untuk mengkonversi ruang warna ke ruang warna keabuan.
Grayscaling mengubah citra warna yang memiliki ruang warna RGB (Red Green
Blue) menjadi citra keabuan. Ketiga channel red, green, dan blue diubah menjadi satu
channel gray (keabuan) menggunakan persamaan 2.1 (Bradski & Kaehler, 2008).
Y = 0.299.R + 0.587.G + 0.114.B

(2.1)

Dimana: Y = citra hasil konversi RGB menjadi Grayscale
R = nilai red channel pada piksel
G = nilai green channel pada sebuah piksel
B = nilai blue channel pada sebuah piksel
Proses mengkonversi citra RGB menjadi citra keabuan (grayscale) dilakukan agar
pemrosesan lebih cepat dan efisien dengan menggunakan citra 8 bit (Chairunnisa,
2015).


2.3. Frame Differencing
Frame differencing adalah sebuah teknik yang digunakan untuk mendeteksi perbedaan
piksel antara dua frame gambar dalam satu video. Teknik ini dapat mendeteksi
pergerakan objek berdasarkan perbedaan piksel pada dua frame dalam satu video
dengan interval waktu yang singkat. Perbedaan frame dalam sebuah video diperoleh
menggunakan perhitungan pada persamaan 2.2, 2.3 dan 2.4 (Alex & Wahi, 2014).
Differential:
Dk = {

(2.2)

Dk = {

(2.3)

Negative Differential:

Universitas Sumatera Utara


10

Fully Differential:
(2.4)

Dk =
Dimana: Dk = hasil citra frame differencing
= citra frame
= citra frame sebelumnya dengan interval waktu

Teknik frame differencing telah diimplementasikan dalam beberapa penelitian
sebelumnya. Kang & Hayes (2015) menggunakan teknik frame differencing dalam
penelitian mengenai pengenalan wajah untuk personalisasi kendaraan. Chairunnisa
(2015) melakukan perbandingan antara citra frame awal dan frame selanjutnya pada
citra hasil konversi warna grayscale dengan menggunakan fungsi frame differencing
pada OpenCV yaitu absdiff(). Fungsi tersebut dapat menghitung perbedaan mutlak
antar dua array atau matriks ketika kedua matriks memiliki ukuran dan jenis yang
sama. Adapun penjelasan tentang fungsi absdiff() yaitu:
absdiff(src1,src2,dst)
Parameter:

-

src1: input frame awal yang akan dibandingkan

-

src2: input frame selanjutnya yang akan dibandingkan

-

dst: hasil keluaran perbandingan frame berupa matriks citra

Berikut ini merupakan pseudecode proses frame differencing yang diimplementasikan
pada penelitian:

Inisialisasi frame awal, frame selanjutnya dan frame perbedaan
Inisialisasi jumlah frame = 0
IF (jumlah frame = 0)
THEN
SET frame perbedaan = frame selanjutnya
ELSE
SET absdiff(frame awal, frame selanjutnya,frame perbedaan)
jumlah frame = jumlah frame + 1
ENDIF
frame awal = frame selanjutnya

Universitas Sumatera Utara

11

2.4. Principal Component Analysis
Principal

Component

Analysis

(PCA)

merupakan

teknik

statistika

untuk

mentransformasi himpunan sekumpulan variabel menjadi himpunan variabel dengan
jumlah yang lebih kecil, tetapi tetap mampu merepresentasikan informasi yang
terdapat pada himpunan variabel sebelum ditransformasi. Adapun tujuan mengurangi
dimensionalitas dari data asli menggunakan PCA adalah agar data lebih mudah
dimengerti dan lebih mudah diproses (Dunteman, 1989).
Apabila diketahui X = {xn  Rd | n = 1, 2, ..., N} yang merepresentasikan sebuah
dataset dengan dimensi d, dari dataset X tersebut, PCA akan menghasilkan dataset Z,
dimana Z = {zn  Rk | n = 1, 2, ..., N} dengan dimensi k, dimana nilai k adalah lebih
kecil dari d. Langkah-langkah yang dilakukan dalam PCA terdiri atas (Jolliffe, 2002):
1. Normalisasi setiap dimensi data dengan menggunakan rumus normalisasi Z-score:

v' i 

vi  A

A

(2.5)

Setelah melalui proses ini, dataset akan memiliki nilai mean atau rata-rata nol.
2. Cari matriks kovarian menggunakan rumus:


1 T
X X
m

(2.6)

, dimana  adalah matriks kovarian; m merupakan banyak data pada dataset asli;
X adalah dataset asli yang disusun dalam bentuk matriks dengan setiap kolom
merupakan fitur, dan setiap baris merupakan kumpulan fitur untuk satu objek; XT
merupakan transpos dari matriks X. Hasil matriks kovarian adalah matriks dengan
ukuran dxd, dimana d merupakan dimensi dari X.
3. Hitung nilai eigenvalue serta eigenvector dari matriks kovarian, dengan
melakukan Single Value Decomposition pada matriks kovarian. Eigenvalue dan
eigenvector merupakan vektor-vektor yang mengkarakterisasikan dataset X.
Apabila dimiliki data awal dengan dimensi d, maka akan didapatkan eigenvector
sebanyak d.
4. Urutkan eigenvector sesuai dengan nilai eigenvalue yang dimiliki secara menurun,
dimana eigenvector dengan nilai eigenvalue yang lebih tinggi berada pada sisi kiri
matriks dan eigenvector dengan nilai eigenvalue yang lebih rendah berada pada
sisi kanan matriks.

Universitas Sumatera Utara

12

5. Pilih eigenvector sebanyak k untuk membentuk vektor fitur U, dimana dari vektor
fitur U akan dihasilkan data hasil PCA dengan dimensi k. Pemilihan eigenvector
dilakukan berdasarkan nilai eigenvalue dari eigenvector. Akan dipilih eigenvector
dengan nilai eigenvalue tinggi, sehingga informasi data asli tetap akan terjaga
pada data hasil PCA. Hal ini dikarenakan eigenvector dengan eigenvalue tinggi
menunjukkan data yang direpresentasikan eigenvector tersebut adalah signifikan.
Penentuan nilai dimensi k untuk dataset hasil PCA ditentukan berdasarkan
retain rate. Retain rate adalah persentase informasi yang yang tetap terjaga pada
data hasil PCA dari dataset asli. Pemilihan nilai dimensi k pada umumnya dipilih
dengan menjaga retain rate pada nilai 99%, yakni memenuhi persamaan 2.7. Hal
ini

dilakukan

agar

seluruh

informasi

pada

dataset

asli

tetap

dapat

direpresentasikan oleh dataset hasil PCA.




k

i 1
m

Si

 0,99

(2.7)

Si
i 1

Si adalah eigenvalue pada posisi ke-i. Seluruh nilai dari eigenvector yang dipilih
kemudian disusun sebagai kolom sebuah matriks vektor fitur U.
6. Hasil dataset PCA dihasilkan menggunakan rumus:
Z UT X

(2.8)

, dimana Z merupakan matriks dataset hasil PCA; U adalah matriks vektor hasil
pemilihan eigenvector yang didapatkan pada tahap sebelumnya; X adalah matriks
dataset asli.
Metode PCA menghasilkan dataset yang mampu mendeskripsikan dataset asli
dengan tetap menjaga informasi yang tersimpan sebanyak mungkin (Amirani, et al.
2008).

2.5. Artificial Neural Network
Negnevitsky (2005) mendefinisikan Artificial Neural Network atau jaringan saraf
tiruan sebagai model logika yang bekerja berdasarkan otak manusia. Cara kerja otak
yang dengan menggunakan sejumlah neuron sederhana dan saling terhubung dengan
sebuah nilai bobot yang meneruskan signal dari satu neuron menuju neuron lainnya
dapat dimodelkan oleh sebuah jaringan saraf tiruan. Input akan diterima oleh setiap

Universitas Sumatera Utara

13

neuron melalui hubungannya. Sebuah output yang sesuai dengan nilai bobot pada
hubungan tersebut akan dihasilkan oleh neuron tersebut, kemudian output akan
diteruskan kembali ke neuron yang lain. Setiap neuron pada jaringan saraf tiruan
terdiri dari beberapa layer atau lapisan. Sebuah jaringan saraf tiruan pada umumnya
terdiri dari tiga layer, yakni: input layer yaitu node-node yang menerima signal input,
middle layer yang juga disebut sebagai hidden layer yaitu node yang menghubungkan
node pada input layer dengan node pada output layer, dan output layer yaitu nodenode yang menghasilkan signal output. Jaringan saraf tiruan belajar dengan
melakukan penyesuaian nilai bobot yang digunakan untuk mengirimkan nilai dari satu
neuron ke neuron lain. Arsitektur umum dari sebuah jaringan saraf tiruan dapat dilihat
pada Gambar 2.3.

Gambar 2.3. Arsitektur Umum Sebuah Jaringan Saraf Tiruan (Negnevitsky,
2005)

Sebuah fungsi yang disebut sebagai fungsi aktivasi digunakan untuk menentukan
output dari sebuah neuron. Ada empat jenis fungsi aktivasi yang secara umum
digunakan, yakni: step function, sign function, sigmoid function, dan linear function.
Setiap jenis fungsi aktivasi berserta grafik yang menggambarkan fungsi dapat dilihat
pada Gambar 2.4.

Universitas Sumatera Utara

14

Gambar 2.4. Fungsi Aktivasi Neuron (Negnevitsky, 2005)

Step function dan sign function disebut sebagai fungsi pembatasan kasar yang
digunakan secara umum pada permasalahan klasifikasi dan pengenalan pola. Sigmoid
function digunakan pada jaringan propagasi balik dan dapat mengubah input yang
memiliki jangkauan nilai [-∞, ∞] menjadi output dengan jangkauan nilai [0,0, 1,0].
Linear activation function digunakan pada pendekatan linear dan dapat menghasilkan
output yang sama dengan input yang diterima oleh neuron.
Jaringan saraf tiruan dapat digunakan untuk dua jenis konsep pembelajaran, yakni:
1. Pembelajaran supervised, yaitu pembelajaran yang dilakukan dengan menerima
sekumpulan contoh yang ditandai sebagai data pelatihan dan membuat prediksi
untuk seluruh titik yang tidak diketahui. Pembelajaran ini sudah terlebih dahulu
mengetahui output yang diharapkan berdasarkan input yang diberikan (Mohri, et
al., 2012).
2. Pembelajaran unsupervised, yaitu pembelajaran yang dilakukan dengan menerima
sekumpulan data pelatihan yang tidak ditandai dan membuat prediksi untuk
seluruh titik yang tidak diketahui. Pembelajaran ini tidak dapat terlebih dahulu
mengetahui output dari input yang diberikan sehingga memerlukan metode lain
untuk mengelompokkan input yang diberikan (Mohri, et al., 2012).

2.6. Deep Neural Network
Deep Neural Network merupakan sebuah jaringan saraf tiruan (Neural Network) yang
memiliki lebih dari satu hidden layer, sehingga DNN juga dikenal sebagai multilayer
perceptron. Output pada sebuah multilayer perceptron dapat ditentukan menggunakan

Universitas Sumatera Utara

15

rumus fungsi aktivasi sigmoid function. Arsitektur dari sebuah multilayer perceptron
dengan dua hidden layer dapat dilihat pada Gambar 2.5 (Negnetvisky, 2005).

Gambar 2.5. Arsitektur Multilayer Perceptron dengan Dua Hidden Layer
(Negnevitsky, 2005)

Deep Neural Network juga menggunakan arsitektur deep (deep architectures).
Arsitektur deep terdiri atas beberapa tingkat operasi non-linear, seperti jaringan saraf
tiruan dengan banyak hidden layer atau dalam sebuah rumusan yang menggunakan
banyak sub-rumusan (Bengio, 2009).
Deng & Yu (2014) mendefenisikan DNN adalah generasi baru dari jaringan saraf
tiruan yang menggunakan konsep deep learning. Deep learning adalah sebuah
kumpulan teknik pembelajaran mesin yang memanfaatkan banyak lapisan pemrosesan
informasi linear untuk ekstraksi fitur dan transformasi yang supervised dan
unsupervised, serta untuk analisis pola dan klasifikasi. Deep learning terbagi menjadi
tiga kategori, yakni:
1. Deep networks untuk pembelajaran unsupervised atau generatif, bertujuan untuk
mendapatkan korelasi atau keterkaitan antara data yang dapat diobservasi untuk
analisis pola pada saat informasi tentang hasil yang seharusnya didapatkan tidak
ada.
2. Deep

networks

untuk

pembelajaran

supervised,

bertujuan

menyediakan

kemampuan untuk membedakan klasifikasi pola secara langsung, dilakukan
dengan mengkarakteristik distribusi kelas untuk data.

Universitas Sumatera Utara

16

3. Hybrid deep networks, memiliki tujuan sebagai pembeda dimana secara signifikan
dibantu dengan hasil yang didapatkan dari deep network untuk pembelajaran
unsupervised.
Heaton (2015) mendefinisikan deep learning adalah sebuah pengembangan baru
dalam bidang pemrograman jaringan saraf tiruan yang memberikan cara untuk melatih
DNN. Jaringan saraf tiruan dengan lebih dari dua lapisan (layer) disebut sebagai deep.
Kemampuan untuk membuat DNN telah muncul sejak 1943 dimana Pitts mengenalkan
multilayer perceptron. Jaringan saraf tiruan pada awalnya belum dapat dilatih secara
efektif hingga Hinton berhasil menjadi peneliti pertama yang melatih jaringan saraf
tiruan yang rumit pada tahun 1984.

2.7. Backpropagation
Backpropagation atau propagasi balik adalah salah satu algoritma yang digunakan
dalam pelatihan multilayer perceptron. Adapun tahapan yang dilakukan pada
algoritma ini, yakni (Negnetvisky, 2005):
1. Inisialisasi
Setiap bobot yang menghubungkan seluruh neuron yang ada diberikan nilai acak
dengan distribusi yang merata dan jangkauan yang kecil (Haykin, 1999).
Inisialisasi untuk nilai setiap bobot dihitung dengan persamaan 2.9.

 2,4 2,4 

 
,
Fi 
 Fi

(2.9)

Dimana: Fi = banyak input dari neuron i pada jaringan

2. Aktivasi (Feed-forward)
Proses aktivasi atau feed-forward akan memasukkan seluruh input yang ada ke
dalam jaringan saraf tiruan untuk menghasilkan output. Aktivasi dari jaringan
saraf tiruan dilakukan dengan menggunakan input x1(p), x2(p), ..., xn(p) dan output
yang diharapkan yd1(p), yd2(p), …, ydn(p), dengan p adalah jumlah perulangan
yang sudah dilakukan dan p memiliki nilai awal 0.
 Output sebenarnya dari setiap neuron pada hidden layer dihitung dengan
menggunakan persamaan 2.10.

Universitas Sumatera Utara

17


n
y j ( p)  sigmoid xi ( p).wij ( p)

 i 1

(2.10)

Dimana: n = banyak input dari neuron j pada hidden layer
sigmoid = fungsi aktivasi sigmoid
 Output sebenarnya dari setiap neuron pada output layer dihitung dengan
menggunakan persamaan 2.11.


m
y k ( p)  sigmoid x jk ( p).w jk ( p)

 i 1

(2.11)

Dimana: m = banyak input dari neuron k pada output layer
sigmoid = fungsi aktivasi sigmoid

3. Pelatihan bobot
Update atau pembaruan nilai dari setiap bobot pada jaringan saraf tiruan akan
dilakukan dengan melakukan propagasi balik terhadap kesalahan (error) pada
output layer.
 Error pada setiap neuron pada output layer dihitung dengan persamaan 2.12.

 k ( p)  y k ( p)  y dk ( p)

(2.12)

Kemudian perbaikan bobot dihitung menggunakan persamaan 2.13.

w jk ( p)  . y j ( p). k ( p)  .w jk ( p  1)

(2.13)

Dimana: α = konstanta yang menentukan kecepatan pembelajaran dari
algoritma propagasi balik (learning rate)
µ = konstanta yang menentukan besar perubahan update dari bobot
(momentum)
Update untuk setiap bobot yang terhubung dengan neuron pada output layer
dilakukan dengan menggunakan persamaan 2.14.

w jk ( p  1)  w jk ( p)  w jk ( p)

(2.14)

 Error pada setiap neuron pada hidden layer dihitung dengan persamaan 2.15.





 j ( p)    k ( p).w jk ( p). y j ( p).1  y j ( p)
m

 k 1



(2.15)

Universitas Sumatera Utara

18

Kemudian perbaikan bobot dihitung menggunakan persamaan 2.16.

wij ( p)   .xi ( p). j ( p)  .wij ( p  1)

(2.16)

Dimana: α = konstanta yang menentukan kecepatan pembelajaran dari
algoritma propagasi balik (learning rate)
µ = konstanta yang menentukan besar perubahan update dari
bobot (momentum)
Update untuk setiap bobot yang terhubung dengan neuron pada hidden layer
dilakukan dengan menggunakan persamaan 2.17.

wij ( p  1)  wij ( p)  wij ( p)

(2.17)

4. Iterasi
Penambahan nilai perulangan p sebanyak satu dan kembali ke langkah 2 akan
dilakukan apabila kriteria error belum sesuai yang diharapkan. Algoritma
pelatihan propagasi balik selesai dilakukan apabila kriteria error telah sesuai yang
diharapkan.

2.8. Penelitian Terdahulu
Penelitian mengenai pengenalan gerakan tangan manusia dan metode Deep Neural
Network telah dilakukan oleh beberapa peneliti sebelumnya. Neto, et al. (2013)
melakukan penelitian mengenai penempatan gerakan tangan yang statis secara realtime dan berlanjut menggunakan metode Artificial Neural Network (ANN). Penelitian
ini dilakukan dengan tujuan agar robot dapat melakukan gerakan tangan yang sama
dengan gerakan tangan manusia. Bentuk gerakan yang dilatih terdiri dari gerakan yang
memiliki arti (communicative) dan gerakan yang tidak memiliki arti (noncommunicative). Hasil penelitian menunjukkan tingkat pengenalan yang sangat baik
(99,8% untuk sepuluh gerakan tangan dan 96,3% untuk tiga puluh gerakan). Selain
itu, penelitian ini juga menggunakan waktu yang singkat untuk pelatihan dan
pembelajaran, memiliki kemampuan untuk mengeneralisasi dan kemampuan untuk
mengoperasikan secara independen dari kondisi di sekitar lingkungan.
Tang, et al. (2013) melakukan penelitian mengenai pengenalan postur tangan yang
statis secara real-time menggunakan perangkat Kinect. Penelitian ini menggunakan

Universitas Sumatera Utara

19

algoritma skin color model dan depth model untuk deteksi tangan, algoritma kalman
untuk melacak tangan (hand tracking) serta mengimplementasikan DNN yakni Deep
Belief Network (DBN) dan Convolutional Neural Network (CNN) untuk mengenal
postur tangan. Hasil penelitian ini menunjukkan performa yang baik (akurasi
menggunakan DBN: 98,063% dan CNN: 93,995%) dalam pendeteksian dan pelacakan
tangan, dapat mengatasi masalah terhalangnya tangan serta dapat megenal postur
tangan dengan sangat cepat dan real-time. Namun, metode deteksi tangan yang
digunakan masih bergantung pada data warna dan kedalaman sehingga akurasi
bergantung pada konten dan pencahayaan gambar.
Erhan, et al. (2014) mengajukan metode untuk melakukan pelacakan lokasi objek
pada suatu gambar dan memprediksi beberapa kotak penanda pada satu waktu.
Metode yang digunakan adalah Deep Multi Box yang mengimplementasikan Deep
Convolutional Neural Network sebagai basis ekstraksi fitur dan model pembelajaran
untuk memprediksi lokasi kotak penanda. Adapun rata-rata akurasi yang didapatkan
untuk deteksi adalah 58,48% dan untuk klasifikasi adalah 77,29%, dengan jumlah
window yang digunakan 1-25.
Ramjan, et al. (2014) melakukan penelitian mengenai pengenalan dan
pendeteksian gerakan tangan dinamis secara real-time menggunakan interaksi
manusia dan komputer. Adapun proses yang dilakukan adalah penangkapan gambar
dari video, ekstrasi objek yang terdapat di tangan pada background gambar yang
tertangkap serta penggunaan kamera web untuk menelusuri gerakan objek. Objek
yang tertangkap kemudian diproses dengan blurring, grayscaling, HSV (Hue
Saturation Value) model, dan blob detection. Setelah proses-proses tersebut dilakukan,
gambar akan dicocokkan dengan gambar yang tersimpan dalam database untuk
menentukan gerakan. Melalui penelitian ini, interaksi yang melibatkan penambahan
tulisan baru, pengontrolan media seperti pemutar musik, slide presentasi, photo viewer
dan operasi pada PC dapat dilakukan.
Chairunnisa (2015) melakukan penelitian tentang pengenalan gerakan tangan
manusia yang statis dengan mengimplementasikan teknik-teknik computer vision, HsCbCr (HueSaturation-ChromaBlueChromaRed) untuk mendeteksi warna kulit dan
teknik average background untuk mengatasi masalah background. Penelitian ini
menunjukkan bahwa dengan kondisi tangan kosong dan latar belakang yang kompleks
melalui kamera web sudah dapat mengendalikan aplikasi pengolah presentasi,

Universitas Sumatera Utara

20

pemutar musik, pemutar video dan PDF reader. Selain itu, tingkat akurasi 96,87%
dalam mengenali gerakan tangan manusia dengan syarat kondisi pencahayaan yang
baik juga dicapai.
Molchanov, et al. (2015) meneliti mengenai pengenalan gerakan tangan secara
dinamis pada saat mengemudi mobil dengan menggunakan metode Convolutional
Neural Network (CNN). Penelitian ini menggunakan dataset dari Vision for Intelligent
Vehicles and Applications (VIVA). Hasil dari penelitian ini mencapai tingkat akurasi
77,5 % untuk klasifikasi. Rangkuman penelitian terdahulu dapat dilihat pada Tabel 2.1.
Tabel 2.1. Penelitian Terdahulu
No.
1

Peneliti
Neto, et al.

Tahun
2013

Metode
Artificial Neural
Network (ANN)

2

Tang, et al.

2013

Pendeteksian
tangan:
Color skin model
dan depth model
Pelacakan tangan:
Kalman
Pengenalan postur
tangan:
DBN dan CNN

3

Ramjan, et al.

2014

Ekstrasi fitur:
Blob detection
Pengenalan:
Template/pattern
matching

Keterangan
 Pengenalan gerakan
tangan statis
 Fungsi: agar robot dapat
melakukan gerakan
tangan manusia secara
statis
 Waktu pelatihan dan
pembelajaran yang
singkat
 Akurasi untuk sepuluh
gerakan tangan 99,8%
dan untuk tiga puluh
gerakan tangan 96,3%
 Pengenalan postur
tangan secara real time
 Akurasi:
DBN: 98,063%
CNN: 93,995%
 Waktu pengenalan ratarata:
DBN: 0,000899 detik
CNN: 0,001165 detik
 Metode deteksi tangan
bergantung pada data
warna dan kedalaman
 Pengenalan gerakan
tangan dinamis
 Fungsi: interaksi untuk
penambahan tulisan
baru, pengontrolan
media dan operasi pada
PC
 Waktu pemrosesan

Universitas Sumatera Utara

21

Tabel 2.1. Penelitian Terdahulu (lanjutan)
No.

Peneliti

Tahun

Metode

4

Erhan, et al.

2014

Deep Multi Box

5

Chairunnisa

2015

Hs-CbCr, average
background

6

Molchanov, et
al.

2015

Convolutional
Neural Network

Keterangan
cukup lama terutama
pada proses template
matching
 Terdapat kemungkinan
gambar yang ditangkap
tidak cocok dengan
gambar yang tersimpan
dalam database
 Pelacakan lokasi objek
pada sebuah gambar dan
ditandai dengan sebuah
kotak
 Akurasi rata-rata untuk
deteksi: 58,48%
 Akurasi rata-rata untuk
klasifikasi: 77,29%
 Pengenalan gerakan
tangan statis
 Fungsi: pengontrolan
aplikasi pemutar musik,
pengolah presentasi,
pemutar video dan PDF
reader
 Akurasi: 96,87%
 Pengenalan gerakan
tangan dinamis pada saat
mengemudi mobil
 Menggunakan dataset
Vision for Intelligent
Vehicles and
Applications (VIVA)
 Tingkat akurasi untuk
klasifikasi: 77,5%

Perbedaan penelitian yang dilakukan dengan penelitian terdahulu adalah penelitian
ini berfokus pada pengenalan gerakan tangan manusia yang terdiri dari enam yaitu
gerakan tangan dari kiri ke kanan, dari kanan ke kiri, dari atas ke bawah, dari bawah
ke atas, dari depan ke belakang dan dari belakang ke depan. Kemudian, hasil
pengenalan gerakan tangan manusia akan digunakan untuk mengendalikan beberapa
aplikasi komputer. Adapun metode yang diimplementasikan dalam penelitian ini,
yakni:

Universitas Sumatera Utara

22

 Melakukan beberapa tahap preprocessing untuk mengurangi parameter input

dimana bertujuan untuk mempercepat proses pelatihan dan pengenalan gerakan
tangan. Adapun tahap pre-processing yang dilakukan yaitu:
-

pemisahan video gerakan tangan menjadi beberapa frame gambar,

-

setiap frame gambar diperkecil dengan algoritma nearest neighbour,

-

setiap frame gambar dilakukan proses grayscaling,

-

setiap frame gambar dilakukan proses frame differencing dengan gambar
pertama,

-

empat gambar akan dipilih dari kumpulan gambar yang telah melalui proses
frame differencing,

-

proses Principal Component Analysis (PCA) dilakukan pada empat gambar
yang telah dipilih.

 Menggunakan metode Deep Neural Network untuk mengenali gerakan tangan
manusia.

Universitas Sumatera Utara