與神經網路相比,你對P圖一無所知

栗子 發自 凹非寺

量子位 出品 | 公眾號 QbitAI

「大神,可以幫我把羊蜜街拍P成我的臉么?哦對,不光是這樣,還要像羊蜜喲…」

從一張照片里取出某個元素,再把它神不知鬼不覺地混入另一張圖片里,似乎是一件很有難度的事情。畢竟,分分鐘就會產生魔性的拼貼效果,不管是手動操作,還是AI的計算。

而如果「另一張圖片」是指人類的畫作,就更加不容易了。

不過,康奈爾大學和啊逗比的大神們生產了一種演算法,能把各種物體融合進畫作里,且毫無PS痕迹。

大量藝術家的心血,甚至藝術家自己,都慘遭它的毒手:

要啥自行車

蒙娜憨莎·豆

畢加炳

給你買了個biao

樊 · 蔡康永 · 高

是什麼演算法,如此喪心病狂?

記住這個名字:Deep Painterly Harmonization。

在康奈爾和啊逗比的P圖大神們看來,現存的全局風格化演算法都太弱了。

它們確實能搞定整張照片的風格遷移。把畫作和被畫傳染的圖片擺在一起,可能不會看出太大的問題。

介紹一下,這是我的新裝備

但要像上圖這樣,把美隊的盾牌融合到義大利畫家Onofrio Bramante的作品裡,微小的差異看上去就會很明顯。全局風格遷移的表現也比較謙虛 (如左三) 。

無論是去除邊界線、匹配色彩還是細化質地,都很難讓粘貼部分擁有畫作的原始風格。

我們不一樣

於是,這群大神覺得,他們需要搭建局部風格化的神經網路。

大的方略就是,把畫作相關部分 (神經元響應) 的特徵統計,遷移到外來物體的對應位置上——關鍵在於選擇,哪些東西才是應該遷移的。

Gatys有隻幾何貓

小夥伴們以Gatys團隊發表的風格遷移技術為基礎,用VGG搭建了一個two-pass演算法,還額外引入了一些風格重建損失 (Reconstruction Losses) 來優化結果。

來來來,演算法詳情要一步一步看。

第一步 (First Pass):粗略圖像協調 (單一尺度)

大致調整外來元素的色彩和質地,和畫中語義相似的部分對應。要在神經網路的每一層,分別找到相鄰最近的神經補丁,和粘貼部分的神經元響應匹配起來。

卷福麗莎,迷人的眼神

退一步,海闊憑魚躍。先不需要太糾纏圖像的質量,因為一定程度上犧牲品質,團隊就可以設計出一個強大的演算法,適應多種多樣的畫風。

用Gram矩陣來計算風格重建損失,便可以將粗略協調的版本優化一下。

不計風格損失的後果

這裡得到的是一個中間產物,不過風格已經和原畫作很相似了。

第二步 (Second Pass):高品質細化 (多尺度)

有了第一步的基礎,此時開始對圖像質量提出嚴格要求,便是順理成章。

這一步,先要在一個負責捕捉質地屬性的中間層集中火力,生成一個對應關係圖 (correspondence map) ,來剔除空間異常值 (spatial outliers)。

你沉在,我昏黃的畫布里

然後,對擁有空間一致性的對應圖進行上採樣 (upsample) ,進入神經網路更加精細的層次里。這樣可以保證,對每一個輸出位置來說,所有尺度上的神經元響應,都來自畫中的同一位置。

如此一來,畫面便能擁有更加連貫的質感,看上去自然許多。

後處理

經過Two-Pass演算法的洗禮,中大尺度上看,圖像質量幾乎無懈可擊;但在精細尺度上,可能還有不夠準確的情況存在。也就是說,可遠觀而不可__焉 (填空題:10分)。

於是,後處理也要兩步走:

色度降噪

高頻失真的現象,主要作用在色度通道,對亮度並沒有太大影響。

發現了這一特點,團隊將圖像轉換成CIELAB色彩空間;再在Guided Filter里,以亮度通道作為嚮導,來過濾ab色度通道。

工作還是生活,這是一個問題

這個方法有效改善了高頻色彩失真的情況,但有可能捅出更大的漏洞。然後…

補丁合成

就有了第二步,來確保輸出的每個補丁都出現在畫面中。用PatchMatch給每一個補丁找到相似的補丁。再為所有畫風重疊的補丁取平均值,以此重構output,就可以保證畫面里不要生出新的內容。

不過,這裡的副作用是會柔化細節,於是又要請出Guided Filter把圖像分成底層 (Base Layer) 和細節層 (Detail Layer) ,來削弱柔化效果。

畫風虐我千百遍,我,選擇狗帶

局部遷移療效顯著

實驗結果表明,轉移一些區域特徵統計的集合,要比轉移很多獨立位置的特徵統計,效果要好得多。神經網路反應的對應關係圖幫了大忙。

局部風格遷移的演算法,保障了統計學意義上的空間一致性和跨尺度一致性。得到天衣無縫的拼圖質量,這兩個「一致性」功績斐然。

金拱門的八度人生

以後,拼圖少年們大概可以拋棄全局風格遷移演算法了。放眼局部,你的腦洞可以綻放得慘無人道。

不過,比起難以察覺的入侵,我還是醉心於這種360度全死角的魔性p圖。

萬能的拷貝,萬能的粘貼

更酸爽的論文傳送門:

cs.cornell.edu/~fujun/f

這篇論文的作者包括:Fujun Luan(欒福軍)、Sylvain Paris、Eli Shechtman、Kavita Bala等人。他們還把代碼開源了,還能看到更多觸目驚心的例子:

github.com/luanfujun/de

順便提一下,論文一作欒福軍,2015年本科畢業於清華,目前在康納爾大學攻讀博士學位。曾在Facebook、Face++、Adobe等公司實習。

藝術照小哥哥一直在鑽研視覺的玄妙。

比方說曾經被譽為「下一代PS」的Deep Photo Style Transfer,也是欒福軍的研究成果。Deep Photo能實現像素級的風格遷移。

也是非常酷炫。

One More Thing

如果你暫時不方便去GitHub上圍觀,我們還搞了一個小型AI高手P圖展。在量子位公眾號(ID:QbitAI)對話界面,回復「高手」二字,即可開始參觀。

歡迎大家關注我們的專欄:量子位 - 知乎專欄

誠摯招聘

量子位正在招募編輯/記者,工作地點在北京中關村。期待有才氣、有熱情的同學加入我們!相關細節,請在量子位公眾號(QbitAI)對話界面,回復「招聘」兩個字。

量子位 QbitAI · 頭條號簽約作者

?? ? 追蹤AI技術和產品新動態

推薦閱讀:

先睹為快:神經網路頂會ICLR 2018論文接受結果速覽
基於Numpy實現同態加密神經網路
讀取腦磁波,神經網路知道你在「猶豫不定」
CS231n Assignment2

TAG:神經網路 | 人工智慧 | 深度學習DeepLearning |