论文BeautyGlow: On-Demand Makeup Transfer Framework With Reversible Generative Network(2019,妆容迁移)

论文下载地址:BeautyGlow: On-Demand Makeup Transfer Framework With Reversible Generative Network | IEEE Conference Publication | IEEE Xplore

第一个基于Glow模型的妆容迁移方法

优点:无需训练判别器和生成器两个大网络,自动合成生成结果不到一秒。

基于 GAN 的方法不包含从数据构建潜在空间的编码器,因此无法通过简单地插入潜在向量来实现按需化妆转移。

在GAN中,由于模型没有编码器使得数据点通常不能在潜在空间中直接被表征,并且表征完整的数据分布也是不容易的

输入:参考图()和素颜图(

把输入图像编码到潜在空间Z中,表示为(素颜图)和(参考图)

中获取向量,从中获取向量通过变换矩阵 W 分别分解为两个潜在特征(),(),把相加生成

为了让变换矩阵 W 将潜在向量完美分解为潜在面部特征和潜在化妆特征,引入损失函数。

感知损失函数提取面部特征:

限制了面部潜在特征和素颜图像潜在特征间的距离。

 

域内损失和域间损失旨在确保化妆后图像和卸妆图像在化妆和非化妆域的区别:

域内损失:

为了让参考图像的面部潜在向量应该接近非化妆域,化妆后的潜在向量应该接近化妆域,使用所有非化妆图像的平均潜在向量表示非化妆域的质心,使用所有化妆图像的平均潜在向量表示化妆域的质心。

域间损失:

有效地清晰地分解面部潜在向量和化妆潜在特征,

计算两个潜在向量 A 和 B 之间的相似度:

 

化妆损失函数提取化妆特征:

假设人脸图像的潜在特征由面部特征和化妆特征组成,去除五官后,剩下的就是妆容了,如 Glow[1] 所示,可以通过操纵图像的潜在特征来提取属性。

所有化妆图像的平均潜在向量与所有未化妆图像的平均潜在向量的差值表示从非化妆潜在向量到化妆潜在向量的方向

循环一致性损失将面部和化妆信息作为输入特征进行维护:

为了保持面部和妆容信息,在潜在空间中还设计了两个循环一致性损失。

总损失:

 ℷ 表示权重

结果:

首先使用Glow将图像转换为潜在空间并计算化妆和非化妆潜在域的质心,

之后,我们使用 Adam 优化器通过损失总方程中的目标函数训练变换矩阵W,这是随机梯度下降过程的经典扩展,以基于训练数据迭代更新模型权重。

[1] Kingma D P ,  Dhariwal P . Glow: Generative Flow with Invertible 1x1 Convolutions[J].  2018.

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TypeError: 'set' object is not reversible 这个错误通常出现在尝试对一个集合对象进行反转操作时。 集合是一种无序的、不重复的数据结构,它没有顺序,并且不支持索引操作。因此,集合对象是不可逆转的,也就是说不能使用反转操作对集合进行操作。 解决这个错误的方法是检查代码逻辑,确保在需要对集合进行反转操作之前,先将集合转换成一个可以被反转的数据结构,例如列表。 需要注意的是,具体的解决方法可能因为代码的具体情况而有所不同,建议根据错误提示和代码逻辑进行问题排查和修复。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [问题解决:进入DjangoAdmin模块时,TypeError: 'set' object is not reversible](https://blog.csdn.net/qq_40038070/article/details/106104678)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Python 出现错误TypeError: ‘NoneType’ object is not iterable解决办法](https://download.csdn.net/download/weixin_38681646/13776855)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值