基于图像的虚拟试衣:VITON:An Image-based Virtual Try-on Network(2018)
[paper]VITON: An Image-based Virtual Try-on Network(2018)
[code]VITON
效果
网络结构
人的量化表示
- 人姿态热图
人的姿态用18个关键点表示。为了利用空间布局,每个关键点都将进一步转换为热图,关键点周围11x11领域设置为1,其他位置区域设置为0。然后将热图堆叠到18通道的姿势热图中。 - 人体表示
衣服的外观高度取决于人身体不同部位的位置和形状,使用人体解析算法对人身体的不同部位进行分割,将分割图进一步转换为1通道的二进制掩码,其中除了人脸和头发人身体用1表示,其他都用0表示。二进制掩码图下采样到较低的分辨率,避免在身体形状和目标衣服发生冲突出现伪像。 - 人脸和头发分割
使用人体分析提取人的脸部和头发区域的RGB通道,用来在生成新图像时注入身份信息。
- 人姿态热图
多任务编解码生成器
给定衣服无关的人的表示p
和目标衣服c
,通过c
到p
中相应区域的转换的重构方式来合成参考图像。利用多任务编码器-解码器框架,生成穿衣服的人像以及该人的衣服蒙版,进一步使用预测的衣服蒙版来细化所生成的结果。编码器-解码器是U-Net体现结构的一种通用类型,使用跳过连接可以通过旁路连接直接在层之间共享信息。
用 G C G_C GC表示编码器-解码器生成器,输入目标衣服 c c c和人的表示 p p p,输出合成图像 I ′ I' I′(3通道彩色图像)和衣服掩码 M M M(1通道二值图像)。为了使合成图像 I ′ I' I′更加接近参考图像 I I I,衣服掩码 M M M更加接近衣服掩码 M 0 M_0 M0(通过人工的方法获取的参考图像 I I I上衣服的掩码),利用一种感知损失来模拟合成图像和真实图像的相应特征图之间的距离,该距离由视觉感知网络计算得到。编码器-解码器的损失函数可以写成感知损失和L1损失的总和。
细化网络
细化网络,利用变形目标项目中的真实细节来渲染粗糙的模糊区域。衣服变形
根据形状匹配估计衣服变形的包办样条变换(TPS)。根据衣服前景提取的衣服蒙版 c c c和人身上的衣服蒙版 M M M计算他们之间的形状上下文TPS扭曲。变形的衣服图像符合人的姿势和身体形状信息,并充分保留目标的详细信息。这个想法类似于面部合成的2D/3D 纹理变形方法,其中2D面部关键点和3D姿势估计被用于变形。相比之下,由于缺少对服装项目的准确注释,使用基于形状上下文的变形。注意,用形状上下文匹配估计TPS的潜在替代方法是通过连体网络学习TPS参数。但是,对于非刚性衣服具有挑战性,根据经验,直接使用上下文形状匹配可以为虚拟试衣提供更好的变形结果。
学习融合
将变形的衣服图像 c ′ c' c′和合成的粗糙图像 I ′ I' I′输入细化网络 G R G_R GR,输出1通道值为0-1的掩码图像 α \alpha α,指示从变形衣服图像 c ′ c' c′和合成的粗糙图像 I ′ I' I′的每一个利用了多少信息。VITON最终试穿结果 I ^ \hat I I^是变形衣服图像 c ′ c' c′和合成的粗糙图像 I ′ I' I′的组成。
由于视觉感知网络的低层更多的关注图像的详细像素级信息而不是图像内容,所以 I I I和 I ^ \hat I I^之间的较小位移(通常是由于不完全变形引起的)会导致低层特征图像特征之间较大失配(conv1和conv2),但是虚拟试衣系统中可以接受。因此,仅使用较高的层,鼓励模型忽略不完美变形的影响,因此它能够选择变形的目标服装图像并保留细节。
进一步规范细节网络 G R G_R GR网络的输出 α \alpha α,使用L1范数和总变异范数TV。细节网络的损失计算为:
图5展示了方便在不同步骤中生成的结果。给定目标衣物和人物的表示形式,编码器-解码器会产生粗糙的结果,保留所保留的人的姿势,身体形状和面部,而目标衣物上的图形和纹理等细节则丢失。基于服装蒙版,细化阶段使用目标服装图像变形并预测构图蒙版,以确定应该在粗合成图像中替换哪些区域。因此,从目标服装图像“复制”的重要细节(第一示例中的材料,第二示例中的文本和第三示例中的图案)被“粘贴”到人的相应服装区域。
实验
数据集
正面试图的模特图像和服装图像16253对,其中训练集14221对,测试2032对。测试过程中,人应该穿着与目标产品不同的服装。实施细节
训练设置
编解码生成器
细化网络
运行
方法比较
- GANs with Persion Representation(PRGAN)
- Conditional Analogy GAN(CAGAN)
- Cascaded Refinement Network(CRN)
- Encoder-decoder generator
- Non-parametric warped synthesis
定性结果
定量结果
- 接受分数(Inception Score ,IS)通常用来定量评估图像生成模型的合成质量。产生视觉上多样化且语义上有意义的图像的模型将具有更高的接受分数,并且该度量标准与人类对图像数据集的评估紧密相关。
- 感知用户研究,反映目标衣服细节是自然转移的还是衣服的姿势和身体是否保留在合成图像中。
参考资料
[paper]VITON: An Image-based Virtual Try-on Network(2018)
[code]VITON
基于图像的虚拟试衣:VITON:An Image-based Virtual Try-on Network(2018)相关推荐
- 基于图像的虚拟试衣:Image Based Virtual Try-On Network from Unpaired Data
Image Based Virtual Try-on Network from Unpaired Data Image-Based-Virtual-Try-on-Network-from-Unpair ...
- 基于图像的虚拟换装:Towards Photo-Realistic Virtual Try-On by Adaptively Generating-Preserving Image Content
Image Based Virtual Try-On 基于图像的虚拟换装,可以直接生成换好装的人物图片.VITON提供了一个被广泛使用的pipeline,现在的方法大多遵循类似的框架. 利用网络泛化能 ...
- 基于图像的虚拟试衣:CloTH-VTON:Clothing Three-dimensional reconstruction for Hybrid image-based Virtual Try-On
CloTH-VTON:Clothing Three-dimensional reconstruction for Hybrid image-based Virtual Try-On(2020) 摘要 ...
- CVPR 2020 | ACGPN: 基于图像的虚拟换装新思路
点击上方"机器学习与生成对抗网络",关注"星标" 获取有趣.好玩的前沿干货! CVPR 2020之117篇GAN论文分类清单 编辑 AI科技评论 本文介绍的是 ...
- 基于图像的虚拟换装:Morphing architectures for pose-based image generation of people in clothing
项目的重点是变形操作的特征化与实现,解决卷积神经网络中的信息失准问题.我们将所研究的方法应用到一个换衣服的任务中,将其建模为一个条件图像生成问题.尽管对抗性方法在生成性任务中很流行,但我们将此项目的范 ...
- 【虚拟试衣论文笔记】CP-VTON+: Clothing Shape and Texture Preserving Image-Based Virtual Try-On
论文地址:http://users.cs.cf.ac.uk/Paul.Rosin/resources/papers/CP-VTON+.pdf 项目地址:https://github.com/minar ...
- 综述:利用深度学习实现的虚拟试衣技术(基于图像)
学习报告5 目录 学习报告5 1. 二维虚拟试衣技术 1.1 发展历史 1.2人体解析 1.2.1 人体分割 VITON & CP-VTON MG-VTON ClothFlow 条件布局生成器 ...
- VITON: An Image-based Virtual Try-on Network虚拟试衣网络论文翻译
引用论文: Han, X., Wu, Z., Wu, Z., Yu, R., Davis, L.S.: Viton: An image-based virtual try-on network. ar ...
- 虚拟试衣:GAN的落地应用挑战之一
点击上方"机器学习与生成对抗网络",关注星标 获取有趣.好玩的前沿干货! 背景 近年来,在线购物需求不断增长.尽管网购能提供一些便利,但消费者也关心网购所买的服装真正在他们身上穿上 ...
最新文章
- 图像处理之快速均值模糊(Box Blur)
- python连接oracle进行监控_使用Python脚本zabbix自定义key监控oracle连接状态
- linux2.6添加新硬盘,Linux_TurboLinux11添加新硬盘方法,一.Linux的硬盘识别2.6 kernel - phpStudy...
- python中如何对dict对象进行排序
- 调用接口返回500_公交卡余额查询接口开放使用啦!
- mysql无法启动修复_记一次MySQL无法启动及修复经历
- Oracle体系结构四(学习笔记)
- Helm 3 完整教程(三):chart 的文件结构和字段详解
- php输出因子,如何在PHP因子程序中返回值
- (转)黑石帝国崛起的30年
- 前后端开发接口文档模板(登录、注册、项目发布与需求发布)
- linux 共享文件拒绝访问权限,Samba共享文件夹拒绝访问
- Vue2源码学习笔记 - 12.响应式原理—Dep 类详解
- 小明左右手分别拿了两张牌,黑桃十和红心八,现在交换手中的牌。编写一个程序模拟这一过程:两个整数分别保存两个变量,将这两个变量的值互换,并输出互换后的结果
- 计算机专业html5的毕业论文范文,5000字计算机专业大专毕业论文参考范文
- 漫威超级争霸战辅助脚本,快速刷星币打竞技场副本
- 如何防止失眠——学习笔记
- 2.4G功放芯片,支持国产
- Java开发技术总结!小米java校招面试题
- PyTorch常用的张量创建、变形及运算总结(速查表)
热门文章
- 第10章第2节:使用iSlide统一所有幻灯片的段落属性 [PowerPoint精美幻灯片实战教程]
- [UWP]使用Writeable?Bitmap创建HSV色轮
- 信息安全意识培训材料(附下载)
- Android VR视频
- [附源码]Python计算机毕业设计蛋糕店会员系统Django(程序+LW)
- mysql双竖线合并_MySql 将查询结果多列合并成一行GROUP_CONCAT
- 修改全局变量java_如何在JAVA中设置一个全局变量
- Java_文件字符流说明
- matplotlib不显示刻度值,仅显示刻度线
- 字体过多导致样式变形