基于Stable Diffusion的AIGC服饰穿搭实践

2023-11-01

06f62f3fa92dca0e54b18e2edc2eb8a0.gif

本文主要介绍了基于Stable Diffusion技术的虚拟穿搭试衣的研究探索工作。文章展示了使用LoRA、ControlNet、Inpainting、SAM等工具的方法和处理流程,并陈述了部分目前的实践结果。通过阅读这篇文章,读者可以了解到如何运用Stable Diffusion进行实际操作,并提供更优质的服饰虚拟穿搭体验。

19d1f183309e7dc62e28016ecb2e5d77.png

业务背景

随着AI技术的不断创新,AI创作工具已经逐渐成为艺术家、设计师和创作者们的最佳助手。在AI生图领域,Stable Diffusion以其开源、生出图片质量高等众多优势脱颖而出,展现出强大的综合实力。我们希望利用Stable Diffusion作为工具,在虚拟服饰穿搭领域进行一些创新和探索,期待通过AI技术的应用,在线上提供更多样化、个性化的服装选择和搭配方案,为用户提供更好的服饰虚拟穿搭体验。

441474cb7e7f4c8ea3d3d085967ff721.png

现状调研

在虚拟穿搭领域,目前主要有两类主流方法,分别是虚拟试衣VTON和基于Stable Diffusion的AIGC穿搭。

  虚拟试衣VTON

基于图像的虚拟试衣方法的处理流程通常有两个阶段:将试穿的服装扭曲以与目标人物对齐的几何匹配模块(GMM)和将扭曲的服装与目标人物图像混合的Try-On Module (TOM)。

dc6e39b0e29bb45d1d332e6913b6f867.png

为了训练神经网络,理想的数据集应该是:用户身穿自己衣服的照片,要试穿的衣服产品图,用户身着要试穿衣服的照片,在一般情况下获取到这样大量的理想数据集是非常难的。因此,对于VTON而言,大多数虚拟试衣模型神经网络的训练,都建立在一个上万张女模型数据集的基础上,且这上万张模特数据照片以正面视角为主,缺乏多机位多角度的拍摄。样本图片大小固定为256*192,出图的清晰度已经很难满意目前的用户需求。上述原因都限制了VTON实际应用中的效果。

  基于Stable Diffusion的AIGC穿搭

利用Stable Diffusion的大模型生图能力,辅以LoRA、ControlNet、Inpainting等“外挂”手段,增强穿搭出图的可控性与稳定性。

  • LoRA

LoRA,英文全称Low-Rank Adaptation of Large Language Models,直译为大语言模型的低阶适应,是一种参数高效性微调方法。LoRA的基本原理是在冻结预训练好的模型权重参数情况下,通过往模型中加入额外的网络层,并只训练这些新增的网络层参数。由于这些新增参数数量较少,这样不仅 finetune 的成本显著下降,还能获得和全模型微调类似的效果。

412130ccb6bdb27c6ec2685631b5ceae.png

在https://civitai.com/等主流的绘画模型分享网站中,我们可以下载并运用已经finetune好的LoRA模型,用于输出特定风格的人、场景、服饰等。在我们服饰生成的工作中,我们通过对每件服饰准备了十张左右的训练样本图片,经过数据清洗、打标等处理流程后,通过训练生成一个LoRA小模型,这个LoRA模型可以学习到服饰的颜色、纹理等特征,最后应用LoRA模型产出AIGC的服饰穿搭。

  • ControlNet

在完成上述的LoRA训练后,如果我们希望AI生成的图片更易控制,人物姿态更明确,就可以使用ControlNet插件。ControlNet的核心能力是通过设置各种条件来让AI生成的最终图片结果更加可控。这些条件是通过调整预处理器参数实现的,因此我们需要先了解ControlNet各种预处理器模块的功能。下图展示了一些主要预处理器的功能和对应的模型。

8b647f516fc08d5dae85095bf4e3eec2.png

例如,我们可以选择Canny预处理器,再选择对应的模型,对输入的图片进行边缘检测,生成线稿,然后根据Prompt提示词来生成与上传图片同样构图的画面。

eaf8b0caee02d464ca88d196b201f717.png

  • Inpainting

Inpainting模式是Stable Diffusion图生图中的一种特殊模式,用户可以通过上传Mask图,使Stable Diffusion根据其余信息(例如Prompt、LoRA、ControlNet)保留Mask内部的全部细节,重绘其余所有部分。

3cea0f2b86e5c4412b3dc233b70852ae.png

可以通过Mask Mode选择重绘Masked部分或者除Masked外的剩余部分。

  • Segment Anything

Segment Anything如其名分割一切,是一个由Meta开源的图像分割模型,号称图像分割领域的GPT 4.0。网页demo如下:https://segment-anything.com/demo。在Stable Diffusion的Web UI中,我们也可以通过下载安装Segment Anything插件来实现相同的功能。分割方式非常友好,可以通过左键、右键简单地点击来选择或者提出对应物体,物体就会立即被分割出来,可以绘制成Mask图,直接发送至上节的Inpainting模式中使用。

f0de5a88dbee1c400cd95648420a5220.png

5d3812cacdd1aeb36eee854557a811df.png

处理流程

  本地部署

Stable Diffusion Web UI 是一个基于 Stable Diffusion 的基础应用,利用 gradio 模块搭建出交互程序,可以在低代码 GUI 中立即访问 Stable Diffusion,我们在本地部署了Stable Diffusion Web UI ,本地机器显卡配置为RTX3060 12GB。Stable Diffusion Web UI为保持代码整洁和便于管理,逐步将非核心功能解耦并转为插件和拓展脚本形式提供,我们可以根据需要从对应的GitHub仓库中下载插件,并放到Web UI 路径下的extensions文件夹下,启动时Web UI会从中自动加载插件。

Stable Diffusion Web UI 地址:https://github.com/AUTOMATIC1111/stable-diffusion-webui

  LoRA训练
  • 训练样本背景去除、大小裁剪

在进行LoRA训练前,对于每一件服饰,我们批量处理了约10张样本图片,去除了背景并统一裁剪为512*512的尺寸。

  • Tag生成

这里,我们使用Tagger插件,Tagger插件可以批量反推样本图片的Tag标签数据,相比于Stable Diffusion图生图中自带的CLIP和DeepBooru插件效果更好。输入样本图片所在的文件夹信息,并在下方填写Additional/Exclude tags选项,即可预设或者屏蔽某些Tag标签的产出。

Tagger 地址:https://github.com/toriato/stable-diffusion-webui-wd14-tagger

3999f218fa27c27dfbfa1f94ced792dd.png

  • Tag编辑

在tag标签生成后,可以通过Dataset Tag Editor插件,对tag进行编辑。目前插件的tag反推精准度依然有限,时常需要人工介入剔除掉一些不相干或者完全错误的Tag词,以保证训练LoRA模型的精准性和还原性。

ff7b7d5204a4d066cce81b65748a4ec5.png

Dataset Tag Editor 地址:https://github.com/toshiaki1729/stable-diffusion-webui-dataset-tag-editor

  • 本地训练

在完成上述一系列图片、tag标签的预处理后,就正式进入到了LoRA模型的训练阶段,在本机RTX3060 12GB的机器配置下,完成对示例11张样本图片50批次训练的时间成本在30分钟左右。训练完成后,单个LoRA模型的大小在37MB左右。

9beb196ed56ddaf9cb314ef48933047f.png

  ControlNet

在以人物为主的生成图中,最常采用的是openpose系列的预处理器,openpose来对人物全身的骨骼姿态进行检测,使得输出图和上传输入图保留一致的人体骨骼形体,增强输入人物的姿态可控。可以在ControlNet插件中预览人体的骨骼姿态,也可以通过调节Control Weight权重参数来控制骨骼姿态对最终出图结果的影响。

febb0c5de3a89b08c2fe22079a3eabf7.png

9f3e882f790b21b453cfad9382e01981.jpeg

成果展示

  单件试衣

针对于不同类型的服饰采集了训练样本,进行了LoRA的训练,服饰类型包括衬衫、外套、裤子、鞋子等,查看了单一LoRA与模特、虚拟人结合出图的效果。结果发现普通上衣下衣类别的服饰准确率比较高,可以基本还原服饰的颜色、纹理等特征,上身效果也不错。

  • T恤

输入

ee1b2641bab690d991674b71f3d2042e.png

输出

8a0ca5834e2280f838b6ec3a9cc514e2.png

  • 外套

输入

63088a79e4a3e19a1d21aede75d7c3cd.png

输出

71cbf5aa9860be35e479af24e3a850d2.jpeg

  • 夹克

输入

5b3ed72c16eda256e87fc9982acbd7d8.png

输出

aa01584a80dce22465f014d47a2efa4b.png

  • 衬衫

输入

0c7aa50afafd3c230e2649660aec6d8f.png

输出

ae7459e5f9311085f936f5d5e806639c.png

  • 长裙

输入

d24e303f12f6a09df354ef79f0aa4865.png

输出

45d75d6939c1e846d4f462a08b319e48.png


输入

69b3a5b3892851636f64514cae7bddb5.png

输出

d4ba5d805324c61744c23123cbbd4930.png

  季节试衣

在对单一服饰的LoRA训练出图后,我们又对于不同季节的服饰套装进行了风格训练,选取了春秋季、夏季、冬季三个季节的服饰穿搭套装进行了LoRA训练。从产出的图片效果来看,服饰套装的上身效率很不错,搭配比较合理,与季节的关联度比较高。

  • 春秋季

79433175a0ba4b06d9106c269dfcc565.png

  • 夏季

a7afcdbfb70aadcf1d81fbd2fbe9e173.png

  • 冬季

dccac86bed4d308d3122b37523472f60.png

b99211ffb98414277dde5d4b98eb6864.jpeg

总结

我们基于在本地环境搭建的Stable Diffusion,对服饰进行了LoRA小模型微调,学习到服饰自身的特征信息,利用ControlNet插件提升了出图的可靠性与稳定性,初步完成了AIGC的服饰穿搭DEMO实践。从单件服饰的生成穿搭来看,普通类的上下衣主服饰还原度比较高。季节类的套装和人物模特合图效果尚可,上身效果也比较不错。

d46090838c4c4a8568a7178aa69cfd64.jpeg

参考文献

  1. CP-VTON+: Clothing Shape and Texture Preserving Image-Based Virtual Try-On(地址:https://minar09.github.io/cpvtonplus/cvprw20_cpvtonplus.pdf)

  2. Segment Anything(地址:https://segment-anything.com/)

  3. continue-revolution/sd-webui-segment-anything(地址:https://github.com/continue-revolution/sd-webui-segment-anything)

  4. toshiaki1729/stable-diffusion-webui-dataset-tag-editor(地址:https://github.com/toshiaki1729/stable-diffusion-webui-dataset-tag-editor)

  5. 零基础读懂Stable Diffusion(I):怎么组成(地址:https://zhuanlan.zhihu.com/p/597247221)

  6. Stable Diffusion 常用术语(地址:https://www.bilibili.com/read/cv24001275/?from=search)

ef4a53d2d8588d2cf1540d8826124366.jpeg

团队介绍

我们是大淘宝技术-手猫技术-营销&导购团队,我作为一支专注于手机天猫创新的商业化及导购场景探索的团队,我们团队紧密依托淘天集团强大的互联网背景,致力于为手机天猫带来更高效、更具创新性的技术支持和商业化的导购场景。我们的团队成员来自不同的技术领域和营销导购领域,拥有丰富的技术经验和营销经验。我们不断探索并实践新的技术,创新商业化的导购场景,并将这些创新技术应用于手机天猫业务中,提高了用户体验和平台运营效率。作为一支技术创新和商业化的团队,我们致力于为手机天猫带来更广阔的商业化空间和更高效的技术支持,赢得了用户和客户的高度评价和认可。我们团队一直秉承“技术领先、用户至上”的理念,不断探索创新、提升技术水平,为手机天猫的导购场景和商业化发展做出重要贡献。

¤ 拓展阅读 ¤

3DXR技术 | 终端技术 | 音视频技术

服务端技术 | 技术质量 | 数据算法

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于Stable Diffusion的AIGC服饰穿搭实践 的相关文章

  • Stable Diffusion使用方法

    SD的本地安装教程有很多我就不重复了 这里主要是记录我在使用SD Webui的过程中遇到的问题 总结的一些提升出图效率 出好图概率的经验 先搞几张看看效果 二次元妹妹 高达 Ok 以上只是一小部分成品 属于是抛砖引玉之作 我当时设置的参数出
  • AIGC用于智能写作的技术综述-达观数据

    导语 图1 ChatGPT生成的关于智能写作的介绍 智能写作指使用自然语言处理技术来自动生成文本内容 这种技术通过分析给定语料库 学习文本的结构和语法 然后利用这些信息来生成新的文本 智能写作可以用来快速生成高质量的文本内容 并且可以用来完
  • 人工智能的最新进展:2024年将会发生什么?

    文章目录 2024年AI最新发展 2024年AI具体应用 2024年AI的具体预测 创作者 全栈弄潮儿 个人主页 全栈弄潮儿的个人主页 个人社区 欢迎你的加入 全栈弄潮儿的个人社区 专栏地址 AI大模型 人工智能 AI 是一种快速发展的技术
  • 4.人脸检测mtcnn+mobilenet戴口罩分类

    from keras models import Model Sequential import tensorflow as tf import numpy as np import cv2 import os from functools
  • Stable-Diffusion-WebUI从代码下载到使用技巧

    一 写在前面 本文用于对AI绘画感兴趣但无计算机编程基础的人 包含本人安装和使用过程中的心得 可供新学者参考 心理准备 电脑性能越高越好 最好有高端显卡 如30系以上 低端显卡也可以 速度和质量感人就是 会要求下载一些软件 模型 涉及环境变
  • 因材施教,有道发布“子曰”教育大模型,落地虚拟人口语教练等六大应用

    因材施教的教育宗旨下 大模型浪潮中 网易有道凭借其对教育场景的深入理解和对商业化的理性思考 为行业树立了垂直大模型的典范 7月26日 教育科技公司网易有道举办了 powered by 子曰 教育大模型应用成果发布会 会上重磅推出了国内首个教
  • 招募 AIGC 训练营助教 @上海

    诚挚邀请对社区活动感兴趣的你 成为我们近期开展的训练营助教 与我们共同开启这场创新之旅 助教需要参与 协助策划和组织训练营活动 协助招募和筛选学员 协助制定训练营的宣传方案 负责协调和组织各项活动 助教可获得 AIGC知识库 获得社区提供的
  • Stable Diffusion教程

    什么是Stable Diffusion Stable Diffusion是一种潜在扩散模型 Latent Diffusion Model 能够从文本描述中生成详细的图像 它还可以用于图像修复 图像绘制 文本到图像和图像到图像等任务 简单地说
  • 任务 01、重塑视觉艺术:Midjourney AI绘画的无限可能

    1 1 任务目标 了解什么是MidJourney MidJourney公司简介 了解生成式人工智能MidJourney原理 MidJourney 能做什么 目前市面主流的Ai绘画工具有哪些 MidJourney的商业价值与企业应用 1 2
  • Stable Diffusion 系统教程

    2023年的2月13日 一款名叫ControlNet的插件横空出世 AI绘画变得更加可控 ControlNet直译过来很简单 就叫做控制网 开发者是一名华裔 毕业于苏州大学 目前在斯坦福做读博士一年级 大佬大佬 在controlNet之前
  • 前沿探索|关于 AIGC 的「幻觉/梦游」问题

    AI语言模型的梦游是指模型产生内容与真实世界不符或者是毫无意义的情况 这种情况主要是由于语言模型缺乏真实世界的知识和语言的含义 导致模型难以理解和表达现实世界的概念和信息 这种情况在现代自然语言处理中普遍存在 尤其是在开放式生成领域的问题中
  • AI绘画Stable Diffusion原理之扩散模型DDPM

    前言 传送门 stable diffusion Git 论文 stable diffusion webui Git Google Colab Notebook部署stable diffusion webui Git kaggle Noteb
  • 【2023 AI 写作工具大盘点】国内外 45 款免费 AI 写作神器汇总,轻松成为创作高手!

    0 未来百科 未来百科 https nav 6aiq com 是一个知名的AI产品导航网站 为发现全球优质AI工具而生 目前已 聚集全球3000 优质AI工具产品 旨在帮助用户发现全球最好的AI工具 同时为研发AI垂直应用的创业公司提供展示
  • 轻松打造“文生图”神器!10分钟部署Stable Diffusion

    最近一年 扩散模型太火了 已经成为重要的生产力工具 在AI研究领域也不断有新的工作出现 成为产业界和学术界的热点 本文将在趋动云平台部署扩散模型中广受关注的stable diffusion webui项目 手把手教程 创建项目 首先创建项目
  • 用 Python 打造 AIGC 的「操作系统」

    carefree0910 carefree drawboard Infinite Drawboard in Python github com https github com carefree0910 carefree drawboard
  • Stable Diffusion背后原理(Latent Diffusion Models)

    前言 2023年第一篇博客 大家新年好呀 这次来关注一下Stable Diffusion背后的原理 即 High Resolution Image Synthesis with Latent Diffusion Models 这篇论文 之前
  • stable diffusion基础

    整合包下载 秋叶大佬 AI绘画 8月最新 Stable Diffusion整合包v4 2发布 参照 基础04 目前全网最贴心的Lora基础知识教程 VAE 作用 滤镜 微调 VAE下载地址 C站 https civitai com mode
  • AIGC之Stable Diffusion 提示词学徒库

    前言 描述 本文主要用来记录 提示词TAG 一 提示词 1 提升画面品质的提示词 masterpiece 杰作 best quality 最佳品质 ultra highers 超高分辨率 8k resolution 8k分辨率 realis
  • window下Stable Diffusion一键安装

    轻松安装Stable Diffusion 一键搞定电脑Windows安装 AI绘图技术是当今最火热的技术之一 各种AI绘画软件也层出不穷 其中Stable Diffusion便是其中一款非常重要的 一 电脑Windows安装Stable D
  • ChatGPT发布一年后,搜索引擎的日子还好吗?

    导读 生成式AI 搜索引擎的终结者还是进化加速器 ChatGPT发布刚刚一年 互联网世界已经换了人间 2023年 以ChatGPT和大模型为代表的生成式AI浪潮对全球互联网 云计算 人工智能领域都带来巨大冲击 而且生成式AI在各行各业的应用

随机推荐

  • ES系列--分析器

    一 前言 ES进行文档分析就会涉及到分析器 无论是内置的分析器 还是自定义的分析器 都是由一个分词器 tokenizers 0或多个词项过滤器 token filters 0或多个字符过滤器 character filters 组成 二 内
  • 数据结构基本概念、线性表、顺序表

    一 头文件 head h ifndef HEAD H define HEAD H include
  • 蓝桥杯每日一题(30)单词分析(python)

    Topic 试题 G 单词分析 时间限制 1 0s 内存限制 512 0MB 本题总分 20 分 问题描述 小蓝正在学习一门神奇的语言 这门语言中的单词都是由小写英文字母组成 有些单词很长 远远超过正常英文单词的长度 小蓝学了很长时间也记不
  • 简述前端MVVM框架

    一张图说明 1 一句话总结 vm层 视图模型层 通过接口从后台m层 model层 请求数据 vm层继而和v view层 实现数据的双向绑定 2 mvc和mvvm的关系 c 控制层 被换成了vm viewmodel 层 MVVM是Model
  • TypeScript 总结

    文章目录 TypeScript 总结 概述 运行ts文件 方式一 方式二 基础 声明变量 类型 数组 元组 联合类型 取值限制 枚举类型 any unknown void undefined 类型适配 面向对象 函数 普通函数 箭头函数 可
  • 2.2-base-num-str

    for i in range 9 0 1 for j in range 1 i 1 print f j i str i j ljust 2 end print 1 9 9 2 9 18 3 9 27 4 9 36 5 9 45 6 9 54
  • 网络设备自动化运维工具——ansible入门笔记

    Ansible概述 Ansible是一款自动化运维工具 基于Python开发 集合了众多运维工具 Puppet CFengine Chef SaltStack 的优点 实现了批量系统配置 批量程序部署 批量运行命令等功能 Ansible是基
  • 管理者一定要戒掉这五个毛病,否则迟早被淘汰出局

    在职场中 很多人都想升职加薪 但是不是每个人都有能力当一个好的领导 有的人不断的为之努力 有的好不容易当上了领导 可以结果时间不长反而被辞退 并不是他们不够努力 而是当员工和领导有很大的差别 你的思维要及时调整 如果思维还停留在以前 那么只
  • rsyslog无法发送日志到server端问题定位

    问题描述 网络正常的情况下 代码端中使用openlog无法正常将日志发往syslog服务器 即使使用logger也无法正常发送 环境 ARM设备充当client端 pc虚拟机Ubuntu充当server端 验证方式 通过wireshark抓
  • 基于AF的HTTP

    搬搬砖头而已 iOS 基于AF的HTTP请求类 OKHTTPRequestManager h OKHTTPRequestManager h LL Created by Morris on 2020 9 22 Copyright 2020 L
  • 蓝桥杯训练——最小乘积(基本型)

    试题 算法训练 最小乘积 基本型 资源限制 时间限制 1 0s 内存限制 512 0MB 问题描述 给两组数 各n个 请调整每组数的排列顺序 使得两组数据相同下标元素对应相乘 然后相加的和最小 要求程序输出这个最小值 例如两组数分别为 1
  • Java设计模式——单例模式

    文章目录 为什么要用单例模式 单例模式 饿汉式 DCL 静态内部类 为什么要用单例模式 单例对象 Singleton 是一种常用的设计模式 在Java应用中 单例对象能保证在一个JVM中 该对象只有一个实例存在 这样的模式有几个好处 某些类
  • 大数相加和大数相乘

    1 大数相加 int或者long类型的数据往往满足不了数据容量的要求 这时需要用到数组或者字符串进行操作 考虑到数据的位数并不是一个确定的值 运用string来处理可以简化思维 在进行运算之前 需要明确下面几点要求 1 将两组数据中位数大的
  • vue单页面给页面添加锚点实现锚点跳转

    使用Element scrollIntoView 详情情查看 scrollIntoView 参数 alignToTop可选 一个Boolean值 如果为true 元素的顶端将和其所在滚动区的可视区域的顶端对齐 相应的 scrollIntoV
  • 虚拟专用网拨号出现错误提示:没有设置允许基本路由封装GRE协议数据包通过-原因解决方法

    今天给用户配置虚拟专用网拨号到单位的服务器 操作系统为win10 执行拨号后 提示上面的信息经过百度搜索 发现这个问题和网络运营商有关系 因为你使用的是移动或联通宽带 服务商阻止了虚拟专用网通道 只要换电信宽带就好了 恰巧就是使用了联通的移
  • C语言工资管理系统

    include
  • 03.前后端分离中台框架 zhontai 项目代码生成器的使用

    zhontai 项目 基于 Net7 x Vue 等技术的前后端分离后台权限管理系统 想你所想的开发理念 希望减少工作量 帮助大家实现快速开发 后端地址 https github com zhontai Admin Core 前端地址 ht
  • flutter实现APP版本更新(全局弹窗overlay实现)

    升级说明 Android 应用内更新下载 安装 iOS 跳转到appstore下载安装 注 可以通过热更新技术进行升级 我不会 引用插件 获取当前版本 package info 0 4 3 2 版本内更新 ota update 2 4 1
  • Mac下终端(Terminal)中打开某应用的技巧

    Mac下一般都是点击某一个应用的图标 或者在Alfred中键入应用名称打开该应用 但有时候在终端执行某些代码 此时想打开程序 以上操作都不流畅 所以琢磨能否在终端下直接打开某些程序 比如要 编辑路径下的shell脚本文件 但又不想使用vim
  • 基于Stable Diffusion的AIGC服饰穿搭实践

    本文主要介绍了基于Stable Diffusion技术的虚拟穿搭试衣的研究探索工作 文章展示了使用LoRA ControlNet Inpainting SAM等工具的方法和处理流程 并陈述了部分目前的实践结果 通过阅读这篇文章 读者可以了解