CP-VTON

  • 介绍
  • 论文笔记
    • 算法目的
    • 主要贡献
    • CP-VTON 算法框架
      • Geometric Matching Module(几何匹配模块)
      • Try-on Module(试穿模块)
    • 总结
  • 参考文献

介绍

CP-VTON 是紧随 VITON,在同年( 2018 年)发表出来的,直接在 VITON 上进行了改进。

CP-VTON 论文地址

论文笔记

算法目的

作者认为,在 VITON 在处理衣服上的细节生成时,效果不够好。作者分析了一下原因,归纳了两点主要的问题:

  1. 由于衣服和身体形状对齐时的变形处理的不好,导致衣服和身体的匹配程度不够。
  2. 衣服图像和合成图像的外观合并策略不够完善。

为了说明这两点问题,作者将自己的算法与 VITON 进行了对比:

为此,作者分别针对这两个问题,提出了自己的两点改进,并做了实验进行验证。

主要贡献

论文的主要贡献有两点:

  1. 提出了一种新的可学习的薄板样条变换,该变换通过可学习的卷积神经网络实现,以便将衣服与目标人更好地对齐。相比于之前的 TPS 方法, 该方法不需要任何显式的兴趣点对应。

  2. 提出了一个新的试用模块(Try-On Module),可以动态合并初步合成的结果和扭曲后的衣服。

CP-VTON 算法框架


作者将基于图像的虚拟试穿作为一个有条件的图像生成问题来解决。

训练时,算法的输入是一个三元组 (Ii,c,It)(I_i, c, I_t)(Ii​,c,It​)。其中 IiI_iIi​ 与 VITON 中的表示相同,ccc 表示被换上的衣服,ItI_tIt​ 是最终合成图像的 ground truth

CP-VTON 算法包括两个主要的模块:

  • 几何匹配模块(Geometric Matching Module):使用卷积神经网络对衣服进行可学习的扭曲,使扭曲后的衣服 c^\hat{c}c^ 与人体对齐。

  • 试穿模块( Try-on Module):将 c^\hat{c}c^ 与目标人融合,并合成最终试穿结果。

整个算法的流程按照上面的两个模块,分为两个阶段:

  • stage1:首先提取参考图像中人体的特征,表示为 ppp,然后利用两个卷积神经网络分别提取 ppp 和 ccc 的高维特征,通过一个相关的网络层将它们合并在一起,输入到回归网络中,得到一套转换参数 θ\thetaθ,利用这个学习到的转换参数,对衣服 ccc 进行 TPS 变换得到扭曲后的衣服 c^\hat{c}c^。
  • stage2:利用 U-Net 结构生成一个初始的合成图像 IrI_rIr​ 和衣服的 mask,然后利用 mask 将扭曲后的衣服图像 c^\hat{c}c^ 和 IrI_rIr​ 合在一起即为 CP-VTON 的最终结果。

Geometric Matching Module(几何匹配模块)

传统的几何匹配方法大致分为三步:

  1. 提取局部特征。
  2. 将特征在图像上匹配,形成一系列对应关系。
  3. 利用这些对应关系,估计几何模型的参数。

作者参考了其他人的工作,认为可以对几何估计任务进行端到端的培训,因此设计了一个新的几何匹配模块。以 ppp 和 ccc 作为输入,直接生成与人体对应的扭曲衣服 c^\hat{c}c^。分为四个步骤:

  1. 分别使用两个网络提取 p 和 c 的高维特征。
  2. 使用一个 correlation layer 来合并提取到的特征。
  3. 利用一个回归网络,将合并后的特征作为输入,估计一套转换参数 θ。
  4. 利用得到的参数对衣服图像做 TPS 转换得到 c^\hat{c}c^。

整个模型是端到端进行训练的,损失函数如下:


需要注意的有以下三点:

  1. 整个网络是从头开始训练的,而不是使用预训练好的 VGG 网络。
  2. 最后的 ground truth 是直接从真实衣服中扣出来的。
  3. 损失函数直接使用 L1 Loss。

Try-on Module(试穿模块)

作者认为,直接将扭曲后的衣服图像粘贴到衣服上会导致衣服边界不清晰,会使衣服的边界过渡模糊;通常的方法是使用 Encoder-Decoder 进行转换,这样可以处理边界模糊问题,但并不能将衣服与体型完美地对齐。

为此,作者结合了上述两种方法的优点,利用 U-Net 结构,同时生成穿衣服的图像和衣服的 mask,然后利用衣服的 mask 将初步合成的图像 IrI_rIr​ 和扭曲后的衣服 c^\hat{c}c^ 合并起来,公式如下:


损失函数是结合了 L1 Loss 和感知损失,感知损失与 VITON 中的感知函数是相同的,仅仅只是表现形式不同,这里将第 0 层的 L1 Loss 单独提取出来放到总的损失函数了。

最后,加上原始图像和 maskL1 Loss,即为试穿模块最终的损失函数:

总结

这篇论文的创新点很明显,在开篇就提出来了,而且整篇文章中反复提及,让人印象深刻。文章后一部分也做了很多的对比实验,这里就不列出来了。文章整体感觉与 VITON 一样,读起来很舒服,好文章,大赞!

参考文献

[1] Wang, B., Zhang, H., Liang, X., Chen, Y., Lin, L., & Yang, M. (2018). Toward Characteristic-Preserving Image-based Virtual Try-On Network. ECCV.

虚拟换衣 CP-VTON 论文笔记相关推荐

  1. 虚拟换衣 VITON 论文笔记

    VITON 论文笔记 介绍 论文笔记 任务 VITON 框架 Person Representation(人体表示) Pose heatmap (姿势热图) Human body representa ...

  2. 虚拟换衣!速览这几篇最新论文咋做的!

    Virtual Try-on 虚拟换衣,也就是给定某款衣服图像,让目标试衣者虚拟穿上.下面整理了一些相关论文.打包下载好的论文,可关注微信公众号"学点诗歌和AI知识"回复" ...

  3. 【HR-VITON】虚拟换衣算法pre-processing复现全过程记录

    Link of original Github repo Link of personal made study case of HR-VITON Content Pre 1.OpenPose(On ...

  4. 虚拟试穿VTNFP论文笔记

    VTNFP虚拟试穿笔记 文章目录 VTNFP虚拟试穿笔记 任务 相关工作: VTNFP Person Representation(人体表示) Clothing Deformation Module ...

  5. 基于图像的虚拟换装:Towards Photo-Realistic Virtual Try-On by Adaptively Generating-Preserving Image Content

    Image Based Virtual Try-On 基于图像的虚拟换装,可以直接生成换好装的人物图片.VITON提供了一个被广泛使用的pipeline,现在的方法大多遵循类似的框架. 利用网络泛化能 ...

  6. 【论文笔记】An End-to-End Model for QA over KBs with Cross-Attention Combining Global Knowledge

    一.概要   该文章发于ACL 2017,在Knowledge base-based question answering (KB-QA)上,作者针对于前人工作中存在没有充分考虑候选答案的相关信息来训 ...

  7. 基于图像的虚拟换装:Morphing architectures for pose-based image generation of people in clothing

    项目的重点是变形操作的特征化与实现,解决卷积神经网络中的信息失准问题.我们将所研究的方法应用到一个换衣服的任务中,将其建模为一个条件图像生成问题.尽管对抗性方法在生成性任务中很流行,但我们将此项目的范 ...

  8. 「ArXiv2020」【Efficient Transformers: A Survey】论文笔记(更新中)

    「ArXiv2020」[Efficient Transformers: A Survey]论文笔记 Abstract 1. Introduction 2. Background on Transfor ...

  9. 光流 速度_[论文笔记] FlowNet 光流估计

    [论文笔记] FlowNet: Learning Optical Flow with Convolutional Networks 说在前面 个人心得: 1. CNN的光流估计主要是速度上快,之后的v ...

最新文章

  1. R 语言柱状图示例笔记
  2. js 层随着滚动条上下移动
  3. java学习笔记2--数据类型、数组
  4. UI(UGUI)框架(一)---------概述与保存/读取面板类型与路径
  5. 【ubuntu】服务器新增user,并且配置ssh
  6. zabbix邮箱报警设置
  7. mysql群集配置_mysql8 参考手册-NDB群集配置参数,选项和变量概述
  8. MyBatis通过反射建立一个对象的过程。
  9. 物联卡中心:物联网卡代理商这么多,我怎么选?
  10. 洛谷 P3987 我永远喜欢珂朵莉~(Splay+BIT+无限卡常)
  11. 镜头光晕是如何形成的?
  12. My View on Life Value 人生价值何在?
  13. Nodejs的开发工具Nide的安装过程
  14. 部署DHCP服务器与地址耗尽攻击
  15. web前端工作有哪些职业发展方向
  16. 如何查阅NLP资料 转自https://blog.csdn.net/qq_27009517/article/details/80841146
  17. 云队友丨陆奇:在未来,究竟哪种职业创造财富的机会最大?
  18. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java疫情期间校园车辆入校预约管理服务系统1171a
  19. MSN:移花接木巧玩“QQ秀”(转)
  20. yolov5使用教程训练our数据——手把手教你训练预测(以阿里天池比赛为例)

热门文章

  1. 不洁尸体的“诅咒”:靠死者的馈赠长高,却换来了另一种怪病
  2. leetcode597. 好友申请 I :总体通过率(必会)
  3. mysql 读写分离 360_使用奇虎360的Atlas实现MySQL读写分离
  4. 计算机专业考研复习方法,2014年东北大学计算机专业——关于考研我个人的复习方法...
  5. python输入多个整数 输入quit表示结束_从键盘输入接收多个整数,,直到输入quit时结束输入, 把所有输入的整数倒序排列打印。...
  6. 那些辞职创业的互联网人现在怎么样了?
  7. 三相 AC-DC 变换电路
  8. 宁夏理工学院计算机是专科吗,宁夏理工学院是本科还是专科
  9. 爬虫工程师想拿更高薪,这点不要忽略
  10. 【财富空间】人品,是最好的底牌