用風格遷移搞事情!超越藝術字:卷積神經網路打造最美漢字

用風格遷移搞事情!超越藝術字:卷積神經網路打造最美漢字

來自專欄深度學習搞事情31 人贊了文章

曾幾何時,小學的我們上機課時最喜歡擺弄的就是word 的藝術字,醜陋的效果並不能阻擋我們在每個角落塞進七彩的字體.......

「七彩」的藝術字

但是時代不同了,我們現在已經有了各種先進的PS軟體,我們已經可以作出這樣的藝術字:

各種PS藝術字

但是,我們還能更進一步嗎?將設計師從繁複的PS工作中解放出來,用深度學習的方法設計藝術字,自動生成更加有意思的藝術字嗎?

答案當然是可以!

我們實際上已經有了CNN(卷積神經網路)以及基於其的風格遷移,我們只需要做的是用一張漢字作為原始輸入,用一張對應的圖片作為風格,遷移上去即可,聽上去真是簡單呢,事不宜遲,題主這就打開了github,下一個模型開跑,結果如下:

花(風格圖片)

花的「花」

看到結果,不禁讓人感到震撼,CNN網路學會了從圖片裡面剝離出「葉子」和「花朵」兩種語義,並且將原始的圖片中的背景和漢字部分分開,分別進行繪製。最後的效果就是花海中的文字,而文字恰好由葉子構成,唯美的畫面就像大自然的鬼斧神工,處處透露著宇宙的和諧……不行我編不下去了……

最後的結果並不如人意,花顏色太奇怪,葉子黑得蔫了吧唧的,我們還是得深入研究才行。

打開代碼,我們發現代碼中使用了Keras提供訓練好的的VGG19模型,使用其中的幾層卷積層作為風格損失,還使用最後一層卷積層作為內容損失,結果並不怎麼樣。於是,我們分別實驗了六層卷積層,分別標記為A-F層,這些作為風格損失的情況:

VGG19的A-F層卷積層

六層分別作為風格損失的情況

從這些圖片可以看到,卷積網路確實實在逐層抽象,開始時,層A的卷積核還在尋找顏色,後來,BC開始尋找由顏色和線條構成的抽象的「花」「葉」的形狀,D、E、F則是逐漸走向識別物體的形狀輪廓,摒棄色彩。從某種意義上,我們補充了CNN的可解釋性問題。

這啟發我們要結合色彩與輪廓,形狀與顏色並重地解決問題,於是經過調節LOSS函數,測試了各種層的結果如下:

用多層的組合作為風格損失的結果,最後我們選擇了ABC層作為最終結果

進一步地,我們還可以提升效果:加入隨機擾動,加入圖片增強:

加入隨機擾動,平滑效果,以及一系列圖片增強的結果

怎麼樣?效果相當漂亮吧?

所有代碼均已開源,對細節感興趣的請移步github:

github-基於CNN風格遷移,超越藝術字?

github.com

我們已經添加了一些生成圖片的介面,方便大家使用,此外還提供幾十張風格圖片供您探索,如果覺得有意思的話,請別忘了點一下Star!。

還在等什麼?趕緊放開你的想像力!盡情地創造吧!

下面是我們提供的一系列sytle圖片的例子,供您欣賞!


推薦閱讀:

芮勇助陣《最強大腦》,聯想智能生態如何做到「水滴石穿」
「AI售前」,一根被忽略的敏感神經|甲子光年
德國製造和中國製造區別究竟在哪?
深度強化學習的弱點和局限
人工智慧 | 2,深度學習之父Hinton備受矚目的Capsule論文今正式公布,自己創立的深度學習理論被自己革新

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