張興治,計(jì)忠平
(1.杭州電子科技大學(xué)計(jì)算機(jī)學(xué)院,杭州 310018;2.杭州電子科技大學(xué)圖形圖像研究所,杭州 310018)
浮雕是雕塑與繪畫(huà)結(jié)合的產(chǎn)物,是雕刻的一種,藝術(shù)家在一塊平板上將他要塑造的形象雕刻出來(lái),用壓縮的辦法來(lái)處理對(duì)象,靠透視等因素來(lái)表現(xiàn)三維空間。浮雕的材料有石頭、木頭、象牙和金屬等,一般分為淺浮雕、高浮雕和凹雕等。淺浮雕一般是附屬在另一平面或曲面上的,因此在建筑上使用更多,用具器皿上也經(jīng)常可以看到。浮雕在內(nèi)容、形式和材質(zhì)上與圓雕一樣豐富多彩。淺浮雕壓縮大,起伏小,它既保持了一種建筑式的平面性,又具有一定的體量感和起伏感。從古埃及、古希臘和古羅馬的神廟和墓碑的雕塑,到中國(guó)的廟宇、洞窟和君王的陵墓都有許多淺浮雕藝術(shù)。由于其壓縮的特性,所占空間較小,所以適用于多種環(huán)境的裝飾。近年來(lái),它在城市美化環(huán)境中占了越來(lái)越重要的地位。然而,雖然有大量的3D建模軟件以及3D打印技術(shù),淺浮雕的設(shè)計(jì)卻仍然需要依靠藝術(shù)家手工制作或使用設(shè)計(jì)軟件如ArtCAM來(lái)編輯2D圖像來(lái)產(chǎn)生3D浮雕效果。而如果直接通過(guò)已有的3D模型來(lái)構(gòu)建浮雕將變得更加方便和直觀。
近年來(lái),這一課題在計(jì)算機(jī)圖形學(xué)領(lǐng)域內(nèi)受到越來(lái)越多的關(guān)注。但以往算法主要產(chǎn)生相對(duì)基面凸起的淺浮雕,而本文旨在構(gòu)建數(shù)字凹浮雕。凹浮雕在外觀上不象普通淺浮雕那樣整體高出周?chē)妫窍喾矗萑胫車(chē)妗1疚氖紫葟耐庥^以及便于數(shù)字化處理的角度對(duì)凹浮雕進(jìn)行如下分類(lèi):內(nèi)凹型以及沉陷型。如圖1中所示,內(nèi)凹型是在平面上雕刻,但是不是雕刻輪廓線,而是“挖”掉形體的表面,使整體呈內(nèi)凹型;而沉陷型的形體和表面細(xì)節(jié)與普通淺浮雕類(lèi)似,但整體沉陷在周?chē)婊蚺c周?chē)娉制剑@種類(lèi)型的浮雕一般不常見(jiàn),但卻是古埃及神廟中的典型浮雕。

圖1 凹浮雕簡(jiǎn)單分類(lèi)
相對(duì)于計(jì)算機(jī)圖形學(xué)領(lǐng)域的傳統(tǒng)課題,利用三維模型設(shè)計(jì)數(shù)字淺浮雕還是一個(gè)相對(duì)年輕的研究課題。隨著三維模型獲取技術(shù)的提高以及數(shù)字幾何處理的發(fā)展,近年來(lái)有文獻(xiàn)研究基于三維場(chǎng)景的數(shù)字化淺浮雕設(shè)計(jì)[1]。Cignoni等人首次將三維場(chǎng)景視為攝像機(jī)空間中的高度場(chǎng),再直接對(duì)高度值作非線性縮放,對(duì)于離攝像機(jī)較近的給予較多的深度范圍,最終得到壓平后的高度場(chǎng)[2]。這種方法對(duì)深度值不復(fù)雜的模型和場(chǎng)景能產(chǎn)生較好的淺浮雕,但是對(duì)于模型之間由于前后遮擋而形成深度值的不連續(xù)而帶來(lái)瑕疵。Weyrich等人借鑒HDR圖像的壓縮算法[3],但并不是直接壓縮高度值,而是非線性地改變高度場(chǎng)的梯度值[4]。這樣可以改善因深度值不連續(xù)而帶來(lái)的瑕疵。Song等人不直接處理高度場(chǎng),而是結(jié)合網(wǎng)格的微分坐標(biāo)和特征圖來(lái)獲取高度場(chǎng)[5]。Kerber等人通過(guò)雙邊濾波將高頻和低頻分離,保留因統(tǒng)一壓縮高度場(chǎng)而丟失的細(xì)節(jié)[6-7]。Sun等人直接處理高度場(chǎng),并借鑒圖像處理中的對(duì)比度增強(qiáng)技術(shù)并結(jié)合梯度域增強(qiáng)特征來(lái)產(chǎn)生高質(zhì)量的淺浮雕,但算法需要的計(jì)算量較大[8]。Bian和Hu提出了結(jié)合Laplacian坐標(biāo)和非線性壓縮梯度域的保持細(xì)節(jié)特征的淺浮雕建模方法[9]。Wang等人別出心裁,不是將場(chǎng)景的高度場(chǎng)轉(zhuǎn)化為淺浮雕,而是將場(chǎng)景中提取的“線條”信息轉(zhuǎn)化為雕刻筆畫(huà),用以模擬凹線型的雕刻形象[10]。另外,國(guó)內(nèi)學(xué)者在此基礎(chǔ)上也展開(kāi)了一些研究[11-14]。
除了從三維場(chǎng)景計(jì)算淺浮雕外,近來(lái)有一些學(xué)者提出從圖像轉(zhuǎn)化或手繪等方式產(chǎn)生淺浮雕的方法。Alexa等人在給定光源的前提下由圖像計(jì)算一個(gè)高度場(chǎng)使得其在同樣光源條件下得到類(lèi)似的渲染圖[15],雖然與由三維場(chǎng)景獲得的淺浮雕結(jié)果比較質(zhì)量上有差距,但可以作為淺浮雕設(shè)計(jì)的另一種思路。Li等人則從圖像中提取中軸用于構(gòu)建基本曲面,再結(jié)合圖像中提取的細(xì)節(jié)來(lái)重建浮雕,該技術(shù)旨在模擬磚塊和石壁上的浮雕作品[16]。Wu等人提出一種將人臉圖像轉(zhuǎn)為淺浮雕的方法,使用神經(jīng)網(wǎng)絡(luò)方法由人臉圖像計(jì)算浮雕圖像,再使用Shape-from-Shading技術(shù)構(gòu)建相應(yīng)的淺浮雕模型[17],當(dāng)然該方法局限于人臉圖像。Wu等人將二維線型筆劃與法線筆劃相結(jié)合提出一種由單幅圖像交互式構(gòu)建三維曲面(高度場(chǎng))的方法[18],雖然該方法側(cè)重于由圖像重建三維模型上,但算法也適合于簡(jiǎn)單淺浮雕的構(gòu)建。最近,Sykora等人提出類(lèi)似的方法[19],但交互方式略有不同,不是指定法線而是手繪圖加上表示分塊和深度次序的注釋。Ji等人分析淺浮雕建模中的關(guān)鍵問(wèn)題,改變思路,不從高度場(chǎng)著眼,而是從法線角度來(lái)思考問(wèn)題,提出了基于法線圖的淺浮雕設(shè)計(jì)算法[20]。本文工作正是建立在該工作的基礎(chǔ)上,通過(guò)編輯法線信息來(lái)構(gòu)造凹浮雕。
鑒于凹浮雕與普通凸浮雕的區(qū)別,本文方法主要解決如何使浮雕表面或輪廓產(chǎn)生凹陷的問(wèn)題。對(duì)于這個(gè)問(wèn)題,從法線角度來(lái)處理比從高度場(chǎng)角度直接處理來(lái)得更加合理,只需要計(jì)算局部的法線以構(gòu)造凹陷特征,再通過(guò)積分計(jì)算得到最終的高度場(chǎng),因此不需要直接處理高度值的不連續(xù)問(wèn)題。本文算法的主要步驟如下:從法線圖中抽取輪廓線以及內(nèi)部重要內(nèi)陷線條型特征,計(jì)算距離圖及其法線圖;調(diào)整基本面的法線信息;再將輪廓線、線條和基本法線合成一整張法線圖;最后由合成的法線圖重建高度場(chǎng)。
(1)輪廓線
為了模擬凹浮雕特別是第三種類(lèi)型,需要在邊緣處構(gòu)建深凹特征。本文算法首先計(jì)算像素到輪廓線的距離圖,再根據(jù)距離圖計(jì)算邊緣處的法線。圖2給出了一個(gè)示例。首先計(jì)算法線圖的輪廓邊緣,適當(dāng)膨脹一下(此例子中向外膨脹6個(gè)像素),再計(jì)算到輪廓線的歐氏距離圖,圖2(c)中只顯示了輪廓內(nèi)部的距離圖,其中遠(yuǎn)距離用黃色表示,近距離用暗綠色表示;最后由距離圖計(jì)算邊緣附近的法線值得到輪廓法線圖(圖2(d))。該例子采用歐氏距離,也可以采用不同的距離函數(shù)來(lái)塑造不同類(lèi)型的邊緣特征。


圖2 邊緣輪廓法線圖的構(gòu)建
(2)內(nèi)部線條
為了塑造凹浮雕中的線條型刻劃,本文從圖像角度檢測(cè)出法線圖上的凹線條。首先通過(guò)邊緣檢測(cè)算子檢測(cè)法線圖的邊緣線,但這里有可能存在凸線條,因此再截取Laplace算子的正值抽取出凹線條。該步驟簡(jiǎn)單高效,通過(guò)邊緣檢測(cè)算子的閾值還可以抽取多層次的凹線條。一旦抽取出凹線條,再跟上文中一樣,計(jì)算距離圖,最后由距離圖構(gòu)建相應(yīng)的法線圖。

圖3 由凹型邊緣線引導(dǎo)的距離圖計(jì)算法線圖
從圖3中的例子可以看出,在圖3(a)中很多凸線條也被檢測(cè)出來(lái)了,通過(guò)Laplace算子將真正凹的線條抽取出來(lái)了,再計(jì)算到這些點(diǎn)的歐氏距離圖,最后由距離圖計(jì)算法線圖。由于采用歐氏距離,沒(méi)有考慮光滑性,最后得到的法線圖有很多尖銳的脊線和谷線,但這里尖銳的谷線正是本文算法所需要的。另外,為了塑造不同的“雕刻痕跡”,可以采用不同的距離計(jì)算方法。
由法線圖構(gòu)建浮雕模型的另一個(gè)優(yōu)勢(shì)就是可以通過(guò)調(diào)整法線來(lái)改變浮雕的整體形狀。本文提出兩種調(diào)整方案,一種是翻轉(zhuǎn)法線,使整體凸起的浮雕變?yōu)橄騼?nèi)凹陷;另一種則是使浮雕曲面整體傾向于某個(gè)方向,本文通過(guò)改變法線的x,y分量再單位化來(lái)調(diào)整法線。
(1)內(nèi)陷型
對(duì)于本身呈整體凸起形狀的模型,由翻轉(zhuǎn)法線來(lái)構(gòu)建內(nèi)凹型淺浮雕是非常直接的,即得到呈整體凹陷的效果。圖4中給出了一個(gè)例子,通過(guò)翻轉(zhuǎn)螞蟻模型的法線,最終產(chǎn)生了完全內(nèi)陷的淺浮雕模型。由該例子可見(jiàn),本文算法可以近似塑造圖1中第一種類(lèi)型的凹浮雕。

圖4 通過(guò)翻轉(zhuǎn)法線來(lái)塑造內(nèi)陷型凹浮雕
(2)方向擠壓型
為了塑造具有方向性偏倚的效果,可以模擬因長(zhǎng)期風(fēng)化或擠壓造成的現(xiàn)象。通過(guò)調(diào)整法線的方向可以塑造偏向某個(gè)方向的效果。本文算法采用如下公式對(duì)法線n=(nx,ny,nz)進(jìn)行方向性調(diào)整,其中d是用戶(hù)設(shè)定的一個(gè)2維單位向量,用于指示法線偏倚的方向,nxy是法線的x和y分量組成的二維向量。從圖5給出了一個(gè)示例,其中設(shè)定d=[1,0]。可以看出,本文算法通過(guò)法線間接地控制高度,用于模仿有些浮雕中的特效。

圖5 通過(guò)偏轉(zhuǎn)法線來(lái)塑造朝某個(gè)方向偏倚的效果
由于法線信息和絕對(duì)高度值不同,記錄的是局部信息,并且具有平移不變性,因此可以將多個(gè)法線圖組合起來(lái)得到一張法線圖,再由此計(jì)算得到相應(yīng)的浮雕模型。因此可以將上述幾個(gè)法線圖融合起來(lái)生成最終的法線圖。本文算法最終處理的是綜合原始法線圖以及前面步驟中分別產(chǎn)生的輪廓線和內(nèi)部凹線的法線圖。通過(guò)積分法線圖推導(dǎo)的梯度場(chǎng)得到最終的浮雕模型,該步驟也起到整體光滑的作用,因此本文算法采用簡(jiǎn)單的方法綜合三部分法線圖,而并不考慮法線圖的光滑性。圖6給出了一個(gè)例子,該模型對(duì)應(yīng)的一些凹陷特征以凹線的形式呈現(xiàn)出來(lái)。另外,也可以對(duì)原始法線作不同程度的平滑或豎直矯正,讓最終的浮雕呈現(xiàn)出不同的整體平整效果。

圖6 合成法線圖例子示意圖
一旦計(jì)算得到合成法線圖,本文采用文獻(xiàn)[20]提出的方法由法線圖構(gòu)建高度場(chǎng),最后再根據(jù)預(yù)設(shè)的淺浮雕高度值來(lái)線性縮放計(jì)算得到的高度場(chǎng)。圖7給出的例子是由圖6中的合成法線圖重建出高度場(chǎng)再經(jīng)線性壓縮至一定高度后產(chǎn)生最終的凹型淺浮雕模型。

圖7 通過(guò)高度場(chǎng)壓縮產(chǎn)生浮雕模型
下面將結(jié)合實(shí)際例子來(lái)進(jìn)一步闡述和驗(yàn)證本文算法。
圖8中的例子演示了本文算法構(gòu)造凹浮雕的過(guò)程。由于輪廓邊緣法線的存在,使得整個(gè)浮雕呈凹陷狀,而內(nèi)部線條呈現(xiàn)了刻劃的痕跡。

圖8 凹浮雕生成算法實(shí)驗(yàn)例子1
圖9 中的例子是為了表現(xiàn)不同筆觸大小的效果,從圖中可以看出,當(dāng)筆觸較小(圖9(b))時(shí)更趨近于線刻的效果,而較大筆觸(圖9(c))時(shí)凹浮雕的特征更加明顯。

圖9 凹浮雕生成算法實(shí)驗(yàn)例子2
除了以上給出的卡通及人物的模型進(jìn)行生成凹浮雕以外,本文還提出了其他的類(lèi)型如漢字來(lái)生成凹浮雕。本文首先計(jì)算法線圖的輪廓邊緣,再計(jì)算到輪廓線的歐氏距離圖,由距離圖計(jì)算邊緣附近的法線值得到輪廓法線圖。圖10給出的例子也是采用歐氏距離來(lái)塑造邊緣特征,對(duì)原始法線筆觸大小等作了不同處理,使?jié)h字產(chǎn)生凹浮雕的效果。

圖10 凹浮雕生成算法實(shí)驗(yàn)例子3
與文獻(xiàn)[20]一樣,本文算法以法線圖作為處理對(duì)象,圖11中所示的例子是將文獻(xiàn)[20]提出的算法的結(jié)果與本文算法的結(jié)果作了比較。從該例子可以看出,本文算法生成的結(jié)果跟以往算法產(chǎn)生的普通淺浮雕有較大區(qū)別。以往算法的一個(gè)重要目標(biāo)是在壓縮高度的同時(shí)盡量保持原始模型的幾何特征,并且盡量保持在垂直視線下的視覺(jué)效果。而本文算法產(chǎn)生的淺浮雕壓縮高度的同時(shí)以?xún)?nèi)凹的線條呈現(xiàn)原模型的細(xì)節(jié)特征。而從算法效率上來(lái)看,由于主要的計(jì)算時(shí)間是求解最終的稀疏線性方程組,因此并沒(méi)較大的區(qū)別。
本文提出一種由法線圖來(lái)生成數(shù)字凹浮雕的方法。本文從法線圖中抽取輪廓線和內(nèi)部邊緣特征,在此基礎(chǔ)上計(jì)算距離圖,再計(jì)算距離圖的法線,最后將生成的新法線圖與原始的法線圖混合得到最終的法線圖。由法向信息來(lái)構(gòu)建凹浮雕的優(yōu)勢(shì)就是,不需要處理深度值的不連續(xù)問(wèn)題。本文方法概念簡(jiǎn)單,實(shí)驗(yàn)表明適合生成各類(lèi)凹浮雕模型。
目前工作主要研究由法線圖如何產(chǎn)生各類(lèi)凹浮雕模型,但有些問(wèn)題還值得進(jìn)一步研究,如:目前凹線筆劃的寬度和深度基本一致,研究如何構(gòu)建寬度和深度自適應(yīng)的筆劃以塑造更加豐富的筆劃效果;增加輪廓線和內(nèi)凹線的隨機(jī)變化以模擬現(xiàn)實(shí)中的浮雕效果;目前在檢測(cè)凹線時(shí)僅僅將法線圖作為普通的圖像來(lái)處理,可以直接從法線信息來(lái)計(jì)算谷線和脊線,即相當(dāng)于在物體空間來(lái)計(jì)算相關(guān)特征。
參考文獻(xiàn):
[1]J.Kerber,M.Wang,J.Chang,J.Zhang,A.Belyaev,H.-P.Seidel.Computer Assisted Relief Generation-a S-urvey[J].Computer Graphics Forum,2012,31(8):2363-2377.
[2]P.Cignoni,C.Montani,R.Scopigno.Computer-assisted Generation of Bas-and High-reliefs[J].Journal of Graphics Tools,1997,2(3):15-28.
[3]R.Fattal,D.Lischinski,and M.Werman,Gradient Domain High Dynamic Range Compression[J].ACM Tr-nsactions on Graphics,2002,21(3):249-256.
[4]T.Weyrich,J.Deng,C.Barnes,S.Rusinkiewicz,A.Finkelstein.Digital Bas-relief from 3D Scenes[J].ACM Transactions on Graphics(SIGGRAPH 2007),2007,26(3):32-38.
[5]W.Song,A.Belyaev,H.-P.Seidel.Automatic Generation of Basreliefs from 3DShapes[C].In Proc-edings IEEE International Conference on Shape Modeling and Applications.Washington,2007:211-214.
[6]J.Kerber,Digital Art of Bas-Relief Sculpting,Master'Sthesis[C].Univeristy of Saarland,Saarbr¨ucken,Germa-ny,2007.
[7]J.Kerber,A.Tevs,A.Belyaev,R.Zayer,H.-P.Seidel.Feature Sensitive Bas Relief Generation[C].IEEE International Conference on Shape Modeling and Applications.Beijing:2009.
[8]X.Sun,P.L.Rosin,R.R.Martin,F.C.Langbein,Bas-Relief Generation Using Adaptive Histogram[J].IEEE Trans Visualization and Computer Graphics,2009,15(4):642-653.
[9]Z.Bian,S.-M.Hu.Preserving Detailed Features in Digital Bas-relief Making[J].Computer Aided Geo-metric Design,2011,28(4):245-256.
[10]M.Wang,J.Kerber,J.Chang,J.J.Zhang.Reliefstylization from 3D Models Using Featured Lines[C].In Proceedings of the 27th Spring Conference on Computer Graphics,2011:63-68.
[11]趙鵬,邊哲.曲面淺浮雕生成算法[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2010,22(7):1126-1131.
[12]何會(huì)珍,楊勛年.曲面浮雕生成[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2010,22(7):1132-1137.
[13]周世哲,劉利剛.實(shí)時(shí)數(shù)字浮雕建模[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2010,22(3):434-439.
[14]李博,劉勝蘭,張麗艷.基于流形調(diào)和變換的淺浮雕生成算法[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)報(bào),2012,24(2):252-261.
[15]M.Alexa,W.Matusik.Reliefs As Images[J].ACM Transactions on Graphics,2010,29(4):60-66.
[16]Z.Li,S.Wang,J.Yu,and K.-L.Ma,Restoration of Brick and Stone Relief from Single Rubbing Images[J].IEEETransactions on Visualization and Computer Graphic,2012,18(2):177-187.
[17]J.Wu,R.R.Martin,P.L.Rosin,X.-F.Sun,F.C.Langbein,Y.-K.Lai,A.D.Marshall,Y.-H.Liu.Making Bas-reliefs from Photographs of Human Faces[J].Computer-Aided Design,2013,45(3):671-682.
[18]T.Wu,C.Tang,M.S.Brown,H.-Y.Shum.S-apePalettes:Interactive Normal Transfer via Sketchi-ng[J].ACM Transactions on Graphics,2007,26(3):44-48.
[19]D.Sykora,L.Kavan,M.Cadik,O.Jamriska,A.Jaco-son,B.Whited,M.Simmons,andO.-S.Hornung.Ink-and-Ray:Bas-Relief Meshes for Adding Global Illumin-tion Effects to Hand-Drawn Characters[J].ACM Tra-nsaction on Graphics,2014,33(2):1-15.
[20]Z.-P.Ji,W.-Y.Ma,and X.-F.Sun.Bas-Relief Mo-eling from Normal Images with Intuitive Styles[J].IEEE Transactions on Visualization and Computer Graphics,2014,20(5):675-685.