1
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 benar-benar merasakan seperti berada dalam area permainan itu sendiri. Hal ini tentunya mem-butuhkan 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) mengem-bangkan 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.
2
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 penggam-baran 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
3
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;
(2.3.) Homogen Kartesisus
Sebagai penjelasan sederhana dari proses tersebut adalah sebagai berikut :
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
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 multi-dimensi 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.
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
4
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
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 dita-mpilkan 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 Reality-Virtuality 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.4. Model augmented Reality (Milgram,1994)
2.4. 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. 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.
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.
5
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 through dan optical through AR. Video see-through 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.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
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.9. Sistem koordinat ARToolkit
Langkah – langkah untuk melakukan
pengembangan sistem secara umum dirancang dengan alur sebagai berikut :
Mulai
Input image
Treshold image
Marker deteksi
Pose dan estimasi
Overlay image Pemeriksaan Event Keyboard Keluar? Mulai ya tidak