JURNAL TEKNIK POMITS Vol. 2, No. 1, (2013) ISSN: 2337-3539 (2301-9271 Print)
1
Implementasi Augmented Reality pada Aplikasi Mobile Pencarian Produk Berbasis Gambar M Misbachul Huda dan Ary Mazharuddin Shiddiqi Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember (ITS) Jl. Arief Rahman Hakim, Surabaya 60111 Indonesia e-mail:
[email protected]
Abstrak—Saat ini banyak ragam produk yang tersedia di lingkungan masyarakat. Dari banyak ragam produk yang beredar, banyak produk yang namanya tidak diketahui seseorang. Permasalahan yang muncul adalah ketika seseorang tidak mengetahui nama suatu produk namun ingin mencari produk tersebut di internet. Permasalahan selanjutnya adalah navigasi pencarian toko. Navigasi pencarian toko menggunakan peta masih dianggap susah untuk digunakan oleh beberapa orang didaerah tertentu. Untuk menyelesaikan permasalahan tersebut, dibangun sebuah aplikasi pencarian produk berbasis gambar yang dibangun dengan teknik Content-Based Image Retrieval (CBIR) menggunakan algoritma Speed-Up Robush Feature (SURF). Hasil pencarian adalah data deskripsi produk dan penjual produk. Lokasi penjual produk divisualisasikan menggunakan Augmented Reality (AR) berbasis lokasi. Untuk meningkatkan akurasi pengambilan lokasi pada AR, digunakan perangkat yang mendukung GLONASS dan GPS. Dari hasil pengujian, teknologi AR berhasil diimplementasikan dengan menggunakan sudut inklikasi dan azimut, sedangkan untuk pencarian produk berbasis gambar menggunakan algoritma SURF dengan akurasi 94,18%. Kata Kunci—Augmented reality, CBIR, GLONASS, Parallel computing.
I. PENDAHULUAN
P
ENINGKATAN ragam jenis produk mempengaruhi keinginan manusia untuk mencari produk. Keinginan untuk mencari suatu produk dapat muncul karena melihat suatu produk dimiliki oleh orang lain atau pun karena mempunyai produk sama yang telah rusak dan ingin membeli kembali. Ketika seseorang ingin membeli produk dan dia tidak mengetahui nama produk tersebut, maka dia dapat membawa secara langsung contoh produk ke toko yang dituju. Tetapi masalah akan timbul jika seseorang ingin mencari produk yang tidak mereka ketahui namanya di suatu website. Oleh karena itu dibutuhkan sebuah sistem yang dapat menerima masukan gambar produk untuk pencarian serta menghasilkan informasi dari produk yang ingin dicari. Permasalahan selanjutnya adalah mengenai visual dari lokasi toko yang menjual dari suatu produk. Metode yang modern untuk mencari posisi berdasarkan alamat adalah aplikasi berbasis lokasi. Dengan metode ini aplikasi akan menampilkan informasi dalam bentuk peta digital disertai dengan gambar jalan dan pencarian rute secara lengkap. Hanya saja ada beberapa orang yang masih awam terhadap lokasi yang dicari akan merasa kebingungan terhadap informasi dalam peta karena kurangnya pengetahuan
terhadap daerah tersebut. Salah satu solusi untuk mengatasi masalah tersebut adalah Augmented Reality (AR). AR merupakan teknologi yang menggabungkan objek virtual dengan dunia nyata ke dalam sebuah lingkungan nyata yang diproyeksikan secara realtime. Benda-benda maya ditampilkan sebagai sebuah label ataupun sebuah objek virtual yang hanya dapat dilihat dari kamera ataupun komputer. Sistem dalam AR bekerja dengan menganaliasa secara realtime objek yang ditangkap dalam kamera. Berkat perkembangan pesat teknologi telepon pintar, AR bisa disinkronisasikan dengan penyajian data dari sensor kompas, akselerometer, dan GPS untuk menghasilkan penyajian data yang mudah digunakan oleh semua orang. Artikel ini membahas tentang implementasi pencarian produk berbasis gambar serta navigasi pencarian toko menggunakan AR berbasis lokasi. II. TINJAUAN PUSTAKA Bab ini berisi penjelasan teori-teori penunjang yang berkaitan dengan pembangunan perangkat lunak. A. Augmented Reality AR merupakan pengembangan dari virtual environment atau Realitas Virtual (RV). RV akan membawa pengguna dalam lingkungan virtual sehingga pengguna tidak akan melihat objek nyata disekelilingnya. Sebaliknya, AR memungkinkan pengguna untuk melihat objek nyata dengan objek virtual yang ditumpangkan pada lingkungan yang nyata[1]. Saat ini terdapat dua jenis AR. Yang pertama adalah AR berbasis objek. AR ini akan menggantikan sebuah penanda yang ada pada lingkungan nyata menjadi sebuah objek pada lingkungan AR. Yang kedua adalah AR berbasis lokasi. AR jenis ini akan menampilkan penanda pada lingkungan AR untuk menunjukkan arah dari lokasi yang didefinisikan. B. Content-Based Image Retrieval Content-Based Image Retrieval (CBIR) merupakan sebuah teknologi yang mampu menggali informasi dari suatu citra digital. Dengan pengembangan teknologi pengolahan citra digital yang ada saat ini, maka akan sangat penting untuk mencari citra dari kumpulan citra yang besar. Umumnya CBIR dibagi menjadi tiga kategori, yaitu: text-base, content-based, dan semantic-based. Dalam kehidupan sehari-hari umumnya orang-orang menggunakan mesin pencari seperti Google dan Bing yang mana menggunakan kata kunci berupa teks[2].
JURNAL TEKNIK POMITS Vol. 2, No. 1, (2013) ISSN: 2337-3539 (2301-9271 Print)
2
Gambar 1. Contoh pendeteksian keypoint dari algoritma SURF
Salah satu algoritma yang dapat digunakan untuk membangun CBIR adalah SURF. C. Speeded-Up Robust Features Speeded-Up Robust Features (SURF) merupakan sebuah algoritma yang digunakan untuk menghasilkan keypoint dari sebuah citra digital seperti yang terlihat pada Gambar 1. Keypoint adalah titik-titik dari sebuah citra yag nilainya tetap ketika mengalami perubahan skala, rotasi, pengaburan, warna, pencahayaan dan bentuk. Perubahaan bentuk ini dapat terjadi karena gambar tidak utuh atau tertutup benda lain. Algoritma ini didasarkan pada kerangka SURF dari hasil disertasi Herbert Bay[3]. Tahapan pada algoritma SURF adalah sebagai berikut: 1. Interest Point Detection Tahap ini adalah mendeteksi keypoint yang dianggap valid. Parameter valid adalah jika determinasi dari keypoint yang dideteksi memenuhi nilai threshold yang ditentukan. 2. Interest Point Descriptor Tujuan dari tahap ini adalah untuk membantuk deskriptor yang invarian terhadap perubahan sudut pandang yang didasarkan pada tetangga dari keypoint. Deskriptor yang dihasilkan berupa 64 bilangan cacah. 3. Feature Matching Tahap terakhir adalah pencocokan fitur. Dua buah citra dapat dicocokan berdasarkan fitur yang dimiliki. Fitur dari algoritma SURF adalah deskriptor. Pencocokan dilakukan dengan menggunakan jarak Euclidian. D. Representational State Transfer Service Representational State Transfer (REST) adalah sebuah pendekatan arsitetur pada komunikasi berorientasi layanan. Teknologi ini menggunakan operasi HTTP (PUT, POST, GET, dan DELETE) untuk mengakses sumber daya dengan mengaplikasikan kebenaran semantik. Sumber daya adalah segala informasi yang dapat dijadikan acuan oleh sebuah Uniform Resource Identifier (URI) seperti sebuah dokumen, gambar atau layanan prakiraan cuaca [4]. E. GLONASS GLONASS merupakan sebuah sistem navigasi satelit yang dibangun oleh pemerintah Rusia. Saat ini GLONASS memiliki 24 satelit aktif. Namun GLONASS tidak sepopuler GPS, perangkat GLONASS-Only yang dikembangkan sangat terbatas. Salah satu perbedaan GLONASS dan GPS adalah Pseudo Random Number (PRN) yang bernilai lebih dari 65.
Gambar 2 Perbandingan Akurasi antara GPS dengan GPS+GLONASS [5]
Teknologi saat ini memungkinkan untuk mengombinasikan dua sistem navigasi satelit. Dengan memadukan GPS dan GLONASS, total satelit yang tersedia adalah 55 satelit. Sesuai dengan teori triangulasi maka tingkat keakuratan dari perpaduan ini akan bertambah 50% seperti yang ditunjukkan pada Gambar 2 [5]. Pada Gambar 2, perangkat yang mendukung GPS saja mempunyai deviasi kesalahan yang tinggi dari muka jalan sebenarnya dibandingkan dengan perangkat yang mengombinasikan GPS dan GLONASS. Saat ini kombinasi ini sudah diimplementasikan pada perangkat bergerak F. Parallel Computing Parallel computing didefinisikan sebagai penggunaan lebih dari satu prosesor secara bersamaan untuk mengeksekusi sebuah program. Berbeda dengan serial computing, pada parallel computing sebuah persoalan dipecah menjadi beberapa bagian kemudian diproses pada saat yang bersamaan. Menurut Peter Pacheco [6], parallel computing adalah sebuah program dengan multiple task yang berkooperasi untuk memecahkan masalah. III. ANALISIS DAN PERANCANGAN SISTEM Bab ini berisi penjelasan umum perangkat lunak dan perancangan dalam pembangunan perangkat lunak. A. Deskripsi Umum Sistem Awalnya telepon pintar akan menangkap gambar suatu produk. Kemudian aplikasi akan mengirim gambar tersebut ke layanan web REST. Layanan web REST akan menggali informasi dari gambar tersebut dengan data gambar yang terdapat pada basis data NoSQL dengan menggunakan algoritma SURF. Penggalian informasi ini menggunakan proses pencocokan gambar. Proses pencocokan akan mendapatkan data berupa nama produk, lokasi penjual dan keterangan lain. Data ini akan dikembalikan kepada telepon pintar. Data kembalian dari server disimpan ke dalam basis data internal telepon pintar. Hal ini dilakukan untuk menghindari penggunaan memori pada telepon pintar secara terus menerus. Dengan penggunaan GPS, kompas dan akselerometer, presentasi lokasi penjual produk akan
JURNAL TEKNIK POMITS Vol. 2, No. 1, (2013) ISSN: 2337-3539 (2301-9271 Print)
3
Gambar 3 Arsitektur aplikasi server
ditampilkan menggunakan teknologi AR berbasis lokasi. Selain AR terdapat juga presentasi berupa peta digital. Peta digital digunakan untuk mengetahui jalur terpendek dari lokasi pengguna menuju lokasi penjual produk. Peta digital yang digunakan bersumber pada peta digital Google Maps. B. Arsitektur Sistem Arsitektur aplikasi yang dibangun merupakan arsitektur aplikasi client-server. Rancangan aplikasi server dapat dilihat pada Gambar 3, sedangkan rancangan aplikasi client dapat dilihat pada Gambar 4. Aplikasi server terdiri dari empat bagian utama. Empat bagian tersebut adalah sebagai berikut. 1. Web App Web App merupakan bagian dari aplikasi yang digunakan untuk memasukkan data produk oleh penjual. Data produk yang dimasukkan berupa informasi produk dan gambar produk. Web App merupakan antarmuka penjual terhadap sistem. Bagian ini dibangun dengan menggunakan kerangka kerja ASP.NET.
Gambar 4. Arsitektur aplikasi client
2. Data Access Layer Modul ini bertugas untuk menyimpan dan menyediakan data yang disimpan pada basis data internal telepon pintar. 3. Modul Netwok Control. Modul yang bertugas untuk menghubungkan aplikasi dengan internet melalui layanan web. Semua transaksi data utama antara aplikasi client dan aplikasi server akan melalui modul ini. 4. Modul AR. Modul ini dibuat untuk memenuhi kebutuhan dari fitur AR yang dibutuhkan. Modul ini akan membutuhkan akses ke perangkat keras berupa akselerometer, kamera, kompas dan GPS/GLONASS. 5. Modul modul Google Maps Sebuah modul yang dirancang untuk mendapatkan jalur terpendek antara pengguna dan toko. Modul ini membutuhkan beberapa modul lain Network Control, Helper untuk GPS, dan Data Access Layer.
2. Web Service Web Service merupakan antarmuka aplikasi server terhadap aplikasi client. Web Service dibangun dengan menggunakan teknologi REST. Layanan yang disediakan pada Web Service adalah pencocokan produk.
Bab ini berisi hasil pengujian yang dilakukan pada perangkat lunak.
3. Image Retrieval Engine Image Retrieval Engine merupakan sebuah modul yang digunakan untuk melakukan pencocokan gambar acuan dengan gambar yang ada pada basis data. Pencocokan gambar dilakukan dengan algoritma SURF sedangkan model pencocokan dilakukan dengan menggunakan parallel computing.
A. Fungsional Augmented Reality Augmented reality diimplementasikan dengan menggunakan sudut azimut dan inklinasi. Sedangkan pengujian dilakukan dengan menggerakkan perangkat kearah vertikal dan horisontal. Hal ini sesuai dengan pembuatan AR yang menerapkan sudut inklinasi dan azimut. Hasil pengujian AR dapat dilihat pada Gambar 5-7.
4. Data Access Layer Data Access Layer merupakan modul yang menangani masalah data pada aplikasi server. Segala transaksi data yang melibatkan basis data akan ditangani oleh modul ini. Aplikasi client terdiri dari lima bagian utama. Bagian tersebut adalah sebagai berikut:
B. Akurasi Pencarian Produk Pada pengujian ini dilakukan menggunakan 17 contoh masukan gambar. Sedangkan produk yang ada pada basis data berjumlah 30. Hasil pengujian dapat dilihat pada Tabel 1. Hasil penghitungan persentase kebenaran yang dihitung menggunakan (1).
1. Helper Modul ini merupakan representasi dari kebutuhan perangkat keras yang harus dimiliki telepon pintar. Kebutuhan tersebut terdiri dari akselerometer, kamera, kompas dan GPS/GLONASS.
IV. HASIL DAN DISKUSI
x = (n - i)*(100/(n-1)) x = persentase kebenaran n = jumlah data pada basis data i = nomer urut pada luaran yang dihasilkan pencarian
(1)
JURNAL TEKNIK POMITS Vol. 2, No. 1, (2013) ISSN: 2337-3539 (2301-9271 Print)
Gambar 5. Hasil pengujian AR yang sejajar dengan tanah
Tabel 1. Hasil pengujian akurasi pencarian gambar Nomer No Nama Produk Urutan 1 Arduino Uno 1 2 Xbee 1 3 Edensor 1 4 Maryamah Karpov 5 5 Sang Pemimpi 1 6 Digital IR Receiver Modul 1 Montblanc Couple Date Black 7 2 Leather 8 Aigner Genua due 1 9 Davinci Code 5 10 Rasberry Pi 8 11 Harry Potter dan Relikui Kematian 2 Harry Potter dan Pangeran Berdarah12 5 Campuran 13 Aku 2 14 Harry Potter dan Batu Bertuah 3 15 Harry Potter dan Tawanan Azkaban 2 16 Harry Potter dan Kamar Rahasia 5 17 Laskar Pelangi 1 Rata-rata
4
Kebenaran (%) 100 100 100 86,20 100 100 96,55 100 86,20 75,86 96,55 86,20 96,55 93,10 96,55 86,20 100 94,18
Gambar 6. Hasil pengujian AR yang sejajar dengan arah kebawah
Gambar 8. Hasil pengujian waktu eksekusi parallel computing
Gambar 7. Hasil pengujian AR yang sejajar dengan arah keatas
C. Pengujian waktu eksekusi Parallel Computing Pengujian ini dilakukan menggunakan spesifikasi komputer server sebagai berikut. • Prosesor Intel Core i3 1.4GHz. • Memori primer 4 GB. • Sistem operasi Windows 7 Ultimate x86. Jumlah produk yang terdapat pada basis data adalah 30 buah, sedangkan gambar produk yang ingin dicari mempunyai jumlah deskriptor yang beragam. Hasil pengujian pada Gambar 8 menunjukkan bahwa penggunaan parallel computing pada aplikasi pencarian produk mempunyai kecepatan rata-rata 4,65 detik lebih cepat dibandingkan dengan serial computing. D. Pengujian Akurasi Pengambilan Lokasi Pengguna Menggunakan GPS dan GLONASS Pengujian akurasi pengambilan lokasi pengguna menggunakan GPS dan GLONASS dilakukan untuk mengetahui akurasi pengambilan posisi pada aplikasi.
Pengujian dilakukan dengan telepon pintar yang mendukung GPS dan telepon pintar yang mendukung GPS dan GLONASS. Spesifikasi telepon pintar yang digunakan adalah sebagai berikut. • Perangkat GPS, Sony Xperia Ray dengan prosesor 1GHz, sistem operasi Android 4.1.2, memori primer 512 MB, dengan fitur GPS dan A-GPS. • Perangkat GPS dan GLONASS, Sony Xperia SL dengan prosesor dual-core 1.4 GHz, sistem operasi Android 4.1.2, memori primer 1 GB, dengan fitur GPS, GLONASS dan AGPS. Hasil pengujian yang dilakukan menggunakan telepon pintar yang mendukung GPS dapat dilihat pada Tabel 2, sedangan hasil pengujian yang menggunakan telepon pintar yang mendukung GPS dan GLONASS dapat dilihat pada Tabel 3. Hasil pengujian didapatkan bahwa akurasi telepon pintar yang mendukung GPS dan GLONASS lebih baik dibandingkan dengan telepon pintar yang mendukung GPS saja. Dari hasil pengujian didapat bahwa telepon pintar yang mendukung GPS menghasilkan deviasi kesalahan sebesar 118,556 kaki, sedangkan telepon pintar yang mendukung GPS dan GLONASS memiliki deviasi kesalahan sebesar 12,889 kaki.
JURNAL TEKNIK POMITS Vol. 2, No. 1, (2013) ISSN: 2337-3539 (2301-9271 Print) Tabel 2. Hasil pengujian akurasi pengambilan lokasi menggunakan perangkat GPS Telepon Pintar GPS Lokasi Satelit in sky Satelit in fix Akurasi(kaki) Kampus Teknik 6 6 Informatika 141 Nasdeq 7 7 72 Robotika 7 7 58 Bunderan Kapal 9 9 52 Halte Pens 6 6 102 Sudut Graha 7 7 62 Bunderan ITS 7 7 112 Kampus Teknik 10 10 Lingkungan 20 Rektorat 5 5 448 Rata-rata 7,1111 7,1111 118,5556 Tabel 3. Hasil pengujian akurasi pengambilan lokasi menggunakan perangkat GPS dan GLONASS Telepon Pintar GPS dan GLONASS Lokasi Satelit Satelit in sky Akurasi(kaki) in fix Kampus Teknik Informatika 21 14 10 Nasdeq 11 9 23 Robotika 11 9 23 Bunderan Kapal 13 13 10 Halte Pens 17 10 10 Sudut Graha 12 10 10 Bunderan ITS 13 10 10 Kampus Teknik Lingkungan 13 10 10 Rektorat 18 10 10 Rata-rata 14,3333 10,55 12,889
V. KESIMPULAN/RINGKASAN Dari penelitian yang telah dilakukan, diperoleh beberapa kesimpulan sebagai berikut: 1. Aplikasi mobile pencarian produk berbasis gambar telah diimplementasikan dan bisa digunakan untuk mencari produk berdasarkan kemiripan gambar dan bisa menampilkan posisi penjual produk dalam bentuk navigasi AR. 2. Berdasarkan hasil pengujian, sistem dapat melakukan pencarian produk berbasis gambar dengan akurasi 94,18% menggunakan algoritma SURF. 3. Pada fitur AR, penggunaan telepon pintar yang mendukung GPS dan GLONASS mempunyai akurasi penentuan posisi yang lebih baik dibanding dengan telepon pintar yang hanya mendukung GPS saja. 4. Augmented reality berhasil diimplementasikan dengan menggunakan sudut inklinasi dan azimut antara lokasi pengguna dengan lokasi toko. 5. Penggunaan parallel computing pada aplikasi pencarian produk berbasis gambar mempunyai waktu eksekusi lebih cepat dibandingkan dengan menggunakan serial computing. UCAPAN TERIMA KASIH Penulis Misbach mengucapkan terima kasih kepada Allah SWT, kedua orang tua dan keluarga penulis, dosen pembimbing, sivitas akademika Teknik Informatika, kerabatkerabat dekat, serta berbagai pihak yang telah membantu penulis dalam menyelesaikan artikel ini.
5
DAFTAR PUSTAKA [1] R. T. Azuma, "A Survey of Augmented Reality," in ACM SIGGRAPH 1995, Los Angeles, 1997.
[2] H. L. Guang and Y. Y. Jing, "Content-based image retrieval using color difference histogram," Pattern Recognition, vol. 46, no. 1, pp. 188-198, 2013.
[3 ] K. Grigorios E and T. Georgios A, "Image based Monument Recognition using Graph based Visual," ELCVIA, vol. 12, no. 2, pp. 8897, 2013.
[4] M. Arroqui, C. Mateos, C. Machado and A. Zunino, "RESTful Web Services improve the efficiency of data transfer of a whole-farm simulator accessed by Android smartphones," Computers and Electronics in Agriculture, vol. 87, pp. 14-18, 2012.
[5] J. Padre, "GLONASS support in our latest Xperia™ phones," SONY , 19 Januari 2012. [Online]. Available: http://developer.sonymobile.com/2012/01/19/glonass-support-in-ourlatest-xperia-phones/. [Diakses 18 Juni 2013].
[6] P. S. Pacheco, An Introduction to Parallel Programming, T. Green, Ed., Burlington: Elsavier, 2011.