Porozumění scéně

Porozumění scéně poskytuje Mixed Reality vývojářům strukturovanou reprezentaci prostředí na vysoké úrovni, která je navržená tak, aby byl vývoj pro aplikace s ohledem na životní prostředí intuitivní. Pochopení scény to dělá kombinací výkonu existujících modulů runtime hybridní reality, jako je vysoce přesné, ale méně strukturované prostorové mapování a nové moduly runtime řízené AI. Díky kombinaci těchto technologií funkce Pochopení scény generuje reprezentace 3D prostředí, která jsou podobná těm, která jste mohli použít v architekturách, jako jsou Unity nebo ARKit/ARCore. Vstupní bod porozumění scéně začíná pozorovatelem scény, který vaše aplikace volá za účelem výpočtu nové scény. Dnes může technologie generovat 3 odlišné, ale související kategorie objektů:

  • Zjednodušené vodotěsné sítě prostředí, které odvozuje planární strukturu místnosti bez nepotřebné
  • Oblasti roviny pro umístění, které označujeme jako čtyřúhelníky
  • Snímek sítě prostorového mapování , která je zarovnaná s daty Quads/Watertight, která se zobrazí

Prostorová mapovací síť, označené plošné plochy, vodotěsná síť

Cílem tohoto dokumentu je poskytnout přehled scénáře a objasnit vztah, který sdílí porozumění scéně a prostorové mapování. Pokud chcete vidět principy scény v akci, podívejte se na ukázku videa Návrh hologramů – prostorové povědomí níže:

Toto video bylo převzato z aplikace "Návrh hologramů" HoloLens 2. Stáhněte si a užijte si kompletní prostředí tady.

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

Tento článek slouží pouze k představení modulu runtime Scene Understanding a konceptů. Pokud hledáte dokumentaci k vývoji pomocí funkce Scene Understanding, můžou vás zajímat následující články:

Přehled sady SDK pro porozumění scéně

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

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 porozumění scéně, jsou scény ve složce s ukázkovým assetem:

Vysvětlení ukázkových scén scén

Sada SDK

Pokud hledáte konkrétní podrobnosti o vývoji se službou Scene Understanding, projděte si dokumentaci k přehledu sady SDK Pro pochopení scény .

Ukázka

Podpora zařízení

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

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

Ilustrace běžných scénářů použití prostorového mapování: umístění, okluze, fyzika a navigace
Běžné scénáře použití prostorového mapování: umístění, okluze, fyzika a navigace


Řadu 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í a pochopení scény. Mezi tyto základní scénáře patří umístění, okluze, fyzika atd. Základním rozdílem mezi pochopením scény a prostorovým mapováním je kompromis maximální přesnosti a latence se strukturou a jednoduchostí. Pokud vaše aplikace vyžaduje 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řechod 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 nejúplnějším a nejpřesnějším datům prostorového mapování, protože porozumění scéně poskytuje snímek sítě prostorového mapování jako součást její 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é konstruktory 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é plochy, na které lze umístit hologramy. SceneQuads byly navrženy s ohledem na umístění a popisují 2D povrch a poskytují rozhraní API pro umístění na tomto povrchu. Dříve bylo při použití trojúhelníkové sítě k umístění nutné prohledávat všechny oblasti čtyřúhelníku a provádět vyplňování nebo následné zpracování otvorů, aby bylo možné identifikovat vhodné umístění pro umístění objektu. U čtyřúhelníku to není vždy nutné, protože modul runtime scene odvozuje, které oblasti čtyřúhelníku nebyly zkontrolovány, a zneplatní oblasti, které nejsou součástí povrchu.

SceneQuads se zakázaným odvozováním, zachycující oblasti umístění pro zskenované oblasti.
Obrázek č. 1 – SceneQuads se zakázaným odvozováním, zachycující oblasti umístění pro naskenované oblasti.

Čtyřúhelníku s povoleným odvozováním, umístění už není omezeno na skenované oblasti.
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í, je jednoduchost a praktičnost funkce SceneQuads pro umístění vhodnější než výpočet těchto informací ze sítě prostorového mapování . Další informace k tomuto tématu najdete v referenčních informacích k sadě SDK pro pochopení scény.

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

Okluze

Okluze prostorového mapování zůstává nejméně latentním způsobem zachycení stavu prostředí v reálném čase. I když to může být užitečné k zajištění okluze ve vysoce dynamických scénách, možná budete chtít zvážit pochopení scény pro okluzi z několika důvodů. Pokud použijete síť prostorového mapování vygenerovanou službou Scene Understanding, můžete z prostorového mapování požadovat data, která by nebyla uložená v místní mezipaměti a nejsou dostupná z rozhraní API pro vnímání. Použití prostorového mapování pro okluzi spolu s vodotěsným okem poskytne další hodnotu, konkrétně dokončení nenaskenované struktury místnosti.

Pokud vaše požadavky dokážou tolerovat zvýšenou latenci porozumění scéně, vývojáři aplikací by měli zvážit použití vodotěsné sítě pro pochopení scény a sítě prostorového mapování v unisonu s plošnými reprezentacemi. To by poskytlo scénář "to nejlepší z obou světů", kdy se zjednodušená vodotěsná okluze snoubí s jemnější nerovnější geometrií, která poskytuje nejrealističtější možné mapy okluze.

Fyzika

Pochopení scény generuje vodotěsné sítě, které rozkládají prostor se sémantikou, konkrétně kvůli řešení mnoha omezení fyziky, které prostorové mapovací sítě ukládají. Vodotěsné struktury zajišťují fyzikální paprskové odlitky vždy a sémantická rozklad 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 pomocí EnableSceneObjectMeshes a EnableWorldMesh vytvoří fyzicky nejkompletnější možnou síť. Voděotěsná vlastnost sítě prostředí zabraňuje testům zásahu do povrchů. Data ze sítě zajistí, že fyzika interaguje se všemi objekty ve scéně, nejen se strukturou místnosti.

Planární sítě rozložené podle sémantických tříd jsou ideální konstrukce pro navigaci a plánování cest, které zmírní mnoho problémů popsaných v přehledu navigace prostorového mapování . Objekty SceneMesh vypočítané ve scéně jsou dekomponovány podle typu povrchu, což zajišťuje, že generování navigační sítě je omezené na povrchy, po které lze chodit. Vzhledem k jednoduchosti podlahových konstrukcí je možné dosáhnout dynamického generování navigačních sítí v 3D motorech, jako je Unity, 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 promítat occludery na podlaze, aby se zajistilo, že navigace neprochází nepotřebné a tabulky atd. Nejpřesnějším způsobem, jak toho dosáhnout, je promítnout data světové sítě, která se poskytuje, pokud se scéna vypočítá s příznakem EnableWorldMesh.

Vizualizace

Vizualizace prostorového mapování se dá použít pro zpětnou vazbu prostředí v reálném čase, ale existuje mnoho scénářů, kdy jednoduchost planárních a vodotěsných objektů poskytuje vyšší výkon nebo vizuální kvalitu. Techniky projekce stínu a uzemnění, které jsou popsány pomocí prostorového mapování, mohou být příjemnější, pokud jsou promítány na planárních plochách poskytovaných čtyřúhelníkem nebo plošnou vodotěsnou sítí. To platí zejména pro prostředí nebo scénáře, kde důkladná předběžná kontrola není optimální, protože scéna odvodí a dokončení 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 platformy Scene Understanding sítě prostorového mapování má přístup k datům prostorového mapování, která nejsou uložená v mezipaměti. Z tohoto důvodu 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í, což může přinést příjemnější vizualizaci, pokud se vykresluje jako drátový model.

Viz také