为艺术而生的惊艳算法

2020年11月20日09:03:56 9 1,796 °C
摘要

Stylized Neural Painting风格迁移算法

为艺术而生的惊艳算法

一、前言

大家好,我是 Jack 。

上篇文章《感谢有你,写作以来的得与失》的投票结果出来了,图解深度学习基础知识 126 票,票数最多,正在根据大家的投票结果准备文章,敬请期待!

周一,看到 arXiv 新发了一篇非常有趣的论文:「Stylized Neural Painting」。

看着很有意思,文章就先写出来了,这简直就是为艺术而生的算法,看下效果:

为艺术而生的惊艳算法

你没看错,算法根据我们提供的图片自动一笔一划的创作油画

图像风格迁移算法,一直都有人研究,但之前的效果多少差点意思,而这个刚刚发表的「Stylized Neural Painting」效果有了不错的提升。

准备好的你画笔和键盘,今天继续手把手教学。

算法原理、环境搭建、效果实现,一条龙服务,尽在下文!

二、Stylized Neural Painting

论文提出了一种图片转画作的算法,生成的画作效果逼真,风格可控。

与以往图片风格迁移算法不同,算法是根据提供的图片推导作画的每一个笔划,做到了「一笔一划」的作画效果。

设计了新的神经网络渲染器,模拟矢量渲染器的行为,将笔画预测作为参数搜索过程,以最大限度提高输入和渲染输出之间的相似性。

用栅格化网络和阴影网络的双通道神经网络渲染器实现颜色和形状的解耦,该方法生成的图像无论在整体外观还是局部纹理上都具有较高的保真度。

为艺术而生的惊艳算法

右下角小图是原图,大图是算法转换的油画作品。

除了油画风格,还有水彩笔、记号笔的画风:

为艺术而生的惊艳算法

还有颜色或纹理的风格迁移:

为艺术而生的惊艳算法

更详细的内容,可以直接看 paper:

论文地址:https://arxiv.org/abs/2011.08114

三、效果测试

Github 项目地址:https://github.com/jiupinjia/stylized-neural-painting

第一步:搭建测试环境。

根据 Requirements.txt 安装依赖库即可,很简单。

为艺术而生的惊艳算法

没有什么特殊的库。

第二步:下载训练好的模型权重文件,一共有四个模型,我直接打包好了。

我将程序和权重文件都进行了打包,嫌麻烦,可以下载直接使用。

下载地址(提取码:jack):

https://pan.baidu.com/s/1i9OsVHmdIHZG2x3Sch2gBA

第三步:在工程目录,运行程序。

img_path:要输入的图片。

canvas_color:可以理解为画板的背景颜色。

max_m_strokes 和 max_divide:控制笔划的大小,画作最后的细致程度。

renderer:画作风格,可选参数有watercolor、markerpen、oilpaintbrush、rectangle。

renderer_checkpoint_dir:权重文件路径。

最终的生成效果会根据笔划,由少到多,保存在 output 文件夹里。

运行效果:

为艺术而生的惊艳算法

运行在 RTX 2060 super 上,花费大约 5 分钟,最终效果:

为艺术而生的惊艳算法

四、福利(公众号专属)

本次联合「机械工业出版社华章公司」,送 5 本书给大家,规则:从在看点赞分享留言的朋友中抽 5 位。

为艺术而生的惊艳算法

本书是国外 AI “四大名著” 之一,基于 TensorFlow 2 和新版 Scikit-Learn 全面升级,前谷歌工程师撰写。Keras 之父和 TensorFlow 移动端负责人鼎力推荐从实践出发,手把手教你从零开始搭建起一个神经网络。​

五、絮叨

这两天给各位送了不少福利,明天我会联系上榜的小伙伴,发「521」元拼手气红包,记得看微信哦~

图解深度学习等技术教程,还在写,让我好好梳理一番,敬请期待!

我是 Jack ,我们下期见。

文章持续更新,可以微信公众号搜索【JackCui-AI】第一时间阅读,本文 GitHub https://github.com/Jack-Cherish/PythonPark 已经收录,有大厂面试完整考点,欢迎Star。

weinxin
微信公众号
分享技术,乐享生活:微信公众号搜索「JackCui-AI」关注一个在互联网摸爬滚打的潜行者。
Jack Cui

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:9   其中:访客  7   博主  2

    • avatar Lx 来自天朝的朋友 谷歌浏览器 Windows 10 浙江省 电信 1

      有设备要求吗qwq

        • avatar Jack Cui Admin 来自天朝的朋友 谷歌浏览器 Windows 10 北京市 电信

          @Lx 最好有gpu。

        • avatar DODODODO 来自天朝的朋友 谷歌浏览器 Windows 10 中国 移动 0

          一直给我报这个错误AssertionError: Torch not compiled with CUDA enabled,是我torch安装版本和CUDA版本不对等嘛

            • avatar Jack Cui Admin 来自天朝的朋友 谷歌浏览器 Mac OS X 10_14_4 北京市 联通

              @DODODODO 有gpu就用gpu版本的,没有就用cpu版本的。

            • avatar 小蝈 来自天朝的朋友 谷歌浏览器 Windows 10 浙江省杭州市 联通 0

              CPU版本该如何切换呢,一直报错
              Traceback (most recent call last):
              File “demo_prog.py”, line 4, in
              torch.cuda.current_device()
              File “C:\Users\user\AppData\Local\Programs\Python\Python38\lib\site-packages\torch\cuda\__init__.py”, line 366, in current_device
              _lazy_init()
              File “C:\Users\user\AppData\Local\Programs\Python\Python38\lib\site-packages\torch\cuda\__init__.py”, line 166, in _lazy_init
              raise AssertionError(“Torch not compiled with CUDA enabled”)
              AssertionError: Torch not compiled with CUDA enabled

                • avatar Yxhuang 来自天朝的朋友 谷歌浏览器 Windows 10 广西贵港市 移动 0

                  @小蝈 含有.cuda()都删除,不过跑起来太慢了,已经跑了一下午还没画完…….

                • avatar DDDD 来自天朝的朋友 谷歌浏览器 Windows 10 广东省深圳市 电信 2

                  能不能不用百度网盘呀
                  慢死了!
                  :evil:

                    • avatar 茗浅 来自天朝的朋友 谷歌浏览器 Windows 10 浙江省杭州市 联通 0

                      @DDDD 试试 git clone https://github.com/jiupinjia/stylized-neural-painting.git

                    • avatar 胡杨 来自天朝的朋友 谷歌浏览器 Windows 10 上海市 电信 2

                      大佬,请问项目中的依赖包的版本信息是什么呀。我没有对应版本报了好多奇怪的错误….