Pengenalan Gerakan Tangan Manusia Menggunakan Deep Neural Network

(1)

DAFTAR PUSTAKA

Alex, D.S. & Wahi, A. 2014. BFSD: Background subtraction frame difference algorithm for moving object detection and extraction. Journal of Theoretical & Applied Information Technology 60(3): 623-628.

Amirani, M.C., Toorani, M. & Beheshti, A.A. 2008. A new approach to content-based file type detection. Proceedings of the 13th IEEE Symposium on Computers and Communications (ISCC’08), pp. 1103-1108.

Bengio, Y. 2009. Learning Deep Architectures for AI. Now: Netherland.

Bradski, G. & Kaehler, A. 2008. Learning OpenCV. O’Relly Media, Inc: Sebastopol. Chairunnisa, T. 2015. Pengenalan gerakan tangan manusia untuk interaksi

manusia-komputer. Skripsi. Universitas Sumatera Utara.

Deng, L. & Yu, D. 2014. Deep Learning Methods and Applications. 978-1-60198-814-0. Now: Netherland.

Dunteman, G.H. 1989. Principal Components Analysis. SAGE: Thousand Oaks. Erhan, D., Szegedy, C., Toshev, A. & Anguelov, D. 2014. Scalable object detection

using deep neural networks. IEEE Conference on Computer Vision and Pattern Recognition, pp. 2155-2162.

Haykin, S. 1999. Neural Networks: A Comprehensive Foundation. 2nd Edition. Prentice Hall: Upper Saddle River.

Heaton, J. 2015. Deep Learning and Neural Networks. Artificial Intelligence for Humans. Volume 3. Heaton Research, Inc.: Chesterfield.

Ivakhnenko, A. G. 1971. Polynomial theory of complex system. IEEE Transactions on Systems, Man, and Cybernetics 1(4): 364-378.

Jolliffe, I.T. 2002. Principal Component Analysis. Springer: London.

Kang, J. & Hayes, M.H. 2015. Face recognition for vehicle personalization with near-IR frame differencing and pose clustering. IEEE International Conference on Consumer Electronics (ICCE), pp. 455-456.

Malepati, H. 2010. Digital Media Processing. 978-1-85617-678-1. Elsevier: Burlington.

Mohri, M., Rostamizadeh, A. & Talwalkar, A. 2012. Foundations of Machine Learning. The MIT Press: Cambridge.


(2)

Molchanov, P., Gupta, S., Kim, K. & Kautz, J. 2015. Hand gesture recognition with 3D convolutional neural networks. IEEE Conference on Computer Vision and Pattern Recognition Workshops, pp. 1-7.

Negnevitsky, M. 2005. Artificial Intelligence: A Guide to Intelligent Systems. 2nd Edition. Pearson Education Limited: Upper Saddle River.

Neto, P., Pereira, D., Pires, J.N. & Moreira, A.P. 2013. Real-time and continuous hand gesture spotting: an approach based on artificial neural networks. IEEE International Conference on Robotic and Automation (ICRA), pp. 178-183. Ramjan, M.R., Sandip, R.M., Uttam, P.S. & Srimant, W.S. 2014. Dynamic hand

gesture recognition and detection for real time using human computer interaction. International Journal of Advance Research in Computer Science and Management Studies (IJARCSMS) 2(3): 425-430.

Safinaz, S. 2014. An efficient algorithm for image scaling with high boost filtering. International Journal of Scientific and Research Publications 4(5): 1-9.

Silver, D., Huang, A., Maddison, C.J., Guez, A., Sifre, L., Driessche, G., Schrittwieser, J., Antonoglou, I., Panneershelvam, V., Lanctot, M., Dieleman, S., Grewe, D., Nham, J., Kalchbrenner, N., Sutskever, I., Lilicrap, T., Leach, M., Kavukcuoglu, K., Graepel, T. & Hassabis, D. 2016. Mastering the game of go with deep neural networks and tree search. Nature, January 529: 484-489. Tang, A., Lu, K., Wang, Y., Huang, J. & Li, H. 2013. A real-time hand posture

recognition system using deep neural networks. ACM Transactions on Intelligent Systems and Technology 9(4): 39:1-21.

Vision For Intelligent Vehicles and Appilications Dataset. http://cvrr.ucsd.edu/vivachallenge/index.php/hands/hand-gestures/. (diakses 14 Mei 2016)


(3)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

Bab ini akan membahas tentang implementasi metode yang digunakan untuk mengenali gerakan tangan manusia dalam interaksi manusia-komputer. Adapun dua tahapan yang dibahas pada bab ini yaitu tahap analisis dan tahap perancangan sistem. Analisis terhadap data yang digunakan dan analisis terhadap metode yang digunakan pada setiap langkah pemrosesan data akan dibahas pada tahap analisis. Perancangan tampilan antarmuka sistem akan dibahas pada tahap perancangan sistem.

3.1. Dataset

Data yang digunakan pada penelitian ini yaitu kumpulan video yang dikumpulkan dari

VIVA (Vision For Intelligent Vehicles and Appilications) dataset (diambil dari http://cvrr.ucsd.edu/vivachallenge/index.php/hands/hand-gestures/). Terdapat dua percobaan yang dilakukan dalam penelitian ini yakni:

1. Percobaan pertama

Dataset yang digunakan terdiri atas enam kelompok video gerakan tangan manusia yaitu video gerakan tangan kiri-kanan, video gerakan tangan kanan-kiri, video gerakan tangan atas-bawah, video gerakan tangan bawah-atas, video gerakan tangan depan-belakang dan video gerakan tangan belakang-depan. Total video yang dikumpulkan seluruhnya berjumlah 818. Detail video yang dikumpulkan untuk percobaan pertama dapat dilihat pada Tabel 3.1.

Video yang telah dikumpulkan dibagi menjadi dua dataset yaitu training dataset dan testing dataset. Training dataset atau data pelatihan digunakan untuk melatih DNN dan testing dataset atau data pengujian digunakan untuk menguji


(4)

data pengujian dilakukan secara acak. Detail pembagian dataset untuk percobaan pertama dapat dilihat pada Tabel 3.2 dan Tabel 3.3.

Tabel 3.1. Detail Video Data Penelitian Percobaan Pertama

Jenis video Banyak

video

Ukuran video minimum (byte)

Ukuran video maksimum (byte)

Gerakan tangan kiri-kanan 134 81.400 248.000

Gerakan tangan kanan-kiri 140 89.000 238.000

Gerakan tangan atas-bawah 135 89.300 237.000

Gerakan tangan bawah-atas 133 86.000 199.000

Gerakan tangan belakang-depan 138 91.800 203.000 Gerakan tangan depan-belakang 138 764.000 3.790.000

Tabel 3.2. Detail Training Dataset Percobaan Pertama

Jenis video Banyak

video

Ukuran video minimum (byte)

Ukuran video maksimum (byte)

Gerakan tangan kiri-kanan 108 81.400 248.000

Gerakan tangan kanan-kiri 112 89.000 238.000

Gerakan tangan atas-bawah 108 89.600 237.000

Gerakan tangan bawah-atas 107 86.000 199.000

Gerakan tangan belakang-depan 111 91.800 203.000 Gerakan tangan depan-belakang 111 764.000 3.790.000

Tabel 3.3. Detail Testing Dataset Percobaan Pertama

Jenis video Banyak

video

Ukuran video minimum (byte)

Ukuran video maksimum (byte)

Gerakan tangan kiri-kanan 26 96.400 214.000

Gerakan tangan kanan-kiri 28 101.000 200.000

Gerakan tangan atas-bawah 27 89.300 226.000

Gerakan tangan bawah-atas 26 88.700 183.000

Gerakan tangan belakang-depan 27 100.000 158.000 Gerakan tangan depan-belakang 27 1.070.000 2.560.000


(5)

2. Percobaan kedua

Dataset yang digunakan terdiri atas empat kelompok video gerakan tangan manusia yaitu video gerakan tangan kiri-kanan, video gerakan tangan kanan-kiri, video gerakan tangan atas-bawah, dan video gerakan tangan bawah-atas. Total video yang dikumpulkan seluruhnya berjumlah 542. Detail video yang dikumpulkan untuk percobaan kedua dapat dilihat pada Tabel 3.4.

Video yang telah dikumpulkan dibagi menjadi dua dataset yaitu training dataset dan testing dataset. Seluruh dataset yang dibagi menjadi data pelatihan dan data pengujian dilakukan secara acak. Detail pembagian dataset untuk percobaan kedua dapat dilihat pada Tabel 3.5 dan Tabel 3.6.

Tabel 3.4. Detail Video Data Penelitian Percobaan Kedua

Jenis video Banyak

video

Ukuran video minimum (byte)

Ukuran video maksimum (byte)

Gerakan tangan kiri-kanan 134 81.400 248.000

Gerakan tangan kanan-kiri 140 89.000 238.000

Gerakan tangan atas-bawah 135 89.300 237.000

Gerakan tangan bawah-atas 133 86.000 199.000

Tabel 3.5. Detail Training Dataset Percobaan Kedua

Jenis video Banyak

video

Ukuran video minimum (byte)

Ukuran video maksimum (byte)

Gerakan tangan kiri-kanan 108 81.400 248.000

Gerakan tangan kanan-kiri 112 89.000 238.000

Gerakan tangan atas-bawah 108 89.600 237.000

Gerakan tangan bawah-atas 107 86.000 199.000

Tabel 3.6. Detail Testing Dataset Percobaan Kedua

Jenis video Banyak

video

Ukuran video minimum (byte)

Ukuran video maksimum (byte)

Gerakan tangan kiri-kanan 26 96.400 214.000


(6)

Tabel 3.6. Detail Testing Dataset Percobaan Kedua (lanjutan)

Jenis video Banyak

video

Ukuran video minimum (byte)

Ukuran video maksimum (byte)

Gerakan tangan atas-bawah 27 89.300 226.000

Gerakan tangan bawah-atas 26 88.700 183.000

3.2. Analisis Sistem

Metode yang diajukan penulis untuk pengenalan gerakan tangan manusia terdiri dari beberapa proses. Proses-proses yang akan dilakukan adalah sebagai berikut: pengambilan gerakan tangan manusia menggunakan kamera; pegelompokkan video gerakan tangan sesuai dengan jenis gerakan tangan yang ada; 80% dari setiap kelompok video akan digunakan sebagai training dataset dan 20% sisanya akan digunakan sebagai testing dataset; setiap video gerakan tangan kemudian dipisahkan menjadi beberapa frame gambar; ukuran setiap gambar terlebih dahulu dikecilkan menggunakan algoritma nearest neighbor; proses grayscalling dilakukan untuk setiap gambar; proses frame differencing dilakukan pada setiap gambar dengan gambar pertama sebagai pembeda; empat gambar akan dipilih dari kumpulan gambar yang telah melalui proses frame differencing dan pada keempat gambar tersebut kemudian dilakukan proses PCA; DNN dilatih menggunakan training dataset; DNN yang telah dilatih kemudian diuji menggunakan testing dataset; DNN kemudian dapat digunakan untuk mengenali gerakan tangan manusia; hasil pengenalan gerakan tangan akan diimplementasikan untuk mengendalikan aplikasi file explorer, music player, video player, slideshow dan PDF reader. Arsitektur umum yang mendeskripsikan metodologi pada penelitian ini ditunjukkan pada Gambar 3.1.


(7)

Testing Dataset

Pre Processing

Perkecil ukuran gambar menggunakan Nearest

Neighbour Grayscaling Training Dataset

Deep Neural Network yang sudah dilatih

Hasil pengenalan Deep Neural Network Pengambilan gerakan tangan

melalui kamera

Pisahkan video gerakan tangan yang direkam menjadi beberapa

frame gambar

Frame Differencing

File explorer, music player, video player, slideshow dan

PDF reader Implementation

Principal Component Analysis

Gambar 3.1. Arsitektur Umum

3.2.1. Pemisahan video gerakan tangan menjadi beberapa frame gambar

Sebuah video pada dasarnya terdiri atas beberapa gambar. Dengan demikian, setiap video gerakan tangan yang telah direkam harus dipisahkan terlebih dahulu menjadi beberapa frame gambar sebelum digunakan sebagai input untuk DNN.

3.2.2. Perkecil ukuran gambar menggunakan algoritma neareset neighbor

Ukuran setiap gambar dikecilkan menjadi 50 x 23 menggunakan algoritma nearest neighbor yang telah dibahas pada bagian 2.1. Adapun tujuan dari pengecilan ukuran gambar adalah untuk mengurangi jumlah parameter yang akan digunakan sebagai


(8)

3.2.3. Grayscaling

Setelah ukuran gambar dikecilkan, dilakukan proses grayscaling pada gambar.

Grayscalling adalah proses mengubah citra berwarna menjadi citra keabuan. Piksel gambar yang pada awalnya terdiri atas RGB (Red Green Blue) akan diubah menjadi satu nilai gray melalui proses grayscaling dengan menggunakan persamaan 2.1. Proses grayscaling juga bertujuan untuk mengurangi jumlah parameter yang akan digunakan oleh DNN sehingga dapat mempercepat proses pelatihan.

3.2.4. Frame differencing

Frame differencing akan dilakukan pada setiap frame gambar yang telah melalui setiap proses sebelumnya menggunakan persamaan 2.4. Proses frame differencing

dilakukan untuk setiap gambar dengan gambar pertama sebagai pembeda, dengan tujuan untuk menyederhanakan gambar-gambar yang ada dengan menghilangkan

background yang tidak relevan.

Dari kumpulan gambar yang telah melalui proses frame differencing dipilih empat gambar. Pemilihan empat gambar dilakukan dengan selang gambar sebanyak total gambar yang telah melalui proses frame differencing dibagi dengan lima untuk tiga gambar pertama dan untuk gambar keempat yang dipilih yakni gambar dengan indeks paling akhir dari total gambar yang telah melalui proses frame differencing, dimana gambar pertama yang telah melalui proses frame differencing tidak diambil karena gambar pertama berwarna hitam. Hal ini disebabkan karena gambar yang dilakukan

frame differencing dengan gambar itu sendiri tidak memiliki perbedaan sehingga hasil

frame differencing berwarna hitam sepenuhnya.

3.2.5. Principal Component Analysis (PCA)

Empat gambar frame differencing yang telah dipilih kemudian akan dilakukan proses

PCA sesuai dengan langkah-langkah yang telah dibahas pada bagian 2.4. Proses PCA

diterapkan dengan tujuan untuk mengurangi dimensionalitas (jumlah piksel) dari empat gambar yang dipilih sehingga dapat mempercepat proses pelatihan. Hasil pengurangan dimensionalitas untuk percobaan pertama dengan enam gerakan tangan tangan yaitu dari jumlah piksel sebesar 4600 dikurangi menjadi 523 sedangkan untuk percobaan kedua dengan empat gerakan tangan yaitu dari jumlah piksel 4600 menjadi 365. Setiap parameter operasi yang digunakan PCA pada data pelatihan akan


(9)

disimpan karena pada data pengujian serta data baru akan menggunakan parameter operasi yang sama pada data pelatihan.

3.2.6. Implementasi Deep Neural Network

Training dataset dan testing dataset yang telah melalui seluruh pre-proses akan digunakan untuk melatih dan menguji Deep Neural Network (DNN). DNN yang diimplementasikan merupakan Feed-forward Neural Network dan dilatih menggunakan metode backpropagation. Langkah-langkah yang dilakukan pada metode backpropagation dapat dilihat pada bagian 2.7. Adapun parameter pelatihan yang digunakan untuk DNN pada percobaan dengan enam jenis gerakan tangan pada penelitian ini dapat dilihat pada Tabel 3.7 dan parameter pelatihan untuk percobaan dengan empat jenis gerakan tangan pada penelitian ini dapat dilihat pada Tabel 3.8.

Tabel 3.7. Nilai Parameter DNN pada Percobaan dengan Enam Gerakan Tangan

Parameter Nomor percobaan

1 2 3 4 5

Banyak neuron pada input layer 523 523 523 523 523

Banyak neuron pada output layer 6 6 6 6 6

Banyak hidden layer 2 2 3 3 4

Banyak neuron pada hidden layer pertama 250 300 200 300 300 Banyak neuron pada hidden layer kedua 50 50 100 150 150 Banyak neuron pada hidden layer ketiga - - 50 75 100 Banyak neuron pada hidden layer keempat - - - - 75

Learning rate 0,01 0,01 0,01 0,01 0,01

Momentum rate 0,0 0,0 0,0 0,0 0,0

Maksimum Epoch 1000 1000 1000 1000 1000


(10)

Tabel 3.8. Nilai Parameter DNN pada Percobaan dengan Empat Gerakan Tangan

Parameter Nomor percobaan

1 2 3 4 5

Banyak neuron pada input layer 365 365 365 365 365

Banyak neuron pada output layer 4 4 4 4 4

Banyak hidden layer 2 2 3 3 4

Banyak neuron pada hidden layer pertama 250 300 200 300 300 Banyak neuron pada hidden layer kedua 50 50 100 150 150 Banyak neuron pada hidden layer ketiga - - 50 75 100 Banyak neuron pada hidden layer keempat - - - - 75

Learning rate 0,01 0,01 0,01 0,01 0,01

Momentum rate 0,0 0,0 0,0 0,0 0,0

Maksimum Epoch 100 100 100 100 100

Target error 0,01 0,01 0,01 0,01 0,01

Output yang diharapkan pada pelatihan DNN untuk setiap gerakan tangan pada percobaan dengan enam jenis gerakan tangan dapat dilihat pada Tabel 3.9. Node

pertama pada output layer menunjukkan apakah gerakan tangan merupakan gerakan tangan dari arah kiri ke kanan. Node kedua pada output layer menunjukkan apakah gerakan tangan merupakan gerakan tangan dari arah kanan ke kiri. Node ketiga pada

output layer menunjukkan apakah gerakan tangan merupakan gerakan tangan dari arah atas ke bawah. Node keempat pada output layer menunjukkan apakah gerakan tangan merupakan gerakan tangan dari arah bawah ke atas. Node kelima pada output layer menunjukkan apakah gerakan tangan merupakan gerakan tangan dari arah belakang ke depan. Node keenam pada output layer menunjukkan apakah gerakan tangan merupakan gerakan tangan dari arah depan ke belakang.


(11)

Tabel 3.9. Target Output untuk Setiap Jenis Gerakan Tangan pada Percobaan dengan Enam Gerakan Tangan

Jenis gerakan tangan Node

1 2 3 4 5 6

Gerakan tangan dari kiri ke kanan 1 0 0 0 0 0

Gerakan tangan dari kanan ke kiri 0 1 0 0 0 0

Gerakan tangan dari atas ke bawah 0 0 1 0 0 0

Gerakan tangan dari bawah ke atas 0 0 0 1 0 0

Gerakan tangan dari belakang ke depan 0 0 0 0 1 0 Gerakan tangan dari depan ke belakang 0 0 0 0 0 1

Output yang diharapkan pada pelatihan DNN untuk setiap gerakan tangan pada percobaan dengan empat jenis gerakan tangan dapat dilihat pada Tabel 3.10. Node

pertama pada output layer menunjukkan apakah gerakan tangan merupakan gerakan tangan dari arah kiri ke kanan. Node kedua pada output layer menunjukkan apakah gerakan tangan merupakan gerakan tangan dari arah kanan ke kiri. Node ketiga pada

output layer menunjukkan apakah gerakan tangan merupakan gerakan tangan dari arah atas ke bawah. Node keempat pada output layer menunjukkan apakah gerakan tangan merupakan gerakan tangan dari arah bawah ke atas.

Tabel 3.10. Target Output untuk Setiap Jenis Gerakan Tangan pada Percobaan dengan Empat Gerakan Tangan

Jenis gerakan tangan Node

1 2 3 4

Gerakan tangan dari kiri ke kanan 1 0 0 0

Gerakan tangan dari kanan ke kiri 0 1 0 0

Gerakan tangan dari atas ke bawah 0 0 1 0

Gerakan tangan dari bawah ke atas 0 0 0 1

3.3. Perancangan Sistem

Perancangan sistem pada penelitian ini dibagi menjadi dua bagian yakni perancangan sistem bagian belakang (back-end) dan perancangan sistem bagian depan (front-end).


(12)

3.3.1. Perancangan sistem bagian belakang (back-end)

Perancangan sistem bagian belakang (back-end) pada penelitian ini tidak menggunakan Graphical User Interface (GUI). Perancangan sistem back-end lebih ditujukan kepada pemrogram sistem untuk melakukan pre-proses (pre-processing),

PCA, mengatur parameter untuk pelatihan DNN, serta melakukan pelatihan dan pengujian DNN dalam mengenali gerakan tangan manusia. Kemudian hasil pelatihan

DNN yang telah sesuai akan digunakan pada sistem front-end untuk mengenali gerakan tangan manusia.

3.3.2. Perancangan sistem bagian depan (front-end)

Perancangan sistem bagian depan (front-end) pada penelitian ini menggunakan

Graphical User Interface (GUI). Sistem front-end dirancang untuk membantu pengguna dalam melakukan interaksi manusia-komputer melalui gerakan tangan. Adapun beberapa aplikasi yang dapat digunakan oleh pengguna adalah file explorer,

Windows Media Player untuk file musik, VLC media player untuk file video,

Microsoft Power Point untuk file presentasi dan Acrobat Reader DC untuk PDFfile.

GUI sistem front-end yang dirancang terdiri dari tiga bagian yaitu bagian penjelasan penggunaan aplikasi, bagian panel kamera web, dan bagian keterangan yang menjelaskan bagaimana cara pengendalian aplikasi melalui gerakan tangan.

Bagian penjelasan penggunaan aplikasi akan terbuka pada saat aplikasi dijalankan. Bagian penjelasan penggunaan aplikasi dirancang dengan tujuan agar pengguna dapat mengetahui apa saja yang dapat dilakukan aplikasi pada saat dijalankan. Gambaran rancangan tampilan bagian penjelasan penggunaan aplikasi dapat dilihat pada Gambar 3.2.


(13)

Bagian panel kamera web juga akan terbuka ketika aplikasi dijalankan sehingga dapat menangkap gerakan yang dilakukan oleh pengguna secara langsung. Bagian

panel kamera web dirancang agar pengguna dapat melihat gambar yang ditangkap oleh kamera web secara real-time dan memberi informasi ke pengguna mengenai jenis gerakan tangan yang telah dikenali oleh sistem. Gambar rancangan tampilan panel

kamera web dapat dilihat pada Gambar 3.3.

Gambar 3.3. Rancangan Bagian Panel Kamera Web

Setelah sistem dijalankan dan gerakan tangan dikenali untuk pertama kali, maka bagian penjelasan penggunaan aplikasi akan ditutup dan akan terbuka file explorer

untuk memilih file yang akan dibuka. Pemilihan file dilakukan melalui gerakan tangan. Untuk membantu pengguna dalam mengendalikan aplikasi, maka dirancang bagian keterangan yang menjelaskan bagaimana cara pengendalian aplikasi melalui gerakan tangan. Hal ini dilakukan agar pengguna dapat mengetahui jenis gerakan tangan apa yang harus dilakukan sehingga aplikasi yang sedang terbuka dapat dikendalikan sesuai dengan keinginan pengguna. Bagian keterangan ini akan terbuka ketika terdapat aplikasi file explorer/Windows Media Player/VLC media player/Microsoft Power Point/Acrobat Reader DC terbuka. Bagian keterangan mengenai cara pengendalian aplikasi melalui gerakan tangan akan berbeda isinya sesuai dengan aplikasi yang sedang dibuka. Gambaran rancangan tampilan bagian keterangan mengenai cara pengendalian aplikasi melalui gerakan tangan dapat dilihat pada Gambar 3.4.


(14)

Gambar 3.4. Rancangan Bagian Keterangan mengenai Cara Pengendalian Aplikasi Melalui Gerakan Tangan


(15)

BAB 4

IMPLEMENTASI DAN PENGUJIAN

Bab ini membahas tentang hasil pre-processing, pelatihan (training) dan pengujian (testing) yang diperoleh dari implementasi metode Deep Neural Network (DNN) untuk mengenali gerakan tangan manusia dalam interaksi manusia-komputer dan implementasi DNN yang telah dilatih dalam sistem sesuai dengan analisis dan perancangan yang telah dibahas pada Bab 3.

4.1.Spesifikasi Perangkat Keras dan Perangkat Lunak

Spesifikasi perangkat keras yang digunakan dalam penelitian ini adalah sebagai berikut:

1. Prosesor Intel® Core™ i7-2640M CPU @ 2.80 GHz. 2. Kapasitas harddisk 500 GB.

3. Memori RAM yang digunakan 4 GB DDR3.

4. Kamera web internal 1 MP dengan resolusi 1280 x 720 native HD.

Spesifikasi perangkat lunak yang digunakan dalam penelitian ini adalah sebagai berikut:

1. Sistem operasi yang digunakan adalah Windows 7 Home Premium 64-bit (6.1,

Build 7601).

2. Aplikasi pengolah presentasi yang digunakan adalah Microsoft Office PowerPoint 2010.

3. Aplikasi PDF Reader yang digunakan adalah Acrobat Reader DC versi 2015.016.20045.

4. Aplikasi pemutar musik yang digunakan adalah Windows Media Player versi 12.0.7601.17514


(16)

5. Aplikasi pemutar video yang digunakan adalah VLC media player versi 2.2.4

Weatherwax.

6. Eclipse IDE Mars.2 Release (4.5.2).

7. Library yang digunakan adalah OpenCV 3.1.0, Encog 3.3.0, JavaCV 1.1, dan

OjAlgo 35.0.

4.2.Hasil Pre-processing

Bagian ini dijabarkan hasil yang diperoleh dari pre-processing yang terdiri dari pemisahan video gerakan tangan menjadi beberapa frame gambar, nearest neighbor,

grayscaling, frame differencing, dan Principal Component Analysis (PCA). Hasil dari pemisahan video gerakan tangan menjadi beberapa frame gambar dapat dilihat pada Gambar 4.1. Dapat dilihat bahwa dari sebuah video yang dipisahkan, setiap frame

gambar telah disimpan sebagai gambar dengan nama “frame_” diikuti nomor frame.

Setiap frame gambar disimpan dengan ekstensi .png.

Gambar 4.1. Hasil Pemisahan Video Gerakan Tangan Menjadi Beberapa Frame Gambar

Kemudian hasil dari setiap frame gambar yang dikecilkan ukurannya menggunakan nearest neighbor dapat dilihat pada Gambar 4.2. Dapat dilihat bahwa


(17)

dari setiap frame gambar yang dikecilkan ukurannya, setiap frame gambar telah disimpan sebagai gambar dengan nama “frame_” diikuti nomor frame dan penanda

“_min” yang menunjukkan frame gambar telah dikecilkan. Setiap frame gambar juga disimpan dengan ekstensi .png.

Gambar 4.2. Hasil Proses Nearest Neighbor

Hasil proses grayscaling dari setiap frame gambar yang telah dikecilkan ukurannya dapat dilihat pada Gambar 4.3. Setelah melalui proses grayscaling, setiap

frame gambar disimpan sebagai gambar dengan nama “frame_” diikuti nomor frame

dan penanda “_gray” yang menunjukkan frame gambar telah melalui proses

grayscaling. Setiap frame gambar juga disimpan dengan ekstensi .png.


(18)

Hasil proses frame differencing dari setiap frame gambar yang telah melalui proses grayscaling dengan frame gambar pertama sebagai pembeda dapat dilihat pada Gambar 4.4. Setiap frame gambar yang telah melalui proses frame differencing

disimpan sebagai gambar dengan nama “frame_” diikuti nomor frame dan penanda

“_framediffer” yang menunjukkan frame gambar telah melalui proses frame differencing. Setiap frame gambar juga disimpan dengan ekstensi .png.

Gambar 4.4. Hasil Proses Frame Differencing

Empat frame gambar yang dipilih setelah melalui proses frame differencing dapat dilihat pada Gambar 4.5. Empat gambar yang dipilih ditandai dengan kotak berwarna hijau. Kemudian nilai piksel dari empat gambar yang telah dipilih dimasukkan ke dalam file teks dengan nama “TrainingDataset.txt” untuk dataset pelatihan dan

“TestingDataset.txt” untuk dataset pengujian. File “TrainingDataset.txt” dan

“TestingDataset.txt” kemudian diproses menggunakan PCA untuk menghasilkan file

teks dengan nama “TrainingDatasetPCA.txt” dan “TestingDatasetPCA.txt” yang merupakan dataset dengan jumlah parameter yang dikurangi. Contoh dari isi file

“TrainingDatasetPCA.txt” dapat dilihat pada Gambar 4.6. Contoh dari isi file


(19)

Gambar 4.5. Empat Gambar yang Dipilih Setelah Proses Frame Differencing

Gambar 4.6. Contoh Isi File “TrainingDatasetPCA.txt”

Gambar 4.7. Contoh Isi File “TestingDatasetPCA.txt” 4.3.Hasil Pelatihan Deep Neural Network (DNN)

Pada bagian ini dijabarkan hasil pelatihan yang didapatkan dari Deep Neural Network

menggunakan training dataset. Ada dua percobaan yang dilakukan dalam pelatihan

DNN yaitu percobaan dengan menggunakan enam jenis gerakan tangan dan percobaan dengan menggunakan empat jenis gerakan tangan. Untuk masing-masing percobaan dengan empat dan enam jenis gerakan tangan dilakukan dalam lima kali percobaan


(20)

sesuai dengan parameter pada Bab 3 Tabel 3.7 dan 3.8. Hasil pelatihan DNN untuk kelima percobaan pada percobaan dengan enam jenis gerakan tangan dapat dilihat pada Tabel 4.1. Hasil pelatihan DNN untuk kelima percobaan pada percobaan dengan empat jenis gerakan tangan dapat dilihat pada Tabel 4.2.

Tabel 4.1. Hasil Pelatihan DNN pada Percobaan dengan Enam Gerakan Tangan

Hasil pelatihan Nomor percobaan

1 2 3 4 5

Actual epoch 128 149 182 148 148

Tingkat error 0,00992 0,009915 0,0099 0,009872 0,00972

Hasil tingkat error pelatihan untuk setiap nomor percobaan satu, dua, tiga, empat dan lima pada percobaan dengan enam jenis gerakan tangan seluruhnya lebih rendah dari 0,01. Dapat disimpulkan bahwa DNN mampu mendapatkan tingkat error yang rendah yakni lebih rendah dari 0,01 untuk setiap jumlah hidden layer dan hidden

neuron. Hasil-hasil ini didapatkan dengan nilai parameter learning rate dan

momentum rate yang sama yakni 0,01 dan 0,0. Namun, sampai pada tahap ini masih belum dapat ditentukan jumlah hidden layer dan hidden neuron yang terbaik. Akan tetapi, jumlah hidden layer dan hidden neuron yang lebih sedikit dapat mempercepat proses feed-forward dan backpropagation pada DNN. Representasi grafik dari hasil pelatihan DNN pada kelima percobaan dengan enam jenis gerakan tangan dapat dilihat pada Gambar 4.8.

Tabel 4.2. Hasil Pelatihan DNN pada Percobaan dengan Empat Gerakan Tangan

Hasil pelatihan Nomor percobaan

1 2 3 4 5

Actual epoch 16 17 50 23 56

Tingkat error 0,009 0,00863 0,00999 0,00999 0,00987

Hasil tingkat error pelatihan untuk setiap nomor percobaan dengan empat jenis gerakan tangan juga menunjukkan hasil tingkat error pelatihan yang sama dengan percobaan dengan enam jenis gerakan tangan, yakni lebih rendah dari 0,01 untuk


(21)

setiap jumlah hidden layer dan hidden neuron. Nilai parameter learning rate dan

momentum rate yang digunakan adalah sama yakni 0,01 dan 0,0. Rata-rata actual epoch yang dicapai pada percobaan ini adalah 32,4 sedangkan untuk percobaan dengan enam jenis gerakan tangan mencapai rata-rata actual epoch yang lebih tinggi yakni 151. Hal ini berarti DNN dapat beradaptasi lebih cepat dengan empat jenis gerakan tangan dibandingkan dengan enam jenis gerakan tangan. Representasi grafik dari hasil pelatihan DNN pada kelima percobaan dengan empat jenis gerakan tangan dapat dilihat pada Gambar 4.9. Representasi grafik perbandingan actual epoch pada setiap percobaan untuk empat dan enam jenis gerakan tangan dengan jumlah hidden layer dan hidden neuron yang sama dapat dilihat pada Gambar 4.10.

Gambar 4.8. Grafik Hasil Pelatihan DNN dengan Enam Gerakan Tangan

1 2 3 4 5

Tingkat error 0.00992 0.009915 0.0099 0.009872 0.00972

Hidden layer 2 2 3 3 4

Hidden neuron 1 250 300 200 300 300 Hidden neuron 2 50 50 100 150 150

Hidden neuron 3 50 75 100

Hidden neuron 4 75

0.00992 0.009915 0.0099

0.009872

0.00972 0.0096

0.0097 0.0098 0.0099 0.0100

T

in

g

ka

t

E

rr

o

r

Nomor Percobaan


(22)

Gambar 4.9. Grafik Hasil Pelatihan DNN dengan Empat Gerakan Tangan

Gambar 4.10. Grafik Perbandingan Actual Epoch

1 2 3 4 5

Tingkat error 0.009 0.00863 0.00999 0.00999 0.00987

Hidden layer 2 2 3 3 4

Hidden neuron 1 250 300 200 300 300 Hidden neuron 2 50 50 100 150 150

Hidden neuron 3 50 75 100

Hidden neuron 4 75

0.009

0.00863

0.00999 0.00999

0.00987 0.0080 0.0085 0.0090 0.0095 0.0100 T in g ka t E rr o r Nomor Percobaan

Hasil Pelatihan Empat Gerakan Tangan

1 2 3 4 5

Actual epoch 6 gerakan

tangan 128 149 182 148 148 Actual epoch 4 gerakan

tangan 16 17 50 23 56

128 149

182

148 148

16 17

50 23 56 0 40 80 120 160 200 Ac tu a l E p o ch Nomor Percobaan


(23)

4.4.Hasil Pengujian Deep Neural Network (DNN)

Pada bagian ini dijabarkan hasil pengujian terhadap Deep Neural Network yang telah dilatih. Proses pengujian (testing) menggunakan testing dataset dilakukan untuk mengetahui akurasi DNN dalam mengenali gerakan tangan yang tidak dilatih. Pengujian dilakukan untuk kedua percobaan dengan enam jenis gerakan tangan dan empat jenis gerakan tangan. Pengujian juga dilakukan sebanyak lima kali untuk masing-masing percobaan untuk setiap jumlah hidden layer dan hidden neuron. Hasil pengujian DNN yang telah dilatih untuk kelima percobaan pada percobaan dengan enam jenis gerakan tangan dapat dilihat pada Tabel 4.3. Hasil pengujian DNN yang telah dilatih untuk kelima percobaan pada percobaan dengan empat jenis gerakan tangan dapat dilihat pada Tabel 4.4.

Tabel 4.3. Hasil Pengujian DNN yang Telah Dilatih untuk Enam Jenis Gerakan Tangan

Jenis gerakan tangan Akurasi untuk nomor percobaan

1 2 3 4 5

Kiri – kanan 84,62% 88,46% 88,46% 80,77% 80,77%

Kanan – kiri 85,71% 92,86% 82,14% 92,86% 85,71%

Atas – bawah 70,37% 77,78% 74,07% 74,07% 70,37%

Bawah – atas 76,92% 80,77% 84,62% 80,77% 84,62%

Depan – belakang 40,74% 66,67% 55,56% 55,56% 59,26% Belakang – depan 66,67% 55,56% 59,26% 62,96% 48,15% Tingkat akurasi keseluruhan 70,81% 77,02% 73,91% 74,53% 71,43%

Hasil pengujian untuk enam jenis gerakan tangan menunjukkan bahwa gerakan tangan kanan-kiri merupakan gerakan tangan dengan akurasi pengenalan tertinggi untuk percobaan satu dengan dua layer, percobaan dua dengan dua layer, percobaan empat dengan tiga layer dan percobaan lima dengan empat layer. Akurasi pengenalan tertinggi untuk percobaan tiga adalah gerakan tangan kiri-kanan. Adapun alasan kenapa gerakan tangan atas-bawah, bawah-atas, depan-belakang dan belakang-depan


(24)

mendapatkan akurasi yang cukup rendah adalah karena dari pengujian yang dilakukan gerakan tangan depan-belakang dan belakang-depan sering salah dikenali sebagai gerakan tangan atas-bawah dan bawah-atas serta sebaliknya.

Secara keseluruhan hasil paling optimal untuk percobaan dengan enam jenis gerakan tangan adalah hasil akurasi percobaan dua dengan dua hidden layer dan masing-masing hidden neuron sebanyak 300 dan 50, dengan tingkat akurasi keseluruhan sebesar 77,02%. Hasil kedua paling baik pada percobaan ini adalah percobaan empat dengan tiga hidden layer dan jumlah masing-masing hidden neuron sebanyak 300, 150 dan 75, dengan tingkat akurasi keseluruhan sebesar 74,53%. Adapun alasan kenapa hasil percobaan yang lain mendapatkan nilai yang lebih rendah dibandingkan dengan kedua percobaan ini adalah jumlah hidden layer dan hidden

neuron yang terlalu sedikit ataupun terlalu banyak akan menyebabkan DNN hanya mampu mengenali data yang telah dilatih (training dataset) dan tidak mampu mengenali data yang belum pernah dilatih (testing dataset). Representasi grafik hasil pengujian DNN yang telah dilatih untuk percobaan dengan enam jenis gerakan dapat dilihat pada Gambar 4.11.

Gambar 4.11. Grafik Hasil Pengujian DNN yang Telah Dilatih untuk Enam Jenis Gerakan Tangan 40.00 50.00 60.00 70.00 80.00 90.00 100.00

1 2 3 4 5

T in g ka t Aku ra si ( %) Nomor Percobaan

Hasil Pengujian Enam Gerakan Tangan

Tingkat akurasi gerakan tangan kiri-kanan Tingkat akurasi gerakan tangan kanan-kiri Tingkat akurasi gerakan atas-bawah

Tingkat akurasi gerakan tangan bawah-atas Tingkat akurasi gerakan tangan belakang-depan Tingkat akurasi gerakan tangan depan-belakang Tingkat akurasi


(25)

Tabel 4.4. Hasil Pengujian DNN yang Telah Dilatih untuk Empat Jenis Gerakan Tangan

Jenis gerakan tangan Akurasi untuk nomor percobaan

1 2 3 4 5

Kiri – kanan 88,46% 92,31% 92,31% 84,62% 84,62%

Kanan – kiri 96,43% 96,43% 92,86% 92,86% 96,43%

Atas – bawah 85,19% 81,48% 81,48% 85,19% 81,48%

Bawah – atas 88,46% 84,62% 88,46% 80,77% 76,92%

Tingkat akurasi keseluruhan 89,72% 88,79% 88,79% 85,98% 85,05%

Hasil pengujian untuk empat jenis gerakan tangan menunjukkan bahwa terdapat kesamaan dengan percobaan untuk enam jenis gerakan tangan yaitu gerakan tangan kanan-kiri merupakan gerakan tangan dengan akurasi pengenalan yang terbaik untuk setiap nomor percobaan, diikuti dengan gerakan tangan kiri-kanan, atas-bawah dan bawah-atas. Dengan mengurangi gerakan tangan depan-belakang dan belakang-depan dari percobaan, akurasi pengenalan gerakan tangan atas-bawah dan bawah-atas pada percobaan ini jauh lebih tinggi dibandingkan dengan percobaan dengan enam jenis gerakan tangan. Hal ini disebabkan karena gerakan tangan atas-bawah dan bawah-atas tidak lagi dikenali sebagai gerakan tangan depan-belakang dan belakang-depan.

Secara keseluruhan, hasil pengenalan terbaik untuk pengujian DNN yang telah dilatih untuk empat jenis gerakan tangan adalah pada percobaan satu dengan dua

hidden layer dan jumlah hidden neuron masing-masing 200 dan 50. Hasil pengujian ini mendapatkan akurasi sebesar 89,72%. Pada percobaan dengan empat jenis gerakan tangan dapat dilihat bahwa semakin banyak hidden layer dan hidden neuron, hasil tingkat akurasi keseluruhan semakin menurun. Dengan demikian, dapat disimpulkan bahwa jumlah hidden layer dua merupakan jumlah yang optimal dan jumlah hidden layer yang lebih banyak akan menyebabkan overfit dimana DNN hanya mampu mengenali data yang telah dilatih, tetapi tidak mampu mengenali data yang belum pernah dilihat ataupun dilatih sebelumnya. Representasi grafik hasil pengujian DNN

yang telah dilatih untuk percobaan dengan empat jenis gerakan dapat dilihat pada Gambar 4.12.


(26)

Gambar 4.12. Grafik Hasil Pengujian DNN yang Telah Dilatih untuk Empat Jenis Gerakan Tangan

Secara umum, hasil akurasi pengujian percobaan dengan empat jenis gerakan tangan jauh lebih baik dari hasil pengujian percobaan dengan enam jenis gerakan tangan. Salah satu alasan kenapa hasil pengujian percobaan dengan empat jenis gerakan tangan mendapatkan hasil yang lebih baik adalah parameter input untuk percobaan ini jauh lebih sedikit dibandingkan parameter input untuk percobaan dengan enam jenis gerakan tangan, sehingga DNN dengan jumlah hidden layer dan

hidden neuron yang tepat dapat lebih mudah beradaptasi dengan data pelatihan. Dari kedua percobaan, hasil yang terbaik didapatkan pada percobaan satu untuk empat jenis gerakan tangan dengan jumlah hidden layer dua dan hidden neuron sebanyak 200 dan 50 dengan akurasi keseluruhan 89,72%. Parameter dan hasil DNN yang didapatkan dari percobaan ini kemudian diimplementasikan ke dalam sistem front-end untuk mengendalikan beberapa aplikasi melalui gerakan tangan.

70.00 75.00 80.00 85.00 90.00 95.00 100.00

1 2 3 4 5

T in g ka t Aku ra si ( %) Nomor Percobaan

Hasil Pengujian Empat Gerakan Tangan

Tingkat akurasi gerakan tangan kiri-kanan Tingkat akurasi gerakan tangan kanan-kiri Tingkat akurasi gerakan atas-bawah

Tingkat akurasi gerakan tangan bawah-atas Tingkat akurasi keseluruhan


(27)

4.5.Implementasi Sistem Bagian Depan (Front-End)

Pada bagian ini dijabarkan tampilan serta prosedur operasional dari antarmuka front-end yang telah dibangun.

4.5.1. Tampilan antarmuka

Antarmuka front-end dalam penelitian ini dibangun berdasarkan rancangan yang telah dijabarkan pada Bab 3 yaitu:

1. Tampilan bagian penjelasan penggunaan aplikasi

Bagian penjelasan penggunaan aplikasi merupakan bagian yang pertama kali ditampilkan ketika sistem front-end dijalankan. Bagian ini dibangun untuk memberikan informasi kepada pengguna (user) tentang sistem front-end yang telah dibangun. Tampilan bagian penjelasan penggunaan aplikasi dapat dilihat pada Gambar 4.13.

Gambar 4.13. Tampilan Bagian Penjelasan Penggunaan Aplikasi

2. Tampilan bagian panel kamera web

Bagian panel kamera web juga merupakan bagian yang pertama kali ditampilkan ketika sistem front-end dijalankan. Bagian panel ini dibangun agar pengguna dapat melihat gerakan tangan yang telah dilakukan apakah berhasil dikenali oleh sistem atau tidak. Tampilan bagian panel kamera web dapat dilihat pada Gambar 4.14.


(28)

Gambar 4.14. Tampilan Bagian Panel Kamera Web

3. Tampilan bagian keterangan mengenai cara pengendalian aplikasi melalui gerakan tangan

Bagian keterangan mengenai cara pengendalian aplikasi melalui gerakan tangan ditampilkan apabila terdapat salah satu dari aplikasi file explorer,

Windows Media Player, VLC media player, Microsoft Power Point atau

Acrobat Reader DC yang terbuka. Bagian ini dibangun untuk membantu pengguna dalam mengendalikan aplikasi. Tampilan bagian keterangan mengenai cara pengendalian aplikasi melalui gerakan tangan dapat dilihat pada Gambar 4.15.

Gambar 4.15. Tampilan Bagian Keterangan mengenai Cara Pengendalian Aplikasi Melalui Gerakan Tangan


(29)

4.5.2. Prosedur operasional

Saat sistem front-end dijalankan untuk pertama kali, ditampilkan bagian penjelasan penggunaan aplikasi dan bagian panel kamera web. Hal ini dapat dilihat pada Gambar 4.16.

Gambar 4.16. Tampilan Pertama Kali Sistem Front-End Dijalankan

Kemudian untuk melanjutkan penggunaan aplikasi, pengguna harus melakukan salah satu gerakan tangan dari empat jenis gerakan tangan yakni gerakan tangan kiri-kanan, kanan-kiri, atas-bawah atau bawah-atas. Setelah gerakan tangan untuk pertama kali dikenali maka file explorer akan terbuka. Rincian prosedur untuk mengendalikan

file explorer menggunakan gerakan tangan dalam menggantikan fungsi mouse atau

keyboard dapat dilihat pada Tabel 4.5.

Tabel 4.5. Fungsi Gerakan Tangan pada Aplikasi File Explorer No. Jenis gerakan tangan Fungsi

1 Kanan – kiri Menuju direktori sebelumnya 2 Kiri – kanan Membuka file atau direktori 3 Atas – bawah Gerakan ke bawah


(30)

Tampilan pada saat file explorer dibuka dan dikendalikan oleh pengguna dapat dilihat pada Gambar 4.17. Dapat dilihat bahwa pada bagian tengah terdapat file explorer yang sedang terbuka, pada bagian kanan atas terdapat keterangan untuk mengendalikan file explorer dan pada bagian kanan bawah terdapat panel kamera web.

Gambar 4.17. Tampilan Saat File Explorer Dijalankan

Setelah file explorer dibuka, terdapat beberapa jenis ekstensi file yang dapat dibuka pada file explorer yakni sebagai berikut:

1. File musik dengan ekstensi .mp3

Jenis file musik pada penelitian ini dibuka menggunakan aplikasi Windows Media Player. Rincian prosedur untuk mengendalikan Windows Media Player

menggunakan gerakan tangan dapat dilihat pada Tabel 4.6.

Tabel 4.6. Fungsi Gerakan Tangan pada Aplikasi Windows Media Player No. Jenis gerakan tangan Fungsi

1 Kanan – kiri Menurunkan volume

2 Kiri – kanan Menaikkan volume

3 Atas – bawah Play atau pause

4 Bawah – atas - Stop (ketika musik sedang dimainkan atau paused)

- Menutup aplikasi (ketika musik sedang berhenti/stop)


(31)

Tampilan pada saat Windows Media Player dibuka dan dikendalikan oleh pengguna dapat dilihat pada Gambar 4.18. Dapat dilihat bahwa pada bagian kiri atas terdapat Windows Media Player yang sedang terbuka, pada bagian kanan atas terdapat keterangan untuk mengendalikan Windows Media Player dan pada bagian kanan bawah terdapat panel kamera web.

Gambar 4.18. Tampilan Saat Windows Media Player Dijalankan

2. File video dengan ekstensi .avi, .flv, .mkv, .wmv, .mp4

Jenis file video pada penelitian ini dibuka menggunakan aplikasi VLC media player. Rincian jenis gerakan tangan yang harus dilakukan untuk mengendalikan

VLC media player dapat dilihat pada Tabel 4.7.

Tabel 4.7. Fungsi Gerakan Tangan pada Aplikasi VLC Media Player No. Jenis gerakan tangan Fungsi

1 Kanan – kiri Menurunkan volume

2 Kiri – kanan Menaikkan volume

3 Atas – bawah Play atau pause

4 Bawah – atas - Stop (ketika video sedang dimainkan atau paused)

- Menutup aplikasi (ketika video sedang berhenti/stop)


(32)

Tampilan pada saat VLC media player dibuka dan dikendalikan oleh pengguna dapat dilihat pada Gambar 4.19. Dapat dilihat bahwa terdapat VLC media player

yang sedang terbuka, pada bagian kanan atas terdapat keterangan untuk mengendalikan VLC media player dan pada bagian kanan bawah terdapat panel

kamera web.

Gambar 4.19. Tampilan Saat VLC Media Player Dijalankan

3. File presentasi dengan ekstensi .ppt dan .pptx

File presentasi pada penelitian ini dibuka menggunakan aplikasi Microsoft Power Point. Rincian jenis gerakan tangan yang harus dilakukan untuk mengendalikan

Microsoft Power Point dapat dilihat pada Tabel 4.8.

Tabel 4.8. Fungsi Gerakan Tangan pada Aplikasi Microsoft Power Point No. Jenis gerakan tangan Fungsi

1 Kanan – kiri Menuju slide sebelumnya 2 Kiri – kanan Menuju slide selanjutnya

3 Atas – bawah Slide show

4 Bawah – atas - End show (ketika slide show)

- Menutup aplikasi (ketika


(33)

Tampilan pada saat Microsoft Power Point dibuka dan dikendalikan oleh pengguna dapat dilihat pada Gambar 4.20. Dapat dilihat bahwa terdapat Microsoft Power Point yang sedang terbuka, pada bagian kanan atas terdapat keterangan untuk mengendalikan Microsoft Power Point dan pada bagian kanan bawah terdapat panel kamera web.

Gambar 4.20. Tampilan Saat Microsoft Power Point Dijalankan

4. File dokumen dengan ekstensi .pdf

File PDF pada penelitian ini dibuka menggunakan aplikasi Acrobat Reader DC. Rincian prosedur untuk mengendalikan Acrobat Reader DC menggunakan gerakan tangan dapat dilihat pada Tabel 4.9.

Tabel 4.9. Fungsi Gerakan Tangan pada Aplikasi Acrobat Reader DC No. Jenis gerakan tangan Fungsi

1 Kanan – kiri Menutup aplikasi 2 Kiri – kanan Zoom in atau zoom out

3 Atas – bawah Scroll ke bawah 4 Bawah – atas Scroll ke atas

Tampilan pada saat Acrobat Reader DC dibuka dan dikendalikan oleh pengguna dapat dilihat pada Gambar 4.21. Dapat dilihat bahwa pada bagian kiri terdapat


(34)

keterangan untuk mengendalikan Acrobat Reader DC dan pada bagian kanan bawah terdapat panel kamera web.


(35)

BAB 5

KESIMPULAN DAN SARAN

Bab ini membahas tentang kesimpulan dari penerapan metode yang diajukan untuk mengenali gerakan tangan manusia dalam interaksi manusia-komputer dan saran untuk pengembangan yang dapat dilakukan pada penelitian selanjutnya.

5.1. Kesimpulan

Berdasarkan penerapan metode dari arsitektur umum yang dirancang untuk mengenali gerakan tangan manusia dalam interaksi manusia-komputer, didapatkan beberapa kesimpulan yakni:

1. Metode yang diajukan mampu mengenali gerakan tangan manusia untuk interaksi manusia-komputer dengan kondisi tangan tidak memegang benda apapun.

2. Tingkat akurasi pengujian tertinggi pada percobaan dengan enam jenis gerakan tangan didapatkan pada percobaan dua dengan jumlah hidden layer sebanyak dua dan jumlah hidden neuron masing-masing sebanyak 300 dan 50 yaitu sebesar 77,02%.

3. Tingkat akurasi pengujian tertinggi pada percobaan dengan empat jenis gerakan tangan didapatkan pada percobaan satu dengan jumlah hidden layer sebanyak dua dan jumlah hidden neuron masing-masing sebanyak 250 dan 50 yaitu sebesar 89,72%.

4. Tingkat akurasi pengujian dipengaruhi oleh jumlah hidden layer, jumlah hidden neuron dan banyak jenis gerakan tangan yang dilatih.

5. Sistem front-end pada penelitian ini mengimplementasikan DNN yang telah dilatih dengan hasil terbaik, yakni DNN pada percobaan satu dalam percobaan dengan empat jenis gerakan tangan.


(36)

6. Sistem front-end yang telah dibangun dapat mengendalikan beberapa aplikasi yakni file explorer untuk memilih file, Windows Media Player untuk file musik, VLC media player untuk file video, Microsoft Power Point untuk file presentasi dan Acrobat Reader DC untuk file PDF.

5.2.Saran

Saran yang dapat penulis berikan untuk pengembangan selanjutnya adalah sebagai berikut:

1. Penerapan dan penambahan teknik image processing lain dalam memproses video menjadi gambar dan kemudian menjadi parameter input yang digunakan sebagai dataset untuk melatih dan menguji DNN sehingga parameter input dapat merepresentasikan data video dengan lebih baik.

2. Penerapan metode machine learning yang lain seperti Deep Belief Network (DBN), Convolutional Neural Network (CNN) ataupun Recurrent Neural Network (RNN) untuk dibandingkan dengan DNN sehingga dapat digunakan metode yang paling cocok dalam mengenali gerakan tangan manusia.

3. Menambahkan aplikasi yang dapat dikendalikan oleh sistem front-end dan jenis gerakan tangan yang dapat dikenali sehingga dapat membantu tunadaksa yang mengalami disabilitas (cacat) pada pergelangan tangan sampai ujung jari tangan untuk mengendalikan lebih banyak aplikasi dengan lebih banyak variasi gerakan tangan.


(37)

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.

Gambar 2.1. Nilai-Nilai Piksel Gambar Awal (Malepati, 2010) 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


(38)

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 =

1dan y = 1 yang menghasilkan Piksely = 1disesuaikan 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


(39)

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

4dan y = 8 yang menghasilkan Piksely = 4disesuaikan 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 channelred, 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 redchannel pada piksel

G = nilai greenchannel pada sebuah piksel B = nilai bluechannel 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)

Negative Differential:


(40)

Fully Differential:

Dk = (2.4)

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 framedifferencing 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


(41)

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:

A i i A v v  

' (2.5) Setelah melalui proses ini, dataset akan memiliki nilai mean atau rata-rata nol. 2. Cari matriks kovarian menggunakan rumus:

X X m

T 1

 (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.


(42)

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.

99 , 0 1 1 

  m i k i i Si S (2.7)

Si adalah eigenvalue pada posisi ke-i. Seluruh nilai dari eigenvector yang dipilih

kemudian disusun sebagai kolom sebuah matriks vektor fitur U. 6. Hasil datasetPCA dihasilkan menggunakan rumus:

X U

ZT (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


(43)

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


(44)

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

Linearactivation 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


(45)

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.


(46)

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.

    i i F F 4 , 2 , 4 , 2 (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


(47)

    

n i ij i

j p sigmoid x p w p

y 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 i jk jk

k p sigmoid x p w p

y 1 ) ( ). ( )

( (2.11) Dimana: m = banyak input dari neuron k pada outputlayer

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.

) ( ) ( )

(p yk p ydk p

k  

 (2.12) Kemudian perbaikan bobot dihitung menggunakan persamaan 2.13.

) 1 ( . ) ( ). ( . ) (    

wjk pyj pk pwjk p (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. ) ( ) ( ) 1

(p w p w p

wjk   jk  jk (2.14)

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

1 ( )

). ( . ) ( ). ( ) ( 1 p y p y p w p

p j j

m

k

jk k

j  

 

 


(48)

Kemudian perbaikan bobot dihitung menggunakan persamaan 2.16. ) 1 ( . ) ( ). ( . ) (    

wij pxi pj pwij p (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. ) ( ) ( ) 1

(p w p w p

wij   ij  ij (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

real-time 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 (

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


(49)

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,

Hs-CbCr (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,


(50)

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. Peneliti Tahun Metode Keterangan

1 Neto, et al. 2013 Artificial Neural

Network (ANN) 

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% 2 Tang, et al. 2013 Pendeteksian

tangan:

Color skin model

dan depth model

Pelacakan tangan:

Kalman

Pengenalan postur tangan:

DBN dan CNN

 Pengenalan postur tangan secara real time

 Akurasi:

DBN: 98,063%

CNN: 93,995%

 Waktu pengenalan rata-rata:

DBN: 0,000899 detik

CNN: 0,001165 detik

 Metode deteksi tangan bergantung pada data warna dan kedalaman 3 Ramjan, et al. 2014 Ekstrasi fitur:

Blob detection

Pengenalan:

Template/pattern matching

 Pengenalan gerakan tangan dinamis

Fungsi: interaksi untuk penambahan tulisan baru, pengontrolan media dan operasi pada

PC


(1)

vi

HAND GESTURE RECOGNITION USING DEEP NEURAL NETWORK

ABSTRACT

Interaction between human and computer is generally performed using a keyboard and mouse. However, these interactions have certain drawbacks which are they cannot be done by user with physical disabilities or user who experience disability from the wrist to the fingertip. To overcome this problem, an approach to recognize human hand gesture as a means of human-computer interaction is needed. The method proposed by the author is the use of algorithms: nearest neighbor, grayscaling, frame-differencing, Principal Component Analysis (PCA) and Deep Neural Network (DNN). This research was conducted in two experiments, which are experiment with six different types of hand gestures and experiments with four different types of hand gestures. Each experiment is performed five times with different value of number of hidden layers parameter and hidden neurons parameter. The best testing result obtained from the experiment with six kinds of hand gestures is from the second experiment with two hidden layers using 300 and 50 hidden neurons for each layer, resulting in an accuracy rate of 77.02%. The best testing result obtained from the experiment with four different types of hand gesture is from the first experiment with two hidden layers using 300 and 50 hidden neurons for each layer, resulting in an accuracy rate of 89.72%. The best overall result is then implemented into the front-end system for controlling application such as: file explorer, music player, video player, slideshows and PDF reader.

Keywords: hand gesture recognition, Human Computer Interaction, Principal Component Analysis, Deep Neural Network


(2)

DAFTAR ISI

Hal.

PERSETUJUAN ii

PERNYATAAN iii

UCAPAN TERIMA KASIH iv

ABSTRAK v

ABSTRACT vi

DAFTAR ISI vii

DAFTAR TABEL ix

DAFTAR GAMBAR x

BAB 1 PENDAHULUAN 1

1.1. Latar Belakang 1

1.2. Rumusan Masalah 3

1.3. Tujuan Penelitian 3

1.4. Batasan Masalah 3

1.5. Manfaat Penelitian 4

1.6. Metodologi Penelitian 4

1.7. Sistematika Penulisan 5

BAB 2 LANDASAN TEORI 7

2.1. Nearest Neighbor 7

2.2. Grayscaling 9

2.3. Frame Differencing 9

2.4. Principal Component Analysis 11

2.5. Artificial Neural Network 12

2.6. Deep Neural Network 14

2.7. Backpropagation 16


(3)

viii

BAB 3 ANALISIS DAN PERANCANGAN SISTEM 23

3.1. Dataset 23

3.2. Analisis Sistem 26

3.2.1. Pemisahan video gerakan tangan menjadi beberapa frame

gambar 27

3.2.2. Perkecil ukuran gambar menggunakan algoritma nearest

neighbor 27

3.2.3. Grayscaling 28

3.2.4. Frame differencing 28

3.2.5. Principal Component Analysis (PCA) 28

3.2.6. Implementasi Deep Neural Network 29

3.3. Perancangan Sistem 31

3.3.1. Perancangan sistem bagian belakang (back-end) 32 3.3.2. Perancangan sistem bagian depan (front-end) 32

BAB 4 IMPLEMENTASI DAN PENGUJIAN 35

4.1. Spesifikasi Perangkat Keras dan Perangkat Lunak 35

4.2. Hasil Pre-processing 36

4.3. Hasil Pelatihan Deep Neural Network (DNN) 39 4.4. Hasil Pengujian Deep Neural Network (DNN) 43 4.5. Implementasi Sistem Bagian Depan (Front-End) 47

4.5.1. Tampilan antarmuka 47

4.5.2. Prosedur operasional 49

BAB 5 KESIMPULAN DAN SARAN 55

5.1. Kesimpulan 55

5.2. Saran 56


(4)

DAFTAR TABEL

Hal. Tabel 2.1. Penelitian Terdahulu 20 Tabel 3.1. Detail Video Data Penelitian Percobaan Pertama 24 Tabel 3.2. Detail Training Dataset Percobaan Pertama 24 Tabel 3.3. Detail Testing Dataset Percobaan Pertama 24 Tabel 3.4. Detail Video Data Penelitian Percobaan Kedua 25 Tabel 3.5. Detail Training Dataset Percobaan Kedua 25 Tabel 3.6. Detail Testing Dataset Percobaan Kedua 25 Tabel 3.7. Nilai Parameter DNN pada Percobaan dengan Enam Gerakan Tangan 29 Tabel 3.8. Nilai Parameter DNN pada Percobaan dengan Empat Gerakan

Tangan 30 Tabel 3.9. Target Output untuk Setiap Jenis Gerakan Tangan pada Percobaan

dengan Enam Gerakan Tangan 31 Tabel 3.10. Target Output untuk Setiap Jenis Gerakan Tangan pada Percobaan

dengan Empat Gerakan Tangan 31 Tabel 4.1. Hasil Pelatihan DNN pada Percobaan dengan Enam Gerakan Tangan 40 Tabel 4.2. Hasil Pelatihan DNN pada Percobaan dengan Empat Gerakan Tangan 40 Tabel 4.3. Hasil Pengujian DNN yang Telah Dilatih untuk Enam Jenis Gerakan

Tangan 43

Tabel 4.4. Hasil Pengujian DNN yang Telah Dilatih untuk Empat Jenis Gerakan

Tangan 45

Tabel 4.5. Fungsi Gerakan Tangan pada Aplikasi File Explorer 49 Tabel 4.6. Fungsi Gerakan Tangan pada Aplikasi Windows Media Player 50 Tabel 4.7. Fungsi Gerakan Tangan pada Aplikasi VLC Media Player 51 Tabel 4.8. Fungsi Gerakan Tangan pada Aplikasi Microsoft Power Point 52 Tabel 4.9. Fungsi Gerakan Tangan pada Aplikasi Acrobat Reader DC 53


(5)

DAFTAR GAMBAR

Hal. Gambar 2.1. Nilai-Nilai Piksel Gambar Awal (Malepati, 2010) 7 Gambar 2.2. Nilai Piksel Setelah Gambar Diperbesar (Malepati, 2010) 8 Gambar 2.3. Arsitektur Umum Sebuah Jaringan Saraf Tiruan

(Negnevitsky, 2005) 13

Gambar 2.4. Fungsi Aktivasi Neuron (Negnevitsky, 2005) 14 Gambar 2.5. Arsitektur Multilayer Perceptron dengan Dua Hidden Layer

(Negnevitsky, 2005) 15

Gambar 3.1. Arsitektur Umum 27

Gambar 3.2. Rancangan Bagian Penjelasan Penggunaan Aplikasi 32 Gambar 3.3. Rancangan Bagian Panel Kamera Web 33 Gambar 3.4. Rancangan Bagian Keterangan mengenai Cara Pengendalian

Aplikasi Melalui Gerakan Tangan 34

Gambar 4.1. Hasil Pemisahan Video Gerakan Tangan Menjadi Beberapa Frame

Gambar 36

Gambar 4.2. Hasil Proses Nearest Neighbor 37

Gambar 4.3. Hasil Proses Grayscaling 37

Gambar 4.4. Hasil Proses Frame Differencing 38

Gambar 4.5. Empat Gambar yang Dipilih Setelah Proses Frame Differencing 39 Gambar 4.6. Contoh Isi File “TrainingDatasetPCA.txt” 39 Gambar 4.7. Contoh Isi File “TestingDatasetPCA.txt” 39 Gambar 4.8. Grafik Hasil Pelatihan DNN dengan Enam Gerakan Tangan 41 Gambar 4.9. Grafik Hasil Pelatihan DNN dengan Empat Gerakan Tangan 42 Gambar 4.10. Grafik Perbandingan Actual Ecpoch 42 Gambar 4.11. Grafik Hasil Pengujian DNN yang Telah Dilatih untuk Enam Jenis

Gerakan Tangan 44

Gambar 4.12. Grafik Hasil Pengujian DNN yang Telah Dilatih untuk Empat Jenis

Gerakan Tangan 46


(6)

xi

Gambar 4.14. Tampilan Bagian Panel Kamera Web 48 Gambar 4.15. Tampilan Bagian Keterangan mengenai Cara Pengendalian Aplikasi

Melalui Gerakan Tangan 48

Gambar 4.16. Tampilan Pertama Kali Sistem Front-End Dijalankan 49 Gambar 4.17. Tampilan Saat File Explorer Dijalankan 50 Gambar 4.18. Tampilan Saat Windows Media Player Dijalankan 51 Gambar 4.19. Tampilan Saat VLC Media Player Dijalankan 52 Gambar 4.20. Tampilan Saat Microsoft Power Point Dijalankan 53 Gambar 4.21. Tampilan Saat Acrobat Reader DC Dijalankan 54