首页 > 其他分享 >[论文速览] Separating Style and Content for Generalized Style Transfer

[论文速览] Separating Style and Content for Generalized Style Transfer

时间:2024-03-11 21:01:09浏览次数:24  
标签:Style 参考 Transfer Content ij 风格 Nt 图片

Pre

title: Separating Style and Content for Generalized Style Transfer
accepted: CVPR 2018
paper:https://arxiv.org/abs/1711.06454
code: none

关键词: style transfer, chinese typeface transfer, font geration
阅读理由: 回顾经典

Idea

将图片解耦成内容和风格两种特征,两两组合以生成具有一方内容与另一方风格的图片

Motivation

现有的风格迁移方法显式学习某种源风格到目标风格的变换,无法泛化到新风格

图1 本文提出的EMD模型的框架

Background

相关工作分三部分介绍:

  1. Neural Style Transfer
  2. Image-to-Image Translation
  3. Character Style Transfer

表1 EMD与现存方法的比较

Method(Model)

Overview

图2 EMD做风格迁移的详细架构

Encoder Network

原文讲得很细,略

Mixer Network

提到 Mixer 是一个双线性模型(bilinear model)

双线性:对函数\(f(x, y)\),当固定其中一个参数(x)时,\(f(x, y)\)对另一个参数(y)是线性的

实际上这个模型似乎只有一个简单的可学习参数\(W\),对内容C风格S按下式进行融合:

\[F_{ij} = S_{i}\bold{W}C_{j} \tag{3} \]

对照图2看能发现通过W能够将维度不同的内容(\(1\times B\))风格(\(1\times R\))融合为任意维度的F
(\(1\times K\)),还挺方便,看起来是相加和拼接的进阶版?

Decoder Network

多层 Deconvolution-BatchNorm-ReLU 上采样

Loss

使用加权的L1损失函数(weighted L1 loss)作为生成损失(generation loss),用于衡量生成的图像与目标图像之间的差异。比起L2,L1损失倾向于产生更清晰、更干净的图像。函数定义如下:

公式4-5

其中 \(W^{ij}_{st}\) 和 \(W^{ij}_{b}\) 是两个权重,用于缓解目标集中由随机采样引起的不平衡。这两个权重分别关于字符的大小和厚度(\(W^{ij}_{st}\))以及字符的黑暗程度(\(W^{ij}_{b}\))。

因为每个迭代中目标图片的尺寸和厚度都会改变,模型主要优化那些有更多的像素的图片,例如那些更大更厚的汉字。

作者定义 \(W^{ij}_{st}\) 为每个目标图像中黑色像素数量的倒数。对于 \(W^{ij}_{b}\) ,作者计算每个目标图像中黑色像素的平均值,并计算其 softmax 权重。但是什么叫做黑像素的平均值(mean value of the black pixels)?难道是考虑每个图片里黑色像素有的略大于0,并非完全0/255的二元图片?

公式6-7

这种损失函数的选择是基于字符字体迁移问题的特点,L1损失倾向于产生更清晰、更干净的图像。通过引入这些权重,模型在训练过程中能够更好地处理不同大小和厚度的字符,以及不同黑暗程度的字符,从而提高生成图像的质量。

Experiment

Settings

详细讲了网络的配置,略

值得注意的是该模型需要风格参考也要内容参考,两者都要多张输入,由同一个参数r控制,也就是每次生成需要r张风格r张内容参考图片

Dataset

832 字体,每个有 1732 汉字,图片分辨率80x80

图3 数据集划分示意图,目标图片选择和参考集构建

数据集划分为图3所示的D1~D4四部分,红叉是目标图片,同一行的橙色圈是它的参考风格图片,而同一列的绿色圈则是它的参考内容图片

Influence of the Training Set Size

图4 D1~D4的生成结果(从左上到右下),TG: 目标图片, O1: Nt=20k的输出, O2: Nt=50k的输出, O3: Nt=100k的输出, O4: Nt=300k的输出, O5: Nt=500k的输出。固定r=10

Influence of the Reference Set Size

图5 参考图片数量的影响(从左上到右下D1~D4),TG: 目标图片, O1: r=5的输出, O2:

r=10的输出, O3: r=15的输出. 固定Nt=300k

Effect of the Skip-connection

图6 跳跃连接的影响(从左上到右下D1~D4),TG: 目标图片, O1: 没跳跃连接的输出, O2:

有跳跃连接的输出, O3: r=15的输出. 固定Nt=300k,r=10

Validation of Style and Content Separation

图7 风格抽取的验证 CR:内容参考 TG:目标图片 O1~O3分别由CR和三组不同的风格参考生成

图8 内容抽取的验证 SR:风格参考 TG:目标图片 O1~O3分别由SR和三组不同的内容参考生成

作者认为图7说明风格编码器抽取很准确,能抽取出稳定的特征以生成相似的结果,对图8也是类似的理解。如果像CF-Font那样分析内容字形与目标字形的风格相似性或许能发现,内容字形会严重影响结果。可能这里内容字形太多,导致抽取的特征较为平均,以及图片分辨率也小,体现不出影响。

Comparison with Baseline Methods

图9 和baseline的比较,所有模型使用相同数量的图片对来训练

图10 生成新风格新内容的比较。模型名后面的数字对于EMD(有泛化能力无需重新训练)来说是参考图片数量,对于baseline来说是训练的图片对数量

Conclusion

Critique

跟同期的SA-VAE相比,训练数据更多,图片更清晰美观,对比的baseline更多,贡献更直接且集中,指出了解耦的作用。而SA-VAE多了关于汉字结构信息的使用,而且用的是VAE,实验多了插值、其他语言文字生成

本文对内容也需要多张参考图片,而后续工作似乎想降低开销,固定了一种字体作为源字体来提供内容图片

标签:Style,参考,Transfer,Content,ij,风格,Nt,图片
From: https://www.cnblogs.com/Stareven233/p/18030065

相关文章

  • Blazor笔记-Component styles
    更新记录注意:非教程。纯笔记,日常查询用的。需要教程的小伙伴找几本书看看即可哈哈,有Vue基础的话非常快,概念都是通的。非工作需要不建议深入学习Blazor,深入Vue吧,用的多,哈哈。完整目录地址:https://www.cnblogs.com/cqpanda/p/17596348.html点击查看2024年3月7日发布。2023......
  • Blazor笔记-Component RenderFragment / ChildContent
    更新记录注意:非教程。纯笔记,日常查询用的。需要教程的小伙伴找几本书看看即可哈哈,有Vue基础的话非常快,概念都是通的。非工作需要不建议深入学习Blazor,深入Vue吧,用的多,哈哈。完整目录地址:https://www.cnblogs.com/cqpanda/p/17596348.html点击查看2024年3月7日发布。2023......
  • div contenteditable="true" 添加placehoder效果
    <divclass="contain":style="{height:editableHeight+'px'}" v-html="innerText" ref="editableDiv" contenteditable="true" :placeholder=placeholder @input="inputTe......
  • 在PowerShell中下载文件是一项常见的任务,可以通过多种方法完成。下面我将介绍使用Invo
    在PowerShell中下载文件是一项常见的任务,可以通过多种方法完成。下面我将介绍使用Invoke-WebRequest、New-Object和Start-BitsTransfer命令来下载文件的方法。使用Invoke-WebRequestInvoke-WebRequest是一个非常强大的命令,用于向网页发送HTTP和HTTPS请求。你可以使用它来下载文......
  • css Module里less里嵌套css,使用的时候,style.xxx不用嵌套吗?
    在CSSModules中,使用Less编译器编译并转换成模块化CSS后,你不需要在JavaScript中通过style.xxx的方式进行嵌套引用。当你在Less文件中使用嵌套语法编写样式时,编译过程会自动将这些嵌套转换为扁平化的类名,并且生成一个映射对象。例如,在Less文件(假设为styles.module.less)中:.contain......
  • 有一个子组件DataList,然后在父组件中引入,并在父组件引入中的DataList标签上设置style
    有一个子组件DataList,然后在父组件中引入,并在父组件引入中的DataList标签上设置style样式,能生效吗?在React中,父组件可以通过props将样式传递给子组件,并在子组件内部应用这些样式。但直接在父组件引用子组件的地方设置style属性通常不会生效,因为React的JSX语法并不支持这种写法。......
  • 光标自动定位到起始位置contenteditable="true" ,v-html绑定内容,div可编辑时,光标移到最
    出现这个问题原因:(1)通过打断点可以看到,当你输入的时候触发input事件,提交值给父组件中的v-model;(2)但因为在子组件中又监听了v-model的值,所以整体形成了闭环;(3)还需要重点说明的是光标问题,contenteditable与v-html所在的元素值的改变如果不是通过输入而是通过赋值实现,光标就会跑到最......
  • Vue 3.0 Class与Style绑定
    操作元素的class列表和内联样式是数据绑定的一个常见需求。因为它们都是attribute,所以我们可以用 v-bind 处理它们:只需要通过表达式计算出字符串结果即可。不过,字符串拼接麻烦且易错。因此,在将 v-bind 用于 class 和 style 时,Vue.js做了专门的增强。表达式结果的类型......
  • jq ajax传递json对象到服务端及contentType的用法
    目录0、一般情况下,通过键值对的方式将参数传递到服务端0.1客户端代码:0.2服务端代码:0.3在浏览器的网络中查看此次请求:1、ajax传递复杂json对象到服务端1.1方法一:通过formdata传值,服务端通过key获取值;1.2方法二:通过formdata方式传值,服务端读取Request.InputStrea......
  • webpack-dev-server 插件问题 Content not from webpack is served from
    在安装了webpack-dev-server插件后启动然后一直报错 Contentnotfromwebpackisservedfrom XXXX在浏览器中访问 一直显示cannot  / 解决办法在wenbpack.config.js的配置文件中加入输出文件路径配置  devServer:{    static:{     ......