Membangun Aplikasi Menggambar 2 Dimensi Memanfaatkan 3 Dimensi Depth of Kinect Dengan mengggunakan Metode Skeleton Tracking SAMPUL HALAMAN TUGAS AKHIR
Sebagai persyaratan Guna Meraih Sarjana Strata 1 Teknik Informatika Universitas Muhammadiyah Malang
Oleh Mien Handry Hasta Sajiwo 09560287
JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH MALANG TAHUN 2013
LEMBAR PENGESAHAN
Membangun Aplikasi Menggambar 2 Dimensi Memanfaatkan 3 Dimensi Depth of Kinect Dengan mengggunakan Metode Skeleton Tracking
TUGAS AKHIR
Sebagai persyaratan Guna Meraih Sarjana Strata 1 Teknik Informatika Universitas Muhammadiyah Malang
Disusun Oleh : Mien Handry Hasta Sajiwo 09560287
Menyetujui
Penguji I
Penguji II
Ali Sofyan Kholimi, S.Kom NIDN : 0701038202 Mengetahui, Ketua Jurusan Teknik Informatika
Eko Budi Cahyono, S.Kom, MT NIP : 10895040330
Saifuddin, S.Kom NIDN : 0716118701
KATA PENGANTAR
Dengan memanjatkan puji syukur kehadirat Allah SWT. Atas limpahan rahmat dan hidayahnya-NYA sehingga peneliti dapat menyelesaikan tugas akhir yang berjudul
“MEMBANGUN APLIKASI MENGGAMBAR 2 DIMENSI MEMANFAATKAN 3 DIMENSI DEPTH OF KINECT DENGAN MENGGGUNAKAN METODE SKELETON TRACKING”
Didalam tulisan ini disajikan pokok-pokok bahasan yang meliputi pengertian kinect, bagaimana cara kerja kinect jika di terapkan di windows pc, bagaimana cara mengintegrasikan metode Skeleton Traking dengan aplikasi menggambar pada kinect, Peneliti menyadari sepenuhnya bahwa dalam penulisan tugas akhir ini masih banyak kekurangan dan keterbatasan. Oleh karena itu peneliti mengharapkan saran yang membangun agar tulisan ini bermanfaat bagi perkembangan ilmu pengetahuan kedepan.
Malang, 27 maret 2013
Mien Handry Hasta Sajiwo
DAFTAR ISI ABSTRAK .............................................................................................................. i ABSTRACT ............................................................................................................ ii LEMBAR PERSEMBAHAN ............................................................................... iii KATA PENGANTAR .......................................................................................... iv DAFTAR ISI ........................................................................................................... v DAFTAR GAMBAR ........................................................................................... viii DAFTAR TABEL .................................................................................................. xi BAB I PENDAHULUAN ..................................................................................... 1 1.1. LATAR BELAKANG .............................................................................. 1 1.2. RUMUSAN MASALAH ......................................................................... 2 1.3. BATASAN MASALAH ........................................................................... 2 1.4. TUJUAN PENELITIAN ........................................................................... 2 1.5. METODOLOGI PENYELESAIAN MASALAH .................................... 3 1.6. SISTEMATIKA PENULISAN ................................................................. 4 BAB II LANDASAN TEORI ............................................................................. 5 2.1. KINECT .................................................................................................... 5 2.2. SENSOR DEPTH OF KINECT ................................................................ 6 2.2.1. Measuring Depth ....................................................................................... 7 2.3. SKELETON TRACKING ........................................................................ 8 2.4. MICROSOFT NET.FRAMEWORK ..................................................... 10 2.5. MICROSOFT VISUAL STUDIO .......................................................... 11 2.6. SOFTWARE DEVELOPMENT KIT .................................................... 11 2.7. KINECT DEVELOPER TOOKIT ......................................................... 12 2.8. BAGAIMANA KINECT BISA MENDETEKSI GERAKAN .............. 13 2.9. REVIEW PENELITIAN SEBELUMNYA .......................................... 15 BAB III ANALISA DAN PERANCANGAN SISTEM .................................. 19 3.1. ANALISA SISTEM ................................................................................ 19 3.1.1. Perangkat Keras ............................................................................ 19 a. Kinect ........................................................................................ 19
3.1.2. Spesifikasi Aplikasi ..................................................................... 20 3.1.3. Spesifikasi User ........................................................................... 20 3.1.3. Funsionalitas Sistem ................................................................... 21 a. Menentukan area menggambar user ........................................ 21 b. perintah suara ............................................................................ 22 c. posisi tubuh pada saat menggambar ....................................... 23 3.2. ARSITEKTUR SISTEM ....................................................................... 24 3.3. ARSITEKTUR SOFTWARE .................................................................. 25 1. Microsoft Speech Platform ................................................................. 25 2. Microsoft Speech Platform Runtime ................................................... 26 3. Microsoft Speech Platform SDK ......................................................... 26 4. Language Pack.................................................................................... 26 3.4. PERANCANGAN INTERFACE ........................................................... 26 3.5. PERANCANGAN PROSES .................................................................. 30 3.5.1. Flowchart ..................................................................................... 30 BAB IV . IMPLEMENTASI DAN PENGUJIAN ............................................ 46 4.1 IMPLEMENTASI .................................................................................... 46 4.1.1. Implentasi WPF aplication ........................................................... 46 4.1.2. Implementasi Library .................................................................. 4 8 4.1.2.1. Library Microsoft SDK Kinect ...................................... 49 4.1.2.2. Library Speech Platform SDK ...................................... 55 4.1.3. Implementasi Skeleton Tracking .................................................. 58 4.1.4. Implementasi Warna .................................................................... 61 4.2. PENGUJIAN ......................................................................................... 66 4.2.1. Pengujian Fungsionalitas .............................................................. 66 4.2.1.1. Pengujian Skeleton Tracking .......................................... 66 4.2.1.2. Pengujian perintah suara ............................................... 68 4.2.1.3. Pengujian warna pada kanvas ....................................... 70 4.2.1.4. Pengujian koneksi kinect................................................ 70
4.2.2. Pengujian Performa .............................................................................. 72 4.2.2.1. Keakuratan warna ...................................................................... 72 4.2.2.2 Keakuratan Skeleton Tracking .................................................... 74 4.2.2.3. Keakuratan pengenalan suara ..................................................... 93 4.2.2.4. Mengukur kepekatan warna .................................................... 100 4.2.2.5. Mengukur kebisingan .............................................................. 106
BAB V PENUTUP ........................................................................................... 109 5.1 Kesimpulan ............................................................................................ 119 5.2 Saran dan pengembangan....................................................................... 110 DAFTAR PUSTAKA ......................................................................................... 111 LAMPIRAN ....................................................................................................... 112 BIOGRAFI PENULIS ........................................................................................ 134
DAFTAR GAMBAR
No
Nomor Gambar
Nama Gambar
Halaman
BAB I 1 2 3
Gambar 2.1 Gambar 2.2 Gambar 2.3
4
Gambar 2.4
5
Gambar 2.5
6
Gambar 2.6
7
Gambar 2.7
8
Gambar 2.8
9
Gambar 2.9
10
Gambar 2.10
11 12 13 14 15
Gambar 2.11 Gambar 2.12 Gambar 2.13 Gambar 2.14 Gambar 2.15
Hardware Kinect for Xbox 360 Sensor - Sensor yang dimilik Kinect (istlab,2012) Jarak kedalaman (Jarret Webb, 2012)- 2012) Metodologi Skeletal Tracking using Microsoft Kinect by Dr. Amitabha Mukerjee & Dr. Prithwijit Guha (2012) Sendi - sendi tulang (James Ashley, 2012) Fiture - fitur pada Microsoft Kinect SDK(istlab,2012) Kinect Developer Toolkit. Output yang dihasilkan oleh Sensor IR Emiter (Jeff Kramer, 2012). Sofa yang di terangi lampu (Rob Miles, 2012) Sofa hasil Sensor infra merah (Nicolas Burrus, 2012) Tampilan awal Kinect Paint Kinect Paint saat menggunakan pen Kinect Paint saat menggunakan paint brush Cara menyimpan hasil gambar Hasil penyimpanan gambar pada Kinect Paint
5 6 7 8 10 11 12 13 14 15 16 17 17 18 18
BAB II 16
Gambar 3.1
17
Gambar 3.2
18
Gambar 3.3
19
Gambar 3.4
20 21
Gambar 3.5 Gambar 3.6
22
Gambar 3.7
23
Gambar 3.8
User bisa dilacak pada posisi berdiri dan duduk. (Microsoft Corporation, 2012) Area menggambar user (Microsoft Corporation 2012) Kinect track the loudest audio input (Microsoft Corporation - 2012) Rancangan posisi badan pada saat menggambar dengan menggerakkan tangan kanan untuk menggambar. Ilustrated Skeleton Joints (Jarret Webb - 2012) Arsitektur Sistem Rancangan interface aplikasi menggambar 2 dimensi Flowchart system pelacakan suara manusia menggunakan Sensor Kinect
20 21 22 23 24 24 27 30
24
Gambar 3.9
25
Gambar 3.10
26 27 28 29
Gambar 3.11 Gambar 3.12 Gambar 3.13 Gambar 3.14
Flowchart system Pelacakan kerangka pada tubuh manusia menggunakan Sensor Kinect Flowchart system Pelacakan dan pengenalan suara pada Sensor Kinect Tracking user with kinect Skeletal Tracking Enable Skeleton Tracking Accessing Skeletal Tarcking Information Access Tracked Skeleton Tracking
32 34 37 39 41 43
BAB VI 29 30
Gambar 4.1 Gambar 4.2
31
Gambar 4.3
32
Gambar 4.4
33
Gambar 4.5
34
Gambar 4.6
35
Gambar 4.7
36
Gambar 4.8
37
Gambar 4.9
38
Gambar 4.10
39
Gambar 4.11
40
Gambar 4.12
41
Gambar 4.13
42 43
Gambar 4.14 Gambar 4.15
44
Gambar 4.16
45 46 47
Gambar 4.17 Gambar 4.18 Gambar 4.19
48
Gambar 4.20
49
Gambar 4.21
WPF Aplication pada bahasa pemrograman C# WPF Build Pipeline Library secara default pada Windows Presentation Foundation Library tambahan yang digunakan untuk aplikasi menggambar 2 dimesi Metode pengaturan suara menggunakan BeamAngleMode pada enumeration metode kerangka menusia menggunakan struktur joint dan enumeration color image point Metode sensorKinectXBOX360 menggunakan class skeleton frame ready Metode untuk mengimplementtasikan skeleton tracking Method yang menggunakan fungsi dari MicrosoftSpeechRecognize Method penganturan pengeluaran suara yang menggunakan kelas microsoft speech synthesizer Method untuk mengimplementasikan Skeleton Tracking Tampilan model Skeleton Tracking pada aplikasi menggembar 2 dimesi Source code menentukan kuas untuk mengeluarkan warna Source code mengacak warna Tampilan Skeleton Tracking pada kanvas. Hasil perintah suara “how” dalam bentuk message box Hasil pengujian warna pada kanvas Hasil pengujian koneksi kinect tanpa listrik Hasil pengujian program tanpa usb kinect Pergerakan tangan secara pelan menghasilkan warna yang halus Pergerakan tangan dengan gerakan tangan akan
46 47 48 49 54 54 55 56 57 58 49 60 65 66 67 69 70 71 71 72 73
50
Gambar 4.22
51
Gambar 4.23
52
Gambar 4.24
53
Gambar 4.25
54
Gambar 4.26
55
Gambar 4.27
56
Gambar 4.28
57
Gambar 4.29
58
Gambar 4.30
59
Gambar 4.31
60
Gambar 4.32
61
Gambar 4.33
62
Gambar 4.34
63
Gambar 4.35
64
Gambar 4.36
65
Gambar 4.37
66
Gambar 4.38
67
Gambar 4.39
68
Gambar 4.40
69
Gambar 4.41
70
Gambar 4.42
71
Gambar 4.43
72
Gambar 4.44
menghasilkan warna yang putus-putus Ketika lebih dari satu user maka skeleton tracking yang lebih sempurna akan dipilih Ketika berdiri pas depan lurus dengan sensor maka hasil kerangka yang dihasilkan 100% Pada saat posisi duduk, jarak terbaik kinect dengan user adalah 2 meter sampek 3 meter Posisi sensor kinect lurus dengan Spine Hasil pengujian kondisi lurus spine dengan jarak 20 cm sampai dengan 100 cm Hasil pengujian kondisi lurus spine dengan jarak 120 cm Hasil pengujian kondisi lurus spine dengan jarak 140 cm Hasil pengujian kondisi lurus spine dengan jarak 160 cm Hasil pengujian kondisi lurus spine dengan jarak 180 cm Hasil pengujian kondisi lurus spine dengan jarak 200 cm Hasil pengujian kondisi lurus spine dengan jarak 220 cm Hasil pengujian kondisi lurus spine dengan jarak 240 cm Hasil pengujian kondisi lurus spine dengan jarak 260 cm Hasil pengujian kondisi lurus spine dengan jarak 280 cm Hasil pengujian kondisi lurus spine dengan jarak 300 cm Hasil pengujian kondisi lurus spine dengan jarak 320 cm Hasil pengujian kondisi lurus spine dengan jarak 340 cm Hasil pengujian kondisi lurus spine dengan jarak 360 cm Hasil pengujian kondisi lurus spine dengan jarak 380 cm Hasil pengujian kondisi lurus spine dengan jarak 400 cm Posisi sensor kinect lurus dengan shoulder center Hasil pengujian kondisi lurus shoulder center dengan jarak 20 cm sampai dengan 80 cm Hasil pengujian kondisi lurus shoulder center
73 74 75 75 76 76 77 77 77 78 78 78 79 79 79 80 80 80 81 81 84 84 85
73
Gambar 4.45
74
Gambar 4.46
75
Gambar 4.47
76
Gambar 4.48
77
Gambar 4.49
78
Gambar 4.50
79
Gambar 4.51
80
Gambar 4.52
81
Gambar 4.53
82
Gambar 4.54
83
Gambar 4.55
84
Gambar 4.56
85
Gambar 4.57
86
Gambar 4.58
87
Gambar 4.59
88
Gambar 4.60
89
Gambar 4.61
90
Gambar 4.62
91
Gambar 4.63
92
Gambar 4.64
93
Gambar 4.65
94
Gambar 4.66
95
Gambar 4.67
dengan jarak 100 cm Hasil pengujian kondisi lurus shoulder center dengan jarak 120 cm Hasil pengujian kondisi lurus shoulder center dengan jarak 140 cm Hasil pengujian kondisi lurus shoulder center dengan jarak 160 cm Hasil pengujian kondisi lurus shoulder center dengan jarak 180 cm Hasil pengujian kondisi lurus shoulder center dengan jarak 200 cm Hasil pengujian kondisi lurus shoulder center dengan jarak 220 cm Hasil pengujian kondisi lurus shoulder center dengan jarak 240 cm Hasil pengujian kondisi lurus shoulder center dengan jarak 260 cm Hasil pengujian kondisi lurus shoulder center dengan jarak 280 cm Hasil pengujian kondisi lurus shoulder center dengan jarak 300 cm Hasil pengujian kondisi lurus shoulder center dengan jarak 320 cm Hasil pengujian kondisi lurus shoulder center dengan jarak 340 cm Hasil pengujian kondisi lurus shoulder center dengan jarak 360 cm Hasil pengujian kondisi lurus shoulder center dengan jarak 380 cm Hasil pengujian kondisi lurus shoulder center dengan jarak 400 cm hasil deteksi ketika dalam keadaan sepi Hasil deteksi saat menerima perintah suara pada situasi sepi. Hasil deteksi ketika dalam keadaan sedikit bising Hasil deteksi pengenalan suara ketika suasana suara diluar ramai Banyaknya suara ramai dari luar akan mengalahkan perintah suara dari user Mengukur kepekatan warna menggunakan spine dengan jarak 2 meter Hasil gambar kepekatan warna dengan warna pink jarak 2 meter. Hasil gambar kepekatan warna dengan warna
85 86 86 86 87 87 87 88 88 88 89 89 89 90 90 94 95 98 99 100 101 101 102
96
Gambar 4.68
97
Gambar 4.69
98
Gambar 4.70
99
Gambar 4.71
100
Gambar 4.72
101
Gambar 4.73
102
Gambar 4.74
103
Gambar 4.75
104
Gambar 4.76
105
Gambar 4.77
yellow jarak 2 meter. Hasil gambar kepekatan warna dengan warna gray jarak 2 meter. Hasil gambar kepekatan warna dengan warna cyan jarak 2 meter. Hasil gambar kepekatan warna dengan warna coral jarak 2 meter. Hasil gambar kepekatan warna dengan warna coklat jarak 2 meter. Hasil gambar kepekatan warna dengan warna brown jarak 2 meter. Hasil gambar kepekatan warna dengan warna purple jarak 2 meter. Hasil gambar kepekatan warna dengan warna red jarak 2 meter. Hasil gambar kepekatan warna dengan warna hitam jarak 2 meter. Hasil gambar kepekatan warna dengan perbedaan kapasitas pada masing-masing file Gambar deteksi kebisingan dengan convidence level 0,30
102 103 103 103 104 104 104 105 105 107
DAFTAR TABEL Tabel Tabel 4.1 Tabel 4.2 Tabel 4.3 Tabel 4.4 Tabel 4.5 Tabel 4.6 Tabel 4.7 Tabel 4.8 Tabel 4.9 Tabel 4.10 Tabel 4.11
Nama Tabel class-class yang ada didalam SDK Kinect Tabel Strukture yang ada didalam SDK Kinect Tabel Enumeration yang ada didalam SDK Kinect Tabel nama warna dan diskripsi yang diterapkan dalam aplikasi menggambar 2 dimesi Tabel pengujian keakuratan skeleton tracking dengan kondisi sensor kinect lurus spine Tabel pengujian keakuratan skeleton tracking dengan kondisi sensor kinect lurus shoulder center Tabel perbandingan antara kondisi shoulder center dengan spine Tabel hasil pengujian pengenalan suara pada suasana sepi Tabel hasil pengujian pengenalan suara pada suasana bising Tabel hasil pengujian pengenalan suara pada suasana ramai Hasil pengujian kepekatan warna
Halaman 50 52 52 61 82 90 93 96 97 99 106
DAFTAR GRAFIK No
Nomor Grafik
1
Gambar 4.1.
2
Gambar 4.2.
Nama Grafik
Grafik hasil pengujian keakuratan Skeleton Tracking dengan kondisi sensor lurus dengan spine. Grafik hasil pengujian keakuratan skeleton tracking dengan kondisi sensor lurus dengan spine.
Halaman 83 92
Daftar Pustaka
[1]
Jeff, Nicolas. (2012). “Hacking the Kinect” . New York : Springer Science & Business Media New York.
[2]
Jarret, James. (2012). “Begining Kinect Programing With Microsoft Kinect SDK” . New J
[3]
Erico. (2012). “Pemrograman Dasar C-JAVA-C# Yang Susah Jadi Mudah” (Edisi Pertama). Jakarta : INFORMATIKA.
[4]
Erico, Laurentius, (2012). “PEMROGRAMAN BERORIENTASI OBJECT C# Yang Susah Jadi Mudah” (Edisi Kedua) . Jakarta : INFORMATIKA.
[5] Efthimios, (2011). NIRTeam “Natural Interaction Research Team”, [Online]. Tersedia: https://blog.teicrete.gr/nirt/en/tag/microsoft-kinect/ yang direkam pada [31 Januari 2013]. [8]
Greg Borenstein, (2012) "Making Things See 3D vision with Kinect, Processing, Arduino, and MakerBot", O'Reilly.
[9] Valentino, (2012), “Using Kinect for hand tracking and rendering in wearable haptics” SIRSLab, Dipartimento di Ingegneria dell’Informazione. [10] Peekb, (2010), “Kinect Paint Aplication”, diakses dialamat http://paint.codeplex.com/releases/view/81498 pada tanggal 1 Desember 2013 [11] Catuhe, David, (2012)“Programing with the Kinect for Windows” Microsoft Press : A Devision of Microsoft Corporation. [12] Dr. Amitabha, Dr. Prithwijit (2012) “Sekeletal Tracking Using Microsoft Kinect”. (Online).( http://www.cs.berkeley.edu/~akar/cs397/)