為藝術(shù)而生的驚艷算法

一、前言
大家好,我是 Jack 。
周一,看到 arXiv 新發(fā)了一篇非常有趣的論文:「Stylized Neural Painting」。
看著很有意思,文章就先寫出來了,這簡直就是為藝術(shù)而生的算法,看下效果:

你沒看錯,算法根據(jù)我們提供的圖片,自動一筆一劃的創(chuàng)作油畫!
圖像風(fēng)格遷移算法,一直都有人研究,但之前的效果多少差點意思,而這個剛剛發(fā)表的「Stylized Neural Painting」效果有了不錯的提升。
準備好的你畫筆和鍵盤,今天繼續(xù)手把手教學(xué)。
算法原理、環(huán)境搭建、效果實現(xiàn),一條龍服務(wù),盡在下文!
二、Stylized Neural Painting
論文提出了一種圖片轉(zhuǎn)畫作的算法,生成的畫作效果逼真,風(fēng)格可控。
與以往圖片風(fēng)格遷移算法不同,算法是根據(jù)提供的圖片推導(dǎo)作畫的每一個筆劃,做到了「一筆一劃」的作畫效果。
設(shè)計了新的神經(jīng)網(wǎng)絡(luò)渲染器,模擬矢量渲染器的行為,將筆畫預(yù)測作為參數(shù)搜索過程,以最大限度提高輸入和渲染輸出之間的相似性。
用柵格化網(wǎng)絡(luò)和陰影網(wǎng)絡(luò)的雙通道神經(jīng)網(wǎng)絡(luò)渲染器實現(xiàn)顏色和形狀的解耦,該方法生成的圖像無論在整體外觀還是局部紋理上都具有較高的保真度。

右下角小圖是原圖,大圖是算法轉(zhuǎn)換的油畫作品。
除了油畫風(fēng)格,還有水彩筆、記號筆的畫風(fēng):

還有顏色或紋理的風(fēng)格遷移:

更詳細的內(nèi)容,可以直接看 paper:
論文地址:https://arxiv.org/abs/2011.08114
三、效果測試
Github 項目地址:https://github.com/jiupinjia/stylized-neural-painting
第一步:搭建測試環(huán)境。
根據(jù) Requirements.txt 安裝依賴庫即可,很簡單。

沒有什么特殊的庫。
第二步:下載訓(xùn)練好的模型權(quán)重文件,一共有四個模型,我直接打包好了。
我將程序和權(quán)重文件都進行了打包,嫌麻煩,可以下載直接使用。
下載地址(提取碼:jack):
https://pan.baidu.com/s/1i9OsVHmdIHZG2x3Sch2gBA
第三步:在工程目錄,運行程序。
python demo_prog.py --img_path ./test_images/apple.jpg --canvas_color 'white' --max_m_strokes 500 --max_divide 5 --renderer oilpaintbrush --renderer_checkpoint_dir checkpoints_G_oilpaintbrush
img_path:要輸入的圖片。
canvas_color:可以理解為畫板的背景顏色。
max_m_strokes 和 max_divide:控制筆劃的大小,畫作最后的細致程度。
renderer:畫作風(fēng)格,可選參數(shù)有watercolor、markerpen、oilpaintbrush、rectangle。
renderer_checkpoint_dir:權(quán)重文件路徑。
最終的生成效果會根據(jù)筆劃,由少到多,保存在 output 文件夾里。
運行效果:

運行在 RTX 2060 super 上,花費大約 5 分鐘,最終效果:

四、絮叨
圖解深度學(xué)習(xí)等技術(shù)教程,還在寫,讓我好好梳理一番,敬請期待!
我是 Jack ,我們下期見。
原文地址:https://mp.weixin.qq.com/s/BnuNQYk4AXbyQpZFwu02qg
文章持續(xù)更新,可以微信公眾號搜索【JackCui-AI】第一時間閱讀,本文 GitHub?https://github.com/Jack-Cherish/PythonPark?已經(jīng)收錄,有大廠面試完整考點,歡迎Star。