Table of Contents

Menggabungkan Object Tracking dan Motion Tracking

Artikel ini menjelaskan cara menggabungkan 3D object tracking dengan motion tracking perangkat untuk meningkatkan stabilitas tracking dan pengalaman pengguna dalam skenario kompleks.

Prinsip Dasar

Motion Fusion menggabungkan data pose dari 3D object tracking dan motion tracking perangkat untuk estimasi pose yang lebih robust.

Sinkronisasi dan Saling Melengkapi Data

  • Visual tracking: Menghitung pose frame saat ini (posisi + rotasi) melalui pencocokan feature point gambar, tetapi mudah terpengaruh oleh oklusi, blur, atau gerakan cepat.
  • Motion tracking: Menggunakan output sensor IMU frekuensi tinggi dan output gambar visual untuk memperoleh data gerakan perangkat, tetapi dapat memiliki kesalahan drift kumulatif.
  • Motion Fusion:
    • Menyelaraskan sistem koordinat pose visual tracking dan pose motion tracking perangkat.
    • Saat target object terlihat jelas dan bergerak stabil: visual tracking menjadi utama dan pose-nya terus dikirim ke modul fusion untuk mengurangi drift kumulatif.
    • Saat target object hilang, terlalu kecil di layar, atau bergerak cepat: visual tracking gagal dan motion tracking menjadi utama.

Poin Teknis Utama

  • Penyelarasan timestamp: Menyelaraskan timestamp frame visual dengan data motion tracking untuk menghindari jitter akibat latensi.
  • Penyelarasan sistem koordinat: Menyelaraskan sistem koordinat berdasarkan lintasan visual tracking dan lintasan motion tracking.
  • Relocalization: saat target object muncul kembali, visual tracking mengambil alih dan mengoreksi error kumulatif.

Skenario yang Berlaku dan Batasan

Motion Fusion tidak cocok untuk semua skenario. Motion Fusion tidak berlaku dalam salah satu kondisi berikut:

  • Perangkat target tidak mendukung fitur motion tracking seperti ARCore/ARKit. Untuk daftar dukungan perangkat detail, lihat Dukungan Perangkat Motion Tracking.
  • Target object bersifat dinamis, misalnya mainan atau figure yang dipegang.

Di luar skenario tersebut, Motion Fusion meningkatkan pengalaman 3D object tracking.

  • Gerakan cepat: Pengguna menggerakkan perangkat genggam dengan cepat, motion blur dapat menyebabkan visual tracking gagal.
  • Target menghilang: konten virtual tetap dapat ditampilkan walau target keluar dari tampilan atau tertutup.
  • Jauh dari target: tracking tetap stabil saat target object menjadi kecil di layar.
  • Kondisi cahaya rendah: Performa visual tracking menurun dan pengalaman perlu dipertahankan.

Efek dan Hasil yang Diharapkan

Jika skenario sesuai, Motion Fusion lebih stabil dan halus daripada 3D object tracking saja.

Hasil Ideal

  • Tracking lebih stabil: Objek virtual tidak jitter atau melompat.
  • Transisi halus: Saat visual tracking gagal, perubahan fused pose tetap kontinu dan alami.
  • Tahan gangguan: saat target object hilang/tertutup atau perangkat bergerak cepat, objek virtual tetap mengikuti gerakan perangkat.

Kasus Tidak Ideal dan Penanganannya

Fenomena Penyebab Persepsi pengguna Solusi
Awalnya belum efektif Motion tracking memerlukan waktu untuk inisialisasi Konten menghilang pada tahap awal Berikan prompt UI yang sesuai dan pastikan inisialisasi motion tracking sistem selesai
Drift jelas Kesalahan sistem terakumulasi dan lama tanpa koreksi visual Objek virtual menyimpang dari posisi awal Arahkan pengguna untuk memperpendek waktu oklusi, atau tambahkan prompt relokalisasi visual
Performa menurun Dua fitur berjalan bersamaan dalam waktu lama Frame rate turun dan gambar tersendat Ini normal; Motion Fusion dapat dinonaktifkan melalui API

Metode Verifikasi Hasil yang Diharapkan

Uji dengan perangkat yang didukung di scene nyata:

  1. Arahkan ke target object dan pastikan objek virtual stabil.
  2. Tutup object dengan tangan selama 2 detik sambil menggerakkan perangkat, lalu amati apakah objek virtual bergerak halus.
  3. Lepaskan tangan dan pastikan objek virtual cepat kembali ke posisi benar tanpa lompatan.

Ringkasan dan Praktik Terbaik

Motion Fusion meningkatkan robustness 3D object tracking, tetapi memerlukan dukungan hardware dan performa cukup.

Referensi API untuk mengaktifkan/menonaktifkan Motion Fusion secara real time: