王昊,王琰,侯小剛,趙海英*
(1.北京郵電大學(xué)計算機學(xué)院,北京 100876;2.北京郵電大學(xué)人工智能學(xué)院,北京 100876)
博物館數(shù)據(jù)庫中存儲著許多二維線稿、拓片等無法表達三維幾何特征的數(shù)據(jù),因其不易進行三維采集,所以一般存儲形式為圖像格式。而雕刻這類具有空間起伏的物體更加適合放置在三維數(shù)字場景中進行展覽,如果將這些二維數(shù)據(jù)進行三維化重構(gòu),則可以為這些文化素材提供新的應(yīng)用場景。
圖1 壽山石雕制作步驟[1]
現(xiàn)實中藝術(shù)家制作雕刻作品的過程可以分為兩部分內(nèi)容,分別是表達雕刻內(nèi)容起伏的主體制作,以及表達雕刻內(nèi)容的細(xì)節(jié)制作。
在雕刻內(nèi)容主體制作過程中,選擇雕刻石材的一個面作為基礎(chǔ)面,從此面開始依次向下雕刻通過削減處理得到最終成品。因此,在進行雕刻模型生成的工作中可使用一種逆向思維進行考慮,將雕刻生成過程視為從一個基面不斷向上做增加操作的過程,利用相對基面的高度圖生成三維模型。
現(xiàn)有三維雕刻生成研究更注重模型網(wǎng)格生成,而很少涉及雕刻材質(zhì)生成。本文通過分析現(xiàn)實中的制作過程,發(fā)現(xiàn)雕刻細(xì)節(jié)主要表現(xiàn)在石料材質(zhì)以及雕刻刻刀的痕跡上,可以利用三維模型的材質(zhì)來表達細(xì)節(jié)以更進一步優(yōu)化網(wǎng)格模型。本文提出一種基于幾何材質(zhì)約束的圖像三維雕刻生成算法,通過還原現(xiàn)有雕刻文物的PBR材質(zhì),然后利用多材質(zhì)混合與細(xì)節(jié)法線增強的方式增強雕刻的細(xì)節(jié)表現(xiàn),實現(xiàn)模型主體和細(xì)節(jié)的分離以優(yōu)化雕刻模型的生成。
二維圖像三維化技術(shù)可分為基于線稿圖像與基于二維灰度圖像兩種。
基于二維線稿圖像生成雕刻網(wǎng)格模型方面,Kolomenkin 等[2]提出一種應(yīng)用于復(fù)雜線稿圖形,根據(jù)線稿筆畫關(guān)聯(lián)重建一致曲面生成線稿浮雕模型的算法。S′ykora D[3]研究根據(jù)卡通線稿生成人物浮雕模型,通過交互方式在卡通線稿上增加區(qū)域和深度注釋,以生成卡通形象的浮雕。Entem[4]和Dvoro?ňák M等人[5]則研究基于側(cè)面草圖創(chuàng)建動物三維模型,利用動物結(jié)構(gòu)對稱和四肢位置相對固定的特點進行模型生成。夏夢等人[6]則通過增加交互手段,將線稿圖像進行區(qū)域劃分然后根據(jù)邊界泊松約束進行唐卡的浮雕模型生成。
基于二維灰度圖像生成雕刻網(wǎng)格模型方面,Zeng等[7]基于Kolomenkin[2]的思想提出了一種從一幅圖像生成淺浮雕的算法,根據(jù)圖像中對象的相對深度順序確定高度層,并使用此信息在3D 浮雕模型中構(gòu)建曲面。Wu[8]和Governi L[9]使用明暗恢復(fù)算法(SFS)的思想增加部分交互手段對光照條件進行初始化,從單個圖像創(chuàng)建圖像的淺浮雕模型。以上這些工作中都需要對圖像中的灰度信息加以利用,Li[10]和Zhang[11]則分別提出了從拓片圖像和碑刻牌匾進行淺浮雕模型和牌匾模型生成的技術(shù),將圖像分成高低頻部分分別進行雕刻網(wǎng)格主體和細(xì)節(jié)部分進行網(wǎng)格生成。Zhang等[12]對淺浮雕網(wǎng)格模型生成過程中的高度場生成部分進行優(yōu)化,提出了一種非線性壓縮函數(shù),結(jié)合書法字的均勻高度場與非均勻高度場計算生成毛筆書法字的淺浮雕。
基于單張圖像的材質(zhì)生成技術(shù)主要涉及對平面樣本雙向反射分布函數(shù)(Bidirectional Reflectance Dis‐tribution Function,BRDF)及空間變化雙向反射分布函數(shù)(Spatially Varying Bidirectional Reflectance Distri‐bution Function,SVBRDF)參數(shù)進行捕捉。
SVBRDF 參數(shù)捕捉方面,Deschaintre 等[13]通過設(shè)計一種網(wǎng)絡(luò),將用于局部特征提取的編碼器—解碼器卷積網(wǎng)絡(luò)與用于全局特征提取和傳播的全連接部分相結(jié)合;同時提出可微的SVBRDF相似性度量,將預(yù)測貼圖的渲染與來自多個光源和觀察方向的基準(zhǔn)渲染進行比較,實現(xiàn)了BRDF 參數(shù)的捕獲。其隨后又提出了一種新的深度學(xué)習(xí)方法[14],能夠從手機拍照得到的大量無序圖片中估計材料外觀,通過使用順序無關(guān)的融合層,從每張圖片中提取最有用的信息,以處理視角和入射光角度的變化。Gao等人[15]則提出了一個統(tǒng)一的深度逆渲染框架,從任意數(shù)量的輸入照片估計平面樣本的空間變化屬性,其在空間變化外觀的潛在嵌入空間中直接優(yōu)化外觀參數(shù),不需要手動啟發(fā)式的正則化優(yōu)化。Guo 等人[16]提出了MaterialGAN,其基于Style‐GAN2 網(wǎng)絡(luò),經(jīng)過訓(xùn)練可以合成真實的SVBRDF 參數(shù)映射,將輸入圖像作為反向渲染框架中的材質(zhì)貼圖先驗,生成與輸入圖像的外觀匹配的材質(zhì)貼圖。
基于幾何材質(zhì)約束優(yōu)化的圖像三維雕刻生成流程如圖2 所示,分為三維網(wǎng)格模型生成與雕刻模型的材質(zhì)生成兩部分。
圖2 圖像三維雕刻生成流程
三維網(wǎng)格模型生成:首先進行雕刻內(nèi)容的高度圖生成,將高度圖分為表現(xiàn)各區(qū)域高度差的基礎(chǔ)高度部分和表現(xiàn)各區(qū)域之間過度的邊緣高度部分,將兩部分融合得到雕刻模型的高度圖。然后根據(jù)高度圖進行粗糙模型的生成,在得到粗糙模型后為了保證得到的模型可以流暢的應(yīng)用于文物的三維展呈中,對粗糙模型進行優(yōu)化,利用QEM 算法以及拉普拉斯網(wǎng)格平滑對網(wǎng)格模型進行操作。
雕刻材質(zhì)生成:首先對現(xiàn)有的雕刻文物材質(zhì)圖像的空間變化屬性進行捕捉,獲得其BRDF 參數(shù)。為增強三維雕刻模型的細(xì)節(jié),使用掩膜對主體與背景材質(zhì)進行混合,利用生成的模型高度圖生成法線增強貼圖,與BRDF 中的材質(zhì)法線貼圖融合得到雕刻PBR 材質(zhì),最后融合網(wǎng)格模型和生成材質(zhì)得到三維雕刻模型。
將整個雕刻面的高度視為一個以0為基面的高度場,對于雕刻面u,其高度函數(shù)為:H(u)=Hbase(u)+Hedge(u),其中Hbase(u)為u位置基面高度函數(shù),Hedge(u)為u位置邊緣高度函數(shù)。根據(jù)拓片圖像和線稿圖像的內(nèi)容特征得到的區(qū)域高度的拓?fù)潢P(guān)系 R,進行基面高度函數(shù)計算。通過三維空間中的射線檢測,獲得高精度雕刻文物三維模型的邊緣起伏特征,進行邊緣高度函數(shù)計算。
對于由數(shù)十條甚至數(shù)百條曲線組成的復(fù)雜圖形來說,想要解釋線稿中每個區(qū)域?qū)?yīng)的基本高度,手動執(zhí)行此操作是一個繁瑣的過程。對雕刻文物的研究可以發(fā)現(xiàn),其高度基本是由基面依次向內(nèi)增高。因此可以利用啟發(fā)式的思想,通過判斷線稿中各曲線間的關(guān)系進行區(qū)域高度關(guān)系的構(gòu)建。對輸入圖像進行區(qū)域劃分,構(gòu)建由底面為起點的拓?fù)潢P(guān)系,然后根據(jù)各個區(qū)域拓?fù)潢P(guān)系依次得到各個區(qū)域的基礎(chǔ)高度,將這個問題簡化為圖的約束拓?fù)渑判騿栴},最后得到整體基本高度Hbase(u)。
在線稿的處理中,將線稿分為曲線、連接點以及鄰域邊界三種元素。其中曲線為線稿圖像中的結(jié)構(gòu)曲線,即線稿圖中用于表達內(nèi)容的線條。連接點是用于連接各個曲線的點,線稿中不應(yīng)存在交叉的曲線,應(yīng)視為多條曲線的連接(如圖3 右圖表示)。
圖3 線稿中的元素類型
為得到線稿中各曲線的關(guān)系,首先要對線稿進行骨架提取得到各線條骨架,利用Zhang-Suen 細(xì)化算法[17]進行計算。在獲得線稿骨架后,為得到線稿中所有曲線需要對線稿中的連接點進行識別,通過刪除線稿骨架圖中的連接點得到曲線提取的結(jié)果(如圖4)。
圖4 線稿曲線及鄰域邊界提取結(jié)果
給定一幅線稿圖的三元素,構(gòu)建其無向圖G={V,E},其中以線稿的鄰域邊界作為圖的頂點V,以曲線作為邊界E。當(dāng)曲線位于相應(yīng)的邊界之間時,兩個頂點之間便存在一條邊E(如圖5 a、b所示)。
圖5 曲線高度關(guān)系構(gòu)造過程
圖6 高度圖生成實例
圖6 雕刻文物模型邊緣高度變化提取
對于構(gòu)造好的無向圖G,為了保證雕刻面由內(nèi)容邊界向內(nèi)生成,需要為無向圖指定一個起點使其成為有向圖(如圖5 c 所示),查找線稿圖中最接近圖像邊界的曲線鄰域邊界,將其作為有向圖的構(gòu)造起點。得到的有向圖應(yīng)為有向無環(huán)圖(DAG),即對于圖中頂點的值?i和邊的權(quán)值wij需滿足約束:
其中?i為頂點i對應(yīng)曲線的高度權(quán)值,wij為頂點i和j對應(yīng)曲線的高度差值權(quán)值。
根據(jù)上述約束構(gòu)造DAG 的過程類似于圖的拓?fù)渑判蜻^程(如圖5 d 所示),最終可從拓?fù)湫蛄兄械玫矫總€曲線鄰域邊界的高度權(quán)值?i。通過指定區(qū)域基礎(chǔ)高度B,得到各臨界邊界包圍區(qū)域內(nèi)的整體基本高度函數(shù):
現(xiàn)實的雕刻文物中區(qū)域的邊緣位置通常具有平滑的過度,邊緣區(qū)域高度函數(shù)計算的手段一般是使用固定的變化函數(shù)或者利用距離推算變化,如在Dvo‐ro?ňák M[17]和Zhang[11]的工作中都是利用簡單的距離場增加一定倍數(shù)對邊緣進行重建,這些方法沒有很好地在生成過程中表現(xiàn)雕刻文物的特征。本文提出使用基于先驗知識的高度函數(shù)擬合辦法,利用現(xiàn)有雕刻三維模型主體邊緣變化特征擬合高度函數(shù)。
首先通過三維空間中的射線檢測操作對雕刻模型邊緣高度變化進行提取,在空間中按照0.5 間隔對雕刻文物模型進行射線檢測,得到視口到射線碰撞點距離di,將最遠(yuǎn)距離dmax處作為起始面,構(gòu)建邊緣變化點集T={P1,P2…,Pi,…,PN},為在高度方向上控制雕刻的起伏,需對高度變化進行歸一化:
對得到的點集T,利用最小二乘法對點集進行曲線擬合便可獲得邊緣部位的變化函數(shù)S(i):
得到邊緣區(qū)域圖像高度函數(shù)Hedge(u)后,結(jié)合基面高度函數(shù)Hbase(u)和邊緣高度函數(shù)Hedge(u)便可獲得雕刻面u的高度函數(shù):
其中w為曲線鄰域?qū)挾龋珺為區(qū)域基礎(chǔ)高度。
在獲得雕刻面高度場后首先確定一個點數(shù)量為(x×y)的三維網(wǎng)格基面M={P(1,1),P(1,2),..,P(x,y)},使用位移紋理映射技術(shù),根據(jù)雕刻面高度場對網(wǎng)格模型點進行位置計算獲得粗糙三維網(wǎng)格模型(如圖7 b所示):
圖7 拓片生成的網(wǎng)格模型及優(yōu)化后模型
其中I為通過上小節(jié)方式計算得到的圖像高度圖,l、d為圖像的長和寬。
由二維圖像高度圖生成三維網(wǎng)格模型的過程中,由于高度圖像素值與三維網(wǎng)格幾何位置插值難以對齊,會導(dǎo)致模型表面十分粗糙(如圖8 a所示),生成的三維網(wǎng)格模型表面存在復(fù)雜噪聲。這些噪聲會影響模型的成品質(zhì)量,通過引入拉普拉斯網(wǎng)格平滑的方法對網(wǎng)格模型進行平滑處理。對網(wǎng)格模型進行平滑后的細(xì)節(jié)效果見圖8 b。
圖8 模型優(yōu)化過程細(xì)節(jié)
圖9 模型結(jié)構(gòu)圖[13]
因生成模型在許多部分的起伏并不明顯,在這些部分不需要過于密集的頂點,因此可以通過減面處理對模型進行簡化,使用QEM 算法[18]對高精模型進行簡化操作,進一步優(yōu)化模型(如圖7 c、圖8 c)。
在進行邊坍縮過程中,網(wǎng)格部分頂點的位置會發(fā)生水平方向偏移,引起簡化模型UV映射的錯亂,需要對頂點UV坐標(biāo)重新進行計算:
其中l(wèi)、d為圖像的長和寬,uvi為點P(i,j)位置對應(yīng)的UV坐標(biāo)。
現(xiàn)實世界物體的外觀是由光、反射率和幾何之間復(fù)雜的相互作用形成的。解開這些相互作用是空間變化屬性捕捉的核心。許多不同的反射率可以產(chǎn)生相同的觀察圖像,任何照片都可以將高光部分疊加到漫反射率貼圖上完美地再現(xiàn)圖像。通常采用兩種方法來處理這種情況,一種方法是通過在不同的觀察或照明條件下收集額外的測量數(shù)據(jù)來減少模糊性,但它需要精確控制采集過程。第二種方法是引入多種解決方案的先驗假設(shè),利用卷積神經(jīng)網(wǎng)絡(luò)可以從數(shù)據(jù)中自動學(xué)習(xí)有效的先驗關(guān)系。
本文采用Deschaintre V所提出的網(wǎng)絡(luò)模型[13]對雕刻文物的材質(zhì)BRDF參數(shù)進行提取。該網(wǎng)絡(luò)通過輸入n×n× 3的真實圖像,可以獲得圖像的BRDF參數(shù)貼圖(n×n× 10),即:Diffuse貼圖(n×n× 3)、Normal貼圖(n×n× 3)、Roughness貼圖(n×n× 1)、Specular貼圖(n×n× 3)。
模型采用一個基于U-Net[19]的二級網(wǎng)絡(luò)進行單張圖像的BRDF 參數(shù)提取。U-Net在粗空間尺度上卷積步長過大,在全局尺度上不能很好的保證遠(yuǎn)距離特征之間的依賴關(guān)系。因此增加一個并行網(wǎng)絡(luò)軌道,用來處理全局特征向量,然后將多個尺度重新注入U-Net,每對信息交換在每個像素之間形成非線性依賴關(guān)系,通過在不同區(qū)域之間重復(fù)傳輸局部結(jié)果,以保證全局尺度中的特征依賴。
網(wǎng)絡(luò)的目標(biāo)是得到對應(yīng)視角下渲染后圖像的BRDF 參數(shù),BRDF 參數(shù)貼圖一般是為了使數(shù)字內(nèi)容創(chuàng)作過程更加直觀而增加的中間步驟參數(shù),一旦更改光照方向重新渲染,未必再現(xiàn)基準(zhǔn)圖像的外觀,因此在考慮網(wǎng)絡(luò)的損失函數(shù)時不應(yīng)該只考慮生成BRDF參數(shù)貼圖與基準(zhǔn)值之間的誤差。
該網(wǎng)絡(luò)模擬正向渲染過程,使用可微分的BRDF相似度度量來避免渲染后效果差異過大,該度量利用Cook-Torrance BRDF 模型進行渲染,并對渲染結(jié)果按像素進行對比。
其中在BRDF 渲染計算中應(yīng)保證兩者的入射光及視角條件相同。
網(wǎng)絡(luò)利用藝術(shù)家創(chuàng)建的大型數(shù)據(jù)集[20]對模型進行預(yù)訓(xùn)練,該數(shù)據(jù)集包含藝術(shù)家社區(qū)設(shè)計的2000多個程序性BRDF,其中包括各種常用高質(zhì)量的材質(zhì)如:木材、塑料、金屬、皮革,以及與雕刻文物最相關(guān)的石材材質(zhì)。由于這些材質(zhì)被創(chuàng)建用于數(shù)字內(nèi)容生成,因此每個材質(zhì)都提供了一系列過程參數(shù),允許利用隨機變化生成新的數(shù)據(jù),用于數(shù)據(jù)增強。本文通過對材質(zhì)過程參數(shù)進行隨機擾動,得到了20000 多對BRDF 數(shù)據(jù)用于訓(xùn)練。通過對采集得到的高精度文物模型貼圖中的部分進行裁切,得到材質(zhì)圖像,輸入模型得到對應(yīng)的BRDF貼圖(如圖10)。
圖10 BRDF貼圖生成效果
使用單一材質(zhì)得到的三維雕刻模型在細(xì)節(jié)表達上依然存在欠缺。通過分析雕刻文物可以發(fā)現(xiàn),在制作雕刻時由于要對石材的面進行向內(nèi)雕刻,因此背景和主體內(nèi)容材質(zhì)的紋理走向通常會有所區(qū)別,可以以此來區(qū)分雕刻中的主體與背景(如圖11)。同樣,雕刻中的主體與背景接觸的邊緣以及主體內(nèi)的線條也刻意地向下加深。
圖11 漢代畫像石
為了區(qū)別生成材質(zhì)中雕刻內(nèi)容的主體與背景,并且使細(xì)節(jié)更加明顯,本文利用分割拓片以及線稿圖像對應(yīng)的掩膜將材質(zhì)進行混合,并通過高度圖計算法線貼圖以增強雕刻細(xì)節(jié)。
5.2.1 多材質(zhì)融合的PBR材質(zhì)生成
直接對拓片圖像利用閾值分割并進行高斯模糊,即可得到區(qū)域的掩膜。線稿圖像不存在劃分好的區(qū)域,因此利用線稿圖像生成的高度圖進行區(qū)域分割,以得到掩膜。線稿圖像中的曲線通常是結(jié)構(gòu)部分,雕刻時會刻意加深,曲線鄰域部分通常為細(xì)節(jié)。利用得到的掩膜進行兩種不同紋理材質(zhì)的混合,可得到雕刻模型的PBR材質(zhì)(如圖12)。
圖12 材質(zhì)混合流程
5.2.2 細(xì)節(jié)法線增強
為增強雕刻模型中主體與背景接觸的邊緣部分的細(xì)節(jié)表現(xiàn),本文利用高度圖計算法線貼圖,以增強細(xì)節(jié)部分的表現(xiàn)效果。有如下三種方法:
方法1 相鄰點采樣法
該方法是最簡單常用的方式,通過計算高度圖H中每個像素點在UV 切向空間中S 和T 方向的傾斜向量之間的叉乘,得到各點的法向向量。
由于該方法在計算時需要進行四次貼圖采樣并且進行叉乘運算,因此算法效率較低。
方法2 Sobel算子法
Sobel 算子是一個離散微分算子,用于計算圖像強度函數(shù)梯度的近似值,可利用Sobel 算子計算像素在兩個方向的梯度模擬法線表現(xiàn)。其運算符是兩個各向同性的3 × 3 算子,其中Ox用于提取圖像水平變化,Oy用于提取圖像垂直變化。
由于高度圖為單通道圖像,因此可以利用Sobel運算得到的兩個方向梯度作為X、Y方向法線強度。
其中s(0 ≤s≤1)用于控制法線貼圖的強度。
方法3 高度圖偏移法[21]
呈現(xiàn)凹凸細(xì)節(jié)的一般為山脊結(jié)構(gòu)或者山谷結(jié)構(gòu),可以根據(jù)中線把高度分為亮部和暗部兩部分。高度圖偏移法利用原高度圖與其在U、V方向偏移的高度圖做差,將其作為對應(yīng)方向的偏移值,得到對應(yīng)法線。
其中HoffsetU、HoffsetV為高度圖分別在U、V方向進行部分偏移后重新采樣得到的高度偏移圖,Grey(I)為合并通道操作,將RBG三通道合并為常量值。
圖13 b框選區(qū)域可以觀察到方法1的過度不夠平滑,并且伴有波紋形狀的噪聲產(chǎn)生。圖13 c可以觀察到方法2雖然不存在波紋狀噪聲,但是仔細(xì)觀察可以發(fā)現(xiàn)會有明顯的顆粒狀噪聲。圖13 d可以觀察到方法3取得了較好的效果,法線效果過度較為平滑,并且在框選區(qū)域中面對光源的方向上也可以分辨出模型不同區(qū)域的邊緣部分。
圖13 細(xì)節(jié)增強方法對比
圖14 雕刻模型細(xì)節(jié)增強效果
如圖15 所示,給出了線稿圖像三維化結(jié)果。Kolomenkin M 法[2]主要關(guān)心線稿的曲線區(qū)域高度,雖然生成的三維化結(jié)果可以對線稿圖像中的曲線走向以及曲線處對應(yīng)的細(xì)節(jié)進行保留,但是對于不同區(qū)域之間的高度關(guān)系并不能進行合理計算。本文提出的方法不僅對曲線處的細(xì)節(jié)進行了增強而且生成的模型結(jié)果可以明顯地看出不同區(qū)域之間的高度關(guān)系。
圖15 線稿圖像三維化結(jié)果
如圖16 所示,給出了拓片圖像三維化結(jié)果。Li Z法[10]對于細(xì)節(jié)部分的還原分為兩部分,首先利用拓片反相圖像作為初步高頻估計,然后再手動增加高頻細(xì)節(jié)。為確保實驗對照有效,在實驗對比中僅使用其第一步結(jié)果。實驗中拓片圖像大小為836 × 1043,以三角面?zhèn)€數(shù)為433680 的網(wǎng)格面作為基面進行三維網(wǎng)格生成。對生成后的網(wǎng)格進行QEM 簡化,通過設(shè)置QEM 簡化中二次測量之間的距離誤差閾值來保證簡化程度相同。Li Z 法得到的模型簡化后為228605 個三角面,本文方法得到的模型簡化后為161987個三角面,本文算法在保證細(xì)節(jié)的同時可以對模型進一步簡化以減少數(shù)據(jù)量。
圖16 拓片圖像三維化結(jié)果
受Zhang T[11]工作啟發(fā),本文進一步在碑刻數(shù)據(jù)上進行實驗。如圖17所示,給出了對書法碑刻圖像進行牌匾陽刻和陰刻的復(fù)原實驗,在模型生成步驟中可以通過指定高度方向以調(diào)整陰刻網(wǎng)格生成的效果。
本文結(jié)合現(xiàn)實中雕刻作品的制作步驟,以及雕刻作品中細(xì)節(jié)的表現(xiàn)手法,提出了通過分離雕刻模型主體與材質(zhì)的方式來優(yōu)化雕刻模型的生成。利用雕刻模型的材質(zhì)部分來表現(xiàn)雕刻的細(xì)節(jié),然后對生成的三維網(wǎng)格進行優(yōu)化以減小生成模型的數(shù)據(jù)量,使用該算法最終獲得的三維雕刻模型細(xì)節(jié)表現(xiàn)更加豐富且數(shù)據(jù)量更小。