MMTryon 团队投稿
量子位公众号 QbitAI
多件衣服按指定穿法一键虚拟试穿!
中山大学&字节智创数字人团队提出了一个名为 MMTryon 的虚拟试穿框架,可以通过输入多个服装图像及指定穿法的文本指令来生成高质量的组合试穿结果。
比如选中一件大衣、一条裤子,再配一个包,用语言描述穿法,“啪”的一键就穿到了人像上:
无论是真人图像又或是漫画人物,都能一键按照搭配试穿衣服:
对于单图换装,MMTryon 有效利用了大量的数据设计了一个表征能力强大的服装编码器,使得该方案能处理复杂的换装场景及任意服装款式;
对于组合换装,MMTryon 消除了传统虚拟换装算法中对服装精细分割的依赖,可依靠一条文本指令从多张服装参考图像中选择需要试穿的服装及对应的穿法,生成真实自然的组合换装效果。
在基准测试中,MMTryon 拿下新 SOTA。
多模态多参考注意机制加持,效果更精确灵活
虚拟换装技术旨在将模特所穿服饰或者衣服的平铺图穿到目标人物身上,达到换装的效果,但是之前虚拟试穿的方案存在一些技术难点没有解决。
首先,现有的方法通常是为单件试穿任务(上衣/下衣、连衣裙)而设计的,并且无法自定义着装风格,例如,外套拉上/拉开拉链、上衣塞入/塞出等。
另外,之前的方案严重依赖特定于类别的分割模型来识别试穿区域,如下图所示如果分割错误则将直接导致试穿结果中出现明显的试穿错误或者伪影等情况。
为了解决这些问题,研究团队提出了 MMTryon,将参考图像中的服装信息与文本指令中的着装风格信息通过一种新颖的多模态和多参考注意机制来进行表示,这使得该方案支持组合式换装以及多样的试穿风格。
此外,为了消除对分割的依赖性,MMTryon 使用了表征能力丰富的服装编码器,并利用新颖的可扩展的数据生成流程增强现有的数据集,这样在推理阶段,MMtryon 无需任何分割,仅仅通过文本以及多个试穿对象即可实现高质量虚拟换装。
在开源的数据集以及复杂场景下进行的大量实验在定性和定量上证明了 MMTryon 优于现有 SOTA 方法。
接下来是更具体的方法。
首先研究团队预训练了一个服装编码器,在这一 stage 中 MMTryon 利用文本作为 query,将得到的特征与 grouding dino+SAM 所得到的 mask 计算一个 query 损失。
目标是经过 text query 后仅激活文本对应区域的特征,这样可以摆脱对于服装分割的依赖。同时,利用大量的 pair 对更好的编码服装特征。
之后,为了更稳定的训练组合换装,需要多件服装组合式换装的 pair 图,但是这样的 pair 图采集成本很高。
为此,研究团队提出了一个基于大模型的数据扩增模式,利用视觉语言模型以及 grouding dino+SAM 去得到了不同区域的 mask,来保护对应的上衣或者下衣区域,利用 stable diffusion XL 去重绘保护区域外剩下的内容,构建了 100w 的增强数据集,训练中将增强数据集与 90w 原始数据一起加入训练。
基于增强的数据集以及服装编码器,MMTryon 设计了多参考图像注意力模块和多模态图文注意力模块,其中多参考图图像注意力模块用于将多件衣服的特征注入到目标图像来控制多件衣服的试穿,多模态图文注意力模块利用详细的文本与图像的 clip 编码来控制多样的试穿风格。
可以看到,MMtryon 由于服饰编码器丰富的表征能力,对于各种类型的换装都可以有真实的虚拟试穿效果:
无论是真人图像还是挂台服饰,只需要多张服装参考图像及文本,就可以组合式换装并控制换装风格。
甚至还能作为一个 fashion 换装辅助设计来帮你买衣服:
在量化指标上,MMTryon 优于其他 baseline 的的效果,在开源数据集测试集合的 Human evaluation 中,MMTryon 也超过其它 baseline 模型
在复杂场景的 Human evaluation 中,MMTryon 也超越了目前的社区模型 outfit anyone。
研究人员收集了复杂场景女装图片 142 张,男装图片 57 张,非服装图片 87 张,共邀请 15 位参与者参与评测,选择更喜欢的方案结果。从图表中可以看出,MMTryon 的效果更受测试者的喜欢。
更多细节,感兴趣的家人们可以查看论文~