如何偵測困難物件
有時候,物件可能會更難偵測。 例如:
- 無法存取大型介面區時,因為物件對牆
- 當物件太大,而且繞著它走動需要太長的時間
- 當裝置感應器未偵測到物件的表面時
調整物件查詢值
Azure 物件錨點 SDK 所提供的一些機制可協助這些情況:
ObjectQuery.MinSurfaceCoverage
屬性。 它代表將物件實例視為真肯定的最小必要表面涵蓋範圍比率。 它允許的範圍從 0 到 1.0(代表 0% 到 100%)。 預設設定會因物件而異(介面區愈大,所需涵蓋範圍越小)。 它適用于大部分的情況。 但是,面對困難物件時,建議降低這個屬性的值,因此需要較少的表面涵蓋範圍來偵測物件。ObjectQuery.MaxScaleChange
屬性。 如果原始模型沒有1:1
針對所偵測到的物件縮放比例,則可以調整此設定。 它允許的範圍從 0 到 1.0(代表 0% 到 100%)。 預設設定為 0 會停用縮放估計,這需要1:1
縮放對應。 例如,將這個屬性設定為 10%,會啟用縮放估計,並在模型小數位數與 物件沒有1:1
比對的情況下,允許一些彈性。ObjectQuery.ExpectedMaxVerticalOrientationInDegrees
屬性。 它代表物件向上方向與重力之間的最大角度,以度為單位。 範圍從 0 到 180。 換句話說,它代表相對於原始模型的物件傾斜。 在物件傾斜不符合原始模型的情況下,可以增加 3 度的預設設定,以允許更大的彈性。ObjectQuery.IsExpectedToBeStandingOnGroundPlane
屬性。 這是一個布林值,表示物件是否預期位於地面。 預設為 false。 它可以切換為 true,以加速偵測物件位於地面的案例。ObjectQuery.SearchAreas
屬性。 它代表要尋找物件的區域集合。 提供緊密的搜尋區域,同時仍涵蓋所有或大部分的物件,可改善偵測速度和精確度。 您可以挑選:- 使用 的導向周框方塊
ObjectSearchArea.FromOriented
。 - 使用 的檢視
ObjectSearchArea.FromFieldOfView
欄位。 - 使用 的位置
ObjectSearchArea.FromLocation
。 - 使用 的球體
ObjectSearchArea.FromSphere
。
- 使用 的導向周框方塊
如需詳細資訊,請參閱 ObjectQuery
Unity 或 HoloLens C++/WinRT 的 類別。
下一步
在本疑難排解指南中,您已瞭解如何針對難以偵測物件的偵測進行疑難排解。 以下是一些相關文章: