Menambahkan dimensi ke gambar

Panduan khusus platform

Augmented Images API di ARCore memungkinkan Anda mem-build aplikasi AR yang dapat mendeteksi dan mengagregasi gambar 2D di lingkungan pengguna, seperti poster atau kemasan produk.

Anda memberikan serangkaian gambar referensi. ARCore menggunakan algoritma computer vision untuk mengekstrak fitur dari informasi hitam putih di setiap gambar, dan menyimpan representasi fitur ini di satu atau beberapa database Gambar Augmented.

Pada saat runtime, ARCore akan menelusuri fitur-fitur ini pada platform datar di lingkungan pengguna. Hal ini memungkinkan ARCore mendeteksi gambar ini di dunia dan memperkirakan posisi, orientasi, dan ukurannya jika tidak disediakan.

Kemampuan

ARCore dapat melacak hingga 20 gambar secara bersamaan. ARCore tidak akan mendeteksi atau melacak beberapa instance dari gambar yang sama secara bersamaan.

Setiap database Gambar Augmented dapat menyimpan informasi hingga 1.000 gambar referensi. Tidak ada batasan jumlah database, tetapi hanya satu database yang dapat aktif pada waktu tertentu.

Gambar dapat ditambahkan ke database Gambar Augmented saat runtime, hingga batas 1.000 gambar per database. Anda dapat mendownload database yang dibuat sebelumnya menggunakan koneksi jaringan.

Saat menambahkan gambar, Anda dapat memberikan ukuran fisik gambar yang akan dideteksi. Tindakan ini akan meningkatkan performa deteksi gambar.

  • Jika tidak ada ukuran fisik yang diberikan, ARCore akan memperkirakan ukuran dan meningkatkan estimasi ini dari waktu ke waktu.

  • Jika ukuran fisik diberikan, ARCore menggunakan ukuran yang disediakan dan memperkirakan posisi dan orientasi gambar, mengabaikan perbedaan antara ukuran yang terlihat atau sebenarnya dan ukuran fisik yang diberikan.

ARCore dapat merespons dan melacak gambar yang:

  • Gambar yang terpasang di tempat, seperti cetakan yang tergantung di dinding atau majalah di atas meja

  • Gambar bergerak, seperti iklan di bus yang lewat atau gambar di objek datar yang dipegang oleh pengguna saat mereka menggerakkan tangan.

Setelah ARCore mulai melacak gambar, ARCore akan memberikan estimasi untuk posisi dan orientasi gambar di setiap frame. ARCore terus meningkatkan estimasi ini saat mengumpulkan lebih banyak data.

Setelah gambar terdeteksi, ARCore akan terus "melacak" posisi dan orientasi gambar, meskipun gambar sementara keluar dari tampilan kamera karena pengguna telah memindahkan perangkatnya. Jika hal ini terjadi, ARCore mengasumsikan bahwa posisi dan orientasi gambar bersifat statis, dan bahwa gambar itu sendiri tidak bergerak di lingkungan.

Semua pelacakan terjadi di perangkat. Tidak diperlukan koneksi internet untuk mendeteksi dan melacak gambar.

Persyaratan

Gambar harus:

  • Isi setidaknya 25% bingkai kamera agar terdeteksi pada awalnya.

  • Ratakan (misalnya, tidak berkerut atau terbungkus botol).

  • Terlihat jelas di kamera. Objek tidak boleh terhalang sebagian, dilihat dari sudut yang sangat miring, atau dilihat saat kamera bergerak terlalu cepat karena buram gerakan.

Pertimbangan pemakaian dan performa CPU

Bergantung pada fitur ARCore yang sudah diaktifkan, mengaktifkan Augmented Images dapat meningkatkan penggunaan CPU ARCore. Pertimbangkan untuk menonaktifkan fitur yang tidak digunakan selama pengalaman AR Anda tidak memerlukannya. Tindakan ini akan membuat siklus CPU tambahan tersedia untuk aplikasi Anda, serta meningkatkan performa termal dan masa pakai baterai.

Untuk informasi tambahan, lihat pertimbangan performa.

Praktik terbaik

Tips untuk memilih gambar referensi

  • Resolusi gambar harus minimal 300 x 300 piksel. Menggunakan gambar dengan resolusi tinggi tidak meningkatkan performa.
  • Gambar referensi dapat diberikan dalam format file PNG atau JPEG.
  • Informasi warna tidak digunakan. Gambar warna dan gambar hitam putih yang setara dapat digunakan sebagai gambar referensi atau oleh pengguna saat runtime.
  • Hindari gambar dengan kompresi berat karena hal ini akan mengganggu ekstraksi fitur.
  • Hindari gambar yang berisi fitur geometris dalam jumlah besar, atau fitur yang sangat sedikit (misalnya, kode batang, kode QR, logo, dan gambar garis lainnya) karena akan menyebabkan performa deteksi dan pelacakan yang buruk.
  • Hindari gambar dengan pola berulang karena hal ini juga dapat menyebabkan masalah deteksi dan pelacakan.
  • Gunakan alat arcoreimg yang disertakan dalam ARCore SDK untuk mendapatkan skor kualitas antara 0 dan 100 untuk setiap gambar. Sebaiknya skor kualitas minimal 75. Berikut ini dua contoh:

    Contoh gambar 1 Contoh gambar 2
    Skor: 0 Skor: 100
    berisi fitur geometris berulang resolusi yang memadai; berisi banyak fitur unik

Tips untuk membuat database gambar

  • Gunakan alat arcoreimg untuk Android untuk membuat file database gambar. Alat ini hanya tersedia untuk pengembangan Android dan Android NDK. Plugin ini terintegrasi dengan Unity SDK dan plugin ARCore Unreal.
  • Database menyimpan representasi fitur yang dikompresi dan diekstrak dari data hitam putih dalam gambar referensi. Setiap entri gambar menggunakan sekitar 6 KB.
  • Perlu waktu sekitar 30 milidetik untuk menambahkan gambar ke database saat runtime.
    • Tambahkan gambar pada thread pekerja untuk menghindari pemblokiran UI thread.
    • Atau, jika memungkinkan, tambahkan gambar pada waktu kompilasi menggunakan alat arcoreimg yang disertakan dalam ARCore SDK.
  • Jika Anda mengetahui ukuran fisik yang diharapkan dari sebuah gambar, tentukan ukuran tersebut. Informasi ini meningkatkan performa deteksi dan pelacakan, terutama untuk gambar fisik besar (lebih dari 75 cm).
  • Hindari menyimpan banyak gambar yang tidak digunakan dalam database karena ada sedikit dampak pada performa sistem karena peningkatan penggunaan CPU.

Tips untuk mengoptimalkan pelacakan

  • Jika gambar tidak akan pernah berpindah dari posisi awalnya (misalnya, poster yang ditempelkan ke dinding), Anda dapat memasang anchor ke gambar untuk meningkatkan stabilitas pelacakan.
  • Gambar fisik harus menempati minimal 25% gambar kamera untuk deteksi awal. Anda dapat meminta pengguna untuk menyesuaikan gambar fisik di bingkai kamera mereka.
  • Jangan gunakan estimasi pose dan ukuran gambar hingga status pelacakan gambar adalah pelacakan penuh. Saat gambar awalnya terdeteksi oleh ARCore, dan tidak ada ukuran fisik yang diharapkan yang ditentukan, status pelacakannya akan dijeda. Ini berarti ARCore telah mengenali gambar, tetapi belum mengumpulkan cukup data untuk memperkirakan lokasinya dalam ruang 3D.