錢小燕
(南京航空航天大學民航學院,江蘇 南京 210016)
非真實感繪制(Non-photorealistic Rendering,NPR)是計算機圖形學和圖像處理中一個嶄新的課題,屬于計算機藝術的范疇。NPR是計算機科學與藝術的有效融合,以計算機為工具,搭建各種數學模型并設計各種算法,來模擬藝術式的繪制風格。主要目的是將某個對象以簡潔、含蓄、帶有美學特征的方式借助計算機表現出來,也即能在形式上指定一種可展現繪畫作品的方式并隨之編寫生成非真實感繪畫作品的計算機程序[1-3]。
目前,非真實感繪制技術已經能夠實現多種藝術作品的模擬創作,如:水彩畫、各種風格的油畫、中國畫、點畫等;在計算機動畫制作中也有了廣泛的應用,它不僅能夠實現動畫數據作為運動圖像的可視化,也可實現其作為靜態圖像的可視化;非真實感繪制與計算機輔助建筑設計結合,在建筑業也獲得了重要的應用,它們的結合不但可以向用戶展示未來環境中的建筑物,而且可以利用虛擬現實技術進行場景設置,使人們能夠在建筑物建好之前就可以“訪問”它;另外,在醫學領域,非真實感繪制技術可實現醫學數據的可視化;還可實現針對盲人的觸覺繪制等。
基于圖像空間的非真實感藝術繪制工作可分為兩類:一類是計算機自動繪制生成所需的藝術風格圖像,典型算法包括顏色傳輸和基于紋理合成的藝術風格傳輸。另一類是基于過程的物理模擬,即基于畫筆的非真實感藝術繪制。它通過抽象出特定的筆刷模型,使之產生與現實繪畫工具相似的藝術效果。下面進行分類描述。
在NPR中,為了獲得特定的藝術效果,繪制效果的顏色往往是需要考慮的一個重要方面。比如,把一幅普通照片渲染成油畫風格,由于照片顏色可能比較單一,導致整個繪制畫面顏色比較呆板、缺乏生氣,而不能達到油畫般豐富的顏色效果,需要對其進行顏色渲染,增強其顏色效果。有多種方式可以改變圖像的顏色,其基本形式可以用變換T表示:,其中,分別表示變換后的圖像和源圖像;T可以是濾波器,也可以是一個映射或函數關系。近幾年來,統計學已經廣泛應用于視覺信息處理,將T理解為把源圖像的統計信息傳輸至目標圖像是一個全新的思路,也就是顏色傳輸技術。它有效利用了圖像的基本統計信息,變換目標圖像的統計信息,使之與樣本圖像具有相似的統計分布,從而使得兩幅圖像具有類似的顏色特征,達到顏色傳輸的目的。
為了體現顏色空間中的不同特性,人們總結了很多顏色空間模型,但許多顏色空間關聯性都比較強,當編輯圖像的時候,常常需要對像素的3個分量同時修改才不會影響圖像本身具有的自然效果。Ruderman等[4]提出了一種更適合于人類視覺感知系統的空間-ιαβ顏色空間的概念,并給出一個簡單的3×3的矩陣把RGB空間的向量轉換到ιαβ空間,其中,ι表示非彩色通道;α表示黃-藍通道;β表示紅-綠通道。這一空間的3個通道相互正交,對于自然場景,通道間的相關性降到了最小。Reinhard等[5]把這個空間應用到顏色傳輸中,提出了全局顏色傳輸的概念。利用圖像的全局統計特征,對目標圖像的3個通道分別進行修改,使其具有類似于源圖像的統計特征。這一算法對具有單顏色基調圖像的處理比較成功,但對多顏色基調的圖像卻不能獲得自然、真實的傳輸效果。
全局顏色傳輸算法僅將圖像視為二階過程,但人們通過從單個屬性的邊際分布和多個屬性的聯合分布的形狀中得出的結論是:圖像具有較高的峰值,僅僅假定其為二階過程是不夠的。這一發現改變了人們一味地走傳統高斯分析的路子,轉而更多地從圖像中捕獲高階信息。趙國英等[6]利用冪變換和模變換對源數據的斜度和峰度等高階矩進行調整,使之類似于樣本圖像的分布,再結合全局顏色傳輸使得繪制效果的整體光照或部分光照更加類似于樣本圖像的特征,從而使得傳輸效果得到了進一步的改善。
將圖像的峰度和斜度等高階信息引入顏色傳輸中,雖然對全局顏色傳輸算法有所改進,但對相似性較差或包含多個不同顏色區域的圖像仍不能獲得自然的傳輸效果。主要原因在于沒有能夠提供傳輸過程中所需的足夠的空間信息,當源圖像或目標圖像包含多個不同顏色區域時,不能有效分辨出這些區域包含的不同統計信息,從而導致混合傳輸,形成不自然的傳輸效果。就這一問題,Reinhard等[5]提出了一種分而治之的解決方法:從兩幅圖像中取出代表不同對象的若干塊,選擇對應的顏色傳輸塊,對應塊間采用全局顏色傳輸的思想進行顏色傳輸。但該方法仍沒能提供足夠的分區信息,也沒能給出對應塊的選擇標準。
針對以上問題,文獻[7]在以往顏色傳輸算法基礎上,把模糊C-均值聚類算法應用到顏色傳輸中,提出了一種基于模糊C-均值顏色聚類的顏色傳輸算法:利用模糊顏色聚類思想把源圖像和目標圖像分成若干包含不同顏色特征的聚類域;為了獲得匹配域,為每個聚類域設置一個匹配權值參數,根據目標圖像的特征采用不同的權值計算方法;然后根據目標圖像中的匹配權值在源圖像中選取一個與之最接近的域作為匹配域;最后在顏色傳輸過程中,引入隸屬度因子對各聚類域的處理結果進行平滑,解決圖像中存在不確定性信息的情況。與以往顏色傳輸算法相比,基于模糊C-均值顏色聚類思想的顏色傳輸算法能夠獲得更加和諧、自然的傳輸效果。對于相似性較差的圖像,利用模糊聚類的思想,能夠獲得更加有效的分區;通過匹配權值獲得有效的對應模塊,能夠使得傳輸效果更加自然,真實。
圖1給出了各種顏色傳輸算法的實驗效果,目的是將源圖像圖1(a)的顏色特征傳輸至目標圖像圖1(b)。圖1(c)直接應用全局顏色傳輸算法,整個畫面被一層淡淡的黃色籠罩,但樹葉、樹干等都呈現出不真實的黃色。圖1(d)經高階矩調整后,獲得了更加明亮、清晰的傳輸效果,但也不能很好地避免失真情況。但圖1(c)、(d)能呈現出一種陳年老照片的藝術感。圖1(e)為應用模糊C-均值顏色聚類的顏色傳輸算法的傳輸效果??梢钥闯?,圖1(e)較好地繼承了源圖像中各域的顏色特征,樹木、天空等仍保持了比較真實、自然的顏色效果,整個畫面更加清晰,更加接近目標圖像的顏色分布。

圖1 各種顏色傳輸算法的傳輸效果
應用紋理合成技術生成具有特定藝術風格的圖像是基于圖像的非真實感藝術繪制的一個重要方面。這種技術不像基于物理過程的繪制,需要對各種手繪風格圖像的特征進行比較深入的研究和分析,并需要較多的交互工作,對不熟悉繪畫的用戶,要調試出具有較好視覺效果的風格畫很不容易?;诩y理合成的非真實感藝術繪制僅需設定與紋理合成相關的參數便可自動把手繪圖像的風格傳輸至目標圖像,使得目標圖像具有與源圖像類似的藝術風格。
應用紋理合成技術實現兩幅圖像間的藝術風格傳輸的工作仍不是很多。Hertzmann等[8]提出了一種基于類推思想的繪制算法,可以將繪畫風格傳輸到新的實例中。為了獲得具有畫家本人風格特點的繪制效果,該算法需要一對源圖像A,A′和一幅目標圖像B′,其中A是A′的原始參考圖像。算法通過學習源圖像間紋理合成的方法,再將這一方法類推到目標圖像中,從而生成類似于源圖像藝術風格的圖像。當原始參考圖像無法獲得時,文獻[8]采用了對A′濾波的方法得到A,雖然這種方法具有較大的隨機性,不易控制A的調整程度,但仍可獲得比較好的類比效果。徐文華等[9]將紋理合成算法應用在敦煌壁畫虛擬的復原臨摹工作中,取得了較好的效果。文獻[8]和文獻[9]都采用兩種搜索方法來尋找待選點:逼近搜索獲得全局最優的匹配點,經典Ashikhmin算法[10]獲得鄰域相關的待選點。綜合運用這兩種方法雖然能夠獲得不錯的風格傳輸效果,但為了獲得一個匹配點,逼近搜索需要上萬次的迭代,并且源圖像分辨率愈高,迭代次數越多;而Ashikhmin算法也需要幾十次的計算才能獲得一個待選點。因此,為了獲得最終傳輸效果,需要花費幾十分鐘甚至一小時的時間。
逼近搜索和Ashikhmin算法都以L2距離作為相似性度量,而此方法是個不完美的概念性相似度量方法,潛在的平滑高斯模型往往使得合成效果比較模糊,因此需要尋求更好的度量方法來獲得最佳匹配點。文獻[11]以經典Ashikhmin算法為基礎并對其進行改進,提出了一種新的鄰域一致性度量方法,把源圖像和目標圖像及其低頻圖像的統計特性引入相似性度量中,提高了匹配點搜索的效率。此文獻還以隨機產生待選點的方法擴大搜索范圍,同時采用雙向掃描方法進行風格傳輸,解決了Ashikhmin 算法易產生紋元不完整的情況,以及繪制效果中存在可察覺水平邊緣的現象,從而獲得了理想的風格傳輸效果,且收斂速度也大大提高(圖2所示將一幅水杉圖片渲染成斑駁效果)。

圖2 斑駁藝術風格傳輸效果[11]
基于畫筆的繪制(stroke-based rendering,SBR)一直是基于圖像的非真實感藝術繪制的重點。不像基于紋理合成的藝術風格傳輸,僅能較好地實現自然紋理間的風格傳輸,基于畫筆的非真實感藝術繪制可以通過控制畫筆的顏色、形狀、方向等元素產生各種藝術風格,如:素描、水彩畫、油畫、pen-and-ink等風格。這種方法通常模擬畫家的真實創作過程,形成手繪風格圖像。設計SBR算法有兩類方法:貪婪算法和最優化算法:貪婪算法為了與目標目的匹配,貪婪地放置畫筆;最優化算法[12]通過交互地放置畫筆,然后調整畫筆以使得目標函數最小。
到目前為止,已經有兩類最優化算法應用到SBR中:一類是Voronoi算法,另一類是trial-anderror算法。Voronoi算法的中心思想是:應用有效的計算幾何技術控制畫筆的密度分布,使得一組不相重疊的畫筆最終能夠均勻分布到圖像中。應用最優化算法設計SBR程序需要定義能量函數:記p(x,y)代表圖像中像素點位置,ci是質點,也就是畫筆最終所在位置;為標記位,表示點p是否屬于質點ci,最優化程序歸結為能量函數E(I)的最小化問題

Voroni圖[13]可以使得各質點擁有一組與它最近的像素點,但無法使得質點分布達到最優。Lloyd方法[15]對Voroni圖作了改善,通過迭代均值化計算獲得一組質點集,使質點能夠均勻分布在圖像中,從而使得能量函數最小。
以Lloyd方法為基礎,Deussen等[14]首先提出了近似目標圖像灰度分布的點畫算法。先把圖像分成幾個相區別的區域,用半色調算法初始化質點;然后應用Lloyd方法確定質點位置,獲得一組均勻分布的質點;最后用點畫(Stipples)代替這些質點。為了體現圖像灰度變化,點畫大小與目標圖像中對應位置處灰度值成比例。后來,Secord[13]又提出了Stipples風格可以選擇的算法,定義一個密度函數來決定圖像不同區域Stipples的分布情況,用Stipples之間的空間變化代替了大小變化。
Lloyd方法[15]也可用來形成瓦片拼接(tile mosaics)效果。只需根據源圖像對應位置顏色對Voroni圖各區域進行著色,便可產生瓦片拼接效果。但無法產生大小和形狀都很規則的瓦片(tile)。后來,Hausner[16]對此方法做了兩點改進:一是用L1距離代替L2距離產生規則的方形瓦片;二是給圖像建立一個方向域,使得瓦片能夠按照特定的方向放置,這個算法中能量函數修正為

Voroni算法很難考慮顏色信息,也無法處理畫筆重疊問題。trial-and-error算法能較好地解決這些問題。這一算法建議對圖像結構進行修改,如果修改后能夠降低能量函數,那么就采納這一修改建議,否則忽略。Haeberli[17]首次把trial-and-error算法應用到非真實感藝術繪制中,他建議每次繪制時隨機擾動一定數量的畫筆,只有能夠減小繪制結果與源圖像之間差別的擾動才能被接受。后來,Turk和 Banks[18]把trial-and-error算法應用到向量場流水線型可視化中,建議模糊化向量場的流水線型繪制效果,然后把這一結果與一預先定義的常量比較,從而來評估流水線型可視化的質量。
Trial-and-error算法能夠適用于SBR的所有情況,但是需要花費大量的計算時間,而且有時很難找到一個合理的建議機制。實際上,在SBR中用的最普遍的還是貪婪算法。
貪婪算法通過精心設計算法步驟,啟發式地確定畫筆位置,貪婪地放置畫筆直到產生用戶滿意的繪制效果。它不僅要考慮畫筆的顏色、大小、形狀信息,而且要考慮畫筆的走勢等。通過畫筆形狀、大小的不同設計,以及畫筆顏色的不同選擇可以實現多種繪畫風格的模擬繪制。
Haeberli提出了一種簡單的半自動繪畫算法[16]。用戶只需選擇具有一定形狀的畫筆,然后在繪畫區域拖動鼠標,系統就會自動在鼠標點擊區域進行自動繪制。畫筆顏色會從源圖像中相應位置吸取,畫筆方向與圖像梯度方向一致。這個系統中,需要用戶交互地選擇畫筆、確定畫筆位置,算法決定畫筆顏色、走向等。
Litwinowicz[19]對Haeberli算法進行了加強,實現了自動繪制。Litwinowicz算法對源圖像進行預處理獲得方向域,把方向域和源圖像作為輸入數據。算法在一塊空白畫布上隨機產生畫筆位置;然后在確定位置處放置畫筆,畫筆顏色由源圖像確定,方向取自方向域。但Litwinowicz算法只能產生固定大小的畫筆,使得整個繪制效果比較機械,缺乏靈活性;對不同細節也無法進行不同程度的表達,從而不能很好地滿足視覺需求。因此,Hertzmann[20]對Litwinowicz算法進行了拓展,提出了多層繪制的思想。Hertzmann算法把繪制分為多層進行,使用一組具有不同大小的畫筆進行分層繪制,各層以Litwinowicz算法為基礎用一組固定大小的畫筆繪制。對應每一層有一幅參考圖,每層只繪制與參考圖像不一致的區域。隨著繪制層數的提高,畫筆大小不斷減小,從而不斷豐富細節信息。算法通過控制畫筆長度、大小等參數可獲得不同的繪制風格。
后來基于貪婪算法的畫筆繪制基本以Hertzmann的多層繪制思想為基礎,或從畫筆顏色的產生角度,或從計算畫筆大小的角度對其進行改進,以提高算法效率。D Nehab等[21]提出了一種基于多尺度力矩的美術繪制,運用多尺度方案計算畫筆大小,采用參數化機制控制畫筆位置,以及畫筆的分布密度等,從而實現多層繪制。Y Park和K Yoon的算法[22]中,畫筆不直接從源圖像中獲取顏色,而是模擬真實繪畫時所用的調色板,選擇調色板中與源圖像當前位置顏色最接近的作為畫筆顏色。通過調制不同的調色板,此算法也能獲得各種令人欣喜的繪制效果。
最近Y Semet等[23]提出了一種交互的人造螞蟻繪制算法。通過設置多群螞蟻來完成多層繪制任務。螞蟻感覺局部環境的能力以及記憶能力使得它們能夠在環境中適當位置留下印跡(畫筆),即在畫布上進行繪制。當螞蟻的行走步數超過預先設定的最大行走步數,或者跳躍次數超過用戶設定的最大跳躍次數,繪制任務就算完成。所有螞蟻在畫布上留下的印跡即為繪制結果。通過設定不同的印跡形狀、大小、顏色,可以產生不同的藝術效果。這一人造螞蟻繪制算法初步體現了“多智能體繪制”的思想,但沒能給出繪制環境對多智能體的局部激勵機制,以及它們在不同的局部激勵下如何展現不同的行為模式,所以繪制螞蟻仍無法很有效地決定繪制區域需要多大程度上的局部化。文獻[23]在以往基于畫筆繪制算法的基礎上,把多智能體技術引入非真實感藝術繪制中,對基于畫筆的非真實感智能繪制方法進行了研究,以此拓展了基于畫筆繪制的內容。該算法應用多智能體技術的基本原理把繪制過程分解為一個多任務的創作機制,每層繪制看成一個獨立的繪制任務,每個繪制任務由一類繪制智能體完成;各類繪制智能體作為獨立的行為者,能通過自身的感知能力獲取環境局部激勵信息,不斷與繪制環境進行交互,在不同的局部激勵條件下自適應地規劃行為,完成各自的繪制任務。這些智能體并行地在繪制環境中搜索各自的特征像素,并在繪制環境中留下特征繪制信息,從而與其它智能體進行交互,互相協作,形成最終的繪制效果。文獻[24]又嘗試把一種通用的智能技術—蟻群算法(Ant Colony Algorithm, ACA,也稱為蟻群系統(Ant Colony System,ACS))應用到基于畫筆的繪制中。通過設置多個蟻群完成多層繪制(圖3顯示了把一幅芭蕾女孩的照片渲染成類似油畫效果的過程),各個蟻群根據環境中信息素信息自適應地調整自己的行為,并在適當位置留下印跡,從而完成各自的繪制任務。利用蟻群算法的正反饋原理,可以加快可繪制區域的搜索過程;同時繪制螞蟻之間通過不斷的信息交流和傳遞,有利于找到較好的解,不容易陷入局部最優,從而達到全局優化,使得繪制效果比較均勻、自然。

圖3 基于蟻群算法的非真實感繪制[24]
本文回顧了基于圖像的非真實感藝術繪制技術,闡述了其中的理論和方法,用模糊數學、統計學和仿生學的相關理論,分別對非真實感藝術繪制中的顏色傳輸、基于紋理合成的藝術風格傳輸、基于畫筆的繪制等若干問題進行了系統的分析和評論。
非真實感藝術繪制技術開辟了計算機圖形學領域有別于真實感繪制方法的新道路。但并不一定是完美的,NPR仍處于一種不斷發展,需要不斷改進的狀態,今后還需在以下方面做更多的工作:
(1)實時的藝術風格傳輸算法 在基于二維紋理合成的藝術風格傳輸方面,從最開始的需要消耗幾個小時到實時的風格傳輸,已經取得了較大的進展,而應用到視頻處理還需要較長的時間。基于塊拼貼的風格傳輸將有助于在速度上獲得較大的提升。
(2)國畫的模擬創作 非真實感繪制藝術技術已經能夠比較成功地模擬出油畫、水彩畫、素描等多種繪畫風格,開發能夠模擬國畫的創作軟件是一個新的挑戰??梢詮膰嫷念伭咸匦?、擴散規律、光照模型出發進行研究。
(3)交互軟件的開發 提高非真實感藝術繪制的框架性能,提高交互操作能力,發展具有一定應用價值的專業軟件。
(4)客觀的評價標準 非真實感繪制技術著重人們的主觀感受,不像真實感繪制已經具有成熟的評判標準,非真實感繪制作為一門新興的技術仍沒有一個科學的評判標準。目前僅能從繪制效率角度進行評價,如何開發出客觀的數學模型進行評價有待研究。
[1][加]Thomas Strothotte, Stefan Schlechtweg著. 非真實感圖形學-造型、繪制與動畫技術[M]. 葉修梓,萬華根, 張 引譯. 北京: 電子工業出版社, 2004.10-17.
[2]錢小燕, 肖 亮, 吳慧中. 自適應畫筆分布的非真實感繪制[J]. 工程圖學學報, 2006, 27(2): 58-63.
[3]錢小燕, 肖 亮, 吳慧中. 一種流體藝術風格的自適應 LIC 繪制方法[J]. 計算機研究與發展,44(9): 1588-1594.
[4]Ruderman D L, Cronin T W, Chiao C C. Statistics of cone responses natural images: Implications for visual coding [J]. Journal of Optical Society of America,1998, 15 (8): 2036-2045.
[5]Reinhard Erik, Ashikhmin Michael, Gooch Bruce, et al.Color transfer between images [J]. IEEE Computer Graphics and Applications, 2001, 21(5): 34-41.
[6]趙國英, 向世明, 李 華. 高階矩在顏色傳輸中的應用[J]. 計算機輔助設計和圖形學學報, 2004, 16(1):62-66.
[7]錢小燕, 肖 亮, 吳慧中. 模糊顏色聚類在顏色傳輸中的應用[J]. 計算機輔助設計與圖形學學報,2006, 18(9): 1332-1336.
[8]Hertzmann A, Jacobs, E C, Oliver N, et al. Image analogies [C]//Proceedings of SIGGRAPH2001, 2001:327-340.
[9]徐文華, 魏寶鋼, 潘云鶴. 基于紋理合成的圖像藝術風格學習[J]. 武漢大學學報, 2003, 26(3):115-119.
[10]Ashikhmin M. Synthesizing natural textures [C]//Proceedings of 2001 ACM Symposium on Inter-Active 3D Graphics, 2001: 217-226.
[11]錢小燕, 肖 亮, 吳慧中. 快速風格遷移[J]. 計算機工程, 2006, 32(21): 15-17, 46.
[12]Hertzmann A. Survey of stroke-based rendering [J].IEEE Computer Graphics and Applications, 2003,3(4): 70-81.
[13]Secord A. Weighted voronoi stippling [C]//Proc.2ndAnn.Symp. Non-photorealistic Animation and Rendering (NPAR2002), ACM Press, 2002: 27-43.
[14]Deussen O, et al. Floating points: a method for computering stipple drawing [J]. Computer Graphics Forum, 2000, 19(3): 27-43.
[15]Hoff III K, Culver T, Keyser J, et al. Fast computation of generalized voronoi diagrams using graphics hardware [C]//Proceedings of SIGGRAPH99,Computer Graphics Proceedings, Annual Conference Series, 1999: 277-286.
[16]Hausner A. Simulating decorative mosaic [C]//Proc.Siggraph 2001, 2001: 573-578.
[17]Haeberli P E. Paint by numbers: abstract image representations [J]. Computer Graphics, 1990, 24(4):207-214.
[18]Turk G, Banks D. Image-guided streamline placement [C]//SIGGRAPH 96 Conference Proceedings, 1996: 453-460.
[19]Litwinowicz P. Processing images and video for an impressionist effect [C]//Proc. Siggraph 97, ACM Press, 1997: 407-414.
[20]Hertzmann A. Painterly rendering with curved brush strokes of multiple sizes [C]//Proc. SIGGRAPH’98,1998: 453-460.
[21]Nehab D, Velho L. Multiscale moment-based painterly rendering [C]//Proceedings of the Brazilian Symposium on Computer Graphics and Image Processing, 2002: 244-251.
[22]Park Y, Yoon K. Adaptive brush stroke generation for painterly rendering [C]//Proceedings of Eurographics 2004, Short Presentations, 2004: 65-68.
[23]Semet Y, O’Reilly U M, et al.An interactive artificial ant approach to non-photorealistic rendering [C]//The Genetic and Evolutionary Computation Conference(GECCO’04), 2004: 26-30.
[24]錢小燕, 肖 亮, 吳慧中. 一種非真實感繪制的多智能體仿真方法[J]. 系統仿真學報, 2006, 18(10):2836-2839.
[25]錢小燕, 肖 亮, 吳慧中. 一種基于分布均勻度的非真實感蟻群繪制方法[J]. 中國圖像圖形學報,2006, 11(12): 1792-1798.