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 heeft1: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 een1: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 niet1: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
.
- Een georiƫnteerd begrenzingsvak, met behulp van
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: