论文阅读-Editing in Style: Uncovering the Local Semantics of GANs


论文阅读-Editing in Style: Uncovering the Local Semantics of GANs

论文地址: http://openaccess.thecvf.com/content_CVPR_2020/html/Collins_Editing_in_Style_Uncovering_the_Local_Semantics_of_GANs_CVPR_2020_paper.html

概述

简单来说, 本文针对的是控制和调节GAN模型生成图像的局部特征.

image-20200619093139200

跟换脸挺像的, 都是根据reference的一些属性修改原图片的属性值, 比如鼻子眼睛. 当然本文的立意在于可解释性, 现在GAN能生成几乎以假乱真的图像, 但是这些图像为什么是这样并不太好解释. 尽管有一些工作可以通过渐进训练获得不同分辨率的特征. 但本文的核心是所谓"a disentangled representation", 意思是解缠属性, 具体来说就是我们关注的属性(比如人的嘴, 卧室里的枕头等)可以独立于其他属性操作.

本文针对styleGAN的结构, 提出了一种简单而优雅(作者原话)的方法, 可以将原始图片中的本地语义特征转化为reference图片中的特征.

实际上face swapping有一些交换图片表情的工作, 和本文很像. 但本文作者表示他们的模型是独特的, 不需要换脸常用的空间处理, 比如扭曲和合成.

方法

特征分解

image-20200619104439753

一图流解释全部.

真的是简单而优雅...作者做特征分解的基本方法是, 对生成器的隐藏层做K-means, 然后k个类人工监督一下类别.(啊这....)

特征修改

StyleGAN

本文主要基于styleGAN进行属性修改, styleGAN那篇文章我也看过属实难读, 建议移步其他人的解读增进理解.

建议阅读: https://zhuanlan.zhihu.com/p/62119852

styleGAN的结构如上图所示. 输入的latent code z经过一个非线性变换变成\(w\), 这个\(w\)经过一个仿射变换A, 输入到生成器G中用以控制每一层的style. 作者将仿射变换后变化得到的style向量命名为\(\sigma\).

在本文中, 作者将target图片\(S\)和reference的图片\(R\)\(\sigma\)经过styleGAN提取出来, 并给出了全局变换的公式:

\[\sigma^{G}=\sigma^{S}+\lambda\left(\sigma^{R}-\sigma^{S}\right) \]

也就是生成图片G的\(\sigma\)的获取方法, \(\lambda \isin [0,1]\). 这个公式获得的图片G可以获得R全部的特征, 而丢失所有的S图片特征.

为了只改变局部的特征(而不是吸收全部R的特征), 作者启用一个矩阵转化:

\[\sigma^{G}=\sigma^{S}+Q\left(\sigma^{R}-\sigma^{S}\right) \]

Q是个半正定矩阵, 从而确定R和S对G的影响. 实际上本文直接做了个对角矩阵, 作者说这是查询向量, 实际上就是把R的特征直接替换掉S上的特征而已.

那么选择\(Q\)中的值\(q\)就很重要了, 已知\(q \isin [0,1]^C\), 那么对角矩阵\(Q\)里谁是1谁是0就确定了我们要替换什么特征.

做法简单粗暴:

\[M_{k, c}=\frac{1}{N \dot{H} \dot{W}} \sum_{n, h, w} \mathbf{A}_{n, c, h, w}^{2} \odot \mathbf{U}_{n, k, h, w} \]

这个公式体现了k-means时各个通道对k类的贡献, 作者排了个序, 然后最相关的那一行q定为1, 然后逐渐衰减..(啊这...)

实验

image-20200619140151197

虽然方法很简单但结果却是挺离谱..

总结

学不来学不来...


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM