ANIMASI BERBICARA BAHASA INDONESIA BERDASARKAN DATABASE MOTION CAPTURE WAJAH Aripin1, Hanny Haryanto2, Achmad Basari3 Fakultas Ilmu Komputer, 3Fakultas Ilmu Budaya Universitas Dian Nuswantoro 1,2 3 Gedung H dan Gedung G Lantai 3, Kampus 2 Jl. Imam Bonjol No. 207 Semarang 1,2
email: {1arifin,2hanny,3achmad_basari}@dsn.dinus.ac.id Abstrak Penelitian ini bertujuan untuk membangun animasi berbicara Bahasa Indonesia dari database motion capture wajah. Motion capture adalah teknologi perekam gerekan dan mengkonversi gerakan tersebut ke dalam bentuk model gerakan digital[1]. Proses perekaman ini dilakukan dengan cara merekam gerakan para aktor yang anggota tubuhnya telah ditempeli marker (penanda). Pada penelitian ini, penggunaan motion capture digunakan untuk menghasilkan karakter animasi berbicara yang realistik. Pembahasan penelitian ini terdiri dari beberapa tahapan, yaitu perekaman motion capture wajah aktor, mendesain karakter animasi wajah, pemetaan marker-marker wajah pada bone-bone karakter animasi wajah, integrasi dengan speech dan eksperimen serta pengujian subyektif terhadap animasi berbicara yang dihasilkan. Pengujian subyektif dilakukan pada 30 orang pemakai yang menilai kesuaian antara ucapan dengan gerakan mulut yang dihasilkan aplikasi. Sedangkan, kalimat yang digunakan dalam pengujian ini berjumlah 10 kalimat berbahasa Indonesia. Penilaian hasil pengujian subyektif menggunakan metode Mean Opinion core (MOS). Hasil perhitungan metode MOS adalah 4.1016 dengan range nilai 1 s.d. 5 yang menunjukan bahwa tingkat kesuaian antara ucapan dan gerakan mulut adalah bagus. Hal ini berarti animasi berbicara Bahasa Indonesia yang dihasilkan dalam penelitian mendekati realistik. Kata Kunci : database motion capture; animasi berbicara; kalimat berbahasa Indonesia; marker (penanda); I. PENDAHULUAN Animasi wajah manusia merupakan aspek penting di lingkungan virtual 3D yang menghadirkan keberadaan karakter. Animasi wajah biasa digunakan pada game, perangkat lunak dan film. Untuk menghasilkan animasi wajah diperlukan waktu yang lama bagi seorang animator dikarenakan kompleksitas bagian wajah dan masalah rigging wajah [2]. Rigging wajah adalah proses pembuatan kendali animasi untuk model wajah dan antar mukadengan animator sebagai pengendalinya [3], sedangkan salah satu komponen wajah yang sangat penting dalam animasi wajah adalah animasi berbicara. Membangun karakter animasi berbicara yang realistik masih menjadi salah satu tantangan besar dalam komputer grafis. Salah satu metode yang umum digunakan untuk menghasilkan karakter animasi adalah keyframing. Pada metode ini, animator menentukan pose kunci penting untuk karakter pada frame tertentu, selanjutnya dihitung frame di antaranya dengan teknik interpolasi untuk menciptakan kurva gerak pada karakter. Kelemahan utama metode ini adalah memakan banyak waktu dan tenaga. Dalam metode keyframing, animator juga dituntut harus dapat menentukan jumlah keyframes dengan tepat. Jika jumlah keyframes terlalu sedikit atau terlalu banyak akan berpengarug pada gerakan yang dihasilkan. Metode lain yang sering digunakan adalah motion capture (MoCap) untuk menghidupkan karakter. Pada saat ini, penggunaan teknologi MoCap untuk menghasilkan karakter animasi yang realistik meningkat tajam. Penelitian MoCap untuk animasi wajah yang telah dilakukan [3], digunakan 31 (27+4) marker yang dipasang diwajah. Semakin banyak jumlah marker yang digunakan, maka animasi yang diperoleh akan semakin realistik. Oleh karena itu, dalam penelitian ini digunakan 37 (33+4) marker untuk menghasilkan animasi wajah yang lebih realistik. Dengan teknologi MoCap, gerakan aktor direkam melalui sensor. Nilainilai yang dihasilkan kemudian digunakan untuk membuat gerakan karakter animasi [4]. Untuk menghasilkan karakter animasi wajah, pada wajah aktor dipasang beberapa markers yang dapat ditangkap oleh sensor kamera. Setiap gerakan wajah aktor akan ditangkap oleh sensor sehingga terbentuk database MoCap wajah. Database motion capture wajah dalam penelitian ini diperoleh dari kamera motion capture OptiTrackTM yang memiliki resolusi sebesar 480 x 640 pixel dan memiliki kecepatan tangkap sebesar 100 frame per second (fps)[5]. Kami menggunakan OptiTrack ARENA MoCap Software untuk merekam gerakan wajah aktor. Database MoCap wajah yang telah diperoleh dari proses ini tersimpan dalam file dengan format C3D yang digunakan sebagai dasar untuk menggerakan karakter animasi wajah.
(a)
(b)
Gambar 1. Optitrack Camera (a), OptiTrack ARENA Motion Mapture Software (b)
II. METODE PENELITIAN 1. Overview Sistem Dalam penelitian ini, kami melakukan beberapa tahapan kegiatan. Tahapan-tahapan tersebut adalah perekaman wajah aktor yang telah dipasangi marker-marker dengan teknologi MoCap sehingga terbentuk database MoCap wajah, membuat karakter animasi wajah dan mempersiapkan bone-bone wajah, pemetaan titik marker dari database MoCap wajah pada face template sehingga diperoleh database MoCap wajah dalam format FBX, mengkompilasi karakter animasi wajah dengan database suara sehingga menghasilkan aplikasi karakter animasi berbicara, dan melakukan pengujian subyektif terhadap aplikasi yang telah dihasilkan. Secara garis besar tahapan-tahapan tersebut dilihat seperti Gambar 2.
2. Membentuk Facial Motion Capture Database Facial motion capture database merupakan database yang berisi data-data gerakan bentuk wajah terutama mulut dari seorang aktor yang telah dipasang beberapa marker dan ditangkap menggunakan teknologi MoCap. Sedangkan aksi yang dilakukan seorang aktor adalah mengucapkan kalimat-kalimat berbahasa Indonesia sejumlah 200 kalimat. Pembentukan Facial Motion Capture Database dilakukan melalui beberapa tahapan, yaitu persiapan peralatan motion capture, pemasangan optical marker (penanda optik) pada aktor, proses perekaman data. 2.1. Persiapan Peralatan Motion Capture Salah satu peralatan yang diperlukan dalam proses perekaman ini adalah OptiTrack Camera tipe VR100:R2 yang berjumlah 6 buah. Formasi kamera disusun menyerupai busur lingkaran dengan kisaran sudut 120ᴼ. Masing-masing kamera dipasang secara orientasi dan landscape. Tiga kamera disusun diatas kepala dan tiga kamera disusun setinggi dada. Jarak kamera dengan model sepanjang 60 cm, seperti ilustrasi pada gambar 3.
A (a)
(b)
Gambar 3. Formasi OptiTrack Camera (a), Realisasi formasi OptiTrack Camera (b) Selain peralatan di atas, kami juga menggunakan WebCam untuk merekam data suara dan video. Data suara direkam ke dalam file dengan format .wav dan kami juga menggunakan perangkat lunak Audacity untuk melakukan peng-editan suara. Setelah peralatan MoCap selesai dilakukan, langkah selanjutnya adalah mempersiapkan OptiTrack ARENA motion capture Software agar dapat digunakan untuk merekam data. Ada beberapa langkah yang dilakukan adalah sinkronisasi dan kalibrasi OptiTrack Camera serta pembentukan face template. Proses sinkronisasi ini bertujuan untuk mengatur fokus 6 buah OptiTrack Camera pada titik fokus yang sama. Sedangkan, proses kalibrasi bertujuan untuk mengatur kualitas dan jangkauan area tangkap
OptiTrack Camera. Langkah selanjutnya adalah pembentukan face template yang digunakan sebagai acuan terhadap markermarker di wajah aktor saat perekaman data. 2.2. Pemasangan Marker pada Wajah Aktor Pengambilan data dilakukan pada gerakan wajah aktor. Dalam penelitian ini, kami memasang marker pada wajah aktor sebanyak 37 yang terdiri dari 33 marker yang diletakan di area wajah dan 4 marker diletakan diatas kepala. Jumlah dan formasi marker ini mengacu pada template yang telah disediakan oleh OptiTrack ARENA motion capture Software. Pemilihan ini juga diharapkan dapat menghasilkan gerakan wajah dan mulut yang lebih baik. Gambar 4 mengilustrasikan pemasangan marker di wajah aktor dan face template yang dihasilkan dari proses perekaman.
(a)
(b)
Gambar 4. Pemasangan Marker di Wajah Aktor (a), Face Template (b) 2.3. Proses Perekaman Data Proses perekaman bertujuan untuk merekam gerakan Optical marker yang terdapat pada wajah model pada saat aktor mengucapkan kalimat-kalimat berbahasa Indonesia. Proses ini dilakukan untuk menghasilkan database MoCap wajah seperti terlihat pada Gambar 5(a). Beberapa hal yang perlu ditentuksn sebelum proses perekaman dimulai, yaitu menentukan waktu awal dan lama perekaman, seperti yang terlihat pada gambar 5(b). Langkah ini perlu dilakukan agar proses perekaman sesuai dengan adegan dan waktu yang diestimasikan. Dari hasil proses perekaman data ini, terbentuklah database MoCap wajah yang tersimpan dalam file dengan format C3D. Kami juga mengggunakan webcam untuk merekam video dan suara adegan aktor saat proses perekaman.
(b) (a) Gambar 5. Hasil Proses Perekaman MoCap Wajah (a), Pengaturan Waktu pada Proses Perekaman dengan Optitrack ARENA Motion Capture Software (b) Data video dapat digunakan sebagai acuan untuk pengecekan gerakan mulut pada hasil MoCap wajah dengan gerakan mulut aktor yang ada dalam video. Sedangkan, data suara disimpan dalam format .wav dan nantinya digunakan sebagai salah satu data masukan dalam pengembangan sistem ini. Kami menggunakan Audacity Software untuk melakukan pengeditan suara sehingga sesuai dengan spesifikasi dan kebutuhan pengembangan sistem ini. Database MoCap wajah hasil proses perekaman ini belum dapat digunakan langsung dalam pengembangan sistem animasi berbicara. Oleh karena itu, perlu dilakukan beberapa langkah sebagai berikut : a. Konversi File C3D ke File FBX Di dalam penelitian ini, kami menggunakan MotionBuilder Software untuk mengembangkan Sistem animasi berbicara yang merupakan kompilasi dari tiga kompnen, yaitu database MoCap wajah, suara dan karakter animasi. Database MoCap wajah yang sudah tersimpan dalam file C3D belum bisa digunakan secara langsung untuk dipasang pada karakter animasi wajah. Langkah selanjutnya yang perlu dilakukan adalah memetakan titik-titik marker wajah dari file C3D pada rigging character face di MotionBuilder seperti yang terlihat pada Gambar 6.
Gambar 6. Pemetaan Data MoCap Wajah pada face rig. Dalam proses pemetaan ini, setiap marker di data MoCap wajah dipetakan ke masing-masing rigging karakter animasi wajah. Proses pemetaan tidak selalu berlaku aturan one to one, artinya satu titik marker di database MoCap wajah dengan satu rigging karakter animasi wajah [7]. Pemetaan titik-titik marker akan disesuaikan dengan posisi marker / kelompok marker pada rigging tertentu. Aturan yang dapat diberlakukan dalam proses pemetaan ini adalah many to one, yang berarti satu atau beberapa titik marker di data MoCap wajah dapat dipetakan ke satu rigging character face. Hasil akhir dari proses ini, disimpan ke dalam file FBX, sehingga database MoCap wajah sudah dapat tempelkan pada model karakter animasi wajah. b. Kompilasi Model Karakter Animasi, Database MoCap Wajah dan Suara Kami menggunakan MotionBuilder software untuk melakukan kompilasi terhadap model karakter animasi wajah, data motion capture wajah dan speech. Pertama, model karakter animasi wajah dibuka terlebih dahulu. Selanjutnya, file data motion capture wajah dibuka dengan menggunakan perintah merge yang dipilih dari menu file. Pada awal masing-masing file dibuka, biasanya posisinya tidak beraturan satu sama lain. Oleh karena itu, posisinya harus diatur berdampingan dan sejajar sehingga memudahkan proses selanjutnya. Pada menu resources, pilihlah sub menu asset browser. Di dalam sub menu ini pilihlah templates, klik pilihan characters dan di dalamnya tersedia beberapa icon. Selanjutnya, pilihan character face di drag dan diletakan di model karakter animasi wajah. Klik pilihan create untuk mengakhiri proses ini. Ilustrasi proses di atas seperti ditunjukan pada Gambar 7.
Gambar 7. Posisi data MoCap dan karakter animasi wajah (a), Menghubungkan character face MotionBuilder dengan karakter animasi wajah (b) 3. Model Wajah Wajah manusia merupakan bentuk yang kompleks yang terdiri dari komponen seperti mata, hidung, mulut dan alis. Semua komponen tersebut digerakan oleh otot pada wajah yang jumlahnya sangat banyak[8]. Pembuatan wajah manusia yang natural harsu memperhitungkan hal-hal tersebut. Pembuatan model wajah dapat dilakukan secara manual maupun dengan menggunakan paramter. Parameter yang digunakan terdiri dari titik-titik data masing-masing komponen wajah dan pada kumpulan titik tersebut diperlukan titik khusus yang digunakan untuk mengendalaikan masing-masing komponen wajah. Penentuan titik-titik tersebut didasarkan pada anatomi wajah manusia. Selanjutnya, titik-titik tersebut dihubungkan dengan suatu garis dengan menggunakan interpolasi polinom. Salah satu cara yang digunakan adalah interpolasi spline dengan aproksimasi. Sehingga tingkat kemiringan dan kemulusan kurva dapat dikontrol melalui beberapa titik yang dinamakan titik kontrol. Terdapat dua jenis titik kontrol yaitu
lokal dan global. Titik kontrol lokal hanya mempengaruhi kurva yang dibentuk oleh kumpulan kecil titik kontrol, sedangkan titik global dapat mempengaruhi seluruh titik data[8]. Bentuk umum interpolasi spline yang digunakan seperti terlihat pada persamaan (1).
(b)
(a) (c) Gambar 7. Komponen wajah dari kumpulan titik (a), Titik kontrol lokal (b), Titik kontrol global (c)
x
(1)
dimana U merupakan matriks u dalam orde yang berbeda-beda, Ms adalah matriks yang mendefinisikan transformasi spline dan Mg adalah matriks yang mendefinisikan titik kontrol. III. HASIL EKSPERIMEN Kami melakukan eksperimen dengan memasukan teks Bahasa Indonesia ke sistem animasi berbicara Bahasa Indonesia. Setiap teks yang diinputkan diamati kesesuaian antara fonem yang diucapkan dengan bentuk mulut dan suara yang dihasilkan. Kami menggunakan 10 teks berbahasa Indonesia dalam eksperimen ini seperti yang ditunjukan di Tabel II. Eksperimen ini diujicobakan pada 30 orang untuk mengamati output yang dihasilkan oleh sistem.
No 1 2 3 4 5
Tabel I. Kalimat Bahasa Indonesia Yang Digunakan Sebagai Input Sistem Teks Bahasa Indonesia No Teks Bahasa Indonesia Saya suka baju yang berwarna merah tua 6 Besok saya pergi ke toko baju bersama ibu Boneka beruang di toko itu lucu sekali 7 Toko itu buka mulai jam enam pagi Sepatuku kotor belum aku cuci dari kemarin 8 Ibu menyirami bunga di halaman setiap sore Jalan itu ramai sekali setiap pagi hari 9 Buanglah sampah di tempat yang telah disediakan Lusa aku akan pergi ke rumah paman 10 Masakan nenek paling enak di rumah kami
Metode yang digunakan untuk mengukur tingkat kesesuaian gerakan mulut dengan fonem dan suara yang diucapkan adalah MOS (mean opinion score). Metode ini akan mengukur kualitas sistem animasi berbicara ini berdasarkan deskripsi kualitatif oleh pemakai. Pemakai akan memberikan penilaian deskriptif dengan 5 kriteria kesesuaian seperti yang terlihat pada Tabel II. Tabel III menunjukan rekapitulasi hasil penilaian oleh pemakai, sedangkan MOS dapat dihitung dengan menggunakan persamaan (1).
MOS 5 4 3 2 1
Kualitas Sangat Bagus Bagus Cukup Jelek Sangat Jelek
Tabel II. Kriteria MOS Keterangan Suara dan gerakan mulut sangat sesuai Suara dan gerakan mulut sesuai Suara dan gerakan mulut cukup sesuai Suara dan gerakan mulut kurang sesuai Suara dan gerakan mulut tidak sesuai sama sekali
(2) Dimana
adalah nilai sampel ke i, k adalah jumlah bobot dan N adalah jumlah responden.
Tabel III. Hasil Penilaian Pemakai dan Perhitungan MOS Kesesuaian fonem, suara dan viseme Teks Buruk Kurang Cukup Bagus Sangat bagus 0 2 7 10 11 Saya suka baju yang berwarna merah tua 0 3 5 12 10 Boneka beruang di toko itu lucu sekali 0 1 8 9 12 Sepatuku kotor belum aku cuci dari kemarin 0 1 5 9 15 Jalan itu ramai sekali setiap pagi hari 0 5 8 9 8 Lusa aku akan pergi ke rumah paman 0 3 4 7 16 Besok saya pergi ke toko baju bersama ibu 0 3 8 9 10 Toko itu buka mulai jam enam pagi 0 1 7 10 12 Ibu menyirami bunga di halaman setiap sore 0 2 3 8 17 Buanglah sampah di tempat yang telah disediakan 0 0 1 12 17 Masakan nenek paling enak di rumah kami Berdasarkan hasil rekapitulasi hasil penilaian oleh pemakai di Tabel III di atas, langkah selanjutnya menghitung MOS dengan menggunakan persamaan (2). Hasil perhitungan MOS adalah 4,1016 dengan range nilai 1 s.d. 5 yang menunjukan bahwa tingkat kesesuaian gerakan mulut dengan fonem dan suara yang diucapkan pada sistem animasi berbicara Bahasa Indonesia adalah bagus. IV. KESIMPULAN DAN DISKUSI Berdasarkan eksperimen yang telah dilakukan dan perhitungan hasil penilaian oleh pemakai dengan metode MOS, maka dapat disimpulkan bahwa animasi berbicara Bahasa Indonesia yang dibangun berdasarkan database MoCap wajah dapat menghasilkan animasi berbicara yang bagus (mendekati realistik). Hal ini dapat dilihat dari nilai MOS yang dihasilkan yaitu 4,1016 dengan range nilai 1 s.d. 5. Oleh karena itu, penggunaan teknologi motion capture dalam pengembangan industri animasi harus diperhitungkan. Pada masa sekarang ini, sudah banyak film-film animasi yang diproduksi menggunakan dukungan teknologi MoCap. Penggunaan teknologi ini bertujuan agar film-film animasi yang dihasilkan lebih natural dan realistik. Penerapan database MoCap pada animasi yang dikhususkan pada gerakan wajah (mulut) sebenarnya lebih rumit dibandingkan dengan penerapan database MoCap pada animasi gerakan anggota tubuh lainnya (selain wajah). Hal ini disebabkan karena animasi gerakan anggota tubuh selain wajah digerakan berdasarkan rigging-rigging yang disesuaikan dengan pemasangan optical marker pada sendi-sendi dari anggota tubuh aktor. Sehingga gerakan animasi yang dihasilkan pasti selaras dengan gerakan aktor. Hal ini tidak berlaku bagi animasi gerakan wajah (mulut), karena wajah (mulut) tidak mempunyai sendi-sendi sehingga animasi gerakan wajah (mulut) tidak didasarkan pada penentuan rigging-ringging yang sudah pasti. Semakin banyak optical marker yang dipasang di wajah aktor akan menyebabkan gerakan animasi wajah (mulut) menjadi lebih smooth, tetapi hal ini akan menimbulkan masalah lain yaitu kerumitan dalam proses perekaman MoCap wajah dan pemetaan ke rigging-rigging animasi wajah. V.
UCAPAN TERIM KASIH Kami mengucapkan terim kasih secara khusus kepada Dirjen Dikti melalui program Penelitian Hibah Bersaingnya, sehingga kami mendapatkan dukungan dana untuk melakukan penelitian ini. Dengan program ini, kami mempunyai kesempatan lebih leluasa untuk meneliti dan mengembangan keilmuan dibidang teknologi Motion Capture. Kami juga mengucapkan terima kasih kepada pengelola Laboratorium Human Centric System (HCS) Jurusan Teknik Multimedia dan Jaringan Institut Sepuluh Nopember (ITS) Surabaya, sehingga kami dapat belajar dan ikut menggunakan teknologi motion capture di laboratorium tersebut untuk beberapa bulan. VI. REFERENSI [1] Ben Bradwell and Baihua Li. (2008). A Tutorial on Motion Capture Driven Character Animation. The Eighth IASTED International Conference Visualization, Imaging and Image Processing. pp 356-361. Palma de Mallorca. Spain [2] Parke, F., & Waters, K. (2008). Computer Facial Animation 2nd Edition. Massachusetts: AK Peters. [3] Matahari Bhakti Nendya, Samuel Gandang Gunanto. (2014). Animasi Ekspresi Wajah Pada Avatar Berbasis Feature-Point Cluster. Prosiding SENTIA Vol. 6-ISSN:2085-2347. pp 86-90. [4] Alberto Menache. (1999). Understanding motion capture for computer animation and video games. Morgan Kaufmann Publishers Inc. San Francisco. CA. [5] Midori Kitagawa, Brian Windsor. (2008). MoCap for Artists. Publish by Elsevier Inc. United States of America,. pp. 181. [6] Alberto Menache. (2010). Understanding Motion Capture for Computer Animation, 2nd Edition (Morgan Kaufmann Series in Computer Graphics). Morgan Kaufmann Publishers Inc. San Fransisco, CA, USA. [7] KyungHun Cho, Xi Chen. (2013). Classifying and Visualizing Motion Capture Sequences Using Deep Neural Networks. Department of Infomration and Computer Science Aalto University School of Science. Finland. [8] Rachmansyah Budi Setiawan. (2011). Variase Spline Kubik untuk Animasi Model Wajah 3D. STEI ITB Bandung