<menu id="kei0a"><strong id="kei0a"></strong></menu>
  • <menu id="kei0a"></menu>
  • <dd id="kei0a"></dd>
  • <menu id="kei0a"><strong id="kei0a"></strong></menu>
    科技魔方

    微軟專利為AR/VR介紹一種空間定位設計服務

    AR/VR

    2021年11月22日

      一般來說,定位是指代理嘗試確定其相對于周圍環境的位置,例如智能設備。在各種環境中識別和追蹤車輛、機器人和智能設備等的位置,從而執行其他計算任務是一項必要的功能,尤其是當GPS不足時。

      定位對于虛擬現實和混合現實同樣非常重要。為了正確顯示數字內容,系統需要知曉頭部的位置和方向。定位可能包括一個或兩個視覺和慣性組件。視覺部分可涉及處理由攝像頭或多個攝像頭收集的一組圖像,而慣性部分則可包括處理從慣性測量單元(IMU)收集的數據,例如加速計和陀螺儀傳感器讀數。所述圖像和數據的處理可允許系統計算由三維坐標定義的主機設備位置。

      在名為“Spatial localization design service”的專利申請中,微軟介紹了一種空間定位設計服務。具體來說,發明描述的技術使用合成世界接口來對數字環境、傳感器和運動建模,以用于評估和開發定位算法。

      在一個實施例中,傳感器平臺模擬器與運動協調器、環境協調器、實驗生成器和實驗運行器一起運行,以在虛擬環境中測試各種候選硬件配置和定位算法。

      微軟指出,通過測試給定定位算法的各種候選硬件配置,運動編排器、環境編排器和實驗生成器可快速產生相對大量的數據,以確定最佳候選硬件配置,從而有利地加快開發進度和降低成本。

      在一個實施例中,傳感器平臺模擬器可用于模擬包括一個或多個虛擬camera的硬件配置。環境編排器可以模擬一個或多個虛擬環境。運動編排器可以在一個或多個虛擬環境中模擬一個或多個模擬硬件配置的運動。實驗生成器可以為在一個或多個虛擬環境中具有模擬運動的一個或多個模擬硬件配置生成合成實驗數據。實驗運行器可以用于迭代實驗生成器以生成用于硬件配置、虛擬環境、運動和定位算法的一個或多個組合的合成實驗數據。

      在一個實施例中,合成實驗數據包括合成圖像和IMU數據。其中,IMU數據包括加速計數據和陀螺儀數據。

      在一個實施例中,專利描述的方法包括以下任意組合:實驗生成器進一步根據合成實驗數據計算一個或多個硬件配置的定位數據;評估器用于將計算出的定位數據與ground truth數據進行比較。

      圖1是示例計算設備100的框圖。計算設備100是合適計算環境的一個示例,而描述的示例可以在各種系統配置中實施,包括PC、筆記本電腦、智能手機、移動平板電腦、手持設備、消費電子產品和專業計算設備等。專利描述的示例同時可以在分布式計算環境中實施。

      在一個實施例中,計算設備100包括直接或間接耦合以下設備的總線110:計算機存儲存儲器112、一個或多個處理器114、一個或多個表示組件116、輸入/輸出(I/O)端口118、I/O組件120、電源122和網絡組件124。

      在一個實施例中,總線110表示一條或多條總線(例如地址總線、數據總線或其組合)。

      在一個實施例中,計算機存儲存儲器112可采取以下計算機存儲介質參考的形式,并可操作地為計算設備100提供計算機可讀指令、數據結構、程序模塊和其他數據的存儲。例如,計算機存儲存儲器112可以存儲操作系統、通用應用平臺或其他程序模塊和程序數據。計算機存儲存儲器112可用于存儲和訪問配置為執行專利描述的各種操作指令。

      現在轉到圖2,示例性框圖描述了用于端到端空間定位設計服務的云計算環境。云環境200示出了適合用于專利描述方法的示例性云計算基礎設施??梢允褂萌我鈹盗康墓濣c、虛擬機、數據中心、角色實例或其組合來實現期望的功能。

      圖2的分布式計算環境包括公用網絡202、專用網絡204和專用網絡206。例如,公共網絡202可以是基于公共云的計算資源網絡。專用網絡204可以是計算資源的專用企業網絡或專用基于云的網絡。并且專用網絡206可以是第三方網絡或基于云的計算資源專用網絡。

      混合云208可以包括公用網絡202、專用網絡204和專用網絡206的任意組合。例如,混合云208由公共網絡202和專用網絡204組成。

      在一個實例中,結構控制器230負責自動管理在數據中心216的節點上運行的虛擬機,并負責將角色實例和其他asset(例如,軟件組件)放置在數據中心216內。舉例來說,結構控制器230可以依賴服務模型來提供關于如何、在何處和何時配置虛擬機,以及如何、在何處和何時在其上放置角色實例的指導。

      通常,每個節點包括或鏈接到某種形式的計算單元,以支持在其上運行的組件的操作。在另一實例中,計算單元可以包括耦合到由每個節點容納的計算機可讀介質的處理器。

      圖4是用于空間定位設計服務400的框圖??臻g定位設計服務400包括傳感器平臺模擬器402,其可實現用于通過模擬硬件優化改善計算機視覺的綜合服務。傳感器平臺模擬器402可包括用于模擬傳感器平臺性能的管道(例如圖3的計算設備302的合成版本)。傳感器平臺模擬器402可用于模擬包括一個或多個虛擬camera的一個或多個硬件配置。

      空間定位設計服務400另外操作四個其他圖示模塊,所示模塊包括運動編排器404、環境編排器406和實驗生成器408、實驗運行器410和本地化應用評估器412。

      在一個實施例中,運動編排器模塊404允許空間定位設計服務400的用戶通過表達目標運動輪廓來建模與測試定位傳感器平臺和算法相關的運動。運動編排器404可用于在一個或多個虛擬環境中模擬一個或多個模擬硬件配置的運動。示例可能包括創建通過虛擬場景或房間的多個隨機行走的實例,其可以具有不同的持續時間、速度和運動路徑。

      環境編排器406用于模擬一個或多個虛擬環境。在一個實施例中,環境編排器406允許用戶操縱合成環境,例如燈光設置和特定對象的狀態,例如門。另外或可選地,環境編排器406定義場景中房間的尺寸、對象、照明、間距或其他屬性以及其中的內容。

      實驗生成器408將高級參數轉換為完整實驗的多個實例,所述實例定義要在數據生成中使用的運動集和環境。實驗生成器408可用于為在一個或多個虛擬環境中具有模擬運動的一個或多個模擬硬件配置生成合成實驗數據。即,實驗生成器408生成具有要測試的不同硬件配置或可調諧的定位算法參數的多個候選定位解決方案。

      在一個實施例中,實驗運行器410提供用于調度、監視、管理和審查在數據生成中使用的實驗批次的結果的框架。

      實驗運行器410可用于迭代實驗生成器,以生成硬件配置、虛擬環境和運動的一個或多個組合的合成實驗數據。所述迭代處理可以使用空間定位設計服務400可經由云環境200訪問的不同定位算法來完成。

      例如,合成環境中的虛擬硬件配置可以使用50、100或1000種不同的定位算法獨立處理,以測試算法對硬件配置的定位建模的效果如何。在這種情況下,實驗生成器使用各種定位算法計算合成實驗中一個或多個硬件配置的定位數據,以生成指示定位參數的定位算法輸出數據。

      在一個實施例中,定位應用評估器412定位算法將數據輸出到用于虛擬化硬件配置的GT輸入數據,以確定各種定位算法的執行效率。

      可以通過比較定位算法輸出數據與合成環境中虛擬硬件配置的GT數據的方差來確定各種定位算法的有效性。

      對于識別為與用于虛擬硬件配置的GT最接近或在接近范圍內的定位算法,可認定為它能夠更準確地計算定位參數并相應地進行存儲。其他定位算法可以確定為精度較低和/或需要額外配置。

      對于精度較低的定位應用,可反饋模擬虛擬硬件配置與其他ground truth值相比的視差數據,以改進性能。例如,可以使用人工智能進行優化。人工智能處理和機器學習可使用專利所述的定位結果來改進定位算法,無需用戶干預。

      空間定位設計服務400的操作包括使用所示各種模塊的多個過程。用戶可以使用傳感器平臺模擬器402設置設備、環境和運動引擎。參數定義了目標設備、場景和環境,以及將用于設計過程的運動類型。

      用戶可以激活運動編排器模塊404以設計如何為特定類型的實驗操縱運動引擎。用戶同時可以激活環境編排器模塊406以設計如何為特定類型的實驗操縱環境引擎。例如,研究人員/工程師可能對環境的重定位感興趣,所以可能會在單個建模房間的同一區域內生成數千個5秒鐘的測試。其中,房間的內部條件系統地變化,例如通過家具移動或改變照明條件。

      用戶可激活實驗生成器模塊408,以生成產生定位設計問題的特定方面的實驗集。實驗可以分為多種類別,如一般測試、研發或壓力測試。用戶可以利用實驗生成器408來參數化底層框架并生成用于定位算法的全自動模擬和分析的工作負載。然后,用戶可以使用實驗運行器410來調度、啟動、管理和監視使用實驗生成器408設計的各種作業??蛇x的評估器可用于將計算的定位數據與ground truth數據進行比較。

      名為“ Spatial localization design service”的微軟專利申請最初在2021年7月提交,并在日前由美國專利商標局公布。

    +1

    來源:映維網

    推薦文章

    肉H文老师好紧好大好爽
    <menu id="kei0a"><strong id="kei0a"></strong></menu>
  • <menu id="kei0a"></menu>
  • <dd id="kei0a"></dd>
  • <menu id="kei0a"><strong id="kei0a"></strong></menu>