楊雨薇,陳 浩,李秀靜
(南通理工學院,江蘇 南通 226002)
目前,三維重建技術的應用是各個領域的熱門研究課題。通過建立三維模型可以使得很多極具震撼力的自然場景和地域特色的建筑得以保留,這對世界自然和文化遺產的保護和傳承具有重要的現實意義[1]。本文通過研究SIFT算法、PMVS算法和去噪算法,對三維場景進行建模,這不僅能夠讓相關人員得到重要的研究數據,也能通過對三維場景的虛擬展示和漫游讓更多的人了解和參與自然文化遺產的保護和傳承。
圖像序列采集是三維重建的第一步,也是最重要的一步。本文通過手機或者數碼相機對文物建筑進行拍攝。在拍攝的時候保證圖像在整張照片的三分之二及以上,相鄰兩張照片的角度差控制在10° 之內,一組圖像的數量不宜過多,也不宜過少。
在采集到文物建筑的圖像序列之后,運用SIFT(尺度不變特征變換)算法檢測圖像的特征點并進行匹配,從而得到圖像的稀疏點云模型。SIFT算法提取特征點的實質是在不同的尺度空間里尋找特征點,計算出特征點的方向[2]。這里需要通過高斯濾波器DOG[3]計算出特征點的位置,然后用公式(1)計算梯度和方向
其中,m(x,y)為特征點的梯度,θ(x,y)為方向,L是特征點的尺度空間值。
圖像的特征點被提取之后,需要進行匹配。SIFT算法的特征點匹配是根據圖像間特征點的歐式距離進行匹配的。首先,在圖像上找到特征向量距離最小的兩個關鍵點;然后分別求他們的距離,如果最近距離除以次近距離的商小于某個閾值,那么認為匹配成功。為了提高匹配的成功率,本文采用雙向匹配,即正向和反向各一次匹配,取兩次匹配的交集部分,如圖1所示。
圖1 雙向匹配示意
通過SIFT算法的特征提取和匹配得到稀疏點云模型之后,運用PMVS算法得到稠密點云模型,覆蓋在圖像表面[4]。PMVS算法分為3個步驟:初始化特征匹配、面片擴展和面片過濾[5]。
初始化特征匹配是利用Harris算子和DoG(Difference of Gaussian)算子檢測出每幅圖像中的特征點,然后進行匹配,得到一組稀疏的面片集。
得到稀疏面片集之后,通過公式(2)獲取每一個面片的相鄰圖像集合。
其中,I(p)為圖像集合,x、y為下標,Ti(x,y)為點云面片集合。
面片擴展之后,需要對多余的面片進行過濾。這里使用可見性一致過濾,如公式(3)所示。
首先,選擇三維重建模型中的任意一個重建點云p,以此為中心,取p點領域內所有點,構成集合F。其次,對F集合中的每個點都重復上面的步驟,從而擴大F集合的范圍。接著,判斷F集合中點云的數量,數量過少的話,則代表該集合為離群點,重新開始計算;數量足夠多的話,則代表該集合為最大聚類集合,集合以外的點可以去除。最后完成點云去噪的工作。
本文拍攝了一組文物建筑大門和佛像的圖像序列,利用SIFT算法、PMVS算法和去噪算法進行三維重建,重建之后的效果如圖2所示。
圖2 文物建筑和佛像三維重建效果