• Tidak ada hasil yang ditemukan

Pengenalan Gerak Isyarat Menggunakan Layar Sentuh Virtual Dan Neural Network Backpropagation

N/A
N/A
Protected

Academic year: 2016

Membagikan "Pengenalan Gerak Isyarat Menggunakan Layar Sentuh Virtual Dan Neural Network Backpropagation"

Copied!
89
0
0

Teks penuh

(1)

PROG

FAKULTAS IL

TESIS

STEPHANUS PRIYOWIDODO

107038023

OGRAM STUDI S2 TEKNIK INFORMAT

S ILMU KOMPUTER DAN TEKNOLOGI

UNIVERSITAS SUMATERA UTARA

MEDAN

2014

ATIKA

(2)

Diajukan untuk

PROG

FAKULTAS IL

TESIS

k melengkapi tugas dan memenuhi syarat mem

Magister Teknik Informatika

STEPHANUS PRIYOWIDODO

107038023

OGRAM STUDI S2 TEKNIK INFORMAT

S ILMU KOMPUTER DAN TEKNOLOGI

UNIVERSITAS SUMATERA UTARA

MEDAN

2014

emperoleh ijazah

ATIKA

(3)

Judul Tesis

: PENGENALAN GERAK ISYARAT

MENGGUNAKAN LAYAR SENTUH VIRTUAL

DAN NEURAL NETWORK BACKPROPAGATION

Nama Mahasiswa

: STEPHANUS PRIYOWIDODO

Nomor Induk Mahasiwa

: 107038023

Program Studi

: Magister Teknik Informatika

Fakultas

: Ilmu Komputer dan Teknologi Informasi

Universitas Sumatera Utara

Komisi Pembimbing

:

Pembimbing 2

Pembimbing 1

Prof. Dr. Muhammad Zarlis

Prof. Dr. Opim Salim Sitompul

Diketahui/disetujui oleh

Magister Teknik Informatika

Ketua,

Prof. Dr. Muhammad Zarlis

(4)
(5)

PENGENALAN GERAK ISYARAT MENGGUNAKAN LAYAR

SENTUH VIRTUAL DAN NEURAL NETWORK

BACKPROPAGATION

TESIS

Saya mengakui bahwa tesis ini adalah hasil karya saya sendiri, kecuali beberapa kutipan

dan ringkasan yang masing-masing telah disebutkan sumbernya.

Medan, 07 Februari 2014

(6)

Sebagai sivitas akademika Universitas Sumatera Utara, saya yang bertanda tangan di

bawah ini :

Nama

: STEPHANUS PRIYOWIDODO

NIM

: 107038023

Program Studi

: Magister Teknik Informatika

Jenis Karya Ilmiah

:

Demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada

Universitas Sumatera Utara Hak Bebas Royalti Non-Eksklusif (Non-Exclusive Royalti

Free Right) atas tesis saya yang berjudul:

PENGENALAN GERAK ISYARAT MENGGUNAKAN LAYAR

SENTUH VIRTUAL DAN NEURAL NETWORK

BACKPROPAGATION

Berserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti Non-Eksklusif

ini, Universitas Sumatera Utara berhak menyimpan, mengalih media, memformat,

mengelola dalam bentuk database, merawat dan mempublikasikan tesis saya tanpa

meminta izin dari saya, selama tetap mencantumkan nama saya sebagai penulis dan

sebagai pemegang dan/atau sebagai pemilik hak cipta.

Demikian pernyataan ini dibuat dengan sebenarnya.

Medan, 07 Februari 2014

(7)

PANITIA PENGUJI TESIS

Ketua

: Prof. Dr. Opim Salim Sitompul

Anggota

: 1. Prof. Dr. Muhammad Zarlis

2. Prof. Dr. Herman Mawengkang

3. Dr. Benny Benyamin Nasution

(8)

Syukur AlhamduLILLAH penulis panjatkan ke hadirat ALLAH SWT atas limpahan

rahmat dan karunia-Nya sehingga tesis ini selesai. Perkenankanlah penulis mengucapkan

terima kasih kepada:

Rektor Universitas Sumatera Utara, Prof. Dr. dr. Syahril Pasaribu DTM&H,

M.Sc(CTM),Sp.A(K) atas kesempatan yang diberikan kepada penulis untuk mengikuti

dan menyelesaikan pendidikan Program Magister.

Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera

Utara, Prof. Dr. Muhammad Zarlis, yang memberi kesempatan kepada penulis menjadi

mahasiswa Program Magister pada Program Studi Magister Teknik Informatika Fakultas

Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

Ketua Program Studi Magister Teknik Informatika Prof. Dr. Muhammad Zarlis,

sekretaris Program Studi Bapak Muhammad Andri Budiman, ST., M.Comp.Sc yang telah

banyak memberikan saran dan arahan sehingga tesis ini dapat diselesaikan, beserta

seluruh staf pengajar dan administrasi pada Program Studi Magister Teknik Informatika

Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

Terimakasih dan penghargaan yang tinggi penulis ucapkan kepada Prof. Dr. Opim

Salim Sitompul selaku Pembimbing Utama yang dengan penuh perhatian telah

memberikan dorongan serta bimbingan kepada penulis, demikian juga kepada Prof. Dr.

Muhammad Zarlis selaku Pembimbing Lapangan yang dengan penuh kesabaran

menuntun dan membimbing penulis hingga selesainya penelitian ini.

Kepada seluruh keluarga, handai tolan yang telah memberikan dorongan dan

semangat, penulis ucapkan terima kasih, hanya ALLAH SWT sebaik-baik pemberi

balasan. Sebagai penutup, penulis berharap adanya kritik dan saran yang membangun

guna penyempurnaan penelitian ini.

(9)

ABSTRAK

Pengenalan gerak isyarat sangat penting untuk penggunaan beberapa jenis aplikasi seperti

antar-muka manusia mesin, pengendali interaksi robot, robot untuk keperluan pribadi,

sistem pemantau khusus dan robot sebagai alat bantu khusus. Kendala dalam pengenalan

gerak isyarat diantaranya teknik pengambilan koordinat objek, pemrosesan data objek,

pemilihan parameter neural network dan tingkat ketepatan pengenalan. Penelitian ini

menggunakan teknik layar sentuh virtual untuk memperoleh data koordinat objek, data

selanjutnya diproses dengan algoritma Bresenham dan dijadikan input pada neural

network backpropagation.

Hasil penelitian ini menunjukkan bahwa layar sentuh virtual dapat digunakan

sebagai alternatif pengambilan data koordinat objek, algoritma Bresenham dapat

membantu memaksimalkan penggambaran data dan neural network backpropagation

dapat mengenali seluruh gerak isyarat atau seratus persen data dengan baik setelah error

lebih kecil 0.8.

(10)

SCREEN AND BACKPROPAGATION

NEURAL NETWORK

ABSTRACT

Gesture recognition is very important to use several types of applications such as human

machine interface, control robot interaction, robot for personal use, special monitoring

and robotic systems as a special tool. Constraints in gesture recognition techniques

including retrieval object coordinates, object data processing, the selection of the neural

network parameters and the level of recognition accuracy. This study uses a virtual touch

screen technique to obtain the coordinates of the data object, the data is further processed

by the Bresenham algorithm and used as inputs to the neural network backpropagation.

The results of this study indicate that the virtual touch screen can be used as an

alternative to the object coordinate data collection, Bresenham algorithm can help

maximize the depiction of data and back propagation neural network can recognize all

gestures or one hundred percent of the data well after the error is smaller 0.8.

(11)

DAFTAR ISI

Halaman

Abstrak

i

Abstract

ii

Daftar Isi

iii

Bab I

Pendahuluan

1

1.1 Latar Belakang

1

1.2 Perumusan Masalah

3

1.3 Batasan Masalah

3

1.4 Tujuan Penelitian

4

1.5 Manfaat Penelitian

4

Bab II

Tinjauan Pustaka

5

2.1 Sensor RGB-D

5

2.1.1 Kinect

6

2.1.2 Skeleton

7

2.1.3 Microsoft API Skeleton

7

2.2 Neural Network

10

2.2.1 Fungsi Aktivasi

12

2.2.2 Neural Network Backpropagation

13

2.2.2.1 Algoritma Backpropagation

14

2.3 Algoritma Pengisian Pixel Bresenham

16

2.4 Algoritma Penghilang Duplikasi Data

17

2.3 Riset-riset Terkait

18

Bab III

Metodologi Penelitian

19

3.1 Pembangunan Aplikasi

19

3.1.1 Antar-muka Layar Sentuh Virtual

19

3.1.2 Antar-muka Peubah

20

3.1.3 Aplikasi Neural Network

20

3.2 Percobaan

20

3.3 Dataset

21

3.4 Instrumen Penelitian

23

Bab IV

Hasil dan Pembahasan

24

4.1 Pendahuluan

24

4.2 Layar Sentuh Virtual

24

4.3 Pengujian Neural Network

29

4.4 Hasil Percobaan

30

4.4.1 Percobaan Pertama

31

(12)

5.2 Saran

37

Daftar Pustaka

39

Lampiran

42

1.

Daftar Publikasi Ilmiah

42

2.

Contoh Data Teks 1

43

3.

Contoh Data Teks 2

47

(13)

ABSTRAK

Pengenalan gerak isyarat sangat penting untuk penggunaan beberapa jenis aplikasi seperti

antar-muka manusia mesin, pengendali interaksi robot, robot untuk keperluan pribadi,

sistem pemantau khusus dan robot sebagai alat bantu khusus. Kendala dalam pengenalan

gerak isyarat diantaranya teknik pengambilan koordinat objek, pemrosesan data objek,

pemilihan parameter neural network dan tingkat ketepatan pengenalan. Penelitian ini

menggunakan teknik layar sentuh virtual untuk memperoleh data koordinat objek, data

selanjutnya diproses dengan algoritma Bresenham dan dijadikan input pada neural

network backpropagation.

Hasil penelitian ini menunjukkan bahwa layar sentuh virtual dapat digunakan

sebagai alternatif pengambilan data koordinat objek, algoritma Bresenham dapat

membantu memaksimalkan penggambaran data dan neural network backpropagation

dapat mengenali seluruh gerak isyarat atau seratus persen data dengan baik setelah error

lebih kecil 0.8.

(14)

SCREEN AND BACKPROPAGATION

NEURAL NETWORK

ABSTRACT

Gesture recognition is very important to use several types of applications such as human

machine interface, control robot interaction, robot for personal use, special monitoring

and robotic systems as a special tool. Constraints in gesture recognition techniques

including retrieval object coordinates, object data processing, the selection of the neural

network parameters and the level of recognition accuracy. This study uses a virtual touch

screen technique to obtain the coordinates of the data object, the data is further processed

by the Bresenham algorithm and used as inputs to the neural network backpropagation.

The results of this study indicate that the virtual touch screen can be used as an

alternative to the object coordinate data collection, Bresenham algorithm can help

maximize the depiction of data and back propagation neural network can recognize all

gestures or one hundred percent of the data well after the error is smaller 0.8.

(15)

BAB I

PENDAHULUAN

1.1 Latar Belakang

Komunikasi dengan menggunakan gerak isyarat tubuh merupakan bentuk komunikasi

yang umum di masyarakat. Gerak isyarat tubuh tidak hanya memungkinkan manusia

dapat berinteraksi dengan manusia lain dan benda-benda, tetapi juga dalam beberapa

kasus, menggantikan bentuk komunikasi lainnya, misalnya komunikasi dengan orang tuli.

Di sisi lain, perkembangan komputer telah menjadi bagian tak terpisahkan dari

masyarakat, mempengaruhi banyak aspek kehidupan sehari-hari dalam lingkup

komunikasi dan interaksi.

Perkembangan pada bidang informatika yang sangat cepat dalam beberapa dekade

terakhir menemukan bentuk-bentuk baru cara berinteraksi dengan komputer. Penggunaan

keyboard dan mouse saat berinteraksi dengan komputer, membatasi potensi interaksi dan

kealamian interaksi. Penelitian Huang dan Pavlovic (1995) menunjukkan bahwa

penggunaan jari telunjuk untuk menunjuk kepada suatu objek dan memanipulasinya,

lebih alami bila dibandingkan dengan penggunaan piranti keyboard atau mouse. Selain

lebih mudah untuk dipahami, interaksi manusia dengan komputer yang alami ini akan

meningkatkan efektivitas sistem.

Interaksi secara alami antara manusia dan komputer pertama kali dilakukan

dengan menggunakan teknologi pengenalan suara.. Ide dasarnya adalah bagaimana

membuat komputer memahami bahasa manusia, sehingga komputer dapat membantu

dalam menyelesaikan tugas tertentu, berinteraksi atau hanya berkomunikasi dengan

manusia. Dikombinasikan dengan pengenalan wajah dan pengenalan ekspresi wajah,

interaksi antara manusia dan komputer menjadi lebih baik.

(16)

termasuk interaksi dan komunikasi berbasis pada gerak isyarat tubuh.

Implementasi pengenalan gerak isyarat tangan pertama kali diperkenalkan pada

akhir 70-an, dengan menggunakan sarung tangan yang dilengkapi dengan sensor dan

prosesor untuk mengenali gerakan tangan dan jari-jarinya. Namun, sistem pengenalan

gerakan berbasis sarung tangan ini, meskipun akurat, memiliki keterbatasan karena

pengguna harus menggunakan peralatan tambahan, hal ini mengurangi kealamian yang

merupakan kebutuhan dasar dari interaksi manusia dengan komputer.

Dalam beberapa tahun terakhir penelitian interaksi manusia komputer mengarah

pada pemberian perintah menggunakan gerak isyarat tubuh dengan menggunakan sensor

berbasis kamera. Mengenai gerak isyarat tubuh Aly dan Tapus (2009) mengemukakan :

gerakan-gerakan tubuh merupakan komunikasi non-verbal yang tidak hanya digunakan

oleh manusia untuk berkomunikasi dengan manusia lainnya, namun juga dapat digunakan

manusia untuk berkomunikasi dengan komputer atau robot. Pada interaksi tersebut gerak

isyarat berperan penting untuk mengirim pesan dari manusia kepada komputer.

Mengenai interaksi manusia-robot ini Feil-Seifer dan Mataric (2008)

mengemukakan : interaksi manusia dengan komputer/mesin sangat diperlukan saat

kegiatan dan tugas-tugas yang diberikan kepada komputer/mesin sangat kompleks dan

tidak terstruktur. Kompleksitas pekerjaan yang akan dilakukan ini mendorong

penelitian-penelitian baru terkait interaksi manusia komputer. Tujuannya adalah mengembangkan

prinsip-prinsip dan algoritma sistem komputer yang membuat komputer atau mesin

menjadi pintar, efektif dan aman bagi manusia.

(17)

manusia secara umum dinilai kurang baik karena harus memasukkan benda asing ke

dalam tubuh.

Penelitian penulis berkenaan dengan pengenalan gerak isyarat manusia dengan

menggunakan dataset yang dicuplik dari perangkat sensor Red Green Blue-Depth

(RGB-D) Kinect. Dataset memiliki informasi dalam berbagai bentuk seperti video 2D, video

inframerah, video partisipan, data skeleton dan data suara. Untuk mengenali gerak isyarat

yang disampaikan oleh partisipan, penulis memanfaatkan data 20 skeleton partisipan pada

setiap frame data, dipadukan dengan layar sentuh virtual 3D dan teknologi neural

network backpropagation.

1.2 Perumusan Masalah

Berdasarkan latar belakang di atas, maka masalah dalam penelitian ini dirumuskan

sebagai berikut :

1.

Bagaimana teknik pencuplikan data gerak isyarat dalam koordinat 3D?

2.

Bagaimana mengolah data objek hasil pencuplikan agar dapat digunakan sebagai

data input pada neural network backpropagation?

3.

Seberapa besar pengaruh perubahan ukuran parameter learning rate, momentum

dan jumlah neuron pada layer hidden mempengaruhi kinerja neural network

backpropagation?

4.

Seberapa jauh penggunaan neural network backpropagation dapat mengenali jenis

gerak isyarat?

1.3 Batasan Masalah

Ruang lingkup penelitian ini dibatasi pada hal-hal berikut :

1.

Dataset gerak isyarat yang digunakan pada pelatihan neural network dibatasi

sebanyak 400 data gerak isyarat.

(18)

Dengan mengacu pada perumusan masalah di atas, maka tujuan penelitian ini adalah :

1.

Mengetahui teknik pengambilan data gerak isyarat objek dalam koordinat 3D.

2.

Mengetahui cara mengolah data objek agar dapat digunakan sebagai parameter

input pada neural network backpropagation.

3.

Mengetahui hasil komparasi perubahan parameter learning rate, momentum dan

jumlah node pada layer hidden serta pengaruhnya terhadap kinerja neural

network.

4.

Mengetahui ketepatan neural network back propagation dalam mengenal berbagai

gerak isyarat.

1.5 Manfaat Penelitian

(19)

2.1 Sensor RGB-D

Sensor Red Green Blue-Depth (RGB-D) bekerja berdasarkan teknik InfraRed Structured

Light (IRSL). Cahaya inframerah yang berasal dari perangkat laser dipancarkan dengan

membentuk pola-pola tertentu yang tidak terlihat, misalnya pola satu titik, pola satu

garis atau pola-pola dua dimensi lainnya. Cahaya yang dipancarkan memiliki panjang

gelombang inframerah, berkisar 640nm sampai 2500nm. Pola-pola yang telah

dipancarkan dibaca menggunakan kamera CCD biasa ataupun kamera inframerah.

Kamera CCD dapat membaca pola sensor laser karena kamera ini bekerja pada

spectrum 300nm sampai 1100nm (Fofi et al,. 2004).

2.1.1

Kinect

Kinect merupakan sensor RGB-D dari Microsoft yang menggunakan teknologi Light

Coding dari PrimeSense, perusahaan milik Apple Inc. Light Coding merupakan

teknologi yang dapat merekonstruksi peta kedalaman 3-dimensi suatu keadaan secara

real-time dan detail. Resolusi kedalaman pixel pada Kinect maksimum 640x480. Pada

(20)

Gambar 2.1 Rentang jarak objek dari sensor

Kinect dilengkapi dengan mikropon multi-array yang dapat menerima dan

mengukur derajat asal suara dan motor yang berguna untuk mengatur derajat

kemiringan. Kinect memiliki sensor accelerometer yang menginformasikan posisi

kemiringan perangkat dalam koordinat 3-dimensi. Gambar 2.2 memperlihatkan bentuk

fisik Kinect.

(21)

Gambat 2.3 memperlih

Kinect, sebelah kiri m

gambar yang merepres

Gambar

2.1.2

Skeleton

Perkembangan teknolo

ilmu komputer, seper

reality. Shotton (2011)

hubungan sendi tubuh

Kemudian dilakukan

menggunakan pendeka

bobot kernel Gaussia

beragam klasifikasi

pengklasifikasian dapa

dari data sendi yang

menggunakan pendeka

sedang dilakukan manu

2.1.3

Microsoft API Sk

Dataset skeleton yang

(2011) yang telah di

Interface (API) sistem

Windows membagi stru

rlihatkan hasil cuplikan gambar yang diamb

merupakan gambar RGB 640x480 pixel dan s

resentasikan jarak seluruh objek dari sensor infr

2.3. Hasil sensor RGB-D, kiri RGB, kanan D

ologi kamera RGB-D, membuka peluang pene

erti computer vision, game, kendali berbasis

1) memperkenalkan satu metoda untuk mempr

uh manusia dengan cara mengekstrak informas

an penghitungan estimasi posisi 3D dari

ekatan pencarian berdasarkan pergeseran rat

sian. Dengan menggunakan training-set yang

i bagian tubuh, bentuk tubuh, pakaian

pat dilakukan dengan tepat. Sung et al. (2011

g disediakan oleh PrimeSense dari kamera

ekatan metoda pembelajaran untuk menyimpu

anusia.

Skeleton

digunakan pada penelitian ini adalah hasil da

dipadukan oleh Microsoft ke dalam Applic

tem operasi Windows. Data skeleton yang d

truktur skeleton menjadi 20 bagian seperti terlih

mbil dengan perangkat

n sebelah kanan adalah

inframerah Kinect.

(depth)

nelitian baru di bidang

asis gerak dan virtual

prediksi posisi 3D dari

asi kedalaman gambar.

ari sendi-sendi tubuh

rata-rata dengan suatu

ang sangat besar dan

ian dan sebagainya,

11) mengekstraksi fitur

ra RGB-D Kinect dan

pulkan kegiatan yang

l dari algoritma Shotton

lication Programming

(22)

Gam

Tabel 2.1 menyajikan

digunakan pada API Mic

Masing-masing

dalam satuan meter de

dan data kedalaman

perangkat Kinect deng

Z dari objek manusia y

ambar 2.4 Data skeleton API Windows (Micros

urutan bagian data skeleton yang merupaka

Microsoft Windows.

ing data skeleton yang diinformasikan berisi

dengan titik tengah koordinat terdapat pada titi

n (depth) yakni sumbu Z yang nilainya me

ngan objek. Gambar 2.5 memperlihatkan koord

ia yang berdiri di depan sensor.

rosoft, 2014)

kan standar urutan yang

(23)

Tabel 2.1 Urutan Data Sendi API Windows

No.

Nama

Skeleton

No.

Nama

Skeleton

Gambar Skeleton

0

HipCenter

10

WristRight

1

Spine

11

HandRight

2

ShoulderCenter 12

HipLeft

3

Head

13

KneeLeft

4

ShoulderLeft

14

AnkleLeft

5

ElbowLeft

15

FootLeft

6

WristLeft

16

HipRight

7

HandLeft

17

KneeRight

8

ShoulderRight

18 AnkleRight

9

ElbowRight

19

FootRight

(24)

Gambar 2.5 Koordinat X,Y,Z dari Sensor Kinect

Data koordinat skeleton sejumlah 20 bagian selanjutnya dapat diproses sesuai

keperluan, pada tesis ini penulis akan membangun layar sentuh virtual di depan objek

untuk menangkap koordinat gerakan skeleton. Untuk deteksi gerak isyarat, dibutuhkan

hanya 2 bagian skeleton yakni HandLeft dan HandRight.

2.2. Neural Network

Neural Network merupakan tiruan dari cara kerja otak manusia. Layaknya otak manusia,

otak tiruan ini memiliki karakteristik yang mirip dengan jaringan syaraf biologis.

Hampir semua tipe neural network memiliki komponen-komponen yang sama yakni

terdiri atas neuron-neuron yang saling terhubung. Neuron-neuron tersebut akan

mentransformasikan informasi yang diterima melalui bagian input untuk diteruskan ke

neuron-neuron lain melalui bagian output. Hubungan antar neuron disebut bobot

(25)

penjumlahan selanjutnya dibandingkan dengan suatu nilai ambang (threshold). Apabila

jumlahnya sama atau lebih besar dari nilai ambang, maka neuron akan diaktifkan,

dengan begitu informasi yang terdapat pada neuron tersebut akan dikirimkan ke

neuron-neuron lain yang terhubung dengannya melalui bagian output. Bila jumlah bobot kurang

dari nilai ambang, maka neuron tidak akan diaktifkan.

Neural network biasanya terdiri dari beberapa lapisan (layer), masing-masing

layer terdiri atas neuron-neuron. Lapisan neuron ini selanjutnya saling dihubungkan ke

lapisan-lapisan sebelum dan sesudahnya, terkecuali untuk lapisan input dan output.

Informasi yang diterima oleh lapisan input dirambatkan ke lapisan berikutnya yang

disebut dengan lapisan tersembunyi (hidden layer). Dari hidden layer selanjutnya

informasi dapat dirambatkan mundur ke network, hal ini tergantung dari algoritma

pembelajaran yang digunakan.

Gambar 2.6 menunjukkan contoh neural network sederhana, satu neuron akan

mengolah N input data (x1, x2,..,xN) yang masing-masing memiliki bobot w1, w2, ..,

wN dan bobot bias b.

a =

x w

(2.1)

Selanjutnya fungsi aktivasi F akan mengaktivasi a menjadi output neural network y.

(26)

Ada beberapa fungsi aktivasi yang sering digunakan pada neural network diantaranya :

1.

Fungsi Hard Limit

Mengkonversi nilai variable menjadi bilangan biner 0 atau 1. Rumus yang

digunakan untuk fungsi aktivasi ini adalah:

(2.2)

2.

Fungsi Bipolar

Mengkonversi nilai variable menjadi bilangan biner 1 atau -1. Rumus yang

digunakan untuk fungsi aktivasi ini adalah:

(2.3)

3.

Fungsi Linear

Fungsiini memiliki output sama dengan nilai inputnya. Rumus yang digunakan

untuk fungsi aktivasi ini adalah:

y = x

(2.4)

4.

Fungsi Sigmoid Biner

Fungsi ini sering digunakan pada neural network backpropagation, memiliki

nilai dengan range 0 sampai 1, interval outputnya 0 sampai 1. Rumus yang

digunakan untuk fungsi aktivasi ini adalah:

y = f(x) =

1 +

1

(2.5)

5.

Fungsi Sigmoid Bipolar

Fungsi aktivasi ini sama dengan fungsi sigmoid biner, hanya nilai outputnya

antara -1 sampai 1. Rumus yang digunakan untuk fungsi aktivasi ini adalah:

(27)

6.

Fungsi Sigmoid Tangent (TanSig)

Fungsi aktivasi ini sama dengan fungsi sigmoid bipolar, nilai outputnya antara -1

sampai 1. Rumus yang digunakan untuk fungsi aktivasi ini adalah:

y = f(x) =

1 −

1 +

(2.7)

2.2.2. Neural Network Backpropagation

Backpropagation merupakan metoda pembelajaran neural network yang terawasi

(supervised). Backpropagation biasanya digunakan oleh perceptron yang memiliki

banyak lapisan ( layer ) untuk mengubah nilai bobot-bobot yang terhubung ke

neuron-neuron yang ada pada lapisan tersembunyi ( hidden layer ).

Algoritma backpropagation saat pertama dijalankan melakukan tahapan

perambatan maju ( forward ). Error yang diperoleh dari proses tahap perambatan maju

selanjutnya diproses ke arah mundur ( backward ) untuk mengubah nilai bobot-bobotnya.

Pada perambatan maju, neuron-neuron diaktifkan dengan fungsi aktivasi seperti sigmoid,

tansig atau pure linear.

x1

x2

x3

z1

z2

y

1

1

b2

b12

w1

w2

v11

v12

v21

v22

v31

v32

b11

(28)

Jaringan ini terdiri atas 3 (tiga) lapisan neuron-neuron yakni 3 (tiga) unit neuron pada

lapisan input (x1, x2, x3), 2 ( dua ) neuron pada lapisan tersembunyi (hidden layer) dan 1

(satu) neuron pada lapisan output.

2.2.2.1 Algoritma Backpropagation

Algoritma backpropagation sebagai berikut:

-

Inisialisasi bobot awal (weights) dengan nilai random yang kecil.

-

Tetapkan maksimum Epoch, Target Error dan Learning Rate (

α

)

-

Inisialisasi Epoch=0, MSE=1

-

Lakukan langkah di bawah ini selama (Epoch<MaksimumEpoch) dan

(MSE>TargetError):

1.

Epoch = Epoch + 1

2.

Feed Forward:

a.

Setiap unit input (X

i

, i=1,2,3,…,n) menerima sinyal xi dan meneruskannya

ke semua unit pada lapisan atasnya.

b.

Setiap unit pada hidden layer (Zj, j=1,2,3,..,p) menjumlahkan sinyal-sinyal

input terbobot :

z_in = b1

x v

(2.8)

Gunakan fungsi aktivasi untuk menghitung sinyal output:

z

j =

(z )

(2.9)

selanjutnya kirimkan sinyal tersebut ke lapisan di atasnya (unit-unit

output)

c.

Setiap unit output (y

k

, k=1,2,3,..,m) melakukan penjumlahan sinyal-sinyal

terbobot :

y_in

= b2

z w

"

(2.10)

(29)

y

k

=f (y_in

k

)

(2.11)

selanjutnya kirim sinyal tersebut ke semua unit pada lapisan atasnya yakni

unit-unit output.

Backpropagation:

d.

Setiap unit output (y

k

, k=1,2,3,..,m) menerima target pola yang

berhubungan dengan pola pembelajaran, selanjutnya hitung informasi

errornya:

δ

2

k

= (t

k

– y

k

) f’(y_in

k

)

(2.12)

φ

2

k

=

δ

k

z

j

(2.13)

β

2

k

=

δ

k

(2.14)

lalu hitung koreksi bobot yang akan digunakan untuk memperbaiki nilai

w

jk

:

w

jk

=

αφ

2

jk

(2.15)

Hitung juga koreksi bias yang akan digunakan untuk memperbaiki nilai

b2

k

:

b2

k

=

αβ

2

k

(2.16)

Langkah d ini hanya untuk 1 (satu) lapisan tersembunyi, lakukan hal yang

sama bila lapisan tersembunyi lebih dari 1 (satu).

e.

Setiap unit tersembunyi ( Z

j

, j=1,2,3,..,p) menjumlahkan delta inputnya

dari unit-unit yang berada pada lapisan di atasnya:

δ

_in

$

=

δ2

%

w

$% &

%=1

(2.17)

Untuk menghitung error, kalikan nilai ini dengan turunan fungsi

aktivasinya:

δ

1

j

=

δ

_in

f’(z_in

j

)

(2.18)

φ

1

ij

=

δ

1

j

x

j

(2.19)

(30)

nilai v

ij

.

v

ij

=

αφ

1

ij

(2.21)

hitung juga koreksi bias yang nantinya akan digunakan untuk memperbaiki

nilai b1

j

:

b1

j

=

αβ

1

j

(2.22)

f.

Setiap unit output (y

k

, k=1,2,3,..,m) memperbaiki bias dan bobotnya

(j=0,1,2,..,p):

w

jk

(baru) = w

jk

(lama) +

w

jk

(2.23)

b2

k

(baru) = b2

k

(lama) +

b2

k

(2.24)

Setiap unit tersembunyi (zj, j=1,2,3,…,p) memperbaiki bias dan bobotnya

(i=0,1,2,…n):

v

ij

(baru) = v

ij

(lama) +

v

ij

(2.25)

b1

j

(baru) = b1

j

(lama) +

b1

j

(2.26)

3.

Hitung Mean Square Error ( MSE )

2.3. Algoritma Pengisian Pixel Bresenham

Algoritma pengisian pixel Bresenham adalah algoritma untuk menentukan urutan

pengisian pixel yang mendekati garis lurus antara dua koordinat. Algoritma ini biasanya

digunakan untuk menggambar garis pada layar komputer dan merupakan algoritma

pengisian pixel paling awal yang dikembangkan pada komputer grafis.

(31)

function pixelline(x0, y0, x1, y1)

boolean step := abs(y1 - y0) > abs(x1 - x0) if step then

swap(x0, y0) swap(x1, y1) if x0 > x1 then swap(x0, x1) swap(y0, y1) int deltax := x1 - x0 int deltay := abs(y1 - y0) int error := deltax / 2 int ystep

int y := y0

if y0 < y1 then ystep := 1 else ystep := -1 for x from x0 to x1

if step then plot(y,x) else plot(x,y) error := error - deltay

if error < 0 then y := y + ystep

[image:31.595.121.489.137.364.2]

error := error + deltax

Gambar 2.8 Algoritma pengisian pixel Bresenham

2.4. Algoritma Penghilangan Duplikasi Data

Algoritma penghilangan duplikasi data bertujuan untuk menghilangkan urutan data

koordinat yang memiliki nilai sama dengan nilai koordinat sebelumnya. Dengan

algoritma ini data koordinat menjadi lebih kecil dan proses penggambaran menjadi lebih

efisien.

function delduplikasi(datalist)

listbaru:=[]

koor_xyz:=datalist[0]

listbaru <- datalist[0]

for loop from 1 to length(datalist)

if koor_xyz<>datalist[loop]:

koor_xyz:=datalist[loop]

listbaru <- koor_xyz

return listbaru

Gambar 2.9 Algoritma penghilangan duplikasi data

(32)

Penelitian gerak isyarat dilakukan oleh Yamato et.al (1992) dan Browden (2004) yang

menggunakan Hidden Markov Model (HMM) untuk pengenalan gerak isyarat. Teknik

filter partikel juga digunakan pada pengenalan gerak isyarat oleh Black et.al (1998) dan

Bretzner et.al (2002). Berikutnya penelitian gerak isyarat yang dilakukan oleh Hong et.al

(2000) menggunakan Finite State Machine (FSM), Ahn et.al (2009) menggunakan neural

network Multi Layer Perceptron (MLP), Yang et.al (1999) menggunakan neural network

Time Delay dan Gerlich et.al (2007) dengan neural network Radial Basis Function (RBF).

Penelitian berikut ini merupakan penelitian yang secara tidak langsung

berhubungan dengan penelitian interaksi manusia robot, menggunakan sensor RGB-D dan

berkaitan dengan gerakan manusia. Jalal et. al (2011) menggunakan transformasi Radon

dari siluet kedalaman untuk mengenali kegiatan manusia di dalam rumah. Sung et.al

(2011) mengekstraksi fitur dari data sendi yang disediakan oleh PrimeSense dari kamera

RGB-D Kinect dan menggunakan pendekatan metoda pembelajaran untuk menyimpulkan

kegiatan yang sedang dilakukan manusia. Xia et.al (2011) memperkenalkan algoritma

berbasis model untuk mendeteksi manusia menggunakan informasi kedalaman gambar

dari Kinect. Li et al (2010) mengembangkan grafik tindakan untuk model tindakan yang

dinamis. Selanjutnya data kedalaman 3D dipetakan guna memperoleh serangkaian bentuk

tubuh yang berhubungan erat dengan grafik tindakan.

(33)

Penelitian ini dilakukan dengan cara membangun aplikasi dan melakukan ujicoba.

Aplikasi yang dibangun yakni aplikasi antar-muka layar sentuh virtual yang akan

ditempatkan pada posisi antara objek (manusia) dengan komputer, aplikasi antar muka

file teks ke file gambar dan aplikasi neural network. Data yang telah terkumpul

selanjutnya dijadikan data pelatihan untuk aplikasi neural network backpropagation.

Bagian pertama membahas aplikasi antar-muka dan neural network yang akan

dibangun dan bagian berikutnya akan membahas mengenai dataset yang digunakan

pada penelitian ini.

3.1

Pembangunan Aplikasi

Aplikasi antar-muka yang dibangun terdiri atas 3 bagian yakni antar-muka layar

sentuh virtual, peubah data teks ke dalam format gambar dan aplikasi neural network

backpropagation untuk percobaan.

3.1.1

Antar-muka Layar Sentuh Virtual

Antar-muka layar sentuh virtual yang dibangun memiliki spesifikasi berikut:

1.

Ukuran layar disesuaikan dengan ukuran bentuk tubuh manusia pada

umumnya, dengan ukuran tinggi 200 centimeter, lebar 150 centimeter dan

kedalaman 65 centimeter.

2.

Mampu menampilkan koordinat X, Y dan Z untuk masing-masing skeleton.

3.

Mampu menangkap data skeleton tangan kanan dan kiri dan menampilkannya

secara penuh pada layar sentuh.

4.

Mampu menyesuaikan letak koordinatnya sesuai dengan perpindahan tubuh

objek guna menghindari derau pada data skeleton.

5.

Mampu merepresentasikan format data 3D ke dalam bentuk gambar.

(34)

3.1.2

Antar-muka Peubah

Data gerak isyarat yang diterima oleh layar sentuh virtual yang tersimpan dalam

format file teks selanjutnya dibaca oleh aplikasi peubah untuk diubah formatnya ke

dalam format file gambar. Tahap-tahapannya sebagai berikut:

a.

Data file gerak isyarat dalam bentuk file teks dibaca dan dimasukkan ke dalam

list.

b.

Pada list data duplikasi dihilangkan untuk mempercepat proses penggambaran

c.

Melakukan proses pengisian bagian koordinat data yang kosong agar gambar

menjadi lebih baik dengan menggunakan algoritma garis.

d.

Proses penggambaran pola gerak isyarat dilakukan dengan meletakkan piksel

sesuai koordinat.

e.

Gambar pola gerak isyarat yang telah terbangun disalin ke dalam format file

gambar .PNG.

3.1.3

Aplikasi Neural Network

Membangun aplikasi neural network backpropagation yang akan digunakan untuk

percobaan. Tahapan pembangunan aplikasi ini sebagai berikut:

a.

Membangun modul pembacaan file pola gerak isyarat.

b.

Membangun modul utama neural network backpropagation dengan 3

parameter utama yaitu jumlah neuron layer input, jumlah neuron layer hidden

dan jumlah neuron layer output.

c.

Membangun modul transfer function.

3.2

Percobaan

Pelatihan neural network backpropagation dilakukan dengan tahapan berikut:

1.

Pelatihan dimulai dengan memberikan nilai jumlah maksimum iterasi, target

error, learning rate dan momentum.

2.

Selanjutnya dilakukan pembacaan data gambar gerak isyarat sebanyak 400

gerak isyarat sebagai input dan 400 data target sesuai klasifikasi gerak isyarat

(35)

3.

Lakukan iterasi sampai maksimum atau berhenti saat error pelatihan lebih

kecil dari nilai target error.

4.

Data hasil ujicoba direkam untuk kebutuhan analisa

5.

Kembali ke langkah 1 dengan mengubah parameter-parameter.

3.3

Dataset

Dataset untuk penelitian ini minimal berisi data gerak isyarat berupa

koordinat-koordinat skeleton manusia yang dicuplik dari perangkat sensor RGB-D Kinect.

Penelitian ini hanya membutuhkan data label dan data skeleton dari dataset. Data

[image:35.595.106.532.325.414.2]

video, suara dan tipe data lainnya tidak diperlukan dan lebih sebagai data pelengkap.

Gambar 3.1 Contoh isi dataset MMGR

Tesis ini menggunakan dataset multi-modal dari Escalera et.al (2013) yang

digunakan pada seminar modal Gesture Recognition (MMGR) “2013

Multi-modal Challenge”, 9-13 Desember 2013. Multi-Multi-modal adalah interaksi manusia mesin

menggunakan berbagai jenis sumber data sebagai input/output.

Dataset MMGR berisi data multi-modal, terdiri atas video berwarna, video

data kedalaman objek (depth), data audio, video data user mask dan data informasi

skeleton seperti terlihat pada gambar 3.1. Jenis gerak isyarat bahasa Italia yang

terdapat pada dataset MMGR terdiri atas 7754 gerak yang diklasifikasikan ke dalam

20 gerak isyarat dalam bahasa Italia seperti pada tabel 3.1.

Tabel 3.1 Jenis gerak isyarat pada dataset MMGR

No.

Gerak Isyarat

Maksud

1

Basta

Cukup ! [marah]

2

Buonissimo

Lezat

3

Chedupalle

Bosan

4

Chevuoi

Apa yang anda inginkan?

[image:35.595.138.487.641.760.2]
(36)

6

Cosatifarei

Apa yang harus saya lakukan?

7

Daccordo

Setuju

8

Fame

Lapar

9

Freganiente

Tidak masalah

10

Furbo

Licik

11

Messidaccordo

Masukan bagus

12

Noncenepiu

Jangan kebanyakan

13

Ok

Oke

14

Perfetto

Sempurna

15

Prendere

Ambil

16

Seipazzo

Anda gila?

17

Sonostufo

Saya lelah

18

Tantotempo

Itu masa lalu

19

Vattene

Pergilah

20

Vieniqui

Ke sini

Data pelatihan terdiri atas 403 direktori yang masing-masing terdiri atas file

audio (.WAV), file video RGB (.MP4), file data label dan koordinat (.MAT), file

[image:36.595.138.486.138.388.2]

video Depth (.MP4) dan file video User Mask (.MP4).

Gambar 3.2 File pelatihan pada direktori Sample00001

File yang dibutuhkan untuk penelitian ini adalah file .MAT dalam format

MatLab, di dalamnya terdapat informasi koordinat skeleton, label gerak isyarat, titik

koordinat layar, nomor frame dan data lainnya. File video berwarna penulis gunakan

(37)

3.4

Instrumen Penelitian

Penelitian ini menggunakan perangkat berikut:

1.

Laptop ASUS N43S, Intel Core I5, RAM 4 GBytes, Harddisk 750 GBytes,

Windows 7 64 bit.

2.

Python 2.66, SciPy, Image, PyGame, Numpy

3.

Dataset Multi-modal Gesture Recognition 2013, dataset ini diperuntukkan untuk

riset, penggunaannya tidak memerlukan izin khusus, hanya menambahkan

(38)

4.1 Pendahuluan

Pengujian hasil pertam

memberikan hasil akhi

gambar gerak isyarat.

backpropagation.

4.2 Layar Sentuh Vir

Gambar 4.1 memperlih

merah dan hijau sebaga

Selain data gera

yang merepresentasika

menggambarkan jarak

dilakukan.

tama dicoba pada aplikasi layar sentuh virtua

hir berupa data teks yang berisi data koordinat

rat. Setelah itu pengujian dilanjutkan terha

Virtual

[image:38.595.183.452.407.628.2]

rlihatkan cuplikan gerak isyarat “chevuoi”, gam

agai pembeda tangan kanan dan kiri.

Gambar 4.1 Layar sentuh virtual”chevuoi”

erakan dilihat dari sisi depan partisipan, terdapa

ikan gerakan bila dilihat dari sisi kiri dan k

ak tangan kiri dan kanan dari HipCenter selam

rtual, layar sentuh dapat

at gerak isyarat dan data

rhadap neural network

gambaran garis berwarna

(39)

Gambar 4.2 m

sudah memenuhi spesif

Dari ujicoba dite

virtual mengalami dist

kiri dan ke kanan pad

dan ke belakang tidak

membuat posisi layar s

posisi pergerakan pa

menyesuaikan posisi

HipCenter. Hasil akhir

terdistorsi karena pe

memperlihatkan hasil

partisipan.

[image:39.595.182.452.196.423.2]

menunjukkan gerak isyarat “basta”. Dari sisi

esifikasi yang diinginkan pada bab sebelumnya.

Gambar 4.2 Layar sentuh virtual ”basta”

ditemukan beberapa data `gerakan yang tergam

istorsi. Distorsi ini disebabkan oleh perpindaha

ada saat gerak isyarat dilakukan. Perpindahan

dak mendistorsi data. Solusi untuk distorsi da

r sentuh menjadi lebih dinamis, berpindah sesu

partisipan ke kanan dan ke kiri. Hal in

i koordinat kiri atas layar berpindah sesuai

hirnya terlihat seperti gambar 4.3, sebelah kir

pergerakan partisipan ke arah kiri. Gam

sil saat posisi layar virtual telah disesuaika

isi aplikasi layar sentuh

ya.

(40)
[image:40.595.163.470.140.315.2]

Sampai dengan

namun masih harus di

35x60. Hal ini dilaku

seragam dan kecil seh

.4.4 memperlihatkan po

Gambar 4.3 Mengatasi distorsi data

an keadaan ini, data koordinat untuk gerak is

dilakukan penyesuaian bentuk data menjadi p

kukan agar data koordinat yang dihasilkan m

ehingga mempercepat proses pembelajaran ne

pola matriks pada gerakan “BASTA”.

Gambar 4.4 Gerak isyarat pola matriks

[image:40.595.171.463.438.669.2]
(41)
[image:41.595.105.527.199.368.2]

Koordinat-koor

disalin menjadi file d

merupakan representas

Gambar 4.5 Pe

File teks yan

pembentukan pola pe

gambar data di dalam f

Format teks ya

gerakan berisi 3 basris

dengan nama sisi tanga

berurut sampai akhir ba

ordinat matriks yang berisi nilai sesuai uru

e data teks, termasuk data layar tambahan

tasi bentuk data 3D.

Penggalan isi data file teks untuk gerak isyarat

ang dihasilkan berisi data koordinat yan

pembelajaran dan pengujian, gambar 4.5 m

file teks pertama untuk gerak isyarat “VIENIQ

yang terdapat pada file hasil dari aplikasi laya

ris teks, baris pertama adalah nama jenis geraka

ngan misalnya ‘Kanan’ dilanjutkan dengan nila

r baris, seperti yang terlihat pada gambar 4.6.

x

Jenis Gerak Isyarat

z

Tangan

y

Gambar 4.6 Detail isi teks

rutan gerak selanjutnya

n kiri dan kanan yang

rat ”VIENIQUI”

ang dibutuhkan untuk

menunjukkan cuplikan

IQUI”:

(42)

perubahan menjadi data gambar sesuai kebutuhan pelatihan dan pengujian neural

network. Teknik yang digunakan adalah dengan membaca format teks ke dalam list di

memori, dilanjutkan dengan pembersihan duplikasi data. Duplikasi data sering terjadi saat

pencuplikan data dilakukan, hal ini disebabkan oleh posisi tangan pada frame berjalan

masih di koordinat yang sama dengan posisi tangan pada frame sebelumnya.

Gambar 4.7 Duplikasi data

[image:42.595.115.518.371.672.2]

Setelah data pada list bersih dari duplikasi, dilakukan proses pengisian pixel yang kosong

di antara 2 koordinat dengan cara membangun list baru hasil pemrosesan list sebelumnya

menggunakan algoritma Bresenham. Hasil list selanjutnya dikonversi menjadi gambar

berukuran 35x60 yang merepresentasikan urutan gerak isyarat sejak awal hingga akhir

gerakan. Diagram proses konversi dari data teks menjadi gambar dapat dilihat pada

gambar 4.8.

(43)

Dengan selesainya pembuatan gambar gerak isyarat ini, maka proses

pembelajaran neural network backpropagation dapat dimulai. Gambar 4.9 menunjukkan

contoh hasil penggambaran dari gerak isyarat “BASTA” yang berjumlah 20 gerakan.

[image:43.595.111.521.218.320.2]

BASTA

Gambar 4.9 Sekumpulan data gambar untuk gerak isyarat “BASTA”

4.3 Pengujian Neural Network

Bagian ini menyajikan hasil penelitian yang diperoleh dengan melakukan beberapa

percobaan berulang, dengan mengubah parameter-parameter jaringan seperti jumlah

neuron pada hidden layer, nilai learning rate dan nilai momentum. Tujuan perubahan

parameter ini dimaksudkan untuk menemukan pasangan yang tepat dari neuron pada

hidden layer, nilai learning rate dan nilai momentum yang selanjutnya digunakan sebagai

parameter tetap pada neural network.

Pelatihan menggunakan data gerak isyarat sebanyak 400 jenis gerak isyarat yang

terbagi atas 20 jenis klasifikasi gerakan, masing-masing dilakukan berulang oleh

partisipan sebanyak 20 kali. Setiap data gerak isyarat dicuplik dari layar sentuh virtual,

diolah dan disimpan dalam file teks. Setiap file teks berisi nilai parameter x, y dan z

gerakan tangan kanan dan kiri, terdiri dari 35x60 byte dengan masing-masing byte

melambangkan nilai biner 1 atau 0 seperti yang terlihat pada gambar 4.3.

Klasifikasi gerak isyarat yang akan menjadi target jaringan diberi nilai berupa 5

byte yang masing-masing berisi nilai 1 atau 0, melambangkan nilai biner sebagaimana

terlihat pada table 4.2.

(44)

1

BASTA

00001

2

BUONISSIMO

00010

3

CHEDUPALLE

00011

4

CHEVUOI

00100

5

COMBINATO

00101

6

COSATIFAREI

00110

7

DACCORDO

00111

8

FAME

01000

9

FREGANIENTE

01001

10

FURBO

01010

11

MESSIDACCORDO

01011

12

NONCENEPIU

01100

13

OK

01101

14

PERFETTO

01110

15

PRENDERE

01111

16

SEIPAZZO

10000

17

SONOSTUFO

10001

18

TANTOTEMPO

10010

19

VATTENE

10011

20

VIENIQUI

10100

4.4 Hasil Percobaan

(45)

Jumlah node output sebanyak 5 unit diambil dari data target pada tabel 4.2.

Arsitektur jaringan untuk percobaan ini menggunakan jaringan 3 layer, yakni layer input,

layer hidden dan layer output seperti terlihat pada gambar 4.10.

x1

x2100

x3 x2

bias

z1

z2

z3

zn

y1

y2

y3

y4

y5

Input

Layer

Hidden

Layer

[image:45.595.121.496.242.527.2]

Output

Layer

Gambar 4.10 Arsitektur neural network backpropagation

4.4.1 Percobaan pertama

(46)
[image:46.595.183.463.218.435.2]

berjumlah 5, 10, 20 dan 30 unit neuron.

Tabel 4.3 Hasil MSE dengan perubahan jumlah neuron

Epoch

Jumlah Neuron Hidden Layer

5 Neuron 10 Neuron 20 Neuron 30 Neuron

1

473.1281

480.0049

480.7728

472.2175

1000

3.085454

1.471799

0.921986

0.769815

2000

1.848708

0.632435

0.381721

0.315664

3000

1.52047

0.39655

0.234815

0.193173

4000

1.372571

0.285458

0.167864

0.137605

5000

1.289065

0.216905

0.129921

0.106217

6000

1.235584

0.175081

0.105617

0.086164

7000

1.198349

0.146919

0.088775

0.072297

8000

1.167844

0.12659

0.076444

0.062161

9000

0.165264

0.111245

0.06704

0.054444

10000 0.140492

0.099211

0.059641

0.04838

Waktu 18 menit

25 menit

47 menit

71 menit

Setelah melakukan beberapa pelatihan dengan mengubah jumlah neuron pada

layer hidden dengan nilai 5, 10, 20, 30 diperoleh data hasil seperti tersaji pada tabel 4.3.

Data hasil yang ditampilkan pada tabel dicuplik per 1000 kali iterasi.

Dari data hasil percobaan pertama, sebagaimana tersaji pada tabel 4.3 dapat

disimpulkan bahwa:

-

Penambahan jumlah neuron pada hidden layer dapat menaikkan kinerja

jaringan, nilai MSE antara 5, 10, 20 dan 30 neuron pada maksimum iterasi

masing-masing 0.140492, 0.099211, 0.0596, 0.04838, belum ada yang berhasil

mencapai nilai target MSE 0.01.

-

Jumlah neuron yang kecil (5 unit) ternyata menunjukkan kinerja yang lebih

rendah disbanding jumlah neuron 10, 20 dan 30.

(47)

-

Neuron berjumlah 10, 20 dan 30 unit akan diujicobakan pada percobaan

kedua.

4.4.2 Percobaan kedua

Percobaan kedua ini menguji hasil percobaan pertama yakni mengubah parameter

momentum dan learning rate pada neuron hidden berjumlah 10, 20, 30 unit. Pengujian

dilakukan tanpa mengubah parameter lain seperti jumlah bobot, target MSE dan epoch

maksimum. Parameter yang digunakan pada percobaan ini yakni jumlah node input 2100

unit, node output 5 unit. Nilai learning rate 0.01, sedangkan inisialisasi nilai bobot

diambil secara acak dengan nilai [-0.2, 0.2], fungsi aktivasi menggunakan logistic

sigmoid dengan nilai [0,1]. Target MSE yang diinginkan adalah 0.01. Nilai momentum

[image:47.595.139.513.457.579.2]

yang akan diujikan yakni 0.9 dengan learning rate 0.01 dan0.001. Hasil pengujian terlihat

pada tabel 4.4

Tabel 4.4 Pengujian momentum dan learning rate

Neuron

Target

MSE

LR/Momentum

MSE

Epoch

Waktu

(menit)

10

0.01

0.01/0.9

0.019932

5270

10

20

0.01

0.01/0.9

0.01991

3180

15

30

0.01

0.01/0.9

0.019964

2380

16

10

0.01

0.001/0.9

0.01924

6120

17

20

0.01

0.001/0.9

0.0197

4352

14

30

0.01

0.001/0.9

0.0193

3761

12

(48)

layer, nilai learning rate

jumlah neuron 30, learn

4.5 Pengujian

[image:48.595.136.486.325.436.2]

Pengujian dilak

bobot pelatihan setiap

menjadi bobot untuk p

tidak diperlukan pelatih

Gambar 4.11 m

392.0806, terlihat gerak

isyarat atau 17%.

Gambar 4.12

173.0721, gerakan yan

isyarat atau 64%.

rate dan momentum diambil nilai yang memilik

arning rate 0.01 dan momentum 0.9.

ilakukan dengan menggunakan data seperti pad

tiap iterasi yang sebelumnya telah disimpan pa

k pengujian. Dengan demikian untuk penguji

atihan ulang.

[image:48.595.183.482.507.622.2]

Gambar 4.11 MSE 392.08

menunjukkan hasil pengenalan gerak isyarat sa

rakan yang dapat dikenali dengan benar berjum

Gambar 4.12 MSE 173.0721

menunjukkan hasil pengenalan gerak isyar

yang dapat dikenali meningkat menjadi 259 ge

iliki epoch terkecil yakni

pada lampiran 1.

pada file, dikembalikan

ujian data yang berbeda

t saat error bernilai

jumlah 68 dari 400 gerak

(49)
[image:49.595.181.487.138.238.2] [image:49.595.187.486.320.429.2]

Gambar 4.13 m

60.04809, gerakan yan

gerak isyarat atau 89%.

Gambar 4.14 m

8.9673, gerakan yang d

gerak isyarat atau 99%.

Gambar

bernilai 0.873202, gera

isyarat atau 100%.

Gambar 4.13 MSE 60.04809

menunjukkan hasil pengenalan gerak isyarat sa

ang dapat dikenali meningkat lagi menjadi 357

%.

Gambar 4.14 MSE 8.967335

menunjukkan hasil pengenalan gerak isyarat sa

g dapat dikenali lebih meningkat lagi menjadi 3

[image:49.595.182.490.497.603.2]

%.

Gambar 4.15 MSE 0.873202

bar 4.15 menunjukkan hasil pengenalan gerak is

erakan yang dapat dikenali menjadi 400 gerakan

t saat error bernilai

57 gerakan dari 400

t saat error bernilai

i 397 gerakan dari 400

(50)

No.

MSE

#Gerak Isyarat

dikenal

Persen

1

392.08

68

17%

2

173.0721

259

64%

3

60.04809

357

89%

4

8.967335

397

99%

5

0.873202

400

100%

Gambar 4.16 Grafik perbandingan MSE dan gerak isyarat dikenal

Dari hasil pengujian di atas dapat dilihat pada tabel 4.5 dan grafik gambar 4.16

bahwa semakin menurunnya nilai error semakin baik pula neural network

backpropagation mengenal gerak isyarat.

0 50 100 150 200 250 300 350 400 450

1 2 3 4 5

[image:50.595.139.498.151.536.2]
(51)

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Dari pengujian yang telah dilakukan pada bab sebelumnya, penulis dapat

menyimpulkan beberapa hal berkenaan dengan penelitian ini, diantaranya:

1.

Layar sentuh virtual dapat digunakan sebagai cara alternatif untuk memperoleh

data gerak isyarat dari objek.

2.

Algoritma penghilangan data duplikasi dan algoritma pengisian pixel

Bresenham dapat digunakan untuk mengolah data gerak isyarat menjadi

gambar yang akan digunakan sebagai input/target.

3.

Pemilihan jumlah neuron pada hidden layer, nilai learning rate dan nilai

momentum mempengaruhi kinerja neural network backpropagation, untuk

kebutuhan penelitian ini jumlah yang maksimal untuk neuron hidden layer 30

neuron, nilai learning rate 0.01 dan nilai momentum 0.9.

4.

Neural network backpropagation dapat mengenali seluruh jenis gerak isyarat

(400 gerak) yang diklasifikasikan menjadi 20 gerak isyarat setelah error di

bawah 0.8.

5.2 Saran

Dari kesimpulan sebelumnya, penulis dapat memberikan beberapa saran sebagai

masukan untuk pengembangan teknologi pengenalan gerak isyarat selanjutnya:

1.

Ukuran matriks hasil layar sentuh dapat ditingkatkan untuk memaksimalkan

pengenalan gerak isyarat.

2.

Pengenalan gerak isyarat sebaiknya diujicoba juga pada teknologi neural

(52)

Implementation of 3D gesture recognition system based on neural network. In

Procs. of the 9th WSEAS international conf. on Applied informatics and

communications, pp. 84–87.

Aly, A. & Tapus, A. 2010. Gestures Imitation with a Mobile Robot in the Context of

Human-Robot Interaction (HRI) for Children with Autism, In 3rd Workshop

for Young Researchers on Human-Friendly Robotics, Tübingen, Germany,

October.

Black, M.J. & Jepson, A.D. 1998. A probabilistic framework for matching temporal

trajectories: Condensation-based recognition of gestures and expressions.

Computer Vision - ECCV 98, pp. 909.

Bowden, R., Windredge, D., Kadir, T., Zisserman, A. & Brady, M., 2004, A

linguistic feature vector for the visual interpretation of sign language.

Computer Vision-ECCV 2004, pp. 390–401.

Bretzner, L., Laptev, I. & Lindeberg, T. 2002 Hand gesture recognition using

multi-scale colour features, hierarchical models and particle filtering. In Fifth IEEE

International Conference on Automatic Face and Gesture Recognition, 2002.

Proceedings, pp. 423–428.

Escalera, S., Gonzàlez, J., Baró, X., Reyes, M., Lopes, O., Guyon, I., Athistos, V.,

Escalante, H.J. 2013, Multi-modal Gesture Recognition Challenge 2013:

Dataset and Results, ICMI 2013.

Feil-Seifer, D. & Mataric, J.M. 2009. Human Robot Interaction, Encyclopedia of

Complexity and Systems Science, Robert A. Meyers (eds.), pp. 4643-4659,

Springer New York.

Gerlich, L., Parson, B.N., White, A.S., Prior, S. & Warner, P. 2007 Gesture

recognition for control of rehabilitation robots. Cognition, Technology &

Work, 9(4):189–207.

(53)

Sung, J., Ponce, C., Selman, B. & Saxena, A. 2011. Human Activity Detection from

RGBD Images, AAAI workshop on Pattern, Activity and Intent Recognition

(PAIR).

Xia, L., Chen, C. & Aggarwal, J.K 2011. Human Detection Using Depth Information

by Kinect, International Workshop on Human Activity Understanding from 3D

Data in conjunction with CVPR (HAU3D), Colorado Springs, CO.

Villaroman, N., Rowe, D. & Swan, B. 2011. Teaching Natural User Interaction Using

OpenNI

and

the

Microsoft

Kinect

Sensor,

In

Proceedings of the 2011 Conference on Information Technology Education

(SIGITE ’11). ACM, New York, NY, USA, pp.227-232.

Wu, J., Osuntogun, A., Choudhury, T., Philipose, M. & Rehg, J. M. 2007. A scalable

approach to activity recognition based on object use. In ICCV.

Yamato, J, Ohya J., & Ishii K. 1992. Recognizing human action in time-sequential

images using hidden Markov model. InProc. Comp. Vis. and Pattern Rec,

pp.379–385.

Yang, M.H. & Ahuja, N. 1999 Recognizing hand gesture using motion trajectories. In

CVPR.

(54)

DAFTAR PUBLIKASI ILMIAH PENULIS (TESIS)

No.

Judul

Artikel

Penulis

Publikasi

Waktu

Publikasi

Tempat

1

Speech Syntheszer Bahasa Indonesia

Berbasis Diphone MBROLA

Stephanus

Priyowidodo,

Dedy Irwan

SNIKOM 2010

29 -10-2010

Universitas Sumatera Utara

2

Teknologi Pengenalan dan Pensintesa

Ucapan Bahasa Indonesia pada Sistem

Informasi Berbasis Microsoft Speech

API

Stephanus

Priyowidodo

KNSI 2011

25-02- 2011

STMIK Potensi Utama

3

Singing Synthesizer Berbasis

Diphone MBROLA untuk Lagu

Berbahasa Indonesia

Erlanie Sufarnap,

Armaini Rahman,

Stephanus

Priyowidodo

Seminar

Nasional III

Teknologi &

Rekayasa

26-04-2011

Universitas Islam Sumatera

Utara

4

Pengamanan Data Tersimpan pada

Media Cloud Drive

Stephanus

Priyowidodo

SEMILOKA

2011

(55)
(56)
(57)
(58)
(59)
(60)
(61)
(62)
(63)
(64)

31,1,20,30,0,20,30,0,20,30,0,20,30,0,20,30,0,20,30,0,20,30,0,20,30,0,20,30,0,20, 32,0,20,30,0,20,30,0,20,30,0,20,30,0,20,30,0,20,30,0,20,30,0,20,30,0,20,30,0,20, 30,0,20,30,0,20,30,0,20,30,0,20,30,0,20,30,0,20,30,0,20,30,0,20,30,0,20,30,0,20, 30,0,20,30,0,20,30,0,20,30,0,20,31,0,20,31,0,20,30,0,20,31,0,20,30,0,20,31,0,20, 32,1,20,30,1,20,30,1,20,30,1,20,31,1,20,31,1,20,32,1,20,31,1,20,31,1,20,31,1,20, 31,1,20,31,1,20,31,1,20,31,1,20,31,1,20,31,1,20,31,1,20,31,1,20,31,1,20,31,1,20, 31,1,20,31,1,20,31,1,20,31,1,20,31,1,20,31,1,20,31,1,20,31,1,20,31,1,20,31,1,20, 31,1

DACCORDO

Kanan,9,32,1,9,31,1,10,31,3,10,30,4,10,29,5,11,28,6,12,26,7,12,25,7,15,24,8,15,2 3,8,16,22,8,16,22,8,12,21,8,12,21,8,12,21,7,12,22,7,13,21,7,12,21,7,11,21,6,11,2 1,5,12,21,6,12,21,6,11,21,5,12,21,6,12,21,6,11,23,6,12,21,6,12,21,6,12,22,8,12,2 4,8,11,27,7,11,29,5,10,31,4,10,30,3,10,31,2,9,31,0,9,31,0,9,31,0,9,31,0,9,31,0,9 ,31,0,9,31,0,9,32,0,9,30,0,9,32,0,9,32,0,9,32,1,10,32,1,9,32,1,10,32,1,10,32,1,1 0,32,1,10,32,1,10,32,1,10,31,1,10,31,1

(65)

LAMPIRAN 4 - SOURCE CODE

################################## # tesis-disp.py # # (c)2013 Stephanus Priyowidodo # # NIM 107038023 # # S2 Teknik Informatika USU # # Sumber Dataset : chalearn.org # ##################################

__author__ ="Stephanus Priyowidodo"

import random, math, copy, pygame, os.path, numpy as np import scipy.io as sio, pyffmpeg

from pygame.locals import * from sys import exit

from pyffmpeg import *

def buka_file_mat(namafilemat):

mat_contents = sio.loadmat(namafilemat) retstruk=mat_contents[svd]

return retstruk

def c2s(x,y,z):

x2py2 = x**2 + y**2

r = np.sqrt(x2py2 + z**2)# r

elevasi = np.arctan2(z,np.sqrt(x2py2))# theta azimuth = np.arctan2(y,x)#phi

return r, elevasi, azimuth

def jumlah_frame(nama_struktur):

jf = nama_struktur[snf][0][0][0][0] return jf

def frame_rate(nama_struktur):

fr = nama_struktur[sfr][0][0][0][0] return fr

def baca_label(nama_struktur_label, indeks):

nama_gerak=nama_struktur_label[0][0][snm][0][indeks][0] posisi_awal=nama_struktur_label[0][0][sbg][0][indeks][0][0] posisi_akhir=nama_struktur_label[0][0][sen][0][indeks][0][0] return (nama_gerak, posisi_awal, posisi_akhir)

def label_ke_list(nama_struktur_label): templist=[]

for i in range (0,21): try:

(ng, faw, fak)=baca_label(nama_struktur_label,i) templist.append([ng, faw, fak])

(66)

templist=[]

for skel in range(0, jumlah_frame): for pl in range(0, 20):

templist.append([skel,

skeleton[skel][sjt][0][0][pl][0][0], skeleton[skel][spp][0][0][pl][0], skeleton[skel][spp][0][0][pl][1], skeleton[skel][swp][0][0][pl][0], skeleton[skel][swp][0][0][pl][1], skeleton[skel][swp][0][0][pl][2] ])

return templist

def gambar_skeleton_pendek(lscreen, fr, lsk, aw, ak, warna): pygame.draw.line(lscreen, warna, (lsk[fr*20+aw][2],

lsk[fr*20+aw][3]), (lsk[fr*20+ak][2], lsk[fr*20+ak][3])) return

def gambar_skeleton_panjang(lscreen, fr, lsk, aw, ak, warna): for ul in range(aw, ak):

pos1, pos2=ul, ul+1 if ul==ak : break

pygame.draw.line(lscreen, warna, (lsk[fr*20+pos1][2],

lsk[fr*20+pos1][3]), (lsk[fr*20+pos2][2], lsk[fr*20+pos2][3])) return

def surface(lscreen, x, y, lbr, pjg): s = pygame.Surface((lbr,pjg)) s.set_alpha(128)

s.fill((0,0,0)) lscreen.blit(s, (x,y))

def kotak(lscreen, x, y, lbr, pjg, warna, alpha): s = pygame.Surface((lbr,pjg))

s.set_alpha(alpha) #120 s.fill(warna)

lscreen.blit(s, (x,y))

def persen(lscreen, x, y, pos, maks):

pygame.draw.line(lscreen, (155,155,155),(x,y), (x+600,y)) xpos=(pos*600)//maks

#print xpos

pygame.draw.line(lscreen, (150,150,150),(x,y-1), (x+xpos,y-1)) pygame.draw.line(lscreen, (255,255,255),(x,y), (x+xpos,y)) pygame.draw.line(lscreen, (150,150,150),(x,y+1), (x+xpos,y+1)) pygame.draw.circle(lscreen, (255, 255, 0), (x+xpos,y), 3)

def tampil_dot(lscreen,frame): for i in range(0,20):

pygame.draw.circle(lscreen, (255, 255, 255),

(ListSkeleton[frame*20+i][2], ListSkeleton[frame*20+i][3]), 3)

(67)

global Lmerah, Lhijau, gerakseb

posx, posy=ListSkeleton[frame*20][2], ListSkeleton[frame*20][3] kiri, atas=posx-150, posy-250

kotak(lscreen, kiri, atas, 300, 450, (0,0,0), 120)

def tampil_biner(lscreen, frame):

global Lbresmerah, Lbreshijau, gerakseb

posx, posy=ListSkeleton[frame*20][2], ListSkeleton[frame*20][3] kiri, atas=posx-150, posy-250

kotak(lscreen, kiri, atas, 300, 350, (0,0,0), 120) for i in range(0, 300, 10):

for j in range(0,350, 10):

kotak(lscreen, kiri+i, atas+j, 9, 9, (0,0,0), 120) if Layar3D:

kotak(lscreen, kiri-160, atas, 150, 350, (0,0,0), 120)

kotak(lscreen, kiri+310, atas, 150, 350, (0,0,0), 120) for i in range(0, 150, 10):

for j in range(0,350, 10):

kotak(lscreen, kiri-160+i, atas+j, 9, 9, (0,0,0), 120) kotak(lscreen, kiri+310+i, atas+j, 9, 9, (0,0,0), 120) for i in range(0, len(Lbresmerah)):

kotak(lscreen, kiri+Lbresmerah[i][0]*10,

atas+Lbresmerah[i][1]*10, 9, 9,(255,0,0), 120) kotak(lscreen, kiri+Lbreshijau[i][0]*10,

atas+Lbreshijau[i][1]*10, 9, 9,(0,255,0), 120) if Layar3D:

kotak(lscreen, kiri-160+Lbreshijau[i][2]*10, atas+Lbreshijau[i][

Gambar

Gambar 2.1 Rentang jarak objek dari sensor
gambar yang merepresresentasikan jarak seluruh objek dari sensor infrinframerah Kinect
Tabel 2.1 menyajikan  urutan bagian data skeleton yang merupakakan standar urutan yang
Gambar Skeleton
+7

Referensi

Dokumen terkait

Hubungkan kabel audio (dijual terpisah) ke konektor Audio (RGB/DVI) (1) di bagian belakang monitor dan ujung lainnya ke port Line Out (2) pada pemutar media/komputer jika

Menggunakan fungsi Berbagi Perangkat, Anda dapat berbagi fitur panel layar, port USB belakang, webcam, dan layar sentuh PC All-in-one dengan perangkat lain yang berbasis Microsoft

Anda juga dapat memilih untuk mengaktifkan atau menonaktifkan nada sentuh panel tombol, suara sentuh, dan suara penguncian layar, atau untuk membuat ASUS Phone bergetar saat

Anda juga dapat memilih untuk mengaktifkan atau menonaktifkan nada sentuh panel tombol, suara sentuh, dan suara penguncian layar, atau untuk membuat ASUS Tablet bergetar saat

Pada arsitektur mainboard terlihat bahwa mikrokomputer menjadi komponen utama dengan CPU sebagai pemroses data dari micro SD yang telah di-install sistem operasi dan

Keracunan pada manusia disebabkan oleh konsumsi enterotoksin yang dihasilkan oleh beberapa strain Staphylococcus aureus di dalam makanan, biasanya karena makanan tersebut

1) Memandu pemustaka dalam mencari koleksi Dokumen. 2) Melayani pemustaka dilayanan Dokumen. 3) Melayani foto copy koleksi dokumen. 4) Mencatat , merekap dan mengirim data

Mencari Deduct Value (DV) yang berupa grafik jenis-jenis