SKRIPSI
EKA PRATIWI GOENFI
121402057
PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2016
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
MEDAN 2016
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 NIP. 19800110 200801 1 010
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 121402057
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 Teknologi Informasi lainnya.
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 Component Analysis, Deep Neural Network
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
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
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
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 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