Menambahkan dimensi ke gambar

Panduan khusus platform

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

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

Saat runtime, ARCore menelusuri fitur ini pada platform datar di lingkungan pengguna. Hal ini memungkinkan ARCore mendeteksi gambar ini di dunia nyata dan memperkirakan posisi, orientasi, serta 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 satu waktu tertentu.

Gambar dapat ditambahkan ke database Gambar Augmented saat runtime, hingga batas 1.000 gambar per database. Anda dapat mengunduh {i>database<i} yang telah dibuat sebelumnya menggunakan koneksi jaringan.

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

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

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

ARCore dapat merespons dan melacak gambar yang:

  • Gambar yang diletakkan pada tempatnya, seperti cetakan yang tergantung di dinding atau majalah di atas meja

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

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

Setelah gambar terdeteksi, ARCore akan terus "melacak" posisi dan orientasi gambar, bahkan saat gambar sementara waktu keluar dari tampilan kamera karena pengguna telah memindahkan perangkatnya. Jika ini terjadi, ARCore mengasumsikan bahwa posisi dan orientasi gambar bersifat statis, dan gambar tidak bergerak melalui lingkungan.

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

Persyaratan

Gambar harus::

  • Mengisi setidaknya 25% dari bingkai kamera yang akan pertama terdeteksi.

  • Pastikan posisi datar (misalnya, tidak kusut atau melilit botol).

  • Pastikan kamera terlihat jelas. Foto tidak boleh terhalang sebagian, dilihat pada sudut yang sangat miring, atau dilihat saat kamera bergerak terlalu cepat karena gerakan yang buram.

Pertimbangan performa dan pemakaian CPU

Bergantung pada fitur ARCore yang sudah diaktifkan, mengaktifkan Gambar Augmented dapat meningkatkan penggunaan CPU ARCore. Pertimbangkan untuk menonaktifkan fitur yang tidak digunakan saat pengalaman AR 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 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 berwarna dan 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 (mis. kode batang, kode QR, logo, dan gambar garis lain) karena hal ini akan menghasilkan performa deteksi dan pelacakan yang buruk.
  • Hindari gambar dengan pola berulang karena hal ini juga dapat menyebabkan masalah pada deteksi dan pelacakan.
  • Gunakan alat arcoreimg yang disertakan dalam ARCore SDK untuk mendapatkan skor kualitas antara 0 dan 100 untuk setiap gambar. Kami merekomendasikan skor kualitas minimal 75. Berikut ini dua contohnya:

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

Tips untuk membuat database gambar

  • Gunakan alat arcoreimg untuk Android guna membuat file database gambar. Alat ini hanya tersedia untuk pengembangan Android dan Android NDK. Library ini dibangun ke dalam Unity SDK dan plugin ARCore Unreal.
  • Database menyimpan representasi terkompresi dari fitur yang diekstrak dari data hitam putih pada gambar referensi. Setiap entri gambar menempatkan sekitar 6 KB.
  • Perlu waktu sekitar 30 milidetik untuk menambahkan gambar ke database saat runtime.
    • Menambahkan 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 yang besar (lebih dari 75 cm).
  • Hindari menyimpan banyak gambar yang tidak digunakan dalam database karena ada sedikit dampak pada performa sistem akibat peningkatan penggunaan CPU.

Tips untuk mengoptimalkan pelacakan

  • Jika gambar Anda tidak akan pernah berpindah dari posisi awalnya (misalnya, poster yang ditempel ke dinding), Anda dapat memasang anchor ke gambar untuk meningkatkan stabilitas pelacakan.
  • Gambar fisik harus menempati setidaknya 25% gambar kamera untuk deteksi awal. Anda dapat meminta pengguna agar sesuai dengan gambar fisik dalam bingkai kamera mereka.
  • Jangan gunakan estimasi pose dan ukuran gambar sampai status pelacakan gambar dilacak penuh. Saat gambar pertama kali 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.