Porozumění scéně

Porozumění scéně poskytuje vývojářům Mixed Reality strukturovanou a vysokou reprezentaci prostředí navrženou tak, aby byla vývoj pro aplikace podporující životní prostředí intuitivní. Porozumění scéně to dělá kombinací výkonu existujících modulů runtime hybridní reality, jako jsou vysoce přesné, ale méně strukturované prostorové mapování a nové moduly runtime řízené AI. Díky kombinování těchto technologií vygeneruje porozumění scéně reprezentaci 3D prostředí, která jsou podobná těm, která jste možná použili v architekturách, jako je Unity nebo ARKit/ARCore. Vstupní bod rozpoznávání scény začíná pozorovatelem scény, který je volána vaší aplikací k výpočtu nové scény. Technologie dnes může generovat 3 odlišné, ale související kategorie objektů:

  • Zjednodušená vodotěžná síť, která odvozuje strukturu prostorové místnosti bez nepotřebné
  • Oblasti roviny pro umístění, které nazýváme Quads
  • Snímek prostorové mapovací sítě, která je zarovnaná s daty čtyřúhelníkem nebo vodotěžnými daty, na které se podíváme

Spatial mapping mesh, labeled planar surfaces, watertight mesh

Tento dokument má poskytnout přehled scénáře a objasnit vztah, který scéna rozumí a prostorové mapování sdílí. Pokud se chcete podívat na principy scény v akci, podívejte se na Hologramy ukázku videa pro prostorové povědomí níže:

Toto video bylo převzato z aplikace "Návrh Hologramy" HoloLens 2. Stáhněte si a dopřejte si kompletní zážitek zde.

Vývoj s využitím porozumění scéně

Tento článek slouží pouze k zavedení modulu runtime a konceptů služby Scene Understanding. Pokud hledáte dokumentaci k vývoji pomocí funkce Scene Understanding, možná vás zajímají následující články:

Přehled sady Scene Understanding SDK

Ukázkovou aplikaci Scene Understanding si můžete stáhnout z ukázkového GitHub webu:

Ukázka porozumění scéně

Pokud nemáte zařízení a chcete získat přístup k ukázkovým scénům, abyste mohli vyzkoušet funkci Principy scény, jsou scény ve složce s ukázkovým assetem:

Principy ukázkových scén scén

Sada SDK

Pokud hledáte konkrétní podrobnosti o vývoji pomocí funkce Scene Understanding, podívejte se do dokumentace k přehledu sady Sdk pro principy scény .

Ukázka

Podpora zařízení

Funkce HoloLens (1. generace) HoloLens 2 Asistivní náhlavní soupravy
Porozumění scéně ✔️

Obvyklé scénáře použití

Illustrations of common Spatial mapping usage scenarios: Placement, Occlusion, Physics and Navigation
Běžné scénáře použití prostorového mapování: umístění, okluze, fyzika a navigace


Mnoho základních scénářů pro aplikace pracující s životním prostředím je možné řešit pomocí prostorového mapování i porozumění scéně. Mezi tyto základní scénáře patří umístění, okluze, fyzika atd. Základním rozdílem mezi porozuměním scény a prostorovým mapováním je kompromis maximální přesnosti a latence struktury a jednoduchosti. Pokud vaše aplikace vyžaduje co nejnižší možnou latenci a trojúhelníky sítě, ke kterým budete chtít přistupovat jenom vy, použijte prostorové mapování přímo. Pokud provádíte zpracování na vyšší úrovni, můžete zvážit přepnutí na model porozumění scéně, protože by vám měl poskytnout nadmnožinu funkcí. Vždy budete mít přístup k nejkonkončím a nejpřesnějším datům prostorového mapování, protože porozumění scéně poskytuje snímek prostorové mapovací sítě jako součást jeho reprezentace.

V následujících částech se znovu zobrazí základní scénáře prostorového mapování v kontextu nové sady SDK pro porozumění scéně.

Umístění

Porozumění scéně poskytuje nové konstrukce navržené tak, aby zjednodušily scénáře umístění. Scéna může vypočítat primitivy označované jako SceneQuads, které popisují ploché povrchy, na kterých lze umístit hologramy. ScényQuads byly navrženy kolem umístění a popisují 2D povrch a poskytují rozhraní API pro umístění na tomto povrchu. Dříve při použití trojúhelníkové sítě k umístění musel jeden prohledávat všechny oblasti čtyřúhelníku a provádět vyplňování otvorů/následné zpracování, aby bylo možné identifikovat vhodná umístění pro umístění objektů. To není vždy nutné u čtyřúhelníku, protože scéna rozumí modulu runtime, které oblasti čtyřúhelníku nebyly naskenovány, a zneplatnit oblasti, které nejsou součástí povrchu.

SceneQuads with inference disabled, capturing placement areas for scanned regions.
Obrázek č. 1 – SceneQuads se zakázaným odvozováním, zachycením oblastí umístění pro naskenované oblasti

Quads with inference enabled, placement is no longer limited to scanned areas.
Obrázek č. 2 – Čtyřúhelníky s povoleným odvozováním, umístění už není omezeno na naskenované oblasti.


Pokud má vaše aplikace v úmyslu umístit 2D nebo 3D hologramy na pevné struktury vašeho prostředí, jednoduchost a pohodlí ScényQuads pro umístění je vhodnější pro výpočet těchto informací z prostorové mapovací sítě. Další informace o tomto tématu najdete v referenčních informacích k sadě SDK pro porozumění scéně.

Poznámka U starší verze kódu umístění, který závisí na prostorové mapovací síti, je možné síť prostorového mapování vypočítat společně se službou SceneQuads nastavením enableWorldMesh. Pokud rozhraní API pro rozpoznávání scény nevyhovuje požadavkům vaší aplikace na latenci, doporučujeme dál používat rozhraní API pro prostorové mapování.

Okluze

Prostorové mapování okluze zůstává nejmíň opožděným způsobem zachycení stavu prostředí v reálném čase. I když to může být užitečné pro zajištění okluze ve vysoce dynamických scénách, můžete zvážit pochopení scény z několika důvodů. Pokud použijete síť prostorového mapování vygenerovanou službou Scene Understanding, můžete požádat o data z prostorového mapování, která by nebyla uložena v místní mezipaměti a není dostupná z rozhraní API pro vnímání. Použití prostorového mapování pro okluzi spolu s vodotěžnými sítěmi poskytne dodatečnou hodnotu, konkrétně dokončení neskenované struktury místnosti.

Pokud vaše požadavky můžou tolerovat zvýšenou latenci porozumění scéně, měli by vývojáři aplikací zvážit použití vodotěžné sítě a prostorové mapování v unisonu s planární reprezentací. To by poskytovalo "nejlepší ze obou světů", kdy se zjednodušená vodotěžná okluze je vdaná s jemně neplánární geometrií, která poskytuje nejrealističtější mapy okluze.

Fyzika

Porozumění scéně generuje vodotěžné sítě, které dekompilují prostor s sémantikou, konkrétně pro řešení mnoha omezení fyziky, které prostorové mapování sítě ukládají. Vodotěžné struktury zajišťují, aby fyzikální paprsky vždy narazily, a sémantická rozkladová struktura umožňuje jednodušší generování navigačních sítí pro vnitřní navigaci. Jak je popsáno v části o okluzi, vytvoření scény s EnableSceneObjectMeshes a EnableWorldMesh vytvoří nejkonfiktivní síť, která je možná. Vlastnost vodotěžné sítě prostředí zabraňuje dosažení testů, aby se nepodařilo narazit na povrchy. Data sítě zajistí, že fyzika interaguje se všemi objekty na scéně, a nejen se strukturou místnosti.

Planar meshes dekompposeded by sémantic class are ideal konstrukts for navigation and path planning, easing many of the issues described in the Spatial map navigation overview. Objekty SceneMesh vypočítané ve scéně se dekomponují podle typu povrchu a zajišťují, aby generování nav-mesh bylo omezené na povrchy, na které lze procházet. Vzhledem k jednoduchosti podlahových struktur je dynamická generace nav-mesh v 3d motorech, jako je Unity, dosažitelná v závislosti na požadavcích v reálném čase.

Generování přesných navigačních sítí v současné době stále vyžaduje následné zpracování, konkrétně aplikace musí stále projektovat occludery na podlahu, aby se zajistilo, že navigace neprochází nepotřebné/tabulky atd. Nejpřesnější způsob, jak toho dosáhnout, je projektovat data světové sítě, která se poskytuje, pokud je scéna vypočítána příznakem EnableWorldMesh.

Vizualizace

I když se vizualizace prostorového mapování dá použít pro zpětnou vazbu prostředí v reálném čase, existuje mnoho scénářů, kdy jednoduchost planárních a vodotěžných objektů poskytuje vyšší výkon nebo vizuální kvalitu. Stínové projekce a uzemnění, které jsou popsány pomocí prostorového mapování, mohou být zajímavější, pokud se projektují na planárních plochách poskytovaných čtyřúhelníkem nebo planární vodotěžnou sítí. To platí hlavně pro prostředí nebo scénáře, kdy důkladné předběžné prohledávání není optimální, protože scéna bude odvozovat a kompletní prostředí a planární předpoklady minimalizují artefakty.

Celkový počet povrchů vrácených prostorovým mapováním je navíc omezen interní prostorovou mezipamětí, zatímco verze prostorové mapování prostředí může přistupovat k prostorovým mapovým datům, která nejsou uložená v mezipaměti. Díky tomu je porozumění scéně vhodnější pro zachycení reprezentací sítě pro větší prostory (například větší než jedna místnost) pro vizualizaci nebo další zpracování sítě. Světová síť vrácená pomocí EnableWorldMesh bude mít konzistentní úroveň podrobností v celém světě, což může přinést zajímavější vizualizaci, pokud je vykreslena jako wireframe.

Viz také