吳 寧 陳佳舟 吳凱樂
(1.衢州學(xué)院,浙江 衢州 324000; 2.衢州云圈科技有限公司,浙江 衢州 324000; 3.浙江工業(yè)大學(xué),浙江 杭州 310023)
文物是人類在社會(huì)活動(dòng)中遺留下來的具有歷史、藝術(shù)、科學(xué)價(jià)值的遺物和遺跡,它是人類寶貴的歷史文化遺產(chǎn)。對(duì)于文物的保護(hù)研究,國內(nèi)外都制定了很多數(shù)字化保護(hù)方案。盡管如此,對(duì)于文物的保護(hù)仍是世界各國面臨的一大挑戰(zhàn)。對(duì)于受損文物,如何快速、有效、代價(jià)盡量小的對(duì)其進(jìn)行修復(fù);對(duì)于珍稀文物,如何在盡量少的破壞文物的情況下對(duì)其進(jìn)行研究,這些仍是文物保護(hù)方面面臨的難題。針對(duì)文物的數(shù)字化保護(hù)問題,本文提出利用基于圖像的自動(dòng)三維重建方法,構(gòu)建文物的三維重建系統(tǒng)。通過輸入一組文物圖像,采用SFM+PMVS算法生成稠密點(diǎn)云,通過類八叉樹聚類算法對(duì)稠密點(diǎn)云去噪,最后利用泊松曲面重建算法生成文物三維模型并進(jìn)行紋理參數(shù)化。
對(duì)于物體三維重建的研究很早就開始了,目前三維重建的技術(shù)趨于成熟。三維重建的方法大致分為兩大類:第一類是基于光結(jié)構(gòu)的三維重建方法,黃俊春[1]利用結(jié)構(gòu)光技術(shù)實(shí)現(xiàn)了實(shí)時(shí)的物體三維重建。本文不實(shí)際基于光結(jié)構(gòu)的三維重建,所以在此不再贅述。第二類是基于圖像的方法,基于圖像的方法也可以分為兩類:一是雙目立體視覺方法,T Akimoto[2]于1993年利用雙目立體視覺方法用于三維重建,C L Chen[3]于2007年將雙目立體視覺方法用于物體的重建,推動(dòng)了雙目立體視覺方法的發(fā)展。第二類是單目視覺三維重建方法,主要有基于明暗度的方法、基于光度立體視覺的方法、紋理法、輪廓法、調(diào)焦法、基于特征統(tǒng)計(jì)學(xué)習(xí)法和運(yùn)動(dòng)法。C.Harris[4]在1988年首先提出了結(jié)合角和邊緣的探測(cè)方法用于物體的三維重建,迅速推動(dòng)了運(yùn)動(dòng)法的發(fā)展。隨后J.Shi[5]在1994年提出了一個(gè)更好的角度提取算法。而目前廣泛使用的SIFT算法是由David Lowe[6]于1999年發(fā)表,隨后更加魯棒的SIFT算法相繼被提出。在得到三維點(diǎn)云之后,Kazhdan[7]提出了泊松曲面重建算法,實(shí)現(xiàn)了三維點(diǎn)云到三維網(wǎng)格的過程。本文通過提出類八叉樹聚類算法,結(jié)合SFM+PMVS和泊松算法,構(gòu)建了一個(gè)三維重建系統(tǒng),能夠有效地用于文物的三維重建。
通過相機(jī)采集待重建物體的圖像數(shù)據(jù)之后,本文通過使用SFM+PMVS算法生成稠密點(diǎn)云。利用SIFT算法對(duì)每張圖像提取特征,再對(duì)每一對(duì)圖像做魯棒的特征匹配;將所有二圖匹配合并,找出相機(jī)的軌跡;通過軌跡估算相機(jī)參數(shù)場(chǎng)景的稀疏結(jié)構(gòu),這樣可以得到物體的稀疏三維點(diǎn)云,然后根據(jù)PMVS算法構(gòu)建出稠密的點(diǎn)云。由于在拍攝照片時(shí),難免會(huì)受到物體周圍的物體及光線變化的影響,因此得到的稠密點(diǎn)云會(huì)存在很多雜點(diǎn),我們稱之為噪點(diǎn),如圖1所示(線框外的即為噪點(diǎn))。而這些噪點(diǎn)對(duì)于構(gòu)建可編輯網(wǎng)格來說完全是多余的,所以在此之前有必要去除這些噪點(diǎn)。
去除稠密點(diǎn)云中的噪點(diǎn),可以理解為將點(diǎn)云聚類,所有噪點(diǎn)歸為一類,其他的歸為另一類。在三維空間中,用于游戲碰撞檢測(cè)的八叉樹算法可以用于點(diǎn)云聚類,八叉樹的主要思想是將整個(gè)空間分為大小一樣的八個(gè)子空間,如果子空間需要繼續(xù)劃分,則將子空間劃分為八個(gè)更小的子空間,直到達(dá)到劃分邊界為止。由于八叉樹是劃分整個(gè)空間,其實(shí)很多地方是并不需要進(jìn)行空間劃分的,這樣會(huì)極大浪費(fèi)時(shí)間。受八叉樹算法的啟發(fā),本文提出了類八叉樹聚類算法,能夠很好的去除噪點(diǎn)。
算法的主要思想如下:1)預(yù)先定義子空間大小(定義正方體邊長d,本文取0.2)。2)對(duì)于點(diǎn)云中的每個(gè)點(diǎn)進(jìn)行遍歷,根據(jù)點(diǎn)P的坐標(biāo)信息將坐標(biāo)點(diǎn)劃歸到一個(gè)子空間,后續(xù)的任何點(diǎn)在此子空間范圍內(nèi)則劃分到此子空間。3)遍歷所有子空間,將相鄰的子空間合并。遍歷完所有子空間后,也就是進(jìn)一步將點(diǎn)進(jìn)行了聚類,此時(shí),點(diǎn)數(shù)量最多的子空間就是待重建物體的稠密點(diǎn)云。為加快速度,對(duì)所有點(diǎn)數(shù)目小于給定闕值(本文取10)的子空間不予以考慮。對(duì)于復(fù)雜情況,例如背景復(fù)雜,采樣圖像不足等,得到的噪點(diǎn)可能跟待重建點(diǎn)云連成一片。在此情況下,想自動(dòng)去除這些噪點(diǎn),需要通過手動(dòng)交互操作。本文提出的算法不需要直接劃分子空間,建立復(fù)雜的八叉樹,只有當(dāng)某一子空間存在點(diǎn)的時(shí)候才會(huì)定義一個(gè)子空間。相比于八叉樹算法,運(yùn)算效率有很大提高。
泊松曲面重建基于泊松方程。泊松方程是一個(gè)比較常見的偏微分方程,在很多領(lǐng)域被應(yīng)用,如高動(dòng)態(tài)范圍圖像的調(diào)和映射、圖像區(qū)域的無縫編輯、流體力學(xué)、網(wǎng)格編輯等,多重網(wǎng)格泊松方法已應(yīng)用于高效GPU計(jì)算。表面重建過程如下:1)定義八叉樹。使用八叉樹結(jié)構(gòu)存儲(chǔ)點(diǎn)集,根據(jù)采樣點(diǎn)集的位置定義八叉樹,然后細(xì)分八叉樹使每個(gè)采樣點(diǎn)都落在深度為D的葉節(jié)點(diǎn);2)設(shè)置函數(shù)空間:對(duì)八叉樹的每個(gè)節(jié)點(diǎn)設(shè)置空間函數(shù)F,所有節(jié)點(diǎn)函數(shù)F的線性和可以表示向量場(chǎng)V,基函數(shù)F采用了盒濾波的n維卷積;3)創(chuàng)建向量場(chǎng):均勻采樣的情況下,假設(shè)劃分的塊是常量,通過向量場(chǎng)V逼近指示函數(shù)的梯度。采用三次條樣插值(三線插值);4)求解泊松方程:方程的解采用拉普拉斯矩陣迭代求出;5)提取等值面:為得到重構(gòu)表面,需要選擇閾值獲得等值面;先估計(jì)采樣點(diǎn)的位置,然后用其平均值進(jìn)行等值面提取,然后用移動(dòng)立方體算法得到等值面。對(duì)于泊松曲面重建的結(jié)果將在下一節(jié)詳細(xì)討論。
通過本文算法,可以有效地對(duì)文物進(jìn)行三維重建。接下來本文將詳細(xì)介紹實(shí)驗(yàn)結(jié)果,并指出其中的突出點(diǎn)和不足之處。在有些情況下,由于條件的限制可能只能對(duì)文物進(jìn)行單面圖像采集工作,這樣對(duì)于文物的重建就必須加入人工交互,希望得到更加逼真的效果,如圖2a)所示,重建出的物體雖然有正反兩面,但是物體兩面成鏡像對(duì)稱,這其實(shí)不符合邏輯。但是本文算法也能很好地保留文物的細(xì)節(jié)信息,如圖2b)所示。區(qū)別對(duì)物體單面進(jìn)行采集圖像并進(jìn)行三維重建,對(duì)物體全方面進(jìn)行采集圖像,這樣得到的重建效果會(huì)更加真實(shí),能夠保存文物的更多細(xì)節(jié)信息。如圖3所示,由于對(duì)文物進(jìn)行了足夠的圖像采集,文物的正反兩面細(xì)節(jié)都得到了很好的
保留。在數(shù)據(jù)采集充足的情況下,數(shù)據(jù)越充足,文物重建得到的效果將更接近于實(shí)物。同樣的,如果數(shù)據(jù)采集不充足,文物重建得到的效果肯定丟失細(xì)節(jié)信息。如圖4a)所示,在整體看來,獅子重建的效果很好,但是由于數(shù)據(jù)采集不充足,沒有提供足夠的圖像信息,重建出來的文物丟失了部分細(xì)節(jié)。如圖4b)所示,在獅子的頭部,線框標(biāo)注部分的細(xì)節(jié)與其他地方相比存在明顯錯(cuò)誤。通過對(duì)不同類型的文物進(jìn)行重建,對(duì)重建結(jié)果進(jìn)行分析,可以得出:在數(shù)據(jù)采集充分的情況下,通過本文的算法,可以有效的重建出逼真的,能夠很好地保留細(xì)節(jié)信息的文物模型。通過對(duì)文物進(jìn)行三維重建,可以構(gòu)建逼真的文物模型,對(duì)于文物的研究可以建立在重建的可編輯網(wǎng)格或者結(jié)合3D打印出的實(shí)物之上,這對(duì)于文物的研究提供了便利,同樣在一定程度上起到了保護(hù)文物的作用。
通過本文的方法,可以有效的對(duì)文物進(jìn)行三維重建。但是由于采集照片時(shí)的局限性,例如圖像采樣不充足、背景復(fù)雜、物體復(fù)雜等情況下,全自動(dòng)的三維重建效果不夠理想,這時(shí)候就需要進(jìn)行人工交互操作。不過相比于純手工操作來說,通過本文方法的簡(jiǎn)化之后,可以有效降低手工操作的時(shí)間,節(jié)省人力成本。理想情況下,對(duì)背景不復(fù)雜的單個(gè)文物采集充足照片,可以得出很好的效果,能夠很好的保存文物的細(xì)節(jié)信息,這對(duì)于文物的保護(hù)和研究具有重要意義。在采集圖像時(shí),很難捕捉所有細(xì)節(jié)。所以針對(duì)重建結(jié)果細(xì)節(jié)丟失問題,未來可以根據(jù)研究丟失細(xì)節(jié)周圍的信息來推斷丟失的細(xì)節(jié),從而補(bǔ)全丟失的細(xì)節(jié)信息。
[1] 黃俊春.基于結(jié)構(gòu)光的實(shí)時(shí)三維重建[D].上海:華東師范大學(xué),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.