Objektumészlelés hibaelhárítása

Ez a cikk feltételezi, hogy már konvertált egy 3D-s modellt Azure Object Anchors észlelési modellre, és sikeresen betöltötte a modellt egy alkalmazásba.

Hibaelhárítási lépések

  • A legjobb élmény érdekében győződjön meg arról, hogy az észlelt modell a támogatott (1–10 méter) méreten belül van.
  • Néhány poszter hozzáadásával győződjön meg arról, hogy a helyiség elegendő textúraszerkezettel rendelkezik.
  • Távolítsa el az aktuális hologramokat a térkép alaphelyzetbe állításhoz az alább leírtak szerint.
  • Vizsgálja meg teljesen az objektumot.
  • Adjon meg egy szűk határolókeretet keresési területként, amely az objektum egészét vagy nagy részét tartalmazza.
  • Törölje a térbeli leképezési gyorsítótárat, és méretezza újra az objektumot.
  • Győződjön meg arról, hogy a modellátalakítás során a megfelelő fontosságirányt és eszközdimenziót használták az alább leírt módon.
  • Vizsgálja meg vizuálisan az észlelési modellt az alábbiak szerint.
  • Állítsa be a modell lekérdezési értékeit az alább leírtak szerint.
  • Rögzítse a diagnosztikát az alábbiakban leírtak szerint.

Hologramok eltávolítása a térkép alaphelyzetbe állításhoz

Ha a rendszer objektumokat észlel az alábbi problémák bármelyikével, a térkép eltávolítása és alaphelyzetbe állítása megoldhatja a problémát:

  • Fordított tájolás
  • Helytelen pozíció
  • Dőlt modell

A hologramok eltávolításához és a térkép alaphelyzetbe állításhoz nyissa meg a Gépház alkalmazást, és nyissa meg a System -> Hologramok. Ezután válassza az Összes hologram eltávolítása lehetőséget egy új térképpel való kezdéshez.

A hologramok törlésével biztosítható az objektumok megfelelő észlelése az aktuális helyüken arra az esetre, ha nemrégiben áthelyezték volna azokat.

A környezet újraszivatása a környezetben való eljárás után a HoloLens. Az 1 és 2 méter között néhány alkalommal észlelni kívánt objektumokat járja végig.

Győződjön meg arról, hogy a tömegvonság iránya és az eszköz dimenzióegysége helyes

Amikor a Object Anchors Conversion SDK-val küld be egy 3D-s modellt átalakításra (lásd itt),meg kell adnia a 3D-modellnek megfelelő tömegvonságirányt ( ) és Gravity AssetDimensionUnit mértékegységet (). Ha ezek az értékek nem helyesek, Object Anchors nem fogja megfelelően észlelni az objektumot.

A tömeg iránya a földre mutató lefelé mutató vektor. CAD-modellek esetén a tömegvonság iránya általában az egyik felfelé irány ellentéte. Sok esetben például a +Z a felfelé mutat, amely esetben a -Z vagy Vector3(0.0, 0.0, -1.0) a a tömegvonság irányát jelöli. A tömeg meghatározásakor azt a tájolást is figyelembe kell vennie, amelyben a modell látható lesz a futtatás során. Ha egy sima felületen próbál egy fotelt észlelni a való világban, a tömegsúly Vector3(0.0, 0.0, -1.0) lehet. Ha azonban a fotel 45 fokos meredekségen van, a tömegsúly lehet Vector3(0.0, -Sqrt(2)/2, -Sqrt(2)/2) .

A tömeg irányát egy 3D-s renderelő eszközzel lehet meghatározni, például a MeshLab eszközzel.

A mérési egység a modell skáláját jelöli. A támogatott egységek a Microsoft.Azure.ObjectAnchors.Conversion.AssetLengthUnit enumerálással találhatók meg.

Az itt található utasításokat követve vizualizálhatja az észlelési modellt a Unityben, így vizuálisan megvizsgálhatja a fontosság irányát és a méretezés helyességét.

Az észlelési modell hálója vizuális vizsgálata

Néha hasznos lehet vizuálisan megvizsgálni az észlelési modell hálóját, hogy észlelni tudja a tájolással, skálázhatóságtal vagy jellemzővel kapcsolatos problémákat. Kövesse az itt található utasításokat egy konvertált modell Unityben való megjelenítéséhez.

Objektumlekérdezés értékeinek beállítása

  • Szigorú keresési területeket biztosít, amelyek ideális esetben lefedik a teljes objektumot az észlelési sebesség és a pontosság javítása érdekében.
  • Az alapértelmezett érték gyakran elegendő, de kisebb érték használatával gyorsabb ObjectQuery.MinSurfaceCoverage észlelést is kaphat.
  • Ha az objektumnak megfelelőnek kell lennie, használjon egy kis ObjectQuery.ExpectedMaxVerticalOrientationInDegrees értéket.
  • Az alkalmazásoknak mindig 1:1 objektummodellt kell használniuk az észleléshez. A becsült skálának 1-hez közelinek kell lennie, ideális esetben 1%-os hiba esetén. Az alkalmazás beállítható vagy értékre a méretezés becslésének letiltásához vagy engedélyezéséhez, valamint a példányok adott testesetének ObjectQuery.MaxScaleChange 0 minőségi 0.1 értékeléséhez.
  • További információ: Nehéz objektumok észlelése.

Diagnosztika rögzítése

Az alkalmazás az ObjectDiagnosticsSession objektummal rögzítheti és mentheti a diagnosztikai archívumokat.

Az MRTK-val együtt használt Unity-mintaalkalmazás a TempState mappába írja a diagnosztikát. Diagnosztikai munkamenetet úgy indíthat el, hogy megnyitja a kézmenüt, kiválasztja a Nyomkövetés elkezdése lehetőséget, reprodukál egy észlelési kísérletet, majd a Nyomkövetés befejezése lehetőséget választva menti a diagnosztikai archívumot. Ezt követően a Windows Eszközportál lekérheti a diagnosztikai archívumot az alkalmazás TempState mappájában.

A diagnosztikai archívum ezután megosztható velünk, hogy segítsünk a hibakeresésben.

Következő lépések

Ebben a hibaelhárítási útmutatóban megtanulta, hogyan háríthatja el egy fizikai objektum észlelését a Azure Object Anchors. Íme néhány kapcsolódó cikk: