1
PROCEEDING SEMINAR PENELITIAN JURUSAN TEKNIK ELETRO FTI-ITS
Visualisasi Model 3D Jari Menggunakan Finger Motion Capture Berbasis Flex sensors Nugroho Adi P 1), I Ketut Eddy Purnama 2), Muhtadin 3) Jurusan Teknik Elektro, Bidang Studi Komputer dan Telematika, ITS Surabaya 1)
Mahasiswa Program Sarjana (
[email protected]) 2)
3)
Dosen Pembimbing (
[email protected]) Dosen Pembimbing (
[email protected])
Abstrak--- Manusia yang terlahir dengan kekurangan fisik masih sering dijumpai dalam kehidupan sehari - hari. Seseorang yang memiliki kekurangan fisik seperti tuna wicara dan tuna rungu membutuhkan sebuah alat bantu untuk saling berkomunikasi.Salah satu solusinya adalah perangkat finger motion capture berbasis flexsensor yang berguna dalam berkomunikasi dengan penderita tuna rungu dan tuna wicara. Hal ini akan di permudah juga bila alat tersebut di bekali dengan visualisasi model 3D yang berbentuk jari dan tangan yang dapat bergerak sesuai dengan gerakan tangan pengguna. Karena gerakan dari visualisasi model 3D dapat memperjelas hasil dari gerakan alat tersebut. Pergerakan jari model 3D memanfaatkan data yang dikirim melalui alat finger motion capture berbasis flex sensor. Visualisasi model 3D menghasilkan keluaran berupa visualisasi dari gerakan jari yang mengikuti gerakan dari alat finger motion capture berbasis flex sensor.
finger motion capture berbasis flex sensor, maka dibuatlah model 3D yang mampu memvisualisasikan gerakan jari dan tangan tersebut. Alat finger motion capture menghasilkan data ketika jari pengguna alat tersebut melakukan gerakan [1]. Data tersebut nantinya diproses untuk membuat acuan visualisasi gerakan model 3D jari dan tangan [1]. Dalam pembuatan model 3D ada dua metode yaitu direct mesh editing dan sculpting [2]. Hasil dari pergerakan yang dilakukan oleh alat tersebut digunakan sebagai acuan visualisasi model 3D dan digunakan untuk pembuatan file BVH [1]. yang dibuat adalah model dari sebuah tangan beserta jari – jarinya . II.
A. Peralatan Yang Digunakan Untuk mengerjakan penelitian ini, menggunakan perlatan sebagai berikut : 1.
Kata kunci – BVH, armature in blender, finger motion capture berbasis flexsensor.
I.
PENDAHULUAN
Manusia yang terlahir dengan kekurangan fisik masih sering dijumpai dalam kehidupan sehari hari. Seseorang yang memiliki kekurangan fisik seperti tuna wicara dan tuna rungu tentu akan mengalami kesulitan dalam berkomunikasi dengan orang normal. Dengan majunya teknologi maka kesulitan tersebut bisa sedikit teratasi. Solusinya adalah sebuah alat finger motion capture berbasis flex sensor. Motion Capture pada alat tersebut terdiri dari sebuah sensor yang dipasang pada sarung tangan yang berfungsi utntuk merekam gerakan dari jari dan tangan [1]. Untuk menunjang alat
PERALATAN DAN METODE
Komputer Operator: a. Prosesor dual core b. Memori c. VGA 1661 MB d. Sistem Operasi
penulis
: AMD Athlon 64 X2 : 40096MB RAM : ATI Radeon X1050 : Windows xp 32-bit
2.
Blender
3.
Alat finger motion capture berbasis flexsensor
2
PROCEEDING SEMINAR PENELITIAN JURUSAN TEKNIK ELETRO FTI-ITS
B. Teknik Animasi Ada beberapa teknik animasi : 1.
Multi-Sketching ation
Merupakan sketsa gambar tangan menggunakan peralatan tablet PC yang dicapture langsung menjadi video. Pertama kali ditemukan oleh Renat Zarbailov yang menggabungkan dua software aplikasi yaitu software sketsa dengan software screen capture. 2.
Skeletal Animations
Sebuah teknik dalam animasi komputer, khususnya animasi yang melibatkan struktur pergerakan susunan kerangka, dimana karakter dibagi menjadi dua bagian yaitu representasi permukaan digunakan untuk menggambarkan karakter (biasa disebut kulit/muka) dan susunan kerangka digunakan hanya untuk meng-animasikan. Teknik ini digunakan untuk membuat/merancang strukur pertulangan, dimana setiap unsur kerangka mempunyai tiga dimensi transformasi yaitu posisi, skala dan rotasi. Aplikasi teknik ini sering digunakan oleh programer game komputer dan industri film dan juga untuk diaplikasikan pada obyek-obyek mekanik. Misalnya untuk membuat animasi robot. Proses penyatuan tubuh model dengan kerangka disebut rigging. Proses rigging harus dilakukan dengan hati-hati untuk menghasilkan pergerakan yang alami dan tidak merusak bentuk model. Gambar 1 salah satu contoh proses rigging.
bergerak sesuai dengan posisi yang berbeda sesuai target perubahan pergerakannya. Animasi morph ini digunakan misalnya untuk membuat mimik wajah/ekspresi, atau perubahan wujud dan lain sebagainya. Salah satu contoh morph target animations ada pada gambar 2.
Gambar 2.1.2 Morph Target Animations (sumber : http://www.anim8or.com/manual/3_object_editor.h tml)
III.
DESAIN DAN IMPLEMENTASI
A. Desain Sistem Pada penelitian ini penulis merancang sistem seperti pada gambar 3 dimana model gerakan tangan dan jari dengan memanfaatkan blender 3D serta alat finger motion capture berbasis flex sensors. Blender 3D digunakan sebagai media untuk membuat model virtual dari tangan dan jari serta untuk menjalankan model tersebut. Ketika pemakai alat finger motion capture berbasis flex sensors melakukan gerakan pada jari maka alat tersebut menghasilkan data yang di teruskan untuk dikirim melalui serial komunikasi ataupun melalui mode text. Setelah data diterima oleh python maka python melakukan proses yang ada di prosesor, proses yang dilakukan adalah mengolah data tersebut menjadi gerakan tangan yang divisualisasikan di blender.
Alat finger motion capture
prosesor
Gambar 1 Proses rigging (sumber : http://www.mit.edu/~ibaran/autorig/)
3.
Morph Target Animations
Merupakan sebuah metode dari 3D animasi komputer yang digunakan sebagai pengganti dari teknik skeletal animation. Morph target animation tersimpan sebagai sebuah seri posisi vertex. Pada setiap keyframe animasi vertex-vertex tersebut
Visualisasi Gambar 3 Desain Sistem
3
PROCEEDING SEMINAR PENELITIAN JURUSAN TEKNIK ELETRO FTI-ITS
1.
Alat Finger Motion Capture
Alat finger motion capture berbasis flex sensors digunakan untuk mengambil data – data pergerakan jari yang diambil secara real time. Ketika alat tersebut digerakkan oleh pemakainya maka alat tersebut akan menghasilkan data yang berupa data pergerakan jari. Data yang dihasilkan adalah delapan jenis data yaitu: lima data untuk pergerakan tiap jari dan tiga data terakhir adalah data accelorometer. Data yang dihasilkan oleh alat ini digunakan sebagai acuan visualisasi gerakan jari. 2. Prosesor Pemrosesan data pada penelitian ini menggunakan sebuah PC yang telah terintegrasi dengan alat finger motion capture. Selain itu digunakan pula software blender 2.49b.Penulis menggunakan blender untuk membuat model 3D dari tangan dan jari virtual serta membuat tulang dari model 3D tangan dan jari tersebut. Penggunaan tulang pada model 3d jari dan tangan sebagai pengatur pergerakan model 3D. Proses yang dilakukan pada tahap ini yaitu berupa pengolahan data yang diperoleh dari alat finger motion capture berbasis flexsensor yang dipakai pengguna saat melakukan gerakan pada jari sehingga menghasilkan data yang akan digunakan menjadi acuan pergerakan model 3D melalui serial komunikasi atau mode text yang ditangkap oleh script python dan nantinya akan divisualisasikan pada blender. Untuk menampilkan pergerakan model 3D blender harus berada pada posisi object mode. Karena hanya saat pada posisi object mode blender game engine serta script python dapat bekerja dan dapat memvisualisasikan gerakan model 3D jari dan tangan . 3. Visualisasi Visualisasi pergerakan model 3D jari di jalankan di blender pada posisi object mode dengan mengaktifkan blender game engine seperti pada gambar 4.
Gambar 4 Visualisasi model 3D
Ketika berada pada game engine blender maka visualisasi model 3D tangan dan jari dapat digerakkan dengan data dari gerakan pengguna yang menggunakan alat finger motion capture ataupun tanpa dengan alat finger motion capture (dengan membuat action editor terlebih dahulu dan membuat keyboard sebagai sensor gerakan dan bukan dari data yang diperoleh dari alat finger motion capture)
B. Implementasi Sistem Kebutuhan software untuk mengimplementasikan penelitian ini adalah Blender 2.49b sebagai aplikasi untuk melakukan pembuatan model 3D dan menjalankan pergerakan model 3D Urutan implementasi yang dilakukan antara lain sebagai berikut: 1. Instalasi blender 2.49b beserta python. 2. Pembuatan Model 3d. 3. Pembuatan pergerakan jari. 4. Pembuatan script python. C. Cara Kerja Sistem Urutan Cara kerja sistem pada penelitian ini adalah sebagai berikut: Ketika pengguna alat finger motion capture melakukan gerakan maka sensor dari alat finger motion capture akan mengirimkan data melalui serial komunikasi atau lewat mode text, data yang dikirimkan masih berupa data tegangan yang nantinya akan dirubah oleh script python menjadi acuan visualisasi gerakan model 3D jari tersebut. Sehingga pada blender game engine juga akan memvisualisasikan gerakan tersebut sesuai dengan data yang dihasilkan oleh pengguna alat finger motion capture.
4
PROCEEDING SEMINAR PENELITIAN JURUSAN TEKNIK ELETRO FTI-ITS
IV.
PENGUJIAN.
Pengujian dilakukan dengan cara simulasi pada komputer yang memiliki spesifikasi sebagai berikut : 1.
Processor : AMD Athlon 64 X2 dual core 4000+ (2 CPUs) 2.1GHz
2.
Memori : 4096MB RAM
3.
VGA : ATI Radeon x1050 1661 MB
Pengujian dilakukan dengan cara menjalankan visualisasi gerakan model jari dan tangan pada blender yang sudah mendapat data gerakan dari pengguna alat finger motion capture
Jari kelingking
600
500
400
500
Semua jari menggenggam
600
500
400
500
Semua jari lurus
800
800
800
800
Keterangan dari tabel 1: 1. 2.
A. Pengujian Data dari Alat Finger Motion Capture. Pengujian data ini dilakukan dengan cara menggabungkan blender dengan alat finger motion capture. Ketika pengguna alat tersebut membuat gerakan maka alat tersebut akan menghasilkan data yang akan di baca melalui console pada blender seperti pada gambar 5.
3.
4.
Jari yang lurus mempunyai nilai 800 untuk semua jari. Jari yang menggenggam mempunyai nilai yang berbeda – berbeda hal ini dikarenakan gerakan pada ibu jari dan kelingking sangat sedikit sehingga mempunyai nilai yang masih besar diantara jari yang lain. Data diatas dikirimkanpengguna alat finger motion capture yang menggerakkan jari melalui mode text yang disimpan di notepad terlebih dahulu,bukan melalui serial komunikasi lalu script python membaca data serial tersebut satu persatu. Nilai data perjari dalam kondisi lurus adalah 800 maka di ibaratkan jari tersebut berada pada titik x = 0, y = 0, z =0, sehingga setiap jari tersebut melakukan gerakan nilai tersebut akan berkurang sesuai dengan gerakannya, maka koordinatnya pun juga akan berubah sesuai dengan gerakan dari alat tersebut.
Gambar 5 console blender
Data pada gambar 4.1 dikirim melalui mode text bukan melalui serial komunikasi dan data tersebut dapat dituliskan dalam tabel 1. Tabel 1Data tiap jari Pergerakan Data Data Ibu Telu Jari njuk
Data Jari Tenga h
Data Jari Manis
Ibu Jari
800
500
400
500
Telunjuk
600
800
400
500
Jari Tengah
600
500
800
500
Jari Manis
600
500
400
800
B. Pengujian Visualisasi Model 3D Data yang diterima script python yang ditampilkan pada console blender seperti pada gambar 5 akan digunakan sebagai acuan pembuatan visualisasi gerakan model 3D jari dan tangan. Untuk pengujian akan dilakukan dengan menjalankan blender game engine dengan cara menekan tombol P di keyboard. Pengujian ini dilakukan untuk melihat apakah visualisasi gerakan yang dihasilkan sama dengan data yang dikirim oleh pengguna alat finger motion capture atau tidak. Kalau visualisasi gerakan tidak sama dengan data maka terjadi error atau kesalahan dalam penulisan script python
5
PROCEEDING SEMINAR PENELITIAN JURUSAN TEKNIK ELETRO FTI-ITS
Tabel 2 Hasil Pengujian Data dari alat finger motion capture untuk jari telunjuk 800
Gambar 6 hasil Pengujian Pada gambar 6 jelas terlihat visualisasi dapat ditampilkan pada blender game engine akan tetapi pergerakannya tidak sama dengan data yang dikirim pengguna alat finger motion capture melalui mode text. Seharusnya gerakan pada visualisasi model 3D bergerak sesuai dengan data yang ada bukan semuanya bergerak bersamaan meski data yang diterima tidak sama. Data yang dapat di visualisasikan adalah ketika semua jari mendapat nilai 800 yaitu ketika jari tersebut lurus namun ketika data berubah sesuai gerakan pengguna alat finger motion capture visualisasi model 3D tidak berubah sama sekali tetap melakukan gerakan yang sama untuk semua jari. Hal ini disebabkan oleh kesalahan penulis ketika membuat script python. Sehingga ketika dibuat prosentase keberhasilan maka yang didapat adalah 30% saja karena penulis hanya mampu memenuhi 3 point saja yaitu membaca data dari pengguna alat finger motion capture, membuat visualisasi gerakan jari dan tangan serta memenuhi ketika semua jari mendapat data 800 atau saat semua jari lurus. Ketika di buat tabel maka akan seperti pada tabel 2.
700
600
500
Gambar visualisasi model 3D hasil pengujian.
Gambar visualisasi model 3D yang benar
6
PROCEEDING SEMINAR PENELITIAN JURUSAN TEKNIK ELETRO FTI-ITS
V.
PENUTUP
DAFTAR PUSTAKA
A. Kesimpulan Dari pengujian kesimpulan bahwa: 1.
2.
3.
sistem
dapat
ditarik
Visualisasi model 3D jari dan tangan tidak dapat mengikuti data dari gerakan jari dan tangan pengguna alat finger motion capture. Data yang dikirimkan melalui mode text bukan melalui serial komunikasi yang tentunya lebih bersifat real time. Kesalahan terjadi pada proses scripting
5.1. Pengembangan dan saran Untuk pengembangan lebih lanjut dapat dilakukan inovasi sebagai berikut : 1.
2. 3.
Penggambaran karakter juga harus lebih dikembangkan agar lebih terlihat realistik. Dilengkapi juga dengan pembacaan data dari accelerometer. Penggunaan metode lain untuk script python untuk melakukan pembacaan data yang dikirim melalui serial komunikasi bukan melalui mode text.
Saran yang bisa dibuat oleh penulis setelah melakukan pembuatan simulasi animasi : 1.
Pada simulasi tersebut, visualisasi gerakan tidak mampu mengikuti gerakan dari data yang diterima melalui mode text. Harapan penulis pada penelitian selanjutnya visualisasi model 3D dapat mengikuti gerakan dari data yang ada. 2. Penggabungan antara game logic dan script python pada game engine blender harus diperhatikan karena jika terjadi kesalahan maka blender akan Shut down secara otomatis dan menampilkan windows error pada sisten operasi.
[1]. Wachsmuth, Ipke and Fröhlich ,Martin Gesture and Sign Language in HumanComputer Interaction: International Gesture Workshop, Proceedings Sons, 1997. [2]. Flavell,Lance. Beginning Blender: Open Source 3D Modeling, Animation, and Game Design, 2010. [3]. Gaya dan Teknik Animasi (URL : http://multimedianimasi.blogspot.com/201 0/07/gaya-dan-teknik-animasi.html) [4]. Skeletal Animation. (URL : http://alumni.cs.ucr.edu/~sorianom/cs13 4_09win/lab5.htm) [5]. Morph Targets (URL : http://www.anim8or.com/manual/3_obje ct_editor.html) [6]. Cel-Shading (URL : http://www.gamedev.net/page/resourc es/_/reference/programming/140/light ing-and-shading/cel-shading-r1438) [7]. Midori Kitagawa,Brian Windsor, “MoCap for Artists: Workflow and Techniques for Motion Capture”, Focal Press, 2008