Scène-inzicht

Functie HoloLens (eerste generatie) HoloLens 2 Immersive headsets
Scène-inzicht ✔️

Veelvoorkomende gebruiksscenario's

Illustrations of common Spatial mapping usage scenarios: Placement, Occlusion, Physics and Navigation
Algemene gebruiksscenario's voor ruimtelijke toewijzing: plaatsing, occlusie, fysica en navigatie.


Veel van de belangrijkste scenario's voor bewust gebruik van toepassingen kunnen worden aangepakt door zowel ruimtelijke toewijzing als scènebegrip. Deze kernscenario's omvatten plaatsing, occlusie, fysica, en meer. Een belangrijk verschil tussen scènebegrip en ruimtelijke toewijzing is een afweging tussen maximale nauwkeurigheid en latentie voor structuur en eenvoud. Als uw toepassing de laagst mogelijke latentie en mesh-driehoeken vereist die alleen u wilt openen, gebruikt u ruimtelijke toewijzing rechtstreeks. Als u verwerking op een hoger niveau gebruikt, kunt u overwegen om over te schakelen naar het Scène-inzichtmodel, omdat dit u een superset van functionaliteit moet bieden. U hebt altijd toegang tot de meest volledige en nauwkeurige ruimtelijke toewijzingsgegevens die mogelijk zijn, omdat Scene Understanding een momentopname van de mesh voor ruimtelijke toewijzing biedt als onderdeel van de weergave.

In de volgende secties komen de belangrijkste scenario's voor ruimtelijke toewijzing terug in de context van de nieuwe Scene Understanding SDK.

Plaatsing

Scènebegrip biedt nieuwe constructies die zijn ontworpen om plaatsingsscenario's te vereenvoudigen. Een scène kan primitieven met de naam SceneQuads berekenen, waarmee platte oppervlakken worden beschreven waarop hologrammen kunnen worden geplaatst. SceneQuads zijn ontworpen rond plaatsing en beschrijven een 2D-oppervlak en bieden een API voor plaatsing op dat oppervlak. Voorheen moest u bij het gebruik van de driehoek mesh alle gebieden van de quad scannen en gaten vullen/naverwerking uitvoeren om goede locaties voor objectplaatsing te identificeren. Dit is niet altijd nodig met Quads, omdat de Scène understanding-runtime desuit kan afleiden welke quad-gebieden niet zijn gescand en gebieden die geen deel uitmaken van het oppervlak ongeldig maken.

SceneQuads with inference disabled, capturing placement areas for scanned regions.
Afbeelding 1: SceneQuads met de deferentie uitgeschakeld, het vastleggen van plaatsingsgebieden voor gescande regio's.

Quads with inference enabled, placement is no longer limited to scanned areas.
Afbeelding 2: Quads met inferentie ingeschakeld, plaatsing is niet langer beperkt tot gescande gebieden.


Als uw toepassing 2D- of 3D-hologrammen op stare structuren van uw omgeving wil plaatsen, is de eenvoud en het gemak van SceneQuads voor plaatsing beter dan het berekenen van deze informatie uit de mesh voor ruimtelijke toewijzing. Zie de naslaginformatie over scene understanding SDK voor meer informatie over dit onderwerp

Opmerking Voor verouderde plaatsingscode die afhankelijk is van de mesh voor ruimtelijke toewijzing, kan de mesh voor ruimtelijke toewijzing samen met SceneQuads worden berekend door de instelling EnableWorldMesh in te stellen. Als scènebegrip-API niet voldoet aan de latentievereisten van uw toepassing, raden we u aan de API voor ruimtelijke toewijzing te blijven gebruiken.

Occlusie

Ruimtelijke toewijzing occlusie blijft de minst latente manier om de realtime status van de omgeving vast te leggen. Hoewel dit handig kan zijn om occlusie te bieden in zeer dynamische scènes, kunt u scènebegrip voor occlusie om verschillende redenen overwegen. Als u de mesh voor ruimtelijke toewijzing gebruikt die is gegenereerd door Scene Understanding, kunt u gegevens aanvragen bij ruimtelijke toewijzing die niet zouden worden opgeslagen in de lokale cache en niet beschikbaar zijn vanuit de perception-API's. Het gebruik van ruimtelijke toewijzing voor occlusie naast watertight-meshes biedt extra waarde, met name de voltooiing van niet-gescande ruimtestructuur.

Als uw vereisten de toegenomen latentie van Scènebegrip kunnen tolereren, moeten toepassingsontwikkelaars overwegen om de watertight-mesh Scene understanding en de mesh voor ruimtelijke toewijzing in één keer te gebruiken met planaire representaties. Dit zou een 'best of both worlds'-scenario bieden, waarbij vereenvoudigde watertight-occlusie is gedijen met een fijner niet-geplande geometrie, wat de meest realistische occlusiekaarten mogelijk maakt.

Natuurkunde

Scènekennis genereert watertight-meshes die de ruimte opsemantiek ontleden, met name om veel beperkingen van de fysica aan te pakken die door meshes voor ruimtelijke toewijzingen worden opgelegd. Watertight-structuren zorgen ervoor dat fysica ray casts altijd worden bereikt en semantische ontleding maakt eenvoudigere generatie van navigatie-meshes voor navigatie binnen. Zoals beschreven in de sectie over occlusion,wordt de fysiek meest complete mesh geproduceerd als u een scène maakt met EnableObjectMeshes en EnableWorldMesh. De eigenschap watertight van de mesh van de omgeving voorkomt dat treffertests niet worden uitgevoerd op oppervlakken. De mesh-gegevens zorgen ervoor dat fysica communiceert met alle objecten in de scène en niet alleen met de ruimtestructuur.

Planar-meshes die zijn samengesteld door semantische klasse zijn ideale constructies voor navigatie en padplanning, waardoor veel van de problemen worden vereenigd die worden beschreven in het overzicht van navigatie voor ruimtelijke toewijzing. De ScèneMesh-objecten die in de scène worden berekend, worden gedecompreerd op basis van het surface-type, zodat de navigatiemesh-generatie beperkt is tot oppervlakken die kunnen worden gelopen. Vanwege de eenvoud van de vloerstructuren zijn dynamische navigatie-mesh-generatie in 3D-engines zoals Unity haalbaar, afhankelijk van de realtime-vereisten.

Voor het genereren van nauwkeurige navigatie-meshes is momenteel nog steeds naverwerking vereist. Toepassingen moeten namelijk nog steeds occluders op de vloer projecteren om ervoor te zorgen dat de navigatie geen onoverzichtelijk/tabellen doorwerkt, en meer. De meest nauwkeurige manier om dit te doen, is door de world mesh-gegevens te projecten, die worden verstrekt als de scène wordt berekend met de vlag EnableWorldMesh.

Visualisatie

Hoewel visualisatie van ruimtelijke toewijzing kan worden gebruikt voor realtime feedback van de omgeving, zijn er veel scenario's waarin de eenvoud van planar- en watertight-objecten meer prestaties of visuele kwaliteit biedt. Schaduwprojectie en grondtechnieken die worden beschreven met behulp van ruimtelijke toewijzing, kunnen aantrekkelijker zijn als ze worden geprojecteerd op de vlakken van Quads of de watertight-mesh van het plan. Dit geldt met name voor omgevingen/scenario's waarin grondig vooraf scannen niet optimaal is, omdat de scène zal afleiden en volledige omgevingen en planarveronderstellingen artefacten minimaliseren.

Daarnaast wordt het totale aantal oppervlakten dat wordt geretourneerd door ruimtelijke toewijzing beperkt door de interne ruimtelijke cache, terwijl de versie van Scene understanding van de mesh Ruimtelijke toewijzing toegang heeft tot ruimtelijke toewijzingsgegevens die niet in de cache zijn opgeslagen. Daarom is Scene Understanding meer geschikt voor het vastleggen van mesh-weergaven voor grotere ruimten (bijvoorbeeld groter dan één ruimte) voor visualisatie of verdere mesh-verwerking. De wereldmesh die met EnableWorldMesh wordt geretourneerd, heeft overal een consistent detailniveau, wat een aantrekkelijkere visualisatie kan opleveren als deze wordt weergegeven als wireframe.

Zie ook

Scènebegrip biedt ontwikkelaars Mixed Reality een gestructureerde omgevingsweergave op hoog niveau die is ontworpen om ontwikkelen voor bewust gebruik van toepassingen intuïtief te maken. Scènebegrip doet dit door de kracht van bestaande mixed reality runtimes te combineren, zoals de zeer nauwkeurige maar minder gestructureerde ruimtelijke toewijzing en nieuwe AI-gestuurde runtimes. Door deze technologieën te combineren, genereert Scene Understanding representaties van 3D-omgevingen die vergelijkbaar zijn met die u mogelijk hebt gebruikt in frameworks zoals Unity of ARKit/ARCore. Het toegangspunt Scene Understanding begint met een Scène-waarnemer, die door uw toepassing wordt aangeroepen om een nieuwe scène te berekenen. Op dit moment kan de technologie drie afzonderlijke maar gerelateerde objectcategorieën genereren:

  • Vereenvoudigde watertight-omgeving meshes die de structuur van de planaire ruimte zonder onoverzichtelijk afleiden
  • Vlakregio's voor plaatsing die we Quads noemen
  • Een momentopname van de mesh voor ruimtelijke toewijzing die is afgestemd op de Quads/Watertight-gegevens die we aan het licht brengen

Spatial mapping mesh, labeled planar surfaces, watertight mesh

Dit document is bedoeld om een overzicht van scenario's te bieden en om de relatie te verduidelijken die scène-inzicht en ruimtelijke toewijzing delen. Als u Scene Understanding in actie wilt zien, bekijkt u de videodemo Ontwerpen Hologrammen - Spatial Awareness hieronder:

Deze video is afkomstig van de app 'Hologrammen ontwerpen' HoloLens 2 app. Download hier en profiteer van de volledige ervaring.

Ontwikkelen met Scene Understanding

In dit artikel worden alleen de Scene Understanding-runtime en -concepten beschreven. Als u documentatie zoekt over het ontwikkelen met Scene Understanding, bent u mogelijk geïnteresseerd in de volgende artikelen:

Overzicht van Scene Understanding SDK

U kunt de Scene Understanding Sample-app downloaden van de voorbeeld-GitHub site:

Scene Understanding-voorbeeld

Als u geen apparaat hebt en toegang wilt krijgen tot voorbeeldscènes om Scene Understanding uit te proberen, zijn er scènes in de map met voorbeeldactiva:

Scène-inzicht in voorbeeldscènes

SDK

Als u op zoek bent naar specifieke informatie over het ontwikkelen met Scene Understanding, bekijkt u de overzichtsdocumentatie voor Scene Understanding SDK.

Voorbeeld

Ondersteuning voor apparaten