湯 瀑,何 福,湯春林
(中國空氣動力研究與發展中心 計算空氣動力研究所,四川 綿陽 621000)
虛擬現實(Virtual Reality)[1]通過計算機對真實世界進行模擬,并利用人機交互裝置提供豐富體驗。將虛擬現實技術應用于試驗中,可以為試驗提供更豐富的體驗,其中難點在于試驗模型的三維重建[9]。但在特種復雜試驗裝置中,模型處于不可接觸的環境,如密閉空間、有高輻射、高污染、病毒環境、超低溫等。這給可視化數據的獲取造成了困難。傳統的建模方式,雖然更為精確,但是周期太長,不具備實時性。
運動恢復結構(structure from motion,SFM)是基于圖像的三維重建方法,可以通過在不同視角獲取目標的圖像,從而獲得目標的三維結構。運用運動恢復結構技術,可以方便快捷地獲得特種復雜試驗裝置中模型的可視化三維結構,但面臨著精度低和附加數據困難等問題。
本文設計了基于運動恢復結構的動態建模系統。通過在模型上設置標識點,使用智能尋跡車接近模型拍攝照片,然后經過運動恢復結構技術,自動將照片轉化為三維模型,并附加溫度數據,獲得了數據豐富的三維模型。該三維模型經加工后,可以使用頭戴式虛擬現實設備獲得沉浸式體驗。
系統為三層架構,自底向上分別為前端設備感知層、中心控制計算層和用戶控制層,如圖1所示。

圖1 系統結構
前端設備感知層進行步進電機、軌跡攝像頭、光學相機、紅外相機等設備的控制和數據傳輸,搭載于智能尋跡車上。
中心控制計算層,主要位于應用服務器上,進行業務邏輯的處理。前端設備感知層軌跡攝像頭傳輸過來的軌道圖像和步進電機的狀態數據,在軌跡控制模塊進行處理,并將反饋數據傳輸回前端設備感知層。前端設備感知層傳輸的光學相機圖像,依次經過環狀編碼識別和光學SFM,進行三維重建。前端設備感知層傳輸的紅外相機圖像,經過紅外SFM,將溫度信息加入三維重建的模型中。
用戶控制層,用于與用戶交互,包括兩部分。一部分位于上位機,主要進行智能尋跡車的控制。另一部分位于應用服務器,主要進行虛擬現實渲染。
智能尋跡車采用樹莓派4B,其硬件配置有64位1.5 GHz四核CPU和Broadcom Video Core VI 500 MHz的GPU。智能循跡車操作系統采用樹莓派官方操作系統 Raspbian,具有較好的穩定性。
試驗裝置內部如圖2所示。裝置底部為白色平面,智能尋跡車軌道為黑色車道線。為避開裝置底部障礙物,智能尋跡車軌跡不規則。智能尋跡車上搭載用于軌跡識別的攝像頭,使用OpenCV實現循跡。

圖2 智能尋跡車軌道示意圖
智能尋跡車上配置云臺,搭載CCD相機和紅外相機,用來拍攝模型圖像。圖像數據通過無線網絡傳輸至服務器端,再進行三維重建。
光學相機采用GoPro MAX全景運動相機,可拍攝5.5 MP平面照片。
紅外熱像儀采用FLIR E6-XT,分辨率為160*120,測溫范圍為-20度到250度,環境溫度為10度到35度時測溫精度為±2度。
智能尋跡車具有邊緣計算能力,將感知的信號進行預處理,再提交下一層進行計算和控制等。
應用服務器處理器為Intel Xeon CPU E7-4850,安裝windows server 2016操作系統和SQL Server 2016數據庫。
成熟的虛擬現實設備有多種,包括CAVE投影系統和多種頭戴式設備。CAVE投影系統由圍繞使用者的三個以上投影面組成,并配有動作跟蹤裝置,可以用于虛擬現實的多種應用場景。CAVE投影系統雖然沉浸式效果最佳,但造價高昂。頭戴式設備主要應用于虛擬現實游戲,通過對使用者雙眼呈現不同的影像產生沉浸式效果。
由于本系統采用了西門子Teamcenter系列軟件,綜合考慮軟硬件兼容性、顯示效果和經濟性,本系統采用HTC Vive頭戴式設備作為虛擬現實顯示硬件。HTV Vive頭戴式設備,包括一個虛擬現實頭盔和兩個定位器,需要在固定的規劃空間內使用,并連接一臺專門用于虛擬現實的計算機。
虛擬現實計算機安裝NVIDIA GeForce GTX 1060顯卡用于虛擬現實渲染。虛擬現實體驗房間用于設備使用的規劃空間需要至少2 m×1.5 m,推薦3.5 m×3.5 m。
定位器于規劃空間對角放置,最大距離不超過5米。兩個定位器需要固定于墻上,且都需要接電源。
虛擬現實計算機放置于規劃空間的邊緣,用于連接HTC Vive頭戴式設備。頭戴式設備需要接電源。
網絡架構圖如圖3所示。智能尋跡車搭載光學設備,位于特種試驗裝置中,通過無線網絡連接到交換機。上位機位于試驗室,方便通過網絡控制智能尋跡車。

圖3 系統網絡架構示意圖
智能尋跡車拍攝的圖像,通過無線網絡傳輸至交換機,再通過網線傳輸至應用服務器。應用服務器位于機房,主要進行三維重建。應用服務器安裝有SQL Server 2016數據庫,系統所有數據最后都存儲于數據庫中。
虛擬現實計算機位于專門的展示間,通過網絡連接到交換機。HTC Vive頭戴式設備通過USB線連接到虛擬現實計算機。
特種復雜試驗裝置具有完整的測量與控制系統,本系統的軟硬件設計不能干擾試驗裝置的測量與控制系統。因此本系統的軟件部分,必須兼容試驗裝置的測量與控制系統。試驗裝置的測量與控制系統,主要為Profibus架構的多個PLC組成,工控機上部署使用LabVIEW開發的上位機程序。
根據以上情況,本系統軟件部分采用分布式部署。
智能尋跡車上部署python語言開發的客戶端,進行智能尋跡車控制、軌跡識別和圖像傳輸。
應用服務器上部署C#語言開發的服務器端程序,進行圖像處理。應用服務器軟件部分根據功能劃分為四個主要模塊。光學三維重建模塊,根據輸入的圖片,使用運動恢復結構算法,以獲得模型的三維結構。模型環狀編碼標記模塊,通過在模型上設置一些關鍵點,并進行標記,以增加生成的三維結構的精度。紅外三維重建模塊,利用光學相機和紅外相機姿態和視角相同的特點,以獲取模型的溫度信息。虛擬現實體驗模塊,將生成的有溫度信息的三維結構,在專業設備中進行渲染。
上位機上部署LabVIEW語言開發的上位機程序,用來進行人機操作。
虛擬現實計算機上部署C#語言開發的客戶端程序,用于接收圖像并調用虛擬現實專業軟件進行渲染。
軟件實現流程圖如圖4所示。由于軟件部分位于多個不同的硬件節點上,因此分布式部署的各個節點之間,采用WebAPI接口進行數據的交換。WebAPI采用標準的http協議,能夠支持多種語言的客戶端。在本系統的開發中,使用分布式部署和WebAPI接口,很適合本系統的硬件環境。軟件部分的主要模塊的實現,將在下文詳述。

圖4 軟件實現流程圖
3.2.1 光學三維重建
三維重建是計算機視覺中的一個重要組成部分,三維模型能比二維圖像提供更豐富的信息和更好的體驗。本系統采用文獻[2] 提出的基于連續圖片的運動恢復結構算法,來獲取目標的三維結構。三維重建模塊的處理步驟如圖5所示。

圖5 運動恢復結構基本過程
1)輸入圖像:光學相機拍攝不同視角的若干個圖像,通過無線網絡從智能尋跡車傳輸到應用服務器。相鄰圖像之間要有一定的重疊度。
2)特征提取:使用SURF(speeded-up robust features)[5]算法從所有拍攝的圖像中獲取一些具有獨特特征的關鍵點。
3)特征匹配:通過從兩個不同圖像中尋找具有視覺上相似性的特征對。這些特征對需要滿足最小相似性標準。
4)幾何驗證:通過計算匹配圖像之間的相對姿態,來驗證匹配的圖像對,并據此計算相機的姿態。最后使用基本極限約束來驗證所有對應關系,刪除異常值匹配。
5)重建:根據前一步驟獲取的匹配圖像對的相對姿態,經坐標變換,將所有相機轉換到同一個固定的世界坐標系下,創建一致的三維模型。所有匹配的特征點將被三角測量到三維空間,并形成稀疏點云。
6)BA優化(bundle adjustment):運行全局的光束法平差算法,以得到一致的三維模型[7]。
智能循跡車每環繞模型一周,就將拍攝的所有光學圖像傳輸給三維重建模塊。三維重建模塊通過這些圖像獲得三維結構,并根據模型環狀編碼標記獲得的關鍵點信息增加三維結構的精度。
3.2.2 模型環狀編碼標記
在特種試驗裝置中,復雜的工況可能給三維重建帶來困難:1)存在較多的機械部件,如電動機等,造成較大的震動。智能循跡車拍攝的圖像,因為抖動而存在模糊的情況。2)模型和裝置內部環境可能視覺上區分度不高,難以把模型和背景區分開。不經過處理,直接對光學相機圖像進行三維重建,生成的三維結構精度較低。
為進一步提高三維模型的精度,在模型表面設置一些特征明顯且唯一的關鍵點,可以有效地降低三維重建的復雜性,增加三維模型的精度。本系統使用文章[4]提出的方法,采用環狀編碼標記點(CCT,circular coded target),實現環狀編碼的識別。
環狀標記如圖6所示,圖中有3個同心圓,其直徑分別為7 mm、18 mm、28 mm,正方形黑色背景邊長為38 mm。環狀編碼帶中有8處為白色,7處為黑色。使用黑色表示0,白色表示1,最多可以標記429個點。

圖6 環狀編碼標記示意圖
模型表面根據需要設置環狀編碼標記點。環狀標記應設置于模型表面變化較大的位置,以及容易和背景混淆的位置。在系統運行過程中,進行環狀編碼識別,由于標記點的坐標是固定的,用于在三維重建中糾正關鍵點的坐標,可以提高三維重建模塊的精度。
使用環狀編碼標記,成本較低,對裝置內部改造少。使用該方法,識別準確度和三維重建速度提升明顯,具有良好的綜合性能。
3.2.3 紅外三維重建
特種試驗裝置中,具有復雜的溫度控制系統。其中包括一套鍋爐用來加熱內部壁面,一套制冷機組用于內部空間制冷,一套電加熱溫度車用于內部空間加熱。模型表面溫度是一個測量的重要參數。雖然眾多的傳感器用來監測溫度,但使用紅外三維重建的方式能夠更快的且更直觀的展示模型整體的溫度狀況,在試驗進行當中指導試驗的溫度控制策略。
智能循跡車上裝有紅外相機,從紅外相機拍攝的紅外圖像,能夠獲取模型表面的溫度信息。但紅外圖像存在分辨率低、干擾多等問題,無法直接從中重建三維模型。
文獻[3]提出了改進的SFM算法,將SFM算法擴展到了紅外圖像。該算法在特征檢測和特征匹配方面進行了改進,采用SURF算法進行特征檢測,并基于RANSAC 算法[4-5]結合紅外圖像的溫度信息又提出了TAC-RANSAC算法,提高了紅外圖像三維重建的精度。
由于光學相機和紅外相機姿態和視角相同,經過坐標變換和調整,可以將紅外圖像得到的點云附在光學圖像重建的三維結構上。兩者相結合可以重建出具有溫度信息的三維模型。
智能尋跡車每環繞模型一周,所有的紅外圖像將傳輸給紅外三維重建模塊。紅外三維重建模塊得到有溫度信息的三維結構,傳輸給虛擬現實體驗模塊。
3.2.4 虛擬現實體驗
目前成熟的用于工業模型的虛擬現實顯示方案都比較昂貴。本系統采用的頭戴式設備HTC Vive主要用于虛擬現實游戲,沒有針對工業模型的軟件。因此,本系統采用西門子TC VisMockup進行針對性渲染,需要配置左右眼顯示差異參數。有溫度信息的三維結構傳輸至虛擬現實計算機,經西門子Teamcenter Visualization Animation Creation Option軟件進行修改和加工后,在虛擬現實計算機上使用西門子TC VisMockup進行渲染,再輸出到HTC Vive頭戴式設備進行沉浸式體驗。
某試驗裝置,內部有移測架、溫度車、彎刀等機構,導致內部空間狹小且不規則。使用黑色膠帶貼在裝置底板,作為智能循跡車的軌道,啟動智能循跡車行進。
該裝置具有加熱和制冷功能,以及蒸汽加濕系統,氣流溫度和濕度變化較大。分別在多種工況下,操作智能尋跡車沿固定軌道環繞模型拍攝照片。
結果顯示,本系統能夠獲得較精確的模型三維結構,其溫度數據能起到了現場輔助試驗的作用。試驗人員通過頭戴式設備,能沉浸式的觀看模型。
本系統基本解決了特種試驗裝置中模型的動態建模問題,且提供了虛擬現實的體驗方式。
試驗過程中,遇到以下問題:1)在濕度較大的情況下,智能循跡車上裝載的相機鏡頭容易起霧,不能長時間進行動態建模。2)裝置內氣流速度較大的情況下,智能循跡車容易偏離軌道。
下一步,將從兩方面改進本系統:1)在特種試驗裝置中特定工況下,如高風速、高濕度下,加強系統的適應能力,增加動態建模的精度。2)將結合試驗任務中的更多原始數據,采用增強現實(augmented reality)[6]的方法呈現模型,以沉浸式體驗的方式觀看模型和操作特種試驗裝置[7-11]。