王 權(quán), 胡越黎,3, 燕 明, 胡云生, 陳 朋
在繪畫藝術(shù)領(lǐng)域,鉛筆畫作為一種最基本的繪畫形式表述了人類對自然場景的抽象認(rèn)知.近年來,鉛筆畫已經(jīng)逐步成為計算機圖形學(xué)領(lǐng)域的熱點研究方向之一,其中利用計算機來模擬藝術(shù)家創(chuàng)作,生成具有鉛筆畫藝術(shù)效果的技術(shù)更是日漸成為國內(nèi)外眾多學(xué)者研究的重點,具有重要的應(yīng)用價值與廣闊的應(yīng)用前景.
鉛筆畫的創(chuàng)作主要由以下三個部分組成:首先,需要描繪出畫面的整體結(jié)構(gòu)和主要輪廓,這一步無需關(guān)注太多細節(jié)信息;其次,在局部區(qū)域描繪陰影或留出空白來體現(xiàn)色調(diào)和紋理;最后,用不同粗細的線條來描繪畫面的不同層次和細節(jié)信息.針對以上步驟,研究者們進行了大量的研究工作,包括線條繪制的研究[1-4]、陰影生成效果的研究[5-6],以及二者結(jié)合的技術(shù)研究[3],但對于不同粗細線條繪制及圖像層次感和細節(jié)信息展現(xiàn)的研究相對較少.
文獻[7]提出了可生成鉛筆畫風(fēng)格的互動式平臺.文獻[8]利用圖像梯度信息,結(jié)合線性卷積積分(line integral convolution,LIC)算法來生成明暗色調(diào).文獻[9]根據(jù)不同范圍把圖像劃分為各個強度層,再結(jié)合區(qū)域LIC算法,參考邊緣和紋理信息進行融合疊加.文獻[10]提出了計算圖像邊緣切線結(jié)合迭代的高斯差分濾波方法.文獻[11]采用高斯尺度空間理論結(jié)合數(shù)學(xué)形態(tài)學(xué)來描述圖像的框架結(jié)構(gòu)和細節(jié)信息,但該方法需要對圖像進行訓(xùn)練.文獻[12]提出了一種圖像輪廓與背景底紋相結(jié)合的方法,具有良好的素描效果,但是該方法忽略了鉛筆畫中線條粗細對圖像真實感的影響,同時未能突出圖像的邊緣線條信息.
本研究利用L0梯度最小化模型結(jié)合L1范數(shù)約束,較為完整地提取和保存了重要的圖像結(jié)構(gòu),突出了邊緣線條.在色調(diào)生成過程中采用graph cut算法進行閾值分割,合理地分配了鉛筆畫中的明暗色調(diào)分布,充分渲染了物體輪廓和紋理較為密集的區(qū)域.此外,本研究所提出的鉛筆畫生成算法不僅適用于普通鉛筆畫,對彩色鉛筆畫的生成同樣具有很好的效果.
基于圖像的鉛筆畫生成過程主要包括筆畫生成和色調(diào)紋理生成.在鉛筆畫筆畫生成過程中,利用L0梯度最小化來統(tǒng)計平滑圖像垂直和水平方向的梯度值不為0的像素之和.對于色調(diào)和紋理的生成,首先利用合理的分配方式將明暗色調(diào)與原圖像充分?jǐn)M合,然后利用指數(shù)組合方式生成鉛筆畫的紋理,最后將筆畫圖和紋理圖融合得到鉛筆畫生成效果[13].鉛筆畫生成的具體流程如圖1所示.
圖1 鉛筆畫生成流程圖Fig.1 Flowchart of the pencil drawing production
L0梯度最小化法基于L0范數(shù)對圖像梯度進行約束計算,是一種改進的總變差(total variation,TV)模型圖像平滑方式[14].經(jīng)其處理后的圖像主要有以下兩個特點:一是平滑后的圖像與原圖像在內(nèi)容結(jié)構(gòu)上保持高度一致;二是能夠突出圖像中重要的線條結(jié)構(gòu)和邊緣信息[15-16].定義I為輸入圖像,S為輸出圖像.在RGB向量空間域中,S在像素點p處的梯度表達式為?Sp=(?xSp,?ySp)T,L0約束下的梯度計算表達式為
式中,#{}是一個運算符,表示圖像中梯度值不為0的數(shù)量.C(S)的大小不依賴于梯度幅值,因此不會受圖像中某些邊緣對比度改變的影響.基于此,S的估算預(yù)測可由下式得到,
式中:Sp是經(jīng)p次平滑處理后的圖像;S0是原圖像,不隨p的變化而變化;λ是一個比重參數(shù),控制C(S)對整個最小化過程的影響.λ過大會使得處理后的圖像邊緣線條減少,因此λ的取值范圍一般在[0.01,0.10]之間,本研究選取λ=0.02.上述函數(shù)并不能直接求解,因為其存在不能凸優(yōu)化的問題.為了解決這個問題,對式(2)進行擴充變換,
式中:變量hp和vp分別是對式(2)中S在p點處的梯度?xSp和?ySp的近似;β為自適應(yīng)參數(shù),控制新的變量及其對應(yīng)梯度的相似性,從初始值β0開始隨著迭代運算的進行而逐漸遞增.本研究選取β0=2λ=0.04,βmax=10 000.由于L0梯度最小化處理對非零梯度的數(shù)量過于依賴,因此不具有很好的魯棒性.
在L0梯度最小化處理過程中,h和v可通過計算圖像梯度獲得.由于圖像中難免會出現(xiàn)因噪聲的影響而導(dǎo)致計算誤差較大的圖像梯度,使得整個最小化過程達不到期望的要求.為了進一步改善L0最小化過程的抗干擾能力,增強其魯棒性,在原有模型基礎(chǔ)上采用L1范數(shù)作為約束項[17].從最優(yōu)化問題解的平滑性來看,L1范數(shù)的解相對少于L2范數(shù),但往往是最優(yōu)解,而L2范數(shù)的解雖很多,但更多的是傾向于某種局部最優(yōu)解.基于以上分析,本研究采取如下的混合梯度最小化模型:
由式(4)可知,第一部分求解S相對而言較為簡單,可直接利用梯度下降法求得結(jié)果.對于h和v的求解,因式(4)中受h和v影響的只有其中一部分,可將其提取變換得
式中,H是一個二值函數(shù),當(dāng)傳遞的參數(shù)不等于0時,則返回1,否則返回0.因此為了得到最小值,需要進行如下的分情況討論:
式(6)是取得最小值的兩種情況,可求出h和v的取值.自然圖像經(jīng)過混合梯度最小化處理后,再重新求取圖像中像素的梯度值,生成對應(yīng)圖像的輪廓信息.由圖2的效果圖可以清楚地看出,混合梯度最小化算法在細節(jié)呈現(xiàn)和重點線條突出方面比L0梯度最小化法有較大的改善.
圖2 筆畫生成效果圖Fig.2 Stroke generated effect pictures
鉛筆畫的色調(diào)主要由明暗兩個部分組成.相比較而言,自然圖像的色調(diào)組成極為豐富(見圖3).為此,本研究基于二值化思想,將自然圖像中的每個像素點按照一定標(biāo)準(zhǔn)劃分成明暗區(qū)域.
圖3 自然圖像與鉛筆畫統(tǒng)計直方圖比較Fig.3 Comparisons of histograms of natural image and pencil drawing
最簡單的劃分方式是設(shè)定一個閾值來區(qū)分明暗區(qū)域.為了滿足不同偏好設(shè)定的需要,本研究利用graph cut算法來求取最佳閾值.定義I(p)為像素點p的強度值,Lp表示該像素點p的明暗狀態(tài)(即Lp=0時表示暗點,Lp=1時表示亮點),則像素點p的能量函數(shù)為
式中,αs∈[0,1]是平衡常數(shù),數(shù)據(jù)項Dp(Lp)和平穩(wěn)項S(p,q)(Lp,Lq)分別定義為
其中Dp(Lp)表示每個像素點的明暗狀態(tài),S(p,q)(Lp,Lq)表示臨近像素點對本像素點的影響,αg為權(quán)衡因子,決定著全局平均強度Mg(I)對結(jié)果的影響,Ml(N)表示以像素點p為中心,周圍局部強度值的平均值(本研究設(shè)定為5×5大小),φ為可調(diào)參數(shù),可根據(jù)不同偏好設(shè)定,signD(Lp)為信號函數(shù),其值隨Lp的值變化而變化,即Lp=0時,函數(shù)值為1,Lp=1時,函數(shù)值為–1,N(p)表示像素點p附近的點,當(dāng)Lp=Lq時,信號函數(shù)signE(Lp,Lq)的值為0,否則為1.
本研究通過結(jié)合經(jīng)典的graph cut算法,在所有像素總成本最小化的基礎(chǔ)上確定了分割明暗區(qū)域的最佳閾值,從而構(gòu)建了一個二值映射來擬合鉛筆畫的色調(diào)組成.
在藝術(shù)家繪制鉛筆畫的過程中往往通過在同一地方反復(fù)涂畫來形成背景紋理,并沒有特定的方向和模式.因此,生成合適的背景紋理非常困難[18].為了充分模擬這個過程,本研究采用如下的指數(shù)組合方式:
式中,J表示最終的背景紋理圖,λ=0.2.對輸入的紋理圖片H進行反復(fù)β次運算,生成與原圖像背景紋理相契合的映射圖.圖4中的紋理圖片H是對真實紋理圖片H1和H2處理后疊加融合得到的.最終的紋理圖T由式(12)運算得到,且T的大小與輪廓圖的大小相一致.
圖4 紋理融合Fig.4 Texture blending
將鉛筆畫的輪廓圖和色調(diào)紋理圖進行逐個像素之間的點乘,得到最終的鉛筆畫生成圖,同時本研究所提出的方法也可擴展到彩色鉛筆畫的生成.在進行分層的時候,只需改變亮度通道,將生成的鉛筆畫作為輸入的原始彩色圖像YUV空間的Y通道,重新映射到RGB空間,就能夠生成彩色鉛筆畫的效果[16].
在一臺配置了Intel Core i3處理器,主頻為2.13 GHz,內(nèi)存為2 GB的32位操作系統(tǒng)計算機上,用Matlab 2012b編程實現(xiàn)了本算法.從圖5中可以明顯看出,本研究所提出的基于混合梯度最小化的鉛筆畫生成算法的效果要優(yōu)于文獻[12]所提出的筆畫結(jié)構(gòu)算法,也優(yōu)于僅僅使用L0梯度最小化法.本算法能夠很好保存圖像的細節(jié)信息和邊緣線條,筆畫粗細有序,充分展示了原圖所表達的層次感.而僅僅使用L0梯度最小化處理時,部分邊緣線條不夠突出甚至不能清楚顯示,容易使得圖像信息的完整性缺失.
圖5 不同算法下鉛筆畫生成效果圖Fig.5 Effect pictures of pencil drawing under different algorithms
在彩色鉛筆畫生成方面,本算法同樣體現(xiàn)了較強的細節(jié)處理能力.相比較而言,采用本算法處理后的圖像色彩填充恰到好處,輪廓勾勒清晰,整體效果更為豐富飽滿(見圖6).為了測試本算法的執(zhí)行效率,在相同的硬件和軟件配置下對一張大小為800×600的圖片進行了驗證,結(jié)果如表1所示.可見,本算法較L0梯度最小化法在耗時上有改進,但算法執(zhí)行效率有待進一步優(yōu)化和改善,后期可考慮將本算法優(yōu)化后應(yīng)用于移動終端設(shè)備.
針對現(xiàn)有鉛筆畫效果生成算法中存在的畫面細節(jié)展現(xiàn)不足、層次感不夠鮮明、筆畫單一、重點線條不夠突出等問題,本研究提出了一種基于混合梯度最小化的鉛筆畫生成算法.結(jié)合L0梯度最小化和L1強制約束,本算法突出了邊緣重點線條的繪制,更好地展示了圖像中局部區(qū)域的輪廓形狀,層次感鮮明.同時,本算法巧妙融合了圖像色調(diào)和紋理信息,最終得到了與原圖像內(nèi)容一致、色調(diào)相近、紋理相似、真實感和藝術(shù)感兼?zhèn)涞你U筆畫效果生成圖像.
圖6 不同算法下彩色鉛筆畫生成效果圖Fig.6 Effect pictures of color pencil drawing under different algorithms
表1 不同算法耗時Table 1 Elapsed time of different algorithms s