目录

  • 开发环境
  • 数据下载
  • VITON复现(未完成)
  • [Toward Characteristic-Preserving Image-based Virtual Try-On Network](https://arxiv.org/abs/1807.07688v1) (ECCV 2018)
  • CP-VTON复现

开发环境

除了根据link配置好cuDNN,Tensorflow,PyTorch以外,一些其他的依赖包如TensorboardX,Opencv 等也可以用同样的方法在命令行用pip3 install 并通过清华镜像 -i https://pypi.tuna.tsinghua.edu.cn/simple 进行配置。

安装PyCharm。先在PyCharm官网下载安装包,在命令行进入解压后的/bin文件夹,执行 sh ./pycharm.sh 命令,之后的操作参照链接,并参考link配置项目环境。

错误解决方案:

  • sudo apt-get install 出现“E: 有几个软件包无法下载,要不运行 apt-get update 或者加上 --fix-missing 的选项再试试?”。参考1 参考2 。由于两种方案都有尝试,所以不确定是哪一个奏效。

  • “sudo add-apt-repository command not found”:解决方案

  • “no module named Tensorflow”:存在多个版本的python时,需要键入正确版本如使用pip3安装则是python3,以导入模块。参考

  • “tensorboard: command notfound”:解决方案 我是在tensorboard里python main.py解决的

数据下载

谷歌搜索镜像:谷歌学术镜像

MultCloud:在官网注册一个账号,进入后绑定百度云或其他可访问的网盘,绑定Google Drive(需要代理),在Google Drive中将需要下载的文件保存到自己的空间后,在MultCloud中选中,Copy to 目标网盘,即可在其他网盘工具进行高速下载。如果是放在谷歌网盘的数据集,可以通过上述方法下载。

我后来保存了cp-vton的数据集和模型,可以在(链接 提取码:8aum)下载,里面有一个model文件夹和一个viton_resize.tar.gz。

VITON复现(未完成)

VITON: An Image-based Virtual Try-on Network(CVPR 2018)

(论文地址 Github项目地址(Star 209))

在Github的诸多虚拟试穿的项目中,VITON的这一复现项目是最热门的项目之一,因此我原先的计划是跑一下这个模型。但是项目使用的数据集应该是涉及到zalando公司的利益而版权受到限制,有评论提到可以用CP-VTON项目中使用的数据集代替,而两边用到的数据的格式和深度学习库不一样,我没将数据处理修改好,所以暂时没跑。

使用PyCharm进行调试,命令行参数的设置可经下图所示步骤。

Toward Characteristic-Preserving Image-based Virtual Try-On Network (ECCV 2018)

这篇文献是对 VITON 的一个改进,相较于 VITON,CP-VTON 在生成试衣图像时并没有采用 shape context matching,而是采用了一种 tailored convolutional neural network。

人物表示

姿势热图:一个18通道的特征图,每个通道对应一个人体姿势关键点,绘制为11 × 11白色矩形。

身体形状:模糊的二进制蒙版的1通道特征图,大致覆盖了人体的不同部位。

保留区域:包含保留区域以保持人的身份(包括脸部和头发)的RGB图像。

Geometric Matching Module(GMM)

它的输入是人物表示p和目标产品图片c,p和c的高级特征会由两个网络提取,然后被一个相关层组合到一起。与
VITON的编码器-解码器生成器不同,GMM的输出并不是目标变形衣服形状的mask,而是变形后的衣服。

GMM通过训练一个 regression network 预测空间变换参数并使用TPS转换来生成变形后的衣服,其代价函数为变形后的衣服与Ground True 的L1损失。直接使用像素对像素的误差能提升网络的效率,不过不一定能获得更好的生成效果。GMM不像VITON使用预先训练的VGG19,而是从头开始训练。

在 GMM部分,主要分为 Feature Extraction Network (用于人物表示和衣服的特征提取)和 Regression Network 两部分。在 Feature Extraction Network 部分中,包含四个2-stride的下采样卷积层,后接两层卷积层使用了 1-stride以维持输出的维数。Regression Network 包含两个 2-stride 的卷积层、两个 1-stride 的卷积层、一个全连接的输出层。文章也给出了 SCMM 与 GMM 的效果对比,结果显示 GMM 在处理较大幅度的变形的时候能获得比 SCMM 更好的效果。

Try-on Module(TOM)

给定人物表示和变形衣服,UNet同时生成渲染人物与Composition Mask,渲染人物与变形衣服将通过Composition Mask合成最终结果。

和 VITON 的 Refinement Network 差不多,比较具体的不同是在于代价函数的选择。在 VITON 中,代价函数只用了 VGG19感知损失,而在 CP-VTON 中,作者加上了 pixel-wise 的 L1 损失。此外,由于 CP-VION 在 GMM 中并没有得到 segmentation mask,在计算 Composition Mask 的误差的时候无法照搬 VITON 的损失函数。基于特征保留的目的,作者使用了 1 - M 的 L1
范数来增强服装部分像素点对 loss 函数的影响。具体损失函数如下:

CP-VTON复现

Toward Characteristic-Preserving Image-based Virtual Try-On Network (ECCV 2018)

(论文地址 Github项目(Star 156)地址 地址2 )

同样出自GitHub中的热门项目。Clone 地址中的项目到本地,将GoogleDrive 中/viton_resize文件夹里的数据保存到/data目录下,按照2中的说明修改cp_dataset.py以及命令行参数(使用命令行或 .sh文件运行时将python改为python3)。

项目的主要文件包括:

  • networks.py:定义GMM,TOM在内的各种网络结构

  • test.py:测试模块

  • train.py:训练模块

  • cp_dataset.py:数据预处理,包括绘制姿势热点图等

  • visualization.py:可视化测试结果

按照给定的参数进行了训练与测试。CP-VTON的第一部分为几何匹配模块,将干净的衣服图片变形,第二部分为试戴模块,将变形后的衣服穿戴到模特身上。

Geometric Matching Module训练结果:以产品图片和人物表示为输入,第二行中间为几何变形结果,第三行中间则为直接覆盖在原图的效果预览,其右为原图。

Geometric Matching Module测试结果:以产品图片和人物表示为输入,第二行中间为几何变形结果,第三行中间则为直接覆盖在原图的效果预览,其右为原图。

Try-on Module训练结果:以GMM得到的结果与人物表示作为输入。最后一行中央的图片为合成图片,其右为真实图片。

Try-on Module测试结果:以GMM得到的结果与人物表示作为输入。最后一行中央的图片为合成图片,其右为真实图片。

为了更直观查看模型效果,借用2的smart_show_test_result.py,由于dict类型是无序的,需要对原先代码进行修改,引入OrderedDict类型才能输出正确的结果。(关于OrderedDict)

使用matpoltlib显示图片:方法

从测试结果大致看来,CP-VTON在面对身体遮挡问题的表现有显著的不足,衣服细节保留方面也有许多欠缺。

总结:

之前在Github看到相关项目提供的数据集大多数都放在Google Drive里,由于难以访问Google Drive,浪费了太多时间才找到合适的方法来下载文件。

无法访问Google Drive的问题虽然解决起来简单,但是如果平时习惯用谷歌搜索,无法访问谷歌这一点,它出来的都是不相关的解决方案。一开始因为网络工具不太稳定而文件太大一直下不完,进度就卡住了。其实只要用百度搜索一下就能找到解决方案了,但是前期一直没有意识到这个问题。

千万不要只在一个搜索引擎找解决方案哈哈哈哈哈哈哈哈(哭了出来)。

除了看CP-VTON的项目相关外,留意了一些更新的研究如Multi-pose Guided Virtual Try-on Network(MG-VTON)或者End-to-End Learning of Geometric Deformations of Feature Maps for Virtual Try-On (WUTON),目前网上还没有看到相应的复现。

一些找到的其他虚拟试穿项目:

Paper Project Link Star
Deep Virtual Try-on with Clothes Transform(ICS 2018) https://github.com/b01902041/Deep-Virtual-Try-on-with-Clothes-Transform 53
VITON: An Image-based Virtual Try-on Network(CVPR 2018) https://github.com/amjltc295/VITON_realtime 41
SwapNet: Image Based Garment Transfer(ECCV 2018) https://github.com/andrewjong/SwapNet 26

深度学习环境配置 和 CP-VTON 复现相关推荐

  1. 【深度学习】相当全面的深度学习环境配置指南!(Windows、Mac、Ubuntu全讲解)...

    作者:伍天舟.马曾欧.陈信达 入门深度学习,很多人经历了从入门到放弃的心酸历程,且千军万马倒在了入门第一道关卡:环境配置问题.俗话说,环境配不对,学习两行泪. 如果你正在面临配置环境的痛苦,不管你是W ...

  2. 深度学习环境配置指南!(Windows、Mac、Ubuntu全讲解)

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:伍天舟.马曾欧.陈信达 入门深度学习,很多人经历了从入门到放弃的心 ...

  3. 深度学习环境配置10——Ubuntu下的torch==1.7.1环境配置

    深度学习环境配置10--Ubuntu下的torch==1.7.1环境配置 注意事项 一.2022/9/18更新 学习前言 各个版本pytorch的配置教程 环境内容 环境配置 一.Anaconda安装 ...

  4. 保姆级教程:深度学习环境配置指南!(Windows、Mac、Ubuntu全讲解)

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 入门深度学习,很多人经历了从入门到放弃的心酸历程,且千军万马倒在了 ...

  5. 基于Ubuntu 18.04机器人操作系统环境和深度学习环境配置

    基于Ubuntu 18.04机器人操作系统环境和深度学习环境配置详解 CUDA+Cudnn+ROS+anaconda+ubuntu装机必备 笔记本双系统安装 U盘启动项安装ubuntu18.04.1 ...

  6. ubuntu系统(八):ubuntu18.04双系统安装+ros安装+各种软件安装+深度学习环境配置全家桶

    0 说明 1.安装ubuntu18.04系统 1.1 ubuntu18.04镜像地址(可以用迅雷等下载): 1.2 下载Rufus: 1.3 制作镜像: 1.4 磁盘分区 1.5 关闭win11快速启 ...

  7. Ubuntu 深度学习环境配置、Theano TensorFlow PyTorch 安装、常用软件安装方式

    文章目录 介绍 系统和显卡 深度学习环境配置 安装 Nvidia 显卡驱动 安装 CDUA 安装 cuDNN 深度学习框架安装 安装 Theano-gpu 安装 TensorFlow-gpu 安装 P ...

  8. 2080Ti深度学习环境配置及常用软件安装

    2080Ti深度学习环境配置及常用软件安装 ubuntu 16.04 双系统的安装(已有window10系统) 显卡驱动安装 tensorflow安装 teamviewer安装 pycharm安装 m ...

  9. 双系统Ubuntu22.04深度学习环境配置与踩坑记录

    双系统Ubuntu22.04深度学习环境配置踩坑记录 前言 目录 相关版本 主要参考教程 Ubuntu安装 Nvidia和CUDA安装 踩坑经历 官网安装所遇问题 cuDNN安装 Anaconda安装 ...

  10. Nvidia TX2 刷机+深度学习环境配置(cuda 8.0+python 3.5+opencv 3.4+tensorflow 1.4.1+keras+pip3)

    配置说明 一.刷机/重装系统 二.环境配置 三.参考 一.刷机/重装系统(系统损坏时可按以下步骤重装系统) 1)刷机之前的准备 (1)装有ubuntu16.04的电脑(主机),因为我们要安装的JetP ...

最新文章

  1. php可以定义数组的常量吗
  2. 哈啰顺风车成立5亿元“顺风绿色出行基金”
  3. Redis的常用命令——String的常用命令
  4. unity应用开发实战案例_Unity游戏案例开发大全 (吴亚峰等著) 完整pdf高清版[31MB]...
  5. [jQuery] 通过ajax保存到服务器,成功显示信息.
  6. Minor GC和Major GC
  7. 2019-0331视觉SLAM的学习第一讲
  8. Sharepoint 2010 解决DFWP - Unable to display this Web Part 的问题
  9. 软件开发工具--自考2019年4月
  10. ailed to send crash report due to a network error: SocketException: OS Error: 信号灯超时时间已到 , errno = 12
  11. 追求代码质量: 使用 TestNG-Abbot 实现自动化 GUI 测试
  12. CMOS图像传感器基本原理
  13. npm启动报错Eorror:ENOENT no such file or directory ‘/node-sass/vender‘
  14. 拼多多免费版 自动回复 关键词回复 提高3分钟回复率
  15. bad interpreter: No such file or directory解决办法
  16. diameter协议栈_Diameter协议摘要
  17. NUL 与 NULL
  18. 如何实现表格固定表头和某列
  19. 江西省2017计算机会考,江西:关于2017年普通高考科目考试时间安排的通知
  20. JS开发常用方法封装

热门文章

  1. 大一大学计算机论文摘要,计算机大学论文摘要怎么写 计算机大学论文摘要范文参考...
  2. 二、卫星大地测量基础(3)
  3. 机器人与控制器的关联
  4. 菜谱点菜c语言编程,菜单点菜并计算价格 C++改成C 运行成功100分
  5. 新手入门WPF之TreeView控件(一)
  6. 【ppt制作软件】Focusky教程 | 怎样实现表格的行列转换?
  7. 传闻很多企业倒闭了?比亚迪大裁员,中小企业倒闭......
  8. mac 本地docker 运行hyperf
  9. 何海涛100题(1)自己心得
  10. 小案例:利用Python写个教师常用的点名软件