图片代码转换器 开源 神经照片编辑器:分分钟实现无损风格转换

栏目:国内 2021-09-30 10:01:17
分享到:

全球人工智能

提交材料:news@top25.cn

感知图像编辑器可以大规模修改图像的语义层次

图像生成模型生成的图像真实感逐渐提高,这让人们意识到生成网络的目的远不止是生成图像。

本文以《基于内省对抗网络的图像编辑器》一文为基础。本文作者提出了一种感知图像编辑器,它是一种图像编辑界面,可以利用生成神经网络的能力,在较大的语义层次上对图像进行合理的修改。为了在不损失特征属性的情况下实现精确重建,作者创新性地提出了一种结合GAN和VAE的内省对抗网络。通过使用基于权重共享的扩展卷积计算块,该模型可以有效地获得远程依赖,并通过一种新的权重正则化方法——正交正则化来提高泛化性能。作者在CeleA、SVHN和CIFAR-100数据库上验证了模型的有效性,并生成了具有较高视觉逼真度的样本和重建图像。

以下是神经照片编辑器效果的演示视频:

本文将从四个部分介绍这项工作:NPE,伊恩网络结构和误差函数,实验结果和代码实现。

基于内省对抗网络的神经图像编辑器

在神经照片编辑器界面,原图在中间,红蓝色块可见隐藏空,可以直接操作。

NPE的核心思想是什么?

用户选择画笔的大小和颜色,然后在输出图像上绘制。该网络不改变独立像素,而是将局部图像块与所需颜色之间的差异传播回去,然后在hidden 空之间采用梯度下降法,使它们之间的差异最小化。这一步产生的全局连贯变化在用户要求颜色变化的情况下具有语义意义。

例如,如果用户有一张肤色白、发色深、美艳锐利的人像,如果额头被涂成深色,系统会自动将头发添加到相应的区域。类似地,如果用户的图像是一个闭上嘴微笑的人,用户可以通过在嘴部区域涂上亮白色来产生笑容。

IAN可以使生成的图像更加逼真

为了使生成的网络产生生动的图像,实现高质量的重建而不丧失表现力,作者提出了IAN,它是VAE和GAN创新结合的产物。这两个目标之间有一个典型的设计折中,与隐藏空的大小有关:高维隐藏空往往学习的描述性特征较少,但可以产生更高质量的重构。

与VAE/GAN类似,作者将自动编码器的解码网络视为GAN的生成网络,但作者将编码器和鉴别器集成为单个网络,而不是训练单个鉴别器网络。IAN的中心思想是,与通过最大概率训练的编码网络学习的特征相比,通过判别训练网络学习的特征更具表现力,更适合于推测。

伊恩网络图:

作者使用GAN的鉴别器D作为推理子网的特征提取器。e是鉴别器最终卷积层上的全卷积层。利用生成网络G,推导出用于图像重建的隐藏变量值Z E = Q和用于正常随机图像生成的样本随机值Z P。

三个错误函数:

1、Limg:像素级别重构误差,作者选择了L2重建误差,因为它具有更高的平均梯度。1.Limg:像素级重建错误。作者选择L2重建误差是因为它具有较高的平均梯度。

特征:特征级重建误差,由鉴别器隐藏层空之间原始图像和重建图像之间的L2差估计。

2.Ladv:三值对抗误差,作者对其进行了改进,使鉴别器可以将样本标记为真,生成并重构。

3.IAN网络的实现:网络的基本结构与DCGAN相同,在生成器中加入了多尺度扩展卷积模块,在鉴别器中加入了最小批量样本鉴别。

数据库:CelebA和SVHN样本

实验结果:

CelebA和SVHN数据库的重建和插值结果。最外面的图像是原始图像,相邻的图像是重建图像。

如何用代码构建神经照片编辑器?

生成神经网络编辑自然照片的简单处理界面;

安装步骤:

要运行感知图像编辑器,您需要安装:

Python,最好是2.7版本。您也可以使用Python2的早期版本,但是Python3在这里不兼容

开发版

千层面,开发版

强烈建议使用CuDNN加速,但它不是依赖项

Numpy、scipy、PIL、Tkinter和tkColorChooser,这些库通常由python带来

运行NPE:

默认情况下,NPE在IAN_simple上运行。这是一个缩小的IAN网络,删除了MDC和RGB-Beta块。它不需要标签就能运行,在笔记本GPU上需要1GB内存。

在windows系统中,您需要创建一个. anorc文件,并设置标志FLOATX=float32。

如果是linux系统,可以在命令行前添加:茶诺_FLAGS=floatX=float32

没有cuDNN加速,只需要把NPE.py文件第56行的dnn=True改成dnn=False。目前作者只对IAN_simple版本设置了不使用cuDNN的选项。

运行代码:

如果您想使用不同的模型,只需在NPE.py中编辑命令“配置路径”

您可以使用任何模型来使用推理机制。

相关说明的操作:

您提取一种颜色并将其绘制在图像上,或者将其绘制在隐藏空之间的画布上

长水平滑动条用于控制隐藏层笔刷的大小,较小的水平滑动条用于控制隐藏层和主图像笔刷的大小

您可以从celebA验证集的子集中选择不同的项目,只需在底部左侧的框中输入0到999之间的数字,然后单击“推断”

使用重置键返回图像的原始值

点击“更新”,更新真实图像和对应的重建图像。单击以返回数据库中的初始真实值图像

使用样本密钥可以产生随机隐藏向量和相应的图像

使用滚轮使图像块变亮或变暗。请注意,这将自动返回样本模式,您可能需要单击“推断”而不是“重置”来返回图像编辑

如何在celebA数据集上训练IAN?

燃油必须与64x64 celebA一起使用。下载说明和准备指南可以在这里找到:https://github.com/vdumoulin/discgen.如果要训练模型,IAN.py文件包含模型设置,train_IAN.py文件包含训练代码,可以通过以下命令运行:

默认情况下,代码会将权重保存在。npz文件,其名称与config.py文件相同,并将输出一个包含每次迭代后记录的测量值的训练json日志。

使用标签—简历=真。当需要恢复训练模型时,它会从最新的历元开始自动恢复训练。

采样IAN

您可以使用以下命令生成样本并重建+栅格插值:

此操作需要安装matplotlib库。

当前项目中的三个问题

目前mad层只接受与隐藏向量大小相同的隐藏单元,会导致BAD_PARAM错误。

MADE只是一个自动回归机,不用太担心。

因为get_model的关键字比较混乱,如果想运行除IAN_simple以外的任何模型,都需要通过编辑器来解决这个问题。

AIJob是全球人工智能下面向AI开发工程师的免费求职平台。我们会尽最大努力帮助每一位ai工程师与你喜欢的企业建立联系,推荐给你喜欢的直接领导,帮你谈最好的薪资待遇。

微信咨询:aihr007简历投递:hr@top25.cn企业合作:job@top25.cn

全球人工智能现招聘5名兼职翻译:专业技术领域如图像技术、语音技术、自然语言、机器学习、数据挖掘等。工作内容及待遇请添加员工微信:C691993。

热门文章推荐

重磅|全球AI报告:看看哪些牛逼的AI公司被谷歌|苹果|脸书等十几家巨头收购了。

  • 热的东西能放冰箱吗 为什么热的东西不能马上放入冰箱

    前面说过,我是冰箱的资深用户。说到水平,我可以熟练地把“大象”放进冰箱。不,我还能熟练地取出“大象”。所有其他关于冰箱的知识都是随大流。 但是,相信大家都能想到把热的东西放进冰箱的问题,这有一个明显的缺点。一

    ·21-09-30

  • 从化溪头村旅游攻略 游从化溪头村、住别墅、泡私家温泉

    转眼间,又是金秋十月 秋天越来越强,天气越来越冷 在寒冷的天气里,最舒服的事情就是泡在美丽的温泉里 秋冬温泉之乡从化似乎成了“标配” 是时候开始你的温泉之旅了 西头村,最美的古村落 从化西头村被评为“广东最美

    ·21-09-30

  • 肺部ct能查出什么病 原创 做肺部ct可以查出什么病 提醒:检查前注意这5项

    肺是人体呼吸器官中最重要的部分。体内多余的废气和氧气需要在这里进行交换,新鲜的氧气会随着血液输送到人体的各个部位。 近年来随着环境的变化、吸烟者的增多、空气污染、雾霾等原因,患肺部疾病的人越来越多,而ct是临

    ·21-09-30

  • 合肥楼盘 合肥十佳畅销楼盘深度剖析 哪里房子更值得买

    合肥哪个地区房子升值快?什么样的房子值得买?这可能是每个购房者都想要的答案。肖伟觉得,楼市好的时候,你买的房子比其他房子涨得快;楼市不好的时候,你买的房子抗跌,甚至房价能涨不能跌。这时,你已经买了一套好房子。但是,想要

    ·21-09-30

  • 日本鹿儿岛 日本鹿儿岛 是一座什么样的“神仙岛”

    鹿儿岛位于日本九州,以其杰出的自然风光而闻名。这里有许多美丽的岛屿、茂密的森林和许多独特地貌的火山,旅游资源丰富。它是日本的一个主要旅游景点。虽然鹿儿岛和东京、大阪、名古屋等著名的旅游景点相比确实有点小,但

    ·21-09-30

  • 人类一败涂地手游 《人类一败涂地》手游上线时间确定 分为单人与联机两大模式

    大家好,欢迎来到刺激实践课堂。我是你的老朋友刺激哥。 之前粉丝一直在问刺激哥有没有好玩的游戏推荐。想了很久,刺激哥向他们推荐了游戏《使命召唤手游》和《黎明觉醒》。 在浏览游戏信息时,刺激哥发现又一款非常有趣的

    ·21-09-30

  • 抗凝药 死磕半个世纪 它终于改写了抗凝药的历史

    2009年8月30日注定是口服抗凝剂历史上值得纪念的一天。 这一天,在西班牙巴塞罗那举行的欧洲心脏病学会年会上,令人振奋的消息传来:新型口服抗凝剂达比加群在预防非瓣膜性房颤卒中方面比经典抗凝剂华法林更安全有效。 “

    ·21-09-30

  • 前列腺痛 男人出现前列腺痛是怎么了

    很多男性都经历过前列腺痛,但因为没有其他不适症状,所以认为只是小问题,并不在意。他们认为吃一些止痛药可以缓解,但没有及时去看医生了解病情。那么,前列腺疼痛的男性发生了什么? 前列腺疼痛的原因如下: 1.病原微生物感

    ·21-09-30