Panduan khusus platform
Android (Kotlin/Java)
Android NDK (C)
Unity (AR Foundation)
Unreal Engine
API Gambar Augmented di ARCore memungkinkan Anda membuat aplikasi AR yang dapat mendeteksi dan mengaugmentasi 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 skala abu-abu di setiap gambar, dan menyimpan representasi fitur ini dalam satu atau beberapa database Gambar Augmented.
Saat runtime, ARCore menelusuri fitur ini di permukaan datar di lingkungan pengguna. Hal ini memungkinkan ARCore mendeteksi gambar ini di dunia dan memperkirakan posisi, orientasi, dan ukurannya jika tidak ada yang diberikan.
Kemampuan
ARCore dapat melacak hingga 20 gambar secara bersamaan. ARCore tidak akan mendeteksi atau melacak beberapa instance gambar yang sama secara bersamaan.
Setiap database Gambar Augmentasi 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 menyempurnakan perkiraan ini seiring waktu.
Jika ukuran fisik diberikan, ARCore akan menggunakan ukuran yang diberikan dan memperkirakan posisi dan orientasi gambar, dengan mengabaikan perbedaan antara ukuran nyata atau sebenarnya dan ukuran fisik yang diberikan.
ARCore dapat merespons dan melacak gambar yang:
Gambar yang dipasang di tempatnya, seperti cetakan yang digantung di dinding atau majalah di atas meja
Gambar bergerak, seperti iklan di bus yang lewat atau gambar pada objek datar yang dipegang pengguna saat mereka menggerakkan tangan.
Setelah ARCore mulai melacak gambar, ARCore akan memberikan estimasi posisi dan orientasi gambar setiap frame. ARCore terus menyempurnakan estimasi ini saat mengumpulkan lebih banyak data.
Setelah gambar terdeteksi, ARCore akan terus "melacak" posisi dan orientasi gambar, meskipun gambar tersebut untuk sementara keluar dari tampilan kamera karena pengguna telah memindahkan perangkatnya. Saat hal ini terjadi, ARCore mengasumsikan bahwa posisi dan orientasi gambar bersifat statis, dan gambar itu sendiri tidak bergerak di lingkungan.
Semua pelacakan dilakukan di perangkat. Koneksi internet tidak diperlukan untuk mendeteksi dan melacak gambar.
Persyaratan
Gambar harus:
Isi minimal 25% frame kamera agar dapat terdeteksi pada awalnya.
Datar (misalnya, tidak kusut atau dililitkan di botol).
Terlihat jelas di kamera. Gambar tidak boleh tertutup sebagian, dilihat pada sudut yang sangat miring, atau dilihat saat kamera bergerak terlalu cepat karena buram gerakan.
Pertimbangan performa dan pemakaian CPU
Bergantung pada fitur ARCore yang sudah diaktifkan, mengaktifkan Gambar Augmented dapat meningkatkan pemakaian CPU ARCore. Pertimbangkan untuk menonaktifkan fitur yang tidak digunakan saat pengalaman AR Anda tidak memerlukannya. Tindakan ini akan membuat siklus CPU tambahan tersedia untuk aplikasi Anda, serta meningkatkan performa termal dan daya tahan baterai.
Untuk informasi tambahan, lihat pertimbangan performa.
Praktik terbaik
Tips untuk memilih gambar referensi
- Resolusi gambar harus minimal 300 x 300 piksel. Menggunakan gambar beresolusi tinggi tidak meningkatkan performa.
- Gambar referensi dapat diberikan dalam format file PNG atau JPEG.
- Informasi warna tidak digunakan. Gambar berwarna dan gambar skala abu-abu yang setara dapat digunakan sebagai gambar referensi atau oleh pengguna saat runtime.
- Hindari gambar dengan kompresi berat karena hal ini mengganggu ekstraksi fitur.
- Hindari gambar yang berisi banyak fitur geometris, atau sangat sedikit fitur (misalnya kode batang, kode QR, logo, dan seni garis lainnya) 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
arcoreimgyang disertakan dalam ARCore SDK untuk mendapatkan skor kualitas antara0dan100untuk setiap gambar. Sebaiknya gunakan skor kualitas minimal 75. Berikut ini dua contoh:Contoh gambar 1 Contoh gambar 2 

Skor: 0Skor: 100berisi fitur geometris 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. Fitur ini disertakan dalam Unity SDK dan plugin ARCore Unreal.
- Database menyimpan representasi terkompresi dari fitur yang diekstrak dari data skala abu-abu dalam gambar referensi. Setiap entri gambar menempati sekitar 6 KB.
- Diperlukan waktu sekitar 30 md untuk menambahkan gambar ke database saat runtime.
- Tambahkan gambar di thread pekerja untuk menghindari pemblokiran thread UI.
- Atau, jika memungkinkan, tambahkan gambar pada waktu kompilasi menggunakan alat
arcoreimgyang 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 berukuran 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 Anda tidak akan pernah berpindah dari posisi awalnya (misalnya, poster yang ditempel di dinding), Anda dapat melampirkan anchor ke gambar untuk meningkatkan stabilitas pelacakan.
- Gambar fisik harus menempati setidaknya 25% dari gambar kamera untuk deteksi awal. Anda dapat meminta pengguna untuk menyesuaikan gambar fisik dalam bingkai kamera mereka.
- Jangan gunakan perkiraan pose dan ukuran gambar hingga status pelacakan gambar adalah pelacakan penuh. Saat gambar awalnya terdeteksi oleh ARCore, dan tidak ada ukuran fisik yang diharapkan ditentukan, status pelacakannya akan dijeda. Artinya, ARCore telah mengenali gambar, tetapi belum mengumpulkan cukup data untuk memperkirakan lokasinya dalam ruang 3D.