只需两张图像,不到 30 秒,就能让马斯克穿牛仔走红毯~
或者让寡姐带货国风 Polo 衫~
就是二次元换装也不在话下。
来自中山大学、Pixocial 等机构联合发布轻量化模型架构 CatVTON。他们是以 Stable Diffusion v1.5 inpainitng 为基础模型。
来看看更多效果。
用扩散模型进行虚拟试衣
CatVTON 可以实现传统平铺服装图到人物的换装。
不管是上衣、裤子、裙子,还是套装,各种不同品类服装都可以。
其形状和纹理都能保持较高的一致性。
另外,CatVTON 还可以实现人物 A 到人物 B 的换装。
无需显式地指定类别,根据 Mask 的不同即可完成目标服装的试穿,支持单独的上衣、裤子、裙子或者全身多件服装同时更换。
既然如此,那又是如何实现的呢?
轻量化模型架构
CatVTON 在功能上丰富多样,但其模型架构却十分简洁高效:
2 个网络模块(VAE+UNet)
899.06M 总参数量
< 8G 推理显存(输出图像 1024×768 )
轻量化的架构来源于 CatVTON 对现有方法模块冗余的观察:
基于 Warping 的方法依靠几何匹配对服装进行形变再利用试穿模块融合,结果生硬不自然;
基于扩散模型的方法引入 ReferenceNet,加重了训练和推理的负担。
具体而言,CatVTON 通过在输入上把人物、服装在通道维度拼接(Concatenate),在结构上摆脱了对额外的 ReferenceNet 的依赖,跳过了对图像虚拟试衣来说没有显著帮助的文本交叉注意力,同时也不需要任何额外的图像编码器来辅助生成。
下表详细地比较了不同方法与 CatVTON 的模块数量、参数量、可训练参数量、显存占用、推理条件。
在网络模块上,CatVTON 只需要 VAE+UNet,无需任何额外的编码器;在模型总参数量上,CatVTON 比其他方法至少缩减了 44% ;在显存占用上,CatVTON 也只有其他方法的一半甚至更低,体现了 CatVTON 在模型架构轻量化上的优势。
▲ 模型高效性相关项详细比较
在训练上,CatVTON 探究了在将预训练扩散模型迁移到 TryOn 任务时去噪 UNet 中真正起作用的模块。
首先,去噪 UNet 在结构上是由不同特征尺度的 ResNet 和 Transformer Blocks 堆叠而成(如下图)。其中 ResNet 是卷积网络,具有空间不变性,适用于特征的提取,并不负责跨空间的特征交互,这一部分在扩散模型进行大规模预训练时,已经具备了足够的特征编码能力,因此与迁移到 TryOn 任务关联性不强。
Transformer Block 内部结构又可以细化为三个部分:Self Attention, Cross Attention 和 FFN。其中 Cross Attention 在 T2I 任务中用于与文本信息交互,FFN 起到特征映射的作用,因此与服装、人物特征交互最相关的便是 Self Attention。
理论上确定了需要训练的模块后,在实验上,CatVTON 文中还进行了消融,发现对 UNet、Transformer Block 和 Self Attention 分别进行解锁训练,其可视化结果并没有明显的差异,同时在指标上也十分接近,验证了“Self Attention 是将预训练扩散模型迁移到 TryOn 任务的关键模块”的假设。
最后通过理论和实验锁定的 Self Attention 部分,只有 49.57M 参数,仅占总参数量 5.71% 的部分,对其进行微调,就可以实现逼真的试穿效果,在上一节表格中可以看到,相较于其他方法,CatVTON 将可训练参数量减少了 10 倍以上。
最后总结,CatVTON 重新思考和设计了基于扩散模型的虚拟试穿框架,将多任务、多品类的虚拟试衣集成到同一模型中,以轻量化的框架和参数高效的训练策略实现了 SOTA 的试穿效果,降低了模型的训练、推理计算需求,更有利于虚拟试衣模型走向落地与应用。
项目主页:
https://zheng-chong.github.io/CatVTON
论文地址:
https://arxiv.org/abs/2407.15886
本文来自微信公众号:量子位(ID:QbitAI),作者:关注前沿科技,原标题《寡姐带货国风 Polo 衫,马斯克穿牛仔走红毯!虚拟试衣新框架火了,只需两张图 30 秒即生成》