ICCV 2023 Oral | HumanSD:更可控更高效的人体图像生成模型

2023-09-18 19:42 344 阅读 ID:1443
将门
将门

本文提出了一个可控人物图像生成方法HumanSD,旨在高效、准确、原生地控制以人为中心的图片的生成。具体来说,HumanSD使用一种新颖的热图引导去噪损失(heatmap-guided denoisinh loss)来微调预训练的Stable Diffusion模型,这种策略有效加强了骨骼条件的控制力,同时减轻了灾难性遗忘效应。

相比ControlNet、T2I-Adapter等即插即用的双分支控制方法,HumanSD展现了更优的可控力和更快的生成速度,其中可控精度提升73%。同时,我们提供了适用于人体生成的大规模公开数据集用于后续研究。

论文链接:https://arxiv.org/abs/2304.04269
代码链接:
https://github.com/IDEA-Research/HumanSD
网址链接:
https://idea-research.github.io/HumanSD/
视频链接:
https://drive.google.com/file/d/1Djc2uJS5fmKnKeBnL34FnAAm3YSH20Bb/view?usp=sharing
数据(LAION-Human):
https://docs.google.com/forms/d/e/1FAIpQLSd3LMIVBwxCgz4mpg9vo-Zbj7Low4hE4aPYkX-vZTCGFvd7EA/viewform  

一、是基于什么样的思考完成了这篇文章?

随着基于Diffusion模型的文生图的大火,除文字外的其他控制条件下的可控图像生成模型也迎来了一次小爆发,HumanSD[1]、ControlNet[2]、T2I-Adaptor[3]、Composer[4]、GLIGEN[5]等[6,7]模型探索了将更精细化的控制条件加入文生图模型的不同方式。

事实上,由于Diffusion模型的隐空间中含有非常丰富的生成图像信息,将控制信息加入模型并不是一件难事,而由于文生图模型本身相对难以评测且目前仍没有成熟的评价标准,我们也很难对于究竟哪一模型在哪些情况下有着更优的表现这一问题得到确定性结论。

而本篇文章聚焦于一个小的可控文生图方向,也就是使用人体骨架信息控制人体图像生成,通过可量化的指标对“如何加入控制条件可以带来更好的控制性”、“如何加强可控生成的质量”、“ControlNet等即插即用的控制方式是否最优”等问题一一回答,希望通过一些实验结论和理论分析了解和揭示大模型运作原理的冰山一角,同时也期待本篇工作可以带来更多相关领域的思考。

                                                                        图1 生成效果展示

二、这篇工作究竟做了什么?

HumanSD 的实现并不复杂,这里我们分为两个部分来讲解:

(1)控制条件的加入

(2)使用特殊损失函数防止fine-tune过程中的灾难性遗忘并提升人体生成质量。

                                                                图2 HumanSD 模型示意图

(1)控制条件的加入:将控制条件在通道维度与UNet输入进行concatenate操作

【实现方法】 如图2中(a)的左半部分所示,包含人体骨架信息的图片首先经过Stable Diffusion中用于提取latent信息的VAE encoder,提取出pose latent embedding,随后直接与图片的noisy latent embedding进行拼接,作为UNet的输入。由于这一操作只改变UNet的首层权重,因此初始化时仅将UNet第一层权重新加入部分置0,其余全部直接使用预训练好的Stable Diffusion权重。

【直接通过concatenate加入控制条件】 这一控制条件的加入方式在多篇文章中被证明有效,同时,Composer[4]认为精细化的局部控制信息(如人体骨骼、线图、深度图)更适合通过concatenate的方式加入UNet的输入,而全局高密度信息(如文本、图片颜色板)更适合使用attention加入UNet,本文人体骨骼的控制条件属于前者,因此更适合直接通过concatenate加。

【放开主模型进行finetune】 在数据量充足的情况下,开放主模型finetune相比冻结原始模型参数使用一个额外的adapter进行学习可以获得更好的控制效果,这可以同时在理论上和实验中找到依据。

我们以ControlNet为例,ControlNet使用一个可训练的额外分支对冻结的原始分支进行控制,在这一过程中需要克服冻结的原始分支中可能存在的冲突(如图3),因此导致在控制条件复杂或与原始分支输出差距过大的情况下,模型很容易无法做到精准控制,而放开主模型进行finetune则可以有效避免这一问题,更详细的公式推导可以参见原论文。

论文链接:
https://arxiv.org/abs/2304.04269

                                                                图3 分支控制带来的潜在冲突

(2)特殊损失函数heatmap-guided denoising loss:对人体部分进行着重加权,提高反向传播过程中对人的关注度,同时防止灾难性遗忘

【实现方法】 这一损失函数的出发点是将“需要控制的部分”中“生成仍不够好”的部分提高学习权重,因此这就带来了三个问题:

(1)如何找到生成仍不够好的部分

(2)如何在隐空间中找到需要控制的部分

(3)如何加强学习权重。

这一损失函数的具体实现可以参见图2(a)紫色框内。首先针对(1),我们计算了每步gt noise和UNet输出的estimated noise的差,即original denoise loss,并将其输入到VAE decoder得到生成图与原图间的差距;

随后针对(2),我们使用可输出人体关键点的检测器得到人体关键点的heatmap,并将其作为mask区域,通过这一操作,我们就能够获得“生成的不够好的人体部分”,图4展示了对应的可视化结果;

针对(3),我们使用得到的mask区域对loss进行掩膜,得到加权后的loss,作为反向传播输入的一部分。这一做法在BREAK-A-SCENE[8]中也被使用(如图5),并被其称为masked diffusion loss。

                                                                     图4 mask区域可视化
                                                      图5 break-a-scene中的masked diffusion loss

三、HumanSD是在什么数据上训练的呢?

Human-Art[9]是一个多场景的、具有高标注质量的、以人为中心的文本-图片-人体骨骼数据集,该数据集适用于多场景的人体图像生成,但其数据量仅有5000张,并不适合大规模的图片生成模型finetune,因此本文构建了两个适合该任务的大规模数据集:GHI以及LAION-Human。

【GHI】 GHI直接从Stable Diffusion中采样,可以在不引入新数据分布的前体现保持原模型的生成能力。GHI总共包含了100万个文本-图片-人体骨骼对,包括14个场景(来自Human-Art[9])和6826个人类动作(来自BABEL [10]、NTU RGB+D 120 [11]、HuMMan [12]、HAA500 [13]和HAKE-HICO [14])。

每个图像中有一到三个人物(比例为7:2:1),我们利用prompt engineering设计了一系列prompt,其中包括18个子prompt部分,包括图像场景风格、人物数量、人物特征、动作和背景描述(如:a realistic pixel art of two beautiful young girls running in the street of pairs at midnight, in winter, 64K, a masterpiece.)。

【LAION-Human】 LAION-Human通过对LAION-5B中的人体进行姿态检测得到,由于我们使用了在Human-Art上训练的检测器,LAION-Human对非真实人体图像(如油画、雕塑)等有着更好的标注结果。

【Human-Art】 为了提升模型在多场景的生成能力,我们同时也将Human-Art数据集加入训练。

四、实验结果如何测评,又说明了什么?

本文从图片生成质量(KID、FID),人体姿态控制准确度(AP、AP(m)、CAP、PCE),文本-图像匹配度(CLIPSIM)和运行时间(Second per Image)四个维度对结果进行了评测。

可以看到,HumanSD在控制准确度上显著优于使用多分支控制的方法,并保证了较好的图片质量,同时由于不引入新的分支,HumanSD的显存开销和运行时间也显著优于ControlNet、T2I-Adapter。但同时可以看到,姿态条件的控制性会对文本条件的控制造成一定的负面影响,这可能是由于控制条件间的冲突所导致的。

更多的实验结果分析和消融实验可以参见原文。

参考:

[1] Ju X, Zeng A, Zhao C, et al. HumanSD: A Native Skeleton-Guided Diffusion Model for Human Image Generation[J]. arXiv preprint arXiv:2304.04269, 2023.

[2] Zhang L, Agrawala M. Adding conditional control to text-to-image diffusion models[J]. arXiv preprint arXiv:2302.05543, 2023.

[3] Mou C, Wang X, Xie L, et al. T2i-adapter: Learning adapters to dig out more controllable ability for text-to-image diffusion models[J]. arXiv preprint arXiv:2302.08453, 2023.

[4] Huang L, Chen D, Liu Y, et al. Composer: Creative and controllable image synthesis with composable conditions[J]. arXiv preprint arXiv:2302.09778, 2023.

[5] Li Y, Liu H, Wu Q, et al. Gligen: Open-set grounded text-to-image generation[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2023: 22511-22521.

[6] Meng C, He Y, Song Y, et al. Sdedit: Guided image synthesis and editing with stochastic differential equations[J]. arXiv preprint arXiv:2108.01073, 2021.

[7] Voynov A, Aberman K, Cohen-Or D. Sketch-guided text-to-image diffusion models[J]. arXiv preprint arXiv:2211.13752, 2022.

[8] Avrahami O, Aberman K, Fried O, et al. Break-A-Scene: Extracting Multiple Concepts from a Single Image[J]. arXiv preprint arXiv:2305.16311, 2023.

作者:鞠璇

单位:香港中文大学(CUHK),粤港澳大湾区数字经济研究院(IDEA)

来源:知乎:https://zhuanlan.zhihu.com/p/647136726

免责声明:作者保留权利,不代表本站立场。如想了解更多和作者有关的信息可以查看页面右侧作者信息卡片。
反馈
to-top--btn