LANDMARK DETECTION: A Google API
Penulis: Anthony Pangestu
Dosen Pembimbing: Gede Putra Kusuma, PhD
1. introduction
Objek wisata biasanya berbentuk situs atau bangunan yang gampang dikenali dan terkenal, seperti monument, gereja, dll. Objek-objek wisata ini juga menjadi sebuah ikon dalam kunjungan para turis. Turis-turis tersebut mengabadikan kunjungan mereka dengan berfoto dengan objek tersebut yang kemudian diupload ke media sosial. Google memanfaatkan hal ini untuk membuat sebuah engine yang dapat mengenail objek-objek wisata.
Google bertujuan untuk menyediakan sebuah fasilitas dimana gambar-gambar digital dapat dicocokkan dengan objek wisata tertentu dengan deskripsi tertulis dari objek tersebut (misalnya nama dan lokasi) tanpa perlu menggunakan search engine konvensional.
Google menciptakan landmark recognition engine dengan mengumpulkan objek-objek yang sudah dikenali (misalnya Effiel Tower dan Acropolis) dan mencari gambar digital yang sudah ditag dengan lokasi GPS dari objek tersebut. Engine tersebut kemudian diajarkan untuk mengidentifikasi objek tertentu dengan mengumpulkan gambar-gambar berbeda dari objek yang sama (berbeda angle ataupun suasana).
2. objectives
Project ini bertujuan untuk membuat sebuah engine dengan kegunaan:
- Virtual tourism
Membuat sebuah aplikasi turis dengan mengumpulkan gambar-gambar dari sebuah lokasi dengan objek-objek wisata yang sudah ditandai. Dalam hal ini, landmark detection engine berguna dalam membangun sebuah metode wisata secara virtual.
- Content understanding
Landmark detection engine berkontribusi dalam mengembangkan metode pengenalan dari isi sebuah gambar.
- Geo-location detection
Selain isi dari gambar, lokasi dari gambar juga dapat dikenali oleh landmark detection engine.
- Tour guide recommendation
Engine ini juga dapat dikembangkan sebagai sebuah metode dalam memberikan rekomendasi wisata dan visualisasi sebelum turis mengunjungi objek-objek tersebut secara langsung.
3. how it works
Cara kerja dari engine ini dapat disimpulkan dengan flow seperti berikut:
Dari gambar-gambar yang sudah dikumpulkan, dibentuk cluster sesuai dengan geolocationnya dan kecocokan secara visual. Setiap cluster dimap ke sebuah landmark. Contohnya, sebuah cluster dapat terdiri dari banyak foto Statue of Liberty yang diambil dari angle yang berbeda-beda, dengan objek-objek lain pada background, atau dengan metadata yang dapat membantu mengidentifikasi landmark. Ketika sebuah cluster berhasil diidentifikasi, metadata yang mengandung informasi nama, Knowledge Graph, dan koordinat latitude/longitude dari landmark tersebut dibuat. Cluster yang tidak cocok dengan landmark nyata akan dibuang.
Query gambar baru yang masuk ke engine yang sudah dibuat akan dicocokkan dengan cluster yang sudah ditandai dengan informasi landmarknya dengan metode nearest neighbor. Sebuah nilai kecocokan akan dihitung, yang mana mencerminkan tingkat kemiripian visual dari query dengan gambar model yang paling sesuai. Jika nilai tersebut memenuhi batas tertentu, maka gambar dari query tersebut akan diidentifikasikan sebagai sebuah landmark. Dengan cara ini, engine ini dapat mendeteksi gambar walaupun diambil dari angle yang berbeda-beda.
Pencocokan visual dari gambar-gambar tersebut dilakukan dengan membandingkan local features dari masing-masing gambar. Local features ini terdiri dari dua bagian, yaitu interest points dan local descriptors nya. Interest point dapat dideteksi menggunakan metode Laplacian-of-Gaussian (LoG). Untuk local descriptor, digunakan sebuah metode yang mirip dengan SIFT, dimana 118 dimensi dari Gabor wavelet texture features pada local region dihitung. Principle Component Analysis (PCA) kemudian dilakukan untuk mengurangi dimensi fitur menjadi 40 sebagai efisiensi. Interest points yang cocok akan diverifikasi secara geometric dengan affine transformation. Output dari proses ini adalah nilai kecocokan dan region yang cocok yang ditentukan dari interest points yang cocok.
4. sample test
Gambar berikut bukan merupakan gambar dari Effiel Tower di Paris, melainkan sebuah imitasi dari Effiel Tower di Las Vegas. Landmark detection engine ini dapat mengenali gambar yang bahkan dapat menipu mata manusia.
Gambar dari Travis Fountain dapat dikenali walaupun diambil dari angle dan suasana yang berbeda (siang dan malam).
Objek wisata dari gambar random yang berupa selfie dengan banyak orang di backgroundnya juga dapat dikenali.
Contoh query dengan hasil informasi landmark:
5. conclusion
Landmark detection memberikan nilai akurasi yang cukup tinggi. Pada proses pengetesan, engine ini dapat mengidentifikasi secara benar dengan nilai akurasi 80.8%. Engine ini dikembangkan dengan sekitar 21 juta gambar sebagai dasar pembuatan model. Engine ini dapat mengidentifikasi 5312 objek wisata pada 1259 kota di 144 negara. Akses API ini dibuka secara umum sehingga banyak developer aplikasi yang memanfaatkan API ini dalam mengembangkan aplikasi mereka.