Mendeteksi objek yang sulit

Terkadang, suatu objek mungkin berubah menjadi lebih sulit dideteksi. Contohnya:

  • Ketika area permukaan yang besar tidak dapat diakses karena objek menempel pada dinding
  • Ketika sebuah benda terlalu besar dan membutuhkan waktu terlalu lama untuk berjalan mengelilinginya
  • Ketika permukaan objek tidak terdeteksi oleh sensor perangkat

Menyesuaikan nilai kueri objek

Beberapa mekanisme yang ditawarkan oleh Azure Object Anchors SDK yang dapat membantu dalam situasi ini adalah:

  • ObjectQuery.MinSurfaceCoverageProperti. Properti mewakili rasio cakupan permukaan minimum yang diperlukan untuk mempertimbangkan contoh objek sebagai benar-benar positif. Properti memungkinkan rentang dari 0 hingga 1,0 (mewakili 0% hingga 100%). Pengaturan default bervariasi di antara objek (semakin besar area permukaan, semakin kecil cakupan minimum yang diperlukan). Pengaturan default akan bekerja untuk sebagian besar situasi apa adanya. Namun, ketika menghadapi objek yang sulit, rekomendasinya adalah menurunkan nilai properti ini, sehingga cakupan permukaan yang diperlukan untuk mendeteksi objek lebih sedikit.

  • ObjectQuery.MaxScaleChangeProperti. Jika model asli tidak memiliki skala 1:1 terhadap objek yang terdeteksi, pengaturan ini dapat disetel. Properti memungkinkan rentang dari 0 hingga 1,0 (mewakili 0% hingga 100%). Pengaturan default, pada 0, menonaktifkan estimasi skala, yang memerlukan 1:1 pemetaan skala. Menyetel properti ini ke 10%, misalnya, akan mengaktifkan estimasi skala dan memungkinkan beberapa fleksibilitas dalam kasus di mana skala model tidak memiliki 1:1 kecocokan dengan objek.

  • ObjectQuery.ExpectedMaxVerticalOrientationInDegreesProperti. Ini mewakili sudut maksimum, dalam derajat, antara arah atas objek dan gravitasi. Ini berkisar dari 0 hingga 180. Dengan kata lain, ini mewakili kemiringan objek relatif terhadap model aslinya. Pengaturan default, pada 3 derajat, dapat ditingkatkan untuk memungkinkan lebih banyak fleksibilitas dalam kasus di mana kemiringan objek tidak sesuai dengan model aslinya.

  • ObjectQuery.IsExpectedToBeStandingOnGroundPlaneProperti. Ini adalah boolean yang mewakili apakah objek diharapkan berdiri di permukaan tanah atau tidak. Ini default ke salah. Ini dapat diubah ke true untuk mempercepat deteksi untuk kasus di mana objek berada di permukaan tanah.

  • ObjectQuery.SearchAreasProperti. Ini mewakili kumpulan daerah untuk mencari objek. Menyediakan area pencarian yang ketat, sambil tetap menutupi semua atau sebagian besar objek, meningkatkan kecepatan dan akurasi deteksi. Anda dapat memilih:

    • Kotak pembatas berorientasi, dengan menggunakan ObjectSearchArea.FromOriented.
    • Bidang pandang, dengan menggunakan ObjectSearchArea.FromFieldOfView.
    • Sebuah lokasi, dengan menggunakan ObjectSearchArea.FromLocation.
    • Sebuah bola, dengan menggunakan ObjectSearchArea.FromSphere.

Untuk informasi lebih lanjut, lihat ObjectQuery kelas untuk Unity atau HoloLens C++/WinRT.

Langkah berikutnya

Dalam panduan pemecahan masalah ini, Anda mempelajari cara memecahkan masalah deteksi objek yang sulit dideteksi. Berikut adalah beberapa artikel terkait: