SIMULASI PERILAKU PERGERAKAN OBJEK 3D MEDIA AUGMENTED REALITY BERBASIS LOGIKA FUZZY Bowo Dwi Ariyanto1) Mochammad Hariadi, P.hD2) Supeno Mardi3)
Teknologi Permainan Konsentrasi Jaringan Cerdas Multimedia Jurusan Teknik Elektro Fakultas Teknik Industri Institut Teknologi Sepuluh Nopember Jl. Sukolilo Surabaya
ABSTRAK Teknologi komputer yang berkaitan dengan perangkat antar muka komputer (Human Computer Interface) saat ini mengalami kemajuan sangat cepat. Seiring dengan berkembangnya teknologi perangkat keras pengendali tampilan (display controller), yang dapat dimanfaatkan untuk informasi dan pengetahuan dalam bentuk visual. Penggambaran objek visual dalam bentuk augmented reality (AR) adalah penggabungan antara objek virtual dengan objek nyata. Augmented Reality (AR) adalah suatu lingkungan yang memasukkan objek virtual 3D kedalam lingkungan nyata. Sistem ini lebih dekat kepada lingkungan nyata (real).Penelitian ini melakukan rancang bangun Penggambaran object overlay 3D menggunakan media augmented Reality menggunakan model geometri lowpoligon poly diharapkan dapat mempercepat proses penggambaran dan animasi serta dapat meningkatkan kemampuan penggambaran lebih pada media overlay marker dengna pola pattern tertentu dengan pengimplementasian konsep control manajemen yaitu kendali keyboard dengan menggunakan kamera webcam untuk mencapai proses animasi objek 3D interaktif. Kata kunci : HCI,Augmented Reality,overlay 3D
1. Latar Belakang Teknologi komputer yang berkaitan dengan perangkat antar muka komputer (Human Computer Interface) saat ini mengalami kemajuan sangat cepat. Seiring dengan berkembangnya teknologi perangkat keras pengendali tampilan (display controller). Visualisasi sebagai salah satu bagian penting dalam pengembangan aplikasi teknologi permainan (video game) yang langsung berinteraksi dengan pemain haruslah dapat menggambarkan keadaan yang sebenarnya, sehingga pemain benarbenar merasakan seperti berada dalam area permainan itu sendiri. Hal ini tentunya membutuhkan dukungan perangkat keras pengendali tampilan (display controller) untuk menghasilkan gambar dengan batasan waktu yang cukup singkat sehingga dapat diterapkan pada aplikasi yang bersifat interaktif nyata(augmented reality). Penggambaran objek visual dalam bentuk augmented reality (AR) adalah penggabungan antara objek virtual dengan objek nyata. Augmented Reality (AR) adalah suatu lingkungan yang memasukkan objek virtual 3D kedalam lingkungan nyata. Ronald Azuma pada tahun 1997, menyatakan bahwa augmented reality adalah menggabungakan dunia nyata dan virtual, bersifat interaktif secara real time, dan merupakan animasi 3D. Menurut Azuma, Augmented Reality adalah variasi dari Virtual Reality. Sejarah tentang augmented reality dimulai dari tahun 1957-1962, ketika seorang penemu yang bernama Morton Heilig, seorang sinematografer menciptakan dan
mempatenkan sebuah simulator yang disebut Sensorama dengan visual, getaran dan bau. Hirokazu Kato(1999) mengembangkan ArToolkit di HITLab dan didemonstrasikan di SIGGRAPH. Bruce. H.Thomas (2000) mengembangkan ARQuake sebuah Mobile Game AR yang ditunjukan di International Symposium on Wearable Computers. Pada tahun 2008 Wikitude AR Travel Guide, memper-kenalkan Android G1 Telephone yang berteknologi AR. Saqoosha (2009) memperkenalkan FLARToolkit yang merupakan perkembangan dari ArToolkit. ARToolkit adalah software library, untuk membangun augmented reality (AR). ArToolkit menggunakan pelacakan video untuk menghitung posisi kamera yang nyata dan mengorientasikan pola pada kertas marker secara realtime. Setelah posisi kamera yang asli telah diketahui, maka virtual camera dapat diposisikan pada titik yang sama dan objek 3D akan digambarkan diatas marker. Jadi ArToolkit memecahkan masalah pada AR yaitu, sudut pandang pelacakan objek dan interaksi objek virtual. Virtual objek 3D secara real time (interaktif) memiliki permasalahan dalam kecepatan dan pengaturan tampilan agar realistik. Ada dua isu kunci utama yaitu proses rendering dan kecepatan visualisasi (Kofle, 1988). Ukuran data objek yang akan ditampilkan dari objek reality yang besar memerlukan cara yang efisien untuk dapat ditampilkan secara real time dengan kapasitas memori yang terbatas. Hal ini termasuk cara untuk mengatur poligon geometri dan tekstur datanya. 1
Pada saat yang sama, secara interaktif ukuran frame rate per second harus dapat mencapai keadaan yang konsisten untuk melakukan generalisasi bagian permukaan yang memiliki banyak poligon pada setiap framenya. Pengukuran konsistensi frame rate per second (fps) menjadi permasalahan pada animasi yang bersifat rendering realtime. Animasi banyak digunakan dalam membangun media aplikasi yang bersifat komunikatif. Konsistensi fps pada animasi objek reality 3D sampai dengan saat ini masih dilakukan penelitian dan pengembangan. Beberapa peneliti telah mengajukan cara penyelesaian permasalahan yang berkaitan dengan real time rendering reality untuk animasi pada media augmented reality. Penelitian yang dilakukan mengimplementasikan dari struktur data polygon mesh, metode cara pandang sistem texturing dan teknik Rigging Bone. Pada umumnya untuk mengatur tipe stuktur data polygon yang digunakan adalah Lowpoly (Gunther et al., 2003), quadtree polygon (Samet, 1984,Pajarola, 1998), R-tree Polygon(Yu et al.,1999; Zlatannova, 2000). Perbedaannya adalah tergantung pada bagaimana polygon tersebut dibagi dalam perlakuan rekonstruksi penyederhanaan polygonnya(Gaede dan Gunther, 2001). Sistem texturing ada dua tipe metode yang telah diadopsi yaitu backface texture (Laurila,2004), dan small tetxure (Burns dan Osfield, 2001). Keseluruhan merupakan metode yang berguna untuk mengkonstruksi model reality 3D yang tidak diperlukan dalam bagian proses animasi. Penelitian yang berkaitan adalah teknik rigging bone (Morley, 2000), dan rigging mesh (Dunlop, 2001;Picco, 2003). Teknik Lowpoly digunakan untuk mengurangi ukuran poligon dan pengaturan detail yang terlihat dalam scene. Meskipun teknik lowpoly dapat mengurangi kompleksitas permasalahan namun masih banyak poligon dalam animasi reality 3D yang menjadi masalah dalam proses render, hal ini mengakibatkan memburuknya performa sistem. Kebanyakan permasalahan yang disebutkan diatas oleh peneliti dialami pada saat harus menggunakan media augmented reality. Penulisan ilmiah dalam bentuk penelitian tesis ini, penelitian difokuskan pada proses animasi berbasis augmented reality untuk visualisasi real time objek karakter 3D, teknik yang diajukan guna mengatasi ukuran data animasi yang dibangun dengan tetap mempertahankan interaktif frame ratenya adalah menggunakan artoolkit pada model geometri realitinya. Latar belakang gagasan penelitian ini adalah memperluas kemampuan dari teknik artoolkit untuk membangun objek 3D
animasi dan meningkatkan kemampuan proses visualisasi secara real time dan sistem navigasinya berupa interaksi keyboard. Ada 2 bagian tahap yang terpisah yaitu tahap pra-processing dan run time processing. Pada tahap pertama, data model 3D dilakukan konversi ke dalam struktur data berbasis lowpoy representasi. Data model 3D yang akan ditampilkan dalam bentuk marker dengan pola pattern tertentu. Dalam proses run time, beberapa marker yang akan menampilkan objek animasi 3D tergantung pada posisi kamera. Kemudian maker ini akan dilakukan pengujian untuk status penampilan atau akan dihapus dari blok marker agar tidak terlihat. Pada akhirnya, proses penyederhaan geometri dari penampilan objek 3D dalam bentuk overlay object telah menjadi ukuran minimal dari bentuk polygon kemudian diproses dan menjadi bagian yang akan dilakukan rendering. Berdasarkan uraian pada latar belakang Penggambaran object overlay 3D menggunakan media augmented Reality menggunakan model geometri lowpoligon poly diharapkan dapat mempercepat proses penggambaran dan animasi serta dapat meningkatkan kemampuan penggambaran lebih pada media overlay marker pola pattern tertentu dengan pengimplementasian konsep control manajemen yaitu kendali keyboard dengan menggunakan kamera webcam untuk mencapai proses animasi objek 3D interaktif. Tujuan yang diharapkan dari penelitian ini adalah mendesain dan mengimplementasikan artoolkit engine dengan menggunakan metode control kendali keyboard model geometri lowpoly overlay object 3D gabungan antara media augmented reality dengan view-berbasis camera werbcam. 2. Pustaka Grafis OpenGL Komputer Grafis adalah suatu proses pembuatan, penyimpanan dan manipulasi model dan citra. Komputer grafis merupakan proses untuk menghasilkan image menggunakan komputer atau yang disebut sebagai proses rendering, dalam hal ini proses rendering difokuskan pada teknik dasar tiga dimensi (3D) untuk visualisasi.. OpenGL adalah antarmuka perangkat lunak untuk perangkat keras dirancang sebagai sebuah antarmuka independen yang dapat digunakan untuk berbagai macam platform perangkat keras. Dengan OpenGL dan library bantuan (GLU, GLUT, GLEW, OSG, SDL, dll) untuk windowing serta user input, programmer grafis mampu membuat berbagai aplikasi grafis dengan tampilan efek 2D atau 3D. Proses di OpenGL diawali dengan pengertian transformasi objek tiga dimensi ke sistem koordinat layar dalam OpenGL. Tujuan utama dari sistem OpenGL adalah menterjemahkan 2
koordinat tiga dimensi dari suatu objek ke citra dua dimensi untuk dapat ditampilkan ke layar. Proses menterjemahkan ini dapat dilakukan jika nilai sistem koordinatnya telah sama (homogen). Koordinat homogen, diperkenalkan oleh August Ferdinand Mobius, untuk membuat grafik dan perhitungan geometri proyektif yang mungkin dalam ruang. Koordinat Homogen adalah suatu cara untuk mewakili ruang N berkoordinasi dengan angka dimensi N+1. Untuk membuat homogen 2D koordinat, diperlukan menambahkan variabel tambahan, w, ke koordinat yang ada. Oleh karena itu, sebuah titik dalam koordinat Cartesian, (X, Y) menjadi (x, y, w) di koordinat homogen. Dan X dan Y di Cartesian adalah dinyatakan kembali dengan x, y dan w sebagai suatu bentuk persamaan dalam membentuk koordinat homogen sebagai; X=x/w (2.1) Y=y/w (2.2) Sebagai contoh, sebuah titik dalam Cartesian (1, 2) menjadi (1, 2, 1) di koordinat homogen. Jika titik (1, 2), bergerak ke arah tak terbatas, hal tersebut akan menjadi menjadi (∞, ∞) dalam koordinat Cartesian. Dan menjadi (1, 2, 0) di koordinat homogen, karena (1 / 0, 2 / 0) = (∞, ∞). Proses pengubahan dari homogen koordinat (x, y, w) ke koordinat Cartesian, maka dapat dilakukan dengan cara melakukan proses pembagian antara nilai x dan y oleh w;
sangat berguna dan konsep fundamental dalam komputer grafis, seperti memproyeksikan sebuah scene 3D (tiga dimensi) ke bidang permukaan 2D(dua dimensi). 3. Matrik Transformasi OpenGL OpenGL menggunakan 4 x 4 matriks untuk transformasi. Perhatikan pada gambar 2.4. bahwa 16 elemen dalam matriks disimpan sebagai array pada satu kolom matrik. Matrik transpose digunakan untuk mengubah menjadi konvensi standar format baris utamanya.
Gambar 2.4. Matrik Transformasi OpenGL Berdasarkan gambar 2.4. maka 3 elemen matriks kolom paling kanan (m12, m13, m14) adalah untuk terjemahan transformasi, glTranslatef (). Elemen m15 adalah koordinat homogen. Ini khusus digunakan untuk transformasi proyektif. 3 elemen set, (m0, m1, m2), (m4, m5, m6) dan (m8, m9, m10) adalah untuk Euclid dan transformasi affine, seperti rotasi glRotatef () atau skala glScalef(). 4. Visi Komputer Visi komputer adalah ilmu dan teknologi yang dapat membuat mesin (komputer) dapat melihat. Sebagai salah satu disiplin ilmu, visi komputer berkaitan dengan teori pada sistem yang dapat mengekstrak informasi dari image. Data image mempunyai banyak bentuk, seperti rangkaian video, dilihat dari beberapa kamera, atau data multidimensi dari scanner medis. Visi komputer berusaha untuk menerapkan teori dan model untuk pem-bangunan sistem visi komputer. Mendeteksi objek (misalnya, untuk sistem kamera pengawas atau sistem yang dapat menghitung orang) Komputer visi dalam beberapa hal kebalikan dari komputer grafis. Ketika komputer grafis menghasilkan data gambar dari model 3D, visi komputer sering menghasilkan model 3D dari data gambar.
(2.3.) Homogen Kartesisus Sebagai penjelasan sederhana dari proses tersebut adalah sebagai berikut :
5 ARToolKit ARToolKit adalah library yang dibuat dalam bahasa C yang memungkinkan programer dengan mudah mengembangkan aplikasi Augmented Reality [6]. Augmented Reality (AR) adalah teknologi yang menampilan model virtual yang dibuat komputer didunia nyata, dan memiliki banyak potensi didalam industri dan penelitian akademis. Salah satu bagian paling sulit mengembangkan aplikasi AR justru menghitung sudut pandang
Hasil pengamatan dari proses tersebut diatas adalah titik-titik (1, 2, 3), (2, 4, 6) dan (4, 8, 12) sesuai dengan titik Euclidean yang memiliki nilai yang sama (1 / 3, 2 / 3). Dan setiap produk skalar, (1a, 2a, 3a) adalah titik yang sama seperti (1 / 3, 2 / 3) di ruang Euclides. Oleh karena itu, titik-titik ini disebut dengan homogen karena mereka mewakili titik yang sama pada ruang Euclides (atau Cartesian ruang). Dengan kata lain, koordinat homogen adalah invarian skalanya. Koordinat homogen 3
pengguna secara real time sehingga model virtual selaras dengan lingkungan dan objek dunia nyata. ARToolKit menggunakan teknik visi komputer untuk menghitung posisi kamera nyata dan hubungannya terhadap marker
mudah mengembangkan aplikasi Augmented Reality [6]. Augmented Reality (AR) adalah teknologi yang menampilan model virtual yang dibuat komputer didunia nyata, dan memiliki banyak potensi didalam industri dan penelitian akademis. ARToolKit merupakan software ToolKit layaknya GLUT. Di dalamnya terdiri dari predefined functions yang bisa kita panggil (call) dalam mengembangkan aplikasi AR. ARToolKit menggunakan OpenGL untuk rendering, GLUT untuk aspek windows/event handler. API ARToolKit ditulis dalam bahasa C dan disertakan pula beberapa contoh yang bisa dijadikan acuan dalam mengembangkan aplikasi AR. Gambar 2.5 mengilustrasikan hubungan antara aplikasi yang dibuat dengan ARToolKit dan library yang diperlukan.
2.3. Augmented Reality Augmented reality memiliki pengertian sebagai sebuah istilah untuk lingkungan yang menggabungkan dunia virtual pada media tampilan dengan ditambahkan dunia nyata yang dibuat oleh komputer sehingga terjadi interaksi bahwa objek nyata dapat ditambahkan pada media virtual. Augmented reality menampilkan objek nyata dalam dunia vritual secara overlay dengan batasan pola marker yang ditentukan sehingga tampilan media menjadi lebih dekat kepada lingkungan nyata (real). Augmented reality berbeda dengan virtual reality (VR), yang sepenuhnya merupakan virtual environment . Dengan bantuan teknologi AR (seperti visi komputasi dan pengenalan objek) lingkungan nyata disekitar kita akan dapat berinteraksi dalam bentuk digital (virtual). Informasi-informasi tentang objek dan lingkungan disekitar kita dapat di-tambahkan kedalam sistem AR yang kemudian informasi tersebut ditampilkan diatas layer dunia nyata secara real-time seolah-olah informasi tersebut adalah nyata. Augmented reality secara umum didefinisikan sebagai mengabungkan dunia nyata dengan dunia virtual untuk dapat berinteraksi secara realtime dalam bentuk tampilan 3D(Azuma,R, 1997). Paul Milgram dan Fumio Kishino(1994) mengenalkan Mil-gram’s RealityVirtuality Continuum (gambar 2.1) pada tahun 1994[3]. Mereka mendeskripsikan sebuah bagan yang memisahkan antara lingkungan nyata dan lingkungan virtual. Diantara kedua lingkungan itu terdapat augmented reality (lebih dekat kepada lingkungan nyata) dan augmented virtuality (lebih dekat kepada lingkungan virtual).
Gambar 2.5. Hubungan artoolkit dengan opengl Pada gambar 2.5 aplikasi yang dibangun pada media augmented reality menggunakan library artoolkit memerlukan dukungan library grafis untuk memunculkan objek 3D. Objek grafis yang dibangun menggunakan library opengl dengan dukungan GLUT untuk membangun standard API guna menampilkan objek di melalui video library. Landasan dari operating system yang digunakan untuk membangun aplikasi artoolkit melalui media video driver dan 3D graphic driver. Struktur Librari ARToolKit library terdiri dari empat modul: 1. AR module: modul utama yang berisi marker tracking routines, calibration dan parameter collection 2. Video module: berisi koleksi rutin untuk mengcapture frame input video 3. Gsub module: koleksi rutin grafik dari OpenGL dan GLUT 4. Gsub_Lite module: suksesor modul Gsub yang lebih efisien. 2.4.1. Tipe Data ARToolKit memanipulasi beberapa variable yang berbeda. ARToolKit menggunakan format image yang berbeda untuk modul yang berbeda. Gambar dibawah mengilustrasikan beberapa format yang didukungnya. Beberapa format hanya tersedia pada beberapa platform dan hardware yang spesifik.
Gambar 2.4. Model augmented Reality (Milgram,1994) 2.4. Artoolkit ARToolKit adalah library yang dibuat dalam bahasa C yang memungkinkan programer dengan 4
dalam kawasan yang bisa dilihat oleh kamera. Selain itu, jika ada bagian marker yang tertutup meski sedikit, misalnya terhalang oleh tangan, maka objek virtualnya akan hilang. Masalah lain adalah masalah jangkauan dan masalah cahaya. Semakin kecil atau semakin jauh marker terhadap kamera, maka semakin kecil kemungkinan marker dapat dideteksi oleh kamera. Pantulan cahaya juga bisa membuat deteksi marker menjadi lebih sulit, oleh karena itu akan lebih baik jia marker dicetak pada media yang tidak memantulkan cahaya. Ilustrasi sistem koordinat dalam ARToolKit ditunjukan oleh Gambar 2.9
Gambar 2.7. Dukungan format image dalam ARToolkit Informasi mengenai marker yang terdeteksi berada pada struktur ARMarkerInfo struktur yang didefinisikan dalam file ar.h pada direktori include. 2.4.3. Mekanisme Artoolkit Versi ARToolKit saat ini mendukung video see-through dan optical see-through AR. Video seethrough AR adalah keadaan ketika virtual im-ages ditampilkan pada gambar video yang diambil secara langsung (real-time) dari dunia nyata. Alternatifnya adalah optical see-through AR, di-mana komputer grafis yang tampilkan secara langsung pada pandangan dunia nyata. Optical see-through AR biasanya memerlukan suatu perangkat tambahan seperti head-mounted-display (HMD) dan memerlukan proses kalibrasi kamera yang lebih rumit.
Gambar 2.9. Sistem koordinat ARToolkit Langkah – langkah untuk melakukan pengembangan sistem secara umum dirancang dengan alur sebagai berikut : Mulai
Input image
Gambar 2.8. Mekanisme ARToolkit Secara umum prinsip kerja artoolkit adalah sebagai berikut. 1. Kamera menangkap gambar dari dunia nyata secara live dan mengirimkannya ke komputer. 2. Perangkat lunak dalam komputer akan mencari marker pada masing-masing frame video. 3. Jika marker telah ditemukan, komputer akan memproses secara matematis posisi relatif dari kamera ke kotak hitam yang terdapat pada marker. 4. Apabila posisi kamera diketahui, maka model tersebut akan digambarkan pada posisi yang sama. 5. Model obyek 3D akan ditampilkan pada marker, artinya obyek virtual tersebut ditambahan pada dunia nyata. Ada beberapa keterbatasan pada sistem AR ini. Objek virtual akan muncul jika markernya ada
Treshold image
Marker deteksi
Pose dan estimasi
Overlay image
Pemeriksaan Event Keyboard
tidak
Keluar? ya
5
Mulai