• Tidak ada hasil yang ditemukan

Pengenalan Gerakan Tangan Manusia Menggunakan Deep Neural Network

N/A
N/A
Protected

Academic year: 2017

Membagikan "Pengenalan Gerakan Tangan Manusia Menggunakan Deep Neural Network"

Copied!
72
0
0

Teks penuh

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

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

(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

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

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

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

(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

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

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

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

(7)

Testing Dataset

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

(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

(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

(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

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

(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

(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

(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

(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

(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

Hasil Pelatihan Empat Gerakan Tangan

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

(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

Hasil Pengujian Enam Gerakan Tangan

(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

(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

Hasil Pengujian Empat Gerakan Tangan

(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

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

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

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

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

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

(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

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

Setelah melalui proses ini, dataset akan memiliki nilai mean atau rata-rata nol.

2. Cari matriks kovarian menggunakan rumus:

X X

, 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

(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

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

(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

(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

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



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)



Dimana: n = banyak input dari neuron j pada hidden layer

sigmoid = fungsi aktivasi sigmoid

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.

) Kemudian perbaikan bobot dihitung menggunakan persamaan 2.13.

)

algoritma propagasi balik (learning rate)

µ = konstanta yang menentukan besar perubahan update dari bobot

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

(48)

Kemudian perbaikan bobot dihitung menggunakan persamaan 2.16. algoritma propagasi balik (learning rate)

µ = konstanta yang menentukan besar perubahan update dari

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

(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

(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

(51)

Tabel 2.1. Penelitian Terdahulu (lanjutan)

No. Peneliti Tahun Metode Keterangan

cukup lama terutama

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,

(52)

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

Gambar

Tabel 3.8. Nilai Parameter DNN pada Percobaan dengan Empat Gerakan
Gambar 3.3. Rancangan Bagian Panel Kamera Web
Gambar 4.1. Hasil Pemisahan Video Gerakan Tangan Menjadi Beberapa Frame
Gambar 4.3. Hasil Proses Grayscaling
+7

Referensi

Dokumen terkait

Beberapa kesalahan yang sering terjadi dalam proses pengenalan gerakan ini, yaitu ketika sistem tidak dapat mendefinisikan warna kulit akibat pencahayaan yang redup

Gerakan yang dilakukan oleh lengan robot tersebut dirancang untuk meniru gerakan tangan manusia atau user yang mengendalikannya dengan menggunakan flex sensor sebagai

Langkah-langkah yang dimakiud adalah iebagai berikut : pengambilan citra atau gambar (image acquisition) melalui kamera web; resizing citra; konverii ruang warna RGB ke

Adapun berbagai tantangan yang dihadapi dalam mengenali gerakan tangan manusia yaitu mencakup permasalahan kondisi iluminasi yang bervariasi, rotasi tangan, latar belakang

Pada penelitian ini, penulis akan menerapkan sistem pengenalan pergerakan tangan manusia sebagai alat interaksi manusia dan komputer untuk mengendalikan berbagai aplikasi,

Dalam proses akusisi citra tidak dibatasi oleh resolusi kamera yang ada pada smartphone. Citra yang akan diambil merupakan hasil deteksi pola plat menggunakan

Dalam proses akusisi citra tidak dibatasi oleh resolusi kamera yang ada pada smartphone. Citra yang akan diambil merupakan hasil deteksi pola plat menggunakan

Pada tugas akhir ini akan dibuat sebuah sistem pengenalan telapak tangan mata dengan masukan citra telapak tangan menggunakan kamera kemudian diekstraksi ciri