向量圖形非寫實電腦計算繪製

Vector Graphics Non-photorealistic Rendering


摘要



圖形的非寫實計算繪製是電腦圖學領域中相當成熟的技術,有許多將現實虛擬化的種種應用。伴隨著可微分光柵化器的技術出現,使得不能進行卷積的向量結構也能夠利用梯度下降的方式進行機器學習。 本研究針對浮世繪代表的冨嶽三十六景,探索其進行向量非寫實電腦計算繪製的可能性。透過可微分光柵化器,遍歷關於構成向量圖的形狀選擇、形狀的數量以及迭代的次數所生成的向量非寫實電腦計算繪製結果向量圖。


可微分光柵化器於應用階段僅提供向量路徑之實作方法,本研究根據其工具底層所提供之圓形資料結構,設計適用於圓形之參數,使能夠以向量圓形生成非寫實計算繪製結果。 本研究並進一步產生向量非寫實計算繪製生成過程變化的動畫可縮放向量圖。 實驗結果證實,使用可微分光柵化器進行向量非寫實電腦計算繪製的結果,在色彩表現上遠勝於傳統向量化方法。 除此之外,實驗結果也表現出向量非寫實電腦計算繪製在生成任務上無論是不同圖片大小、色彩與圖片結構的泛用性。






引用文獻

Li 等人於 2020 年提出可微分光柵化器 (Differentiable Rasterizer) 的架構,其主張反鋸齒處理是向量圖光柵化可微分的關鍵,解決了向量圖片的序列指令無法依靠微分來學習的問題。其提出的方法連結了向量與點陣圖片之間的轉換,使機器學習技術能夠使用在向量圖片的學習上,並以提出的可微分光柵化器為基礎,更進一步的推出了將向量圖與點陣圖交叉比對的向量圖編輯方法。










[1] Tzu-Mao Li, Michal Lukáč, Michaël Gharbi, and Jonathan Ragan-Kelley. 2020. Differentiable vector graphics rasterization for editing and learning. ACM Trans. Graph.

系統使用示範

點擊頁首「進入系統」使用 Google Colab,或是從 github https://github.com/hsiaohsc/vgnpr 下載程式碼使用。

觀看更多實驗結果圖片請點擊頁首「實驗結果」。


Step 1. 程式安裝

執行程式儲存格進行程式安裝。


Step 2. 選擇目標圖片

執行程式儲存格後使用圖形介面選擇或上傳目標圖片。本系統支援富嶽三十六景全系列 36 張與八大山人水墨畫 5 張圖片提供選擇。


Step 3. 設定使用參數

執行程式儲存格後使用圖形介面設定使用參數。


Step 4. 執行機器學習程式碼並生成結果

執行程式儲存格後呈現生成結果圖片。


Step 5. 生成可縮放向量圖動畫

執行程式儲存格後生成結果動畫。



實驗結果展示

實驗一、與傳統演算法比較

與 SVG 編輯軟體 Inkscape 使用的 Potrace 演算法進行比較。

實驗二、使用向量路徑

使用彩帶(不封閉向量路徑)與色塊(封閉向量路徑)進行彩帶寬度、形狀數量與迭代回合數參數的實驗。

實驗三、使用向量圓形

使用向量圓形進行半徑寬度、半徑最大寬度限制與形狀數量參數的實驗。

實驗四、富嶽三十六景系列

使用彩帶、色塊與圓形針對富嶽三十六景全系列進行參數泛用性實驗。

實驗五、八大山人系列

使用彩帶、色塊與圓形針對八大山人水墨畫作進行參數泛用性實驗。