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 Saifuddin, S.Kom
NIDN : 0701038202 NIDN : 0716118701
Mengetahui,
Ketua Jurusan Teknik Informatika
Eko Budi Cahyono, S.Kom, MT NIP : 10895040330
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
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
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 PlatformSDK ... 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.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
DAFTAR GAMBAR
No Nomor
Gambar Nama Gambar Halaman
BAB I
1 Gambar 2.1 Hardware Kinect for Xbox 360 5
2 Gambar 2.2 Sensor - Sensor yang dimilik Kinect (istlab,2012) 6
3 Gambar 2.3 Jarak kedalaman (Jarret Webb, 2012)- 2012) 7
4 Gambar 2.4
Metodologi Skeletal Tracking using Microsoft Kinect by Dr. Amitabha Mukerjee & Dr. Prithwijit Guha (2012)
8
5 Gambar 2.5 Sendi - sendi tulang (James Ashley, 2012) 10
6 Gambar 2.6 Fiture - fitur pada MicrosoftKinect
SDK(istlab,2012) 11
7 Gambar 2.7 Kinect Developer Toolkit. 12
8 Gambar 2.8 Output yang dihasilkan oleh Sensor IR Emiter (Jeff
Kramer, 2012). 13
9 Gambar 2.9 Sofa yang di terangi lampu (Rob Miles, 2012) 14
10 Gambar 2.10 Sofa hasil Sensor infra merah (Nicolas Burrus,
2012) 15
11 Gambar 2.11 Tampilan awal Kinect Paint 16
12 Gambar 2.12 Kinect Paint saat menggunakan pen 17
13 Gambar 2.13 Kinect Paint saat menggunakan paint brush 17
14 Gambar 2.14 Cara menyimpan hasil gambar 18
15 Gambar 2.15 Hasil penyimpanan gambar pada Kinect Paint 18
BAB II
16 Gambar 3.1 User bisa dilacak pada posisi berdiri dan duduk.
(Microsoft Corporation, 2012) 20
17 Gambar 3.2 Area menggambar user (Microsoft Corporation -
2012) 21
18 Gambar 3.3 Kinect track the loudest audio input (Microsoft
Corporation - 2012) 22
19 Gambar 3.4
Rancangan posisi badan pada saat menggambar dengan menggerakkan tangan kanan untuk menggambar.
23
20 Gambar 3.5 Ilustrated Skeleton Joints (Jarret Webb - 2012) 24
21 Gambar 3.6 Arsitektur Sistem 24
22 Gambar 3.7 Rancangan interface aplikasi menggambar 2
dimensi 27
23 Gambar 3.8 Flowchart system pelacakan suara manusia
24 Gambar 3.9 Flowchart system Pelacakan kerangka pada tubuh
manusia menggunakan Sensor Kinect 32
25 Gambar 3.10 Flowchart system Pelacakan dan pengenalan suara
pada Sensor Kinect 34
26 Gambar 3.11 Tracking user with kinect Skeletal Tracking 37
27 Gambar 3.12 Enable Skeleton Tracking 39
28 Gambar 3.13 Accessing Skeletal Tarcking Information 41
29 Gambar 3.14 Access Tracked SkeletonTracking 43
BAB VI
29 Gambar 4.1 WPF Aplication pada bahasa pemrograman C# 46
30 Gambar 4.2 WPF Build Pipeline 47
31 Gambar 4.3 Library secara default pada Windows Presentation
Foundation 48
32 Gambar 4.4 Library tambahan yang digunakan untuk aplikasi
menggambar 2 dimesi 49
33 Gambar 4.5 Metode pengaturan suara menggunakan
BeamAngleMode pada enumeration 54
34 Gambar 4.6 metode kerangka menusia menggunakan struktur
joint dan enumeration color image point 54
35 Gambar 4.7 Metode sensorKinectXBOX360 menggunakan class
skeleton frame ready 55
36 Gambar 4.8 Metode untuk mengimplementtasikan skeleton
tracking 56
37 Gambar 4.9 Method yang menggunakan fungsi dari
MicrosoftSpeechRecognize 57
38 Gambar 4.10 Method penganturan pengeluaran suara yang
menggunakan kelas microsoft speech synthesizer 58
39 Gambar 4.11 Method untuk mengimplementasikan Skeleton
Tracking 49
40 Gambar 4.12 Tampilan model Skeleton Tracking pada aplikasi
menggembar 2 dimesi 60
41 Gambar 4.13 Source code menentukan kuas untuk
mengeluarkan warna 65
42 Gambar 4.14 Source code mengacak warna 66
43 Gambar 4.15 Tampilan Skeleton Tracking pada kanvas. 67
44 Gambar 4.16 Hasil perintah suara “how” dalam bentuk message
box 69
45 Gambar 4.17 Hasil pengujian warna pada kanvas 70
46 Gambar 4.18 Hasil pengujian koneksi kinect tanpa listrik 71
47 Gambar 4.19 Hasil pengujian program tanpa usb kinect 71
48 Gambar 4.20 Pergerakan tangan secara pelan menghasilkan
warna yang halus 72
menghasilkan warna yang putus-putus
50 Gambar 4.22 Ketika lebih dari satu user maka skeleton tracking
yang lebih sempurna akan dipilih 73
51 Gambar 4.23 Ketika berdiri pas depan lurus dengan sensor
maka hasil kerangka yang dihasilkan 100% 74
52 Gambar 4.24 Pada saat posisi duduk, jarak terbaik kinect
dengan user adalah 2 meter sampek 3 meter 75
53 Gambar 4.25 Posisi sensor kinect lurus dengan Spine 75
54 Gambar 4.26 Hasil pengujian kondisi lurus spine dengan jarak
20 cm sampai dengan 100 cm 76
55 Gambar 4.27 Hasil pengujian kondisi lurus spine dengan jarak
120 cm 76
56 Gambar 4.28 Hasil pengujian kondisi lurus spine dengan jarak
140 cm 77
57 Gambar 4.29 Hasil pengujian kondisi lurus spine dengan jarak
160 cm 77
58 Gambar 4.30 Hasil pengujian kondisi lurus spine dengan jarak
180 cm 77
59 Gambar 4.31 Hasil pengujian kondisi lurus spine dengan jarak
200 cm 78
60 Gambar 4.32 Hasil pengujian kondisi lurus spine dengan jarak
220 cm 78
61 Gambar 4.33 Hasil pengujian kondisi lurus spine dengan jarak
240 cm 78
62 Gambar 4.34 Hasil pengujian kondisi lurus spine dengan jarak
260 cm 79
63 Gambar 4.35 Hasil pengujian kondisi lurus spine dengan jarak
280 cm 79
64 Gambar 4.36 Hasil pengujian kondisi lurus spine dengan jarak
300 cm 79
65 Gambar 4.37 Hasil pengujian kondisi lurus spine dengan jarak
320 cm 80
66 Gambar 4.38 Hasil pengujian kondisi lurus spine dengan jarak
340 cm 80
67 Gambar 4.39 Hasil pengujian kondisi lurus spine dengan jarak
360 cm 80
68 Gambar 4.40 Hasil pengujian kondisi lurus spine dengan jarak
380 cm 81
69 Gambar 4.41 Hasil pengujian kondisi lurus spine dengan jarak
400 cm 81
70 Gambar 4.42 Posisi sensor kinect lurus dengan shoulder center 84
71 Gambar 4.43 Hasil pengujian kondisi lurus shoulder center
dengan jarak 20 cm sampai dengan 80 cm 84
dengan jarak 100 cm
73 Gambar 4.45 Hasil pengujian kondisi lurus shoulder center
dengan jarak 120 cm 85
74 Gambar 4.46 Hasil pengujian kondisi lurus shoulder center
dengan jarak 140 cm 86
75 Gambar 4.47 Hasil pengujian kondisi lurus shoulder center
dengan jarak 160 cm 86
76 Gambar 4.48 Hasil pengujian kondisi lurus shoulder center
dengan jarak 180 cm 86
77 Gambar 4.49 Hasil pengujian kondisi lurus shoulder center
dengan jarak 200 cm 87
78 Gambar 4.50 Hasil pengujian kondisi lurus shoulder center
dengan jarak 220 cm 87
79 Gambar 4.51 Hasil pengujian kondisi lurus shoulder center
dengan jarak 240 cm 87
80 Gambar 4.52 Hasil pengujian kondisi lurus shoulder center
dengan jarak 260 cm 88
81 Gambar 4.53 Hasil pengujian kondisi lurus shoulder center
dengan jarak 280 cm 88
82 Gambar 4.54 Hasil pengujian kondisi lurus shoulder center
dengan jarak 300 cm 88
83 Gambar 4.55 Hasil pengujian kondisi lurus shoulder center
dengan jarak 320 cm 89
84 Gambar 4.56 Hasil pengujian kondisi lurus shoulder center
dengan jarak 340 cm 89
85 Gambar 4.57 Hasil pengujian kondisi lurus shoulder center
dengan jarak 360 cm 89
86 Gambar 4.58 Hasil pengujian kondisi lurus shoulder center
dengan jarak 380 cm 90
87 Gambar 4.59 Hasil pengujian kondisi lurus shoulder center
dengan jarak 400 cm 90
88 Gambar 4.60 hasil deteksi ketika dalam keadaan sepi 94
89 Gambar 4.61 Hasil deteksi saat menerima perintah suara pada
situasi sepi. 95
90 Gambar 4.62 Hasil deteksi ketika dalam keadaan sedikit bising 98
91 Gambar 4.63 Hasil deteksi pengenalan suara ketika suasana
suara diluar ramai 99
92 Gambar 4.64 Banyaknya suara ramai dari luar akan
mengalahkan perintah suara dari user 100
93 Gambar 4.65 Mengukur kepekatan warna menggunakan spine
dengan jarak 2 meter 101
94 Gambar 4.66 Hasil gambar kepekatan warna dengan warna pink
jarak 2 meter. 101
yellow jarak 2 meter.
96 Gambar 4.68 Hasil gambar kepekatan warna dengan warna gray
jarak 2 meter. 102
97 Gambar 4.69 Hasil gambar kepekatan warna dengan warna
cyan jarak 2 meter. 103
98 Gambar 4.70 Hasil gambar kepekatan warna dengan warna
coral jarak 2 meter. 103
99 Gambar 4.71 Hasil gambar kepekatan warna dengan warna
coklat jarak 2 meter. 103
100 Gambar 4.72 Hasil gambar kepekatan warna dengan warna
brown jarak 2 meter. 104
101 Gambar 4.73 Hasil gambar kepekatan warna dengan warna
purple jarak 2 meter. 104
102 Gambar 4.74 Hasil gambar kepekatan warna dengan warna red
jarak 2 meter. 104
103 Gambar 4.75 Hasil gambar kepekatan warna dengan warna
hitam jarak 2 meter. 105
104 Gambar 4.76 Hasil gambar kepekatan warna dengan perbedaan
kapasitas pada masing-masing file 105
105 Gambar 4.77 Gambar deteksi kebisingan dengan convidence
DAFTAR TABEL
Tabel Nama Halaman
Tabel 4.1 Tabel class-class yang ada didalam SDKKinect 50 Tabel 4.2 Tabel Strukture yang ada didalam SDKKinect 52 Tabel 4.3 Tabel Enumeration yang ada didalam SDKKinect 52 Tabel 4.4 Tabel nama warna dan diskripsi yang diterapkan dalam aplikasi
menggambar 2 dimesi 61
Tabel 4.5 Tabel pengujian keakuratan skeleton tracking dengan kondisi
sensor kinect lurus spine 82
Tabel 4.6 Tabel pengujian keakuratan skeleton tracking dengan kondisi
sensor kinect lurus shoulder center 90 Tabel 4.7 Tabel perbandingan antara kondisi shoulder center dengan
spine 93
Tabel 4.8 Tabel hasil pengujian pengenalan suara pada suasana sepi 96 Tabel 4.9 Tabel hasil pengujian pengenalan suara pada suasana bising 97 Tabel 4.10 Tabel hasil pengujian pengenalan suara pada suasana ramai 99 Tabel 4.11 Hasil pengujian kepekatan warna 106
DAFTAR GRAFIK
No Nomor Grafik Nama Grafik Halaman
1 Gambar 4.1. Grafik hasil pengujian keakuratan Skeleton Tracking
dengan kondisi sensor lurus dengan spine. 83
2 Gambar 4.2. Grafik hasil pengujian keakuratan skeleton tracking
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/)