Memecahkan masalah deteksi objek

Artikel ini mengasumsikan Anda telah mengonversi model 3D menjadi model deteksi Azure Object Anchors dan berhasil memuat model ke dalam aplikasi.

Langkah-langkah pemecahan masalah

  • Pastikan model yang Anda deteksi berada dalam ukuran yang didukung (1-10 meter) untuk pengalaman terbaik.
  • Pastikan ruangan memiliki tekstur yang cukup dengan menambahkan beberapa poster.
  • Hapus hologram saat ini untuk mengatur ulang peta seperti yang dijelaskan di bawah ini.
  • Pindai objek secara lebih menyeluruh.
  • Berikan kotak batas yang ketat sebagai area pencarian yang menyertakan semua atau sebagian besar objek.
  • Hapus cache pemetaan spasial dan pindai ulang objek.
  • Pastikan arah gravitasi dan dimensi aset yang benar digunakan selama konversi model seperti yang dijelaskan di bawah ini.
  • Periksa model deteksi secara visual seperti yang dijelaskan di bawah.
  • Sesuaikan nilai kueri model seperti yang dijelaskan di bawah.
  • Tangkap diagnostik seperti yang dijelaskan di bawah ini.

Menghapus hologram untuk mengatur ulang peta

Jika Anda melihat objek yang terdeteksi dengan salah satu masalah berikut, menghapus dan menyetel ulang peta dapat mengatasi masalah tersebut:

  • Orientasi terbalik
  • Pose yang salah
  • Model miring

Untuk menghapus hologram dan mengatur ulang peta, buka aplikasi Pengaturan dan buka System ->Hologram. Kemudian, pilih Hapus semua hologram untuk memulai dengan peta baru.

Membersihkan hologram memastikan objek dapat dideteksi dengan benar di posisinya saat ini jika objek baru saja dipindahkan.

Pindai ulang lingkungan Anda dengan berkeliling di lingkungan mengenakan HoloLens. Berjalan di sekitar objek yang ingin Anda deteksi beberapa kali dari jarak 1-2 meter.

Pastikan arah gravitasi dan unit dimensi aset sudah benar

Saat Anda mengirimkan model 3D untuk konversi menggunakan SDK Konversi Object Anchors (lihat di sini), Anda harus memasukkan arah gravitasi yang benar (Gravity) dan satuan pengukuran (AssetDimensionUnit) untuk model 3D. Jika nilai tersebut tidak benar, Object Anchors tidak mungkin mendeteksi objek Anda dengan benar.

Arah gravitasi adalah vektor ke bawah yang menunjuk ke bumi. Untuk model CAD, arah gravitasi biasanya berlawanan dengan arah atas. Misalnya, dalam banyak kasus, +Z menujukkan arah atas, dalam hal ini -Z atau Vector3(0.0, 0.0, -1.0) akan menunjukkan arah gravitasi. Saat menentukan gravitasi, Anda juga harus mempertimbangkan orientasi di mana model akan terlihat selama runtime. Jika Anda mencoba mendeteksi kursi di dunia nyata pada permukaan datar, gravitasi mungkin adalah Vector3(0.0, 0.0, -1.0). Namun, jika kursi berada di lereng 45 derajat, gravitasinya mungkin adalah Vector3(0.0, -Sqrt(2)/2, -Sqrt(2)/2).

Arah gravitasi dapat ditentukan dengan alat rendering 3D, seperti MeshLab.

Satuan pengukuran mewakili skala model. Unit yang didukung dapat ditemukan menggunakan enumerasi Microsoft.Azure.ObjectAnchors.Conversion.AssetLengthUnit.

Anda juga dapat mengikuti petunjuk di sini untuk memvisualisasikan model deteksi di Unity guna memeriksa secara visual agar arah dan skala gravitasi terlihat benar.

Secara visual memeriksa mesh model deteksi

Terkadang memeriksa secara visual mesh model deteksi dapat membantu sehingga Anda dapat melihat masalah orientasi, skala, atau fitur apa pun. Ikuti petunjuk di sini untuk memvisualisasikan model yang dikonversi di Unity.

Menyesuaikan nilai kueri objek

  • Berikan area pencarian yang ketat guna mencakup keseluruhan objek secara ideal untuk meningkatkan kecepatan dan akurasi deteksi.
  • Nilai ObjectQuery.MinSurfaceCoverage default sering kali cukup, tetapi Anda dapat menggunakan nilai yang lebih kecil untuk mendapatkan deteksi yang lebih cepat.
  • Gunakan nilai kecil untuk ObjectQuery.ExpectedMaxVerticalOrientationInDegrees jika objek diharapkan tegak lurus.
  • Aplikasi harus selalu menggunakan model objek 1:1 untuk deteksi. Skala perkiraan harus mendekati 1, idealnya dengan kesalahan kurang dari 1%. Aplikasi dapat mengatur ObjectQuery.MaxScaleChange ke 0 atau 0.1 untuk menonaktifkan atau mengaktifkan estimasi skala serta mengevaluasi pose instans secara kualitatif.
  • Untuk informasi selengkapnya, lihat Cara mendeteksi objek yang sulit dideteksi.

Menangkap diagnostik

Aplikasi dapat menangkap dan menyimpan arsip diagnostik menggunakan objek ObjectDiagnosticsSession.

Aplikasi sampel Unity dengan MRTK menulis diagnostik ke folder TempState. Anda dapat memulai sesi diagnostik dengan membuka menu tangan, memilih Mulai Penelusuran, mengulangi upaya deteksi, lalu pilih Hentikan Penelusuran untuk menyimpan arsip diagnostik. Anda kemudian dapat menggunakan Portal Perangkat Windows untuk mengambil arsip diagnostik dari folder TempState aplikasi.

Arsip diagnostik kemudian dapat dibagikan kepada kami sehingga kami dapat membantu men-debug masalah tersebut.

Langkah berikutnya

Dalam panduan pemecahan masalah ini, Anda mempelajari cara memecahkan masalah deteksi objek fisik menggunakan Azure Object Anchors. Berikut adalah beberapa artikel terkait: