Share via


Jelenetfelismerés

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

Térbeli leképezési háló, címkézett síkfelületek, vízmentes háló

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:

Scene Understanding SDK – áttekintés

A Scene Understanding mintaalkalmazást a GitHub-mintawebhelyről töltheti le:

Jelenetfelismerési minta

Ha nincs eszköze, és szeretne hozzáférni a mintajelenetekhez a Scene Understanding kipróbálásához, a mintaeszköz mappájában vannak jelenetek:

Jelenet – Mintaképek ismertetése

SDK

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.

Sample

Eszköztámogatás

Szolgáltatás HoloLens (1. generációs) HoloLens 2 Modern headsetek
Jelenetfelismerés ✔️

Gyakori használati forgatókönyvek

A térbeli leképezések gyakori használati forgatókönyveinek illusztrációi: Elhelyezés, elzáródás, fizika és navigáció
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.

SceneQuads a következtetés letiltva, rögzítve az elhelyezési területeket a beolvasott régiókhoz.
1. kép – SceneQuads with következtetés letiltva, a beolvasott régiók elhelyezési területeinek rögzítése.

A következtetést engedélyező quadok elhelyezése már nem korlátozódik a beolvasott területekre.
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.

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.

Lásd még: