Vanliga frågor och svar om Azure Object Anchors

Azure Object Anchors kan ett program identifiera ett objekt i den fysiska världen med hjälp av en 3D-modell och uppskatta dess 6-DoF-posering.

Mer information finns i Azure Object Anchors översikt.

Vanliga frågor och svar om produkter

F: Vilka rekommendationer har du för de objekt som ska användas?

S: Vi rekommenderar följande egenskaper för objekt:

  • 1–10 meter för varje dimension
  • Icke-symmetrisk, med tillräckliga variationer i geometrin
  • Låg ref reflectivity (ytskikt) med klar färg
  • Stationära objekt
  • Inga eller små mängder artikulation
  • Rensa bakgrunder utan oreda eller minimal oreda
  • Skannade objekt bör ha 1:1-matchning med den modell som du har tränat med

F: Vilka är de maximala objektdimensioner som kan bearbetas för modellkonvertering?

S: Varje dimension av en CAD-modell bör vara mindre än 10 meter. Mer information finns i Tillgångskrav.

F: Vilken är den maximala CAD-modellstorlek som kan bearbetas för konvertering?

S: Modellfilens storlek ska vara mindre än 150 MB. Mer information finns i Tillgångskrav.

F: Vilka CAD-format stöds?

S: Vi stöder för fbx närvarande ply obj filtyperna glb , , , gltf och . Mer information finns i Tillgångskrav.

F: Vilken allvarlighetsriktning och enhet krävs av modellkonverteringstjänsten? Hur kan vi ta reda på dem?

S: Allvarlighetsriktning är nedåtvektorn som pekar på jorden. För CAD-modeller är tyngdriktningen vanligtvis motsatsen till en uppåtriktning. I många fall representerar till exempel +Z upp, i vilket fall -Z eller Vector3(0.0, 0.0, -1.0) representerar allvarlighetsriktningen. När du fastställer vikten bör du inte bara överväga modellen, utan även den orientering där modellen visas under körning. Om du försöker identifiera en retlighet i den verkliga världen på en plan yta kan allvarlighetspunkten vara Vector3(0.0, 0.0, -1.0) . Men om isen är på en 45 gradig lutning kan allvarlighetsgraden vara Vector3(0.0, -Sqrt(2)/2, -Sqrt(2)/2) .

Allvarlighetsriktningen kan användas med ett 3D-återgivningsverktyg, till exempel MeshLab.

Enheten representerar modellens måttenhet. Enheter som stöds kan hittas med hjälp av uppräkningen Microsoft.Azure.ObjectAnchors.Conversion.AssetLengthUnit.

F: Hur lång tid tar det att konvertera en CAD-modell?

S: För en ply modell, vanligtvis 3–15 minuter. Om du skickar modeller i andra format kan du förvänta dig att vänta 15–60 minuter beroende på filstorleken.

F: Hur gör jag för att återställa efter ett modellkonverteringsfel?

S: Mer information om de olika felkoder som kan uppstå vid ett misslyckat modellkonverteringsjobb och hur du hanterar var och en finns på sidan med felkoder för konvertering.

F: Vilka enheter har Object Anchors stöd för?

S: HoloLens 2.

F: Vilket OS-bygge ska min HoloLens köras?

S: OS Build 18363.720 eller senare, publicerat efter den 12 mars 2020.

Mer information finns Windows 10 den 12 mars 2020.

F: Hur lång tid tar det att identifiera ett objekt på HoloLens?

S: Det beror på objektstorleken och genomsökningen. Om du vill få en snabbare identifiering kan du prova att följa metodtipsen för en genomsökning. För mindre objekt inom 2 meter i varje dimension kan identifiering ske inom några sekunder. För större objekt, till exempel en bil, bör användaren gå en fullständig loop runt objektet för att få en tillförlitlig identifiering, vilket innebär att identifieringen kan ta tio sekunder.

F: Vilka är de bästa metoderna när du använder Object Anchors i ett HoloLens-program?

A:

  1. Utför ögonkalibrering för att få korrekt rendering.
  2. Se till att rummet har en omfattande visuell struktur och bra belysning.
  3. Håll objektet stationärt, så att det inte blir rörigt om det är möjligt.
  4. Du kan också rensa cacheminnet för spatial mappning på din HoloLens-enhet.
  5. Genomsök objektet genom att gå runt det. Se till att det mesta av objektet observeras.
  6. Ange ett sökområde som är tillräckligt stort för att täcka objektet.
  7. Objektet bör vara stillastående under identifieringen.
  8. Starta objektidentifiering och visualisera renderingen baserat på beräknad attityd.
  9. Lås identifierade objekt eller stoppa spårningen när attityden är stabil och korrekt för att bevara batterilivslängden.

F: Vilken version av Mixed Reality Toolkit (MRTK) ska mitt HoloLens Unity-program använda för att kunna arbeta med Object Anchors Unity SDK?

S: Den Azure Object Anchors Unity SDK är inte beroende av Mixed Reality Toolkit på något sätt, vilket innebär att du kan använda vilken version du vill. Mer information finns i Introduktion till MRTK för Unity.

F: Hur exakt är en beräknad attityd?

S: Det beror på objektstorlek, material, miljö osv. För små objekt kan den uppskattade attityden vara inom 2 cm fel. För stora objekt, till exempel en bil, kan felet vara upp till 2–8 cm.

F: Kan Object Anchors hantera flytta objekt?

S: Vi stöder inte kontinuerlig flyttning eller dynamiska objekt.

F: Kan Object Anchors hantera deformationer eller artikulationer?

S: Delvis, beroende på hur mycket objektform eller geometri ändras på grund av deformation eller artikulation. Om objektets geometri ändras mycket kan användaren skapa en annan modell för den konfigurationen och använda den för identifiering.

F: Hur många olika objekt Object Anchors identifiera samtidigt?

S: Vi stöder för närvarande identifiering av en enskild objektmodell i taget.

F: Kan Object Anchors identifiera flera instanser av samma objektmodell?

S: Ja, du kan identifiera upp till 3 objekt av samma modelltyp. Programmet kan anropa ObjectObserver.DetectAsync flera gånger med olika frågor för att identifiera flera instanser av samma modell.

F: Vad ska jag göra om Object Anchors inte kan identifiera mitt objekt?

A:

  • Se till att rummet har tillräckligt med strukturer genom att lägga till några affischer.
  • Genomsök objektet mer fullständigt.
  • Justera modellparametrarna enligt beskrivningen nedan.
  • Ange en nära avgränsad ruta som sökområde som innehåller alla eller de flesta av objektet.
  • Rensa cacheminnet för rumslig mappning och genomsöka objektet igen.
  • Samla in diagnostik och skicka data till oss.
  • Justera MinSurfaceCoverage egenskapen från ObjectQuery klassen . Mer information finns i Så här identifierar du ett svårt objekt.

F: Hur väljer jag objektfrågeparametrar?

A:

  • Tillhandahåll nära sökområden för att helst täcka hela objektet för att förbättra identifieringens hastighet och noggrannhet.
  • Standardvärdet ObjectQuery.MinSurfaceCoverage från objektmodellen är vanligtvis bra, annars kan du använda ett mindre värde för att få en snabbare identifiering.
  • Använd ett litet värde ObjectQuery.ExpectedMaxVerticalOrientationInDegrees för om objektet förväntas vara rätt.
  • En app bör alltid använda en 1:1 objektmodell för identifiering. Den uppskattade skalan bör vara nära 1 helst inom 1 % fel. En app kan ange ObjectQuery.MaxScaleChange till eller för att inaktivera eller aktivera 0 0.1 skalningsuppskattning och utvärdera instansställningen kvalitativt.
  • Mer information finns i Så här identifierar du ett svårt objekt.

F: Hur gör jag för att hämta Object Anchors diagnostikdata från HoloLens?

S: Programmet kan ange platsen för diagnostikarkiv. Exempelappen Object Anchors skriver diagnostik till tempstate-mappen.

F: Varför överensstämmer inte källmodellen med det fysiska objektet när den attityd som returneras av Object Anchors Unity SDK används?

S: Unity kan ändra koordinatsystemet när du importerar en objektmodell. Till exempel inverterar Object Anchors Unity SDK Z-axeln när den konverteras från ett högerhänt till vänsterhänt koordinatsystem, men Unity kan tillämpa ytterligare en rotation om Antingen X- eller Y-axeln. En utvecklare kan fastställa den här ytterligare rotationen genom att visualisera och jämföra koordinatsystemen.

F: Stöder du 2D?

S: Eftersom vi är geometribaserade stöder vi bara 3D.

F: Kan du skilja mellan samma modell i olika färger?

S: Eftersom våra algoritmer är geometribaserade beter sig inte olika färger i samma modell annorlunda under identifieringen.

F: Kan jag använda Object Anchors utan Internetanslutning?

A:

  • För modellkonvertering och träning krävs anslutning eftersom detta sker i molnet.
  • Körningssessioner är helt på enheten och kräver ingen anslutning eftersom alla beräkningar sker på HoloLens 2.

Vanliga frågor och svar om sekretess

F: Hur Azure Object Anchors lagra data?

S: Vi lagrar endast systemmetadata, som krypteras i vila med en Microsoft-hanterad datakrypteringsnyckel.