魏一雄,張燕龍,張紅旗,周紅橋,郭 磊,李 廣
(1.中國電子科技集團(tuán)公司第三十八研究所,合肥 230088;2.安徽省技術(shù)標(biāo)準(zhǔn)創(chuàng)新基地,合肥 230088)
增強(qiáng)/混合現(xiàn)實(shí)(Augmented/Mixed Reality,AR/MR)技術(shù)是典型的數(shù)字化、虛擬化、智能化、網(wǎng)絡(luò)化集成的新一代人機(jī)交互技術(shù),可以將計(jì)算機(jī)模擬的數(shù)字化信息數(shù)據(jù)與現(xiàn)實(shí)場(chǎng)景環(huán)境無縫疊加,突破空間/時(shí)間限制,實(shí)現(xiàn)高沉浸、無割裂感的實(shí)時(shí)信息指引、虛實(shí)互動(dòng)。在人工智能、圖形仿真、虛擬通信、娛樂互動(dòng)、產(chǎn)品演示、模擬訓(xùn)練等領(lǐng)域[1-3],AR/MR 技術(shù)帶來了革命性變化,不斷推動(dòng)新的使用場(chǎng)景和商業(yè)模式出現(xiàn),釋放了傳統(tǒng)行業(yè)創(chuàng)新活力[4]。市場(chǎng)調(diào)研公司Digi-Capital 指出,到2020 年底,全球AR/MR 行業(yè)總收入水平將達(dá)到1 200 億美元。
主流增強(qiáng)/混合現(xiàn)實(shí)主要有基于二維顯示屏、基于二維投影、基于頭戴顯示設(shè)備(Head-Mounted Display,HMD)[5-6]3種實(shí)現(xiàn)形式。前兩種實(shí)現(xiàn)形式具有成本低、學(xué)習(xí)快的優(yōu)勢(shì),與傳統(tǒng)的二維可視化使用習(xí)慣保持一致,但在實(shí)際應(yīng)用操作時(shí)有明顯的不足。頭戴式的實(shí)現(xiàn)方式也被稱作近眼顯示設(shè)備,包括視網(wǎng)掃描顯示、頭戴式顯示器、頭戴式投影顯示器3 種形態(tài),都是固定在人體頭部,通過相應(yīng)的光學(xué)組件使得虛擬圖像可以疊加顯示在肉眼觀察的真實(shí)物體上,從而實(shí)現(xiàn)AR/MR 效果[7-9]。對(duì)比前兩種實(shí)現(xiàn)方式,HMD 的實(shí)現(xiàn)方式具有直觀性強(qiáng)、沉浸感高、可用性好(解放雙手)等優(yōu)勢(shì),因此近年來在工程、建筑、制造等應(yīng)用領(lǐng)域受到廣泛關(guān)注。頭戴式增強(qiáng)/混合現(xiàn)實(shí)設(shè)備有兩種,一種是眼鏡形式的設(shè)備,例如谷歌的GoogleGlass,另一種是頭戴式的設(shè)備,如微軟的Hololens。
越來越多的高校、研究院所、企業(yè)單位開始將頭戴式增強(qiáng)/混合現(xiàn)實(shí)技術(shù)應(yīng)用于工業(yè)、建筑業(yè)和制造業(yè)等領(lǐng)域[10-12]。文獻(xiàn)[13]研究了基于可穿戴設(shè)備(谷歌眼鏡)的智能變電站巡檢虛擬視頻和實(shí)時(shí)數(shù)據(jù)展示技術(shù),該技術(shù)突破了常規(guī)變電站巡檢難以有效獲取實(shí)時(shí)數(shù)據(jù)的障礙;德國蒂森克虜伯公司在2017年開始與微軟達(dá)成戰(zhàn)略合作,將頭戴式Hololens 設(shè)備應(yīng)用于工程師的產(chǎn)品培訓(xùn)以及客戶現(xiàn)場(chǎng)的遠(yuǎn)程運(yùn)維指導(dǎo)[14];文獻(xiàn)[15]將頭戴式AR 設(shè)備應(yīng)用于船舶建造,提出基于HoloLens 的船舶分段建造工藝信息AR引導(dǎo)方法,有效提升了復(fù)雜結(jié)構(gòu)船舶的構(gòu)造效能。
頭戴式增強(qiáng)/混合現(xiàn)實(shí)設(shè)備雖然可以有效解決虛實(shí)融合、信息引導(dǎo)等問題,并提供較好的直觀、沉浸感受,但綜觀現(xiàn)有研究,可以發(fā)現(xiàn)多數(shù)應(yīng)用場(chǎng)合均為單人操作[16],缺乏多人協(xié)同的應(yīng)用場(chǎng)景。這是因?yàn)轭^戴式AR/MR 設(shè)備有典型獨(dú)占性缺陷,即僅使用者可以體驗(yàn)虛實(shí)融合的場(chǎng)景,而其他人無法了解操作者所觀看到的內(nèi)容。當(dāng)應(yīng)用場(chǎng)景是個(gè)體即可完成,且不需要告知其他人員操作過程時(shí)并沒有問題,但如果應(yīng)用場(chǎng)景需要多人協(xié)同,或需要將操作人員所處的三維虛實(shí)融合空間與他人分享時(shí),當(dāng)前的設(shè)備難以完成此項(xiàng)任務(wù)。文獻(xiàn)[17]針對(duì)上述問題提出了協(xié)同式增強(qiáng)現(xiàn)實(shí)的一致三維空間關(guān)系處理模型或方法,但該方法面向的是視頻序列的一致注冊(cè),并未解決實(shí)時(shí)虛實(shí)融合場(chǎng)景的協(xié)同問題。微軟提出了兩種解決方案[18]:一種是通過視頻采集方式將第一視角的虛實(shí)疊加場(chǎng)景傳遞到網(wǎng)頁端(這也是主流AR/MR 設(shè)備視角分享方案),此種方式具有圖像抖動(dòng)過大、分辨率較低和延遲較高等缺陷;另一種則是Spectator View 的解決方案,雖然此方案可以實(shí)現(xiàn)類似第三方視角效果,但平臺(tái)終端使用有限制,同時(shí)缺乏多終端的信息同步策略。在研究領(lǐng)域,還有企業(yè)提出基于命令同步和完全數(shù)據(jù)同步兩種第三方視角實(shí)現(xiàn)方式。第一種同步方式需要和程序強(qiáng)耦合,即在程序代碼每一處命令節(jié)點(diǎn)添加同步命令,適應(yīng)性較差,對(duì)用于使用的要求較高。第二種同步方式需要大帶寬的網(wǎng)絡(luò)環(huán)境,當(dāng)遇到較大模型和較多變化時(shí),很容易發(fā)生信息丟失、卡頓現(xiàn)象。
針對(duì)上述問題,本文提出基于網(wǎng)絡(luò)通信的低延遲虛實(shí)融合內(nèi)容第三方視角可視化方法。該方法基于第三方相機(jī)位置以及空間方位換算獲得第三方視角方位,可以有效解決第一視角的抖動(dòng)、傳輸延遲等問題,并根據(jù)主視角的交互信息/環(huán)境信息/虛實(shí)狀態(tài)的多種數(shù)據(jù)類型特點(diǎn)提出不同的同步策略,實(shí)現(xiàn)在多種第三方可視化裝置上對(duì)于虛實(shí)融合內(nèi)容的完全復(fù)現(xiàn)。同時(shí)為避免大數(shù)據(jù)量對(duì)于帶寬的壓力,提出了長時(shí)間連續(xù)發(fā)生信息變化對(duì)象的低數(shù)據(jù)量同步策略。
AR/MR 技術(shù)的本質(zhì)是虛擬信息數(shù)據(jù)在實(shí)際空間中的疊加,在這一過程中,較為重要的是虛擬信息數(shù)據(jù)在空間中的定位。本文首先進(jìn)行物理空間中虛擬空間的注冊(cè)定位,確定虛擬信息在空間中的位置,然后根據(jù)第三方視角裝置在物理空間的觀察方位,改變對(duì)應(yīng)虛擬相機(jī)的空間方位,即可實(shí)現(xiàn)第三方設(shè)備對(duì)同一虛實(shí)融合空間的觀察。
為方便描述,本文定義如下若干描述語:
主視角裝置:即可頭戴式的AR/MR 設(shè)備裝置。
第三方視角裝置:即部署于物理空間,包含影像采集設(shè)備、計(jì)算設(shè)備、可視化設(shè)備等在內(nèi)的裝置,可以是整合于一起的裝置,如Pad、手機(jī)等,也可以是分離的設(shè)備,如圖1 所示。
圖1 第三方視角應(yīng)用示意圖Fig.1 Schematic diagram of third-party perspective application
客戶端:主視角和第三方視角此類可視化模塊均為客戶端。
服務(wù)端:部署于電腦中,用于處理通信會(huì)話數(shù)據(jù)的功能模塊。
錨點(diǎn):是指在虛擬場(chǎng)景中構(gòu)建某一坐標(biāo)位置,并將這一坐標(biāo)位置與物理環(huán)境空間的相對(duì)位置鎖定。
由于AR/MR 設(shè)備的主要作用是輔助操作人員進(jìn)行工作,意味著虛實(shí)融合空間中的內(nèi)容也是動(dòng)態(tài)變化的場(chǎng)景內(nèi)容,需要通過信息同步的方式將操作端的交互信息/環(huán)境信息/虛實(shí)狀態(tài)等數(shù)據(jù)同步到第三方可視化設(shè)備,保證兩邊所看到的虛實(shí)融合場(chǎng)景變化同步,達(dá)到在虛實(shí)空間中溝通交流的目標(biāo)。第三方視角實(shí)現(xiàn)的一般流程如圖2 所示。
圖2 第三方視角實(shí)現(xiàn)的一般流程Fig.2 General procedure of third-party perspective implementation
實(shí)現(xiàn)過程主要分為兩種功能模塊:一種是系統(tǒng)初始化與校準(zhǔn),主要針對(duì)客戶端的初始化與校準(zhǔn)操作,即主視角裝置的空間定位注冊(cè)、第三方視角裝置的設(shè)備校準(zhǔn)、服務(wù)端的網(wǎng)絡(luò)通信會(huì)話建立等過程;另一種是針對(duì)交互信息/環(huán)境信息/虛實(shí)狀態(tài)等的數(shù)據(jù)如何在主視角裝置和第三方視角裝置間實(shí)時(shí)信息同步策略,其中包括數(shù)據(jù)傳輸方式、觸發(fā)條件、數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)驅(qū)動(dòng)等內(nèi)容。具體實(shí)現(xiàn)的技術(shù)框架如圖3 所示。
圖3 第三方視角實(shí)現(xiàn)的技術(shù)架構(gòu)Fig.3 Technical framework of third-party perspective implementation
為保證多終端之間的數(shù)據(jù)通信要求,本文在電腦端構(gòu)建服務(wù)端程序,并在系統(tǒng)啟動(dòng)時(shí)就開始構(gòu)建可以與其他硬件設(shè)備進(jìn)行信息通信的數(shù)字化環(huán)境,即通信會(huì)話。通信會(huì)話是主視角與第三方視角間數(shù)據(jù)通信的基礎(chǔ)模塊,用于將序列化后的坐標(biāo)、材質(zhì)、標(biāo)識(shí)、命令等信息數(shù)據(jù)通過TCP/IP 協(xié)議實(shí)時(shí)傳遞。所有客戶端在初始化與校準(zhǔn)之際均會(huì)啟動(dòng)加入會(huì)話的流程,而服務(wù)端也會(huì)記錄所有加入會(huì)話的裝置、IP、ID 等信息數(shù)據(jù),用于標(biāo)記后續(xù)傳遞數(shù)據(jù)的起點(diǎn)及終點(diǎn)。服務(wù)端主要實(shí)現(xiàn):1)主視角裝置完成空間定位后,上傳并保存錨點(diǎn)信息;2)第三方視角裝置瞎猜錨點(diǎn)信息,反推自身所處空間位置;3)多終端信息同步傳輸。
系統(tǒng)初始化與校準(zhǔn)是針對(duì)主視角裝置、第三方視角裝置的相關(guān)參數(shù)設(shè)置及建立通信鏈接的過程。無論是主視角裝置還是第三方視角裝置,所運(yùn)行的系統(tǒng)程序是相同的,因此系統(tǒng)在啟動(dòng)之初需要判斷所使用硬件終端是主操作的頭戴式增強(qiáng)/混合現(xiàn)實(shí)設(shè)備,或是用于第三方視角的其他硬件設(shè)備。如果確定是頭戴式增強(qiáng)/混合現(xiàn)實(shí)設(shè)備,則開始調(diào)用硬件攝像頭進(jìn)行環(huán)境識(shí)別,確定設(shè)備與實(shí)際場(chǎng)景環(huán)境間的相對(duì)位置關(guān)系A(chǔ)P(x,y,z,α,β,γ),其中,x、y、z為位置坐標(biāo)信息,α、β、γ為旋轉(zhuǎn)角度信息。頭戴式設(shè)備通常需要調(diào)用深度紅外相機(jī)API 接口標(biāo)定空間三維位置信息,反向計(jì)算得到設(shè)備位置。而平板類設(shè)備包含兩類標(biāo)定方式:一是通過調(diào)用ToF 結(jié)構(gòu)光計(jì)算空間位置;二是通過圖像識(shí)別反向推算位置[19],此種方式誤差較大?;谠O(shè)備與空間的位置關(guān)系,主視角人員通過交互操作在空間中放置錨點(diǎn)進(jìn)行注冊(cè)[20],得到錨點(diǎn)在空間中的位置。錨點(diǎn)是虛實(shí)融合空間的具體確定位置,基于錨點(diǎn)建立物理空間與虛擬空間匹配的全局坐標(biāo)系(Global Coordinate System,GCS)。通過錨點(diǎn)位置及AP 坐標(biāo),可以獲得設(shè)備與錨點(diǎn)的位置關(guān)系,即頭戴式設(shè)備的AR/MR 環(huán)境坐標(biāo)系(AR/MR Environment Coordinate System,AR/MR ECS)。ECS用于確定虛實(shí)融合場(chǎng)景中對(duì)象方位的確定。為便于計(jì)算,本文假設(shè)在ECS 坐標(biāo)系中設(shè)備相對(duì)于錨點(diǎn)的位置的齊次表示為TP(x,y,z,1),TP 坐標(biāo)反映了設(shè)備與錨點(diǎn)的相對(duì)位置關(guān)系,是信息數(shù)據(jù)同步過程中的不同設(shè)備觀看對(duì)象所呈現(xiàn)角度差異的計(jì)算依據(jù)。方位的反向推導(dǎo)過程如圖4 所示。需要注意的是,本文所描述的坐標(biāo)位置除非特殊說明,都是指相對(duì)于GCS 的坐標(biāo)方位。在主視角裝置系統(tǒng)GCS 位置確定完成之后,系統(tǒng)自動(dòng)將所得到的錨點(diǎn)信息上傳到服務(wù)端,便于其他硬件設(shè)備訪問數(shù)據(jù)。
圖4 第三方視角裝置在虛實(shí)融合空間中的方位推導(dǎo)過程Fig.4 Orientation derivation process of third-party perspective device in the virtual real fusion space
當(dāng)系統(tǒng)確定當(dāng)前設(shè)備是第三方視角裝置時(shí),首先進(jìn)行校準(zhǔn)操作,即獲取第三方視角硬件設(shè)備的攝像頭焦距參數(shù),計(jì)算與設(shè)備本身位置坐標(biāo)系的相對(duì)關(guān)系,便于后期確定虛擬對(duì)象在第三方視角中的大小,從而從感官上符合主視角裝置所看到的內(nèi)容。校準(zhǔn)完成后,和主視角裝置類似,確定第三方視角在空間中的位置的齊次表示:AP1(x1,y1,z1,1)。系統(tǒng)從服務(wù)端調(diào)取錨點(diǎn)信息數(shù)據(jù),并基于錨點(diǎn)在實(shí)際場(chǎng)景中的方位,以錨點(diǎn)為虛擬場(chǎng)景中的坐標(biāo)系原點(diǎn),結(jié)合第三方視角在實(shí)際場(chǎng)景中通過識(shí)別確定相對(duì)位置AP1,得到第三方視角在錨點(diǎn)坐標(biāo)系中的位置的齊次表示:TP1(xt,yt,zt,1)。
坐標(biāo)方位的推導(dǎo)公式如下所示:
其中,Mv→w為位置變換矩陣。
對(duì)于固定式的第三方視角裝置,例如三腳架配合相機(jī)及PC 電腦,TP1 的值是固定的,不需要系統(tǒng)進(jìn)行實(shí)時(shí)計(jì)算;而對(duì)于可移動(dòng),例如手持式Pad,由于裝置在物理空間中保持移動(dòng),如圖1 所示,需要設(shè)備進(jìn)行實(shí)時(shí)的方位計(jì)算,因此TP1 的數(shù)值是動(dòng)態(tài)變化的。
系統(tǒng)初始化與校準(zhǔn)完成后,多個(gè)客戶端(包括主視角端以及第三方視角端)間已完成虛實(shí)空間匹配以及通信鏈路的構(gòu)建,要實(shí)現(xiàn)真正的第三方視角效果,還需要進(jìn)行多終端間信息的同步。由于增強(qiáng)現(xiàn)實(shí)設(shè)備多數(shù)具有無線通信功能,且為避免使用時(shí)空間約束,信息同步基于無線網(wǎng)絡(luò)傳輸。本文提出了基于通用通信協(xié)議的信息數(shù)據(jù)序列化方法,即將待傳遞信息(如狀態(tài)對(duì)象、ID 標(biāo)識(shí)、坐標(biāo)、比例、材質(zhì)等)均統(tǒng)一定義為Object 對(duì)象,把這些數(shù)據(jù)放到一個(gè)狀態(tài)對(duì)象中,每一次傳遞都將新建一個(gè)對(duì)象,將這個(gè)對(duì)象轉(zhuǎn)為JSON 文件,通過代碼語言自帶的二進(jìn)制序列化函數(shù)接口(如C#中的BinaryFormatter 函數(shù))將Json 數(shù)據(jù)序列化存入內(nèi)存流中,基于TCP 或UDP 協(xié)議,將內(nèi)存流中數(shù)據(jù)同步到第三方視角客戶端中。第三方視角端接收到字節(jié)數(shù)組,將數(shù)據(jù)先轉(zhuǎn)到內(nèi)存流,通過反序列化的方法轉(zhuǎn)為JSON 數(shù)據(jù),繼而得到狀態(tài)對(duì)象,信息數(shù)據(jù)序列化傳輸流程如圖5 所示。
圖5 信息數(shù)據(jù)序列化傳輸流程Fig.5 Procedure of information data serialization transmission
頭戴式AR/MR設(shè)備在輔助操作人員進(jìn)行操作時(shí),涉及的數(shù)據(jù)信息類別主要包括數(shù)據(jù)傳輸、動(dòng)作傳輸、音視頻傳輸和模型傳輸,因此從數(shù)據(jù)傳輸層面,本文給出了主視角與第三方視角的數(shù)據(jù)傳輸路徑以及觸發(fā)方式,如圖6所示。
圖6 數(shù)據(jù)傳輸路徑以及觸發(fā)方式Fig.6 Data transmission path and trigger mode
系統(tǒng)搭建了數(shù)據(jù)傳輸?shù)穆酚赡K,用于針對(duì)場(chǎng)景中的動(dòng)作觸發(fā)、視頻觸發(fā)、音頻觸發(fā)、模型調(diào)用等調(diào)用系統(tǒng)功能模塊相對(duì)應(yīng)的功能系統(tǒng),實(shí)現(xiàn)對(duì)系統(tǒng)功能調(diào)用的分發(fā)管理。經(jīng)由路由模塊的數(shù)據(jù)分發(fā),不同的數(shù)據(jù)類型將觸發(fā)不同的數(shù)據(jù)響應(yīng)策略,完成數(shù)據(jù)同步。而對(duì)于攜帶參數(shù)的信息傳遞,需要借助系統(tǒng)內(nèi)部接口,通過廣播策略實(shí)現(xiàn)對(duì)相應(yīng)行為的觸發(fā)。
在數(shù)據(jù)傳輸維度基礎(chǔ)上,為確保實(shí)時(shí)性和實(shí)用性,盡可能降低數(shù)據(jù)傳輸速率要求,本文分析了第三方數(shù)據(jù)傳遞的特點(diǎn),從高內(nèi)聚、低耦合原則觸發(fā)。為確保數(shù)據(jù)傳遞的有效性、及時(shí)性、可靠性以及對(duì)未來可能增加的數(shù)據(jù)的兼容性,將同步數(shù)據(jù)的信息分為交互信息數(shù)據(jù)、環(huán)境/場(chǎng)景變化信息數(shù)據(jù)和虛實(shí)狀態(tài)信息數(shù)據(jù)3 類,針對(duì)每類數(shù)據(jù)不同特點(diǎn),提出了不同的同步策略。
交互信息數(shù)據(jù)觸發(fā)同步,是指用于與應(yīng)用操作系統(tǒng)間通過手勢(shì)、語音等交互手段啟用系統(tǒng)應(yīng)用中某些功能的信息數(shù)據(jù),通過將這部分信息傳遞給第三方視角裝置模擬觸發(fā)信號(hào)啟用對(duì)應(yīng)功能的過程。例如在主視角裝置中用戶點(diǎn)擊某一虛擬按鈕,實(shí)現(xiàn)某虛擬看板打開、點(diǎn)擊的同時(shí),主視角模塊將點(diǎn)擊信號(hào)同步發(fā)送,第三方視角裝置接收信號(hào)后模擬點(diǎn)擊觸發(fā)行為,打開同樣虛擬看板??梢钥闯?,此類信息數(shù)據(jù)是觸發(fā)式的、由主視角裝置的操作人員進(jìn)行交互操作后產(chǎn)生的并不需要時(shí)刻監(jiān)聽的信息數(shù)據(jù)。因此,對(duì)于此類數(shù)據(jù),系統(tǒng)在交互觸發(fā)的邏輯入口添加了一個(gè)分支響應(yīng)函數(shù)以及外部輸入接口,將觸發(fā)的時(shí)間戳、類型等信息序列化后傳遞;第三方視角裝置接收到相應(yīng)的信息數(shù)據(jù)后進(jìn)行反序列化及解析,通過調(diào)用外部輸入接口傳遞參數(shù),使得第三方視角裝置模擬主視角裝置進(jìn)行交互操作,實(shí)現(xiàn)達(dá)到同樣的效果。
環(huán)境變化信息同步,是針對(duì)增強(qiáng)/混合現(xiàn)實(shí)應(yīng)用系統(tǒng)中由于物理/虛擬環(huán)境變化而導(dǎo)致的應(yīng)用系統(tǒng)功能變化的更新同步,需在系統(tǒng)中事先標(biāo)記會(huì)隨環(huán)境變化而發(fā)生變化的對(duì)象,并建立映射關(guān)系。例如主視角裝置隨著人員走動(dòng),虛擬看板跟隨人員挪動(dòng),由于裝置相對(duì)于環(huán)境的方位變化而導(dǎo)致虛擬看板發(fā)生方位變化,需要通過實(shí)時(shí)同步的方式將環(huán)境變化信息同步給第三方視角裝置,糾正虛擬看板的方位。這一類的信息數(shù)據(jù)是時(shí)刻動(dòng)態(tài)變化的,因此主視角裝置需要對(duì)標(biāo)記的對(duì)象的數(shù)據(jù)進(jìn)行實(shí)時(shí)傳遞。在系統(tǒng)中添加標(biāo)記對(duì)象數(shù)據(jù)更新的入口,用于第三方視角裝置同步更新環(huán)境變換引致的信息變化。和上述交互數(shù)據(jù)類似,同樣需要進(jìn)行數(shù)據(jù)的序列化、傳遞以及反序列化操作。
在實(shí)際測(cè)試過程中,由于是實(shí)時(shí)傳輸(采用按幀傳遞的頻率),且環(huán)境變化關(guān)聯(lián)的目標(biāo)對(duì)象數(shù)量較多,容易導(dǎo)致傳輸數(shù)據(jù)量暴增,進(jìn)而引發(fā)網(wǎng)絡(luò)堵塞或數(shù)據(jù)嚴(yán)重滯后的問題。本文針對(duì)此類情況進(jìn)行了兩方面的的優(yōu)化措施:
1)對(duì)于主視角操作端標(biāo)記對(duì)象的變化數(shù)據(jù),進(jìn)行閾值設(shè)定,在閾值范圍內(nèi)不做數(shù)據(jù)更新傳輸,超過閾值范圍后進(jìn)行數(shù)據(jù)更新,例如跟隨人視線的虛擬看板,當(dāng)人頭部?jī)H作微小擺動(dòng)時(shí),主視角裝置的虛擬看板雖然進(jìn)行小幅度微調(diào),但方位數(shù)據(jù)并不進(jìn)行傳輸,僅當(dāng)變動(dòng)幅度超過預(yù)定義的角度范圍時(shí),才進(jìn)行一次數(shù)據(jù)更新傳遞,如圖7 所示。
圖7 主視角操作信息同步頻次降低的示意圖Fig.7 Schematic diagram of reducing synchronization frequency of main perspective operation information
2)對(duì)于長時(shí)間連續(xù)發(fā)生信息變化的對(duì)象數(shù)據(jù),在程序代碼中進(jìn)行預(yù)標(biāo)記,針對(duì)性降低數(shù)據(jù)傳輸頻率(測(cè)試驗(yàn)證中采用20 Hz),這樣一方面保證第三方視角可以觀察到真實(shí)的環(huán)境變化引致的信息變化,另一方面確保相關(guān)數(shù)據(jù)并不按照系統(tǒng)自帶的時(shí)間序列傳遞,避免時(shí)間序列較快導(dǎo)致的傳輸數(shù)據(jù)量過大,從而導(dǎo)致嚴(yán)重的掉幀非連續(xù)觀感。需要注意的是,由于網(wǎng)絡(luò)環(huán)境的不同,數(shù)據(jù)傳輸發(fā)送和接收的時(shí)序可能發(fā)生錯(cuò)亂,因此本文在數(shù)據(jù)解析后,使用之前進(jìn)行時(shí)序校正及校核的過程。
虛實(shí)狀態(tài)信息是針對(duì)系統(tǒng)在某一階段下虛擬對(duì)象的狀態(tài)(包括方位、定位情況、顏色/材質(zhì)/動(dòng)畫信息、計(jì)算數(shù)據(jù)等),狀態(tài)信息描述了虛擬對(duì)象與物理空間的當(dāng)前結(jié)合關(guān)系。對(duì)于系統(tǒng)使用,除了人機(jī)交互過程的觸發(fā)、后臺(tái)對(duì)于不同狀態(tài)的判斷以及狀態(tài)引發(fā)的流程推進(jìn)共同構(gòu)成了滿足用戶需求的平臺(tái)。由于狀態(tài)信息并不是連續(xù)數(shù)據(jù),因此系統(tǒng)采用定時(shí)同步的方式將相關(guān)信息傳遞給第三方視角裝置。如同交互信息以及環(huán)境變化信息的傳遞過程一樣,通過序列化及反序列化過程完成數(shù)據(jù)的傳輸。
由于狀態(tài)數(shù)據(jù)、交互數(shù)據(jù)和環(huán)境變換數(shù)據(jù)的緊密相關(guān)性,本文還通過狀態(tài)信息數(shù)據(jù)在第三方視角裝置上對(duì)前面兩種數(shù)據(jù)進(jìn)行匹配驗(yàn)證,避免由于網(wǎng)絡(luò)環(huán)境錯(cuò)誤、數(shù)據(jù)包丟失、解析錯(cuò)誤等導(dǎo)致的第三方視角與主視角內(nèi)容的錯(cuò)位。例如,主視角操作者點(diǎn)擊虛擬按鈕啟動(dòng)虛擬裝配動(dòng)畫演示,交互信號(hào)丟失并未傳遞到第三方視角裝置。而主視角的當(dāng)前狀態(tài)已經(jīng)是動(dòng)畫播放狀態(tài),此刻通過定時(shí)的狀態(tài)信息同步,第三方視角可以自行跳過交互信號(hào)同步直接開始動(dòng)畫播放,匹配主視角裝置的當(dāng)前狀態(tài)。同樣,該同步策略對(duì)于環(huán)境變化信息同步有數(shù)據(jù)補(bǔ)償?shù)男Ч?。?.2 節(jié)所述,為避免數(shù)據(jù)傳輸量過大采用了閾值限制數(shù)據(jù)傳輸?shù)膬?yōu)化方法,但此方法在網(wǎng)絡(luò)條件不好時(shí)可能發(fā)生虛擬對(duì)象運(yùn)動(dòng)幅度超出閾值而未同步數(shù)據(jù)的問題。狀態(tài)信息同步可以有效地在固定時(shí)間周期內(nèi)檢查狀態(tài)的差異性,并直接完成當(dāng)前虛擬對(duì)象運(yùn)動(dòng)方位的同步,有效解決潛在隱患問題。
基于第三方視角的同步策略,設(shè)備根據(jù)同步結(jié)果及既定的業(yè)務(wù)流程實(shí)現(xiàn)多人視角下的可視化效果,多人看到的虛擬對(duì)象角度不同,且主視角交互操作時(shí),第三視角中對(duì)象會(huì)完成對(duì)應(yīng)方位、狀態(tài)變換。
本文搭建了測(cè)試環(huán)境,電腦為搭載英偉達(dá)1080顯卡的臺(tái)式機(jī),操作系統(tǒng)為Windows10,開發(fā)工具為visual studio2019,圖形引擎平臺(tái)為Unity 2019.4,AR設(shè)備為兩臺(tái)Hololens 2,其中一臺(tái)作為主視角設(shè)備,操作者對(duì)虛擬對(duì)象進(jìn)行操作,另一臺(tái)作為第三方視角設(shè)備,用于觀察主視角的操作以及虛實(shí)融合場(chǎng)景。光照條件約為200LX。
根據(jù)上文所述,系統(tǒng)首先進(jìn)行初始化與校準(zhǔn),確定錨點(diǎn)位置,反推兩臺(tái)設(shè)備在空間中的方位。初始化與校準(zhǔn)完成后即完成兩臺(tái)設(shè)備的空間坐標(biāo)匹配,通過多種數(shù)據(jù)同步策略完成第三方視角的功能實(shí)現(xiàn)如圖8 所示。其中,右下角大圖是操作者設(shè)備所看到的虛實(shí)融合場(chǎng)景截圖,左上角是第三方視角設(shè)備所看到的虛實(shí)融合場(chǎng)景截圖,可以看出,第三方視角所看到的畫面和真實(shí)場(chǎng)景角度、位置、虛實(shí)圖像是準(zhǔn)確匹配的。
圖8 第三方視角的應(yīng)用驗(yàn)證Fig.8 Application verification of third-party perspective
為測(cè)試不同大小模型及不同變化情況下的數(shù)據(jù)同步情況,本文選擇了貼標(biāo)機(jī)(10 325 面片)、機(jī)床(約36 312 面片)和機(jī)械臂(8 320 面片)3 種模型,分別在模型加載、模型旋轉(zhuǎn)、放大縮小和模型平移3 種變化情況下統(tǒng)計(jì)連續(xù)3 s的數(shù)據(jù)傳輸量(無線網(wǎng)帶寬為150 Mb/s,實(shí)際測(cè)試網(wǎng)絡(luò)傳輸速率為13 Mb/s~15 Mb/s),具體結(jié)果如表1 所示??梢钥闯?,基于本文的信息數(shù)據(jù)同步方法將長時(shí)間連續(xù)發(fā)生信息變化的對(duì)象的數(shù)據(jù)傳輸頻率壓低到20 Hz,傳輸?shù)臄?shù)據(jù)量較低,在正常網(wǎng)絡(luò)通信環(huán)境中(在測(cè)試環(huán)境中,高于45 kb/s 網(wǎng)速)完全可以滿足第三方視角同步所需要的實(shí)時(shí)效果。
表1 不同模型3 s 連續(xù)變化中同步的數(shù)據(jù)量Table 1 Synchronous data volume in three seconds continuous change of different models
目前較為流行的同步方式包括命令同步和完全數(shù)據(jù)同步兩種第三方視角同步方式,第一種和程序強(qiáng)耦合,需要在每一處命令節(jié)點(diǎn)添加同步命令,適應(yīng)性較差;第二種同步方式需要大帶寬的網(wǎng)絡(luò)環(huán)境,當(dāng)遇到較大模型和較多變化時(shí),很容易發(fā)生信息丟失、卡頓現(xiàn)象。
本文針對(duì)頭戴式增強(qiáng)/混合設(shè)備具有的內(nèi)容獨(dú)占、不易分享等缺陷,提出基于網(wǎng)絡(luò)通信的低延遲虛實(shí)融合內(nèi)容第三方視角可視化方法。根據(jù)多終端之間的數(shù)據(jù)通信要求,結(jié)合多視角的交互信息/環(huán)境信息/虛實(shí)狀態(tài)的多種數(shù)據(jù)類型特點(diǎn),提出多種信息同步策略,實(shí)現(xiàn)多終端設(shè)備下的多人實(shí)時(shí)協(xié)同操作。將該方法應(yīng)用于實(shí)際的操作協(xié)同場(chǎng)景,統(tǒng)計(jì)出不同條件下多人協(xié)同操作的信息同步準(zhǔn)確性,實(shí)驗(yàn)結(jié)果表明了本文方法在實(shí)際使用條件下的有效性。下一步將研究多人協(xié)同場(chǎng)景下虛實(shí)融合交互的穩(wěn)定性和可靠性,并對(duì)不同行業(yè)領(lǐng)域的操作場(chǎng)景進(jìn)行完善,實(shí)現(xiàn)基于5G 高速通信條件遠(yuǎn)程大場(chǎng)景、實(shí)時(shí)模型數(shù)據(jù)加載需求下的多人協(xié)同關(guān)鍵技術(shù)。