PAPER ID : 010 Pengenalan Bahasa Isyarat Indonesia Berbasis Sensor Accelerometer dan Sensor Flex Menggunakan Dynamic Time Warping Mohammad Iqbal1,2) I Ketut Eddy Purnama1) Mauridhi Hery Purnomo1) 1)
2)
Jurusan Teknik Elektro ITS, Surabaya 60111 Jurusan Teknik Elektro, Universitas Muria Kudus, Gondangmanis Kudus 59352 email: 1)
[email protected], 2)
[email protected], 3)
[email protected].
Abstrak – Bahasa isyarat bisasanya digunakan untuk berkomunikasi di kalangan tuna rungu, tapi untuk dapat berkomunikasi dengan masyarakat luas diperlukan perantara, yaitu seorang penerjemah yang mengerti bahasa isyarat atau suatu alat bantu (piranti) yang mampu mampu mengenali bahasa isyarat. Dalam makalah ini dibahas tentang pengenalan bahasa isyarat indonesia berbasis sensor accelerometer dan sensor flex menggunakan metode dynamic time warping. Dari data-data sensor dilakukan ekstraksi ciri yaitu bentuk lekukan jarijari tangan dan gerakan tangan terhadap sumbu x, y dan z. Vektor ciri yang didapat dari data testing kemudian dicocokkan dengan data template, satu per satu, menggunakan metode dynamic time warping. Data template yang paling cocok diukur berdasarkan nilai jarak (distance) yang paling minimum. Pengujian dengan dilakukan menggunakan dataset 200 data yang terdiri dari 10 kelas (isyarat kata), dimana masing-masing kelas terdiri dari 20 data. Untuk data testing diambil 10 data untuk tiap-tiap kelas, dan 10 sisanya sebagai data template. Hasil pengujian menunjukkan akurasi mencapai 100%. Kata Kunci: bahasa isyarat indonesia, dynamic time warping DTW 1. PENDAHULUAN Seiring dengan kemajuan teknologi, telah dilakukan penelitian dalam rangka untuk menghasilkan piranti bantu untuk menerjemahkan bahasa isyarat ke dalam tulisan dan atau suara. Kategori penelitian yang dilakukan, dapat dibedakan menjadi dua yaitu pendekatan berbasis visi komputer (computer vision)[5][6] dan pendekatan berbasis data sensor[7][8][9]. Pada pendekatan berbasis visi komputer digunakan file video streaming atau langsung melalui kamera yang menangkap gerakan bahasa isyarat. Pendekatan ini lebih sulit, karena sebelum dilakukan proses pengenalan harus dilakukan pra proses berupa pengolahan citra (image processing) dulu, seperti segmentasi dan tracking
tangan, sehingga dibutuhkan waktu komputasi yang lebih lama. Selain itu terdapat permasalahan pada visi komputer sendiri, seperti noise, perbedaan intensitas, dan occlusion. Sedangkan pada pendekatan berbasis data sensor, dilakukan dengan menggunakan rangkaian sensor yang terintegrasi dengan sarung tangan (glove). Sensor ini menghasilkan besaran listrik yang terukur, untuk mengetahui derajat tekukan jari-jari tangan dan gerakan tangan. Sedangkan metode yang banyak digunakan adalah HMM (Hidden Markov Model) [6][7] dan ANN (Artificial Neural Network) [5][8][9]. Khusus untuk pengenalan bahasa isyarat Indonesia berbasis sensor telah dilakukan penelitian oleh Evita [9] dengan menggunakan metode ANN, dimana datadata yang diolah, diperoleh dari sensor flex, yang meliputi informasi lelukan jari-jari tangan, lekukan pergelangan, lekukan lengan dan lekukan bahu. Pada makalah ini diusulkan metode Dynamic Time Warping (DTW) untuk pengenalan bahasa isyarat Indonesia berbasis sensor. Pada penelitian ini, selain digunakan sensor flex untuk mengetahui informasi bentuk tangan oleh lekukan jari-jari, juga digunakan sensor accelerometer untuk mendapatkan informasi gerakan tangan. DTW merupakan teknik penyelarasan (aligment) data yang bersifat sekuensial (time series). Teknik DTW yang secara umum telah digunakan pada pengenalan suara, tetapi dalam perkembangannya, DTW juga telah diterapkan untuk aplikasi lain, diantaranya untuk pengenalan gerak isyarat (gesture)[1], data mining [4] dan verfikasi tanda tangan[2]. 2. SISTEM PENGENALAN BAHASA ISYARAT INDONESIA Bahasa isyarat isyarat Indonesia juga dikenal dengan istilah SIBI (Sistem Isyarat Bahasa Indonesia). Isyarat dalam SIBI secara garis besar dapat dibedakan menjadi dua, yaitu isyarat alfabet dan isyarat kata. Untuk isyarat alfabet, SIBI mengacu kepada ASL (American Sign Language), sedangkan untuk isyarat kata terdapat standar khusus kata bahasa Indonesia
dan dibakukan dalam bentuk kamus sistem isyarat bahasa Indonesia. Isyarat alfabet biasanya digunakan terbatas, yaitu untuk mengeja nama atau kata yang belum tercantum dalam kosa kata kamus. Isyarat kata lebih banyak digunakan dalam prakteknya dan memiliki jumlah isyarat yang jauh lebih besar. Baik isyarat alfabet maupun isyarat kata memiliki komponen-komponen isyarat. Komponen isyarat yang utama adalah bentukan jari-jari tangan dan gerakan tangan. Pada sebagian besar isyarat kata, gerakan tangan lebih dominan dan bervariasi dibandingkan dengan bentukan jari-jari tangan. Oleh karena itu, pada penelitian Evita[9] yang hanya menggunakan sensor flex, akurasi pengenalannya turun drastis dari 83,18% untuk isyarat kata yang statis menjadi 49,58% untuk isyarat kata yang dinamis. Dalam penelitian ini, pengenalan juga ditujukan untuk isyarat kata bahasa Indonesia, tetapi dengan penambahan jenis sensor yang lain dan penggunaan metode yang berbeda. Dua informasi komponen utama isyarat kata diukur dengan penggunaan sensor flex dan sensor accelerometer yang diintegrasikan dalam bentuk sarung tangan sebagai piranti akusisi data. Blok diagram sistem pengenalan bahasa isyarat Indonesia berbasis sensor accelerometer dan sensor flex dengan metode DTW ditunjukkan pada gambar 1. Piranti Akusisi Data
Akusisi Data Data Testing
Ekstraksi Ciri
Data Template
Ekstraksi Ciri
File Dataset
Pencocokan Template
DTW
Nilai Pencocokan
Gambar 1: Diagram blok sistem pengenalan bahasa isyarat Indonesia menggunakan DTW
2.1. Piranti akusisi data Untuk mendapatkan ciri berupa bentuk dan gerakan tangan, didesain dan dibuat rangkaian sensor yang diintegrasikan dengan sarung tangan sebagaimana diperlihatkan pada gambar 2. Sensor yang digunakan adalah 5 buah sensor flex dan sebuah accelerometer 3 axis. Sensor flex bersifat resisif terhadap tekukan, dimana ketika ditekuk nilai resistansi semakian besar sampai dengan 110kΩ dari kondisi normalnya 10kΩ dengan toleransi ±30% [10]. Sedangkan untuk sensor accelerometer digunakan modul Parallax yang mengintegrasikan sensor accelerometer Hitachi H48C dengan ADC (Analog to Digital Converter 12 bit. Keluaran modul H48C ini berupa data counting 12 bit, dimana untuk menghitung nilai akselarasinya digunakan rumus sebagaimana ditentukan di dalam datasheet-nya [12]. Accelerometer Hitachi H48C dapat mengukur akselarasi dinamis dan akselerasi statis (kemiringan) untuk tiga sumbu x, y dan z dengan batas pengukuran ±3g, dan non-linieritas ±2%.
Rangkaian elektronika pada sarung tangan dilengkapi dengan mikrokontroler AVR ATMega8 untuk komunikasi data secara serial dengan komputer dalam proses akusisi data.
sensor flex accelerometer
Antarmuka USB2Serial
Gambar 2: Sarung tangan terintegrasi sensor
2.2. Akusisi Data Data dari sensor dibaca oleh mikrokontroler, kemudian dikirimkan ke komputer melalui komunikasi serial dengan menggunakan antarmuka USB2Serial pada frekuensi sampling 10 Hz. Data sensor yang diambil memiliki 9 besaran yang masing-masing mewakili: a. lekukan jari jempol b. lekukan jari telunjuk c. lekukan jari tengah d. lekukan jari kelingking e. lekukan jari manis f. akselarasi pada sumbu X g. akselarasi pada sumbu Y h. akselarasi pada sumbu Z i. nilai referensi untuk menghitung akselarasi X, Y dan Z. Untuk kelima data lekukan jari telah dinormalisasi untuk menyamakan perbedaan nilai toleransi dari di antara sensor-sensor flex yang digunakan. Besaran lekukan jari dinormalisasi pada range nilai 0 sampai 20 menggunakan persamaan 1 sebelum disimpan dalam file dataset.
X norm
X i X min * 20 X min X max
(1)
Sedangkan untuk besaran akselarasi masih berupa data counting, yang diambil 8-bit MSB (Most Significant Bit) dari 12 bit data counter-nya. Untuk mendapatkan nilai akselerasi yang sebenarnya diperlukan perhitungan khusus yang dijelaskan pada bagian ekstraksi ciri. Contoh data gerak isyarat kata ‘cahaya’ yang tersimpan pada dalam bentuk file dengam format teks pada proses akusisi data diperlihatkan pada tabel 1. Data yang tersimpan adalah data sekuensial, dengan panjang
(baris) yang berbeda yang bergantung jenis isyarat kata dan kecepatan gerakan pada saat melakukan isyarat. Pada contoh, panjang data isyarat kata ‘cahaya’ adalah 17. Tabel 1. Contoh data sekuensial isyarat kata ‘cahaya’
1 N ( X i X )2 N i 1
(3)
Sedangkan untuk data accelormeter dihitung nilai akselerasi a yang sebenarnya, digunakan rumus yang sebagaimana tercantum dalam datasheet [12], dimana a = (c – reff) * 0.0022 * 16 (4) Nilai akselerasi a ini relatif kecil terhadap nilai normalisasi lekukan jari, sehingga dilakukan kuantisasi nilai akselarasi a untuk masing-masing sumbu X, Y dan Z berdasarkan tabel 2. Proses kuantisasi juga bertujuan untuk mengatasi ketidaklinieran sensor accelerometer, yaitu dengan membagi range pengukuran menjadi beberapa sub-range yang kemudian dikuantisasi secara linier [15]. Tabel 2. Kuantisasi akselerasi
Kolom [c1…c5] adalah data dari sensor flex untuk lekukan jari jempol sampai dengan jari kelingking, sedangkan [c6..c9] adalah data dari sensor accelerometer untuk sumbu X, Y, Z dan referensi. Baris [r1..r17] menunjukkan urutan data diambil/disimpan, yaitu dari awal gerakan isyarat satu kata sampai dengan selesai gerakan isyarat kata tersebut. Gerak isyarat kata bahasa Indonesia yang dilakukan mengacu pada video gerak isyarat yang terdapat pada [11] yang merupakan visualisasi dari gambar dua dimensi dalam kamus sistem isyarat bahasa Indonesia. 2.3. Ekstraksi Ciri Ekstraksi ciri dilakukan untuk mendapatkan besaran-besaran yang menunjukkan kekhususan dari data yang diolah. Ekstraksi ciri ini merupakan salah satu bagian terpenting dan berpengaruh terhadap akurasi hasil pengenalan. Untuk data testing dan data template dilakukan ekstraksi ciri yang sama untuk mendapatkan vektor ciri. Vektor ciri terdiri dari nilai-nilai hasil olahan data flex dan data accelerometer yang membentuk baris angka (nilai). Untuk data sensor flex yang mewakili ciri bentuk tangan, dihitung nilai rata-rata dan nilai simpangan baku (standard deviation) untuk tiap-tiap lekukan jari. Penggunaan nilai simpangan baku, dimaksudkan untuk mewakili perubahan lekukan tangan yang terjadi selama melakukan gerak isyarat kata.
X
1 N Xi N i 1
(2)
2.4. Dynamic Time Warping Gerak isyarat merupakan data sekuensial (time series) dimana tiap elemen data diukur dan disimpan pada satu periode waktu yang tetap antara elemen satu dengan yang berikutnya. Salah satu metode untuk membandingkan dua data sekunesial dengan panjang yang berbeda adalah dengan algoritma Dynamic Time Warping (DTW). Penjelasan algoritma secara lengkap dapat ditemukan pada [3]. Jika diasumsikan terdapat dua data sekuensial, Q dan C, dengan panjang masing-masing n dan m dimana Q = q1, q2, ..., qi, ..., qn C = c1, c2, ..., cj, ...., cm
(5) (6)
Maka untuk menyelaraskan (align) kedua sekuensial tersebut mengunakan DTW, dibentuk matriks m x n dimana elemen matriks (i,j) berupa nilai jarak d(qi,cj) antara dua titik qi dan, yaitu d(qi,cj) = (qi– cj)2. Setiap elemen matriks (i,j) berhubungan dengan penyelarasan (alignment) antara titik qi dan cj sebagaimana ditunjukkan pada gambar 3. Warping path W merupakan sekelompok elemen matriks yang berdampingan yang mendefinisikan pemetaan antara Q dan C. Elemen ke-k dari W dirumuskan sebagai wk = (i,j)k, sehingga
W = w1, w2, ..., wk, ..., wK
(7)
dimana: max(m,n) K < m+n – 1 Sedangkan path didefinisikan sebagai jarak kumulatif D(i,j) yaitu jarak d(ci,qj) untuk elemen tersebut ditambah dengan minimum dari jarak kumulatif dari elemen bertetanggaan (adjacent). D(i,j) = d(ci,qj)+min{D(i-1,j-1),D(i-1,j),D(i,j-1)} (8) Setelah didapatkan warping path yang optimal maka jarak atau warping cost dihitung berdasarkan persamaan (9). DTW(Q,C) = min
K
k 1
wk
(9)
DTW memiliki kompleksitas waktu komputasi O(nm).
sedangkan yang di luar diagonal utama adalah yang salah dikenali oleh sistem [14]. Contoh confusion matrix hasil pengenalan ditunjukkan pada tabel 4. Dengan menggunakan data confusion matrix ini, dapat diperoleh beberapa besaran untuk mengukur kinerja sistem, diantaranya yang digunakan dalam penelitian ini adalah akurasi (accuracy) dan sensitivitas (sensitivity). Akurasi digunakan untuk mengukur prosentase pengenalan secara keseluruhan dan dihitung sebagai jumlah data testing yang dikenali dengan benar (sesuai kelasnya) dibagi dengan jumlah seluruh data testing. Sedangkan sensitivitas atau yang disebut juga recall digunakan untuk mengukur prosentase pengenalan untuk masing-masing kelas dan dihitung sebagai jumlah data testing untuk satu kelas tertentu yang dikenali dengan benar (sesuai kelasnya) dibagi dengan jumlah seluruh data testing untuk kelas tersebut. 3. HASIL DAN PEMBAHASAN Untuk melakukan pengujian, diambil data 10 kelas gerak isyarat kata yang masing-masing mempunyai 20 data sampel, sehingga terdapat total 200 dataset. Dari 20 data sampel, diambil 10 data sampel untuk masing-masing kelas sebagai data testing dan 10 sisanya sebagai data template. Perangkat yang digunakan untuk komputasi menggunakan Netbook Acer Aspire 3810T dengan spesifikasi Intel Core2Solo 1,4GHz FSB 800MHz, RAM 2GB DDR3 dan Graphic Card Intel GMA 4500MHD. Sedangkan tool yg digunakan adalah bahasa pemrograman Delphi versi 7.0 untuk proses akusisi data dan Matlab versi 7.0 untuk komputasi proses pengenalannya. Pengujian yang dilakukan adalah dua jenis pengujian, yaitu yang berhubungan prosentase pengenalan dan lamanya waktu yang dibutuhkan untuk proses pengenalan.
Gambar 3 : A) dua sekuensial Q dan C; B) matrik warping dimana bagian yang gelap adalah warping path yang optimal; C) hasil penyelarasan [3]
2.5. Evaluasi Kinerja Sistem Kinerja sistem pengenalan bahasa isyarat ini dievaluasi menggunakan confusion matrix. Confusion matrix berisi informasi detail tentang hasil pengenalan (klasifikasi) oleh sistem terhadap data testing yang disusun membentuk matrik. Elemen pada diagonal utama () confusion matrix menunjukkan jumlah data testing yang dikenali dengan benar (sesuai kelasnya) oleh sistem,
Gambar 4 : Pengaruh jumlah template terhadap akurasi
Pengujian pertama dilakukan untuk melakukan pengenalan untuk semua data testing dengan menggunakan data template tiap kelas yang berbeda, yaitu 1 sampai dengan 10. Hasil pengujian ini ditunjukkan pada gambar 4 dan tabel 3. Hasil pengujian menunjukkan bahwa semakin besar jumlah template, maka dihasilkan akurasi yang semakin besar, tetapi hal ini tidak selalu berlaku untuk sensitivitasnya (yang menunjukkan prosentase pengenalan untuk masing-masing kelas), sebagaimana ditunjukkan pada tabel 3. Akurasi terbesar adalah 100% dengan menggunakan 10 data template tiap kelasnya. Tabel 3. Sensitivitas untuk jumlah template per kelas yang berbeda
Dari 10 kelas, isyarat kata yang sulit dikenali adalah kata ‘abang’, yang oleh sistem dikenali sebagai isyarat kata ‘cacing’ sebagaimana ditunjukkan oleh confusion matrix pada tabel 4. Isyarat kata ‘abang’ mempunyai awal gerakan tangan yang sama dengan isyarat tangan ‘cacing’, dan pada keduanya terdapat bentukan jari tangan yang hampir sama (sebagaimana gambar 5), sehingga dikenali sama oleh sistem. Gerakan isyarat kata ‘cacing’ lebih pendek dari gerakan isyarat ‘abang’, yang diawali dengan gerakan yang sama dan dengan lekukan telunjuk tangan yang hampir sama, yaitu tangan mengenggam, tapi untuk isyarat kata ‘cacing’ dengan jari telunjuk lurus kemudian menekuk. Tabel 4. Confusion matrix untuk testing dengan jumlah template per kelas 5 sampai dengan 8.
Gambar 5 : Isyarat kata ‘abang’ dan ‘cacing’
Pengujian kedua dilakukan untuk mengetahui waktu yang dibutuhkan untuk proses pengenalan satu data testing terhadap jumlah template yang berbeda untuk tiap kelasnya. Hasil pengujian ini ditunjukkan pada gambar 6.
Gambar 6: Pengaruh jumlah template terhadap waktu
Besaran waktu waktu yang terukur sebenarnya relatif bergantung perangkat dan tool komputasi yang digunakan. Oleh karena itu, hasil yang didapat lebih ditujukan untuk sifat linerieritasnya dan kemungkinannya untuk bisa diterapkan pada proses pengenalan secara online. Hasil pengujian kedua ini menunjukkan bahwa semakin besar jumlah template yang digunakan maka waktu yang diperlukan juga semakin lama, akan tetapi kenaikannya bersifat linier dan dimungkinkan untuk diterapkan pada proses pengenalan secara online. 4. KESIMPULAN Penelitian ini mengembangkan sistem pengenalan bahasa isyarat Indonesia berbasis sensor accelerometer dan sensor flex. Pada tahap penelitian ini, dilakukan pengujian untuk mengenali 10 isyarat kata (kelas) SIBI (Sistem Isyarat Bahasa Indonesia) dengan menggunakan metode Dynamic Time
Warping (DTW). Hasil pengujian menunjukkan bahwa metode DTW yang digunakan mampu mengenali isyarat kata dengan akurasi sampai dengan 100%. Sampai saat ini penelitian masih dikembangkan untuk penggunaan dataset yang lebih besar dan kemungkinan penerapan secara langsung (online) dalam bentuk prototipe/alat penerjemah isyarat bahasa Indonesia. Penelitian ini mendapat bantuan dana dari Direktorat Jenderal Perguruan Tinggi melalui Beasiswa Program Pasca Sarjana (BPPS) untuk periode tahun akademik 2009/2010 sampai dengan 2010/2011. DAFTAR REFERENSI [1] Ahmad Akl, Shakrokh Valaee (2010). Accelerometer-Based Gesture Recognition via Dynamic-Time Warping, Affinity Propagation & Compressive Sensing. IEEE ICASSP. pp22702273 [2] A. Piyush Shanker, A.N. Rajagopalan (2007). Offline signature verification using DTW. Pattern Recognition Letters 28, pp. 1407–1414 [3] Eamonn Keogh (2002). Exact indexing of dynamic time warping. Proceedings of the 28th VLDB Conference, Hong Kong, China [4] Eamonn J. Keogh, Michael J. (2000). Scaling up Dynamic Time Warping for Datamining Applications. ACM. pp.285-289 [5] Y.-H.Lee, C.-Y.Tsai, (2009), Taiwan sign language (TSL) recognition based on 3D data
and neural networks, Expert Systems with Applications 36, pp. 1123–1128 [6] M.AL-Rousan et al., (2009), Video-based signerindependent Arabic sign language recognition using hidden Markov models, Applied Soft Computing 9, pp. 990–999. [7] W.Gaoetal, (2004), A Chinese sign language recognition system based on SOFM/SRN/HMM, Pattern Recognition 37, pp. 2389–2402 [8] C.Oz, M.C.Leu, (2007), Linguistic properties based on American Sign Language isolated word recognition with artificial neural networks using a sensory glove and motion tracker, Neuro computing 70, pp. 2891–2901 [9] Evita Tunjung Sekar (2001), Perancangan dan Implementasi Prototipe Sistem Pengenalan Bahasa Isyarat. Tesis Magister ITB. Bandung. [10] Spectra Symbol, Flex Sensor FS [11] http://www.i-chat.web.id [12] Parallax Inc (2007), Hitachi H48C 3-Axis Accelerometer Module (#28026) Rev 1.2 [13] Departemen Pendidikan dan Kebudayaan, 1995, Kamus Sistem Isyarat Bahasa Indonesia. [14] Compumine. Evaluating a classification model – What does precision and recall tell me?, http://www.compumine.com/web/public/newsl etter/20071/precision-recall [15] J. Liu et al. (2009), uWave: Accelerometerbased personalized gesture recognition and its applications, Pervasive and Mobile Computing 5, pp. 657-675