Een moeilijk object detecteren

Soms kan het lastiger zijn om een object te detecteren. Bijvoorbeeld:

  • Wanneer een groot oppervlak niet toegankelijk is omdat het object zich tegen een wand bevindt
  • Wanneer een object te groot is en het te lang duurt om er rond te lopen
  • Wanneer het oppervlak van het object niet wordt gedetecteerd door de apparaatsensoren

Objectquerywaarden aanpassen

Sommige mechanismen die worden aangeboden door de Azure Object Anchors SDK die in deze situaties kunnen helpen, zijn:

  • De ObjectQuery.MinSurfaceCoverage eigenschap. Het vertegenwoordigt de minimale vereiste oppervlaktedekkingsverhouding om een objectexemplaren als een terecht-positief te beschouwen. Hiermee kan een bereik van 0 tot 1,0 worden bereikt (0% tot 100%). De standaardinstelling varieert tussen objecten (hoe groter het oppervlak, hoe kleiner de minimale vereiste dekking zal zijn). Het werkt voor de meeste situaties zoals het is. Maar wanneer u geconfronteerd wordt met moeilijke objecten, is het raadzaam om de waarde voor deze eigenschap te verlagen, zodat er minder oppervlaktedekking nodig is om het object te detecteren.

  • De ObjectQuery.MaxScaleChange eigenschap. Als het oorspronkelijke model geen schaal heeft 1:1 naar het object dat wordt gedetecteerd, kan deze instelling worden aangepast. Hiermee kan een bereik van 0 tot 1,0 worden bereikt (0% tot 100%). Met de standaardinstelling op 0 wordt de schatting van de schaal uitgeschakeld. Hiervoor is een 1:1 schaaltoewijzing vereist. Als u deze eigenschap bijvoorbeeld instelt op 10%, kunt u een schatting van de schaal inschakelen en enige flexibiliteit bieden in gevallen waarin de modelschaal niet 1:1 overeenkomt met het object.

  • De ObjectQuery.ExpectedMaxVerticalOrientationInDegrees eigenschap. Het vertegenwoordigt de maximale hoek, in graden, tussen de omhoogrichting van het object en de zwaartekracht. Het varieert van 0 tot 180. Met andere woorden, het vertegenwoordigt de helling van het object ten opzichte van het oorspronkelijke model. De standaardinstelling kan op 3 graden worden verhoogd om meer flexibiliteit mogelijk te maken in gevallen waarin de objectstand niet overeenkomt met het oorspronkelijke model.

  • De ObjectQuery.IsExpectedToBeStandingOnGroundPlane eigenschap. Het is een Booleaanse waarde die aangeeft of het object naar verwachting op grondniveau staat of niet. De standaardwaarde is onwaar. Het kan worden overgeschakeld naar true om de detectie te versnellen voor gevallen waarin het object zich op grondniveau bevindt.

  • De ObjectQuery.SearchAreas eigenschap. Het vertegenwoordigt een verzameling regio's om naar objecten te zoeken. Het bieden van strakke zoekgebieden, terwijl het hele of het grootste deel van het object nog steeds bedekt, verbetert de detectiesnelheid en nauwkeurigheid. U kunt kiezen uit:

    • Een georiĆ«nteerd begrenzingsvak, met behulp van ObjectSearchArea.FromOriented.
    • Een weergaveveld met behulp van ObjectSearchArea.FromFieldOfView.
    • Een locatie met behulp van ObjectSearchArea.FromLocation.
    • Een bol, met behulp van ObjectSearchArea.FromSphere.

Zie de ObjectQuery klasse voor Unity of HoloLens C++/WinRT voor meer informatie.

Volgende stappen

In deze gids voor probleemoplossing hebt u geleerd hoe u problemen met detectie van moeilijk te detecteren objecten oplost. Hier volgen enkele verwante artikelen: