郭 城,劉 剛
(東南大學成賢學院,江蘇 南京 210000)
建筑物虛擬現實復原技術是一種智能化技術方法,主要是通過視頻和圖像序列等多媒體信息獲取建筑物的三維幾何模型[1]。通過三維重建技術獲得建筑物的幾何機構,可以簡化建筑物復原過程,解決傳統復原方法中存在的問題[2]。在游戲、數字化城市、三維電影和數字文物保護等領域中建筑物復原技術受到了廣泛的關注,并提出了建筑復原的相關技術。
中華民族具有悠久的文化歷史,給人類留下了豐富的建筑遺產,這些建筑遺產不僅作為建筑實體存在而具備價值,更是承載了寶貴的歷史文化信息。保護和研究建筑遺產體現了對中華民族歷史的尊重,更是具有極強的文化價值和意義。
伶工學社于1919年由著名教育家、實業家、政治家張謇在江蘇南通創辦,當時是一所新型的戲劇學校.該校特聘京劇大師梅蘭芳為名譽社長,戲劇大師歐陽予倩任伶工學社主任,執掌教學工作。伶工學社是中國戲劇發展史上具有里程碑意義的建筑,但由于歷史原因,原址建筑已經遭到破壞,不復存在。本文將以南通伶工學社的數字化復原和保護為例,具體闡述如何將計算機數字技術應用在建筑復原保護中。
隨著建筑物復原技術的發展,人們對其提出了更高的要求,因此需要對建筑物虛擬現實復原方法進行分析和研究。周嘉俊[3]等人通過抽樣一致性算法分割建筑物的點云數據,利用delaunay三角剖分方法檢測建筑物輪廓點獲取關鍵點,通過規則化處理關鍵點完成建筑物的復原,該方法無法獲取有效的建筑物數據,存在數據有效率低的問題。曹林[4]等人剖分處理建筑物的三維線特征,在拓撲順序的基礎上根據特征角點構建平面,根據相關規則設定補充規則,完成平面邊界補充,實現建筑物復原,該方法獲取的數據中存在大量的冗余數據,導致復原后的建筑物完整性和精度較低。秦斐[5]等人在多元線性回歸的基礎上分割點云數據,結合聚類分析方法和邊緣提取方法實現建筑物的復原,該方法復原建筑物所用的時間較長,存在復原效率低的問題。
為了解決上述方法中存在的問題,提出基于虛幻引擎的建筑物虛擬現實復原方法。該方法將虛幻引擎技術作為創新點,用于建筑物信息的采集和提取,可獲得有效率高的建筑物數據,根據獲取的數據實現建筑物的虛擬現實復原,在數據有效率、復原效率、復原完整度和精度等方面進行了相關優化。
對于伶工學社原貌的精準復原有著重大意義。
通過模塊化結構描述虛幻引擎框架,如圖1所示。

圖1 虛幻引擎框架圖
采用虛幻引擎技術獲取建筑物信息的工作流程如圖2所示。

圖2 虛幻引擎工作流程圖
1)引擎初始化
該程序的主要目的是對特定文件進行讀取和解析,獲取設定事件在現實中發生的條件,并對仿真參數進行計算,包括數據存儲、仿真模型、結束條件、三維模型、仿真時間、初始用戶位置和天氣條件等。
2)運行初始化
該步驟主要由初始化仿真實例、解析配置文件和讀取數據三部分構成。
①初始化仿真實例:對仿真時間初始值進行設置,建立等待實體隊列、建立時間列表、建立活動實體隊列、實例化仿真模型,以及在等待實體隊列和活動實體隊列中插入模型實例等,通過上述過程方便虛幻引擎的調度。通過引擎中存在的微內核模塊對時間列表進行管理,存儲發送實例的通知和請求。
②解析用戶配置文件,該文件中包含多種系統配置參數,包括設置聲音設備,設置通道、窗口和屏幕,設定網絡通信標準,設置輸入設備和顯卡狀態等。
③讀取數據,在仿真過程中讀入不同的地形數據、三維模型和仿真模型等,并實例化處理讀取的仿真模型。通過仿真模型的行為在實例化過程中確定狀態轉移條件和激活條件。
3)控制運行狀態
虛幻引擎包括仿真暫停和仿真結束兩種運行狀態。虛幻引擎在仿真過程中需要對仿真運行進行的狀態進行判斷,通過想定對仿真結束條件進行設定。仿真運行過程中可通過仿真暫停狀態控制暫停和實時表現,仿真進程在實時表現狀態下需要暫停。
4)處理事件
虛幻引擎中存在的模塊在進入幀循環時,已經將開始工作的命令下達到微內核模塊中,并向微內核模塊不斷發送消息,在事件列表中根據先后順序存儲上述消息。微內核模塊在幀循環過程中對事件列表中存在的事件進行處理,并對場景進行渲染[6,7]。
5)處理仿真實例
在仿真運行過程中處理仿真實例屬于主要內容,通過人工智能、物理引擎和仿真實例模型獲得虛擬角色的屬性和行為,并在自然環境中獲得仿真實體的真實運動狀態,在緩沖區中存儲渲染結果。當仿真實例在下一個循環中的處理結果不發生變化時,直接讀取緩沖區中存在的幀。
在等待實體列表中根據模型的優先級排序等待實體,虛幻引擎對模型的活動狀態進行判斷時,主要采用模型實例在等待狀態下的處理方法。在活體實例列表中存儲存滿足未來發生條件的實體。按照實例的優先級和發生時間排序活動實體列表。
6)數據存儲
根據仿真試驗設置中的保存時間間隔,虛幻引擎存儲并記錄模型實例的數據,在存儲數據的過程中,虛幻引擎按照相應的順序對多種數據存儲方法進行調用。虛幻引擎在模型實例不連續的狀態下,在相應的時間內根據模型的語義存儲數據。
基于虛幻引擎的建筑物虛擬現實復原方法利用虛幻引擎技術設定初始仿真參數,并對其進行初始化處理,在幀循環過程中虛幻引擎對模塊中存在的事件進行處理,根據獲取的仿真數據對當前場景進行渲染和顯示,獲得建筑物的場景數據。
基于虛幻引擎的建筑物虛擬現實復原方法根據上述過程獲取的數據實現建筑物的虛擬現實復原。
1)相機模型
通過上述虛幻引擎技術獲得三維空間點P(x,y,z)∈R3在二維圖像平面中對應的像素點X(u,v)∈R2

(1)
式中,cx、cy代表光軸中心點對應的坐標;fx、fy代表焦距對應的坐標;π描述投影方程。



(2)
式中,tl,k描述平移分量;Rl,k描述旋轉分量;SE代表歐氏群。
三維空間可通過加權截斷有向距離函數[8]進行描述ψ:[ψrgb,ψd]→[R3,R],其中ψd描述建筑物表面的幾何信息,ψrgb描述建筑物表面的色彩信息。
表面ψfn通過前N對色彩圖像和深度圖像融合得到;表面ψsn+1通過前N+1對色彩圖像和深度圖像反投影獲得,表面的顏色亮度和幾何位置需要保持一致,用下式描述誤差函數E(Tt,N+1)

(3)
式中,ψfn(Tt,N+1)2描述幾何誤差;θψfn(Tt,N+1)2描述亮度誤差,參數θ的主要作用是進行加權處理,描述點P對應的齊次形式。其中代表三維對角矩陣,其主要作用是用灰度圖描述RGB格式的色彩圖,
基于虛幻引擎的建筑物虛擬現實復原方法通過Gauss-Newton算法求解上述誤差函數。
所有素體v中都存在六個值,用Φ描述素體v與最近距離表面的TSDT;用Wd描述TSDF對應的確信度;R、G、B均代表通道顏色值;用Wc描述顏色值對應的確信度,通過加權平均法對TSDF進行更新

(4)
同理,對顏色信息Γ進行更新

(5)
式中,γ∈(r,g,b)代表顏色分量。
3)去融合處理
通過下述公式描述去融合過程

(6)
通過相同的方式在色彩測量過程中對累計誤差進行計算

(7)
4)子網格移動
當給定閾值小于子網格中心點與相機之間的距離時,在建筑物虛擬現實復原時需要對子網格進行移動。
用Tj,i描述第i幀變化到局部子網格Vj中

(8)
式中,Pg,i代表當前子網格Vj對應的絕對位姿;Tg,i代表第i幀圖像對應的絕對位姿;t代表時刻。
在子網格移動過程中對旋轉分量和平移分量進行考慮,子網格Vj符合‖tji‖>Thold_t時,被移動到Vj+1,其中Thold_t代表距離閾值,此時通過Tj+1,i=I4*4,Pj,j+1描述新建立的子網格Vj+1,其中I4*4代表圖像的位姿。
通過下式描述子網格之間存在的位姿關系

(9)
式中,vs代表體素對應的尺寸。
在固定光軸中相機向后或向前移動的距離超過設定的距離時,需要平移V1
d2>dth2l‖d2 (10) 式中,dth2l、dth2s均代表設定的閾值;d2描述光心L2與點C之間存在的距離。 5)全局優化 用ψd描述表面點P對應的有向距離tsdf,通過下式對梯度n進行歸一化處理 (11) 對應點(pi,qi)亮度和三維空間的誤差ei,i可通過下式計算得到 ei,i=‖(Tg,jpi-Tg,kqi)TTg,kn‖ (12) 通過sparseLM求解下述整體誤差函數 (13) 為了獲得虛擬建筑的整體三維模型,優化完全局軌跡后需要在全局TSDF中融合子網格 (14) 針對建筑物的色彩信息,也采用相同的方式 (15) 根據上述過程獲取的信息通過marching cubes算法獲取建筑物的三角片面,實現建筑物的虛擬現實復原。 為了驗證基于虛幻引擎的建筑物虛擬現實復原方法的整體有效性,需要對基于虛幻引擎的建筑物虛擬現實復原方法進行測試。 采用基于虛幻引擎的建筑物虛擬現實復原方法、文獻[3]方法和文獻[4]方法進行測試,對比不同方法采集數據的有效率,測試結果如圖3所示。 圖3 數據有效率測試結果 根據圖3中的數據可知,隨著數據量的增加,所提方法、文獻[3]方法和文獻[4]方法采集數據的有效率均有所增加,通過對比發現,在相同數據量下所提方法采集的數據有效率均高于文獻[3]方法和文獻[4]方法采集的數據有效率,因為所提方法利用虛幻引擎技術獲取建筑物的數據,提高了數據的有效率。 采用所提方法、文獻[3]方法和文獻[4]方法對五個不同的建筑物進行復原,對比不同方法復原所用的時間,根據復原時間,對比不同方法的復原效率,復原所用的時間越短,方法的復原效率越高,相反,復原所用的時間越長,方法的復原效率越低,不同方法的復原效率測試結果如圖4所示。 圖4 不同方法的復原時間 對圖4中的數據進行分析可知,對五個不同的建筑物進行復原時,所提方法復原所有的時間均可控制在0.5min之內,低于文獻[3]方法和文獻[4]方法復原所用的時間,因為所提方法利用虛幻引擎獲取建筑物信息,縮短了信息采集與提取所用的時間,進而縮短了方法的復原時間,提高了方法的復原效率。 為了進一步驗證上述方法的有效性,對比不同方法復原建筑物的精度,測試結果如表1所示,復原精度越高,表明方法的復原性能越好。 表1 不同方法的復原精度 根據表1中的數據可知,在多次迭代中,所提方法的復原精度均在95%以上,文獻[3]方法和文獻[4]方法的復原精度在70%附近波動,通過上述測試,驗證了所提方法的復原性能。 利用所提方法虛擬現實復原建筑物的視覺效果如圖5和圖6所示: 圖5 虛幻引擎技術下伶工學社建筑信息獲取結果 圖6 虛幻引擎技術下伶工學社建筑物虛擬模型構建 根據圖5和圖6的建筑復原視覺效果可知。所提方法應用虛幻引擎技術可獲取全面、完整的建筑信息,虛擬復原后的建筑結構完整,可視化效果較優。 通過本次伶工學社建筑物復原的實例應用,可以對比總結出基于虛幻引擎的計算機數字技術相對于3D MAX等三維直觀建模軟件在建筑物復原的精度上更具優勢。 建筑物虛擬現實復原技術是通過計算機和傳感器分析并處理建筑物的深度元數據和紋理元數據等,根據處理結果實現建筑物的復原。在智能機器人和工業模擬等方面建筑物復原技術具有重要作用,但設備問題和時間問題制約了建筑物虛擬現實復原技術的發展,因此需要對建筑物虛擬現實復原技術的發展進行研究。 目前建筑物虛擬現實復原方法存在數據有效率低、復原效率低、復原完整性低和復原精度低的問題,提出基于虛幻引擎的建筑物虛擬現實復原方法,將虛幻引擎技術應用在建筑物虛擬現實復原過程中,可在較短時間內獲得大量的有效的建筑數據,實現建筑物的虛擬現實復原,解決并優化了傳統方法中存在的問題,為建筑物復原技術的發展奠定了基礎。




5 實驗與分析





6 結束語