HumanSD简介
HumanSD是由IDEA研究院和香港中文大学联合提出的一种新型人体图像生成模型。作为ICCV 2023的一项重要工作,HumanSD在可控人体图像生成方面取得了显著进展。
与以往的双分支扩散模型不同,HumanSD采用了一种新颖的方法 - 通过热图引导的去噪损失对原始Stable Diffusion模型进行微调。这种策略在模型训练过程中有效增强了给定骨架条件的控制能力,同时缓解了灾难性遗忘效应。
HumanSD在三个大规模人体数据集的组合上进行了微调,这些数据集包含了丰富的文本-图像-姿态信息。其中两个数据集是本项目特别建立的。通过在这些高质量数据上的训练,HumanSD展现出了优异的人体图像生成能力。
模型概述
HumanSD的核心思想是将姿态骨架信息无缝融入到扩散模型中。具体来说,模型包含以下几个关键模块:
-
文本编码器:使用预训练的CLIP文本编码器,将输入的文本描述转换为向量表示。
-
姿态编码器:采用预训练的MMPose模型,将输入的2D姿态信息编码为热图表示。
-
主干网络:基于UNet架构的扩散模型,接收文本和姿态编码,生成最终的图像。
-
热图引导的去噪损失:一种新颖的训练目标,引导模型更好地利用姿态信息。
通过这种精心设计的架构,HumanSD能够同时接收文本提示和姿态骨架作为条件,生成高质量、姿态精准的人体图像。
主要特点与优势
HumanSD相比于其他人体图像生成模型,具有以下显著优势:
-
更好的姿态控制:通过热图引导的训练策略,HumanSD能更精准地控制生成图像中的人体姿态。
-
多样化的图像风格:不仅能生成自然场景中的人像,还支持素描、油画、雕塑等多种艺术风格。
-
处理复杂场景的能力:能够很好地处理多人、复杂姿态等具有挑战性的场景。
-
保持细节质量:在严格遵循姿态控制的同时,能够生成精细的人物细节。
-
更好的文本-图像一致性:生成的图像更贴合输入的文本描述。
数据集
HumanSD的训练数据集包括:
-
LAION-Human: 一个新建立的大规模人体图像数据集,包含丰富的文本-图像-姿态信息。
-
Human-Art: 另一个新建立的数据集,聚焦于艺术风格的人体图像。
-
其他公开人体数据集
这些高质量数据的组合为HumanSD提供了丰富的训练样本,使其能够生成多样化的高质量人体图像。
实验结果
定量评估
研究团队进行了全面的用户研究,对比了HumanSD与其他先进模型(如ControlNet和T2I-Adapter)的表现。结果显示,HumanSD在多个方面都取得了最佳成绩:
- 姿态准确性:4.35/5
- 图像质量:4.28/5
- 文本-图像一致性:4.32/5
这些指标充分证明了HumanSD在人体图像生成任务上的卓越表现。
定性结果
HumanSD能够生成多种场景和风格的人体图像,包括:
- 自然场景
- 素描场景
- 皮影戏场景
- 儿童画场景
- 油画场景
- 水彩场景
- 数字艺术场景
- 浮雕场景
- 雕塑场景
以下是一些生成结果示例:
自然场景中奔跑的女孩
油画风格的优雅女性肖像
不同姿态的超人数字艺术形象
这些样例展示了HumanSD在多种风格和场景下生成高质量人体图像的能力。无论是自然照片风格,还是各种艺术创作风格,HumanSD都能很好地把握人体姿态和细节特征。
使用指南
环境配置
HumanSD基于PyTorch 1.12.1和Python 3.9开发。用户可以按以下步骤配置环境:
- 克隆项目仓库:
git clone git@github.com:IDEA-Research/HumanSD.git
- 安装PyTorch(建议使用conda):
conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.3 -c pytorch
- 安装其他依赖:
pip install -r requirements.txt
- 安装MMPose(建议版本0.29.0):
pip install mmpose==0.29.0
模型与检查点
用户需要下载必要的检查点文件,包括:
- HumanSD模型检查点
- Stable Diffusion v2-1检查点
- MMPose检查点
这些文件可以从Google Drive链接下载。
快速演示
HumanSD提供了命令行和Gradio界面两种使用方式:
- 命令行demo:
python scripts/pose2img.py --prompt "油画风格的舞台上跳舞的女孩" --pose_file assets/pose/demo.npz
- Gradio界面demo:
python scripts/gradio/pose2img.py
这些demo允许用户输入文本描述和姿态信息,快速体验HumanSD的图像生成能力。
未来展望
HumanSD为人体图像生成领域带来了新的可能性。未来的研究方向可能包括:
- 进一步提升模型在极具挑战性姿态下的表现
- 扩展到视频生成等动态场景
- 探索与其他模态(如音频)的结合
- 针对特定领域(如时尚、医疗)的定制化优化
结语
HumanSD作为一种新型的骨架引导扩散模型,在可控人体图像生成任务上取得了显著进展。它不仅为计算机视觉和图形学研究提供了新的思路,也为创意产业、娱乐业等领域带来了潜在的应用价值。随着技术的不断进步,我们可以期待看到更多基于HumanSD的创新应用,为人机交互和内容创作带来新的可能性。
HumanSD项目是开源的,研究者和开发者可以在GitHub仓库上获取更多信息、代码和资源。我们鼓励社区参与到这个激动人心的项目中来,共同推动人体图像生成技术的发展。