王 瑜 羅廣征 田恒屹
(北京工商大學(xué)人工智能學(xué)院 北京 100048)
鉛筆畫(huà)是很多平面設(shè)計(jì)的基礎(chǔ),具備簡(jiǎn)約、和諧的特點(diǎn),富有藝術(shù)感染力。但鉛筆畫(huà)繪制需要有很深的繪畫(huà)基本功,且細(xì)致刻畫(huà)需要較長(zhǎng)時(shí)間,因此,利用圖像處理技術(shù),將自然圖像全自動(dòng)地轉(zhuǎn)化為鉛筆畫(huà),已成為目前影視、娛樂(lè)等產(chǎn)業(yè)的迫切需求。
目前,鉛筆畫(huà)的仿真生成主要分為兩類(lèi),一類(lèi)基于3D模型[1-2],一類(lèi)基于二維2D圖像[3-4]。3D模型需要構(gòu)建復(fù)雜的三維空間結(jié)構(gòu),而隨著相機(jī)性能的不斷提高,獲取清晰的2D圖像比建立3D模型更加容易,因此學(xué)者們更傾向于采用二維圖像的方式獲得鉛筆畫(huà)。李瑞瑞等[5]利用量子切割原理生成多層次的映射圖,再利用映射圖對(duì)鉛筆畫(huà)輪廓圖和色調(diào)紋理進(jìn)行建模,最后通過(guò)灰度變換和紋理合成生成鉛筆畫(huà)。Mao等[6]利用線(xiàn)積分卷積得到流暢的紋理方向,產(chǎn)生具有鉛筆畫(huà)風(fēng)格的紋理圖像。王權(quán)等[7]利用結(jié)合梯度最小化和范數(shù)約束的混合梯度算法生成鉛筆畫(huà),較好地保持了原圖像的結(jié)構(gòu)和細(xì)節(jié)信息。Li等[8]提出基于傅里葉變換的圖像素描生成算法,利用灰度圖像分別進(jìn)行傅里葉變換和傅里葉反變換,再將每個(gè)點(diǎn)的灰度值倒置求反,最后對(duì)圖像進(jìn)行銳化和平滑等處理,從而實(shí)現(xiàn)鉛筆畫(huà)效果。利用骨架與色調(diào)兩階段生成鉛筆畫(huà)是一個(gè)圖像轉(zhuǎn)換[9]的過(guò)程,也是一種很優(yōu)秀的基于2D圖像的鉛筆畫(huà)生成方法,并獲得了很好的結(jié)果。本文在此方法基礎(chǔ)上,使用具有多尺度、多方向特性的可變局部邊緣模式(Varied Local Edge Pattern,VLEP)生成邊緣輪廓圖,再通過(guò)原始圖像的色階直方圖獲得色調(diào)圖,最后將邊緣輪廓圖和渲染后的色調(diào)圖融合,獲得效果逼真的鉛筆畫(huà),由于VLEP紋理分析方法的多尺度和多分辨特性,以及不易受噪聲和光照變化影響的優(yōu)勢(shì),保證了本文提出的鉛筆畫(huà)生成算法的優(yōu)越性。
本文提出的全自動(dòng)鉛筆畫(huà)生成方法包括兩個(gè)主要步驟,即鉛筆畫(huà)輪廓圖生成和色調(diào)圖繪制。輪廓圖表達(dá)場(chǎng)景的一般結(jié)構(gòu),而色調(diào)圖更注重形狀和陰影,對(duì)于感知全局光照、強(qiáng)調(diào)陰影和暗區(qū)是非常有效的。
1.1.1于VLEP算法的邊緣提取
(a) 一組算子
用VLEP算子對(duì)原始灰度圖進(jìn)行邊緣提取,公式如下:
(1)
(2)
式中:Θ=2π/P。
1.1.2鉛筆畫(huà)輪廓圖的生成
選擇8個(gè)間隔45度的參考方向,將線(xiàn)段表示為{φi},i∈{1,2,3,4,5,6,7,8}。計(jì)算其中某一方向的響應(yīng),公式如下:
Gi=φi?G
(3)
式中:φi是第i個(gè)方向的線(xiàn)段。根據(jù)經(jīng)驗(yàn),φi的長(zhǎng)度設(shè)置為圖像高度或?qū)挾鹊?/30?!?”為卷積運(yùn)算,它將沿i方向的梯度大小分組,形成濾波器響應(yīng)Gi。選取各個(gè)方向的響應(yīng)中最大值作為結(jié)果,記為:
(4)
(5)
沿φi方向?qū)⒏浇南袼鼐奂谝黄?并在原始梯度圖中連上邊緣像素,這個(gè)過(guò)程對(duì)弱化噪聲和圖像信息的提取也非常有效。最后的鉛筆畫(huà)輪廓圖S是通過(guò)對(duì)S′像素值進(jìn)行反演,并將其映射到[0,1]區(qū)間得到。
通過(guò)觀察發(fā)現(xiàn),鉛筆畫(huà)里經(jīng)常使用密集的線(xiàn)條來(lái)突出陰影和比較暗的物體,本文采用了一種渲染鉛筆紋理的方案[11]。
1.2.1色調(diào)圖分布的確定
因?yàn)殂U筆畫(huà)是紙和石墨相互作用的結(jié)果,主要由兩個(gè)基本色調(diào)組成,對(duì)于非常明亮的區(qū)域,無(wú)需任何處理,顯示白色,相反,重筆畫(huà)用于強(qiáng)調(diào)邊界和突出黑色區(qū)域,而在這兩個(gè)色調(diào)之間,產(chǎn)生柔和的色調(diào)筆畫(huà),用來(lái)豐富圖像信息。因此,使用如下參數(shù)模型表示目標(biāo)圖像的色調(diào)分布:
(6)
為了對(duì)色調(diào)分布進(jìn)行建模,高光層使用拉普拉斯分布,色調(diào)分布定義如下:
(7)
式中:σb表示分布的規(guī)模。與明亮層不同,中間調(diào)層并不一定在特定的灰度水平達(dá)到峰值,因此使用均勻分布,具體表示為:
(8)
式中:ua和ub是定義分布范圍的兩個(gè)控制參數(shù)。
最后,陰影層的筆畫(huà)強(qiáng)調(diào)物體的深度變化和幾何輪廓,利用如下公式建模:
(9)
式中:μd是暗線(xiàn)條的平均值,而σd是尺度參數(shù),并且陰影層像素值的變化一般要比高光層像素值的變化大得多。
1.2.2參數(shù)的確定
高質(zhì)量的鉛筆紋理生成可以有效去除噪聲,保持強(qiáng)紋理信息。色調(diào)紋理值沒(méi)有明顯方向的鉛筆圖案,只提取色調(diào)信息,本文在提出的框架中利用計(jì)算的色調(diào)映射,并學(xué)習(xí)手工繪制的色調(diào)模式,手工色調(diào)模式如圖2所示,其中P為手工繪制的鉛筆紋理,P的深淺隨著β變化。
圖2 手工色調(diào)模式
在手繪鉛筆畫(huà)中,色調(diào)鉛筆紋理是在同一位置重復(fù)繪制產(chǎn)生的。本文使用指數(shù)函數(shù)模型H(x)β(x)≈J(x)進(jìn)行紋理的渲染[11],其中H(x)即為P,J(x)為通過(guò)式(6)得到的色調(diào)圖。繪圖模式中的Hβ倍近似對(duì)應(yīng)于J中的局部色調(diào)值,β通過(guò)求解式(10)得到。
(10)
式中:“°”表示哈達(dá)瑪積運(yùn)算。
(β°log(P)-log(J))T°log(P)+
(11)
然后兩邊取轉(zhuǎn)置,可得到式(12)。
β°log(P)°log(P)-log(J)°log(P))+
(12)
并可得到如下轉(zhuǎn)換形式:
log(J)°log(P)
(13)
T=Hβ*
(14)
本文將鉛筆畫(huà)輪廓圖S和色調(diào)紋理T結(jié)合起來(lái),通過(guò)將每個(gè)像素的筆劃和紋理值相乘來(lái)突出重要的輪廓,得到素描鉛筆畫(huà),公式如下:
R=S·T
(15)
本文整個(gè)算法流程如下:
(1) 將原始輸入圖像利用式(1)和式(2)得到邊緣輪廓圖G,然后利用邊緣輪廓圖和式(3)-式(5)得到鉛筆畫(huà)輪廓圖S。
(2) 利用式(14)得到紋理渲染圖T。
(3) 利用式(15)得到素描鉛筆畫(huà)R。
此外,本文將生成的素描鉛筆畫(huà)R作為高光層,將本文方法擴(kuò)展到彩色鉛筆繪圖,即將YUV顏色空間重新映射回RGB空間。由于此方法的色調(diào)調(diào)整可以有效地產(chǎn)生鉛筆畫(huà)一樣的外觀,最終的彩繪也呈現(xiàn)出適當(dāng)?shù)纳{(diào)。
為了證明本文方法的有效性,精心分析了一系列的實(shí)驗(yàn)結(jié)果。圖3顯示了本文方法和Lee等[12]方法的比較結(jié)果。
(a) 原始彩色圖像 (b) 生成的邊緣輪廓
從實(shí)驗(yàn)結(jié)果可以看出,Lee等提出的方法由于是基于局部梯度生成的,圖像模糊,真實(shí)感差,而本文方法的結(jié)果展示了另一種不同的風(fēng)格,形象逼真,具有更細(xì)致的紋理信息,更接近畫(huà)手的手繪鉛筆畫(huà)。
圖4(a)為另一幅彩色圖像,利用本文方法,生成輪廓圖4(b)和色調(diào)圖4(c),最終得到彩色鉛筆畫(huà)如圖4(d)所示。
(a) 原始彩色圖像 (b) 邊緣輪廓圖
可以看出,本文方法可以生成彩色鉛筆畫(huà),并連接了在原始邊緣圖中不一定連接的像素,有效抵抗噪聲的影響,使最后生成的彩色鉛筆畫(huà)包含了重要的結(jié)構(gòu)信息和線(xiàn)條繪畫(huà)風(fēng)格。
在鉛筆畫(huà)生成過(guò)程中,因?yàn)椴粌H要有選擇地保存結(jié)構(gòu)信息,同時(shí)要使鉛筆的外觀接近真實(shí)的繪畫(huà),因此將自然圖像轉(zhuǎn)換為鉛筆畫(huà)是一個(gè)難題。本文提出一個(gè)基于輪廓圖與色調(diào)圖的全自動(dòng)鉛筆畫(huà)生成方法,主要思想是先用VLEP算法提取出原始圖像的邊緣輪廓圖,再基于鉛筆畫(huà)的特點(diǎn)進(jìn)行紋理渲染,最后再將紋理渲染圖與輪廓圖結(jié)合,生成鉛筆畫(huà)。該方法生成的鉛筆畫(huà)能夠很有效地保留原始圖像的信息,視覺(jué)感更逼真,更接近人類(lèi)手繪獲得的鉛筆畫(huà)。