周明全,褚 彤,耿國華,姚文敏,張 軍,曹 欣*
(1.西北大學(xué) 信息科學(xué)與技術(shù)學(xué)院,陜西 西安 710127;2.西北大學(xué) 文化遺產(chǎn)數(shù)字化國家地方聯(lián)合工程研究中心,陜西 西安 710127)
秦始皇兵馬俑是中國古代秦朝政治、軍事和文化的象征,是人類珍貴的文化遺產(chǎn)。由于時間和自然腐蝕等因素,很多兵馬俑出土?xí)r呈破損狀態(tài),因此為重現(xiàn)文物形態(tài),文物的拼接修復(fù)成為考古學(xué)家的主要任務(wù)之一。隨著計算機(jī)視覺技術(shù)的發(fā)展,借助計算機(jī)輔助虛擬修復(fù)技術(shù)對文物進(jìn)行三維數(shù)字化,實(shí)現(xiàn)文物的精準(zhǔn)修復(fù)以及重現(xiàn)文物原始面貌進(jìn)行三維虛擬展示具有重要意義。然而,由于許多碎片的斷裂面被侵蝕,匹配的碎片不能被緊密粘接,導(dǎo)致組裝好的文物上存在孔洞。
傳統(tǒng)的研究方法主要分為塊匹配方法和表面擬合重建方法。基于塊匹配的方法適用于修復(fù)較大的孔洞,F(xiàn)u等[1]基于幾何方法利用非局部相似性原理選取自適應(yīng)模板,通過計算與孔洞的相似度填充孔洞。但是對于全局特征不相同的物體該方法無法生成合理的結(jié)果。因此Fortes等[2]基于三維網(wǎng)格利用重構(gòu)函數(shù)對缺失區(qū)域進(jìn)行擬合重建。Gai等[3]利用二維投影檢測孔邊界,使用SFM和徑向基函數(shù)填充缺失區(qū)域。Lin等[4]針對離散點(diǎn)云曲面提出基于張量投票的曲面擬合重建方法。隨著GAN網(wǎng)絡(luò)的提出和卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展,很多基于GAN和CNN的修復(fù)方法被提出,Yang等[5]基于自編碼器和GAN網(wǎng)絡(luò)相結(jié)合,從單張深度圖中重建高維精確的三維結(jié)構(gòu)對物體進(jìn)行修復(fù)。Wang等[6]基于自編碼器和GAN對抗生成網(wǎng)絡(luò),學(xué)習(xí)生成潛在向量,對不完整模型的進(jìn)行細(xì)粒度建模。與傳統(tǒng)修復(fù)方法相比,深度學(xué)習(xí)的方法有更合理的填充結(jié)果,但是對數(shù)據(jù)量的要求和訓(xùn)練時間的開銷都是其劣勢所在。傳統(tǒng)方法更加直觀,但是在實(shí)際應(yīng)用效果上的魯棒性不夠。
在虛擬展示中,三維文物的表面顏色和紋理信息也尤其重要。傳統(tǒng)的圖像修復(fù)方法分為基于偏微分方程的算法[7-10]和基于樣本補(bǔ)丁的算法[11-15]。前者主要針對小范圍的損壞,使用單個像素為基本單位,利用擴(kuò)散原理來完成圖像修復(fù),但其魯棒性較差且容易造成模糊,后者從已知區(qū)域中找到具有最大相似性的補(bǔ)丁并將其復(fù)制到缺失區(qū)域。最近基于深度學(xué)習(xí)的方法通常將圖像編碼為潛在特征,然后將特征解碼回二維圖像。Context Encoder[16]結(jié)合了編碼器-解碼器和GAN,通過上下文像素預(yù)測來修復(fù)大規(guī)模圖像,并能夠產(chǎn)生合理的結(jié)果。但是上述方法沒有考慮圖像的一致性。Iizuka等[17]在上下文編碼器中添加了全局和局部上下文鑒別器,使其從全局和局部的角度判斷修復(fù)結(jié)果。Yu等[18]引入從粗略到精細(xì)的網(wǎng)絡(luò)結(jié)構(gòu),第一個網(wǎng)絡(luò)用于初始的粗略預(yù)測,第二個網(wǎng)絡(luò)將預(yù)測作為輸入獲得更高質(zhì)量的修復(fù)結(jié)果。現(xiàn)有的深度學(xué)習(xí)方法能夠在缺失的區(qū)域生成連貫的結(jié)構(gòu),但新生成的缺失區(qū)域會產(chǎn)生偽像,以及紋理邊緣可能不連續(xù)等情況。因此對于土色的兵馬俑模型,可根據(jù)其表面的紋理變化修復(fù)圖像。
針對三維網(wǎng)格結(jié)構(gòu)性修補(bǔ)后表面紋理缺失問題,本文融合三維結(jié)構(gòu)修補(bǔ)和二維紋理修復(fù),基于傳統(tǒng)幾何修補(bǔ)算法與深度神經(jīng)網(wǎng)絡(luò),提出三維文物孔洞修復(fù)方法,該方法能夠在補(bǔ)全孔洞三維信息的同時修復(fù)紋理信息,產(chǎn)生有紋理的高分辨率模型。此外針對二維圖像修復(fù),改進(jìn)Edge Connect網(wǎng)絡(luò),添加精細(xì)化網(wǎng)絡(luò),能夠輸出更加細(xì)節(jié)的圖像,使得修復(fù)后的文物表面顏色紋理信息過渡更加自然。文中以有孔洞的兵馬俑為例,分為四個階段對其進(jìn)行修復(fù)。
本文提出的三維文物孔洞修復(fù)方法流程圖如圖1所示。首先,應(yīng)用孔洞檢測算法檢測三維兵馬俑模型孔洞;接著使用geomagic獲得二維紋理圖像,在定位孔洞位置和獲得二維圖像后,獲得包含孔洞的圖像和網(wǎng)格塊;其次,利用基于徑向基函數(shù)的方法完成三維網(wǎng)格模型的結(jié)構(gòu)性修復(fù)。但是新生成的三維網(wǎng)格結(jié)構(gòu)缺少紋理信息,因此本文針對兵馬俑土色3D模型,基于Edge-Connect[19]網(wǎng)絡(luò)結(jié)構(gòu),增加精細(xì)化網(wǎng)絡(luò),利用改進(jìn)后的基于邊緣預(yù)測的網(wǎng)絡(luò)對二維圖像進(jìn)行紋理修復(fù),能夠獲得更加精細(xì)化的修復(fù)結(jié)果。為融合三維和二維修復(fù)結(jié)果,本文采用Mudbox軟件,將修復(fù)后的二維紋理修復(fù)結(jié)果映射回三維表面。最后,將具有結(jié)構(gòu)信息和表面紋理信息的三維模型補(bǔ)丁和原始模型合并,以獲得完整的修復(fù)結(jié)果。
圖1 三維文物孔洞修復(fù)方法流程圖Fig.1 Flow chart of 3D cultural relic hole repair method
一個破損的兵馬俑三維模型可能會有多個孔洞存在于不同位置。由于拓?fù)湫畔⒌娜笔?,在修?fù)模型之前準(zhǔn)確檢測孔洞具有一定的挑戰(zhàn)性。
本文針對三維網(wǎng)格模型進(jìn)行孔洞檢測,網(wǎng)格模型由多個三角網(wǎng)格鑲嵌構(gòu)成。如圖2所示,與三角網(wǎng)格頂點(diǎn)相連接的三角形稱為鄰接三角形,同一個三角形網(wǎng)格中一條邊的兩個頂點(diǎn)互為鄰接點(diǎn)。根據(jù)三角形原理,完整的三維網(wǎng)格模型頂點(diǎn)的1-鄰接三角形與1-領(lǐng)域點(diǎn)的數(shù)量相等。因此我們利用該性質(zhì)獲得孔洞的邊界點(diǎn)集合B={Vi}(i表示第i個頂點(diǎn)),假設(shè)三角網(wǎng)格頂點(diǎn)V的鄰接三角形集合為AT={T|V∈T},V的鄰接點(diǎn)集合AP={P|?T,V∈T,P∈T},其中P是三角網(wǎng)格中異于V的點(diǎn),T表示一個三角網(wǎng)格(如圖2)。通過計算頂點(diǎn)V的鄰接三角形集合AT和鄰接點(diǎn)集合AP識別孔洞,當(dāng)AT≠AP時,將點(diǎn)V加入邊界點(diǎn)集合B。由于孔邊界是閉合多邊形,因此沿著確定的頂點(diǎn)V追蹤?quán)徲蛉切渭螦T的頂點(diǎn),當(dāng)邊界點(diǎn)集合中的頂點(diǎn)連接構(gòu)成一個閉合的環(huán)時,這些頂點(diǎn)就構(gòu)成一個孔洞。
圖2 孔洞相關(guān)概念示意圖Fig.2 Schematic diagram of related concepts of holes
在進(jìn)行孔洞檢測之后,本文采用基于徑向基函數(shù)的三角網(wǎng)格孔洞修復(fù)方法[20]。該方法在修復(fù)時考慮了孔洞周圍的三角網(wǎng)格特征信息,因此生成的孔洞區(qū)域和周圍鄰域有很好的過渡。首先通過基于特征面的填充方法生成孔洞區(qū)域的三角面片。其次利用徑向基函數(shù)建立新三角面片和孔洞鄰域的曲面方程。最后根據(jù)曲面方程,將新生成的三角面片頂點(diǎn)調(diào)整至擬合的曲面上,使得生成的三角面片曲率符合其鄰域的變化。具體流程圖如圖3所示。
圖3 結(jié)構(gòu)性修復(fù)方法的示意圖Fig.3 Flow chart of the structural repair method
為補(bǔ)全三維孔洞拓?fù)浣Y(jié)構(gòu)的同時保留秦始皇兵馬俑文物模型表面顏色和紋理信息,本文采用改進(jìn)的圖像修復(fù)深度神經(jīng)網(wǎng)絡(luò)。受EdgeConnect的啟發(fā),添加精細(xì)化網(wǎng)絡(luò),改進(jìn)后的網(wǎng)絡(luò)能夠產(chǎn)生更加精細(xì)的兵馬俑表面的細(xì)節(jié)信息。網(wǎng)絡(luò)示意如圖4所示,該網(wǎng)絡(luò)基于對抗生成網(wǎng)絡(luò)(Generative Adversarial Networkd,GAN),GAN由生成器和鑒別器組成,生成器用于預(yù)測結(jié)果,鑒別器負(fù)責(zé)判斷結(jié)果是否真實(shí)。網(wǎng)絡(luò)整體可分為兩個部分:邊緣預(yù)測網(wǎng)絡(luò)(Edge Predict Network,EPN)和紋理修復(fù)網(wǎng)絡(luò)(Texture Inpaint Network,TIN)。第一階段用于預(yù)測缺失圖像的邊緣,首先保證邊緣的完整性,第二階段包含兩個生成器和一個鑒別器,目的是輸出更高分辨率的圖像修復(fù)結(jié)果。
EPN輸入缺失模型邊緣圖,生成孔洞區(qū)域的預(yù)測邊緣,而TIN使用EPN預(yù)測的邊緣圖像指導(dǎo)缺失圖像紋理的修復(fù)。TIN具體由粗略網(wǎng)絡(luò)(TIN1)和細(xì)化網(wǎng)絡(luò)(TIN2)兩個子網(wǎng)絡(luò)組成。需要說明的是,EPN網(wǎng)絡(luò)和TIN階段的兩個子網(wǎng)絡(luò)都是生成器的作用,目的是根據(jù)輸入生成符合其潛在特征的輸出。三個生成器網(wǎng)絡(luò)如圖5(a)所示,包含下卷積提取特征,擴(kuò)張卷積和殘差塊獲取更多的潛在特征信息,上卷積將潛在特征恢復(fù)至原始大小。
網(wǎng)絡(luò)結(jié)構(gòu)還包含兩個鑒別器網(wǎng)絡(luò):邊緣鑒別器網(wǎng)絡(luò)(Edge Discriminator Network,EDN)和圖像鑒別器網(wǎng)絡(luò)(Image Discriminator Network,IDN),它們用于判斷預(yù)測的邊緣圖像和修復(fù)圖像是否真實(shí)。其中鑒別使用PatchGAN[21]。網(wǎng)絡(luò)的示意圖如圖5(b)所示。
圖5 網(wǎng)絡(luò)結(jié)構(gòu)Fig.5 Structures of networks
2.4.1 邊緣預(yù)測網(wǎng)絡(luò)(EPN)
Pgt和Egt是輸入數(shù)據(jù)原始圖像和邊緣圖像,Pgray為兵馬俑的灰度圖像。如圖4所示EPN的輸入包括三個部分:掩碼圖像、缺失的邊緣圖像和灰度圖像。令和Ein=Egt⊙(1-M)分別用來獲得缺失的灰度圖像和邊緣圖像。掩碼圖像M作為修復(fù)區(qū)域的指導(dǎo)基礎(chǔ),其中1表示缺失區(qū)域,0表示背景區(qū)域。EPN網(wǎng)絡(luò)的輸出為所預(yù)測的邊緣圖像,可以表示為:
圖4 基于邊緣預(yù)測的二維紋理修復(fù)方法示意圖Fig.4 Schematic diagram of 2D texture inpainting method based on edge prediction
EPN基于對抗損失和特征匹配損失聯(lián)合函數(shù)進(jìn)行訓(xùn)練:
其中α和β為正則化參數(shù),GEPN和DEDN分別表示EPN階段的生成器和鑒別器,?FM為特征匹配損失[22]。和是則表示為EPN的生成器和鑒別器的對抗損失(公式(3)和(4)),本文中定義為最小二乘損失:
2.4.2 紋理修復(fù)網(wǎng)絡(luò)(TIN)
如圖4的下半部分,紋理修復(fù)網(wǎng)絡(luò)具有兩個模塊:粗略網(wǎng)絡(luò)(TIN1)和精細(xì)網(wǎng)絡(luò)(TIN2)。第一階段TIN1的輸入為EPN網(wǎng)絡(luò)預(yù)測的邊緣圖像Eout和不完整的RGB圖像,并輸出初步修復(fù)后的RGB圖像Pcoarse。由于隨著網(wǎng)絡(luò)深度的加深,邊緣預(yù)測圖對于修復(fù)的指導(dǎo)作用逐漸降低,因此為了獲得更精準(zhǔn)的結(jié)果,本文在第二階段TIN2增加了精細(xì)化網(wǎng)絡(luò),彌補(bǔ)了由網(wǎng)絡(luò)深度造成的部分特征丟失。該網(wǎng)絡(luò)將TIN1輸出的粗略修復(fù)圖像Pcoarse和預(yù)測的邊緣圖像Eout作為TIN2階段的輸入,輸出精細(xì)化的修復(fù)結(jié)果Prefine。需要說明的是,精細(xì)網(wǎng)絡(luò)和粗略網(wǎng)絡(luò)具有相同的網(wǎng)絡(luò)結(jié)構(gòu)。TIN的預(yù)測的輸入可以表示為:
在本文中,經(jīng)過實(shí)驗(yàn)測試,上述參數(shù)設(shè)置為α=1,β=10,a=b=1,c=100,d=1。
TIN網(wǎng)絡(luò)是包含兩個生成器子網(wǎng)絡(luò)和一個鑒別器的端到端網(wǎng)絡(luò),該階段損失函數(shù)如式(8)~式(10)所示。其中?1損失如式(11),計算缺失的RGB圖像和TIN網(wǎng)絡(luò)預(yù)測的修復(fù)結(jié)果之間的差距。感知損失?perc用于判斷原始圖像和預(yù)測圖像之間的差距(式(12)),而樣式損失?sty則是為了確保除缺失區(qū)域外的有效區(qū)域在修復(fù)前和修復(fù)后的一致性(式(13))。
本文使用的實(shí)驗(yàn)數(shù)據(jù)通過Artect便攜式掃描儀對秦始皇帝陵墓K 9901坑出土的兵馬俑掃描獲取。文中的三維結(jié)構(gòu)性修復(fù)的通過Visual Studio 2019和OpenGL實(shí)現(xiàn)。紋理修復(fù)網(wǎng)絡(luò)基于Pytorch實(shí)現(xiàn),采用基于邊緣預(yù)測的二維紋理修復(fù)網(wǎng)絡(luò),對網(wǎng)絡(luò)進(jìn)行訓(xùn)練和測試,學(xué)習(xí)速率為10-4,批次大小為8,訓(xùn)練輪數(shù)為1 000 000個epoch,使用Adam優(yōu)化器。實(shí)驗(yàn)硬件具體為i7-7820 CPU/3.6 GHz,64GiB內(nèi)存和RTX TIAN GPU。
圖6是基于徑向基函數(shù)的兵馬俑三維網(wǎng)格孔洞修復(fù)結(jié)果,該算法可以為兵馬俑模型的不同部分生成合理的補(bǔ)丁。為提高修復(fù)效率,本文選取兵馬俑的部分區(qū)域進(jìn)行實(shí)驗(yàn)。從圖6中可看出,利用周圍法向量信息調(diào)整后的三角網(wǎng)格補(bǔ)丁可以和孔洞周圍區(qū)域均勻地融合到一起。不論是圖6(a)~6(b)中的小孔洞還是圖6(c)中的較大孔洞,都能產(chǎn)生較好的結(jié)果,說明本文所使用方法的修復(fù)孔洞的魯棒性。除此之外,如圖6(d)~6(e)中三維模型缺乏多個不同大小的孔洞,該算法也可根據(jù)已有特征重建三維表面網(wǎng)格信息。
圖6 基于徑向基函數(shù)的三維結(jié)構(gòu)性修復(fù)結(jié)果Fig.6 3D structural repair results based on radial basis functions
3.2.1 兵馬俑數(shù)據(jù)集介紹
由于深度學(xué)習(xí)方法對數(shù)據(jù)量和數(shù)據(jù)形式有一定的要求,針對掃描獲得的三維兵馬俑數(shù)字化模型,首先通過對土色的三維兵馬俑模型執(zhí)行坐標(biāo)轉(zhuǎn)換、旋轉(zhuǎn)和歸一化等操作。對每個兵馬俑樣本保持x軸和y軸不變,繞z軸每旋轉(zhuǎn)10度獲取一張兵馬俑圖像,旨在通過旋轉(zhuǎn)變化進(jìn)行數(shù)據(jù)增強(qiáng),批量獲得可用于訓(xùn)練的兵馬俑圖像數(shù)據(jù)集。
由于孔洞周圍的像素對缺失區(qū)域的修復(fù)有較大的指導(dǎo)意義,而遠(yuǎn)離孔洞的區(qū)域?qū)π迯?fù)孔洞起到較小的作用。因此為提高訓(xùn)練效率,本文將完整的兵馬俑圖像進(jìn)行裁剪生成512*512的圖像塊,共15 633個包含兵馬俑各個部位的圖像塊(如圖7(a)),其中12 000用于訓(xùn)練,2 633用于測試,1 000用于驗(yàn)證。本文訓(xùn)練過程所使用的掩碼圖像采用的是[25]中所創(chuàng)建的手繪掩碼圖像(如圖7(b))。在訓(xùn)練時,結(jié)合完整的二維圖像和掩碼圖像獲得缺失的待修復(fù)圖像(如圖7(c)),通過使用canny邊緣檢測算法獲得輸入圖像的缺失邊緣圖(如圖7(d))。
圖7 使用canny邊緣檢測算法示意圖Fig.7 Example of using the canny edge detection algorithm
3.2.2 兵馬俑二維圖像修復(fù)結(jié)果
本文網(wǎng)絡(luò)在訓(xùn)練時使用二維兵馬俑圖像數(shù)據(jù)集(如圖8所示),根據(jù)EdgeConnect已訓(xùn)練好的參數(shù)對EPN階段和TIN的第一階段的粗略網(wǎng)絡(luò)TIN1進(jìn)行微調(diào),然后使用TIN1網(wǎng)絡(luò)獲得的參數(shù)進(jìn)行微調(diào)精細(xì)網(wǎng)絡(luò)TIN2。在生成驗(yàn)證數(shù)據(jù)集時,為兵馬俑的每個二維圖像隨機(jī)生成一個或多個孔洞。
圖8 二維兵馬俑圖像數(shù)據(jù)集Fig.8 2D terracotta warriors and horses image dataset
為驗(yàn)證改進(jìn)方法的有效性,首先針對單個孔洞進(jìn)行修復(fù),如圖9所示。EPN可從未缺失區(qū)域的顏色紋理特征生成缺失部分的邊緣線,明顯的如圖9第一列。圖9第二列粗略修復(fù)結(jié)果從紋理是連貫的,但是顏色相較于周圍偏黑,但在通過精細(xì)化修復(fù)之后表面更具連貫性,顏色過渡更加自然。此外圖中顯示粗略修復(fù)結(jié)果與原始圖像的有效區(qū)域缺乏明顯的連貫性,無法較好地融合,比如第三列鉚釘處的紋理修復(fù)。
圖9 單個孔洞的二維圖像修復(fù)結(jié)果Fig.9 2D image restoration results of a single hole
3.2.3 定量比較結(jié)果
本文通過定量對比驗(yàn)證添加的精細(xì)化網(wǎng)絡(luò)有助于生成更高質(zhì)量的修復(fù)結(jié)果。在測試時,使用構(gòu)建的兵馬俑二維圖像數(shù)據(jù)集,為兵馬俑二維圖像隨機(jī)生成一個或多個缺失區(qū)域。為驗(yàn)證本文方法的有效性,將兵馬俑數(shù)據(jù)集作為其他圖像修復(fù)方法的輸入,對比的方法包括EdgeConnect[19]、Global&Local[17]和文獻(xiàn)[26],以及傳 統(tǒng)的修復(fù)方法PatchMatch[11]。為對改進(jìn)后的EdgeConnect網(wǎng)絡(luò)進(jìn)行定量分析,本文采用常見的圖像評估指標(biāo):PSNR,SSIM和MAE量化模型的性能,數(shù)值的計算通過計算1 000個兵馬俑圖像修復(fù)結(jié)果的平均值所獲得。
表1最后兩行分別顯示了EdgeConnect網(wǎng)絡(luò)和改進(jìn)后的修復(fù)結(jié)果,EdgeConnect網(wǎng)絡(luò)良好的修復(fù)效果得益于基于邊緣的指導(dǎo)。當(dāng)添加精細(xì)化網(wǎng)絡(luò)后,模型在三個評價指標(biāo)上性能均有所提升,證明了改進(jìn)后的網(wǎng)絡(luò)的有效性(PSNR和SSIM越大越好,MAE越小越好),較于Edge-Connect在評價指標(biāo)PSNR、SSIM和MAE性能分別提高0.54%、0.217%和6.52%(PSNR和SSIM越大越好,MAE越小越好)。此外從表中可以看出本文改進(jìn)方法在所有三個指標(biāo)上均優(yōu)于現(xiàn)有方法。其中對比PatchMatch和Global&Local方法,前者方法要優(yōu)于后者,原因在于兵馬俑顏色和紋理變化較少,模型表面具有局部相似性,因此基于補(bǔ)丁匹配的方法可以匹配到高度相似的補(bǔ)丁塊。
表1 不同修復(fù)方法在兵馬俑數(shù)據(jù)集的定量對比Tab.1 Quantitative results of different methods on the Terracotta Warriors fragments
3.2.4 定性比較結(jié)果
圖10是本文改進(jìn)的基于邊緣預(yù)測的二維紋理修復(fù)方法與其他四種方法的定性比較。從圖中可以看出,文獻(xiàn)[26]和PatchMatch能夠生成平滑的紋理,但是對于就有明顯特征變化的圖像,修復(fù)結(jié)果的顏色缺乏一致性。Global&Local在修復(fù)結(jié)果的顏色上也具有較大的差異,無法與原始模型較好地集成。EdgeConnect基于邊緣知道,可以生成平滑合理的圖像,但是仍然存在細(xì)微的差異。添加精細(xì)化網(wǎng)絡(luò)后,網(wǎng)絡(luò)修復(fù)結(jié)果可以和孔洞上下文語義信息較好地融合,證明了本文所提方法的可行性。
圖10 本文改進(jìn)方法和其他方法的定性比較Fig.10 Qualitative comparison between the proposed method and other method
本文采用Mudbox將二維紋理圖像映射回三維兵馬俑結(jié)構(gòu)修復(fù)后模型的表面。通過將顏色紋理與空間頂點(diǎn)進(jìn)行對應(yīng),當(dāng)顏色和紋理等信息投射到表面時,會根據(jù)模型的深度產(chǎn)生自動變形,使其更適應(yīng)三維表面曲率變化覆蓋在三維兵馬俑表面。本文利用Mudbox中Projection master功能,導(dǎo)入紋理貼圖,使用移動、旋轉(zhuǎn)、調(diào)節(jié)筆刷半徑等工具將二維信息賦給三維模型,導(dǎo)出修復(fù)后的UV線的JPG文件,并替換掉原始模型的UV文件,得到結(jié)構(gòu)和紋理修復(fù)后的三維兵馬俑模型(如圖11所示)。
圖11 修復(fù)前模型和修補(bǔ)后模型對比Fig.11 Comparison of the model before and after repair
在實(shí)際兵馬俑修復(fù)過程中,真實(shí)的缺失掩碼通過Grabcut圖像分割算法實(shí)現(xiàn)圖像孔洞識別。如圖12所示,針對缺失圖像進(jìn)行二維孔洞檢測,通過自定義前景和背景區(qū)域?qū)⒖锥磪^(qū)域分割獲得掩碼圖像。
圖12 使用GrabCut識別孔洞并生成掩碼圖像Fig.12 Use GrabCut to identify holes and generate mask images
在真實(shí)修復(fù)時,通過輸入缺失的兵馬俑圖像和對應(yīng)的掩碼圖像獲得修復(fù)結(jié)果。如圖13所示,圖中為本文所提方法在三維兵馬俑中的實(shí)際應(yīng)用。圖13(a)為修復(fù)前的三維兵馬俑模型,需要說明的是,在修復(fù)由于腐蝕導(dǎo)致的表面凹陷問題時,首先將原有凹陷區(qū)域刪除來制造孔洞,然后重新生成新的三角網(wǎng)格。圖13(e)的結(jié)構(gòu)性修復(fù)生成的三角網(wǎng)格與孔洞周圍網(wǎng)格的密度保持一致,不會產(chǎn)生自交重疊現(xiàn)象。圖13(f)的紋理修復(fù)可基于有效的紋理像素特征信息,生成符合圖像分布的新的內(nèi)容。最終為保留原始模型信息,提取修復(fù)結(jié)果中孔洞補(bǔ)丁和原始模型合并,整體修復(fù)結(jié)果如圖13(b)所示,圖中可以看出肩膀的凹陷處在修復(fù)后變?yōu)槠交谋砻?。對于網(wǎng)格數(shù)量較大的兵馬俑來說,將其進(jìn)行碎塊化修復(fù)并合并在一起能夠有效的提高三維兵馬俑修補(bǔ)效率,并生成合理的修補(bǔ)結(jié)果。實(shí)驗(yàn)證明本文所提方法可有效的補(bǔ)全兵馬俑模型的三維結(jié)構(gòu),并且保留表面的顏色紋理信息。
上述實(shí)例展示了由于自然腐蝕所造成的表面凹陷的單個孔洞修復(fù)結(jié)果。在實(shí)際修復(fù)過程中,兵馬俑模型可能在不同位置存在多個孔洞,例如由于侵蝕、拼接等造成的表面凹陷和不連貫。因此本文進(jìn)行了另外兩組不同的實(shí)驗(yàn)以驗(yàn)證所提出的框架。
圖14中實(shí)例為兵馬俑模型中由于早期的人為標(biāo)記造成的文物三維表面不完整(如圖14(a))。最終修復(fù)結(jié)果如圖14(b)所示,類似于腐蝕造成的孔洞,需要刪除原始的區(qū)域制造孔洞。更多的細(xì)節(jié)可以在圖14(c-f)找到,由于人工標(biāo)記較小,因此從圖14(b)中的修復(fù)結(jié)果看出,修復(fù)后的表面顏色信息能夠平滑地過渡到未缺失區(qū)域。
圖14 人為因素造成的表面不完整Fig.14 Surface incompleteness caused by human factors
圖15中顯示了由于掃描原因造成的自然孔洞實(shí)例修補(bǔ)結(jié)果。該兵馬俑表面上包含許多不規(guī)則的孔洞(如圖15(a))。圖15中的結(jié)果顯示,本文所提框架能夠基于未缺失部分的有效信息提取潛在特征,并使用所提網(wǎng)絡(luò)預(yù)測缺失區(qū)域的特征信息,能夠高效率地生成修復(fù)結(jié)果。
圖15 人為因素造成的表面不完整Fig.15 Surface incompleteness caused by human factors
為證明損失函數(shù)的必要性,本文針對TIN階段的損失函數(shù)展開研究。(1)第二階段只有最小二乘對抗生成網(wǎng)絡(luò)損失函數(shù)?GAN;(2)損失函數(shù)包括?GAN和?1損失函數(shù);(3)在b損失函數(shù)的基礎(chǔ)上添加感知損失函數(shù)?perc;(4)添加風(fēng)格損失?sty之后的聯(lián)合損失函數(shù),包含EPN、TIN1和TIN2。如表2結(jié)果所示,隨著損失函數(shù)的增加,該網(wǎng)絡(luò)模型修復(fù)效果逐漸提高。原因在于四個損失函數(shù)具有不同的作用,對抗生成損失函數(shù)為了使網(wǎng)絡(luò)生成更加真實(shí)的修復(fù)結(jié)果,?1損失函數(shù)判斷修復(fù)結(jié)果和缺失圖像之間的差距,感知損失函數(shù)?perc則保證真實(shí)圖像和修復(fù)圖像之間更加的接近,風(fēng)格損失函數(shù)?sty則為了確保修復(fù)結(jié)果中的未缺失區(qū)域沒有特征信息的損失。
表2 TIN階段使用不同損失函數(shù)的定量對比Tab.2 Quantitative comparison of different loss functions used in the TIN stage.
三維文物修復(fù)問題是當(dāng)前文物保護(hù)的重要科研方向,針對三維文物虛擬修復(fù)問題,本文提出一種結(jié)合三維結(jié)構(gòu)性修復(fù)和二維圖像修復(fù)的秦始皇兵馬俑孔洞修復(fù)方法,并希望對其他文物的虛擬修復(fù)工作有一定的啟發(fā)作用。該方法能夠修復(fù)三維物理結(jié)構(gòu)的同時保留表面紋理信息。首先通過對三維文物進(jìn)行孔洞識別,采用基于徑向基函數(shù)的方法修復(fù)孔洞,能夠得到平滑的曲面。在紋理修復(fù)中,通過改進(jìn)EdgeConnect網(wǎng)絡(luò),為提高修復(fù)效果,在第二階段添加精細(xì)化網(wǎng)絡(luò),基于邊緣預(yù)測對兵馬俑二維紋理圖像進(jìn)行修復(fù),引入精細(xì)化網(wǎng)絡(luò)生成更連貫的紋理信息。結(jié)合三維修補(bǔ)和二維修復(fù),最終能夠生成更具有表面真實(shí)性、紋理連貫性和結(jié)構(gòu)完整性的文物。實(shí)驗(yàn)結(jié)果表明,本文方法在處理具有多個不規(guī)則形狀缺失區(qū)域的三維文物領(lǐng)域中,能夠產(chǎn)生良好的結(jié)果。