辜昕宇,曹 鋒,劉傳誼
(江西師范大學(xué)科學(xué)技術(shù)學(xué)院,江西 南昌 332020)
目前,對(duì)船舶航行視景數(shù)字化的相關(guān)研究較少[1-2]。陳立家等[3]提出航海模擬器視景快速建模方法,利用傾斜攝影方式采集船舶視景圖像后,實(shí)際應(yīng)用過(guò)程中受船舶視景圖像傾斜角度、清晰度等因素影響,導(dǎo)致該方法建立的船舶視景模型逼真度不足。趙盼等[4]提出Creator 的視景建模方法,該方法以Creator 軟件為基礎(chǔ),并結(jié)合TerraVista 軟件,建立船舶虛擬環(huán)境視景仿真模型。該方法在實(shí)際應(yīng)用過(guò)程中無(wú)法及時(shí)呈現(xiàn)船舶運(yùn)動(dòng)狀態(tài),因此應(yīng)用效果不佳。
為了解決上述問(wèn)題,本文提出基于VR 技術(shù)的船舶航行視景數(shù)字化三維建模方法。
船舶航行環(huán)境由水文、航道條件、港口設(shè)備等組成,對(duì)于船舶航行視景數(shù)字化三維場(chǎng)景來(lái)說(shuō),主要建模的對(duì)象包括視覺(jué)可見(jiàn)部分、水體、不同種類(lèi)地標(biāo)物、船舶等,設(shè)計(jì)以上不同三維場(chǎng)景的節(jié)點(diǎn)組織,如表1 所示。
表1 船舶航行視景數(shù)字化三維場(chǎng)景節(jié)點(diǎn)組織Tab.1 Organization of digital 3D scene nodes for ship navigation scenery
通過(guò)節(jié)點(diǎn)組織的設(shè)計(jì),確定了船舶航行視景數(shù)字化三維場(chǎng)景的組成部分,用于構(gòu)建船舶航行視景的數(shù)字化三維模型。
1.2.1 水面與陸域物標(biāo)三維建模方法
利用VR 技術(shù)中的3D MAX 三維建模軟件建立水面與陸域物標(biāo)三維模型,將水面與陸域物標(biāo)的平面坐標(biāo)、尺度、材質(zhì)等參數(shù)輸入到3D MAX 三維建模軟件內(nèi),生成水面與陸域物標(biāo)等高程數(shù)據(jù)和紋理特征[5]。
1)水面模型參數(shù)
平面坐標(biāo):北緯30.123 456°,東經(jīng)120.654 321°。
尺度:1∶5 000。
材質(zhì):使用透明材質(zhì)和反射屬性,以模擬真實(shí)的水面效果。
2)陸域物標(biāo)模型參數(shù)
平面坐標(biāo):北緯30.123 789°,東經(jīng)120.654 987°。
尺度:1∶2 000。
材質(zhì):使用磚墻紋理材質(zhì)。
對(duì)其進(jìn)行貼圖處理后,得到水面與陸域物標(biāo)三維模型如圖1 所示。
圖1 地物標(biāo)三維模型Fig.1 3D model of landmark
建立船舶龍門(mén)吊、港口建筑物等三維模型,從該模型內(nèi)可清楚為用戶(hù)呈現(xiàn)地物位置,有效為用戶(hù)提供船舶航行視景地物信息。
1.2.2 基于Creator 的地形地貌三維建模
按照船舶航行視景仿真需求,使用VR 中Creator 軟件建立不同分辨率的三維地形,其構(gòu)建過(guò)程如下:
1)設(shè)置層次細(xì)節(jié)模型參數(shù)
采用規(guī)則網(wǎng)格建立地形模型,并將層次細(xì)節(jié)模型數(shù)量設(shè)置為3。
2)設(shè)置投影方式參數(shù)
Creator 軟件提供5 種投影方式,其中Trapezoidal是方位角映射,映射時(shí)地形地貌中心點(diǎn)位置最精準(zhǔn),離中心點(diǎn)越遠(yuǎn),則地形地貌越扭曲[6]。
3)地形地貌建模
使用Delaunay 轉(zhuǎn)換算法生成地形地貌模型,該算法可采集海底每個(gè)地形的高程點(diǎn),依據(jù)每個(gè)地形的高程點(diǎn),可在Creator 軟件內(nèi)生成地形地貌模型
4)紋理映射處理
地形地貌模型生成完畢后,將海底地形紋理圖片導(dǎo)入到Creator 軟件內(nèi),依據(jù)投影方式將紋理圖像投射到對(duì)應(yīng)的坐標(biāo)位置,完成地形地貌三維模型構(gòu)建,如圖2 所示。
圖2 地形地貌三維模型Fig.2 3D model of terrain and landform
1.2.3 船舶虛擬環(huán)境建模
船舶虛擬環(huán)境建模是船舶航行視景數(shù)字化三維建模的關(guān)鍵,使用VR 技術(shù)建立船舶虛擬環(huán)境模型,其詳細(xì)過(guò)程如下:
1)船舶初始三維模型生成
建立船舶三維模型是得到其航行視景數(shù)字化的基礎(chǔ),將現(xiàn)實(shí)中的船舶在虛擬的三維數(shù)字空間重構(gòu),是一個(gè)實(shí)物虛擬化的過(guò)程。在建立船舶三維模型時(shí),需要將海量的船舶參數(shù)轉(zhuǎn)換成VR 可用的數(shù)據(jù)[7],本文使用PDM 技術(shù),將船舶參數(shù)從CAD 轉(zhuǎn)化成VR 后,生成船舶初始三維模型。
2)船舶網(wǎng)格模型重建
將初始的船舶三維模型空間分割為10 個(gè)正方體[8],使用指示函數(shù)判斷每個(gè)正方體的定點(diǎn)是否位于船舶三維模型空間內(nèi)部,在正方體內(nèi)部生成1 000 個(gè)等值三角面,對(duì)等值三角面進(jìn)行表面重采樣后,生成網(wǎng)格面,完成船舶網(wǎng)格模型重建。
3)紋理映射
令Qi表示船舶三維模型的三角面片,I為輸入的船舶實(shí)景圖像序列,利用能量函數(shù)來(lái)選擇船舶三維模型的最優(yōu)紋理,表達(dá)公式為:
當(dāng)式(1)數(shù)值最小時(shí),其對(duì)應(yīng)的船舶實(shí)景圖像即為最優(yōu)紋理貼圖圖像。
4)船舶虛擬環(huán)境生成
將紋理貼圖后的船舶數(shù)字化三維模型導(dǎo)入到船舶虛擬展示畫(huà)面中,將船舶模型縮小至1∶50,使船舶數(shù)字化三維模型更加接近實(shí)際狀況,具體船舶虛擬環(huán)境模型如圖3 所示。
圖3 船舶數(shù)字化三維模型Fig.3 Digital 3D model of ships
建立船舶網(wǎng)格模型,并對(duì)該網(wǎng)格模型進(jìn)行紋理貼圖后,得到船舶數(shù)字化三維模型。
1.2.4 船舶運(yùn)動(dòng)仿真模型建立
若要獲得船舶航行動(dòng)態(tài)三維畫(huà)面,需要建立船舶空間運(yùn)動(dòng)平移方程、空間繞坐標(biāo)軸運(yùn)動(dòng)方程以及船舶三自由度運(yùn)動(dòng)非線(xiàn)性方程,利用以上方程得到船舶數(shù)字化三維動(dòng)態(tài)數(shù)據(jù)。
令H表示船體的動(dòng)量,P表示船舶重心速度,則船舶空間運(yùn)動(dòng)平移方程如下:
式中:m表示船舶的質(zhì)量;R′表示船舶重心坐標(biāo)位置向量;d表示積分,t表示自變量; ψ表示一定維度的常矩陣; δ表示船舶舵角。
令GΣ表示船舶空間運(yùn)動(dòng)回旋向量,其方程如下:
式中,J表示船舶對(duì)原點(diǎn)不在重心坐標(biāo)系的慣量矩陣。
當(dāng)船舶出現(xiàn)橫搖、首搖和橫蕩情況時(shí),建立其三自由度非線(xiàn)性方程,表達(dá)式如下:
式中:Y、N、A分別表示船舶橫蕩外力矩、首搖外力矩和橫搖外力矩;下角標(biāo)I、H、L、D分別對(duì)應(yīng)流體慣性、粘性、舵和外力干擾。
通過(guò)式(2)~式(4)可獲得船舶在虛擬環(huán)境中運(yùn)動(dòng)數(shù)字化數(shù)值。
以某水上運(yùn)輸港口作為實(shí)驗(yàn)對(duì)象,該港口貨物吞吐量超過(guò)23 000 萬(wàn)噸,屬于大型集裝箱運(yùn)輸港口,港口有起重機(jī)械314 臺(tái)、門(mén)機(jī)128 臺(tái)、龍門(mén)吊24 臺(tái)。通過(guò)RIEGL 航空激光雷達(dá)收集該港口的高程數(shù)據(jù),Canon數(shù)字相機(jī)收集船舶視景三維實(shí)拍圖像。使用ArcGIS 處理和分析地形數(shù)據(jù)。通過(guò)AutoCAD 進(jìn)行船舶的三維建模,采用Blender 對(duì)船舶模型進(jìn)行網(wǎng)格劃分、拓?fù)湔{(diào)整和表面細(xì)分等操作。使用Adobe Photoshop 進(jìn)行紋理調(diào)整、修復(fù)和映射等操作。通過(guò)Unity3D 將地形模型、船舶網(wǎng)格模型和紋理貼圖等組合到一起,構(gòu)建船舶航行視景的數(shù)字化三維模型。使用本文方法建立該港口內(nèi)船舶的航行視景數(shù)字化三維模型,分析本文方法實(shí)際應(yīng)用效果。
為了驗(yàn)證本文方法重建船舶網(wǎng)格模型能力,在船體流線(xiàn)上選擇10 個(gè)測(cè)試點(diǎn),分析本文方法重建船舶網(wǎng)格前后該10 個(gè)測(cè)試點(diǎn)與實(shí)際船舶參數(shù)偏差數(shù)值,結(jié)果如表2 所示。
表2 重建船舶網(wǎng)格前后測(cè)試點(diǎn)參數(shù)偏差數(shù)值Tab.2 Parameter deviation value of test point before and after reconstruction of ship grid
分析可知,在船舶網(wǎng)格在重建之前,10 個(gè)測(cè)點(diǎn)偏差數(shù)值位于0.97~4.21 cm,而使用本文方法對(duì)船舶網(wǎng)格進(jìn)行重建后,其最大偏差僅為0.05 cm,最小偏差為0。該結(jié)果說(shuō)明本文方法對(duì)船舶網(wǎng)格進(jìn)行重建后,可有效修復(fù)船舶三維模型的偏差,使建立的船舶三維模型更加精準(zhǔn)。
使用本文方法建立的船舶數(shù)字化三維模型模擬船舶右回旋,驗(yàn)證本文方法對(duì)船舶航行視景數(shù)字化呈現(xiàn)效果,結(jié)果如圖4 所示。
分析可知,使用本文方法可有效呈現(xiàn)船舶右回旋時(shí)的運(yùn)行軌跡,為用戶(hù)呈現(xiàn)船舶右回旋時(shí)不同方向上的航跡,為船舶航行提供數(shù)字化呈現(xiàn)方式,說(shuō)明本文方法具備較為顯著的應(yīng)用效果。
本文提出基于VR 技術(shù)的船舶航行視景數(shù)字化三維建模方法,經(jīng)過(guò)實(shí)驗(yàn)驗(yàn)證得出以下結(jié)論:
1)使用本文方法重建船舶網(wǎng)格之后,測(cè)試點(diǎn)的偏差范圍明顯縮小,最大偏差僅為0.05 cm,最小偏差甚至為0。說(shuō)明本文方法能夠有效修復(fù)船舶三維模型的偏差,提高船舶模型的準(zhǔn)確性和精度。
2)本文方法能夠呈現(xiàn)船舶航行視景數(shù)字化效果,為船舶航行提供了數(shù)字化的呈現(xiàn)方式,具有實(shí)際應(yīng)用價(jià)值。