0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

用TensorFlow.js在浏览器中构建了一个使用任意图像进行风格化的demo

DPVg_AI_era 来源:未知 作者:李倩 2018-11-22 09:33 次阅读

一位日本小哥用TensorFlow.js在浏览器中构建了一个使用任意图像进行风格化的demo,只使用了一个单一的模型。demo效果相当不错,并且也开源了代码。

用一个模型就能实现所有类型的风格转换!一个名为Arbitrary Image Stylization in the Browser的项目最近火起来。

作者是日本小哥Reiichiro Nakano,他用TensorFlow.js在浏览器中构建了一个使用任意图像进行风格化的demo。

不像以前的快速风格转换算法那样需要每种风格都有一个单独的网络,在这个demo中,所有风格图像只使用一个单一的模型。并且,你可以自由混合不同的风格。

使用也非常简单,你只需要选择一张内容图像(content image)和一张风格图像(style image),然后点击“Stylize”,静候片刻,一张风格化的图像就处理好了。

如图所示,我们在“内容图像”选择一张芝加哥城市风景图,“风格图像”选择一张港口的版画风格图像,风格化后得到一张版画风格的芝加哥风景图。

其中,内容图像和风格图像都可以自定义,也就是说,你可以上传任意图像。风格化的强度也可以调整。

作者还提供了混合两种风格的效果。

总结而言,这个风格网络被训练并用于为任意绘画风格生成一个100-D的风格向量(style vector)。然后,将该向量与内容图像一起馈送到一个的转换网络,进行实际的风格转换。

这个100D的向量基本上是一个“style”的潜在空间。我们可以利用这个“潜在空间”做一些有趣的事情。

我们可以通过对风格图像和内容图像的风格向量进行加权平均,来控制风格化的强度。作者发现,这对于风格特别鲜明的内容图像很有用。

我们还可以通过在它们的风格向量之间插值,来组合不同的风格,并让网络猜测这两幅图像之间的风格是什么样子的。

将模型移植到浏览器上的最大问题是模型大小。风格网络基于Inception-v3,它的权重> 97MB。作者使用distillation,能够用9.6MB的MobileNet-v2替换它,尺寸缩小了10倍。所以作者认为distillation这种技术被低估了,它可以为浏览器带来一些很酷的ML功能,因为很多模型由于太大而无法在资源有限的环境中进行部署。

这个demo建立在谷歌大脑和蒙特利尔大学合作的论文Exploring the structure of a real-time, arbitrary neural artistic stylization network之上,这是图像风格化的经典论文之一。作者开源了代码。

下面我们简要介绍一下论文的主要思想。

模型和方法

这篇论文的核心是通过构建一个风格学习网络来实现快速的风格迁移。

论文提出了一种将艺术风格神经算法的灵活性和快速风格迁移网络的速度相结合的方法,允许使用任何内容/风格图像进行实时的风格化。

这个模型成功地用大约80000幅画作的数据库进行了训练,并能够推广到以前未见过的画作。

论文的主要贡献包括:

1、介绍了一种新的算法,用于快速、任意的艺术风格迁移;在80000幅画作上训练,并能对未观察过的画作实时运行。

2、在紧凑的嵌入空间中呈现左右绘画风格,捕捉绘画的语义特征。

3、证明用大量画作进行训练之后,模型能够预测以前从未观察过的风格。

4、嵌入空间允许对艺术家的艺术范围进行新的探索。

图1:网络在大量的绘画和纹理上训练生成的造型

图2:模型架构图示

如图2所示,整个网络架构由风格学习网络P和风格转换网络T组成,学习的目的是style loss和content loss。风格学习网络P预测来自输入风格图像的嵌入向量S,为风格转换网络提供一组归一化常数。风格转换网络将照片转换为风格化的表示。Content loss和style loss来源于VGG图像分类网络的表征空间距离。风格学习网络主要遵循Inception-v3架构。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 图像
    +关注

    关注

    2

    文章

    1063

    浏览量

    40041
  • 浏览器
    +关注

    关注

    1

    文章

    974

    浏览量

    34411
  • tensorflow
    +关注

    关注

    13

    文章

    313

    浏览量

    60242

原文标题:一个模型搞定所有风格转换,直接在浏览器实现(demo+代码)

文章出处:【微信号:AI_era,微信公众号:新智元】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    IE浏览器的Internet选项的设置

    ‘源文件’菜单项”和“禁用上下文菜单”等策略项目启用即可。   另外,倘若您不希望别人对IE浏览器的设置进行随意更改,您只要将“‘工具’菜单:禁用‘Internet选项…’”策略启用即可。另外,根据您个人的需要,该窗
    发表于 03-10 11:21

    11你应当使用FIREFOX浏览器的理由

    在Windows , Macintosh或Linux的计算机,运行Firefox ,对计算机的需求非常低,不会占用太多的磁盘空间。 分页浏览。您是否曾经浏览
    发表于 11-26 16:31

    什么浏览器好?

    新买的手机上网看小说或者看新闻很卡很慢,今天来论坛请教下,现在手机什么浏览器好使?对了电脑的也顺道起问下吧。
    发表于 06-24 16:38

    labview怎么调用谷歌浏览器或者火狐浏览器,(非IE浏览器

    `虚拟仪器需要显示本地嵌入式网页,自带的active控件的IEweb浏览器不支持,需要火狐或者谷歌浏览器。那么怎么调用其他的浏览器呢实现
    发表于 05-18 10:26

    TensorFlow TensorBoard可视数据流图

    TensorBoard:接下来,打开浏览器并输入地址 http://localhost:6006/(或运行 TensorBoard 命令后收到的链接)。你会看到类似于图 1 的图,顶部有很多标签。Graphs(图表)选项卡能将运算图可视
    发表于 07-22 21:26

    comicsviewer图像浏览器软件

    电子发烧友网站提供《comicsviewer图像浏览器软件.zip》资料免费下载
    发表于 06-19 17:00 0次下载

    TensorFlow发表推文正式发布TensorFlow v1.9

    是前所未有的。之前人工智能头条也为大家介绍了一个在浏览器中通过TensorFlow.js 进行多人人脸识别与特征检测的项目,也受到大家的广泛关注。此外 TensorFlow 还给那些想
    的头像 发表于 07-16 10:23 2901次阅读

    利用TensorFlow.js,D3.js 和 Web 的力量使训练模型的过程可视化

    TensorFlow.js 将机器学习引入 JavaScript 和 Web。 我们将利用这个很棒的框架来构建一个深度神经网络模型。这个模型将能够按大联盟裁判的精准度来称呼好球和坏球。
    的头像 发表于 08-08 14:24 6668次阅读

    如何使用TensorFlow.js构建这一系统

    TensorFlow.js团队一直在进行有趣的基于浏览器的实验,以使人们熟悉机器学习的概念,并鼓励他们将其用作您自己项目的构建块。对于那些不熟悉的人来说,
    的头像 发表于 08-19 08:55 3340次阅读

    基于tensorflow.js设计、训练面向web的神经网络模型的经验

    你也许会好奇:为什么要在浏览器里基于tensorflow.js训练我的模型,而不是直接在自己的机器上基于tensorflow训练模型?你当然可以在自己的机器上训练,特别是如果你的机器配备
    的头像 发表于 10-18 09:43 3868次阅读

    TensorFlow.js浏览器中部署可进行任意图像风格迁移的模型

    Reiichiro Nakano提供的模型突破了以往模型的局限,它能将任何风格图像分解为表示其风格的100维向量,然后把这些向量结合照片信息一起馈送到另一个神经网络,以产生最终的风格
    的头像 发表于 11-22 09:01 6186次阅读

    TensorFlow.js制作了一个仅用 200 余行代码的项目

    我们先来看一下运行的效果。下图中,上半部分是原始视频,下半部分是使用 TensorFlow.js 对人像进行消除后的视频。可以看到,除了偶尔会在边缘处留有残影之外,整体效果还是很不错的。
    的头像 发表于 05-11 18:08 5432次阅读

    如何基于 ES6 的 JavaScript 进行 TensorFlow.js 的开发

    环境中,如果有 CUDA 环境支持,或者在浏览器环境中,有 WebGL 环境支持,那么 TensorFlow.js 可以使用硬件进行加速。 微信小程序 微信小程序也提供了官方插件,封装了 T
    的头像 发表于 10-31 11:16 2857次阅读

    js文件可以直接浏览器运行吗

    JS文件可以直接在浏览器中运行。JavaScript(简称JS)是一种广泛用于浏览器端编程的脚本语言。作为一种解释性语言,JS不需要编译,而
    的头像 发表于 11-27 16:45 1546次阅读

    js脚本怎么在浏览器中运行

    浏览器中运行JavaScript脚本是一种常见的方式,因为JavaScript是一种在Web浏览器中执行的脚本语言。下面是一个详细的,最少1500字的文章,介绍如何在浏览器中运行
    的头像 发表于 11-27 16:46 1405次阅读