SKRIPSI
EKA PRATIWI GOENFI
121402057
PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
PENGENALAN GERAKAN TANGAN MANUSIA MENGGUNAKAN DEEP NEURAL NETWORK
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi
EKA PRATIWI GOENFI 121402057
PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : PENGENALAN GERAKAN TANGAN MANUSIA
MENGGUNAKAN DEEP NEURAL NETWORK
Kategori : SKRIPSI
Nama : EKA PRATIWI GOENFI
Nomor Induk Mahasiswa : 121402057
Program Studi : S1 TEKNOLOGI INFORMASI
Departemen : TEKNOLOGI INFORMASI
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI UNIVERSITAS SUMATERA UTARA
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Prof. Dr. Opim Salim Sitompul, M.Sc Romi Fadillah Rahmat, B.Comp.Sc., M.Sc
NIP. 19610817 198701 1 001 NIP. 19860303 201012 1 004
Diketahui/disetujui oleh
Program Studi S1 Teknologi Informasi
Ketua,
Muhammad Anggia Muchtar, ST., MM.IT
iii
PERNYATAAN
PENGENALAN GERAKAN TANGAN MANUSIA
MENGGUNAKAN DEEP NEURAL NETWORK
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa
kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, 28 Juli 2016
Eka Pratiwi Goenfi
UCAPAN TERIMA KASIH
Puji dan syukur penulis sampaikan ke hadirat Tuhan Yang Maha Esa yang telah
memberikan rahmat serta restu-Nya sehingga penulis dapat menyelesaikan skripsi ini
sebagai syarat untuk memperoleh gelar Sarjana Teknologi Informasi.
Pertama, penulis ingin mengucapkan terima kasih kepada Bapak Romi Fadillah
Rahmat, B.Comp.Sc., M.Sc selaku pembimbing pertama dan Bapak Prof. Dr. Opim
Salim Sitompul, M.Sc selaku pembimbing kedua yang telah meluangkan waktu dan
tenaganya untuk membimbing penulis dalam penelitian serta penulisan skripsi ini.
Tanpa inspirasi serta motivasi yang diberikan dari kedua pembimbing, tentunya
penulis tidak akan dapat menyelesaikan skripsi ini. Penulis juga mengucapkan terima
kasih kepada Ibu Amalia, ST., M.T sebagai dosen pembanding pertama dan Ibu Ulfi
Andayani, S.Kom, M.Kom sebagai dosen pembanding kedua yang telah memberikan
masukan serta kritik yang bermanfaat dalam penulisan skripsi ini. Ucapan terima
kasih juga ditujukan kepada Ketua dan Sekretaris Program Studi Teknologi Informasi,
Dekan dan Wakil Dekan Fakultas Ilmu Komputer dan Teknologi Informasi, dan
semua dosen serta pegawai di lingkungan program studi Teknologi Informasi, yang
telah membantu serta membimbing penulis selama proses perkuliahan.
Penulis tentunya tidak lupa berterima kasih kepada kedua orang tua penulis, yaitu
Bapak Ir. Rusdy Goenfi dan Ibu Liani yang telah membesarkan penulis dengan sabar
dan penuh kasih sayang, serta doa dari mereka yang selalu menyertai selama ini.
Terima kasih juga penulis ucapkan kepada adik penulis Vera Pratiwi Goenfi dan Eko
Prayogo Goenfi, yang selalu memberikan dukungan kepada penulis. Penulis juga
berterima kasih kepada seluruh anggota keluarga penulis yang namanya tidak dapat
disebutkan satu persatu.
Terima kasih juga penulis ucapkan kepada teman-teman yang telah memberikan
dukungan, khususnya Aaron, S.TI, Tengku Chairunnisa, S.Kom, Franco Baggio, S.E.,
BBM, Novia Elisha Haloho, Theresia Aruan, Dennis, Anita Ratna Sari, Reza
Taqyuddin serta seluruh teman-teman angkatan 2012 dan teman-teman mahasiswa
v
ABSTRAK
Interaksi manusia dan komputer secara umum dilakukan menggunakan keyboard dan mouse. Namun, interaksi tersebut memiliki kekurangan dimana interaksi tidak dapat dilakukan oleh tunadaksa yang mengalami disabilitas (cacat) pada pergelangan tangan
sampai ujung jari tangan. Untuk mengatasi permasalahan yang terjadi, dibutuhkan
suatu pendekatan untuk mengenali gerakan tangan sebagai sarana interaksi
manusia-komputer. Metode yang diajukan oleh penulis adalah penggunaan algoritma nearest
neighbor untuk mengecilkan ukuran frame gambar yang telah dipisahkan dari video,
grayscalling, frame differencing, Principal Component Analysis (PCA), serta Deep
Neural Network (DNN). Penelitian ini dilakukan dalam dua percobaan yaitu
percobaan dengan enam jenis gerakan tangan dan percobaan dengan empat jenis
gerakan tangan. Masing-masing percobaan dilakukan lima kali dengan parameter
jumlah hidden layer dan hidden neuron yang berbeda. Hasil terbaik yang didapatkan dari percobaan dengan enam jenis gerakan tangan adalah tingkat akurasi pengujian
sebesar 77,02% untuk percobaan dua dengan jumlah hidden layer sebanyak dua dan jumlah hidden neuron masing-masing sebanyak 300 dan 50. Hasil terbaik yang didapatkan dari percobaan dengan empat jenis gerakan tangan adalah tingkat akurasi
pengujian sebesar 89,72% untuk percobaan satu dengan jumlah hidden layer sebanyak dua dan jumlah hidden neuron masing-masing sebanyak 300 dan 50. Hasil terbaik dari keseluruhan percobaan yakni percobaan satu dari percobaan dengan empat jenis
gerakan tangan diimplementasikan ke dalam sistem front-end untuk mengendalikan aplikasi file explorer, music player, video player, slideshow dan PDF reader.
Kata kunci: pengenalan gerakan tangan, interaksi manusia-komputer, Principal
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
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
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
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
xi
Gambar 4.14. Tampilan Bagian Panel Kamera Web 48 Gambar 4.15. Tampilan Bagian Keterangan mengenai Cara Pengendalian Aplikasi
Melalui Gerakan Tangan 48