Bagikan melalui


Pemahaman adegan

Pemahaman adegan memberi pengembang Mixed Reality representasi lingkungan terstruktur dan tingkat tinggi yang dirancang untuk membuat pengembangan untuk aplikasi yang sadar lingkungan intuitif. Pemahaman adegan melakukan ini dengan menggabungkan kekuatan runtime realitas campuran yang ada, seperti pemetaan spasial yang sangat akurat tetapi kurang terstruktur dan runtime yang digerakkan AI baru. Dengan menggabungkan teknologi ini, pemahaman Adegan menghasilkan representasi lingkungan 3D yang mirip dengan yang mungkin telah Anda gunakan dalam kerangka kerja seperti Unity atau ARKit/ARCore. Titik masuk pemahaman Adegan dimulai dengan Pengamat Adegan, yang dipanggil oleh aplikasi Anda untuk menghitung adegan baru. Saat ini, teknologi dapat menghasilkan 3 kategori objek yang berbeda tetapi terkait:

  • Jala lingkungan kedap air yang disederhanakan yang menyimpulkan struktur ruangan planar tanpa kekacauan
  • Wilayah pesawat untuk penempatan yang kami sebut Quads
  • Rekam jepret jala pemetaan spasial yang selaras dengan data Quads/Watertight yang kami permukaan

Jala pemetaan spasial, permukaan planar berlabel, jala kedap air

Dokumen ini dimaksudkan untuk memberikan gambaran umum skenario dan untuk mengklarifikasi hubungan yang dipahami Adegan dan berbagi pemetaan spasial. Jika Anda ingin melihat Pemahaman Adegan beraksi, lihat demo video Merancang Hologram - Kesadaran Spasial di bawah ini:

Video ini diambil dari aplikasi HoloLens 2 "Merancang Hologram". Unduh dan nikmati pengalaman lengkapnya di sini.

Mengembangkan dengan Pemahaman Adegan

Artikel ini hanya berfungsi untuk memperkenalkan runtime dan konsep Scene Understanding. Jika Anda mencari dokumentasi tentang cara mengembangkan dengan Scene Understanding, Anda mungkin tertarik dengan artikel berikut:

Gambaran umum SDK Pemahaman Adegan

Anda dapat mengunduh aplikasi Sampel Pemahaman Adegan dari situs GitHub sampel:

Sampel Pemahaman Adegan

Jika Anda tidak memiliki perangkat dan ingin mengakses adegan sampel untuk mencoba Pemahaman Adegan, ada adegan di folder aset sampel:

Adegan Memahami Adegan Sampel

SDK

Jika Anda mencari detail spesifik tentang pengembangan dengan Scene Understanding, lihat dokumentasi gambaran umum Scene Understanding SDK .

Sampel

Dukungan perangkat

Fitur HoloLens (generasi ke-1) HoloLens 2 Headset imersif
Pemahaman adegan ✔️

Skenario penggunaan umum

Ilustrasi skenario penggunaan pemetaan spasial umum: Penempatan, Oklusi, Fisika, dan Navigasi
Skenario penggunaan pemetaan spasial umum: penempatan, oklusi, fisika, dan navigasi.


Banyak skenario inti untuk aplikasi yang sadar lingkungan dapat diatasi oleh pemetaan spasial dan pemahaman Adegan. Skenario inti ini termasuk penempatan, oklusi, fisika, dan sebagainya. Perbedaan inti antara pemahaman Adegan dan Pemetaan spasial adalah pertukaran akurasi dan latensi maksimal terhadap struktur dan kesederhanaan. Jika aplikasi Anda memerlukan latensi serendah mungkin dan segitiga jala yang hanya ingin Anda akses, gunakan Pemetaan Spasial secara langsung. Jika Anda melakukan pemrosesan tingkat yang lebih tinggi, Anda dapat mempertimbangkan untuk beralih ke model Pemahaman adegan karena seharusnya memberi Anda superset fungsionalitas. Anda akan selalu memiliki akses ke data pemetaan spasial yang paling lengkap dan akurat karena pemahaman Adegan menyediakan rekam jepret jala pemetaan spasial sebagai bagian dari representasinya.

Bagian berikut mengunjungi kembali skenario pemetaan spasial inti dalam konteks SDK pemahaman Adegan baru.

Penempatan

Pemahaman adegan menyediakan konstruksi baru yang dirancang untuk menyederhanakan skenario penempatan. Adegan dapat menghitung primitif yang disebut SceneQuads, yang menggambarkan permukaan datar tempat hologram dapat ditempatkan. SceneQuads telah dirancang sekeliling penempatan dan menggambarkan permukaan 2D dan menyediakan API untuk penempatan di permukaan tersebut. Sebelumnya, ketika menggunakan jala segitiga untuk melakukan penempatan, seseorang harus memindai semua area quad dan melakukan pengisian lubang/pasca-pemrosesan untuk mengidentifikasi lokasi yang baik untuk penempatan objek. Ini tidak selalu diperlukan dengan Quads, karena runtime pemahaman Adegan menyimpulkan area quad mana yang tidak dipindai, dan membatalkan area yang bukan bagian dari permukaan.

SceneQuads dengan inferensi dinonaktifkan, menangkap area penempatan untuk wilayah yang dipindai.
Gambar #1 - SceneQuads dengan inferensi dinonaktifkan, menangkap area penempatan untuk wilayah yang dipindai.

Quad dengan inferensi diaktifkan, penempatan tidak lagi terbatas pada area yang dipindai.
Gambar #2 - Quad dengan inferensi diaktifkan, penempatan tidak lagi terbatas pada area yang dipindai.


Jika aplikasi Anda berniat menempatkan hologram 2D atau 3D pada struktur lingkungan Anda yang kaku, kesederhanaan dan kenyamanan SceneQuads untuk penempatan lebih disukai untuk menghitung informasi ini dari jala pemetaan spasial . Untuk informasi selengkapnya tentang topik ini, lihat referensi SDK pemahaman adegan

Catatan Untuk kode penempatan warisan yang bergantung pada jala pemetaan spasial, jala pemetaan spasial dapat dihitung bersama dengan SceneQuads dengan mengatur pengaturan EnableWorldMesh. Jika API pemahaman Adegan tidak memenuhi persyaratan latensi aplikasi Anda, kami sarankan Anda terus menggunakan API pemetaan Spasial.

Halangan

Oklusi pemetaan spasial tetap menjadi cara yang paling tidak laten untuk menangkap keadaan lingkungan secara real time. Meskipun ini mungkin berguna untuk memberikan oklusi dalam adegan yang sangat dinamis, Anda mungkin ingin mempertimbangkan pemahaman Adegan karena oklusi karena beberapa alasan. Jika Anda menggunakan jala pemetaan spasial yang dihasilkan oleh Scene Understanding, Anda dapat meminta data dari pemetaan spasial yang tidak akan disimpan di cache lokal dan tidak tersedia dari API persepsi. Menggunakan Pemetaan Spasial untuk oklusi bersama jala kedap air akan memberikan nilai ekstra, khususnya penyelesaian struktur ruangan yang tidak dipindai.

Jika kebutuhan Anda dapat mentolerir peningkatan latensi pemahaman Adegan, pengembang aplikasi harus mempertimbangkan untuk menggunakan jala kedap air pemahaman Adegan, dan jala pemetaan spasial serempak dengan representasi planar. Ini akan memberikan skenario "terbaik dari kedua dunia" di mana oklusi kedap air yang disederhanakan menikah dengan geometri nonplanar yang lebih halus yang menyediakan peta oklusi paling realistis yang mungkin.

Fisika

Pemahaman adegan menghasilkan jala kedap air yang menguraikan ruang dengan semantik, khususnya untuk mengatasi banyak keterbatasan fisika yang memaksa jala pemetaan spasial. Struktur kedap air memastikan transmisi sinar fisika selalu mengenai, dan dekomposisi semantik memungkinkan pembuatan jala navigasi yang lebih sederhana untuk navigasi dalam ruangan. Seperti yang dijelaskan di bagian oklusi, membuat adegan dengan EnableSceneObjectMeshes dan EnableWorldMesh akan menghasilkan jala yang paling lengkap secara fisik. Properti kedap air dari jala lingkungan mencegah tes hit gagal mencapai permukaan. Data jala akan memastikan fisika berinteraksi dengan semua objek dalam adegan dan bukan hanya struktur ruangan.

Jala planar yang diurai oleh kelas semantik adalah konstruksi ideal untuk navigasi dan perencanaan jalur, mengurangi banyak masalah yang dijelaskan dalam gambaran umum navigasi pemetaan spasial . Objek SceneMesh yang dihitung dalam adegan diurutkan berdasarkan jenis permukaan yang memastikan bahwa pembuatan nav-mesh terbatas pada permukaan yang dapat dijalani. Karena kesederhanaan struktur lantai, generasi nav-mesh dinamis di mesin 3d seperti Unity dapat dicapai tergantung pada persyaratan real-time.

Menghasilkan jala navigasi yang akurat saat ini masih memerlukan pasca-pemrosesan, yaitu aplikasi harus tetap memproyeksikan okluder ke lantai untuk memastikan bahwa navigasi tidak melewati kekacauan/tabel dan sebagainya. Cara paling akurat untuk mencapainya adalah dengan memproyeksikan data jala dunia, yang disediakan jika adegan dihitung dengan bendera EnableWorldMesh.

Visualisasi

Meskipun visualisasi pemetaan spasial dapat digunakan untuk umpan balik lingkungan secara real time, ada banyak skenario di mana kesederhanaan objek planar dan watertight memberikan lebih banyak performa atau kualitas visual. Proyeksi bayangan dan teknik grounding yang dijelaskan menggunakan pemetaan spasial mungkin lebih menyenangkan jika diproyeksikan pada permukaan planar yang disediakan oleh Quads atau jala kedap air planar. Ini terutama berlaku untuk lingkungan/skenario di mana pra-pemindaian menyeluruh tidak optimal karena adegan akan menyimpulkan, dan menyelesaikan lingkungan dan asumsi planar akan meminimalkan artefak.

Selain itu, jumlah total permukaan yang dikembalikan oleh Pemetaan Spasial dibatasi oleh cache spasial internal, sementara versi pemahaman Adegan dari jala Pemetaan Spasial dapat mengakses data pemetaan spasial yang tidak di-cache. Karena itu, pemahaman Adegan lebih cocok untuk menangkap representasi jala untuk ruang yang lebih besar (misalnya, lebih besar dari satu ruangan) untuk visualisasi atau pemrosesan jala lebih lanjut. Jala dunia yang dikembalikan dengan EnableWorldMesh akan memiliki tingkat detail yang konsisten di seluruh, yang dapat menghasilkan visualisasi yang lebih menyenangkan jika dirender sebagai wireframe.

Lihat juga