JURNAL TEKNIK POMITS Vol. 1, No. 1, (2012) 1-6
1
Projection Mapping Pada Bidang Non Planar Sebagai Media Proyeksi Dengan Model Dimensi Tiga Dari Perangkat Kinect Dengan Metode Iterative Closest Point Farandi Kusumo, Surya Sumpeno, dan Christyowidiasmoro Jurusan Teknik Elektro, Fakultas Teknologi Industri, Institut Teknologi Sepuluh Nopember (ITS) Jl. Arief Rahman Hakim, Surabaya 60111 E-mail:
[email protected].
[email protected],
[email protected]
Abstrak— Media hiburan dan periklanan saat ini mulai berkembang ke arah yang lebih inovatif dan menawan melalui teknologi Projection Mapping, yang memungkinkan proyektor untuk memproyeksikan gambar pada bidang non-planar di sisisisi bidang tanpa terlihat terdistorsi. Teknologi ini membutuhkan model dimensi tiga dari media proyeksi. Penelitian ini melakukan otomasi dalam proses permodelan dimensi tiga dengan menggunakan kamera kinect sebagai salah satu perangkat yang mampu memindai depth dari suatu objek, sampai didapatkan model dimensi tiga dari objek yang di pindai. Kemudian dilakukan pengujian dari model dimensi tiga yang digunakan dalam projection mapping. Data tersebut kemudian difilter dengan Bilateral Filtering dan disatukan dengan menggunakan metode Iterative Closest Point (ICP). Hasil yang diperoleh dari penilitian ini adalah untuk memberikan solusi dalam permodelan dimensi tiga untuk Projection Mapping dalam waktu + 35 menit dibandingkan dengan cara manual yang membutuhkan waktu lebih dari 2 jam. Tingkat keberhasilan proyeksi rata-rata berdasarkan survei terhadap penonton sebesar 79.25%. Kata Kunci—Iterative Closest Mapping, dan Rekonstruksi 3D.
Point,
Kinect,
Projection
I. PENDAHULUAN
P
ROJECTION Mapping saat ini adalah sebuah teknik yang dapat menjadikan segala bentuk permukaan menjadi sebuah media tampilan video yang dinamis. Teknik ini dapat digunakan sebagai sarana hiburan, maupun sarana periklanan, bergantung dari konten video yang ditampilkan [1]. Untuk menggunakan teknik ini, tentu dibutuhkan suatu metode untuk permodelan tiga dimensi dari bidang yang akan diproyeksikan yang cepat dan akurat agar gambar dan bidang proyeksi menyatu dengan sempurna. Oleh karena itu dibutuhkan suatu metode untuk merubah bentuk model tiga dimensi bidang nyata kedalam bentuk digital. Pembuatan model dimensi tiga untuk projection mapping dapat dilakukan secara manual dengan menggunakan bantuan perangkat lunak Computer Aided Design (CAD). Namun untuk melakukan hal ini tentu saja diperlukan ketelitian dan mata yang lihai dari seorang perancang agar model dimensi tiga yang dihasilkan sesuai dengan bidang proyeksi.
Gambar 1 Design program rekonstruksi dimensi tiga.
Untuk membantu tugas ini, ada beberapa perangkat yang dapat digunakan untuk membantu membuat model dimensi tiga secara otomatis dan cepat. Namun perangkat yang tersedia biasanya memiliki harga yang mahal, sulit diperoleh, dan metode penggunaan yang tidak praktis. Penelitian ini dilakukan untuk mengoptimasikan penggunaan perangkat Kinect yang merupakan perangkat dengan kamera RGB-D (Depth) untuk melakukan pembuatan model dimensi tiga. Fokus dari penelitian ini adalah untuk menciptakan suatu solusi untuk membuat model dimensi tiga dengan cepat dengan hasil yang mampu digunakan dalam projection mapping. II. DESAIN SISTEM DAN IMPLEMENTASI Gambar 1 adalah alur desain program yang digunakan untuk melakukan rekonstruksi dimensi tiga dengan otomatis. Berdasarkan rujukan [2], proses yang dilakukan dibagi menjadi dua bagian, yaitu dalam tahap pengolahan data kedalaman dan tahap pengolahan point cloud.
JURNAL TEKNIK POMITS Vol. 1, No. 1, (2012) 1-6
2
4) Konversi ke Point Cloud Data kedalaman yang didapatkan dari kinect sebenarnya hanyalah data matriks dua dimensi. Matriks ini tidak dapat digunakan begitu saja. Perlu ada pemrosesan data matriks dua dimensi ini menjadi data point cloud. Untuk itu digunakan metode triangulasi untuk menghitung koordinat pada tiap piksel pada data kedalaman. Hal ini dikarenakan proses yang akan dilakukan setelahnya membutuhkan properti data tiga dimensi seperti posisi pada koordinat x, y, dan z.
Gambar 3 Alur proses pengolahan depth map sampai berubah menjadi point cloud.
A. Pengolahan Data Kedalaman Tahap yang ditunjukan pada Gambar 3 dilakukan untuk mengolah data mentah yang diperoleh dari perangkat kinect agar dapat digunakan untuk proses rekonstruksi. Proses rekonstruksi membutuhkan point cloud dari kinect. Berikut adalah penjelasan lebih lanjut mengenai proses yang dilakukan. 1) Pengambilan data kedalaman dari kinect Data mentah yang diperoleh dari kinect sebetulnya adalah data kedalaman (depth map). Data kedalaman adalah data matriks dari wilayah pindai yang berisi jarak kedalaman dari objek dengan perangkat pindai untuk tiap piksel dalam satuan sesuai perangkat pindai. 2) Melakukan filter pada data kedalaman Data kedalaman yang diperoleh dari kinect masih merupakan data yang memiliki banyak error. Hal ini disebabkan karena keterbatasan kinect dalam memproses data kedalaman. Sehingga data kedalaman yang diperoleh perlu dilakukan filter. Filter yang digunakan dalam proses ini adalah Bilateral Filter. Bilateral Filter mampu melakukan smoothing dengan memproses tiap piksel dari data kedalaman dan menghitung ulang nilainya berdasarkan dari nilai dari piksel disekitarnya [3]. Dengan demikian, error dari data kedalaman yang dimiliki dapat berkurang. 3) Menghitung Point Normal Setelah mendapatkan data kedalaman yang telah terfilter, tahap selanjutnya adalah memperhitungkan arah normal dari tiap point yang ada pada data kedalaman. Tujuan dari perhitungan point normal ini adalah untuk mengetahui arah orientasi normal dari sebuah piksel terhadap piksel-piksel lain yang ada disekelilingnya. Arah ini kemudian akan disimpan dalam tiap piksel tersebut. Perlu diperhatikan bahwa langkah filtering yang dilakukan sebelumnya sangat berpengaruh dalam perhitungan arah normal. Noise yang dimiliki pada data kedalaman berdampak besar karena arah normal dihitung dengan melihat piksel sekitar, tidak hanya piksel itu sendiri.
B. Pengolahan Point Cloud Proses pengolahan data point cloud pada penelitian ini menggunakan metode Iterative Closest Point (ICP). Metode ini memiliki fungsi untuk menggabungkan dua data set point cloud agar berkorespondensi dengan baik. Alignment dengan Iterative Closest Point (ICP) Setelah melalui tahap dalam pemrosesan data kedalaman, memori seharusnya sudah menyimpan minimal 2 frame data point cloud. Kedua data point cloud tersebut harus memiliki perbedaan yang tidak terlalu jauh. Jika perbedaan antara kedua frame sangat jauh maka tahap ini akan gagal dan proses harus diulangi dari awal. Hal ini disebabkan karena algoritma ICP menggunakan metode penghitungan jarak terdekat antara kedua titik untuk mencari korespondensi. Perbedaan yang jauh akan membuat algoritma ini gagal mencari korespondensi karena kesalahan estimasi yang akhirnya menghasilkan error yang sangat besar. Selain kedua point cloud harus memiliki perbedaan yang minim, untuk meningkatkan akurasi dari ICP juga dibutuhkan arah normal dari tiap point cloud. Oleh karena itu pada langkah pemrosesan data kedalaman, penghitungan point normal dibutuhkan. Arah normal dapat meningkatkan hasil dikarenakan arah normal memberikan satu properti baru untuk sebuah point cloud yang menunjukan orientasinya terhadap sekelilingnya.
Gambar 2 Proses pengolahan data point cloud dengan menggunakan metode Iterative Closest Point.
JURNAL TEKNIK POMITS Vol. 1, No. 1, (2012) 1-6
3
telah dirancang. Posisi proyektor dan posisi penonton diinisialisasikan pada tiap pengujian. Dengan demikian dapat dihasilkan bentuk distorsi perspektif dari gambar yang akan diproyeksikan melalui renderer. III. HASIL PENGUJIAN Pengujian dilakukan untuk melihat seberapa handal sistem yang dirancang dalam membentuk model dimensi tiga dalam melakukan projection mapping dan membandingkan waktu yang dibutuhkan jika melakukan projection mapping secara manual [1] serta menghitung tingkat keberhasilan. Pengujian dilakukan dengan menggunakan tiga jenis objek proyeksi dengan bentuk bidang yang berbeda-beda. Tabel 1 Spesifikasi komputer Gambar 4 Langkah – langkah dalam proses ICP
(⃑
)
*
+
(⃑
)
(1)
ICP mendapatkan titik-titik korespondensi dengan menggunakan persamaan (1). Dengan adalah jarak antar titik dengan Euclidian distance, ⃑ adalah titik dari point cloud yang diproses, dan adalah data set dari target [4]. Pada Gambar 4 ditunjukan langkah-langkah yang dilakukan dalam melakukan ICP. Dimulai dari pembagian wilayah spasial dengan k-d tree sampai ditemukan semua titik korespondensi. Keluaran dari proses ICP ini adalah matriks transformasi berukuran 4x4 [4]. C. Projection Mapping Gambar 5 menunjukan bagaimana proses yang dilakukan agar implementasi pada proyektor dapat dilakukan. Untuk melakukan implementasi tentu saja kita membutuhkan materimateri dari hasil yang sudah kita dapatkan dari tahap-tahap sebelumnya, yaitu gambar dan file 3D mesh. Gambar yang digunakan merupakan bentuk geometri primitif (kotak, lingkaran, segilima). Tujuannya adalah untuk melihat keakuratan proyeksi dengan lebih mudah. File 3D mesh yang digunakan adalah hasil pindai dari program rekonstruksi yang
Komponen Sistem Operasi Processor Memory Versi DirectX Versi DxDiag Display Adapter Name Total Display Memory
Spesifikasi Windows 7 Ultimate 64-bit Intel Core ™ i5 CPU @2.4 GHz (2CPUs) 8192MB RAM DirectX 11 6.01.7601.17514 64-bit Unicode NVIDIA GeForce GT 330M 256MB
Tabel 2 Spesifikasi proyektor
Komponen Merk / Jenis Brightness Contrast Throw Distance (meter) Native Display (piksel)
Spesifikasi Optoma ES520 2600 ANSI 2500:1 1.6 -10 800 x 600
Spesifikasi komputer dan proyektor ditampilkan pada Tabel 1 dan Tabel 2 sebagai variabel kontrol dari penelitian ini. A. Pengujian pada Objek Sederhana Pengujian pada objek sederhana dilakukan untuk mengetahui apakah hasil penelitian dapat digunakan untuk objek dengan bentuk bidang paling sederhana. Objek yang
Gambar 6 (a) Objek pengujian. (b) Inisialisasi objek dengan proyektor. Gambar 5 Alur implementasi projection mapping
JURNAL TEKNIK POMITS Vol. 1, No. 1, (2012) 1-6
4
Tabel 3 Hasil tampilan gambar pada sisi objek
Gambar asli terdistorsi
Proyeksi pada bidang objek
Gambar 8 Hasil tampilan gambar pada sudut pandang penonton yang telah terinisialisasi Tabel 4 Hasil tampilan gambar dilihat dari berbagai sudut pandang lain Gambar Dari Sudut Pandang Lain
digunakan berbentuk objek dimensi tiga primitif yaitu balok yang digunakan dari kardus. Gambar 6 menunjukan posisi proyektor (penanda merah) yang digunakan dalam pengujian berada + 175 centimeter dari benda (penanda kuning) dan menghadap arah -60o dari sumbu x. Dari sistem yang dibuat dan dirancang dilakukan pengujian untuk mengetahui seberapa baik performa sistem dengan memproyeksikan suatu gambar geometri pada bidang objek yang akan tampil pada sisi bidang objek tersebut. Percobaan kali ini akan menggunakan tiga buah gambar geometri yaitu kotak, lingkaran, dan segilima agar dapat menunjukan akurasi dari projection mapping pada bidang objek dan waktu yang dibutuhkan. Tabel 3 menunjukan hasil yang diperoleh dengan membandingkan gambar yang telah terdistorsi dengan hasil proyeksil yang terlihat pada bidang proyeksi. Pada percobaan dengan geometri kotak, lingkaran, dan segilima dapat terlihat bahwa hasil dari projection mapping pada bidang terlihat cukup baik dengan melihat gambar geometri yang mampu terproyeksi pada sisi bidang yang berbeda. Pada percobaan dengan menggunakan gambar geometri kotak, dapat terlihat bahwa hasil dari projection mapping pada bidang terlihat cukup baik dengan melihat gambar geometri yang mampu menyerupai sisi-sisi dari bidang. Untuk percobaan dengan menggunakan geometri lingkaran, walaupun gambar geometri lingkaran mampu menyerupai sisi-sisi dari bidang, namun pada beberapa sisi terlihat ada penonjolan pada sisi geometri.
Horizontal 40o (kiri)
Horizontal 20o (kiri)
Horizontal 20o (kanan)
Horizontal 40o (kanan)
Vertikal 10o (atas)
Vertikal 10o (bawah)
Sedangkan pada percobaan dengan menggunakan geometri segilima yang ditampilkan pada sisi atas bidang juga menunjukan tampilan geometri segilima yang baik tanpa terlihat terdistorsi. Hal ini menunjukan bahwa gambar geometri akan terproyeksi dengan lebih baik apabila bentuk dari geometri tersebut menyerupai bentuk bidang objek. Proses menampilkan gambar pada objek bidang membutuhkan waktu selama 31 menit terhitung dari pembuatan model 3D dengan menggunakan kinect. Tampilan gambar geometri pada lebih dari satu bidang Dari sistem yang dibuat dilakukan pengujian dengan memproyeksikan gambar pada sudut media proyeksi dan
Gambar 7 Hasil tampilan efek timbul pada sudut pandang penonton yang telah terinisialisasi
JURNAL TEKNIK POMITS Vol. 1, No. 1, (2012) 1-6
Tabel 5 Hasil tampilan e dilihat dari berbagai sudut pandang lain.
5
dengan bidang tak beraturan yang dimaksud adalah objek
Gambar dari sudut pandang lain
o
Horizontal 10 (kiri)
Horizontal 15o (kanan)
o
Horizontal 10 (kanan)
Horizontal 5o (kanan)
mampu terlihat tak terdistorsi pada sudut pandang penonton terinisialisasi. Pengujian ini bertujuan untuk melihat besar toleransi dari posisi penonton agar tetap dapat melihat tampilan gambar tanpa terlihat terdistorsi. Gambar 8 menunjukan hasil tampilan gambar dari pengujian yang didapatkan dari sudut pandang penonton yang telah terinsialisasi. Sedangkan Tabel 5 menunjukan hasil tampilan yang diperoleh selain dari sudut pandang yang diinisialisasi. Dari hasil yang didapatkan dari Tabel 5 disimpulkan bahwa tampilan gambar terlihat terditorsi cukup jelas saat sudut pandang penonton digeser dengan arah horizontal dan vertikal ke atas. Sedangkan pada saat sudut pandang digeser pada arah vertikal ke bawah sebanyak 10 o masih ada sedikit distorsi namun penonton masih dapat melihat gambar. Gambar 7 menunjukan hasil tampilan gambar tonjolan dimensi tiga pada media proyeksi yang diambil dari sudut pandang penonton. Tabel 4 menunjukan hasil tampilan yang diambil dari sudut pandang lain selain sudut pandang yang diinisialisasi. Dapat dilihat bahwa pada toleransi untuk melihat tonjolan dimensi tiga didapat maksimal pada pergeseran maks 5o horizontal. Jika sudut pandang digeser lebih dari 5 o maka tampilan tonjolan dimensi tiga terlihat palsu.
Gambar 9 Hasil tampilan gambar kotak pada sepatu dari sudut pandang penonton yang telah terinisialisasi
yang bidangnya tidak merupakan bagian dari model bangun ruang dimensi tiga primitif (kubus, balok, limas, dan lainlain). Tujuan dilakukan pengujian ini adalah untuk melihat seberapa handal sistem dalam memberikan distorsi yang tepat pada objek yang bentuk bidangnya tidak beraturan. Pada Gambar 10 (a) dapat dilihat bahwa objek (penanda kuning) yang direpresentasikan dengan warna abu-abu terletak pada titik pusat, sedangkan proyektor (penanda merah) direpresentasikan dengan warna biru berada sekitar 50 centimeter dari objek dengan kemiringan sudut 5o terhadap sumbu x. Gambar 9 menunjukan hasil tampilan geometri yang diharapkan dari sudut pandang yang diinisialisasi. Pada Tabel 6 menunjukan hasil tampilan geometri yang didapatkan dari sudut pandang lain selain sudut pandang yang diinisialisasi. Tampilan geometri yang didapat dari sudut pandang lain menunjukan bahwa toleransi untuk melihat geometri dengan cukup baik adalah + 5o arah horizontal. Jika lebih dari sudut toleransi maka akan terlihat distorsi yang cukup terlihat. Proses pengujian ini membutuhkan waktu selama 17 menit terhitung dari selesainya proses kalibrasi. C. Pengujian Keberhasilan Implementasi Dari implementasi sistem yang dibuat, dilakukan survey pada beberapa responden sebagai penonton untuk melihat seberapa baik implementasi yang dilakukan. Survey dilakukan dengan 15 responden. Dari Tabel 7 pada pertanyaan pertama yang menjawab lebih Tabel 6 Hasil tampilan gambar kotak pada sepatu jika dilihat dari sudut pandang lain Gambar dari sudut pandang lain
B. Pengujian Dengan Objek Tak Beraturan Dari sistem yang dibuat, dilakukan pengujian dengan menggunakan objek dengan bidang yang tak beraturan. Objek
Gambar 10 (a) Objek pengujian. (b) Inisialisasi objek dengan proyektor.
-20o
-10o
+5o
+10o
JURNAL TEKNIK POMITS Vol. 1, No. 1, (2012) 1-6
6
Tabel 7 Hasil dari survey pada lima belas responden
Pertanyaan ke1 2 3
Respon 2 3 4 5 6 0 0 0 1 0 Tidak = 1 0 0 0 0 0 4 1 0
7 8 9 4 8 2 Ya = 14 1 4 4
10 0
5.
2
dari 6 sebanyak 14 responden (93%). Sedangkan 1 responden (6.7%) menjawab kurang dari sama dengan 6. Dengan ratarata penilaian responden sebesar 7.6 dari 10, maka dapat disimpulkan bahwa implementasi mampu memberikan hasil yang mampu dinikmati penonton namun masih terlihat kekeliruan dengan tingkat keberhasilan 76%. Pertanyaan kedua bertujuan untuk melihat apakah responden melihat tonjolan dimensi tiga pada media proyeksi. Sebanyak 14 responden (93%) menjawab ya dan 1 responden (6.7%) menjawab tidak. Dengan demikian implementasi tampilan tonjolan bidang dimensi tiga pada media proyeksi dapat disimpulkan berjalan dengan baik. Pada pertanyaan ketiga, responden yang menjawab lebih dari 6 sebanyak 11 responden (73.3%) dan yang menjawab kurang dari sama dengan 6 sebanyak 4 responden (26.6%). Penilaian rata-rata responden sebesar 7.93 dari 10. Dengan demikian dapat disimpulkan tampilan geometri kotak pada bidang tak beraturan memiliki tingkat keberhasilan 79.3%. IV. KESIMPULAN DAN SARAN A. Kesimpulan Dari hasil perancangan dan pengujian sistem dalam penelitian ini maka dapat diambil beberapa kesimpulan: 1. Berdasarkan hasil pengujian dengan menggunakan objek sederhana, hasil kalibrasi menunjukan titik-titik referensi dapat diinisialisasi pada media proyeksi dengan tepat. Total waktu yang dibutuhkan untuk pengujian pada benda sederhana adalah 31 menit yang terbagi dalam 19 menit pada waktu pemindaian media proyeksi dan kalibrasi, dan 12 menit pada proses proyeksi. 2. Hasil pengujian dengan menggunakan objek dengan bidang tak beraturan menunjukan bahwa sistem masih handal dengan mampu untuk memproyeksikan gambar geometri pada bidang yang berlekuk dan tak beraturan. Namun proses yang dilakukan membutuhkan waktu yang lebih lama dengan total waktu 38 menit yang terbadi dalam 21 menit pada waktu proses pemindaian media proyeksi dan kalibrasi, dan 17 menit pada proses proyeksi. 3. Hasil tampilan geometri pada lebih dari satu bidang dengan bidang sederhana dan pada bidang tak beraturan menunjukan bahwa tampilan geometri dapat terlihat baik dengan toleransi + 5o dari posisi sudut pandang penonton yang diinisialisasi. 4. Keberhasilan pada proses proyeksi yang ditunjukan dengan pengujian fisik gambar pada media proyeksi
menunjukan derajat kekeliruan pada sisi atas sebesar 6.4o dan sisi bawah 23.9o disebabkan karena posisi proyektor dan media yang memiliki perbedaan jarak. Dimana sisi atas media lebih dekat dengan proyektor dibanding sisi bawah. Hasil survey pada 15 responden menunjukan bahwa proyeksi gambar pada sudut media proyeksi bidang sederhana memiliki tingkat keberhasilan sebesar 76%. Proyeksi geometri kotak pada media proyeksi bidang tak beraturan memiliki tingkat keberhasilan 79.3%. Proyeksi geometri lingkaran pada media proyeksi bidang tak beraturan memiliki tingkat keberhasilan 68.6%. Sedangkan untuk tampilan tonjolan dimensi tiga pada objek sederhana menunjukan tingkat keberhasilan sebesar 93%.
Dari ketiga proses pengujian yang dilakukan, proses pengujian hanya membutuhkan total waktu + 35 menit. Hal ini tentu jauh lebih singkat jika dibandingkan dengan melakukan projection mapping secara manual yang memakan waktu sekitar 3 hari [1]. Hasil proyeksi hanya dapat dinikmati dengan perbedaan toleransi maksimal 5o dari sudut pandang penonton dengan tingkat keberhasilan rata-rata sebesar 79.255%. B. Saran Pada sistem yang telah dibuat, projection mapping yang digunakan masih dalam tahap awal / sederhana. Untuk melakukan implementasi dan pengujian dengan lebih baik, disarankan untuk melibatkan desainer projection mapping yang sudah handal dan mampu untuk melakukan projection mapping pada tahap yang lebih lanjut dan melakukan animasi yang lebih menarik. Selain itu, hadirnya desainer projection mapping yang sudah handal juga dapat dijadikan tolok ukur secara lebih akurat dalam membandingkan kecepatan proses pembuatan projection mapping. DAFTAR PUSTAKA [1] [2]
[3] [4]
Video Mapping Web Site. “Video Mapping”.
2011. Maier, Robert. “Real-time 3D Reconstruction and Localization”. [Presentation] München : Institut für Informatik der Technischen Universität München, 2012. Tomasi, C. “Bilateral Filtering for Gray and Color Images”. Bombay: IEEE International Conference on Computer Vision. 1998. Besl, P.J. “A Method for Registration of 3D Shapes”. IEEE Transaction on Pattern Analysis and Machine Intelligence. Vol. 14. 1992.