A jelenetfelismerés Mixed Reality fejlesztők számára egy strukturált, magas szintű környezetábrázolást biztosít, amelynek célja, hogy a környezettudatos alkalmazások fejlesztése intuitív legyen. A jelenetfelismerés ezt a meglévő vegyes valóság-futtatókörnyezetek, például a rendkívül pontos, de kevésbé strukturált térbeli leképezések és az új AI-alapú futtatókörnyezetek egyesítésével teszi. Ezen technológiák kombinálásával a Jelenetfelismerés olyan 3D-környezeteket hoz létre, amelyek hasonlóak a Unity vagy az ARKit/ARCore keretrendszerekben használt környezetekhez. A Jelenet megértése belépési pont egy Jelenetfigyelővel kezdődik, amelyet az alkalmazás meghív egy új jelenet kiszámításához. Ma a technológia 3 különböző, de kapcsolódó objektumkategóriát hozhat létre:
Egyszerűsített vízmentes környezeti hálók, amelyek a planáris helyiségszerkezetet zsúfoltság nélkül következtetik
Síkrégiók a quadoknak nevezett elhelyezéshez
Pillanatkép a térbeli leképezési hálóról, amely igazodik az általunk felszínre hozott Quads/Watertight adatokhoz
Ez a dokumentum áttekintést nyújt a forgatókönyvekről, és tisztázza a jelenetértelmezés és a térbeli leképezés megosztásának kapcsolatát. Ha működés közben szeretné megtekinteni a Jelenetfelismerést, tekintse meg a Tervezés hologramok – Térbeli tudatosság videó bemutatóját alább:
Ez a videó a "Hologramok tervezése" HoloLens 2 alkalmazásból származik. Töltse le és élvezze a teljes élményt itt.
Fejlesztés a Scene Understanding használatával
Ez a cikk csak a Scene Understanding-futtatókörnyezet és a fogalmak bemutatására szolgál. Ha dokumentációt keres a Scene Understanding használatával történő fejlesztésről, az alábbi cikkek érdekelhetik:
Ha konkrét részleteket szeretne megtudni a Scene Understanding használatával történő fejlesztésről, tekintse meg a Scene Understanding SDK áttekintési dokumentációját.
Gyakori térbeli leképezési használati forgatókönyvek: elhelyezés, elzáródás, fizika és navigáció.
A környezettudatos alkalmazások számos alapvető forgatókönyvét a térbeli leképezés és a jelenetfelismerés egyaránt meg tudja oldani. Ezek az alapvető forgatókönyvek közé tartozik az elhelyezés, az elzáródás, a fizika stb. A jelenetfelismerés és a térbeli leképezés közötti alapvető különbség a maximális pontosság és a késés különbsége a szerkezet és az egyszerűség között. Ha az alkalmazásnak a lehető legalacsonyabb késésű és hálós háromszögekre van szüksége, amelyeket csak Ön szeretne elérni, használja közvetlenül a térbeli leképezést. Ha magasabb szintű feldolgozást végez, érdemes lehet átváltani a Jelenetfelismerési modellre, mivel az biztosítja a funkciók szuperkészletét. Mindig hozzáférhet a lehető legteljesebb és legpontosabb térbeli leképezési adatokhoz, mivel a Jelenetfelismerés pillanatképet biztosít a térbeli leképezési hálóról az ábrázolás részeként.
Az alábbi szakaszok az új Scene understanding SDK kontextusában újra áttekintik az alapvető térbeli leképezési forgatókönyveket.
Elhelyezés
A jelenetfelismerés új szerkezeteket biztosít, amelyek az elhelyezési forgatókönyvek egyszerűsítésére szolgálnak. A jelenet képes a SceneQuads nevű primitívek kiszámítására, amelyek lapos felületeket írnak le, amelyeken hologramok helyezhetők el. A SceneQuads a 2D felület elhelyezésére és leírására lett tervezve, és egy API-t biztosít az adott felületen való elhelyezéshez. Korábban, amikor a háromszöghálót használta az elhelyezéshez, be kellett vizsgálnia a quad összes területét, és lyukkitöltést/utófeldolgozást kellett végeznie, hogy azonosítsa a megfelelő helyeket az objektumok elhelyezéséhez. Ez a quadok esetében nem mindig szükséges, mivel a jelenetfelismerési futtatókörnyezet arra következtet, hogy mely quadterületeket nem vizsgálták meg, és érvényteleníti a felület részét nem képező területeket.
1. kép – SceneQuads with következtetés letiltva, a beolvasott régiók elhelyezési területeinek rögzítése.
2. kép – A következtetést engedélyező quadok elhelyezése már nem korlátozódik a beolvasott területekre.
Ha az alkalmazás 2D vagy 3D hologramokat kíván elhelyezni a környezet merev struktúráira, a SceneQuads elhelyezésének egyszerűsége és kényelme előnyösebb, ha ezeket az információkat a térbeli leképezési hálóból számítja ki. A témával kapcsolatos további információkért lásd: Jelenetfelismerési SDK-referencia
Megjegyzés A térbeli leképezési hálótól függő régi elhelyezési kód esetén a térbeli leképezési háló az EnableWorldMesh beállítással a SceneQuads mellett számítható ki. Ha a Scene understanding API nem felel meg az alkalmazás késési követelményeinek, javasoljuk, hogy továbbra is használja a Spatial Mapping API-t.
Elzáródás
A térbeli leképezési elzáródás továbbra is a legkevésbé látens módszer a környezet valós idejű állapotának rögzítésére. Bár ez hasznos lehet a rendkívül dinamikus jelenetekben való elzáródás biztosításához, több okból is érdemes megfontolni a jelenetfelismerést az elzáródás érdekében. Ha a Scene Understanding által létrehozott térbeli leképezési hálót használja, olyan térbeli leképezésből kérhet le adatokat, amelyeket nem tárolna a helyi gyorsítótárban, és amelyek nem érhetők el az észlelési API-kból. Ha térbeli leképezést használ a vízmentes hálók mellett az elzáródáshoz, az extra értéket nyújt, különösen a be nem vizsgált helyiségszerkezetek befejezését.
Ha a követelmények el tudják viselni a jelenetfelismerés megnövekedett késését, az alkalmazásfejlesztőknek érdemes megfontolni a Scene understanding vízmentes háló és a térbeli leképezési háló használatát a planáris ábrázolásokkal együtt. Ez "mindkét világ legjobbja" forgatókönyvet nyújtaná, ahol az egyszerűsített vízmentes elzáródás finomabb, nemplanáris geometriával nősül, és a lehető legrelehetőbb elzáródási térképeket biztosítja.
Fizika
A jelenetfelismerés vízmentes hálókat hoz létre, amelyek szemantika segítségével bontják le a teret, különösen a térbeli leképezési hálók által előírt fizikai korlátozások kezelésére. A vízmentes szerkezetek biztosítják, hogy a fizikai sugarak mindig elérjenek, és a szemantikai felbontás lehetővé teszi a navigációs hálók egyszerűbb létrehozását a beltéri navigációhoz. Az elzáródásról szóló szakaszban leírtak szerint az EnableSceneObjectMeshes és az EnableWorldMesh segítségével létrehozott jelenet a lehető legteljesebb hálót hozza létre. A környezeti háló vízmentes tulajdonsága megakadályozza, hogy a találati tesztek ne üsse el a felületeket. A hálóadatok biztosítják, hogy a fizika a jelenet összes objektumával interakcióba lépjen, és ne csak a helyiség szerkezetével.
Navigáció
A szemantikai osztály által felbontott planáris hálók ideális szerkezetek a navigációhoz és az útvonaltervezéshez, ami enyhíti a térbeli leképezési navigáció áttekintésében ismertetett számos problémát. A jelenetben kiszámított SceneMesh objektumok felülettípus szerint vannak összeállítva, így a navigálási háló létrehozása csak a járható felületekre korlátozódik. A padlószerkezetek egyszerűsége miatt a valós idejű követelményektől függően dinamikus navigálási háló generáció érhető el a 3D motorokban, például a Unityben.
A pontos navigációs hálók létrehozása jelenleg még utófeldolgozást igényel, nevezetesen az alkalmazásoknak továbbra is a padlóra kell kivetíteniük az elzáródókat, hogy a navigáció ne haladjon át az átnézendőken/táblákon, és így tovább. Ennek legpontosabb módja a világháló adatainak kivetítése, amely akkor érhető el, ha a jelenetet az EnableWorldMesh jelzővel számítják ki.
Vizualizáció
Bár a térbeli leképezési vizualizáció használható a környezet valós idejű visszajelzésére, számos olyan forgatókönyv van, amikor a planáris és vízmentes objektumok egyszerűsége nagyobb teljesítményt vagy vizualizációminőséget biztosít. A térbeli leképezéssel leírt árnyékvetítési és földelési technikák kellemesebbek lehetnek, ha a quadok vagy a planáris vízmentes háló által biztosított síkfelületekre vetülnek. Ez különösen igaz olyan környezetekre/forgatókönyvekre, ahol az alapos előzetes vizsgálat nem optimális, mert a jelenet következtet, és a teljes környezetek és a planáris feltételezések minimalizálják az összetevőket.
Emellett a térbeli leképezés által visszaadott felületek teljes számát a belső térbeli gyorsítótár korlátozza, míg a Térbeli leképezési háló Scene Understanding-verziója hozzáférhet a nem gyorsítótárazott térbeli leképezési adatokhoz. Emiatt a jelenetfelismerés alkalmasabb nagyobb (például egy helyiségnél nagyobb) térháló-ábrázolások rögzítésére vizualizációk vagy további hálófeldolgozás céljából. Az EnableWorldMesh-szel visszaadott világháló teljes körű részletességgel rendelkezik, ami kellemesebb vizualizációt eredményezhet, ha drótvázként jelenik meg.
Megtudhatja, hogyan hozhat létre 3D-s jelenetet a Unityben a Microsoft Maps SDK vagy statikus terep használatával. Ismerkedjen meg a vegyes valóság látványtervével, a Unity felülettel és a Unity-projekt vegyes valóságú eszközön való üzembe helyezésével.
Megtudhatja, hogyan telepítheti és használhatja a Scene Understanding SDK-t, beleértve az összetevőket, hálókat és objektumokat a vegyes valóságbeli alkalmazásokban.
A Windows Mixed Reality a Univerzális Windows-platform által biztosított alkalmazásmodellt használja, amely egy modern Windows-alkalmazásokhoz készült modell és környezet.