🌐 社群导航
🔗点击加入➡️【AIGC/LLM/MLLM/3D/自动驾驶】 技术交流群
最新论文解读系列
论文名:IMAGPose: A Unified Conditional Framework for Pose-Guided Person Generation
论文链接:
https://proceedings.neurips.cc/paper_files/paper/2024/file/0bd32794b26cfc99214b89313764da8e-Paper-Conference.pdf
开源代码:https://github.com/muzishen/IMAGPose
导读
姿态引导的人物生成旨在将源人物图像转换为特定姿态下的目标人物图像,同时保持外观一致性。它有许多应用,包括虚拟现实、电影制作和电子商务。此外,生成的图像可用于提高下游任务的性能,如行人重识别。
简介
扩散模型为图像生成提供了一条有前景的途径,已在姿态引导的人物图像生成中展现出有竞争力的性能。然而,现有方法仅限于从源图像和目标姿态生成目标图像,忽略了两个关键的用户场景:同时生成具有不同姿态的多个目标图像,以及从多视角源图像生成目标图像。为克服这些局限性,我们提出了IMAG - Pose,这是一个用于姿态引导图像生成的统一条件框架,它包含三个关键模块:特征级条件化(FLC,Feature - Level Conditioning)模块、图像级条件化(ILC,Image - Level Conditioning)模块和跨视角注意力(CVA,Cross - View Attention)模块。首先,FLC模块将变分自编码器(VAE,Variational Autoencoder)编码器的低级纹理特征与图像编码器的高级语义特征相结合,解决了由于缺乏专门的人物图像特征提取器而导致细节信息缺失的问题。然后,ILC模块通过注入可变数量的源图像条件并引入掩码策略,实现图像和姿态的对齐,以适应灵活多样的用户场景。最后,CVA模块引入了全局和局部分解的跨注意力机制,确保在多个源图像提示时人物图像的局部保真度和全局一致性。IMAG - Pose的三个模块协同工作,统一了各种用户场景下的人物图像生成任务。大量实验结果表明,我们提出的IMAG - Pose在具有挑战性的用户场景下具有一致性和照片级真实感。
方法与模型
图2展示了IMAGPose,这是一个统一的条件框架,包含3个核心模块:特征级条件(Feature-level Conditioning,FLC)模块、图像级条件(Image-level Conditioning,ILC)模块和跨视图注意力(Cross-view Attention,CVA)模块。该框架旨在在任何用户场景下生成高保真、高质量的目标图像。FLC模块将变分自编码器(VAE)编码器的低级纹理特征与图像编码器的高级语义特征相结合,解决了因缺乏专用人物图像特征提取器而导致纹理细节丢失的问题。(3.2节)。ILC模块为目标图像引入了一种掩码策略,并纳入了可变数量的源图像条件。该模块使图像和姿态对齐,适用于不同的用户场景。(3.3节)。CVA模块提出了全局和局部跨注意力的分解方法。这确保了整个人物图像的局部保真度和全局一致性。(3.4节)
图 2:IMAGPose(图像姿态生成框架)是一个统一的条件框架,旨在在各种条件下生成高保真、高质量的目标人物图像。IMAGPose 旨在解决细节纹理丢失的问题,实现人物图像与姿态的对齐,并确保人物图像的局部保真度和全局一致性。
1. 预备知识
扩散模型属于一类生成模型。这些模型经过训练以逆转扩散过程,该过程通过一系列时间步长(表示为 )上的固定马尔可夫链系统地向数据中引入高斯噪声。同时,训练一个去噪模型,使其从这种高斯噪声开始生成样本。扩散模型的训练目标(表示为 ,并由 参数化)通常采用均方误差损失 。对于每个时间步长 ,该损失定义如下,
在这里, 表示原始数据,并补充一个条件 。扩散过程的时间步长 用 表示。第 步的含噪数据,记为 ,定义为 。在这种情况下, 和 是 的预定义函数,它们决定了扩散过程。
一旦模型训练完成,就可以通过迭代过程从随机噪声中合成图像。在采样阶段,根据条件模型和无条件模型的预测结果,使用无分类器引导(classifier-free guidance)[15],按照公式2计算预测噪声。
其中是用于调整条件的引导尺度。
2. 特征级条件模块
现有方法通常依赖固定编码器(frozen encoders)从源图像中提取外观特征。然而,这些固定编码器是在通用图像数据集上进行训练的,并非专门为人物图像特征提取而设计。因此,它只能捕捉源图像的高级语义特征。为了解决这个问题,如图2(a)所示,鉴于固定变分自编码器(VAE,Variational Autoencoder)无需训练即可几乎无损地重建图像,我们提出了FLC模块,该模块同时从VAE编码器[17]中提取低级纹理信息,并从图像编码器中提取高级语义信息。具体而言,FLC模块由一个固定的VAE编码器、一个图像编码器和一个可训练的分词器层组成。假设源图像为 ,其中 、 分别表示图像的通道数、高度和宽度。首先,我们从固定的VAE编码器中提取源图像的潜在特征 ,同时从固定的图像编码器中提取人物图像的高级语义特征 ,其中 和 分别表示标记长度和每个标记的维度。然后,我们通过一个由二维卷积和扁平化操作组成的可学习分词器层,将潜在特征 转换为纹理特征 ,其中 表示 标记的长度。我们通过二维卷积的核大小确保纹理特征 中每个标记的维度与语义特征 中每个标记的维度相匹配。最后,根据公式3,我们沿着标记长度将 和 拼接起来,以获得人物的外观特征。
其中 。因此,FLC利用冻结的变分自编码器(VAE)编码器保留详细信息的能力,解决了缺乏专用人物图像特征提取器的问题。
3. 图像级条件模块
如前所述,现有方法仅支持一张源图像和一个目标姿态的生成设置,这限制了用户在其他使用场景中的期望。为解决这一问题,我们提出了ILC(图像条件注入)模块,以注入随机数量的源图像条件,并引入掩码策略以适应不同的用户场景。如图3(a)所示,当基于三个目标姿态生成三个目标图像时,ILC首先对要生成的三个目标图像进行掩码处理,然后将它们与一张源图像组合形成联合掩码,同时从源图像中提取目标姿态,并将其与三个给定的目标姿态组合形成联合姿态;如图3(b)所示,当基于三张源图像生成一个目标图像时,ILC首先对一个目标图像进行掩码处理,然后将其与三张源图像组合形成联合掩码,同时从三张源图像中提取姿态,并将其与一个给定的目标姿态组合形成联合姿态。这实现了人物图像和姿态之间的一一对应。
图3:掩码策略灵活统一不同的用户场景。
具体而言,我们使用一个固定的变分自编码器(VAE)从联合目标中提取潜在空间特征,并添加噪声以获得含噪潜在特征。同样地,我们使用一个固定的变分自编码器(VAE)从联合掩码中获取掩码潜在特征。ILC模块沿着通道维度将含噪潜在特征和掩码潜在特征拼接起来。然后,我们引入一个二值掩码,其宽度和高度与含噪潜在特征相同,其中0和1分别表示被掩码和未被掩码的部分。这确保了模型能够正确区分目标图像中需要生成的区域。因此,我们模型的输入通道数为9,其中含噪潜在特征和掩码潜在特征的通道数均为4,二值掩码的通道数为1。此外,值得注意的是,现有方法忽略了源图像的图像级条件,仅通过交叉注意力模块注入源图像的特征级条件。相比之下,如图2(b)所示,我们结合掩码策略注入源图像的图像级条件,从而在人物图像和姿态之间实现了更丰富的内在上下文信息和空间结构对齐。
4. 跨视图注意力模块
为确保生成的联合目标中的每个目标图像都具有逼真的视觉内容,并保持人物主体图像的一致性,受文献[2, 10]的启发,我们提出了一种跨视图注意力(Cross-View Attention,CVA)模块,用于分解全局和局部跨注意力。如图2所示,CVA模块嵌入在去噪UNet中的每个跨注意力模块之后。CVA模块的示意图如图4所示,它主要由分割、投影层、自注意力层和合并操作组成。我们首先将跨注意力得到的特征输出作为CVA的输入特征,将全局输入特征分割成四个较小的局部人物特征,然后添加一个新的时间维度来学习每个局部人物图像之间的注意力。随后,将这四个人物特征重新组合成一个全局输出特征,忽略时间维度。这种方法使IMAGPose能够同时捕捉全局和局部注意力,从而更细致地理解人物图像不同部分之间的关系。
对于姿态条件,我们引入了一个与ControlNet 相同的姿态编码器,在第一个卷积层之后进行注入。因此,根据公式4,IMAGPose的损失函数 如下。这里, 和 分别表示FLC模块的特征、ILC模块的特征和姿态特征。
在推理阶段,我们根据公式5使用无分类器引导。
实验与结果
数据集。我们在DeepFashion数据集 [21] 和Market - 1501数据集 [54] 上进行了实验。DeepFashion数据集包含52,712张时尚模特的高分辨率图像,Market - 1501数据集包含32,668张具有不同背景、视角和光照条件的低分辨率图像。我们使用OpenPose [3] 提取骨架,并遵循文献 [1] 提供的数据集划分方式。需要注意的是,这两个数据集的训练集和测试集的人员ID均不重叠。
评估指标。我们对模型进行了全面评估,包括客观指标和主观指标。客观指标包括结构相似性指数(SSIM) [46]、学习感知图像块相似度(LPIPS) [52] 和弗雷歇初始距离(FID) [12]。另一方面,主观评估侧重于面向用户的指标,例如将真实图像误分类为生成图像的比例(R2G) [24]、将生成图像误分类为真实图像的比例(G2R) [24] 以及在所有模型中被认为更优的图像比例(Jab) [37]。
实现方式。我们在8块英伟达V100(NVIDIA V100)图形处理器上进行实验。我们的配置可总结如下:(a)我们使用预训练的Stable Diffusion V1.5 ,并修改了第一个卷积层以适应额外条件。除非另有说明,我们使用Dinov2 - G/14 作为图像编码器。在分词器层,二维卷积的核大小和步长均为16,输入和输出通道的维度分别为4和768。(b)参照 ,我们在DeepFashion数据集上训练模型,数据集大小为 和 。对于Market - 1501数据集,我们使用大小为 的图像。(c)在掩码策略中,我们默认随机遮挡1 - 4张图像。(d)使用AdamW优化器以 的学习率对模型进行300k步的训练。每个批次大小为4,并应用1000个时间步的线性噪声调度。(e)在推理阶段,我们使用具有20步的DDIM采样器,并将引导尺度 设置为2.0。
1. 主要结果
IMAGPose支持根据用户场景在不同条件下生成一张或多张目标图像。为了进行公平比较并适配IMAGPose框架,我们使用在掩码策略中使用黑色图像进行填充,并在推理阶段的联合姿态中复制目标姿态3次。然后IMAGPose会生成3张相同的目标图像,我们随机选择一张生成的图像进行定性和定量评估。除非另有说明,上述设置为默认配置。
定量结果。从表1中,我们对所提出的IMAGPose与几种最先进的方法进行了定量比较,这些方法包括Def - GAN [37]、PATN [57]、ADGAN [25]、PISE [49]、GFLA [30]、DPTN [51]、NTED [29]、CocosNet2 [55]、CASD [56]、PoCoLD [11]、PIDM [1]、PCDMs [36]和CFLD [22]。与其他生成方法相比,基于扩散模型的方法[11, 1, 36, 22]表现明显更优,尤其是所提出的IMAGPose,它的性能优于所有方法。例如,在SSIM指标上,IMAGPose明显领先于基于生成对抗网络(GAN)的方法ADGAN,因为GAN框架不稳定的训练无法生成高质量图像。与同样基于扩散模型框架的CFLD相比,IMAGPose在和尺度上均展现出绝对的性能优势。这是因为现有的架构忽略了纹理细节,仅使用通用图像编码器注入外观特征。
表1还展示了在Market - 1501数据集上的定量结果。与DeepFashion数据集的情况类似,IMAGPose在结构相似性指数(SSIM)、学习感知图像块相似度(LPIPS)和弗雷歇 inception 距离(FID)方面均优于所有最先进(SOTA)方法。与使用细粒度纹理特征的神经纹理编辑解码器(NTED)相比,由于变分自编码器(VAE)固有的重建低级纹理的能力,我们的方法显示出更显著的优势。尽管概率条件扩散模型(PCDMs)有额外的细化模型,但IMAGPose通过在图像和特征层面注入源图像特征,提供了更丰富的上下文信息。
定性结果。图5直观地比较了我们的IMAGPose(图像姿态)方法与其他最先进(SOTA)方法在DeepFashion(深度时尚)数据集上的表现。这些结果得出了以下几点结论:(1)如第一行至第三行所示,基于扩散的方法能够捕捉到细微的服装纹理,但IMAGPose生成的细节质量比其他扩散模型更高。(2)在大规模姿态变换的情况下(如第四行和第五行所示),CFLD(具体含义需根据上下文确定)和PCDMs(具体含义需根据上下文确定)明显过度拟合了姿态(即手上不应该出现的物体出现了),只有我们的方法能够生成与目标对齐且细节纹理一致的图像。(3)如第六行至第七行所示,在生成复杂纹理和不可见区域时,IMAGPose能够合理推断出详细的纹理,即使结果与目标不一致,也能提供更好的视觉一致性。总之,所提出的方法始终能生成更逼真、生动的人物图像,证明了IMAGPose所提出的图像级和特征级条件的优势。更多示例请见C. 1。
图5:在DeepFashion数据集上与几种最先进模型的定性比较。
用户研究。上述定量和定性比较反映了IMAGPose在生成结果方面的显著优势。此外,我们对50名志愿者进行了一项用户研究。该研究包括与基本事实(即R2G和G2R)以及其他方法(即J2b)的比较。这三个指标的得分越高,性能越好。
如图6所示,IMAGPose在DeepFashion数据集的所有三个指标上都表现出色。例如,志愿者认为我们生成的图像有是真实图像,比次优模型高出近18.4%。所提出的IMAGPose在Jab指数上的得分为42.3%,这表明我们的方法更受欢迎。更多细节请参见附录C. 3。
图6:在R2G、G2R和Jab指标方面,DeepFashion的用户研究结果。这三个指标的值越高,性能越好。
一致性。IMAGPose(图像姿态生成模型)只需训练一次即可支持多种用户场景。在此,IMAGPose模拟了两种用户场景:给定一张源图像和一个目标姿态来生成目标图像,以及给定多张源图像和一个目标姿态来生成目标图像。如图7所示,T1和T2都提供了一张源图像和一个目标姿态,这与之前的最优方法(SOTA)类似。不同之处在于,在联合姿态中复制目标姿态,而在联合图像中复制源图像。T3随机使用多张不同的源图像。
图7:在DeepFashion(深度时尚)数据集上,IMAGPose在不同用户场景下的定量比较。
我们发现,在这3种不同的设置下,与表1相比,T1、T2和T3在所有指标上都表现出很强的竞争力,这表明IMAGPose只需经过一次训练就能适应上述场景。例如,T2超越了所有先前的最优方法(SOTA)并击败了T1,这表明ILC模块可以在推理阶段通过多次复制相同的源图像来有效捕捉人物的外观特征。然后,当使用多个不同的源图像来生成目标图像时,T3在结构相似性指数(SSIM)、学习感知图像块相似度(LPIPS)和弗雷歇 inception 距离(FID)上分别达到了0.7727、0.1172和5.3286,超过了T2和其他SOTA方法,这表明当提供多个不同的源图像时,IMAGPose具有一致性。此外,IMAGPose还可以适应另一种场景:从一个源图像和多个目标姿态生成多个目标图像,即图8中的IMAGPose*。与原始的IMAGPose相比,IMAGPose的SSIM性能略有下降,但仍超过了其他基于扩散模型的方法,这证明即使一次性推断多个不同的目标图像,IMAGPose仍然可以保持高质量和高保真度。在速度方面,由于ILC中掩码策略的架构优势,它比姿态引导图像生成模型(PIDM)快近8倍,比PoCoLD和CFLD快近3倍。
图8:速度和性能结果。
值得注意的是,IMAGPose和IMAGPose*的默认设置在生成质量和速度方面都具有很强的竞争力。因此,一旦我们的方法训练完成,用户可以根据不同场景的需求选择合适的推理设置。IMAGPose在不同用户场景下的可视化结果如图9所示,这与我们上述的分析一致。总体而言,IMAGPose可以统一现实世界场景中的不同任务。更多结果和讨论,请参考附录C.2。
图9:我们的模型在不同用户场景下的一致性的可视化比较。
2. 消融实验
模块的有效性。表2展示了不同模块对IMAGPose结果的影响。B0表示IMAGPose移除了CVA模块、FLC模块中来自VAE的纹理特征以及ILC模块中的图像级条件,这使得模型仅具有5个输入通道。B1表示在B0的基础上添加了CVA模块。B2表示在B0的基础上添加了VAE的纹理细节特征,从而形成了完整的FLC模块。
基于B1,添加图像级条件可形成一个具有9个输入通道的完整ILC(图像级条件,Image-Level Condition)模块。B4表示同时使用FLC(特征级条件,Feature-Level Condition)和ILC模块的IMAGPose(图像姿态,Image Pose),而忽略CVA(条件变分自编码器,Conditional Variational Autoencoder)模块。如表2所示,IMAGPose在三个指标上优于其他设置,并且随着包含更多模块,性能逐渐提升。具体而言,B1在SSIM(结构相似性指数,Structural Similarity Index)、LPIPS(学习感知图像块相似度,Learned Perceptual Image Patch Similarity)和FID(弗雷歇 inception 距离,Frechet Inception Distance)上优于B0,这表明CVA模块可以增强局部保真度和全局一致性。B2和B3在SSIM上分别比B1高出0.0125和0.0172,这表明FLC和ILC可以有效地提供示例性的纹理细节指导,并确保图像和姿态的对齐。此外,值得注意的是,三个模块的组合带来了额外的性能提升。例如,我们的方法在所有指标上分别优于B2、B3和B4。
模型变体。表3总结了基于IMAGPose的变体。我们保持其他设置不变,仅修改基础模型和图像编码器。基础扩散模型和图像编码器的不同版本之间的整体性能差异不显著,这表明基础扩散模型和图像编码器对生成图像的结果影响极小。具体而言,结果表明当“基础模型”为StableDiffusion V1.5(SD V1.5)时,Dinov2 - G/14在所有指标上略胜一筹。此外,当使用相同的图像编码器时,StableDiffusion V2.1(SD V2.1)在大多数情况下优于SD V1.5。
3. 应用
表4评估了IMAGPose生成的图像在下游任务(即行人重识别)中的适用性。最初,我们从Market - 1501数据集的训练集中随机选择了和子集,确保每个身份至少有一张图像,从而创建了一个新的数据集。为了进行公平比较,我们采用BoT [23]作为基础网络,并对每个数据子集进行基线训练。然后,我们纳入了IMAGPose生成的图像。这些生成的图像是从新数据集中随机选择的具有相同身份和姿态的图像合成而来的。排名第一的结果如表4所示。实验结果表明,与标准方法相比,IMAGPose算法显著提高了重识别性能。此外,与最先进(SOTA)的方法相比,IMAGPose在重识别任务中始终表现出更优的性能。
结论
本文提出了IMAGPose(姿态引导图像生成统一条件框架),这是一个用于姿态引导图像生成的统一条件框架。该框架通过实现从多视角源图像同时生成具有不同姿态的多个目标图像,解决了现有方法的局限性。IMAGPose包含三个关键模块:特征级调节(Feature-Level Conditioning,FLC)模块、图像级调节(Image-Level Conditioning,ILC)模块和跨视角注意力(Cross-View Attention,CVA)模块。FLC模块有效地将低级纹理特征与高级语义特征相结合,解决了细节信息缺失的问题。ILC模块对齐图像和姿态以适应不同的用户场景,而CVA模块在多个源图像提示时确保局部保真度和全局一致性。所提出的框架在定性和定量评估中均表现出了具有竞争力的性能,在具有挑战性的用户场景下展现出了一致性和照片级真实感。这项工作代表了图像生成领域的重大进展,为用户交互和定制开辟了新的可能性。