吳 寧 陳佳舟 吳凱樂
(1.衢州學院,浙江 衢州 324000; 2.衢州云圈科技有限公司,浙江 衢州 324000; 3.浙江工業大學,浙江 杭州 310023)
文物是人類在社會活動中遺留下來的具有歷史、藝術、科學價值的遺物和遺跡,它是人類寶貴的歷史文化遺產。對于文物的保護研究,國內外都制定了很多數字化保護方案。盡管如此,對于文物的保護仍是世界各國面臨的一大挑戰。對于受損文物,如何快速、有效、代價盡量小的對其進行修復;對于珍稀文物,如何在盡量少的破壞文物的情況下對其進行研究,這些仍是文物保護方面面臨的難題。針對文物的數字化保護問題,本文提出利用基于圖像的自動三維重建方法,構建文物的三維重建系統。通過輸入一組文物圖像,采用SFM+PMVS算法生成稠密點云,通過類八叉樹聚類算法對稠密點云去噪,最后利用泊松曲面重建算法生成文物三維模型并進行紋理參數化。
對于物體三維重建的研究很早就開始了,目前三維重建的技術趨于成熟。三維重建的方法大致分為兩大類:第一類是基于光結構的三維重建方法,黃俊春[1]利用結構光技術實現了實時的物體三維重建。本文不實際基于光結構的三維重建,所以在此不再贅述。第二類是基于圖像的方法,基于圖像的方法也可以分為兩類:一是雙目立體視覺方法,T Akimoto[2]于1993年利用雙目立體視覺方法用于三維重建,C L Chen[3]于2007年將雙目立體視覺方法用于物體的重建,推動了雙目立體視覺方法的發展。第二類是單目視覺三維重建方法,主要有基于明暗度的方法、基于光度立體視覺的方法、紋理法、輪廓法、調焦法、基于特征統計學習法和運動法。C.Harris[4]在1988年首先提出了結合角和邊緣的探測方法用于物體的三維重建,迅速推動了運動法的發展。隨后J.Shi[5]在1994年提出了一個更好的角度提取算法。而目前廣泛使用的SIFT算法是由David Lowe[6]于1999年發表,隨后更加魯棒的SIFT算法相繼被提出。在得到三維點云之后,Kazhdan[7]提出了泊松曲面重建算法,實現了三維點云到三維網格的過程。本文通過提出類八叉樹聚類算法,結合SFM+PMVS和泊松算法,構建了一個三維重建系統,能夠有效地用于文物的三維重建。
通過相機采集待重建物體的圖像數據之后,本文通過使用SFM+PMVS算法生成稠密點云。利用SIFT算法對每張圖像提取特征,再對每一對圖像做魯棒的特征匹配;將所有二圖匹配合并,找出相機的軌跡;通過軌跡估算相機參數場景的稀疏結構,這樣可以得到物體的稀疏三維點云,然后根據PMVS算法構建出稠密的點云。由于在拍攝照片時,難免會受到物體周圍的物體及光線變化的影響,因此得到的稠密點云會存在很多雜點,我們稱之為噪點,如圖1所示(線框外的即為噪點)。而這些噪點對于構建可編輯網格來說完全是多余的,所以在此之前有必要去除這些噪點。

去除稠密點云中的噪點,可以理解為將點云聚類,所有噪點歸為一類,其他的歸為另一類。在三維空間中,用于游戲碰撞檢測的八叉樹算法可以用于點云聚類,八叉樹的主要思想是將整個空間分為大小一樣的八個子空間,如果子空間需要繼續劃分,則將子空間劃分為八個更小的子空間,直到達到劃分邊界為止。由于八叉樹是劃分整個空間,其實很多地方是并不需要進行空間劃分的,這樣會極大浪費時間。受八叉樹算法的啟發,本文提出了類八叉樹聚類算法,能夠很好的去除噪點。
算法的主要思想如下:1)預先定義子空間大小(定義正方體邊長d,本文取0.2)。2)對于點云中的每個點進行遍歷,根據點P的坐標信息將坐標點劃歸到一個子空間,后續的任何點在此子空間范圍內則劃分到此子空間。3)遍歷所有子空間,將相鄰的子空間合并。遍歷完所有子空間后,也就是進一步將點進行了聚類,此時,點數量最多的子空間就是待重建物體的稠密點云。為加快速度,對所有點數目小于給定闕值(本文取10)的子空間不予以考慮。對于復雜情況,例如背景復雜,采樣圖像不足等,得到的噪點可能跟待重建點云連成一片。在此情況下,想自動去除這些噪點,需要通過手動交互操作。本文提出的算法不需要直接劃分子空間,建立復雜的八叉樹,只有當某一子空間存在點的時候才會定義一個子空間。相比于八叉樹算法,運算效率有很大提高。
泊松曲面重建基于泊松方程。泊松方程是一個比較常見的偏微分方程,在很多領域被應用,如高動態范圍圖像的調和映射、圖像區域的無縫編輯、流體力學、網格編輯等,多重網格泊松方法已應用于高效GPU計算。表面重建過程如下:1)定義八叉樹。使用八叉樹結構存儲點集,根據采樣點集的位置定義八叉樹,然后細分八叉樹使每個采樣點都落在深度為D的葉節點;2)設置函數空間:對八叉樹的每個節點設置空間函數F,所有節點函數F的線性和可以表示向量場V,基函數F采用了盒濾波的n維卷積;3)創建向量場:均勻采樣的情況下,假設劃分的塊是常量,通過向量場V逼近指示函數的梯度。采用三次條樣插值(三線插值);4)求解泊松方程:方程的解采用拉普拉斯矩陣迭代求出;5)提取等值面:為得到重構表面,需要選擇閾值獲得等值面;先估計采樣點的位置,然后用其平均值進行等值面提取,然后用移動立方體算法得到等值面。對于泊松曲面重建的結果將在下一節詳細討論。



通過本文算法,可以有效地對文物進行三維重建。接下來本文將詳細介紹實驗結果,并指出其中的突出點和不足之處。在有些情況下,由于條件的限制可能只能對文物進行單面圖像采集工作,這樣對于文物的重建就必須加入人工交互,希望得到更加逼真的效果,如圖2a)所示,重建出的物體雖然有正反兩面,但是物體兩面成鏡像對稱,這其實不符合邏輯。但是本文算法也能很好地保留文物的細節信息,如圖2b)所示。區別對物體單面進行采集圖像并進行三維重建,對物體全方面進行采集圖像,這樣得到的重建效果會更加真實,能夠保存文物的更多細節信息。如圖3所示,由于對文物進行了足夠的圖像采集,文物的正反兩面細節都得到了很好的
保留。在數據采集充足的情況下,數據越充足,文物重建得到的效果將更接近于實物。同樣的,如果數據采集不充足,文物重建得到的效果肯定丟失細節信息。如圖4a)所示,在整體看來,獅子重建的效果很好,但是由于數據采集不充足,沒有提供足夠的圖像信息,重建出來的文物丟失了部分細節。如圖4b)所示,在獅子的頭部,線框標注部分的細節與其他地方相比存在明顯錯誤。通過對不同類型的文物進行重建,對重建結果進行分析,可以得出:在數據采集充分的情況下,通過本文的算法,可以有效的重建出逼真的,能夠很好地保留細節信息的文物模型。通過對文物進行三維重建,可以構建逼真的文物模型,對于文物的研究可以建立在重建的可編輯網格或者結合3D打印出的實物之上,這對于文物的研究提供了便利,同樣在一定程度上起到了保護文物的作用。
通過本文的方法,可以有效的對文物進行三維重建。但是由于采集照片時的局限性,例如圖像采樣不充足、背景復雜、物體復雜等情況下,全自動的三維重建效果不夠理想,這時候就需要進行人工交互操作。不過相比于純手工操作來說,通過本文方法的簡化之后,可以有效降低手工操作的時間,節省人力成本。理想情況下,對背景不復雜的單個文物采集充足照片,可以得出很好的效果,能夠很好的保存文物的細節信息,這對于文物的保護和研究具有重要意義。在采集圖像時,很難捕捉所有細節。所以針對重建結果細節丟失問題,未來可以根據研究丟失細節周圍的信息來推斷丟失的細節,從而補全丟失的細節信息。
[1] 黃俊春.基于結構光的實時三維重建[D].上海:華東師范大學,2009.
[2] Akimoto T,Suenaga Y,Wallace R S.Automatic creation of 3D facial models[J].IEEE Computer Graphics and Applications,1993,13(5):16-22.
[3] Chen C L,Tai C L,Lio Y F.Virtual binocular vision systems to solid model reconstruction[J].The International Journal of Advanced Manufacturing Technology,2007,35(3):379-384.
[4] Harris C,Stephens M.A combined corner and edge detector[A].Alvey vision conference[C].1988.
[5] Shi J.Good features to track[A].Computer Vision and Pattern Recognition,1994.Proceedings CVPR'94.,1994IEEE Computer Society Conference on[C].IEEE,1994:593-600.
[6] Lowe D G.Object recognition from local scale-invariant features[A].Computer vision,1999.The proceedings of the seventh IEEE international conference on.Ieee[C].1999:1150-1157.
[7] Kazhdan,Michael,Matthew Bolitho,et al.Poisson surface reconstruction[A].Proceedings of the fourth Eurographics symposium on Geometry processing[C].2006.