PENERAPAN TEKNOLOGI HAND DETECTION DAN HAND RECOGNITION DALAM MEMBANTU PROSES PRESENTASI Bellinda Prayoga, Fifilia, Dewi Suryani, Rhio Sutoyo Universitas Bina Nusantara Jl. Kebon Jeruk Raya No. 27, Kemanggisan – Jakarta Barat
[email protected],
[email protected],
[email protected]
ABSTRAK Penelitian ini dilakukan dengan tujuan memanfaatkan anggota tubuh sebagai objek untuk mengoperasikan komputer. Penelitian ini ditujukan untuk mendukung dan menunjang teknologi khususnya di bidang pendidikan, guna membantu pengajar untuk dapat mengoperasikan komputer dengan mudah. Rancangan ini menggunakan bantuan bidang ilmu kecerdasan buatan, serta library tambahan antara lain: FLTK, OpenGL, dan OpenCV. Rancangan ini akan dibangun menggunakan alat webcam serta proyektor. Objek yang digunakan dalam merancang akan berfokus pada penggunaan pola/bentuk tangan. Untuk dapat diimplementasikan sebagai alat penggerak komputer, maka digunakan beberapa algoritma dalam melatih pola/bentuk tangan. Dengan penelitian ini, diharapkan hasil rancangan ini dapat meningkatkan proses ajar mengajar/presentasi. Kata Kunci: Pendeteksian Tangan, Pengenalan Pola, OpenGL, OpenCV, Kecerdasan Buatan
ABSTRACT This research was conducted with the aim of utilizing the body as an object to operate a computer. This study is intended to support and supporting technology especially in the field of education for helping teachers to be able to operate the computer with ease. This program uses a science field of artificial intelligence, as well as additional libraries include: FLTK, OpenGL, and OpenCV. This program will be built using a webcam and a projector. Objects used in the designing will focus on pattern/shape of the hand. In order to be implemented as a computer remote, some algorithms to train the pattern/shape of the hand will be used. This study is expected to produce a program that can improve the teaching process of teaching/presentation. Keywords:
Hand Detection, Pattern Recognition, OpenGL, OpenCV, Artificial Intelligence
Manfaat dari aplikasi ini membantu pengguna agar lebih mudah dalam mengoperasikan aplikasi komputer saat presentasi sehingga presenter/pengajar tidak perlu selalu berpindah dari layar proyeksi ke komputer dan tidak perlu menggunakan alat bantu presentasi lainnya. Sebagai contohnya, untuk membuka slide maupun untuk menggerakkan slide (next atau previous slide) hanya dengan menggunakan pola tangan, tanpa harus menggunakan alat bantu lainnya ataupun dengan berpindah dari komputer ke layar proyeksi.
PENDAHULUAN Proses presentasi merupakan salah satu aktivitas yang sering dilakukan oleh manusia. Menurut observasi sederhana yang dilakukan di Universitas Bina Nusantara, presenter ataupun dosen yang mengajar akan menggunakan mouse wire (mouse berkabel) yang telah disediakan sebagai alat untuk mengendalikan slide pada komputer, dan ada pula yang menggunakan alat bantu lainnya seperti remote pointer dan mouse wireless (mouse tanpa kabel). Bagi presenter, penggunaan alat bantu mouse wire untuk mengendalikan slide presentasi pada komputer juga tidak efektif dari segi waktu, karena presenter perlu berpindah dari komputer ke layar proyeksi dan sebaliknya. Begitu pula bagi presenter yang menggunakan remote pointer ataupun mouse wireless karena, presenter perlu selalu membawa alat tersebut dan memiliki risiko kehilangan.
Dalam penelitian ini, metodologi penelitian yang diterapkan, antara lain sebagai berikut: 1. Penelitian Pendahuluan dan Tinjauan Pustaka Penelitian pendahuluan dan tinjauan pustaka dilakukan dengan metode studi pustaka dan eksperimen. 2. Perumusan Masalah Pada tahapan ini dilakukan perumusan masalah terhadap rancangan sistem yang dibangun berdasarkan aplikasi sejenis, yakni masalah menjadikan hand detection menjadi input untuk mengoperasikan komputer dan mengimplementasikannya dalam proses presentasi.
Menanggulangi permasalahan yang terjadi dalam pengendalian komputer, maka muncullah ide untuk menciptakan aplikasi pengendali komputer hanya dengan bentuk tangan dan berfokus pada objek jari presenter sebagai solusi alternatif. Berdasarkan penelusuran yang dilakukan, maka didapatkan hipotesis sebagai berikut: a. Jumlah sampel data yang akan di-training sesuai dengan kebutuhan, akan sangat berpengaruh pada hasil pendeteksian tangan. b. Jumlah cahaya (intensitas cahaya) pada saat pendeteksian objek tangan sangat mempengaruhi hasil pendeteksian. c. Ukuran data sampel yang di-training mempengaruhi hasil pendeteksian objek. d. Penggabungan algoritma Convex Hull dan Haar-Training dapat mendeteksi pola tangan yang akan dideteksi dengan tepat. e. Jarak antara objek dengan web camera dan latar belakang harus sesuai (tidak terlalu jauh ataupun dekat) pada saat pendeteksian agar objek dapat dikenali dengan baik.
3. Pembatasan Masalah Pada tahap ini akan dirumuskan batasan terhadap permasalahan yang akan diteliti yaitu pembahasan hanya menggunakan objek tangan. 4. Tujuan Penelitian Berdasarkan masalah yang telah diidentifikasi maka dapat dirumuskan tujuan dari penelitian ini antara lain untuk menjadikan objek dari tubuh manusia, yaitu tangan sebagai input dalam mengoperasikan komputer dan juga bagaimana menerapkannya dalam proses presentasi dengan menggunakan sarana dan prasarana yang sederhana. 5. Pengumpulan Data dan Informasi Pengumpulan data dengan membagikan kuesioner untuk mendapatkan informasi yang dapat membantu dalam pengembangan aplikasi. Kuesioner ini meliputi kuesioner awal yaitu untuk menganalisis kebutuhan pengguna dan kuesioner akhir yaitu untuk mendapatkan tanggapan dan dampak yang dirasakan pengguna dalam pengimplementasian aplikasi.
Tujuan utama dari aplikasi ini, yaitu: a. Membangun aplikasi untuk membantu proses presentasi. b. Menerapkan pola tangan dalam mengendalikan aplikasi komputer, seperti: mouse movement, click, double click. c. Menerapkan pola tangan untuk mengendalikan slide presentasi dalam aplikasi power point, seperti: start slide show, next slide, previous slide, dan end slide show.
2
6. Perancangan Aplikasi Dalam tahapan perancangan aplikasi ini akan dibagi menjadi tiga tahapan besar, yakni tahap awal, tahap pengembangan, dan tahapan akhir (penyelesaian aplikasi). Secara keseluruhan metode yang digunakan dalam melakukan penelitian ini adalah metode waterfall (berurutan) berdasarkan Sommerville (2011:31).
teratur dan sistematik dengan urutan sebagai berikut: Bab 1. Pendahuluan Bab ini membahas hal-hal mengenai latar belakang, rumusan masalah, hipotesis, ruang lingkup, tujuan dan manfaat, metode penelitian, dan sistematika penulisan. Bab 2. Tinjauan Pustaka Bab ini membahas landasan teori yang digunakan untuk mendukung penelitian dan perbandingan dengan penelitian lainnya yang menggunakan metode serupa. Landasan teori tersebut didapat dari studi pustaka, internet, dan berbagai sumber lain yang dapat mendukung penelitian ini. Bab 3. Metodologi Bab ini membahas mengenai kerangka berpikir, metodologi yang digunakan dalam penelitian, perancangan aplikasi, dan perancangan sistem.
Gambar 1.
Langkah-langkah pada diagram waterfall (Sumber: Software Engineering, 2011:30) Tahapan awal adalah tahap analisis, untuk mendukung analisis maka diadakan studi pustaka mengenai bahasa pemrograman yang akan digunakan dalam membangun sistem dan melakukan pemilihan compiler yang akan digunakan. Semua itu dilakukan dengan cara menelusuri web dan mengambil referensi dari buku serta jurnal. Setelah itu, sebelum memulai dalam tahapan pengkodean, mulai merancang tampilan antarmuka (user interface) dan juga alur bagaimana aplikasi ini bekerja dengan kemudahan agar dapat digunakan dengan baik oleh pengguna.
Bab 4. Hasil dan Pembahasan Bab ini membahas mengenai uji algoritma yang digunakan dengan algoritma lainnya, evaluasi/analisis hasil percobaan, evaluasi pengguna, dan evaluasi sistem. Bab 5. Simpulan dan Saran Bab ini membahas mengenai kesimpulan dari penelitian ini dan saran untuk pengembangan berikutnya. Berdasarkan penelusuran mengenai penelitian terkait, didapatkan perbedaan penelitian “Penerapan Teknologi Hand Detection dan Hand Recognition dalam Membantu Proses Presentasi” dengan beberapa penelitian yang telah pernah dilakukan, antara lain: penelitian ini berfokus pada pengendalian slide presentasi dan juga gerakan mouse sederhana dengan menggunakan bantuan web camera serta menggunakan algoritma Haar-Training dan Convex Hull sebagai pedoman dalam melakukan pendeteksian objek tangan dan bentuk tangan.
Pada tahap pengembangan, akan dilakukan pembelajaran mengenai bagaimana mendeteksi pola tangan agar dapat menjadi input-an sehingga dapat dijadikan sebagai event yang menjadi fitur utama dari aplikasi ini. Pada tahapan akhir ini, akan dilakukan perbaikan terhadap aplikasi ini dan menambahkan fitur-fitur pendukung agar dapat digunakan dengan mudah oleh semua jenis pengguna. 7. Kesimpulan dan Saran Berdasarkan penelitian ini, objek tangan dapat dijadikan sebagai input-an dalam mengendalikan komputer sehingga dapat membantu dalam proses presentasi. Sistematika penulisan ini menjelaskan kerangka penulisan yang telah dibuat secara
3
komputer. Dalam tahapan ini menggunakan algoritma Haar-Training. Dengan algorima Haar-Training ini memerlukan data yang akan digunakan sebagai sampel dalam proses pelatihan agar dapat mendeteksi objek dengan baik. Diperlukan data antara lain data positif dan data negatif.
METODE PENELITIAN
Gambar 2.
Gambar 3.
Contoh gambar positif
Gambar 4.
Contoh gambar negatif
Diagram alir aplikasi Linda
Berikut ini merupakan langkah-langkah yang dilakukan dalam membangun aplikasi Linda: 1. Capture Pada tahapan ini, aplikasi akan menangkap tampilan layar proyeksi sebagai latar belakang dari objek. Proses pada tahapan ini hanya menampilkan tampilan yang tertangkap oleh web camera.
Setelah data positif dan negatif diperoleh, untuk penyesuaian data pada aplikasi ini data gambar ini dapat diolah terlebih dahulu melalui proses resize atau perubahan ukuran gambar sesuai dengan kebutuhan disertai dengan crop atau pemotongan besarnya area yang akan ditraining. Pengambilan koordinat yaitu tahapan yang dilakukan setelah data positif terkumpul. Gambar positif yang diambil koordinatnya akan dipilih dan diseleksi sesuai dengan tampilan posisi tangan yang menjadi objek. Data koordinat ini akan disimpan dalam sebuah file yang akan ditraining menjadi cascade sebelum dikonversi menjadi XML. Kemudian akan ada tahapan pembuatan sampel, Tahap ini merupakan proses pembuatan sampel dari beberapa gambar yang telah dikumpulkan. Setelah semua tahapan selesai maka akan dilanjutkan dengan tahapan training data, pada tahap ini, sampel yang ada akan diproses dalam ukuran A * B piksel, dengan A adalah ukuran lebar gambar dan B adalah ukuran tinggi gambar. Tahapan terakhir adalah hasil dari training yang telah dilakukan akan dikonversi menjadi file XML.
2. Transformation Dalam tahapan ini, layar proyeksi yang tertangkap web camera akan ditransformasi berdasarkan file yang menyimpan koordinat yang diambil pada tahap calibration. Tahap calibration merupakan tahap pengambilan titik koordinat layar proyeksi yang tertangkap oleh web camera untuk dijadikan batasan ruang lingkup yang akan menjadi proyeksi dari layar monitor. 3. Image processing Pada tahapan ini, tampilan/gambar yang tertangkap oleh web camera akan diproses melalui beberapa jenis proses dalam pengolahan gambar, antara lain akan mengalami tahapan crop, grayscale, saturate, dan threshold gambar. 4. Hand detection Hand detection merupakan tahapan yang paling penting. Pada tahap ini, objek tangan yang tertangkap oleh web camera akan dikenali sebagai tangan yang nantinya akan diproses lagi untuk dijadikan input dalam mengoperasikan
5. Hand recognition Setelah melalui tahap mendeteksi objek tangan maka selanjutnya pada tahap ini
4
akan dilakukan pengenalan pola atau bentuk tangan. Pada tahap ini, pengenalan pola tangan ditentukan berdasarkan jumlah jari dari tangan yang terdeteksi yang selanjutnya akan digunakan sebagai inputan pada aplikasi ini. Dalam tahapan ini menggunakan algoritma Convex Hull. 6. Event handler Tahap ini merupakan tahapan terakhir dalam membangun aplikasi ini. Pada tahapan ini akan diimplementasi semua proses sebelumnya untuk dijadikan inputan dalam mengoperasikan komputer.
Gambar 6.
Grafik hasil percobaan yang benar dalam mendeteksi objek
Pada diagram di atas, terlihat bahwa hasil percobaan menghasilkan sebanyak 10 hasil yang benar atau nilai persentasenya sebesar 100% dan yang salah mendeteksi objek (tangan) yaitu sebesar 0 atau nilai persentasenya sebesar 0% sehingga, dapat disimpulkan bahwa jumlah data positif dan negatif yang digunakan pada saat proses training mempengaruhi hasil pendeteksian.
HASIL DAN BAHASAN Berdasarkan penelitian dan percobaan yang telah dilakukan menggunakan algoritma Haar-Training dalam mendeteksi objek dengan metode XML yang menggunakan sebanyak 360 gambar positif dan 174 gambar negatif, yang telah di-resize dan crop menjadi ukuran 600 x 600 piksel, didapatkan hasil percobaan sebagai berikut:
Berdasarkan hasil percobaan pendeteksian tangan dan penelusuran serta referensi dari berbagai sumber pada bahasan sebelumnya, didapatkan bahwa algoritma Haar-Training mendeteksi tangan dengan tepat. Berikut ini merupakan hasil penggabungan algoritma Haar-Training dalam mendeteksi tangan dengan algoritma Convex Hull dalam mengenali pola tangan:
Gambar 5.
Gambar hasil percobaan
Tabel 1. Tabel hasil percobaan Sampel Benar Salah 1 1 0 2 1 0 3 1 0 4 1 0 5 1 0 6 1 0
Gambar 7.
5
Gambar hasil percobaan
Berdasarkan percobaan diatas dapat disimpulkan bahwa penggabungan algoritma Haar-Training dengan Convex Hull dapat mendeteksi dan mengenali pola dengan baik.
Pada gambar di atas, terlihat bahwa hasil pendeteksian pada jarak 5.92 meter antara webcam dengan layar proyeksi tidak akurat.
Selain percobaan pendeteksian dan pengenalan pola tangan, dilakukan juga percobaan pada 3 jenis jarak yang berbeda antara webcam dengan layar proyeksi, yaitu sebagai berikut: a. Jarak sebesar 1.70 meter
d. Kesimpulan Berdasarkan percobaan yang telah dilakukan, dapat disimpulkan bahwa pada jarak 5.92 meter antara webcam dengan layar proyeksi menghasilkan pendeteksian yang tidak akurat sedangkan, pada jarak 2.85 meter dan 1.70 meter menghasilkan pendeteksian yang akurat. Percobaan aplikasi ini juga dilakukan dengan 3 jenis intensitas cahaya ruangan yang berbeda, yaitu: a. Intensitas cahaya nilai default settings
Gambar 8.
Hasil percobaan pada jarak 1.70 meter antara webcam dengan layar proyeksi
Pada gambar di atas, terlihat bahwa hasil pendeteksian pada jarak 1.70 meter antara webcam dengan layar proyeksi akurat. b. Jarak sebesar 2.85 meter
Gambar 11. Tampilan menu options tab advanced dengan nilai default settings Gambar 9.
Hasil percobaan pada jarak 2.85 meter antara webcam dengan layar proyeksi
Pada gambar di atas, terlihat bahwa hasil pendeteksian pada jarak 2.85 meter antara webcam dengan layar proyeksi akurat.
Gambar 12. Hasil percobaan dengan intensitas cahaya ruangan menggunakan nilai default settings
c. Jarak sebesar 5.92 meter
Pada gambar di atas, terlihat bahwa hasil pendeteksian dengan intensitas cahaya ruangan menggunakan nilai default settings akurat. b. Intensitas cahaya dengan nilai brightnessalpha sebesar 5 Gambar 10. Hasil percobaan pada jarak 5.92 meter antara webcam dengan layar proyeksi
6
Gambar 13. Tampilan menu options tab advanced dengan nilai brightness-alpha sebesar 5
Gambar 16. Tampilan menu options tab advanced dengan nilai brightness-beta sebesar 50
Gambar 14. Perbedaan intensitas cahaya akibat perubahan nilai brightness-alpha sebesar 5 dari default settings
Gambar 17. Perbedaan intensitas cahaya akibat perubahan nilai brightness-beta sebesar 50 dari default settings
Gambar 15. Hasil percobaan dengan intensitas cahaya ruangan yang nilai brightness-alpha diubah menjadi 5
Gambar 18. Hasil percobaan dengan intensitas cahaya ruangan yang nilai brightness-beta diubah menjadi 50
Pada gambar di atas, terlihat bahwa hasil pendeteksian dengan intensitas cahaya ruangan yang nilai brightnessalpha diubah menjadi 5 tidak akurat.
Pada gambar di atas, terlihat bahwa hasil pendeteksian dengan intensitas cahaya ruangan yang nilai brightness-beta diubah menjadi 50 akurat.
c. Intensitas cahaya dengan nilai brightnessbeta sebesar 50
d. Kesimpulan Berdasarkan percobaan yang telah dilakukan, dapat disimpulkan bahwa dengan intensitas cahaya ruangan yang menggunakan nilai default dan nilai brightness-beta yang diubah menjadi 50 menghasilkan pendeteksian yang akurat. Sedangkan dengan adanya perubahan nilai brightness-alpha menjadi 5 menghasilkan pendeteksian yang tidak akurat.
7
Deitel, P. J., & Deitel, H. M. (2010). C How to Program (6th ed.). Boston: Pearson Education, Inc.
SIMPULAN DAN SARAN Pada bagian ini akan diulas mengenai beberapa simpulan dari penelitian dalam membangun aplikasi Linda yang didapat dari percobaan yang dilakukan dalam penelitian ini, yaitu antara lain: 1. Pada penelitian ini, jumlah sampel data yang di-training sebaiknya mempunyai jumlah yang berimbang antara sampel positif dan sampel negatif (jumlah negatif dan positif tidak berbeda jauh jumlahnya). 2. Tingkat keakuratan dapat mencapai 100% dalam mendeteksi objek serta mengenali objek tergantung pada pengaturan nilai threshold, brightness (alpha dan beta) terhadap intensitas cahaya yang ada. 3. Pada penelitian ini, ukuran sampel yang di-training mempengaruhi tingkat keakurasian pada saat pendeteksian objek (tangan). Pendeteksian tangan mencapai tingkat keakurasian maksimum dengan ukuran sampel 600 x 600 pixel serta ukuran 30 x 30 pixel pada saat proses training. 4. Berdasarkan penelusuran dan penelitian yang dilakukan dalam pendeteksian objek, algoritma Haar-Training lebih baik dibandingkan dengan algoritma Convex Hull. Oleh karena itu, dilakukan penggabungan algoritma Haar-Training untuk pendeteksian tangan dengan Convex Hull untuk pengenalan pola. 5. Jarak web camera pada penelitian ini, berpengaruh pada tingkat keakurasian pendeteksian objek.
EdrawSoft. (2004). Standard Flowchart Symbols and Their Usage. Retrieved Januari 12, 2014, from http://www.edrawsoft.com/flowchartsymbols.php Fairhurst, M. C. (1988). Computer Vision for Robotic Systems. An Introduction. Hertfordshire: Prentice Hall, Inc. Fussell, D. (2010). Texture Mapping. 1-22. Gonzalez, R. C., & Woods, R. E. (2008). Digital Image Processing (3rd ed.). New Jersey: Prentice Hall. Jiang, J., Ma, J., & Jin, Y. (2012). Computer Music Controller Based on Hand Gestures Recognition Through Web-cam. EE368 Digital Image Processing, Stanford University. Licsár, A., & Szirányi, T. (2004). Dynamic Training of Hand Gesture Recognition System. 17th International Conference on Pattern Recognition, 4, 1-4. Park, H. (2010). A Method for Controlling Mouse Movement using a Real-Time Camera. 1-10. Ramadijanti, N., Setiawardhana, & Alhaqqi, R. M. (2013). Tracking Jari dengan Haar Cascade dan Filter Kalman pada Virtual Keyboard. Inovtek, 3, 1-9. Rich, E., & Knight, K. (1991). Artificial Intelligence (2nd ed.). New York: McGraw-Hill, Inc.
REFERENSI
Satzinger, J. W., Jackson, R. B., & Burd, S. D. (2009). System Analysis and Design in a Changing World (5th ed.). Boston: Course Technology.
Angel, E., & Shreiner, D. (2012). Interactive Computer Graphics. A Top-Down Approach with Shader-Based OpenGL (6th ed.). England: Pearson Education, Inc.
Shneiderman, B., & Plaisant, C. (2010). Designing the User Interface: Strategies for Effective Human-Computer Interaction (5th ed.). Boston: Pearson Education, Inc.
Blinn, J. F., & Newell, M. E. (1976). Texture and Reflection in Computer Generated Images. Communications of the ACM, 19, 542-547.
Sommerville, I. (2011). Software Engineering (9th ed.). Boston: Pearson Education, Inc.
Bradski, G., & Kaehler, A. (2008). Learning OpenCV. Computer Vision with the OpenCV Library (1st ed.). Sebastopol: O'Reilly Media, Inc.
Sugiyono. (2009). Metode Penelitian Kuantitatif, Kualitatif dan R&D. Bandung: Alfabeta.
Connolly, T., & Begg, C. (2010). Database Systems. A Practical Approach to Design, Implementation, and Management (5th ed.). Boston: Pearson Education, Inc.
Turban, E., & Frenzel, L. E. (1992). Expert Systems and Applied Artificial Intelligence. New York: Macmillan, Inc.
8
RIWAYAT PENULIS Bellinda Prayoga lahir di Tanjung Pandan pada 09 Juni 1993. Penulis menamatkan pendidikan S1 di Universitas Bina Nusantara dalam bidang teknik informatika pada tahun 2014. Saat ini bekerja sebagai Network Administrator di Software Laboratory Center. Fifilia lahir di Jakarta pada 13 Februari 1993. Penulis menamatkan pendidikan S1 di Universitas Bina Nusantara dalam bidang teknik informatika pada tahun 2014. Saat ini bekerja sebagai Database Administrator di Software Laboratory Center. Dewi Suryani lahir di Jambi pada 26 Desember 1992. Penulis menamatkan pendidikan S1 di Universitas Bina Nusantara dalam bidang teknik informatika pada tahun 2014. Saat ini bekerja sebagai Subject Coordinator di Software Laboratory Center.
9