張香玉,金 暉
(廣州大學華軟軟件學院,廣東 廣州 510990)
VR又稱虛擬現實技術,是一種以創造和體驗虛擬世界為主要功能的計算機仿真系統。其主要是利用計算機生成模擬環境,對多源信息融合的交互三維動態視景和實體行為進行系統仿真,使用戶沉浸在虛擬環境中。虛擬環境中,三維的表現形式既能承載更多的信息,又能與人在虛擬環境中的立體感知需求相匹配[1]。三維重建是指建立適合于計算機表示和處理的三維對象的數學模型,是在計算機環境下處理、操作和分析三維對象性質的基礎,也是在計算機上建立反映客觀世界的虛擬現實的關鍵技術[2]。
進入21世紀以來,隨著人們對三維重建和虛擬現實技術的不斷研究,三維重建已被廣泛地應用于各行各業,以基于AKAZE算法的多視圖幾何三維重建方法[3]和基于改進SIFT算法的圖像三維重建方法應用較為廣泛[4]。但上述傳統方法難以完全適應VR環境,將其應用于VR環境后會產生重建結果完整度低、重建質量差等問題。
針對以上問題,本研究在現有技術的基礎上,引入了特征并行匹配技術。特征匹配是將從圖像中提取的特征作為匹配實體進行匹配,將提出的特征屬性或描述參數作為匹配實體進行匹配,通過計算匹配實體間的相似度來實現匹配的特征性,以提高三維重建結果的質量。
多視圖三維重建方法主要是根據相同物體在不同視角下具備相同特征的原理實現的。在真實的場景中進行VR環境圖像的采集,經過對初始圖像的處理并利用特征并行匹配技術,實現多視圖特征點的匹配,進而實現VR環境中三維場景的重建。
多視圖三維數據中的獲取主要是利用攝像機設備,因此結合攝像機的基本圖像采集原理,構建坐標系如圖1所示。

圖1 攝像機坐標系
圖1中,OC為坐標系原點對應的是攝像機的光心,ZC為過原點垂直于像平面的光線,即光主軸。O1點為光軸與成像平面的交點,XC和YC分別為平行于像平面坐標系的X軸和Y軸,OCO1表示的是攝像機的焦距,記為f。假設空間中任意一點位于攝像機坐標系中的坐標是(xc,yc,zc),與之對應的世界坐標系中坐標是(x′c,y′c,z′c),則兩者之間存在如下關系

(1)
式(1)中,R代表正交單元矩陣,表示世界坐標下攝像機坐標軸的方向矢量,參數t則是從世界坐標系原點到攝像機光心的方向矢量。通過對攝像機的標定處理得出VR環境下的多視圖三維數據,實體視圖與VR環境視圖之間的投影關系如下
λx=K[R|t]X
(2)
式(2)中,X為三維數據在VR環境下的值,λ為尺度因子,K和[R|t]分別代表相機的內外參數。那么將攝像機拍攝的實體數據利用式(2)進行轉換,并可以得出VR環境下的多視圖三維數據獲取結果。
2.2.1 徑向校正
多視點數據采集時繞著場景旋轉,每轉一定角度拍一張照片,保證了場景的完整記錄,但在采集過程中又會產生圖像的徑向畸變和噪聲,因此需要對多視點三維圖像進行預處理[5]。設(x,y)表示畸變圖像中的而一個像素,而(p,q)是與(x,y)相對應的無徑向畸變的圖像中像素的位置,則有

(3)
式(3)中,θi表示徑向畸變系數。徑向畸變系數的具體取值由攝像機的基本結構決定,對三維視圖中的一個像素點進行反映射,通過遍歷每個像素點的無畸變圖像,得到相應的像素值,從而實現對初始圖像的畸變校正。
2.2.2 降噪處理
假設在圖像中加入的椒鹽噪聲的灰度值分布在一定的范圍內,設f(i,j)表示數字圖像像素灰度值,則存在:

(4)
式(4)中,S代表信號像素集合,N代表噪聲像素集合,δ取值為常數。對噪聲點進行處理,在濾波的同時盡量保護圖像細節,保持信號點灰度不變。對噪聲點,根據濾波窗口中未受污染信號點的數目,自動調整濾波窗口的大小,以窗口中所有未受污染像素的相關運算值代替中心噪聲點像素。將窗口中未被污染像素的加權定義為

(5)
式(5)中,I(i,j)表示在以(i,j)為坐標中心的濾波窗口中(i+s,j+t)位置上未被污染的像素的灰度值,We(s,t)為I(i,j)的權值。在窗口中,沒有噪聲污染的每個像素的權重與距中心像素的距離密切相關[6]。在濾除噪聲時,應合理設置濾波窗口大小參數,以避免在讀取圖像時造成深度污染。對初始三維圖像進行濾波窗口遍歷,得到最終的多視點三維圖像預處理結果。
2.2.3 多視角運動恢復處理
多視圖上的基本映射關系一般來源于直線與平面的交集關系,其交集性質可用攝像機矩陣生成的某個值為零的行列式來描述。多視點幾何關系分析是實現圖像特征的精確匹配,為三維場景重建提供更精確的數據支持。一般來說,視點的選擇可以分為全局視點和局部視點。全局視點下的圖像處于同一視點上,無法實現多視點圖像特征的分析,因此選擇局部視點模式。給定像素的初始深度估計,找到局部得分lR(V)值最大的視圖V。如果這個視圖具有足夠高的NCC分數,則將其添加到集合A中;否則會被拒絕[7]。重復此過程,從剩余的未拒絕視圖中進行選擇,直到集合A達到所需的大小或未保留任何未拒絕的視圖。在此基礎上,利用連續視差,通過計算三維運動圖像進行恢復,得到攝像機的所有姿態與目標圖像的匹配,并由于部分三維坐標的稀疏點云,利用立體視覺運動恢復結構來提取多個視點的信息,并且沒有充分利用二維圖像信息,將稀疏點的采集速度轉化為密集的點云,使得信息更加完整的三維模型。
2.3.1 特征點檢測的并行化設計
針對圖像中每一點構造一個與自相關函數相關聯的矩陣,其特征值幾何意義為自相關函數的一階曲率,若兩個曲率值均較大,則認為這兩個點為特征點。先對圖像進行并行初始化,并行計算的運行主要是利用分布式存儲系統,用戶在程序中明確指出要通過發送和接收消息來進行數據交換和通信。每一個進程都分布在不同的子節點上,每一個節點中的進程都是獨立的,只能訪問各自節點中存儲的數據,不能訪問其它節點中存儲的數據,它們之間通過消息傳遞進行數據轉換,實現了特征點檢測的并行編程模式[8]。用差分分算子分別計算圖像中各像素點水平方向和垂直方向的-階導數及其平方和平方的乘積,并用兩個方向導數的平方和平方的乘積作為元素,形成一個2×2大小的矩陣。通過特征點響應函數計算出每個像素點的特征響應值,并對每個像素點進行判定,確定該特征點在以該像素點為中必數的4個鄰域窗口中是否為最大,如果該點的正應值是該鄰域范圍的最大值,則將該點視為特征點。圖2顯示了特征點的檢測結果。

圖2 特征點描述示意圖
圖2中間的黑點是中間點。周圍方格中的所有小方塊代表比例空間中關鍵點的像素。長度是漸變的模數,箭頭是漸變的方向,藍色圓圈是高斯加權面積。種子是由8個點組成的,每一個點有4個方向。該方法既能對定位誤差進行特征匹配,又能提高特征匹配的抗噪聲能力。將四個種子點擴展到關鍵點周圍的16個種子點。關鍵點的建立將產生128維數據和128維特征向量,從而降低誤匹配率,提高后期匹配的穩定性。
2.3.2 提取多視圖特征
在并行化特征點檢測結果的基礎上,為了在尺度空間中高效檢測穩定關鍵點,在在高斯差分函數與圖像卷積獲得的空間D(x,y,σ)中找出極值點。極值點的提取過程可以表示為

(6)
式(6)中,G(x,y,σ)和G(x,y,kσ)表示不同尺度圖像的二維高斯函數,參數σ為高斯正態分布的方差,I(x,y)為輸入的原始圖像。不同尺度的高斯核函數在初始圖像上反復卷積,得到一系列的尺度空間,即高斯尺度空間和DoG尺度空間,它們是通過差分運算得到的。過濾掉那些極值點,去除不穩定點,提高匹配的正確性和穩定性。不穩定性極值點通常表現為低反差和邊緣點的反差。在某極值點心對D(x,y,σ)進行泰勒展開,并得出

(7)


(8)
通過對圖像中所有特征點的求解,將式(8)求解結果小于0.03的極值點剔除[9]。將保留的特征點進行集成與聚類,便可以得出多視圖中幾何特征以及邊緣特征的提取結果。
2.3.3 匹配多視圖特征
在多視特征提取結果的基礎上,采用歐式距離匹配法,假定要計算的兩個關鍵點的128維特征子分別為P和Q,則二者間歐氏距離的表達式如下

(9)

在多視圖特征匹配結果的基礎上,分別通過表面重建、稠密重建以及重建光順三個步驟,得出多實體的三維立體視覺重建結果。初始化候選面片p的中心點c(p)、單位法向量n(p)和參考圖像R(p)。如果p在圖像I中可見,則其n(p)與c(p)到相機中心的連線夾角會小于角度,即

(10)
式(10)中,V(p)是準可見圖像集,即應該可以觀測到p[10]。初始化所有面片信息后,對c(p)和n(p)進行優化,并將p存入對應的可視圖像網格中,由此可以得出稀疏面片。
真實的三維場景需要保證每個圖像塊中至少有一個面片,因此需要基于表面重建的面片擴散。定義一個稀疏面片為p′,初始化p′各參數值,c(p′)設置為通過圖像塊中心的視線和p所在平面的交點[11]。經過對參數的優化后,利用式(10)計算V(p′),并對V(p′)添加一組圖像并使用深度測試判斷這些圖像是否對p′可見,以此實現對圖像參數的更新[12]。若圖像的更新結果大于設置的闕值,則認為p′生成成功,并將其存入對應的可視圖像網格中。結合多視圖的特征匹配結果,在表面重建結果的基礎上實現稠密面片貼圖,并對空間中的三維坐標做的一個濾波操作,具有平滑效果,拉伸點的位置使三維場景效果更佳。
為測試VR環境下基于特征并行匹配的多視圖三維重建方法的應用效果,設計對比實驗加以檢驗。將文獻[3]中的基于AKAZE算法的多視圖三維重建方法和文獻[4]中的基于改進SIFT算法的圖像三維重建方法作為對比方法,與本文方法共同完成性能驗證。
GPU模塊和 CPU模塊是實驗平臺的核心部分。GPU負責高密度、可并行的計算任務,提供足夠的運算能力。中央處理器負責邏輯判斷和數據分配,二者的協同作用使得計算機完成了高計算量的三維重構。實驗應用Wins 10操作系統完成。實驗環境配置情況如表1所示。

表1 實驗測試環境配置表
評價三維重建模型精度的主要指標為IoU均值和切角距離。其中,IoU均值表示體素的交集比,IoU均值越高表明場景重建效果較好。切角距離是評價點云模型生成質量的一種主要方法,表示地面真實點云與生產點云之間的最短平均點距離。
實驗共采用了3組實驗數據,如表2所示。

表2 測試數據集
準備測試數據集中的視圖圖像大小均為640×480,保證視圖之間的可操作性。
將測試數據集中的多視圖數據輸入到實驗環境中,并分別執行三種不同的重建方法。在得出多視圖的輪廓特征提取結果的基礎上,通過多視圖三維重建方法的運行最終得出VR環境下的三維場景重建結果,其中正面效果和側面效果如圖3所示。

圖3 VR環境下多視圖三維重建效果圖
然后以三種方法得出的重建結果為基礎,分別將其導入到分析軟件中,并得出IoU 均值和倒角距離參數的具體取值,即得出三維場景重建結果質量的評價結果。此外,為了驗證重建方法的運行效率,還設置了時間開銷作為測試變量,通過調取重建方法運行平臺的后臺數據即可得出。
3.5.1 三維重建質量對比
經過橫向對比,三種重建方法得出重建結果的質量量化對比結果,如表3所示。

表3 三維重建質量對比結果
從表3中可以看出,與傳統方法相比,本文方法的IoU均值明顯有所提高,且切角距離也得到了提升。由此可見,基于特征并行匹配的多視圖三維重建方法輸出的重建結果質量更佳。
3.5.2 重建方法耗時對比
通過對運行時間的調取與對比,得出不同重建方法的耗時對比結果如圖4所示。

圖4 多視圖三維重建方法的耗時對比曲線
從表4中可以看出,相比于文獻[3]和文獻[4]中的重建方法,本文設計的三維重建方法構建速度更快,重建過程用時更短。
實時三維模型能詳實地反映重建對象的真實信息,將計算機視覺與傳統攝影測量技術相結合,也可使得虛擬現實技術成為可能。為此,本研究在虛擬現實環境下,采用特征并行匹配方法實現三維場景的快速重建,有效保證了重建結果的質量。