AI 换装之OOTDiffusion

项目地址:https://github.com/levihsu/OOTDiffusion

试用地址:https://ootd.ibot.cn/
其它项目

本地部署

下载模型

  1. git lfs安装, 然后国内源下载 git clone https://www.modelscope.cn/AI-ModelScope/clip-vit-large-patch14.git
  2. 然后国内镜像手动下载 https://hf-mirror.com/levihsu/OOTDiffusion/tree/main 相应模型文件(git 好像访问不到)
  3. 将模型文件放到项目checkpints下

代码修改

由于只有一个GPU,文件run\gradio_ootd.py中#24~#26原来为:

openpose_model_dc = OpenPose(1)

parsing_model_dc = Parsing(1)

ootd_model_dc = OOTDiffusionDC(1)

把它们改成:

openpose_model_dc = openpose_model_hd

parsing_model_dc = parsing_model_hd

ootd_model_dc = ootd_model_hd

代码运行

  1. 指定图片运行 python3 run_ootd.py --model_path ren.png --cloth_path clothes2.jpg --scale 2.0 --sample 4
  2. 网页demo运行 python3 gradio_ootd.py

原理解析

简介

基于图片虚拟试穿(image-based virtual try-on ,VTON)

基于扩散模型全套试穿:Outfitting over Try-on Diffusion (OOTDiffusion)

利用预训练的潜在扩散模型的力量(pretrained latent diffusion models),用于现实和可控的(realistic and controllable)虚拟试穿。在没有明确的衣物形变适应过程(warping process)的情况下,

提出了一个outfitting UNet来学习服装细节特征,在扩散模型去噪过程中,通过我们提出的服装融合outfitting fusion将其与目标人体融合。

前置内容

  1. clip-vit-large-patch14
  2. Stable Diffusion v1.5
  3. VAE

原理

  1. 在左侧,服装图像被 clip-vit-large-patch14 编码到潜在空间中,并输入到服装UNet中进行单步处理。
  2. 与CLIP编码器生成的辅助调节输入一起,通过服装融合(outfitting fusion)将服装特征纳入去噪UNet。
  3. 在训练过程中,为了实现无分类器的指导(classifier-free guidance),对训练过程进行了 outfitting dropout。
  4. 在右侧,输入的人类图像通过掩码生成模块(mask generator, HumanParsing+OpenPose )将需要换衣以及相近的地方被遮盖为黑色(masked),并与高斯噪声连接在一起,作为多个采样步骤的去噪UNet的输入。
  5. 去噪后,特征映射被解码回图像空间作为我们的试戴结果。
相关推荐
hyshhhh9 小时前
【算法岗面试题】深度学习中如何防止过拟合?
网络·人工智能·深度学习·神经网络·算法·计算机视觉
AndrewHZ10 小时前
【图像处理基石】什么是tone mapping?
图像处理·人工智能·算法·计算机视觉·hdr
jndingxin12 小时前
OpenCV 图形API(11)对图像进行掩码操作的函数mask()
人工智能·opencv·计算机视觉
阳光_你好12 小时前
请详细说明opencv/c++对图片缩放
c++·opencv·计算机视觉
契合qht53_shine13 小时前
OpenCV 从入门到精通(day_05)
人工智能·opencv·计算机视觉
新知图书14 小时前
OpenCV单窗口显示多图片
人工智能·opencv·计算机视觉
荷包蛋蛋怪14 小时前
【北京化工大学】 神经网络与深度学习 实验6 MATAR图像分类
人工智能·深度学习·神经网络·opencv·机器学习·计算机视觉·分类
QQ_77813297415 小时前
OpenCV引擎:驱动实时应用开发的科技狂飙
opencv·计算机视觉
羑悻的小杀马特17 小时前
OpenCV 引擎:驱动实时应用开发的科技狂飙
人工智能·科技·opencv·计算机视觉
蹦蹦跳跳真可爱58918 小时前
Python----计算机视觉处理(Opencv:道路检测之提取车道线)
python·opencv·计算机视觉