張少博,趙萬青,彭進業(yè),張曉丹,胡琪瑤,王 珺
(西北大學 信息科學與技術(shù)學院,陜西 西安 710127)
隨著數(shù)字化技術(shù)不斷發(fā)展,文化遺產(chǎn)展示方式日趨豐富,線上展覽、多媒體傳播、沉浸式體驗等形式為文化遺產(chǎn)展示提供了多元化的渠道,有效擴大了文化遺產(chǎn)的傳播范圍和文化價值。隨著增強現(xiàn)實(augmented reality,AR)技術(shù)的成熟,增強現(xiàn)實博物館開始進入人們的生活,帶來了新的體驗方式。增強現(xiàn)實借助計算機圖形技術(shù)和可視化技術(shù),將虛擬信息應(yīng)用到真實的世界,使真實的環(huán)境和虛擬的物體融合在一起,從而增強使用者的體驗。虛實融合技術(shù)是增強現(xiàn)實系統(tǒng)中的核心技術(shù),該技術(shù)的關(guān)鍵是實現(xiàn)虛擬世界的三維坐標系與現(xiàn)實世界的三維坐標系對齊,實現(xiàn)虛實場景的完美融合。用戶在體驗過程中,會不斷變化自己的位置,其觀察的角度也會隨之發(fā)生變化。為了達到逼真的效果,虛擬世界和現(xiàn)實世界坐標系之間的轉(zhuǎn)換關(guān)系要不斷地根據(jù)用戶的觀察位置和角度做出相應(yīng)的改變,要解決的核心問題是實現(xiàn)對現(xiàn)實中的物體與增強現(xiàn)實設(shè)備之間的相對3D位置和3D方向的準確估計,即對物體進行準確的6D 姿態(tài)估計。
近年來,由于機器學習和卷積神經(jīng)網(wǎng)絡(luò)(CNN)等新概念的出現(xiàn),基于深度學習的算法成為研究熱點。許多學者已經(jīng)將基于深度學習的方法應(yīng)用于6D姿態(tài)估計,并取得了良好的效果。這些算法[1-13]通過不同的方式使用CNN建立物體的6D姿態(tài)與圖像間的對應(yīng)關(guān)系。其中,算法[1-4]使用CNN直接預測物體姿態(tài)來建立對應(yīng)關(guān)系。現(xiàn)階段的主流算法[5-13]是在物體上定義3D關(guān)鍵點,并預測其在圖像上的2D 關(guān)鍵點作為姿態(tài)估計的中間表示構(gòu)建對應(yīng)關(guān)系,通過2D-3D對應(yīng)關(guān)系得到物體姿態(tài)。其中,BB8[10]使用了3階段的方式,在前兩個階段實現(xiàn)了由粗到細的分割,獲得的結(jié)果被送入第三個網(wǎng)絡(luò)來輸出物體邊界框的頂點。已知這種2D-3D的聯(lián)系后,6D姿態(tài)可通過PnP[14]算法計算得到。Zhao等人[15]提出,首先使用2D目標檢測器[16]從圖像中截取物體區(qū)域;然后,將截取的區(qū)域輸入關(guān)鍵點檢測網(wǎng)絡(luò)提取物體關(guān)鍵點;最終,通過PnP[14]算法計算得到物體姿態(tài)。但是,上述方法在在檢測關(guān)鍵點的過程中都是采用由高到低和由低到高分辨率的框架,將高分辨率特征圖下采樣至低分辨率,再從低分辨率特征圖恢復至高分辨率的思路(單次或重復多次),此過程實現(xiàn)了多尺度特征提取,而在這一過程中會損失特征空間信息,從而影響檢測的準確率。并且,這些方法需要大量人工標簽,在現(xiàn)實場景往往無法獲得,導致在實際應(yīng)用中的姿態(tài)估計精度有限,難以實現(xiàn)無縫的虛實融合。這些方法的另一個缺點是步驟多,需要分別對圖像進行目標檢測、關(guān)鍵點檢測和姿態(tài)計算,冗余的特征提取和PnP計算過程導致算法運行速度緩慢。因此,本文提出了一個端到端的6D姿態(tài)估計方法,并行的連接高分辨率與低分辨率網(wǎng)絡(luò),這樣能夠保持提取特征的高分辨率,并且將高、低分辨率的特征圖融合,提高高分辨率特征圖的表示效果,得到的特征在空間上具有更豐富的信息,對關(guān)鍵點的預測更為準確。盡管PnP算法被廣泛用于姿態(tài)估計,但是仍有以下不足:首先,由于網(wǎng)絡(luò)的損失函數(shù)是針對關(guān)鍵點,因此并不能反映姿態(tài)估計任務(wù);而且,關(guān)鍵點誤差與姿態(tài)準確率并不完全正相關(guān),使用PnP算法會產(chǎn)生一定的誤差。為了解決這一問題,本文使用的神經(jīng)網(wǎng)絡(luò)接受關(guān)鍵點3D到2D的對應(yīng)關(guān)系并返回6D姿態(tài),實現(xiàn)整體網(wǎng)絡(luò)端到端的訓練,提升檢測精度與速度。另外,為了減少網(wǎng)絡(luò)對手工標注的依賴及提升泛化能力,本文利用物體3D模型合成訓練數(shù)據(jù)。
博物館在相關(guān)AR應(yīng)用[17-19]上主要是三維文物模型展示互動,其實現(xiàn)方式是基于識別二維圖像中特定標識物,即用戶通過手機等設(shè)備掃描制作好的三維物體或二維平面圖片來呈現(xiàn)文物模型等內(nèi)容。與此同時,博物館努力推進文化遺產(chǎn)走入公眾日常生活,如運用AR識別人體姿態(tài)[20-21]進行虛擬換裝,識別面部特征虛擬佩戴頭飾[22],吸引用戶與文物合影并分享。在博物館AR顯示設(shè)備的選擇方面,智能手機等移動設(shè)備處于主導地位。然而,運行復雜的計算機視覺算法需要很強的運算能力,直接將其部署在移動設(shè)備上會產(chǎn)生很長的處理延遲,無法滿足AR應(yīng)用的及時性需求,影響用戶的體驗。針對這一問題,本文在物體6D姿態(tài)估計算法的基礎(chǔ)上,設(shè)計了一個基于云計算的分布式增強現(xiàn)實框架來實現(xiàn)高精度、低延遲的移動增強現(xiàn)實應(yīng)用,在該框架的基礎(chǔ)上開發(fā)了虛實結(jié)合的增強現(xiàn)實博物館平臺展示,用于文物增強展示與交互。
本文提出了一個基于RGB圖像的端到端的6D姿態(tài)估計方法End 2End-Pose。受OK-POSE[15]的啟發(fā),本文的方法基于目標檢測(object detection)網(wǎng)絡(luò)結(jié)構(gòu),在此基礎(chǔ)上擴展了網(wǎng)絡(luò)模型,實現(xiàn)對物體的檢測及姿態(tài)估計。為了減少網(wǎng)絡(luò)對手工標注的依賴,利用物體3D模型合成訓練數(shù)據(jù),用計算機自動生成標簽,使用合成圖像進行訓練。本文的方法和現(xiàn)有方法相比具備多項優(yōu)勢:①網(wǎng)絡(luò)并行地連接分辨率高到低的網(wǎng)絡(luò)提取模塊,保持了高分辨率的表示,并通過重復融合不同分辨率的特征生成可靠的高分辨率特征圖用于后續(xù)檢測。②是一個端到端的網(wǎng)絡(luò)架構(gòu),減少了冗余的特征提取和PnP計算過程,提升了檢測的速度。③無需真實的姿態(tài)標注作為訓練數(shù)據(jù),泛化能力強,可以在實際場景中應(yīng)用。
1)數(shù)據(jù)準備
首先,使用最遠點采樣(farthest point sampling,FPS)算法[23]在三維物體表面采樣若干個三維點,并將其定義為物體的關(guān)鍵點;之后,使用blender軟件,在不同的視點,從各個角度來渲染模型,并且將三維關(guān)鍵點投影到對應(yīng)的視點下。如圖1所示,在物體的上半部分均勻的采樣了40 000個相機視點,為了增強模型的泛化能力,避免過擬合,隨機在PCASOL VOC數(shù)據(jù)集中抽取圖像作為合成圖像的背景。除此之外,為了增加合成圖像的多樣性,在合成圖像的過程中添加了隨機的光照和圖像噪聲,并且對物體進行高斯濾波,使其能更好地與背景圖像融合。
圖1 合成圖像采集過程Fig.1 The generation of synthetic image
本文提出的網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,主要包括2個網(wǎng)絡(luò)模塊,一個是物體檢測網(wǎng)絡(luò),用于檢測物體的類別、邊界框和2維關(guān)鍵點。另一個是姿態(tài)推理網(wǎng)絡(luò),該網(wǎng)絡(luò)利用預測出的物體2維關(guān)鍵點和預定義的物體上的3維關(guān)鍵點之間的對應(yīng)關(guān)系推理出物體的姿態(tài)。
網(wǎng)絡(luò)的輸入圖像尺寸為640*480像素,為了解決高分辨率到低分辨率的子網(wǎng)串聯(lián)造成的特征圖空間信息丟失的問題,檢測網(wǎng)絡(luò)的主干結(jié)構(gòu)使用了平行框架,高分辨率特征圖提取主網(wǎng)絡(luò),逐漸并行加入低分辨率特征圖提取子網(wǎng)絡(luò),在不同網(wǎng)絡(luò)間進行特征多尺度融合。物體檢測網(wǎng)絡(luò)的主框架包含4個階段和4個并行的卷積分支,每一階段的分支數(shù)逐級遞增,每一分支特征圖的分辨率下降為上一分支的1/2,分別為輸入圖像分辨率的1/4、1/8、1/16和1/32,并且每一個分支都會將其他分支產(chǎn)生的多分辨率特征進行融合。第一階段包含4個殘差單元,然后跟隨一個3×3卷積核。第二、第三、第四階段分別包含 1、4、3個模塊化塊。模塊化塊的多分辨率并行卷積中的每個分支包含4個殘差單元。每個單元包含2個3×3的卷積核,其中,每個卷積之后是批量歸一化和非線性激活函數(shù)ReLU。第四階段共有4個分支,將4個分支提取的特征以分辨率最高的尺寸融合,融合的具體方式為:同分辨率的層直接復制,通過雙線性插值法提升特征圖的分辨率,并使用1×1的卷積核將通道數(shù)統(tǒng)一。使用3×3的卷積核對特征圖下采樣來降低分辨率,通過直接將特征圖對應(yīng)位置相加的方式實現(xiàn)特征融合。融合后的特征具有更豐富的空間語義信息。把融合后的特征輸入到區(qū)域提取網(wǎng)絡(luò)(region proposal network,RPN)識別物體可能出現(xiàn)的感興趣區(qū)域(region of interest,ROI),并將它們用于物體類別分類、邊界框回歸,以及關(guān)鍵點檢測任務(wù)。分類與邊界框回歸任務(wù)參考Faster-RCNN[16]分類任務(wù),利用已經(jīng)獲得的ROI特征,通過全連接層與softmax函數(shù)計算每個ROI具體屬于特定類別的概率。邊界框回歸任務(wù)直接通過ROI特征預測邊界框左上角與右下角的坐標。關(guān)鍵點檢測任務(wù)對ROI特征進行連續(xù)2個1×1的卷積生成關(guān)鍵點熱力圖,并使用softmax函數(shù)將熱力圖轉(zhuǎn)換為關(guān)鍵點的概率分布圖,分布圖中的每一個單位代表關(guān)鍵點出現(xiàn)在對應(yīng)像素的概率,第i個關(guān)鍵點的坐標xi,yi可由式(1)計算得出
(1)
其中,Pi(u,v)是第i個關(guān)鍵點在概率分布圖上坐標為(u,v)的概率值。
圖2 模型結(jié)構(gòu)圖Fig.2 Model structure
常規(guī)的物體6D姿態(tài)估計方法在得到3D物體關(guān)鍵點和2D圖像位置之間的對應(yīng)關(guān)系后,使用基于RANSAC的PnP算法計算物體姿態(tài)。但是,此兩階段過程不是最優(yōu)的:首先,它不是端到端可訓練的;另外,關(guān)鍵點的準確率不會直接反映最終的6D姿態(tài)估計任務(wù)。為了解決這一問題,本文使用了姿態(tài)推理網(wǎng)絡(luò)來代替PnP算法直接預測物體6D姿態(tài)。姿態(tài)推理網(wǎng)絡(luò)包括3個主要模塊:具有共享網(wǎng)絡(luò)參數(shù)的局部特征提取模塊、關(guān)鍵點的特征聚合模塊,以及由3個全連接層組成的全局推理模塊。使用3層的多層感知機(MLP)提取每個對應(yīng)的局部特征,在各個關(guān)鍵點之間共享權(quán)重,之后使用最大池化(maxpooling)操作對提取的關(guān)鍵點局部特征進行聚合,得到n個多維向量,n為關(guān)鍵點的個數(shù),最終聚合后的特征輸入全局推理模塊輸出預測的姿態(tài),其中,旋轉(zhuǎn)用四元組表示,平移用向量表示。相較于使用PnP算法通過關(guān)鍵點2維3維關(guān)系計算物體姿態(tài),直接通過網(wǎng)絡(luò)可以直接對姿態(tài)預測建立損失函數(shù),減少關(guān)鍵點預測誤差對姿態(tài)估計的影響。在使用PnP算法時,需要對2D-3D關(guān)鍵點進行過濾匹配,當關(guān)鍵點數(shù)目增多時,計算耗時會增加。直接使用網(wǎng)絡(luò)預測的速度不會因為關(guān)鍵點數(shù)目的增加而降低。
3)模型訓練
本文設(shè)計了1個多任務(wù)學習機制,結(jié)合目標檢測和姿態(tài)估計2個任務(wù),定義了1個多任務(wù)損失函數(shù),同時去訓練圖像分類、邊框回歸和姿態(tài)估計。損失函數(shù)定義如下,
L=Lpose+μLclass+νLbbox。
(2)
其中,Lpose、Lclass、Lbbox分別是姿態(tài)估計、類別分類和邊界框回歸的損失函數(shù)。姿態(tài)估計損失如式(3)所示。
江西銅業(yè)集團的德興銅礦對含硫廢石采用微生物浸出—溶劑萃取—電積方法,每年回收硫精礦1 000 t,銅9.2 t,金33.4 kg,產(chǎn)值達1 300多萬元,銅、金和銀的回收率分別為86.60%、62.32%和65.09%[26];大冶有色公司豐山銅礦對尾礦采用重選—浮選—磁選—重選聯(lián)合工藝再選,得到銅精礦、鐵精礦、硫精礦,其品位分別為Cu 20.5%、TFe 55.61%和S 43.61% [27]。
(3)
本文提出一個混合框架來實現(xiàn)虛實融合的增強現(xiàn)實博物館平臺。技術(shù)路線圖如圖3所示??蚣苡?個模塊組成:圖像捕捉模塊、文物跟蹤模塊和渲染模塊。圖像捕捉塊和渲染塊部署在增強現(xiàn)實設(shè)備中,文物跟蹤塊部署在云服務(wù)器中。此外,云服務(wù)器上還部署了存儲虛擬內(nèi)容的云數(shù)據(jù)庫。在圖像捕捉塊中,相機獲取原始視頻并將這些視頻剪輯成具有特定圖像格式的幀,例如JPEG和PNG。由于視頻中相鄰的幀非常相似,只需要跟蹤關(guān)鍵幀中的文物,以減少文物跟蹤塊中的計算量。為此,使用圖像預處理程序,在每3張輸入圖像去除2張來過濾相似的圖像,以減少冗余數(shù)據(jù)并挑選剩余的1張圖像作為關(guān)鍵幀。關(guān)鍵幀輸入到文物跟蹤塊。在文物跟蹤模塊中,使用1.1節(jié)中提出的物體6D姿態(tài)估計算法追蹤得到關(guān)鍵幀中文物的類別和姿態(tài),并將文物的類別輸入到云數(shù)據(jù)庫中以找到相應(yīng)的虛擬內(nèi)容。渲染模塊根據(jù)追蹤模塊中得到的文物姿態(tài)將虛擬內(nèi)容渲染到圖像中的對應(yīng)位置,實現(xiàn)增強現(xiàn)實的效果。使用WebGL(web graphics library)來實現(xiàn)渲染功能,WebGL是一個用于渲染的JavaScript腳本文件,用于渲染交互式2D和3D圖形。模型渲染是一個投影變換過程,通過投影矩陣,映射虛擬物體從局部空間坐標系到世界坐標系系統(tǒng),然后到相機坐標系,最后到圖像坐標系。使用WebGL通過透視投影的方式將虛擬物體渲染到真實世界,使物體隨著相機的移動呈現(xiàn)出近大遠小的視覺效果,令3D虛擬內(nèi)容在2D圖像上看起來更逼真。通過式(4)將 3D 虛擬內(nèi)容投影到圖像上
Puv=K[R|T]Pw。
(4)
其中:Puv是模型3維坐標在圖像上的2維投影坐標;K是相機的內(nèi)參;[R|T]是追蹤模塊預測出的文物的姿態(tài);Pw是模型上每一個點原始的3維坐標。通過公式(4),虛擬內(nèi)容被渲染到真實世界并顯示在移動設(shè)備上,實現(xiàn)增強現(xiàn)實效果。使用5G通信來連接云服務(wù)器和移動設(shè)備,因為與4G相比,5G 的數(shù)據(jù)傳輸速率要高10到100倍,可以解決傳輸大型虛擬內(nèi)容帶來的額外傳播延遲。
圖3 系統(tǒng)結(jié)構(gòu)圖Fig.3 System structure
將本文提出的方法與2種常用的增強現(xiàn)實識別算法OK-POSE[15]與BB8[10]在公開測試集LINEMOD[11]數(shù)據(jù)集上作比較。LINEMOD數(shù)據(jù)集包含了13個物體類別。每一個類別有接近1 200張RGB圖像,以及姿態(tài)的標注信息。使用2D Projection作為評價三維姿態(tài)估計準確度的指標,該指標是指若預測出的物體姿態(tài)與實際物體姿態(tài)在圖像上的投影平均每個點距離誤差小于5像素,則認為姿態(tài)估計準確。該指標適合評估增強現(xiàn)實相關(guān)算法,實驗結(jié)果如表1所示。
表1 在LINEMOD數(shù)據(jù)集上與準確率對比Tab.1 The accuracies on LINEMOD dataset
由表1可知,本文提出方法的準確率比OK-POSE高10.8%,比BB8高8.7%。這是由于本文使用的網(wǎng)絡(luò)始終保持特征的高分辨率表達,并且使得每一個高分辨率到低分辨率的表征都從其他并行特征中反復接收信息,從而得到豐富的高分辨率表征。因此,預測的關(guān)鍵點在空間上更精確。表2展示了3種方法的運行速度,結(jié)果顯示,本文提出的方法速度達到30 幀/s,快于BB8(8 幀/s)與OK-POSE(18 幀/s),滿足增強現(xiàn)實應(yīng)用對及時性的需求。這是由于本文提出的方法使用了端到端的網(wǎng)絡(luò)結(jié)構(gòu),減少了冗余的PnP計算過程,提升了檢測的速度。
表2 運行速度對比Tab.2 Comparison of the runtime
圖4展示了可視化結(jié)果,對物體在不同場景下的姿態(tài)進行測試,上半部分為在背景雜亂的環(huán)境中測試,下半部分為在背景簡單的環(huán)境中測試,其中,綠色的邊框為ground-truth,藍色邊框為預測出的姿態(tài)。實驗結(jié)果表明,當圖像中包含完整物體,或物體處于簡單場景中時,網(wǎng)絡(luò)可以準確估計物體的姿態(tài)。
圖4 可視化結(jié)果圖Fig.4 The visualization results
實驗結(jié)果表明,本文提出的方法可以準確地檢測出場景中物體的6D姿態(tài),準確率達到92.6%,并且運行速度達到30 幀/s,實現(xiàn)實時檢測。因此,本文提出的方法滿足實際應(yīng)用需求,可以在增強現(xiàn)實博物館系統(tǒng)中用于識別文物的姿態(tài),并對其添加虛擬內(nèi)容,實現(xiàn)文物的增強展示。
本文提出的增強現(xiàn)實博物館平臺主要通過移動智能設(shè)備,比如手機、平板電腦,在真實環(huán)境中識別目標物體(文物、遺址),根據(jù)識別到的內(nèi)容渲染出對應(yīng)的虛擬信息,使參觀者在游覽過程中不僅能看到遺跡中殘存的展品,并且可以在展品的基礎(chǔ)上進行內(nèi)容擴展,以數(shù)字化的方式對展品進行增強展示,參觀者不論在任何角度觀察文物都能全方位看到,打破了空間的局限性。用戶通過移動設(shè)備掃描特定的文物,在設(shè)備上則會顯示出復原文物的三維模型,用戶可以與其進行交互,比如移動、縮放等操作。系統(tǒng)效果圖如圖5,6所示。
圖5 文物復原展示Fig.5 Cultural relic restoration display
圖5顯示了增強現(xiàn)實平臺利用物體6D姿態(tài)估計技術(shù),準確地將兵馬俑破損部分的3D模型渲染回兵馬俑上實現(xiàn)無縫融合展示。圖5A是移動設(shè)備采集到的兵馬俑原始圖像,圖5B是使用OK-POSE進行姿態(tài)估計的增強展示效果圖,圖5C是使用本文提出的6D姿態(tài)估計方法的效果圖。圖5的結(jié)果表明6D姿態(tài)估計方法在增強現(xiàn)實博物館展示系統(tǒng)中起到了連接虛擬與現(xiàn)實的作用,只有準確估計圖像中物體的姿態(tài),才能將虛擬內(nèi)容準確疊加在圖像中。
圖6 交互可視化展示Fig.6 Interactive visual display
圖6展示了增強現(xiàn)實平臺可以識別圖像中目標文物的姿態(tài),并在對應(yīng)位置渲染3D模型,并且模型可以移動、旋轉(zhuǎn)、縮放等交互操作,方便用戶多角度的觀察。
本文提出一種端到端的物體6D姿態(tài)估計算法,使用并聯(lián)網(wǎng)絡(luò)結(jié)構(gòu)提取高分辨率特征,保留更多的空間信息,提升預測物體關(guān)鍵點的精度,使用一個姿態(tài)推理網(wǎng)絡(luò)替代PnP算法,從關(guān)鍵點中得到物體姿態(tài),提升姿態(tài)估計的精度與速度,并且使用計算機合成的圖像作為訓練數(shù)據(jù),減少了對數(shù)據(jù)標注的工作量。本文還提出了一個基于云計算、深度學習、5G通信的增強現(xiàn)實框架,在此基礎(chǔ)上,開發(fā)了增強現(xiàn)實博物館虛實展示系統(tǒng)。通過一系列實驗,驗證了本文所提出的姿態(tài)估計算法具有高精度,相較于常規(guī)的2種增強現(xiàn)實識別算法,準確率提高了10.8%與8.7%,運行速度達到30 幀/s,且對于不同的場景都具有很強的泛化能力。所開發(fā)的增強現(xiàn)實博物館展示系統(tǒng)可以實現(xiàn)對文物的增強展示與交互。未來的工作將致力于實現(xiàn)更加豐富的交互功能,更有效地傳播文化遺產(chǎn)資源。