ACM MM 2022
论文链接
代码链接
摘要: 姿势作为非言语交际的“语言”,从17世纪就开始得到理论确立,但它几乎没表达与视觉艺术的相关性,这可能是因为传统方法需要手工处理巨大数据量。随着数字化的稳步发展,越来越多的历史文物被 indexed 并公之于众,从而产生了对具有相似身体姿态的艺术历史主题自动检索的需求。艺术领域与真实世界的风格差异显著,给姿态估计带来了新挑战。本文提出一个对艺术历史图像人物进行姿态估计的新方法。不同于之前通过预训练模型或风格迁移来弥补领域差距的工作,我们提出对目标检测和关键点检测进行半监督学习。此外,我们还介绍了一种新的特定领域的艺术数据集,该数据集包括人体边界框和关键点标注。与使用预训练模型或风格迁移的方法相比,我们的方法结果更好。
在数字化的稳步推动下,近几十年来,越来越多的历史文物被编入索引,并在网上免费提供给公众。因此,艺术史学家可以利用越来越多的艺术历史图像,以显著的姿势或姿态公式化概括图案,如图1中基督从十字架上卸下圣体所示。同时,还需要搜索引擎来检索具有相似姿态的人物,以便于搜索与个人研究内容相关的人物图像。这就需要大规模研究支配性姿态类型以及与时间相关的身体现象。
然而,迄今为止,艺术历史图像中的人体姿态估计方法很少,这可能是因为缺乏大规模的特定领域数据集。为解决此问题,一类方法是使用预训练模型,但它们无法适应新领域;一类方法是给真实世界数据集做风格迁移,来获得特定领域的数据集;还有一类方法是使用小的关键点级的标注数据集来微调预训练模型。
本文提出一种新方法,利用半监督学习来定量系统化探究视觉艺术中的姿态类型。我们提出了基于两个Transformer模型的 two-step 方法:①模型1 检测人体边界框;②模型2 预测每个边界框的人体关键点。我们采用半监督学习来减少现有真实世界数据集与艺术历史数据集转换而导致的性能损失,并降低显示标注大量艺术历史数据的工作量。本文主要贡献如下:
人体姿态估计: top-down 方法的准确率更高,但需要更大算力,其运行时间依赖于场景中检测到的人体数量,crop的人体数量越多,就需要更多的 forward 步骤来识别关键点。但本文的研究场景对实时检测的要求不高,因此模型的运行时间是次要的。另外,关键点解码也分为热图法和回归法,热图法为每个关键点生成似然热图,回归法直接回归出坐标,热图法的精度高但需要更多的预处理和后处理,因此采用回归法能更好地结合半监督学习。
由于特定领域的数据集通常只进行表面索引,缺少具体图像级的细粒度标注,因此很少有专门针对艺术历史图像人体姿态估计的研究,并且目前还不存在艺术品人体姿态的公开数据集。先前用于处理缺少标注训练数据的相关工作采用以下方法:他们(1)只分析自标注的数据集,而不分析训练模型或执行推理;(2) 使用来自另一个领域训练的姿态估计器而不进行自适应;(3) 对真实世界的数据集进行风格迁移来缩小领域差距;(4)利用小的关键点级的标注数据集来微调预训练模型。
半监督学习: 半监督学习旨在利用一组(可能较大)的未标记数据以及一组(通常较小)的标记数据来改进生成的模型。 为了在训练期间使用其余材料,可以生成伪标签,或者通过一致性正则化将伪标签集成到 loss 中。一类 sota 方法使用 teacher-student 法,训练过程中,先给教师模型喂图像,然后教师模型为正在训练的学生模型生成标签。可以从先前训练的学生模型中进行迭代选择来更新教师模型,或者用学生的指数移动平均值(Exponential Moving Average: EMA)更新教师模型。另一类半监督方法使用 数据增强 给未标记的数据生成更好的反馈信号,或者结合伪标签生成和一致性正则化。与半监督分类类似,半监督定位也支持一致性正则化和伪标签生成。本文面对的场景挑战更大,不仅必须正确分类,而且必须准确定位。
该方法先检测输入图像中的人体边界框,再对边界框中的单个人体检测关键点。初始系统基于 [Pose Recognition With Cascade Transformers] 提出的模型,该模型基于两个用于目标检测的Transformer模型,总体架构如图2所示。
人体检测阶段:
关键点预测阶段: 使用一个 CNN backbone 来提取每个 bbox 的视觉特征,这些特征连同 positional encoding 以及一组新的输入 query embedding 喂给 Transformer,转换为一组固定的关键点预测。其与人体检测阶段的区别主要在于 MLP head,该阶段的一个 head 对关键点 ck,ic_{k,i}ck,i 进行分类,另一个 head 预测关键点坐标 ki∈[0,1]2k_i ∈ [0,1]^2ki∈[0,1]2。
训练阶段需要将固定数量的预测集和可变数量的 gt 标签进行匹配,因此需要在预测 y^\hat{y}y^ 和 N个元素 σ∈ςN\sigma ∈ \varsigma_Nσ∈ςN 排列的 gt 标签 y 之间找到一个具有最低匹配损失 LmL_mLm 的最优分配 σ^\hat{\sigma }σ^ :
该问题可以采用匈牙利算法求解得到函数 σ^(i)\hat{\sigma}(i)σ^(i),分配损失包括类别概率和预测对象位置与 gt 位置的差别。对具有 index σ(i)\sigma(i)σ(i) 的预测 bbox: b^σ(i)\hat{b}_{\sigma(i)}b^σ(i),定义类概率为:p^σ(i)(cb,i)\hat{p}_{\sigma(i)}(c_{b,i})p^σ(i)(cb,i),类似,预测关键点 k^σ(i)\hat{k}_{\sigma(i)}k^σ(i) 的类别概率为:p^σ(i)(ck,i)\hat{p}_{\sigma(i)}(c_{k,i})p^σ(i)(ck,i),建立如下损失函数:
对于 bbox预测:类概率定义为 bbox bib_ibi 距离的L1 损失,并且 Generalized Intersection over Union (GIoU) LiouL_{iou}Liou 选用为损失函数 LbL_bLb 的基础。对于预测关键点 kik_iki,仅考虑类别概率和坐标的L1距离损失:
超参 λiouλ_{iou}λiou 和 λL1λ_{L1}λL1 表示每个 loss 的权重。在优化过程中,无法分配 gt label 的预测被分配给背景类 θ;损失中不考虑它们的边界框和关键点坐标。找到最佳分配后,损失可按以下公式计算:
在边界框预测的推理过程中,使用阈值函数过滤预测框就足够了,但在关键点预测的推理阶段,有必要再找到一个最佳分配,因为Transformer模型预测的 N 通常大于每个人可能的关键点的最大数量。由于在推理过程中 GT 信息未知,因此使用以下 cost 函数:
与 Faster-RCNN 和 YOLO 等目标检测方法相比,该方法不为每个图像区域预测多个 bounding box candidates,而是仅预测每个图像的固定 box 集,这就不会为同一个人体示例预测重叠的边界框,大大简化了后处理步骤,且大大降低了背景和前景间的类不平衡。
为扩展艺术历史图像中用于边界框和关键点检测的可用数据集,我们采用 Xu et al 提出的 [End-to-End Semi-Supervised Object Detection with Soft Teacher] 提出的半监督方法来扩充训练pipeline 。由于我们使用 Transformer 模型而非 Faster R-CNN,预测的bbox 和关键点更少且简化了一些步骤。图3所示为半监督pipeline的overview,基本原则是使用标记和未标记的示例来训练学生模型。 教师模型的权重基于学生权重的EMA,作为边界框和关键点的伪标签生成器,为此,弱增强的未标记图像用于人体检测,弱增强的 cropped 边界框用于关键点预测。随后,使用阈值 τ=0.9\tau=0.9τ=0.9 过滤预测对象并投影到强增强的未标记图像上。与 Xu et al 相反,只有在不是背景类的情况下,才使用教师模型预测边界框和关键点。
为了不扭曲 negative 和 positive 框或关键点间的比率,从学生的 forward step 开始,使用相同的阈值来过滤 negative 示例。这是必要的,因为教师的 negative 类的预测坐标和学生的 negative 预测之间没有关系。 总损失现在包括一个监督部分LsL_sLs 和无监督部分 LuL_uLu ,计算如下:
根据当前 target,监督 loss 和监督学习相同,Ls∈{LH,b,LH,k}L_s∈\{L_{H,b}, L_{H,k}\}Ls∈{LH,b,LH,k}。对于无监督 loss 部分,我们使用教师模型的预测来检测 bbox 或关键点。对于bbox预测,定义 i-th bbox 的类 cb,ic_{b,i}cb,i 的概率为 p^t(cb,i)\hat{p}^t(c_{b,i})p^t(cb,i),预测的box为 b^t\hat{b}^tb^t。同样,对于教师关键点预测,定义类 ck,ic_{k,i}ck,i 的概率为 p^t(ck,i)\hat{p}^t(c_{k,i})p^t(ck,i),预测关键点为 k^t\hat{k}^tk^t,然后建立如下 loss 函数:
未标记示例的分类损失由教师预测的超阈值 τ\tauτ 的概率的 positive 类和学生预测的 negative 类给出,定义如下:
表1为我们实验中使用的数据集及其划分,所有数据集都基于 COCO 格式,每个人体实例最多标记17个关键点。
为了评估使用风格转换的性能,我们采用Chen等人提出的风格转换方法为每个COCO图像创建了两种风格变体,其中风格图像是从 Painter by Numbers 数据集中随机选择的。
模型基于两个特定领域的大数据集进行试验,这些数据集收集了在线历史百科全书 WikiArt 中公开许可的子集:
这两个数据集分别具有43种和22种不同的风格,大致反映了人物艺术历史的多样性,从印象派到新具象主义和现实主义变体。
现有的 People-Art 数据集在两个层面上增强:① 我们先整合了其他哺乳动物的 negative 例子,这些哺乳动物常被误归类为人类。② 我们使用WikiArt提供的大分辨率的图像来避免低分辨率图像中可能存在的图像伪影。最终,People-Art 数据集包含1746 张训练图像、1489张验证图像和 616 张测试图像。
根据以下原则对 PoPArt 数据集进行标注(参见图7,了解一些带有 gt 标注的示例):(1) 人体必须可识别,这意味着人体必须可识别超过六个关键点,且至少覆盖头部和肩部;(2) 每幅图像最多标注四个人物,如果图像中有四个以上的人体实例,则选择能标注的身体关键点尽可能多的人体实例。(3) 如果被遮挡的身体部分可以被另一个可见身体部分充分近似,则标注其相应关键点;(4) 面部轮廓图中,眼睛和耳朵通常也标注在面部不可见的一侧。数据集包括1553张训练图像、643张验证图像和663张测试图像,且都按比例包含相同数量的各样式的图像。
利用 ART500k 数据集,我们在训练过程中集成了一个未标注人体实例的艺术历史数据集。生成了 ART500k 图像的 50% split,共318869个示例,在半监督学习方法中使用这些图像作为未标记数据。
人体检测各测试集的结果如表2所示,在 People-Art 上运用半监督学习技术总会提高平均精度(AP)和平均召回(AR)。此外,随着风格转换 (Stylized) 比例的增加,AP的增长减小。相较于使用 COCO 2017数据进行训练,使用 PoPArt 训练 的 AP 提升更大,这可能是因为PoPArt是专门为姿态估计标注的,且包含更少的 gt 人体边界框。我们提出的半监督学习方法是有益的:AP的性能从0.4898提高到0.5073,AR的性能从0.8468提高到0.8561。
关键点检测结果如表3所示,可以观察到使用半监督学习能显著提升 AR。尤其是,使用PoPArt,AP从0.4844升至0.5258,AR从0.7078升至0.7464。
为了评估我们的半监督方法,我们检查了训练期间教师预测的 positive 和 negative 数量,为此,我们阐述了 一个 batch 中标记和未标记部分的正负边界框比率(图4a)和正负关键点比率(图4b)。当直接从学生的预测中计算背景类的目标标签时,在这两种情况下,背景比例 (negative) 都会急剧增加,直到在大约10000次迭代后达到最大值,之后,随着教师预测的置信度开始超过阈值τ\tauτ,它开始减少。在关键点的情况下,每个 batch 的 supervised(PoPArt)和unsupervised 组件(ART500k)比率相等,平均而言,ART500k检测到的关键点比在PoPArt中多。
本文研究了域自适应技术估计艺术历史图像中的人体姿态:
未来,我们打算分析最近引入的Transformer模型的潜力,例如Wang等人提出的 Pyramid Vision Transformer。此外,通过对未标记数据而非仅对标记数据应用风格转换,可以进一步改进训练过程。我们还计划用额外的 bbox 扩展PoPArt数据集,增强其在训练人体检测模型中的实用性。