论文:QuantArt: Quantizing Image Style Transfer Towards High Visual Fidelity

0.论文的基本信息

在这里插入图片描述
被引用:2次(截止到2023年6月15日)
哈佛大学作者

1.论文解决的问题

  1. 将视觉逼真度定义为一种新风格传递的评价标准,提出了一种基于矢量量化高视觉逼真度风格迁移算法
  2. 设计了一个基于离散和连续两种风格传递架构的框架,允许用户灵活地控制风格相似性内容保存和风格化结果的视觉逼真度

2.目前工作存在的不足

3.论文的亮点

3.1、给出了风格迁移中三个比较重要的指标
在这里插入图片描述

(1) 风格保真度
通过计生成图像和风格图像之间的Gram矩阵
(2)内容的逼真度
通常计算感知距离或者LPIPS距离评测
(3)视觉的逼真度
本文是将所有真实的艺术作品都属于一个分布T,生成图像越接近分布T,保真度越高,上图第三列常见的神经风格迁移方法,保存了风格图像的纹理,所有较低的保证度

4.pipline

(1)训练阶段一
在这里插入图片描述

训练encoder和deocoder
encoder和decoder的网络采用的是两层的卷积层,目标是重建任务,恢复原始的图像。不同于传统vgg网络和resnet网络。两层的卷积层只能够提取到浅层次的图像的信息特征,对于图像的风格特征并不能更好的去探索(之前有篇文章已经解释了)
训练loss包括两个,一个是重建loss,还有一个是对抗loss

L A E ( E C , D C ) = ∣ ∣ c r e c − c ∣ ∣ + L a d v ( E C , D C , D C ) \mathcal{L}_{AE}(E_C,D_C)=||c_{rec}-c||+\mathcal{L}_{adv}(E_C,D_C,\mathbb{D}_C) LAE(EC,DC)=∣∣crecc∣∣+Ladv(EC,DC,DC)
L a d v ( E C , D C , D C ) = log ⁡ D C ( c ) + log ⁡ ( 1 − D C ( c r e c ) ) \mathcal{L}_{adv}(E_C,D_C,\mathbb{D}_C)=\log\mathbb{D}_C(c)+\log(1-\mathbb{D}_C(c_{rec})) Ladv(EC,DC,DC)=logDC(c)+log(1DC(crec))

训练codebook
在这里插入图片描述

提取特征
z c = E ^ C ( c ) , z s = E ^ S ( s ) . z_c=\hat{E}_C(c),\quad z_s=\hat{E}_S(s). zc=E^C(c),zs=E^S(s).
然后计算矢量特征 z ^ c \hat{z}_c z^c z ^ s \hat{z}_s z^s
Q Z ( z ) : = arg ⁡ z k ∈ Z ∣ ∣ z − z k ∣ ∣ , Q_{\mathcal{Z}}(z):=\operatorname{arg}\limits_{\mathbf{z}_k\in\mathcal{Z}}||z-\mathbf{z}_k||, QZ(z):=argzkZ∣∣zzk∣∣,
计算矢量特征,然后再通过decoder进行进行显示
z ^ c = Q z p h o t o ( z c ) , z ^ s = Q Z a r t ( z s ) , \hat{z}_{c}=Q_{z_{photo}}(z_{c}),\quad\hat{z}_{s}=Q_{\mathcal{Z}_{art}}(z_{s}), z^c=Qzphoto(zc),z^s=QZart(zs),
loss计算,其中sg操作是不使用梯度下降的方法
L A E ^ ( E ˚ C , D ˚ C , Z p h o t o ) = L A E ( E ^ C , D ^ C ) + ( 8 ) ∣ ∣ s g [ z c ] − z ^ c ] ∣ ∣ + ∣ ∣ s g [ z ^ c ] − z c ] ∣ ∣ , \begin{aligned} \mathcal{L}_{\hat{A E}}(\mathring{E}_{C},\mathring{D}_{C},\mathcal{Z}_{p h o t o})& =\mathcal{L}_{AE}(\hat{E}_C,\hat{D}_C)+\quad(8) \\ &||\mathsf{s g}[z_{c}]-\hat{z}_{c}]||+||\mathsf{s g}[\hat{z}_{c}]-z_{c}]||, \end{aligned} LAE^(E˚C,D˚C,Zphoto)=LAE(E^C,D^C)+(8)∣∣sg[zc]z^c]∣∣+∣∣sg[z^c]zc]∣∣,
(2)训练阶段2,训练SGA
在这里插入图片描述在这里插入图片描述
SGA模块是由三部分组成,Resnet弄块,两个attention模块。具体计算方式,其中 z ~ = R e s N e t ( z c ) \tilde{z}=ResNet(z_c) z~=ResNet(zc)

z y = SGA ( z c , z s ) = Attn ( Attn ( z ~ c , z ~ c , z ~ c ) , z s , z s ) . z_y=\text{SGA}(z_c,z_s)=\text{Attn}(\text{Attn}(\tilde{z}_c,\tilde{z}_c,\tilde{z}_c),z_s,z_s). zy=SGA(zc,zs)=Attn(Attn(z~c,z~c,z~c),zs,zs).
该种计算方式能够更好的保存内容信息,同时SGA模型进行M次,获得了更好的效果。损失函数分为内容损失,风格损失和对抗训练损失
L c o n t e n t = ∣ ∣ z y − z c ∣ ∣ , \mathcal{L}_{c o n t e n t}=||z_y-z_c||, Lcontent=∣∣zyzc∣∣,
L s t y l e = ∣ ∣ μ ( z y ) − μ ( z s ) ∣ ∣ + ∣ ∣ σ ( z y ) − σ ( z s ) ∣ ∣ \mathcal{L}_{s t y l e}=||\mu(z_{y})-\mu(z_{s})||+||\sigma(z_{y})-\sigma(z_{s})|| Lstyle=∣∣μ(zy)μ(zs)∣∣+∣∣σ(zy)σ(zs)∣∣
L f e a t a d v = log ⁡ D S G A ( z s ) + log ⁡ ( 1 − D S G A ( z y ) ) \mathcal{L}_{featadv}=\log\mathbb{D}_{SGA}(z_s)+\log(1-\mathbb{D}_{SGA}(z_y)) Lfeatadv=logDSGA(zs)+log(1DSGA(zy))
另外SGA的优化目标
L S G A ^ = L S G A + ∣ ∣ s g [ z ^ y ] − z y ] ∣ ∣ \mathcal{L}_{S\hat{GA}}=\mathcal{L}_{SGA}+||\mathrm{sg}[\hat{z}_y]-z_y]|| LSGA^=LSGA+∣∣sg[z^y]zy]∣∣
(3)引号流程
在这里插入图片描述

5、总结

个人愚见:这篇文章能够取得比较好的效果,使用少量卷积层提取特征(相对于VGG和ResNet),因为这能够保存图片大量的图片信息,曾有篇文章指出为什么在我们的风格迁移中,总是使用VGG提取特征。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值