Menambahkan dimensi ke gambar

Panduan khusus platform

Augmented Images API di ARCore memungkinkan Anda membangun aplikasi AR yang dapat mendeteksi dan meningkatkan gambar 2D di lingkungan pengguna, seperti poster atau produk, 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 dari fitur-fitur ini dalam satu atau beberapa {i>database <i}Gambar Augmented.

Pada saat runtime, ARCore mencari fitur-fitur ini pada permukaan datar di antarmuka lingkungan fleksibel App Engine. Hal ini memungkinkan ARCore mendeteksi gambar ini di dunia nyata dan memperkirakan posisi, orientasi, dan ukurannya jika tidak disediakan.

Kemampuan

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

Tiap database Gambar Augmented dapat menyimpan informasi hingga 1.000 referensi gambar. Tidak ada batasan jumlah {i>database<i}, tetapi hanya satu {i>database<i} dapat aktif kapan saja.

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

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

  • Jika tidak ada ukuran fisik yang disediakan, ARCore memperkirakan ukurannya dan menyempurnakannya dari waktu ke waktu.

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

ARCore dapat merespons dan melacak gambar yang:

  • Gambar yang dipasang secara tetap di tempatnya, seperti cetakan foto yang digantung di dinding atau majalah di atas meja

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

Setelah ARCore mulai melacak gambar, ARCore memberikan perkiraan untuk posisi gambar serta orientasi setiap {i>frame<i}. ARCore terus menyempurnakan perkiraan ini seiring mengumpulkan lebih banyak data.

Setelah gambar terdeteksi, ARCore akan melanjutkan "pelacakan" posisi gambar dan orientasi, meskipun gambar untuk sementara keluar dari tampilan kamera karena pengguna telah memindahkan perangkatnya. Saat ini terjadi, ARCore mengasumsikan bahwa posisi dan orientasi gambar bersifat statis, dan bahwa gambar itu sendiri bergerak di sekitar lingkungan.

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

Persyaratan

Gambar harus:

  • Isi minimal 25% frame kamera untuk dideteksi saat pertama kali terdeteksi.

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

  • Terlihat jelas di kamera. Video tidak boleh terhalang sebagian, dilihat pada sudut yang sangat miring, atau terlihat saat kamera bergerak terlalu cepat karena pemburaman gerakan.

Pertimbangan pemakaian dan performa CPU

Tergantung pada fitur ARCore mana yang sudah diaktifkan, mengaktifkan Augmented Gambar dapat meningkatkan penggunaan CPU ARCore. Pertimbangkan untuk menonaktifkan aplikasi yang tidak digunakan fitur saat pengalaman AR Anda tidak memerlukannya. Hal ini akan menyediakan siklus CPU tambahan untuk aplikasi Anda, dan meningkatkan performa 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 hitam putih yang setara dan berwarna dapat digunakan sebagai gambar referensi atau oleh pengguna pada saat runtime.
  • Hindari gambar dengan kompresi berat karena ini mengganggu fitur ekstraksi data.
  • Hindari gambar yang berisi banyak fitur geometris, atau sangat sedikit fitur (misalnya kode batang, kode QR, logo, dan seni garis lainnya) sebagai 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 menyarankan skor kualitas sebesar 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

  • Menggunakan alat arcoreimg untuk Android untuk membuat file {i>database <i}gambar. Alat ini hanya tersedia untuk Android dan pengembangan Android NDK. Di-build di dalam Unity SDK dan ARCore Plugin unreal.
  • {i>Database<i} menyimpan representasi terkompresi dari fitur yang diekstrak dari data hitam putih dalam gambar referensi. Setiap entri gambar menempati 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 disertakan dalam ARCore SDK.
  • Jika Anda mengetahui ukuran fisik yang diharapkan dari sebuah gambar, tentukan ukuran tersebut. Ini informasi meningkatkan kinerja deteksi dan pelacakan, terutama untuk gambar fisik berukuran besar (lebih dari 75 cm).
  • Hindari menyimpan banyak gambar yang tidak digunakan dalam {i>database<i} karena ada sedikit berdampak pada kinerja sistem karena peningkatan penggunaan CPU.

Tips untuk mengoptimalkan pelacakan

  • Jika gambar Anda tidak akan pernah berpindah dari posisi awal (misalnya, poster yang ditempel di dinding), Anda dapat memasang anchor pada gambar untuk meningkatkan stabilitas pelacakan.
  • Gambar fisik harus menempati setidaknya 25% gambar kamera untuk dengan deteksi awal. Anda dapat meminta pengguna menyesuaikan gambar fisik di bingkai kamera.
  • Jangan gunakan estimasi pose dan ukuran gambar hingga terjadi pelacakan gambar status adalah pelacakan penuh. Ketika sebuah gambar pertama kali terdeteksi oleh ARCore, dan tidak ada ukuran fisik yang diharapkan yang ditentukan, status pelacakannya akan akan dijeda. Ini berarti bahwa ARCore telah mengenali gambar tersebut, tetapi memiliki tidak mengumpulkan cukup data untuk memperkirakan lokasinya di ruang 3D.