Pengenalan Gerakan Tangan Manusia Untuk Interaksi Manusia-Komputer

PENGENALAN GERAKAN TANGAN MANUSIA UNTUK INTERAKSI MANUSIA-KOMPUTER SKRIPSI TENGKU CHAIRUNNISA 111402049
PROGRAM STUDI TEKNOLOGI INFORMASI FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA MEDAN 2015

PENGENALAN GERAKAN TANGAN MANUSIA UNTUK INTERAKSI MANUSIA-KOMPUTER SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi TENGKU CHAIRUNNISA 111402049
PROGRAM STUDI S1 TEKNOLOGI INFORMASI FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA MEDAN 2015

PERSETUJUAN

Judul
Kategori Nama Nomor Induk Mahasiswa Program Studi Fakultas

: PENGENALAN GERAKAN TANGAN MANUSIA UNTUK INTERAKSI MANUSIA-KOMPUTER
: SKRIPSI : TENGKU CHAIRUNNISA : 111402049 : S1 TEKNOLOGI INFORMASI : ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI UNIVERSITAS SUMATERA UTARA

Komisi Pembimbing Pembimbing 2

:


Pembimbing 1

Dani Gunawan, ST., M.T. NIP. 19820915 201212 1 002

Romi Fadillah Rahmat, B.Comp.Sc., M. Sc. 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

PERNYATAAN
PENGENALAN GERAKAN TANGAN MANUSIA UNTUK INTERAKSI MANUSIA-KOMPUTER SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya. Medan, 26 November 2015
Tengku Chairunnisa 111402049

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 Dani Gunawan, ST., M.T. 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 Bapak Prof. Dr. Opim Salim Sitompul, M.Sc sebagai dosen pembanding pertama dan Ibu Dr. Erna Budhiarti Nababan, M.IT 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 Pembantu 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 Tengku Syaiful Masudi dan Ibu Sri Banun yang telah membesarkan penulis dengan sabar dan penuh cinta, serta doa dari mereka yang selalu menyertai selama ini. Terima kasih juga penulis ucapkan kepada abang penulis Tengku Ahmad Fauzan dan adik penulis Tengku Muhammad Aulia Fitra, 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 Safrina, Dina Fadhillah, Nurul Fatihah, Ade Irma Sonya, Atika Chan, Nisva Elvira Lubis, Indera Surya Satria, Reza Taqyuddin, Sintong Siregar serta seluruh teman-teman angkatan 2011 dan teman-teman mahasiswa Teknologi Informasi lainnya. Semoga Allah SWT membalas kebaikan kalian.

ii
ABSTRAK
Gerakan tangan manusia memiliki peran yang penting dalam berinteraksi. Pengenalan gerakan tangan manusia saat ini merupakan area aktif dalam penelitian untuk interaksi manusia dan komputer. Pengenalan gerakan tangan manusia telah diteliti sebelumnya dengan berbagai teknik dan alat pendukung yang berbeda, seperti Kinect dan data glove. Adapun berbagai tantangan yang dihadapi dalam mengenali gerakan tangan manusia yaitu mencakup permasalahan kondisi iluminasi yang bervariasi, rotasi tangan, latar belakang (background), ukuran tangan, dan klasifikasi atau translasi tangan. Pada penelitian ini, peneliti menggunakan teknik-teknik Computer Vision untuk mengenali gerakan tangan sebagai alat interaksi manusia dan komputer untuk mengendalikan berbagai aplikasi, yaitu aplikasi pengolah presentasi, pemutar musik, pemutar video dan PDF reader dengan kondisi tangan kosong dan latar belakang yang kompleks melalui kamera web. Untuk menangani permasalahan kondisi tangan dan latar belakang tersebut juga dibutuhkan suatu metode tertentu. Metode yang diajukan oleh peneliti adalah penggunaan ruang warna campuran, yaitu HS-CbCr untuk pendeteksian warna kulit dan teknik average background untuk menangani masalah background. Hasil pengujian menunjukkan bahwa metode yang diajukan mampu mengenali gerakan tangan manusia dan menghasilkan tingkat akurasi mencapai 96.87% dalam kondisi pencahayaan yang baik. Keakuratan pengenalan gerakan tangan manusia dipengaruhi kondisi pencahayaan, semakin sedikit perubahan iluminasi yang terjadi, semakin tinggi tingkat akurasi yang dihasilkan.
Kata kunci : pengenalan gerakan tangan, interaksi manusia-komputer, pendeteksian warna kulit, average background, convexity defects

iii
HAND GESTURE RECOGNITION FOR HUMAN-COMPUTER INTERACTION
ABSTRACT
Hand gesture has a significant role in human’s interaction. Hand gesture recognition nowadays is an active research area for human-computer interaction. In previous research for hand gesture recognition, they used various techniques and tools such as Kinect and data glove. Hand gesture recognition systems confronts many challenges, such as variation of illumination conditions, rotation problem, background problem, scale problem, and classification or translation problem. In this research, we use computer vision techniques to recognize hand gesture for human-computer interaction in controlling various apps, such as slideshow presentation, music player, video player, and PDF reader app with bare hand and in complex background via web camera. Therefore, a method is required to cope with background and skin detection problem. In our proposed method, we combine two color spaces become HS-CbCr for skin detection and use averaging background for solving the background problem. The result shows that the proposed method is able to recognize hand gesture and get up to 96.87% correct results on good lighting condition. The accuracy of hand gesture recognition is influenced by lighting condition. The lower changing illumination on video occurs, the higher accuracy of hand gesture recognition is generated.
Keywords : hand gesture recognition, human-computer interaction, skin detection, average background, convexity defects

DAFTAR ISI
ABSTRAK ABSTRACT DAFTAR ISI DAFTAR TABEL DAFTAR GAMBAR
BAB 1 PENDAHULUAN 1.1 Latar Belakang 1.2 Rumusan Masalah 1.3 Tujuan Penelitian 1.4 Batasan Masalah 1.5 Manfaat Penelitian 1.6 Metodologi Penelitian 1.7 Sistematika Penulisan
BAB 2 LANDASAN TEORI 2.1 Computer Vision 2.2 Pengolah Citra Digital 2.2.1 Resizing 2.2.2 Color Space Conversion 2.2.2.1 RGB to Grayscale Conversion 2.2.2.2 Normalized RGB 2.2.2.3 RGB to HSV Conversion 2.2.2.4 RGB to YcbCr Conversion 2.2.3 Perbaikan Citra (Image Enhancement) 2.2.3.1 Erosion

iv
Hal ii iii iv

vii viii
1 1 3 3 3 4 4 5
7 7 7 7 8 8 8 9 10 11 11

2.2.3.2 Dilation 2.2.3.3 Gaussian Blur 2.2.4 Thresholding 2.2.5 Inversi 2.3 Averaging Background 2.3.1 Background Subtraction 2.3.2 Frame Differencing 2.4 Ekstraksi Fitur 2.4.1 Contour 2.4.2 Convex-Hull 2.4.3 Convexity Defects 2.4.4 Moment 2.4.5 Center of Gravity 2.5 OpenCV 2.6 Penelitian Terdahulu
BAB 3 ANALISIS DAN PERANCANGAN SISTEM 3.1 Data yang Digunakan 3.2 Analisis Sistem 3.2.1 Skin Detection 3.2.1.1 Resizing 3.2.1.2 Normalisasi RGB 3.2.1.3 RGB to HSV Conversion 3.2.1.4 RGB to YCbCr Conversion 3.2.1.5 Skin Color Bounding Rules 3.2.1.6 Skin Segmentation 3.2.2 Average Background 3.2.2.1 RGB to Grayscale Conversion 3.2.2.2 Frame Differencing 3.2.2.3 Akumulasi Background 3.2.2.4 Thresholding 3.2.2.5 Pembentukan Citra Negatif (Inversion)

v
13 14 14 18 18 19 20 21 21 21 22 23 23 24 25
28 28 29 30 31 31 32 32 33 33 34 34 36 38 39 40

3.2.3 Perbaikan Citra (Image Enhancement) 3.2.3.1 Erosion 3.2.3.2 Dilation 3.2.3.3 Gaussian Blur
3.2.4 Ekstraksi Fitur 3.2.4.1 Contour 3.2.4.2 Convex-Hull 3.2.4.3 Convexity Defects
3.2.5 Klasifikasi 3.3 Perancangan Sistem
3.3.1 Perancangan Antarmuka 3.3.1.1 Rancangan Tampilan Halaman Splash 3.3.1.2 Rancangan Tampilan Halaman Menu 3.3.1.3 Rancangan Tampilan Halaman Utama 3.3.1.4 Rancangan Tampilan Halaman Minimized
BAB 4 IMPLEMENTASI DAN PENGUJIAN 4.1 Implementasi Sistem 4.1.1Spesifikasi perangkat keras dan perangkat lunak yang digunakan 4.1.2Implementasi perancangan antarmuka 4.2 Prosedur Operasional 4.2.1 Pengendalian Aplikasi Pengolah Presentasi 4.2.2 Pengendalian Aplikasi PDF Reader 4.2.3 Pengendalian Aplikasi Pemutar Musik 4.2.4 Pengendalian Aplikasi Pemutar Video 4.3 Pengujian Sistem 4.2.1Pengujian Hasil Pendeteksian Warna Kulit 4.2.2Pengujian Hasil Ekstraksi Fitur 4.2.3Pengujian Hasil Pengenalan Gerakan Tangan

vi
41 41 42 43 44 44 45 47 48 52 52 52 53 54 55
57 57 57

58 62 63 64 65 66 59 59 68 72

BAB 5 KESIMPULAN DAN SARAN 5.1 Kesimpulan 5.2 Saran
DAFTAR PUSTAKA

vii
97 97 98
99

viii

DAFTAR TABEL

Hal.

Tabel 2.1. Penelitian terdahulu

26

Tabel 3.1. Matriks citra warna (RGB) ukuran 5x5 piksel


34

Tabel 3.2. Hasil konversi citra warna menjadi citra keabuan

34

Tabel 3.3. Aturan arah & rata-rata derajat

50

Tabel 3.4. Gerakan tangan dan perintah aplikasi

50

Tabel 4.1. Fungsi keyboard dan gerakan tangan pada aplikasi pengolah presentasi

64

Tabel 4.2. Fungsi keyboard dan gerakan tangan pada aplikasi PDF reader


65

Tabel 4.3. Fungsi keyboard dan gerakan tangan pada aplikasi pemutar musik 65

Tabel 4.4. Fungsi keyboard dan gerakan tangan pada aplikasi pemutar video 67

Tabel 4.5. Ukuran kinerja hasil pengujian

68

Tabel 4.6. Persentase hasil pengujian pendeteksian warna kulit menggunakan

HGR dataset kondisi I

68

Tabel 4.7. Persentase hasil pengujian pendeteksian warna kulit menggunakan

HGR dataset kondisi II


69

Tabel 4.8. Persentase hasil pengujian pendeteksian warna kulit menggunakan

HGR dataset kondisi III

70

Tabel 4.9. Rata-rata akurasi hasil pengujian

72

Tabel 4.10. Hasil pengujian waktu pendeteksian convexity defects

76

Tabel 4.11. Hasil pengujian untuk ruangan A

89


Tabel 4.12. Hasil pengujian untuk ruangan B

95

ix

DAFTAR GAMBAR

Gambar 2.1. Erosion : mengambil nilai minimum daerah kernel B (Bradski & Kaehler, 2008)
Gambar 2.2. Dilation : mengambil nilai maximum daerah kernel B (Bradski & Kaehler, 2008)
Gambar 2.3. Threshold Binary (diambil dari www.docs.opencv.org) Gambar 2.4. Threshold Inverted (diambil dari www.docs.opencv.org) Gambar 2.5. Threshold Truncate (diambil dari www.docs.opencv.org) Gambar 2.6. Threshold to Zero (diambil dari www.docs.opencv.org) Gambar 2.7. Threshold to Zero Inverted (diambil dari www.docs.opencv.org) Gambar 2.8. Contour (Dhawan & Honrao, 2013) Gambar 2.9. Convex-Hull (Dhawan & Honrao, 2013) Gambar 2.10.Convexity Defects (Dhawan & Honrao, 2013) Gambar 3.1. Arsitektur umum Gambar 3.2. Konversi ruang warna RGB-HSV Gambar 3.3. Konversi ruang warna RGB-YCbCr Gambar 3.4. Skin segmentation Gambar 3.5. Proses konversi citra hasil segmentasi kulit menjadi citra keabuan
(grayscale) Gambar 3.6. Proses frame differencing Gambar 3.7. Hasil akumulasi background Gambar 3.8. Proses thresholding Gambar 3.9. Inversion Gambar 3.10.Erosion Gambar 3.11.Dilaton Gambar 3.12.Gaussian blur Gambar 3.13.Contour

Hal.
12
13 15 16 17 17 18 21 22 22 30 32 33 34
36 38 39 40 41 42 43 44 45

x


Gambar 3.14.Convex-hull Gambar 3.15.Convexity defects Gambar 3.16.Proses pendefinisian arah tangan Gambar 3.17.Rancangan halaman splash Gambar 3.18.Rancangan halaman menu Gambar 3.19.Rancangan halaman utama Gambar 3.20.Rancangan halaman minimized Gambar 4.1. Tampilan halaman splash Gambar 4.2. Tampilan halaman menu Gambar 4.3. Tampilan halaman utama Gambar 4.4. Tampilan opsi HSV Gambar 4.5. Tampilan opsi thresholding Gambar 4.6. Tampilan opsi dilation Gambar 4.7. Tampilan opsi convex-hull Gambar 4.8. Tampilan halaman minimized Gambar 4.9. Tampilan saat tombol “Slideshow Presentation Controller” dipilih Gambar 4.10. Tampilan saat tombol “PDF Reader Controller” dipilih Gambar 4.11. Tampilan saat tombol “Video Player Controller” dipilih Gambar 4.12. Hasil pengujian pendeteksian warna kulit menggunakan HGR
dataset kondisi I Gambar 4.13. Hasil pengujian pendeteksian warna kulit menggunakan HGR
dataset kondisi II Gambar 4.14. Hasil pengujian pendeteksian warna kulit menggunakan HGR
dataset kondisi III Gambar 4.15. Perbandingan hasil pendeteksian warna kulit dengan kondisi
pencahayaan backlight dan downlight Gambar 4.16. Pengaruh setiap tahapan dalam proses ekstraksi fitur Gambar 4.17. Kesalahan pendeteksian area kontur terbesar Gambar 4.18. Gerakan tangan dengan jumlah jari 1 dan arah tangan atas Gambar 4.19. Gerakan tangan dengan jumlah jari 2 dan arah tangan atas Gambar 4.20. Gerakan tangan dengan jumlah jari 3 dan arah tangan atas

47 48 50 52 53 54 56 58 59 59 60 60 61 61 62 63 64 66
69
70
71
73 74 76 78 78 79

Gambar 4.21. Gerakan tangan dengan jumlah jari 4 dan arah tangan atas
Gambar 4.22. Gerakan tangan dengan jumlah jari 5 dan arah tangan atas
Gambar 4.23. Gerakan tangan dengan jumlah jari 1 dan arah tangan kanan
Gambar 4.24. Gerakan tangan dengan jumlah jari 2 dan arah tangan kanan
Gambar 4.25. Gerakan tangan dengan jumlah jari 1 dan arah tangan kiri
Gambar 4.26. Gerakan tangan dengan jumlah jari 2 dan arah tangan kiri
Gambar 4.27. Hasil pengenalan gerakan tangan untuk jumlah jari 1 dan arah tangan atas pada ruangan A

Gambar 4.28. Hasil pengenalan gerakan tangan untuk jumlah jari 2 dan arah tangan atas pada ruangan A
Gambar 4.29. Hasil pengenalan gerakan tangan untuk jumlah jari 3 dan arah tangan atas pada ruangan A
Gambar 4.30. Hasil pengenalan gerakan tangan untuk jumlah jari 4 dan arah tangan atas pada ruangan A
Gambar 4.31. Hasil pengenalan gerakan tangan untuk jumlah jari 5 dan arah tangan atas pada ruangan A
Gambar 4.32. Hasil pengenalan gerakan tangan untuk jumlah jari 1 dan arah tangan kanan pada ruangan A
Gambar 4.33. Hasil pengenalan gerakan tangan untuk jumlah jari 2 dan arah tangan kanan pada ruangan A
Gambar 4.34. Hasil pengenalan gerakan tangan untuk jumlah jari 1 dan arah tangan kiri pada ruangan A
Gambar 4.35. Hasil pengenalan gerakan tangan untuk jumlah jari 2 dan arah tangan kiri pada ruangan A
Gambar 4.36. Hasil pengenalan gerakan tangan untuk jumlah jari 1 dan arah tangan atas pada ruangan B
Gambar 4.37. Hasil pengenalan gerakan tangan untuk jumlah jari 2 dan arah tangan atas pada ruangan B
Gambar 4.38. Hasil pengenalan gerakan tangan untuk jumlah jari 3 dan arah tangan atas pada ruangan B
Gambar 4.39. Hasil pengenalan gerakan tangan untuk jumlah jari 4 dan arah tangan atas pada ruangan B
Gambar 4.40. Hasil pengenalan gerakan tangan untuk jumlah jari 5 dan arah tangan atas pada ruangan B

xi
80 80 81 81 82 82 83 84 84 85 85 86 87 87 88 89 90 91 91 92

Gambar 4.41. Hasil pengenalan gerakan tangan untuk jumlah jari 1 dan arah tangan kanan pada ruangan B
Gambar 4.42. Hasil pengenalan gerakan tangan untuk jumlah jari 2 dan arah tangan kanan pada ruangan B
Gambar 4.43. Hasil pengenalan gerakan tangan untuk jumlah jari 1 dan arah tangan kiri pada ruangan B

Gambar 4.44. Hasil pengenalan gerakan tangan untuk jumlah jari 2 dan arah tangan kiri pada ruangan B

xii
93 93 94 94

ii
ABSTRAK
Gerakan tangan manusia memiliki peran yang penting dalam berinteraksi. Pengenalan gerakan tangan manusia saat ini merupakan area aktif dalam penelitian untuk interaksi manusia dan komputer. Pengenalan gerakan tangan manusia telah diteliti sebelumnya dengan berbagai teknik dan alat pendukung yang berbeda, seperti Kinect dan data glove. Adapun berbagai tantangan yang dihadapi dalam mengenali gerakan tangan manusia yaitu mencakup permasalahan kondisi iluminasi yang bervariasi, rotasi tangan, latar belakang (background), ukuran tangan, dan klasifikasi atau translasi tangan. Pada penelitian ini, peneliti menggunakan teknik-teknik Computer Vision untuk mengenali gerakan tangan sebagai alat interaksi manusia dan komputer untuk mengendalikan berbagai aplikasi, yaitu aplikasi pengolah presentasi, pemutar musik, pemutar video dan PDF reader dengan kondisi tangan kosong dan latar belakang yang kompleks melalui kamera web. Untuk menangani permasalahan kondisi tangan dan latar belakang tersebut juga dibutuhkan suatu metode tertentu. Metode yang diajukan oleh peneliti adalah penggunaan ruang warna campuran, yaitu HS-CbCr untuk pendeteksian warna kulit dan teknik average background untuk menangani masalah background. Hasil pengujian menunjukkan bahwa metode yang diajukan mampu mengenali gerakan tangan manusia dan menghasilkan tingkat akurasi mencapai 96.87% dalam kondisi pencahayaan yang baik. Keakuratan pengenalan gerakan tangan manusia dipengaruhi kondisi pencahayaan, semakin sedikit perubahan iluminasi yang terjadi, semakin tinggi tingkat akurasi yang dihasilkan.
Kata kunci : pengenalan gerakan tangan, interaksi manusia-komputer, pendeteksian warna kulit, average background, convexity defects

iii
HAND GESTURE RECOGNITION FOR HUMAN-COMPUTER INTERACTION
ABSTRACT
Hand gesture has a significant role in human’s interaction. Hand gesture recognition nowadays is an active research area for human-computer interaction. In previous research for hand gesture recognition, they used various techniques and tools such as Kinect and data glove. Hand gesture recognition systems confronts many challenges, such as variation of illumination conditions, rotation problem, background problem, scale problem, and classification or translation problem. In this research, we use computer vision techniques to recognize hand gesture for human-computer interaction in controlling various apps, such as slideshow presentation, music player, video player, and PDF reader app with bare hand and in complex background via web camera. Therefore, a method is required to cope with background and skin detection problem. In our proposed method, we combine two color spaces become HS-CbCr for skin detection and use averaging background for solving the background problem. The result shows that the proposed method is able to recognize hand gesture and get up to 96.87% correct results on good lighting condition. The accuracy of hand gesture recognition is influenced by lighting condition. The lower changing illumination on video occurs, the higher accuracy of hand gesture recognition is generated.
Keywords : hand gesture recognition, human-computer interaction, skin detection, average background, convexity defects

BAB 1
PENDAHULUAN
1.1 Latar Belakang
Gerakan tangan manusia memiliki peran yang penting dalam berinteraksi. Pengenalan gerakan tangan manusia saat ini merupakan area aktif dalam penelitian untuk interaksi manusia dan komputer. Pengenalan gerakan tangan manusia ini bertujuan untuk mencegah munculnya penyakit-penyakit yang muncul, seperti trigger finger, gorilla arm, dll, akibat penggunaan mouse atau keyboard dalam waktu yang lama dan konstan (Bhatt et al., 2013).
Dalam penelitian sebelumnya, dibutuhkan alat-alat seperti Kinect, data glove ataupun kamera web yang berkualitas tinggi untuk menerapkan sistem pengenalan gerakan tangan ini. Selain itu, terdapat batasan dalam kondisi pencahayaan ataupun latar belakang (background) yang mengharuskan pengguna berada pada tempat yang memiliki latar belakang tertentu ketika menjalankan sistem tersebut. Pada penelitian ini, penulis akan menerapkan sistem pengenalan pergerakan tangan manusia sebagai alat interaksi manusia dan komputer untuk mengendalikan berbagai aplikasi, yaitu aplikasi pengolah presentasi, pemutar musik, pemutar video dan PDF reader dengan kondisi tangan kosong dan latar belakang yang kompleks melalui kamera web.
Pengenalan gerakan tangan manusia telah diteliti oleh beberapa peneliti sebelumnya. Pada umumnya pengenalan gerakan tangan ini diimplementasikan untuk bahasa isyarat (sign language), robotik, virtual reality, permainan, dan lain-lain. Pada umumnya, pengenalan gerakan tangan terbagi atas 2 jenis, yaitu (Ramjan, et al., 2014): 1. Pengenalan Gerakan Tangan Statis, yaitu pengenalan gerakan tangan yang
gerakannya telah ditetapkan dan dideteksi per frame dalam satu waktu 2. Pengenalan Gerakan Tangan Dinamis, yaitu pengenalan gerakan tangan yang
gerakannya dideteksi dari urutan beberapa frame video dalam jangka waktu tertentu. Pada tahun 2014, Ramjan, et al. menggunakan algoritma Blob Detection COG untuk ekstraksi fitur dan Template/Pattern Matching untuk mengenali gerakan tangan

2
dinamis. Untuk pengenalan gerakan tangan statis telah diteliti sebelumnya oleh Jalab, A.H. pada tahun 2012 dengan menggunakan jaringan saraf tiruan. Metode ekstraksi fitur yang digunakan adalah algoritma Wavelet Network dan Artificial Neural Network (ANN). Adapun tingkat akurasi hasil uji coba tersebut yaitu 97%. Selanjutnya pada tahun 2013, Nagarajan & Subashini melakukan penelitian untuk mengenali bahasa isyarat huruf alphabet sesuai dengan American Sign Language dengan menggunakan metode Edge Oriented Histogram untuk ekstraksi fitur dan menggunakan algoritma Multiclass SVM untuk mengenali gerakan tangan statis. Pada penelitian ini didapat kesimpulan bahwa algoritma Multiclass SVM dapat memberikan akurasi yang baik sebesar 93.75% dalam mengklasifikasikan gerakan tangan statis.
Namun pada penelitian yang telah disebutkan sebelumnya, diperlukan banyak waktu dan kapasitas untuk melatih pengklasifikasian dalam pengenalan objek tertentu pada algoritma yang digunakan. Semakin banyak data pelatihan yang digunakan, semakin besar tingkat akurasi yang didapatkan (Williamson, 2014). Selanjutnya pada tahun 2014, Nayana & Kubakaddi menggunakan metode Finger Counting melalui ekstraksi fitur dari teknik computer vision yaitu contour, convex-hull dan convexity defects untuk pengenalan gerakan tangan statis. Dari penelitian tersebut dapat disimpulkan bahwa teknik computer vision sangat mudah dan cepat untuk diimplementasi dalam pengenalan gerakan tangan.
Penelitian lain tentang pengenalan gerakan tangan dilakukan oleh Yesugade, et al. pada tahun 2014 yang menggunakan metode sederhana yaitu Blob Detection untuk ekstraksi fitur untuk pengenalan gerakan tangan. Penelitian ini berfokus pada pemanfaatan pengenalan gerakan tangan dalam berbagai fungsionalitas, namun terdapat batasan dalam keadaan background dan kondisi pencahayaan.
Pada penelitian ini, penulis akan menggunakan teknik-teknik Computer Vision untuk pengenalan gerakan tangan manusia secara statis dan menggunakan metode average background untuk menghilangkan background yang terdeteksi. Dengan adanya sistem pengenalan gerakan tangan manusia melalui kamera web dalam kondisi tangan kosong dan latar belakang yang kompleks diharapkan dapat mempermudah interaksi antar manusia dan komputer. Berdasarkan latar belakang diatas, penulis mengajukan penelitian dengan judul “PENGENALAN GERAKAN TANGAN MANUSIA UNTUK INTERAKSI MANUSIA-KOMPUTER”.

3
1.2 Rumusan Masalah
Pengenalan gerakan tangan manusia saat ini merupakan area aktif dalam penelitian untuk interaksi manusia dan komputer. Salah satu implementasi sistem pengenalan gerakan tangan manusia pada penelitian sebelumnya, yaitu sebagai pengganti mouse atau keyboard untuk mengendalikan aplikasi seperti permainan (game), pengolah presentasi dan sebagainya. Dalam penelitian sebelumnya, digunakan berbagai teknik dan alat pendukung untuk mengenali gerakan tangan manusia, seperti Kinect, data glove dan kamera web. Adapun berbagai tantangan yang dihadapi dalam mengenali gerakan tangan manusia yaitu mencakup permasalahan kondisi iluminasi yang bervariasi, rotasi tangan, latar belakang (background), ukuran tangan, dan klasifikasi atau translasi tangan. Oleh karena itu, dibutuhkan suatu metode untuk mengenali gerakan tangan manusia untuk interaksi manusia-komputer dengan kondisi tangan kosong dan latar belakang yang kompleks melalui kamera web.
1.3 Tujuan Penelitian
Tujuan dari penelitian ini adalah untuk mengenali gerakan tangan manusia untuk interaksi manusia-komputer dengan kondisi tangan kosong dan latar belakang yang kompleks menggunakan teknik-teknik Computer Vision melalui kamera web.
1.4 Batasan Masalah
Untuk membatasi cakupan permasalahan yang akan dibahas dalam studi ini, penulis membuat batasan : 1. Pergerakan tangan yang dikenali/dideteksi hanya kombinasi antara jumlah jari dan
arah tangan yang telah ditentukan oleh penulis. 2. Aplikasi yang dapat dikendalikan menggunakan gerakan tangan dalam penelitian
ini adalah aplikasi pengolah presentasi, pemutar musik, pemutar video, dan PDF reader yang telah ditentukan oleh penulis. 3. Posisi kamera web tetap dan tidak terdapat objek bergerak yang memiliki warna yang mirip dengan warna kulit pada background. 4. Pengambilan citra atau video dilakukan di dalam ruangan yang memiliki cahaya putih dengan pencahayaan downlight. Penggunaan cahaya harus disesuaikan agar

4
komputer dapat melihat pantulan cahaya dengan baik, sehingga cahaya tidak boleh membelakangi telapak tangan atau di hadapan kamera web (backlight). 5. Posisi tangan lurus menghadap kamera dan jari tangan harus terbuka lebar.
1.5 Manfaat Penelitian
Manfaat yang diperoleh dari penelitian ini adalah : 1. Membantu pengguna dalam berinteraksi dengan komputer menggunakan gerakan
tangan. 2. Mengetahui kemampuan teknik-teknik Computer Vision dalam proses pengenalan
gerakan tangan manusia. 3. Menjadi referensi dalam pengembangan di bidang image processing dan computer
vision.
1.6 Metodologi Penelitian
Tahapan-tahapan yang akan dilakukan pada pelaksanaan penelitian adalah sebagai berikut: 1. Studi Literatur
Pada tahap ini dilakukan pengumpulan bahan referensi yaitu mengenai pengolahan citra, pendeteksian warna kulit, pendeteksian background, pendeteksian tangan, dan Computer Vision dari beberapa jurnal, buku, artikel dan beberapa sumber referensi lainnya. 2. Analisis Pada tahap ini dilakukan analisis terhadap studi literatur untuk mendapatkan pemahaman mengenai teknik-teknik Computer Vision untuk menyelesaikan masalah tentang pengenalan gerakan tangan manusia. 3. Perancangan Pada tahap ini dilakukan perancangan arsitektur, pengumpulan data, dan perancangan antarmuka. Proses perancangan dilakukan berdasarkan hasil analisis studi literatur yang telah didapatkan. 4. Implementasi Pada tahap ini dilakukan pengkodean untuk membangun aplikasi berdasarkan analisis dan perancangan yang telah dilakukan sebelumnya.

5
5. Pengujian Pada tahap ini dilakukan pengujian terhadap aplikasi yang telah dibangun dalam mengenali gerakan tangan manusia untuk memastikan hasil pengenalan sesuai dengan apa yang diharapkan.
6. Dokumentasi dan Penyusunan Laporan Pada tahap ini dilakukan dokumentasi dan penyusunan laporan hasil analisis dan implementasi teknik-teknik Computer Vision dalam pengenalan gerakan tangan manusia.
1.7 Sistematika Penulisan Sistematika penulisan dari skripsi ini terdiri dari lima bagian utama sebagai berikut.
Bab 1 : Pendahuluan
Bab ini berisi latar belakang dari penelitian yang dilaksanakan, rumusan masalah, tujuan penelitian, batasan masalah, manfaat penelitian, metodologi penelitian, serta sistematika penulisan.
Bab 2 : Landasan Teori
Bab ini berisi teori-teori yang diperlukan untuk memahami permasalahan yang dibahas pada penelitian ini. Teori-teori yang berhubungan dengan citra, image processing, ekstraksi fitur dan teknik-teknik Computer Vision akan dibahas pada bab ini.
Bab 3 : Analisis dan Perancangan
Bab ini menjabarkan arsitektur umum, tiap langkah pre-processing yang dilakukan, pendeteksian objek, serta analisis dan penerapan teknik-teknik Computer Vision dalam pengenalan gerakan tangan yang tertangkap oleh kamera web.
Bab 4 : Implementasi dan Pengujian
Bab ini berisi pembahasan tentang implementasi dari perancangan yang telah dijabarkan pada Bab 3. Selain itu, hasil yang didapatkan dari pengujian yang dilakukan terhadap implementasi yang dilakukan juga dijabarkan pada bab ini.

6
Bab 5 : Kesimpulan dan Saran Bab ini berisi ringkasan serta kesimpulan dari rancangan yang telah dibahas pada bab 3, serta hasil penelitian yang dijabarkan pada Bab 4. Bagian akhir dari bab ini memuat saran-saran yang diajukan untuk pengembangan penelitian selanjutnya.

BAB 2 LANDASAN TEORI
2.1 Computer Vision Computer Vision merupakan salah satu cabang ilmu pengetahuan yang bertujuan untuk membuat suatu keputusan yang berguna mengenai objek fisik nyata dan keadaan berdasarkan sebuah gambar atau citra (Shapiro & Stockman, 2001). Computer vision merupakan kombinasi antara :
a. Pengolahan Citra Pengolahan Citra (Image Processing) merupakan bidang yang berhubungan dengan proses perubahan pada citra agar mendapatkan kualitas citra yang lebih baik.
b. Pengenalan Pola Pengenalan Pola (Pattern Recognition) merupakan bidang yang berhubungan dengan proses identifikasi objek pada citra atau interpretasi citra, yang bertujuan untuk mengekstrak informasi yang disampaikan oleh citra.
2.2 Pengolahan Citra Digital Pengolahan citra digital (digital image processing) adalah metode yang digunakan untuk memanipulasi citra digital sehingga menghasilkan kualitas citra yang lebih baik. Pengolahan citra digital berfokus pada dua tugas utama, yaitu peningkatan informasi bergambar untuk interpretasi manusia dan pengolahan data citra untuk penyimpanan, transmisi dan representasi untuk persepsi mesin otonom (Annadurai & Shanmugalakshmi, 2007).
2.2.1 Resizing Resizing merupakan proses pengubahan ukuran citra, baik memperbesar ataupun memperkecil resolusi citra (Pratt, 2007). Proses ini sering dilakukan pada pengolahan citra untuk menormalisasi ukuran citra digital yang akan diproses sehingga memiliki

8

ukuran yang sama dan mempercepat proses pengolahan citra ketika ukuran citra diperkecil.

2.2.2 Color Space Conversion
Konversi ruang warna (color space conversion) adalah proses pengubahan suatu ruang warna ke ruang warna lainnya dengan tranformasi matematis. Konversi ruang warna digunakan untuk mendapatkan channel warna yang mengandung informasi tertentu dalam suatu citra.

2.2.2.1 RGB to Grayscale Conversion
Salah satu proses konversi ruang warna yang paling sering dilakukan adalah grayscaling, yaitu proses pengubahan citra warna yang memiliki ruang warna RGB menjadi citra keabuan. Proses ini mengubah 3 channel red, green dan blue menjadi 1 channel gray (keabuan) dengan transformasi matematis seperti persamaan 2.1 (Bradski & Kaehler, 2008).

= 0.299. + 0.587. + 0.114.

(2.1)

Dimana

: Y = citra hasil konversi RGB menjadi Grayscale R = nilai red channel pada piksel G = nilai green channel pada piksel B = nilai blue channel pada piksel

2.2.2.2 Normalized RGB
Normalized RGB sering disebut dengan warna murni. Proses normalisasi RGB merupakan proses pengubahan nilai RGB dalam range 0 sampai 1 yang dibentuk secara independen dari berbagai tingkat pencahayaan. Jumlah dari nilai red, green dan blue channel yang telah dinormalisasi adalah 1. Ketiga channel yang telah dinormalisasi tersebut tidak memiliki informasi yang signifikan dan dapat diabaikan, sehingga dapat mengurangi dimensi ruang. Proses normalisasi RGB dilakukan dengan persamaan 2.2 sampai 2.4 (Ennehar, et al., 2010).

9

= + + = + + = + +

(2.2) (2.3) (2.4)

Dimana

: R’ = nilai red channel yang telah dinormalisasi pada piksel G’ = nilai green channel yang telah dinormalisasi pada piksel B’ = nilai blue channel yang telah dinormalisasi pada piksel R = nilai red channel pada piksel G = nilai green channel pada piksel B = nilai blue channel pada piksel

2.2.2.3 RGB to HSV Conversion
HSV (Hue, Saturation, Value) memiliki karakteristik utama dari warna tersebut, yaitu :
1. Hue, menyatakan warna yang sebenarnya, seperti merah, violet dan kuning, yang digunakan untuk menentukan kemerahan (redness), kehijauan (greeness) dan sebagainya.
2. Saturation, terkadang disebut chroma, mewakili tingkat intensitas warna. 3. Value, merupakan kecerahan dari warna. Nilainya berkisar antara 0-100%. Apabila
nilainya 0 maka warnanya akan menjadi hitam. Semakin besar nilai value maka semakin cerah dan muncul variasi-variasi baru dari warna tersebut.
Citra yang tertangkap oleh kamera web memiliki warna RGB. Untuk mengurangi efek iluminasi pada sebuah citra, kita dapat mengkonversikan warna citra tersebut ke colour space yang lain. Pada penelitian sebelumnya, Zarit et al. pada tahun 1999 membandingkan performa colour space dan mendapatkan kesimpulan bahwa HSV colour space merupakan colour space terbaik untuk mendeteksi warna kulit. Adapun persamaan yang digunakan untuk mengkonversi warna RGB ke HSV yaitu seperti ditunjukkan pada persamaan 2.5 sampai 2.8 dibawah ini (diambil dari www.docs.opencv.org) :

= max ( , , )

=

( , , ) ,

≠0

0

=

⎧ ⎪⎪
2 ⎨

+

60( − ) − min( , ,
60( − − min( ,

) , ) , ),

⎪⎩⎪4 +

60( − ) − min( , , ) ,

= = =

< 0,

= + 360

Dimana

: H = nilai hue channel pada piksel S = nilai saturation channel pada piksel V = nilai value channel pada piksel R = nilai normalized red channel ada piksel G = nilai normalized green channel pada piksel B = nilai normalized blue channel pada piksel

10 (2.5) (2.6)
(2.7) (2.8)

2.2.2.4 RGB to YCbCr Conversion
YCbCr merupakan suatu ruang warna yang sering digunakan pada studio televisi eropa dan untuk kompresi citra. Ruang warna ini memiliki 3 (tiga) channel, yaitu : 1. Y, merupakan komponen single yang menyimpan informasi luminance 2. Cb, merupakan komponen yang menyimpan informasi chrominance dan
merepresentasikan perbedaan antara komponen blue channel dan nilai referensi 3. Cr, merupakan komponen yang menyimpan informasi chrominance dan
merepresentasikan perbedaan antara komponen red channel dan nilai referensi Dalam pendeteksian warna kulit yang bervariasi dan memiliki sensitivitas untuk beberapa faktor seperti kondisi pencahayaan, karakteristik individu, etnis, karakteristik kamera, dan sebagainya, pemilihan ruang warna sangatlah berpengaruh. Pada penelitian sebelumnya, Premal & Vinsley pada tahun 2014 mendeteksi adanya kebakaran hutan menggunakan ruang warna YCbCr dan menyimpulkan bahwa ruang warna ini sangat

11

baik mendeteksi warna walaupun dalam keadaan pencahayaan yang berubah-ubah, karena ruang warna ini memisahkan antara luminance dan chrominance.
Adapun persamaan yang digunakan untuk mengkonversi warna RGB ke YCbCr yaitu seperti ditunjukkan pada persamaan 2.9 sampai 2.11 dibawah ini (diambil dari www.docs.opencv.org) :

dimana

= 0.299. + 0.587. + 0.114. = ( − ). 0.713 + = ( − ). 0.564 +

128, = 32768,
0.5,

8 − 16 − floating − point

(2.9) (2.10) (2.11)

Keterangan : Y = nilai luminance channel pada piksel Cr = nilai chrominance red channel pada piksel Cb = nilai chrominance blue channel pada piksel R = nilai red channel pada piksel G = nilai green channel pada piksel B = nilai blue channel pada piksel

2.2.3 Perbaikan Citra (Image Enhancement)
Tahap perbaikan citra dilakukan untuk meningkatkan kualitas citra agar lebih mudah diproses dan untuk menekankan karakteristik pada citra dengan cara memanipulasi parameter pada citra. Perbaikan citra memungkinkan informasi yang ingin ditampilkan atau diproses dari sebuah citra menjadi lebih baik dan jelas.

2.2.3.1 Erosion
Erosion atau erosi merupakan salah satu operasi morfologi citra yang menghitung nilai minimum lokal berdasarkan area kernel atau structuring element. Operasi morfologi citra merupakan teknik pengolahan citra yang didasari pada bentuk atau morfologi fitur

12

sebuah citra. Kernel atau structuring element merupakan matriks berukuran m x n yang memiliki titik pusat.
Pada umumnya, proses erosi yang dilakukan pada sebuah citra menghasikan objek yang lebih kecil dan menghilangkan titik-titik objek menjadi bagian dari background berdasarkan kernel yang digunakan. Pada penelitian sebelumnya, Febriani, et al. pada tahun 2014 menggunakan proses erosi untuk menghilangkan objek lain diluar area optic disc dalam pengidentifikasian diabetic retinopathy melalui citra retina. Erosi dilakukan dengan persamaan 2.12 (Moeslund, 2012).

( , )= ( , )⊖

(2.12)

Dimana

: g(x,y) = citra hasil erosi dengan matriks x,y f(x,y) = citra asal dengan matriks x,y SE = Structuring Element atau kernel

Gambar 2.1. Erosion : Mengambil Nilai Minimum Daerah Kernel B (Bradski & Kaehler, 2008)
Gambar 2.1 menunjukkan bahwa proses erosi menghitung nilai minimum setiap piksel dari citra asal A yang berada di daerah kernel B dan menghasilkan gambar baru dengan cara menggantikan nilai titik pusat kernel dengan nilai minimum yang didapatkan. Perhitungan akan dilakukan pada setiap piksel citra asal A (Bradski & Kaehler, 2008).

13

2.2.3.2 Dilation
Dilation merupakan kebalikan dari proses erosi. Dilation atau dilasi merupakan salah satu operasi morfologi citra yang menghitung nilai maksimum lokal berdasarkan area kernel atau structuring element. Pada umumnya, proses dilasi yang dilakukan pada sebuah citra menghasikan objek yang lebih besar dan meleburkan titik-titik objek menjadi bagian dari objek berdasarkan kernel yang digunakan. Dilasi dilakukan dengan persamaan 2.13 dibawah ini (Moeslund, 2012).

( , )= ( , )⊕

(2.13)

Dimana

: g(x,y) = citra hasil erosi dengan matriks x,y f(x,y) = citra asal dengan matriks x,y SE = Structuring Element atau kernel

Gambar 2.2. Dilation : Mengambil Nilai Maximum Daerah Kernel B (Bradski & Kaehler, 2008)
Gambar 2.2 menunjukkan bahwa proses dilasi menghitung nilai maksimum setiap piksel dari citra asal A yang berada di daerah kernel B dan menghasilkan gambar baru dengan cara menggantikan nilai titik pusat kernel dengan nilai maksimum yang didapatkan. Perhitungan akan dilakukan pada setiap piksel citra asal A (Bradski & Kaehler, 2008).

14

2.2.3.3 Gaussian Blur
Blurring (pengaburan), sering juga disebut smoothing, merupakan pemerataan nilai piksel-piksel tetangga yang menghilangkan detail halus dari suatu citra. Pada penelitian ini, teknik blurring yang digunakan adalah Gaussian Blur. Gaussian Blur merupakan teknik pengaburan suatu citra menggunakan fungsi Gaussian, yang digunakan untuk mengurangi noise pada citra dan mengurangi detail (Nayakwadi & Pokale, 2014).
Gaussian blur telah banyak digunakan pada penelitian sebelumnya, seperti pada penelitian yang dilakukan oleh Zhaoxue, et al. pada tahun 2008 yang melakukan segmentasi bentuk hati secara otomatis pada CT (Computerized Tomography) Image berdasarkan Gaussian blurring pada citra biner. Dalam penelitian ini dapat disimpulkan bahwa Gaussian Blur cukup efisien sebagai langkah awal untuk digunakan perfusi hati berdasarkan citra CT abdomen.
Persamaan fungsi Gaussian untuk satu dimensi ditunjukkan pada persamaan 2.14.

( ) =




(2.14)

Maka untuk citra dua dimensi, persamaan fungsi Gaussian berubah menjadi seperti ditunjukkan pada persamaan 2.15.

( , ) =



Dimana

: G(x) = citra hasil Gaussian Blur

(2.15)

2.2.4 Thresholding
Thresholding merupakan teknik binerisasi yang digunakan untuk mengubah citra keabuan menjadi citra biner. Thresholding dapat digunakan dalam proses segmentasi citra untuk mengidentifikasi dan memisahkan objek yang diinginkan dari background berdasarkan distribusi tingkat keabuan atau tekstur citra (Liao, et al.,

15

2001). Proses thresholding menggunakan nilai batas (threshold) untuk mengubah nilai piksel pada grayscale image menjadi hitam atau putih.
Teknik thresholding telah banyak dilakukan pada penelitian sebelumnya, seperti penelitian yang dilakukan oleh Du & Chang pada tahun 2002 yang melakukan proses thresholding pada video untuk mendeteksi teks. Pada penelitian ini disimpulkan bahwa teknik thresholding sudah umum digunakan untuk mendeteksi dokumen dan dapat mengatasi background yang kompleks pada citra keabuan. Adapun beberapa tipe thresholding yang dapat diimplementasikan pada sebuah citra keabuan, yaitu : 1. Threshold Binary
Pada jenis threshold ini, jika nilai piksel pada citra lebih besar dari nilai threshold, maka nilai piksel akan diganti dengan nilai maxval, sebaliknya jika nilai piksel citra keabuan lebih kecil dari threshold maka nilai piksel akan diganti dengan 0 (hitam). Operasi threshold binary dapat dilakukan dengan persamaan 2.16.

( , ) =

, ( , )> ℎ ℎ 0

Dimana

: src(x,y) dst(x,y) thresh maxVal

= citra keabuan yang akan diproses = citra hasil threshold binary = nilai threshold = nilai maksimum yang akan digunakan

(2.16)

Proses threshold binary dapat diilustrasikan pada Gambar 2.3.

Gambar 2.3. Threshold Binary (diambil dari www.docs.opencv.org)
2. Threshold Binary Inverted Jenis threshold ini adalah kebalikan dari threshold binary. Threshold binary inverted akan mengganti nilai piksel menjadi nilai 0 jika nilai piksel citra keabuan lebih kecil dari threshold, sebaliknya jika nilai piksel pada citra keabuan lebih besar

16

dari nilai threshold maka nilai piksel akan diganti dengan nilai maxval. Operasi threshold binary inverted dapat dilakukan dengan persamaan 2.17.

( , ) = 0, ( , ) > ℎ ℎ

(2.17)

Dimana

: src(x,y) dst(x,y) thresh maxVal

= citra keabuan yang akan diproses = citra hasil threshold binary inverted = nilai threshold = nilai maksimum yang akan digunakan

Proses threshold binary inverted dapat diilustrasikan pada Gambar 2.4.

Gambar 2.4. Threshold Binary Inverted (diambil dari www.docs.opencv.org)

3. Threshold Truncate Pada jenis threshold ini, nilai maksimum pada piksel adalah nilai threshold. Jika nilai piksel pada citra keabuan lebih besar, maka nilai tersebut akan dipotong. Operasi threshold truncate dapat dilakukan dengan persamaan 2.18.

( , ) = ℎ ℎ ,

( , )> ℎ ℎ (, )

(2.18)

Dimana

: src(x,y) dst(x,y) thresh

= citra keabuan yang akan diproses = citra hasil threshold binary inverted = nilai threshold

Proses threshold binary truncate dapat diilustrasikan pada Gambar 2.5 .

17

Gambar 2.5. Threshold Truncate (diambil dari www.docs.opencv.org)

4. Threshold to Zero Threshold to zero akan menggantikan nilai piksel menjadi 0 (hitam) jika nilai piksel pada citra keabuan lebih kecil daripada nilai threshold. Operasi threshold to zero dapat dilakukan dengan persamaan 2.19.

( , ) =

( , ),

( , )> ℎ ℎ 0

(2.19)

Dimana

: src(x,y) dst(x,y) thresh

= citra keabuan yang akan diproses = citra hasil threshold binary inverted = nilai threshold

Proses threshold binary truncate dapat diilustrasikan pada Gambar 2.6.

Gambar 2.6. Threshold to Zero (diambil dari www.docs.opencv.org)

5. Threshold to Zero Inverted Jenis threshold ini merupakan kebalikan dari threshold to zero. Threshold to zero inverted akan menggantikan nilai piksel menjadi 0 (hitam) jika nilai piksel pada citra keabuan lebih besar daripada nilai threshold. Operasi threshold to zero dapat dilakukan dengan persamaan 2.20.

( , ) = 0,

( , )> ℎ ℎ (, )

(2.20)

18

Dimana

: src(x,y) dst(x,y) thresh

= citra keabuan yang akan diproses = citra hasil threshold binary inverted = nilai threshold

Proses threshold binary truncate dapat diilustrasikan pada Gambar 2.7.

Gambar 2.7. Threshold to Zero Inverted (diambil dari www.docs.opencv.org)

2.2.5 Inversi
Inversi merupakan proses negatif pada citra, dimana setiap nilai piksel pada citra dibalik dengan acuan threshold yang diberikan (Febriani, 2014). Pada umumnya, proses inversi yang dilakukan pada sebuah citra untuk memperjelas warna putih atau abu-abu pada bagian gelap. Pada penelitian sebelumnya, Febriani, et al. pada tahun 2014 menggunakan proses inversi untuk melakukan proses perkalian citra dengan citra hasil proses contrast stretching agar menghasilkan citra optic disc yang tereliminasi dalam pengidentifikasian diabetic retinopathy melalui citra retina. Untuk citra 8 bit, proses inversi dilakukan dengan persamaan 2.21.

( , ) = 255 − ( , )

(2.21)

Dimana

: src(x,y) dst(x,y)

= nilai piksel pada citra input = nilai piksel pada citra setelah proses inversi

2.3 Average Background
Metode average background pada dasarnya menghitung nilai rata-rata dan standard deviasi dari setiap piksel yang didefinisikan sebagai model background. Metode ini merupakan salah satu cara yang dapat mengatasi kelemahan pada proses background subtraction (Bradski & Kaehler, 2008). Average background telah digunakan sebelumnya pada penelitian sebelumnya, seperti pada tahun 2015, Goswami, et al.

19

melakukan penelitian untuk mendeteksi kejadian yang tidak biasa terjadi di sekitar mesin ATM, guna untuk meningkatkan keamanan ATM. Pada penelitian ini disimpulkan bahwa metode ini dapat membantu mempercepat performa sistem pendeteksi walaupun hanya menggunakan kamera yang memiliki resolusi yang rendah. Ada empat tahap yang dilakukan pada metode ini yaitu : 1. Mengakumulasikan atau mengumpulkan frame-frame video dengan jarak waktu
tertentu 2. Melakukan proses frame differencing pada frame-frame video yang telah
diakumulasikan, lalu mencari nilai rata-rata piksel yang berbeda diantara frame 3. Segmentasi citra background dengan proses thresholding 4. Inversi citra hasil thresholding
Seperti yang telah dijabarkan diatas, terdapat proses frame differencing dan background subtraction pada metode average background. Berikut ini adalah penjelasan tentang kedua teknik tersebut.

2.3.1 Background Subtraction
Background subtraction merupakan proses untuk mendeteksi pergerakan atau perbedaan signifikan yang terjadi pada frame video ketika dibandingkan dengan citra referensi. Tujuan dari background subtraction yaitu untuk memisahkan objek dan background sehingga gerakan dari sebuah objek dapat terdeteksi.
Teknik ini mendefinisikan frame video pertama sebagai background lalu mendeteksi perbedaan yang terjadi pada frame-frame selanjutnya, sehingga dapat didefinisikan sebagai pergerakan objek. Proses background subtraction dilakukan dengan persamaan 2.22 dan 2.23 dibawah ini (Alex & Wahi, 2014).

( , ) = ( , )− ( , )

(

,

) =

1∶ 0∶

( , )> ( , ) ≤

(2.22) (2.23)

Dimana

: Rk (x,y) = citra hasil perbedaan frame fk (x,y) = citra frame B (x,y) = citra background T = nilai threshold

20

Background subtraction memiliki kelebihan yaitu mudah untuk diimplementasi dan cepat, namun juga memiliki kekurangan ketika terjadi perubahan iluminasi atau pencahayaan pada video karena juga akan terdefinisi sebagai perbedaan piksel (Bradski & Kaehler, 2008). Teknik background subtraction telah digunakan pada penelitian sebelumnya, seperti penelitian yang dilakukan oleh Intachak & Kaewapichai pada tahun 2011, yang menggunakan teknik tersebut untuk video traffic monitoring.

2.3.2 Frame Differencing

Frame differencing adalah suatu teknik sederhana yang yang digunakan untuk

mendeteksi perbedaan piksel antara dua frame video. Teknik ini biasanya digunakan

untuk mendeteksi pergerakan objek berdasarkan perbedaan piksel yang terjadi pada dua

frame video dengan interval waktu yang singkat. Untuk mengetahui perbedaan frame

video yang terjadi dilakukan perhitungan matematis dengan persamaan 2.24 sampai

2.26 (Alex & Wahi, 2014).

Differential :

= −

,

( − 0

)>0

(2.24)

Negative Differential : = | −

| , ( − 0

)>0

(2.25)

Fully Differential :

= | − |

Dimana

: Dk = hasil citra frame differencing fk = citra frame fk-1 = citra frame sebelumnya dengan interval waktu

(2.26)

Teknik frame differencing juga telah digunakan dalam penelitian sebelumnya seperti penelitian yang dilakukan oleh Kang & Hayes pada tahun 2015. Pada penelitian ini, teknik frame differencing digunakan dalam pengenalan wajah untuk personalisasi kendaraan.

21
2.4 Ekstraksi Fitur Ekstraksi fitur merupakan proses yang menonjolkan ciri atau karakteristik pada suatu citra yang mengandung informasi penting untuk proses pengklasifikasian ataupun analisa data citra. Tujuan dari proses ekstraksi fitur adalah untuk meningkatkan efektivitas dan efisiensi dari proses analisa ataupun pengklasifikasian. Salah satu teknik computer vision untuk mengekstraksi fitur adalah dengan teknik pendeteksian contour, convex-hull dan convexity defects.
Pada penelitian sebelumnya, Youssef, et al. pada tahun 2010 menggunakan teknik tersebut untuk mengekstraksi fitur yang terdapat pada citra yang tertangkap oleh kamera dalam pengenalan aktifitas manusia yang dapat digunakan untuk pengawasan ataupun analisa medis. Berikut ini adalah penjelasan tentang ekstraksi fitur menggunakan contour, convex-hull dan convexity defects.
2.4.1 Contour Kontur (contour) dapat didefinisikan sebagai suatu keadaan yang terjadi karena adanya perubahan intensitas pada piksel-piksel yang bertetangga. Dengan adanya perubahan intensitas ini, maka titik-titik tepi (edge) pada citra dapat terdeteksi. Kontur juga dapat didefinisikan sebagai urutan titik yang dapat menguraikan bentuk atau region (Williamson, A, 2014). Gambaran contour dapat dilihat pada Gambar 2.8.
Gambar 2.8. Contour (Dhawan & Honrao, 2013) 2.4.2 Convex-Hull Convex-hull merupakan garis luar yang melingkupi seluruh titik-titik kontur (contour). Gambaran contour dapat dilihat pada Gambar 2.9.

22
Gambar 2.9. Convex-Hull (Dhawan & Honrao, 2013) 2.4.3 Convexity Defects Convexity defects merupakan titi