相信大家對將照片卡通化的圖像處理功能都不陌生,通過軟體後臺對所選照片進行一定處理,將原圖變成了一張具有卡通風的圖片。市面上已有不少具備卡通化功能的軟體以及app,很多都可以「一鍵」輕鬆生成用戶想要的效果,方便處理使用。
目前該技術又迎來了新一輪的進步,只需一鍵上傳你拍攝的圖像或視頻,就可以在很短時間內將它卡通化。其核心技術來自CVPR 2020的投稿論文,其中提出了用白盒卡通表徵實現圖像卡通化。這項工作利用生成對抗網絡(GAN)框架來學習提取的表示並將圖像卡通化,已在GitHub獲得1400個Stars。作者稱,他們還計劃很快將開源所有代碼。下一步,他們的目標是通過將模型移植來適應實時視頻推理。
圖像卡通化挑戰重重
卡通相信大家都不陌生,從小時候的動畫片開始發展至今,已經成了一種流行的藝術形式,且廣泛應用於各種場景。現代卡通動畫工作流程允許藝術家使用各種資源來創作內容。通過將真實世界的圖片轉換為可用的卡通場景素材,創造了一些著名的漫畫,該過程被稱為圖像卡通化。
但是圖像卡通化聽起來簡單,實現起來可不容易。各種卡通風格需要基於特定任務或者先驗知識才能開發可用的算法。例如,某些卡通工作流程更加關注全局調色板主題,但是線條的清晰度卻是次要問題。而在其他一些工作流程中,稀疏和乾淨的色塊在藝術表達中起著主導作用,但是主題卻相對較少強調。
這些變量因素給黑盒模型帶來了不小的挑戰。例如,當面對不同用例中藝術家的不同需求時,僅靠更改訓練數據集是無濟於事的。因此有了用於圖像卡通化的CartoonGAN網絡,其中提出了一種具有新穎邊緣損失的GAN框架,並在某些情況下取得了良好的效果。但是,使用黑盒模型直接擬合訓練數據會降低其通用性和風格化質量,在某些情況下會導致較差的效果。
Joey doesn't share food 視頻卡通化效果
進階版GAN優化卡通質量
在該論文中,作者提出了一種基於GAN的白盒可控的圖像卡通化框架,該框架可以從真實圖像中生成高質量的卡通化圖像。輸入圖像被分解為三個卡通表徵:輪廓表徵,結構表徵和紋理表徵。然後使用相應的圖像處理模塊來提取用於網絡訓練的三個表徵,並且通過調整損失函數中每個表徵的權重來控制輸出風格。最後通過廣泛的定量和定性實驗驗證了文中方法的性能。同時消融實驗也證明了每個特徵表示的作用。
作者通過對人們繪畫的行為和不同風格的卡通形象進行了大量的觀察,並諮詢了少數幾位卡通藝術家,將圖像分解為幾種卡通表徵方式,並將它們列出如下:
第一步:提取一個帶權重的低頻內容表示圖片的輪廓特徵(surface representation)。這個低頻內容保留了邊緣/紋理等細節。這與藝術家畫卡通時通常先描繪形狀類似。
第二步:針對輸入圖像,提取一個分割圖,並且在每個分割區域上使用一個自適應的色彩算法來生成結構表徵(structure representation)。這是模仿畫卡通畫時,邊界清晰且色塊稀疏的膠片(celluloid)風格。
第三步:紋理表徵(texture representation)是用來保持繪畫細節和邊緣的。將輸入圖像轉換為僅保留相對像素強度的圖像,然後引導網絡獨立地學習高頻紋理細節。這與藝術家素描與上色是獨立的兩個過程類似。
結果表明,該方法可以生成色彩和諧,令人愉悅的藝術風格,清晰銳利的邊緣以及明顯更少的偽影。
目前該方法在圖像視頻卡通化中的應用已經在Cartoonize軟體上投入使用,以後極有機會推廣至更多平臺,這無疑是卡通愛好者的福音。AI通過不斷的加強從而為人類帶來新的體驗已經不是新鮮事了,期待它為我們帶來的一個新的動畫世界。
部分素材來源:網絡