更多幹貨內容請關注微信公眾號“AI 前線”,(ID:ai-front)
文字是二維設計的重要視覺元素。藝術家耗費大量時間來設計字形,使得這些字形看上去與其他元素的形狀和紋理等相匹配。這一過程本身就是勞動密集型的工作,藝術家通常只設計標題或註釋所需的字形子集,這樣一來,設計一旦完成,文字就很難再次被修改,其他人也無法直接將已有的字型例項用於自己的專案中。
關於字形合成的早期研究主要集中在輪廓的幾何建模上,它只限於特定的字形拓撲(如不能應用於裝飾性或手寫體字形),不能用於影象輸入。不過,隨著深度神經網路的興起,研究人員開始研究從圖形中進行字形建模的方法。另一方面,綜合與部分觀察相一致的資料是計算視覺和圖形學中的一個有趣問題,例如多視角影象生成、影象完成缺失區域和生成三維形狀。字型資料就是一個提供了樣式和內容的乾淨分解的示例。
在許多生成應用中,條件生成式對抗網路(conditional generative adversarial networks,cGAN )最近的進展取得了很大的成果。然而,它們只能在相當專業的領域內才能做到最好,而不能做到一般的或多領域的風格遷移。類似的,如果直接用於生成字形時,cGAN 模型就會產生顯著的影象偽影。比如,給定如下圖所示的五個字母:
訓練 cGAN 學習上圖 5 個字母的字形風格,然後生成相同風格的 26 個字母,結果並不成功。
我們沒有為所有可能的字型裝飾訓練單一網路,而是設計了多內容 GAN(Multi-Content GAN)架構,為每個觀察到的字符集重新訓練一個定製的網路,只需觀察少量的字形即可。這個模型的思路是用通道內的文字(A~Z)和神經網路層中的風格,將給定的字形風格遷移到看不到的內容。
多內容 GAN 模型由多個 cGAN 堆疊組成,其中一個 cGAN 用來預測粗略的字形形狀,一個 cGAN 用來預測字形最終的顏色和紋理。第一個網路稱為 GlyphNet,預測字形蒙版;第二個網路稱為 OrnaNet,用來對第一個網路生成的字形進行著色和裝飾。每個子網路都遵循 cGAN 的體系架構,其中部分架構會因實現預測字形或裝飾等目的而微調。
下圖是 GlyphNet 的示意圖,揭示瞭如何從一組訓練資料集中,學習字型的風格。GlyphNet 的輸入和輸出是每個字母分配通道的字形堆疊。在每輪訓練迭代中,x1 從 y1 中隨機抽取一組字形子集,其餘的輸入通道清零。
通過這種新穎的字形堆疊設計,神經網路可通過通道資訊獲得不同字形之間的相互關係,從而實現自動風格遷移。如下圖所示,揭示了模型如何從 1500 個字形樣本中學到相關性,並經結構相似性(SSIM)標準進行量化。一次只需觀察一個字母,就可找到 25 個分佈。這些圖顯示了當字母β被觀察到時(藍色)與其他字母而不是β被給出(紅色)時生成字母α的分佈α|β。圖中顯示了兩個資訊最豐富的給定字母的分佈和兩個最不明顯的資訊,分別用於生成 26 個字母。例如,從圖中的第五行可知,字母 F 和 B 在生成字母 E 時最有建設性,與其他字母相比較,而 I 和 W 是包含資訊量最少的字母。另外,O 和 C 是用於構造 G 以及用於生成 P 的 R 和 B 的最具建設性意義的字母。
因此,就算只觀察到少數幾個字母的任何想要的字型,經過預訓練的 GlyphNet 會根據這些字母的風格生成全部 26 個 A~Z 的字形。但是,我們應該如何實現風格遷移呢?第二網路 OrnaNet 採用這些生成的字形,Multi-Content GAN 對這些資料經過重複的轉換,如下圖中,用 T 表示灰度通道重複的步驟,之後 OrnaNet 再用 cGAN 生成滿足預期的顏色和裝飾。OrnaNet 的輸入和輸出是批量的 RGB 影象,而不是堆疊,其中每個字母的 RGB 通道,作為影象被反覆填充進 GlyphNet 生成的相應灰度字形中。OrnaNet 中也被填進多個正則項(regularizer),用於彌補生成字母的掩碼與相應字形的偏差。
下面是我們演示使用單個詞中給出的字型樣式的示例句子。
另外,這裡是 OrnaNet 預測的逐步過程:
參考文獻
[1] Phillip Isola, Jun-Yan Zhu, Tinghui Zhou, and Alexei A. Efros. "Image-to-Image Translation with Conditional Adversarial Networks." CVPR 2017.
[2] Samaneh Azadi, Matthew Fisher, Vladimir Kim, Zhaowen Wang, Eli Shechtman, and Trevor Darrell. "Multi-Content GAN for Few-Shot Font Style Transfer." CVPR 2018.
原文連結:
http://bair.berkeley.edu/blog/2018/03/13/mcgan/
更多幹貨內容請關注微信公眾號“AI 前線”,(ID:ai-front)