AI靠語意理解把照片變抽象畫:無需相應數據集 只畫4筆也保留神韻

只用幾筆,如何勾勒一隻動物的簡筆畫,很多人從小都沒整明白的問題 —— 如今 AI 也能實現了。下面圖中,左邊是三張不同的動物照片,右邊是 AI 僅用線條來描出它們的外形和神態。從32筆到4筆,即使大量信息都抽象略去了,但我們還是能辨識出對應動物,尤其是最下面的貓貓,只需4筆曲線也能展示出貓的神韻:

AI靠語意理解把照片變抽象畫:無需相應數據集 只畫4筆也保留神韻

AI靠語意理解把照片變抽象畫:無需相應數據集 只畫4筆也保留神韻

再看這匹馬,抽象到最後只保留了馬頭、馬鬃和揚蹄飛奔的動作,真有點畢加索那幅公牛那味兒了。

AI靠語意理解把照片變抽象畫:無需相應數據集 只畫4筆也保留神韻

AI靠語意理解把照片變抽象畫:無需相應數據集 只畫4筆也保留神韻

更神奇的是,其背後的模型 CLIPasso 並沒有在速寫數據集上訓練 —— 等於說,沒“學”過怎麼畫抽象畫,按照文字描述就能完成簡筆速寫。

要知道,日常速寫都比較抽象,即使是人來畫,要想抓住物體的“靈魂”,也需要經過很久的訓練。那為什麼這個 CLIPasso 甚至連速寫畫數據集訓練都沒做,就能 get 到抽象簡筆畫的“靈魂”呢?

CLIPasso 如何畫抽象畫

其實 AI 畫抽象簡筆畫比人更難。既要準確地理解語義,又要在幾何上相似,才能讓抽象畫看起來有“像”的感覺。

具體實現上,模型會根據圖像的特徵圖先生成初始線條的位置,然後靠 CLIP 構建兩個損失函數,來控制抽象畫幾何相似、語義理解準確。

其中 CLIP 就是 OpenAI 發布的一個重排序的模型,它會通過打分排名來篩選出和文字匹配度最高的圖片。這樣一來,CLIPasso 的整體結構就比較清晰了:

AI靠語意理解把照片變抽象畫:無需相應數據集 只畫4筆也保留神韻

例如我們要畫一匹馬,首先通過特徵圖(saliency)標記一些初始線條(S1,S2…Sn)的位置。然後通過光柵化(Rasterizer)把線條投影到成像平面:

AI靠語意理解把照片變抽象畫:無需相應數據集 只畫4筆也保留神韻

接下來就是優化線條參數了。把初始圖像導入 CLIP 模型,計算幾何損失(Lg)和語義損失(Ls)。其中語義損失通過餘弦相似度來判斷兩圖的差異,而幾何損失通過中間層來控制。

AI靠語意理解把照片變抽象畫:無需相應數據集 只畫4筆也保留神韻

這樣就能保證在準確理解語義的情況下保持幾何準確,再通過反向傳播不斷調整線條參數,直到損失收斂。那速寫的抽象程度是怎麼控制的呢?

就是靠設置線條的數量。同樣畫一匹馬,用 32 筆去畫和只用 4 筆去畫,抽象效果肯定是不一樣的:

AI靠語意理解把照片變抽象畫:無需相應數據集 只畫4筆也保留神韻

最後,我們來看一下 CLIPasso 畫出的畫辨識度怎麼樣。下圖中這個柱形圖代表的是五類動物的辨識準確度。不過在猜測的時候還有第六個選項:這五種動物都不是。

AI靠語意理解把照片變抽象畫:無需相應數據集 只畫4筆也保留神韻

從圖中可以看出,無論什麼動物,在高度抽象的時候(4 筆畫),辨識度都很低,隨着筆畫越來越多,辨識度也會逐漸提高。畢竟這麼抽象的畫,看不出來是啥也很正常。

但是,模型團隊在第二輪測試辨識度時刪除了第六個選項,也就是必須從這五個動物類型中選一個歸類。這時,我們從下面的柱形圖中可以看到,即使是高度抽象的 4 筆畫,辨識度也提高了不少,從 36% 提到了 76%。

AI靠語意理解把照片變抽象畫:無需相應數據集 只畫4筆也保留神韻

這就說明了之前辨認不出是太抽象導致的,AI 畢加索的畫仍然抓住了動物的核心特徵。目前這個模型已經出了 colab 版本,只需在左側文件夾中添加你想要抽象化的圖片,然後運行三個部分即可得到輸出照片。

AI靠語意理解把照片變抽象畫:無需相應數據集 只畫4筆也保留神韻

作者簡介

CLIPasso 團隊成員主要來自洛桑聯邦理工學院、特拉維夫大學等。其中 Jessica 是蘇黎世聯邦理工學院機器人方向的碩士研究生,目前在洛桑聯邦理工學院的計算機視覺實驗室 VILAB 實習。

AI靠語意理解把照片變抽象畫:無需相應數據集 只畫4筆也保留神韻

而 Yale Vinker 是特拉維夫大學計算機科學的博士研究生,對藝術和技術的交叉領域非常感興趣,也難怪 CLIPasso 有這麼豐富的藝術細胞。

(0)
上一篇 2022-03-20 15:02
下一篇 2022-03-20 15:02

相关推荐