趙楊+楊劍蘭
摘要:本丈提出一種計算機生成具有梵高油畫風(fēng)格的視頻渲染處理算法。本文提出以圖像結(jié)構(gòu)張量的特征向量值作為畫筆方向,對輸入視頻幀進行多層繪制,以有效模擬梵高油畫的流體感;同時提出一種改進的局部光照模型,該方法通過運用bump-mapping技術(shù)從而增強繪制視頻幀的涂料層疊感。為了使生成的視頻幀具有梵高油畫的色彩風(fēng)格,通過運用顏色轉(zhuǎn)換方法將梵高原畫的色彩特征轉(zhuǎn)換到渲染視頻幀上。實驗結(jié)果表明,對于給定的輸入視頻,該算法能夠有效地生成具有梵高風(fēng)格特質(zhì)的渲染視頻。
【關(guān)鍵詞】油畫 梵高風(fēng)格 結(jié)構(gòu)張量 筆刷模型 光照模型 顏色轉(zhuǎn)換
1 引言
傳統(tǒng)油畫創(chuàng)作通過觀照現(xiàn)實,表達創(chuàng)作者的創(chuàng)意。隨著世界文化一體化進程的加快,計算機圖像藝術(shù)迅速融入普通百姓的生活,給受眾帶來全新的審美體驗。
當(dāng)今計算機技術(shù)己發(fā)展成為油畫創(chuàng)作的一種技術(shù)手段。許多藝術(shù)家運用數(shù)碼相機采集照片并運用計算機作為創(chuàng)作和圖像處理的工具,新生代油畫家已經(jīng)開始對此進行有益的探索。運用計算機技術(shù)輔助進行油畫創(chuàng)作,將傳統(tǒng)藝術(shù)與現(xiàn)代科技融合到一起,使得創(chuàng)作的理念多元化,創(chuàng)作思維更加開闊,己發(fā)展成為數(shù)字藝術(shù)媒體的新形式。
運用計算機輔助進行油畫繪制,主要分為兩種形式:
(1)運用現(xiàn)有的專業(yè)圖像處理軟件進行創(chuàng)作。其中使用最為廣泛的是Adobe公司的Photoshop系列、Corel公司的Painter系列等。利用上述軟件能快速實現(xiàn)真實照片到油畫風(fēng)格的快速轉(zhuǎn)化。
(2)開發(fā)全新的油畫繪制算法,運用計算機模擬真實的油畫創(chuàng)作過程。
隨著研究的深入,目前的研究熱點,已經(jīng)從對單幅靜止圖像的風(fēng)格化渲染轉(zhuǎn)移到研究如何實時地對輸入視頻進行油畫風(fēng)格化渲染方向。傳統(tǒng)的非實時的視頻油畫繪制算法主要是按照時問序列對視頻幀進行逐幀渲染,但由于視頻相鄰幀問具有一定的時空相關(guān)性,這樣的處理方法會產(chǎn)生嚴(yán)重的幀問不連續(xù),造成渲染畫而出現(xiàn)視覺閃爍現(xiàn)象。因此,在實時對視頻進行風(fēng)格化渲染時不僅要解決計算速度的問題,同時也要兼顧繪制質(zhì)量的問題。2計算機模擬梵高油畫風(fēng)格發(fā)展研究概況
Litwinowicz首次提出對輸入視頻進行油畫風(fēng)格化渲染的算法。算法在首幀繪制完成后,沿光流方向進行傳遞,得到第二幀筆畫的初始位置,通過不斷迭代完成對整段視頻的渲染。但算法渲染穩(wěn)定性較差,對含有復(fù)雜場景的視頻進行渲染時仍會產(chǎn)生閃爍現(xiàn)象。
與Litwinowicz的算法模型不同,Hays同樣采用光流法在視頻各幀之問傳播畫筆。不同之處在對每一幀進行濾波后,根據(jù)圖像頻率的不同,將其分解為不同的層進行分層繪制于畫筆傳播,從而得到最終的繪制效果。該方法對于包含簡單場景的視頻,能夠生成連續(xù)性較好的結(jié)果。
趙楊等提出基于物理模型的流體模擬算法,并將其應(yīng)用到生成具有梵高藝術(shù)風(fēng)格的油畫繪制方而。該算法首先對流體進行模擬,得到流體參考圖;其次,通過計算流體參考圖的梯度方向,并將其作為畫筆方向,對輸入圖像進行分層渲染。不足之處在于:
(1)若流體參考圖的流線不佳,則會出現(xiàn)流線越出梯度邊界的情況;
(2)基于物理模型的流體模擬算法計算量過大,影響實時處理的應(yīng)用推廣。
錢小燕采用自適應(yīng)LIC卷積繪制流體方法,對算法進行了改進。其算法的核心思想為:首先提取圖像的結(jié)構(gòu)張量場;其次利用結(jié)構(gòu)張量場進行自適應(yīng)的LIC積分生成具有梵高繪畫特征的流體藝術(shù)圖。但不足之處在于隨機擾動的函數(shù)確定了最終生成的流體效果圖,流體效果形式較為單一。
Olsen等人開發(fā)出一種新穎的算法,該算法通過物理模擬的方法來構(gòu)造實時變化的流體,并根據(jù)流體的方向來控制筆刷繪制的方向,從而生成具有梵高藝術(shù)風(fēng)格的視頻動畫。但是該算法并沒有實現(xiàn)實時的視頻處理和計算。
Winnemoller等人則提出了一個基于視頻的卡通風(fēng)格化渲染系統(tǒng),首次實現(xiàn)了實時的視頻卡通化渲染。隨后趙楊,徐丹等人在此基礎(chǔ)上設(shè)計了一個實時的渲染系統(tǒng),該系統(tǒng)可將輸入視頻渲染為具有卡通,水彩及鉛筆畫特效的風(fēng)格化視頻。但是以上系統(tǒng)沒有實現(xiàn)對視頻的油畫風(fēng)格的轉(zhuǎn)換與渲染。
文獻[5]回顧并梳理了圖像和視頻油畫風(fēng)格化繪制相關(guān)技術(shù)的發(fā)展進程,同時討論了上述研究存在的難點和新的研究方向。
通過計算機輔助繪制技術(shù)可以為用戶提供較好的算法接口,但渲染效果與真實藝術(shù)作品相較仍存在一定差距。因此,如何在算法執(zhí)行速度,提供渲染效率,與此同時如何解決視頻渲染中的幀問一致性問題,是未來的研究重點。為了解決以上問題,本文提出了一種基于結(jié)構(gòu)張量計算的生成梵高油畫風(fēng)格的視頻渲染算法。
3 計算機生成梵高油畫風(fēng)格的視頻處理算法
實現(xiàn)計算機自動,快速地生成梵高風(fēng)格的油畫,需對其在筆刷模型,流線模型進行定義及模擬。同時需要生成油畫所具有的特殊的涂料層疊感,另外還需要使得生成的視頻在顏色特征上與梵高油畫高度相關(guān)及一致。本節(jié)將詳細(xì)介紹算法的設(shè)計與實現(xiàn)原理。
3.1 筆刷模型的定義
筆刷模型可從各種油畫作品中提取或者通過藝術(shù)家使用Photoshop等圖像處理軟件進行后期制作和加工。一個筆刷對象包含如下屬性:長度,寬度,透明度,顏色,中心點,筆刷方向。其中筆刷中心點為隨機落筆點在渲染視頻當(dāng)前幀中的坐標(biāo)位置;筆刷顏色為落筆點處的顏色值;筆刷方向則由渲染視頻幀的結(jié)構(gòu)張量的特征向量的方向構(gòu)成,如圖3所示。
3.2 結(jié)構(gòu)張量的定義及實現(xiàn)
計算輸入視頻當(dāng)前幀基于結(jié)構(gòu)張量的特征值和特征向量,以特征向量的方向作為畫筆的落筆方向進行渲染即可得到具有梵高油畫風(fēng)格的輸出視頻幀。具體計算方法可參考陳添丁等的工作。
圖4為通過運用LIC方法對輸入圖像的結(jié)構(gòu)張量進行卷積操作獲得的流場圖。通過實驗發(fā)現(xiàn),圖像的結(jié)構(gòu)張量能較好的反映圖像的流場特征。運用圖像的結(jié)構(gòu)張量及其特征向量的方向作為筆刷的繪制方向能較好的模擬具有梵高繪畫風(fēng)格的圖像,該方法也可拓展到對視頻的繪制渲染方而。endprint
以下為基于OpenCV的計算結(jié)構(gòu)張量的特征向量及其方向的代碼實現(xiàn)。
computeBrushDirection(const Mat& frame,Mat& direction){ vector《loat> tensor,
computeTensor(frame, tensor);
vector
fioat* tensor_data= tensor.data();
fioat* eig_data 2 eig.data();
eigen2x2(tensor_data, eig_data, tensor.size()/3);
direction.create(frame.rows, framecols, C.V_32F);
for (inti=0;i for (int.j=O;j int index=6*(i*w+j); float arg= atan2f(eig_data[index+3], eigdata[index+2]); a rg /=3.1415926; directionat } } } 3.3 油畫涂料層疊感的生成 本文在brunp-mapping技術(shù)思想的啟發(fā)下對簡單的光照模型進行改進,通過計算機生成了具有色彩層疊感效果的油畫繪制圖像。光照模型的推導(dǎo)過程可參考趙楊,錢文華的研究工作。本節(jié)設(shè)計的基于圖像的光照模型形式化為 P(ij)= Ieke+ Ip [kd cosθ+kscosmα](5) 為了提高運算速度,能快速對輸入的視頻幀進行油畫涂料層疊感的渲染,本文運用GPU對視頻幀進行并行加速渲染。以下是對油畫涂料層疊感算法的偽碼實現(xiàn)。 double computeEmboss() { double azimuth= 20.0: double elevation= 45.0; double Nx=O,Ny=O,Nz=O,NdotL=O: double Lx, Ly, Lz double shade=O,background=O; Lx= cos(azimuth)* cos(elevation)*pixelScale; Ly= sin(azunuth)*cos(elevation)*pixelScale; Lz= sin(elevation)* pixelScale; Nz =1530/3: background= Lz; Nx= SobelX; Ny= SobeIY; if( Nx—O&&Ny==O) shade= background; else if( (NdotL= Nx*Lx +Ny*Ly +Nz*Lz) shade=O: else shade= NdotL/sqrt(Nx*Nx+ Ny*Ny+NZ4NZ、: return shade; } 3.4 色彩傳輸與轉(zhuǎn)換 為了使光照渲染后的輸出幀從視覺感知上與其他名家的油畫作品相似。本節(jié)通過線性映射,使得輸入視頻幀各顏色通道與參考圖各對應(yīng)通道分布一致,如圖8所示。為了降低各通道之問的相關(guān)性,需在lαβ顏色空問中進行操作,具體實現(xiàn)原理可參考文獻[12]: 4 總結(jié) 運用計算機技術(shù)模擬生成具有梵高風(fēng)格的視頻圖像效果,進一步拓寬了計算機動畫的創(chuàng)作領(lǐng)域。實驗表明,運用本文設(shè)計的算法模擬具有梵高風(fēng)格油畫的表現(xiàn)技法,其相似度較高,同時有著制作成本低,制作周期短的特點。 參考文獻 [1]秦芳.傳統(tǒng)文化背景下的中國意象油畫[D].河北:河北師范大學(xué),2010:1-38. [2]李芟.計算機圖形藝術(shù)在油畫創(chuàng)作中的運用[D].遼寧:沈陽師范大學(xué),2014: 1-24. [3]李春生,袁玉珍.油畫創(chuàng)作中計算機圖像處理技術(shù)的應(yīng)用[J].電子測試,2013No.11:284-285. [4]顏彬彬.圖像(視頻)風(fēng)格化技術(shù)研究[D].浙江:浙江工業(yè)大學(xué),2011:1-65. [5]黃華,臧或,張磊,圖像和視頻油畫風(fēng)格化研究[J].計算機科學(xué),2011,38(06):1-6. [6]趙楊,徐丹,運用流體模擬的油畫生成方法[J].軟件學(xué)報,2006,17 (07):1571-1579. [7]錢小燕,肖亮,吳慧中,一種流體藝術(shù)風(fēng)格的自適應(yīng)LIC繪制方法[J].計算機研究與發(fā)展,2007,44 (09):1588-1594. [8] Holger Winnemoeller., Sven C.Olsen.. Bruce Gooch. Real-t ime video abs traction [J]. ACM Transactions on Graphics (TOG) -Proceedings of ACM SIGGRAPH 2006, 25 (03): 12 21-12 26. [9]Yang Zhao, Dan Xu. Automatic and Real-Time Video Stylization[C]. In Proceedings of lOth IEEE International Conference on Computer- Aided Design and Computer Graphics2007, 2007: 505-508. [10]陳添丁,金煒煒,陳英旦,吳滌.真實圖像轉(zhuǎn)換的水墨圖像繪制模擬[J].中國圖像圖形學(xué)報,2014,19 (06): 946-95. [11]錢丈華.重要度引導(dǎo)的抽象藝術(shù)風(fēng)格繪制[J].計算機輔助設(shè)計與圖形學(xué)學(xué)報,2015, 27 (05): 915-923. [12] Reinhard E,Ashikhmin M,Gooch B,Shirley P,Color transfer between images.IEEE Computer Graphics and Ap plications, 2001, 21(05): 34-41.