Sapiens: Foundation for Human Vision Models——人类视觉模型的基础

这篇文章介绍了Sapiens,一个用于人类视觉任务的模型系列,专注于四个基本任务:2D姿态估计身体部位分割深度估计表面法线预测。主要内容包括:

  1. 模型设计与预训练

    • Sapiens模型采用视觉Transformer(ViT)架构,并在大规模的Humans-300M数据集(包含3亿张野外人类图像)上进行自监督预训练。

    • 使用**掩码自编码器(MAE)**方法进行预训练,模型能够处理高分辨率(1024×1024)图像,并在推理时表现出强大的泛化能力。

  2. 任务微调与性能

    • 模型通过微调适应特定任务,包括2D姿态估计、身体部位分割、深度估计和表面法线预测。

    • Sapiens在多个基准测试中超越了现有方法,显著提升了性能,尤其是在野外数据上的泛化能力。

  3. 实验结果

    • Humans-5K(姿态估计)、Humans-2K(身体部位分割)、Hi4D(深度估计)和THuman2(表面法线预测)等数据集上,Sapiens模型均取得了最先进的性能。

    • 实验表明,大规模预训练和高质量标注对模型性能至关重要,且模型在未见过的复杂场景中表现出强大的泛化能力。

  4. 未来方向

    • 文章提出,Sapiens模型可以作为基础模型,广泛应用于各种下游任务。

    • 未来的研究方向包括将Sapiens扩展到3D多模态数据集

Sapiens通过大规模预训练和高质量标注,在多个人类视觉任务上实现了显著的性能提升,展示了其在现实世界中的广泛应用潜力。这里是自己的论文阅读记录,感兴趣的话可以参考一下,如果需要阅读原文的话可以看这里,如下所示:

摘要

我们提出了Sapiens,这是一个用于四个基本人类视觉任务的模型系列——2D姿态估计、身体部位分割、深度估计和表面法线预测。我们的模型原生支持1K高分辨率推理,并且通过简单地在超过3亿张野外人类图像上进行预训练模型的微调,可以轻松适应各个任务。我们观察到,在相同的计算预算下,在经过精心策划的人类图像数据集上进行自监督预训练显著提升了各种人类视觉任务的性能。生成的模型在野外数据上表现出显著的泛化能力,即使在标注数据稀缺或完全合成的情况下也是如此。我们的简单模型设计也带来了可扩展性——随着参数数量从0.3亿扩展到20亿,模型在各个任务上的性能都有所提升。Sapiens在各种人类视觉基准测试中始终超越现有的基线模型。我们在Humans-5K(姿态)上比之前的最新技术提升了7.6 mAP,在Humans-2K(部位分割)上提升了17.1 mIoU,在Hi4D(深度)上相对RMSE提升了22.4%,在THuman2(法线)上相对角度误差提升了53.5%。

图1. Sapiens模型针对四项人类任务进行了微调——2D姿态估计、身体部位分割、深度预测和法线预测。我们的模型在各种野外场景中表现出泛化能力,包括面部、上半身、全身和多人图像

1 引言

近年来,生成逼真的2D [17, 28, 50, 118] 和3D [69, 89, 102, 109] 人类图像取得了显著进展。这些方法的成功很大程度上归功于对各种资产(如2D关键点 [14, 67]、细粒度的身体部位分割 [119]、深度 [113] 和表面法线 [89, 108])的稳健估计。然而,对这些资产的稳健和准确估计仍然是一个活跃的研究领域,复杂的系统通常会阻碍这些方法的广泛应用。此外,在野外获取准确的地面真实标注非常困难且难以扩展。我们的目标是提供一个统一的框架和模型,以在野外推断这些资产,从而为每个人解锁广泛的人类视觉应用。

我们认为,这样的人类视觉模型应满足三个标准:泛化性、广泛适用性和高保真度。泛化性确保模型在未见过的条件下具有鲁棒性,使其能够在各种环境中一致地执行。广泛适用性表明模型的多功能性,使其能够通过最小的修改适用于广泛的任务。高保真度表示模型能够生成精确的高分辨率输出,这对于忠实的人类生成任务至关重要。本文详细介绍了体现这些属性的模型的开发,这些模型统称为_Sapiens_。

根据 [34, 79, 91] 的见解,利用大规模数据集和可扩展的模型架构是实现泛化的关键。为了实现更广泛的适用性,我们采用了预训练后微调的方法,使得在预训练后能够通过最小的调整适应特定任务。这种方法提出了一个关键问题:哪种数据最适合预训练? 在计算限制下,是否应该强调收集尽可能多的人类图像,还是应该在较少策划的数据集上进行预训练以更好地反映现实世界的多样性?现有方法通常忽略了预训练数据分布对下游任务的影响。为了研究预训练数据分布对人类特定任务的影响,我们收集了Humans-300M数据集,该数据集包含3亿张多样化的人类图像。这些未标注的图像用于从头开始预训练一系列视觉Transformer [27],参数数量从3亿到20亿不等。

表1. 最先进的预训练视觉模型的比较。Sapiens采用了高分辨率骨干网络,并在大规模的野外人类图像数据集上进行训练

在各种自监督方法中,我们选择了掩码自编码器(MAE)方法 [48],因为它在预训练中的简单性和效率。MAE与对比或多推理策略相比,具有单次推理模型,允许在相同的计算资源下处理更大体积的图像。为了提高保真度,与之前的方法相比,我们将预训练的输入分辨率提高到1024像素,导致与现有最大的视觉骨干网络 [91] 相比,FLOPs增加了约4倍。每个模型在1.2万亿个token上进行预训练。表1概述了与早期方法的比较。对于人类视觉任务 [15, 101, 113, 119] 的微调,我们使用一致的编码器-解码器架构。编码器使用预训练的权重进行初始化,而解码器是一个轻量级且任务特定的头部,随机初始化。然后对这两个组件进行端到端的微调。我们专注于四个关键任务——2D姿态估计、身体部位分割、深度和法线估计,如图1所示。

与之前的研究 [56, 122] 一致,我们确认了标签质量对模型在野外性能的关键影响。公共基准 [23, 40, 55] 通常包含噪声标签,在模型微调期间提供不一致的监督信号。同时,利用细粒度和精确的标注来紧密对齐我们的主要目标,即3D人类数字化,非常重要。为此,我们提出了一个更密集的2D全身关键点集合用于姿态估计,并为身体部位分割提出了一个详细的类别词汇表,超出了之前数据集的范围(请参见图1)。具体来说,我们引入了一个包含308个关键点的综合集合,涵盖了身体、手、脚、表面和面部。此外,我们将分割类别词汇表扩展到28个类别,涵盖了头发、舌头、牙齿、上/下唇和躯干等身体部位。为了保证标注的质量和一致性以及高度的自动化,我们利用多视图捕捉设置来收集姿态和分割标注。我们还利用RenderPeople [84] 提供的600个详细扫描来生成高分辨率的深度图和表面法线,用于深度和法线估计。

我们展示了结合特定领域的大规模预训练和有限但高质量的标注,可以实现鲁棒的野外泛化。总体而言,我们的方法展示了一种有效的策略,可以开发出能够在现实世界场景中执行的高度精确的判别模型,而无需收集昂贵且多样化的标注集。

2 相关工作

我们的工作探索了在大量野外人类图像上训练大规模架构的极限。我们建立在不同领域的先前工作基础上:大规模预训练、人类视觉任务和大规模视觉Transformer。

图2. Humans-300M数据集中每张图像中人数的概览

大规模预训练。 大规模预训练 [26, 95] 后进行任务特定微调的成功 [2, 13, 53, 96, 99, 100] 已经确立了这种方法作为标准实践。同样,计算机视觉方法 [1, 4, 33, 34, 42, 79, 82, 85, 87, 120] 正在逐步采用广泛的数据规模进行预训练。大型数据集的出现,如LAION-5B [90]、Instagram-3.5B [77]、JFT-300M [92]、LVD-142M [79]、Visual Genome [60] 和YFCC100M [97],使得探索超越传统基准 [61, 67, 86] 的数据语料库成为可能。该领域的重要工作包括DINOv2 [79]、MAWS [91] 和AIM [34]。DINOv2通过在LDV-142M数据集 [79] 上扩展对比iBot [121] 方法,实现了自监督特征生成的最新性能。MAWS [91] 研究了在数十亿图像上扩展掩码自编码器(MAE) [48] 的效果。AIM [34] 探索了类似于BERT [26] 的自回归视觉预训练的可扩展性,用于视觉Transformer [27]。与这些主要关注一般图像预训练或零样本图像分类的方法不同,我们采用了一种独特的人类视觉方法:我们的模型利用大量人类图像进行预训练,随后微调以适应一系列人类相关任务。

人类视觉任务。 大规模3D人类数字化的追求 [8, 44, 64, 74] 仍然是计算机视觉中的一个关键目标 [12]。在受控或工作室环境中已经取得了显著进展 [3, 59, 63, 69, 70, 76, 89],但将这些方法扩展到不受约束的环境中仍然存在挑战 [29]。为了解决这些挑战,开发能够从自然环境中的图像执行多个基本任务(如关键点估计 [21, 35, 46, 51, 57, 78, 80, 93, 106]、身体部位分割 [36, 40, 41, 41, 75, 104, 105]、深度估计 [9, 10, 32, 43, 52, 66, 83, 113] 和表面法线预测 [6, 7, 31, 39, 62, 88, 101, 108])的多功能模型至关重要。在这项工作中,我们的目标是开发能够泛化到野外设置的这些基本人类视觉任务的模型。

扩展架构。 目前,最大的公开可用语言模型包含超过1000亿个参数 [49],而更常用的语言模型 [94, 100] 包含约70亿个参数。相比之下,视觉Transformer(ViT)[27] 尽管共享类似的架构,但尚未成功扩展到这一程度。虽然在这方面有一些显著的努力,包括开发在文本和图像上训练的密集ViT-4B [20],以及稳定训练ViT-22B [25] 的技术,但常用的视觉骨干网络仍然在3亿到6亿个参数之间 [24, 38, 45, 68],并且主要在约224像素的图像分辨率上进行预训练。同样,现有的基于Transformer的图像生成模型,如DiT [81],使用不到7亿个参数,并在高度压缩的潜在空间上运行。为了解决这一差距,我们引入了Sapiens——一系列在数百万张人类图像上原生预训练的高分辨率大型ViT模型。

3 方法

Humans-300M数据集

我们使用一个大约10亿张野外图像的大型专有数据集进行预训练,专注于人类图像。预处理包括丢弃带有水印、文本、艺术描绘或不自然元素的图像。随后,我们使用现成的行人边界框检测器 [103] 进行过滤,保留检测分数高于0.9且边界框尺寸超过300像素的图像。图2提供了我们数据集中每张图像中人数分布的概览,注意到超过2.48亿张图像包含多个主体。

图3. Sapiens在未见图像上的重建效果。顶部:每组三联图包含地面真实图像(左)、掩码图像(中)和MAE重建图像(右),掩码率为75%,patch大小为16,图像大小为1024。底部:在推理过程中掩码率在[0.75, 0.95]之间变化,显示出质量的微小下降,突显了模型对人类图像的理解能力

预训练

我们遵循掩码自编码器 [48](MAE)方法进行预训练。我们的模型被训练为在给定部分观察的情况下重建原始人类图像。与所有自编码器一样,我们的模型有一个将可见图像映射到潜在表示的编码器,以及一个从该潜在表示重建原始图像的解码器。我们的预训练数据集包含单人和多人图像;每张图像被调整为固定大小,具有方形宽高比。与ViT [27] 类似,我们将图像划分为固定大小的规则非重叠patch。这些patch的一个子集被随机选择并掩码,其余的保持可见。掩码patch与可见patch的比例定义为掩码率,在训练过程中保持固定。我们参考MAE [48] 了解更多细节。图3(顶部)展示了我们预训练模型在未见过的图像上的重建效果。

我们的模型在各种图像特征上表现出泛化能力,包括尺度、裁剪、主体的年龄和种族以及主体数量。我们模型中的每个patch token占图像面积的0.02%,而标准ViT中为0.4%,减少了16倍——这为我们的模型提供了细粒度的token间推理。图3(底部)显示,即使掩码率增加到95%,我们的模型在保留样本上仍能实现合理的人体解剖重建。

2D姿态估计

身体部位分割

 图4. 2D姿态估计和身体部位分割的地面真实标注

深度估计

 图5. 深度和表面法线估计的地面真实合成标注

我们使用600个高分辨率摄影测量人类扫描渲染了50万张合成图像,如图5所示,以获得具有高保真度的鲁棒单目深度估计模型。从100个HDRI环境地图集合中随机选择一个背景。我们在场景中放置一个虚拟相机,随机调整其焦距、旋转和平移,以捕捉图像及其相关的地面真实深度图,分辨率为4K。

表面法线估计

4 实验

在本节中,我们首先提供了实现细节的概述。随后,我们在四个任务上进行了全面的基准测试:姿态估计、部位分割、深度估计和法线估计。

实现细节

我们最大的模型Sapiens-2B使用1024个A100 GPU进行了18天的预训练,使用PyTorch。我们为所有实验使用AdamW [73] 优化器。学习计划包括短暂的线性预热,随后进行余弦退火 [72] 用于预训练,线性衰减 [65] 用于微调。所有模型在1024×1024分辨率下从头开始预训练,patch大小为16。对于微调,输入图像被调整为4:3比例,即1024×768。我们使用标准的增强方法,如裁剪、缩放、翻转和光度失真。为分割、深度和法线预测任务添加了来自非人类COCO [67] 图像的随机背景。重要的是,我们使用差异学习率 [114] 来保持泛化性,即初始层的较低学习率和后续层的逐渐较高学习率。层级学习率衰减设置为0.85,编码器的权重衰减为0.1。我们在表2中详细说明了Sapiens的设计规格。根据 [34, 100],我们优先通过宽度而不是深度来扩展模型。请注意,Sapiens-0.3B模型虽然与传统的ViT-Large架构相似,但由于其更高的分辨率,FLOPs增加了20倍。

2D姿态估计

我们在高保真标注上微调Sapiens以进行面部、身体、脚和手(K=308)姿态估计。对于训练,我们使用包含100万张图像的训练集,对于评估,我们使用包含5000张图像的测试集,名为Humans-5K。我们的评估是自上而下的 [111],即我们使用现成的检测器 [37] 进行边界框检测,并进行单人姿态推理。表3显示了我们模型与现有方法在全身姿态估计上的比较。我们在我们的308个关键点词汇表和COCO-WholeBody [55] 的133个关键点词汇表之间的114个常见关键点上评估所有方法。Sapiens-0.6B超越了当前的最先进方法DWPose-I [115],提升了+2.8 AP。与DWPose [115] 不同,DWPose使用了一个复杂的学生-教师框架,并针对任务进行了特征蒸馏,而Sapiens采用了一个通用的编码器-解码器架构,并进行了大规模人类视觉预训练。

图6. 使用Sapiens-1B在野外图像上进行308个关键点的姿态估计

有趣的是,即使参数数量相同,我们的模型也表现出比其对应模型更优越的性能。例如,Sapiens-0.3B超过了VitPose+-L,提升了+5.6 AP,而Sapiens-0.6B超过了VitPose+-H,提升了+7.9 AP。在Sapiens系列中,我们的结果表明模型大小与性能之间存在直接相关性。Sapiens-2B以61.1 AP的最新技术水平设定了新的标准,比之前的艺术提升了+7.6 AP。尽管使用室内捕捉工作室的标注进行微调,Sapiens在现实世界中表现出强大的泛化能力,如图6所示。

身体部位分割

我们在28个类别的分割词汇表上微调和评估我们的标注。我们的训练集包含10万张图像,测试集Humans-2K包含2000张图像。我们将Sapiens与现有的身体部位分割方法进行比较,这些方法在我们的训练集上进行了微调。重要的是,我们使用每个方法建议的预训练检查点进行初始化。与姿态类似,我们观察到分割的泛化能力,如表4所示。

有趣的是,我们最小的模型Sapiens-0.3B由于其更高的分辨率和大规模人类视觉预训练,超过了现有的最先进分割方法,如Mask2Former [22] 和DeepLabV3+ [18],提升了12.6 mIoU。此外,增加模型大小提高了分割性能。Sapiens-2B在测试集上达到了最佳性能,81.2 mIoU和89.4 mAcc。图7展示了我们模型的定性结果。

深度估计

我们在THuman2.0 [17] 和Hi4D [16] 数据集上评估我们的模型以进行深度估计。THuman2.0包含526个高质量的人类扫描,从中我们推导出三个用于测试的图像集:a)面部,b)上半身,c)全身,使用虚拟相机。THuman2.0包含1578张图像,使得我们能够在多个尺度上评估我们模型在单人图像上的性能。相比之下,Hi4D数据集专注于多人场景,每个序列展示了两名主体在涉及人-人互动的活动中的情况。我们从第28、32和37对中选择了序列,展示了来自第4摄像头的6个独特主体,总计1195张多人真实图像用于测试。我们遵循MiDaS-v3.1 [11] 建立的相对深度评估协议,报告标准指标,如AbsRel和δ1。此外,我们还报告了RMSE作为我们的主要指标,因为δ1​在具有细微深度变化的人类场景中不能有效反映性能。

表5将我们的模型与现有的最先进单目深度估计器进行了比较。Sapiens-2B仅在合成数据上进行微调,在所有单人尺度和多人场景中显著超越了之前的艺术。我们观察到,与Hi4D图像上的顶级Depth-Anything模型相比,RMSE减少了20%。重要的是,尽管基线模型在各种场景上进行训练,Sapiens专门用于人类视觉深度估计。图8展示了Sapiens-1B与DepthAnything-L在深度估计上的定性比较。为了确保公平比较,预测的深度使用人类掩码在基线可视化中进行了重新归一化。

表面法线估计

用于表面法线评估的数据集与深度估计相同。根据 [30],我们报告了平均和中值角度误差,以及在 误差内的像素百分比,。表6将我们的模型与现有的人类特定表面法线估计器进行了比较。所有我们的模型都显著超越了现有方法。Sapiens-2B在THuman2.0(单人)和Hi4D(多人)数据集上实现了约12^{\circ}的平均误差。我们在图9中定性地比较了Sapiens-1B与PIFuHD [89] 和ECON [108] 的表面法线估计。

请注意,PIFuHD [89] 使用与我们相同的3D扫描进行训练,而ECON [108] 使用4000个扫描进行训练,这些扫描是我们3D扫描数据的超集。

讨论

预训练数据源的重要性。 特征质量与预训练数据质量密切相关。我们通过在相同的训练计划和迭代次数下,在每个数据集上预训练Sapiens-0.3B,评估了在人类视觉任务上预训练各种数据源的重要性。我们在每个任务上微调模型,并选择早期检查点进行评估,理由是早期微调更好地反映了模型的泛化能力。我们研究了在一般图像(可能包含人类)上进行预训练与仅在人类图像上进行预训练的影响,使用Sapiens。我们从10亿张图像的语料库中随机选择了1亿张和3亿张一般图像,创建了General-100M和General-300M数据集。表7展示了预训练结果的比较。我们在Humans-5K上的姿态mAP、Humans-2K上的分割mIoU、THuman2.0上的深度RMSE和Hi4D上的法线平均角度误差上报告了结果。与 [12] 的发现一致,我们的结果表明,在Humans300M上进行预训练在所有指标上均优于一般数据源,突显了在固定计算预算下人类视觉预训练的好处。

我们还研究了在预训练期间看到的独特人类图像数量对法线估计性能的影响。我们报告了在30^{\circ}误差内的百分比。同样,我们为Sapiens-0.3B的预训练和微调保持相同的条件。图10显示,随着预训练数据大小的增加,性能稳步提高且未饱和。总之,预训练期间观察到的人类图像的多样性与下游任务的泛化改进直接相关。

零样本泛化。 我们的模型在各种设置中表现出广泛的泛化能力。例如,在分割中,Sapiens在单人图像上进行微调,主体多样性有限,背景变化最小,仅使用第三人称视角(见图4)。然而,我们的大规模预训练使得模型能够泛化到主体数量、年龄变化和第一人称视角,如图11所示。这些观察结果同样适用于其他任务。

局限性。 尽管我们的模型总体表现良好,但它们并不完美。具有复杂/罕见姿势、拥挤和严重遮挡的人类图像具有挑战性(详见补充材料)。尽管激进的数据增强和检测-裁剪策略可以缓解这些问题,我们设想我们的模型作为一种工具,用于通过人类在环的大规模现实世界监督来开发下一代人类视觉模型。

5 结论

Sapiens 代表了将人类视觉模型提升到基础模型领域的重要一步。我们的模型在各种人类视觉任务上展示了强大的泛化能力。我们将我们模型的最新性能归因于:(i) 在大规模精心策划的数据集上进行预训练,专门用于理解人类,(ii) 扩展的高分辨率和高容量视觉Transformer骨干网络,以及 (iii) 增强的工作室和合成数据上的高质量标注。我们相信这些模型可以成为众多下游任务的关键构建块,并为更广泛的社区提供高质量的视觉骨干网络。未来工作的一个潜在方向是将_Sapiens_扩展到3D和多模态数据集。

### Sapiens 模型架构详解 Sapiens模型展现出强大的泛化能力和可扩展性,当该模型参数数量从0.3亿增加至20亿时,其跨任务性能得到了提升[^1]。此特性表明Sapiens的设计不仅能够适应不同规模的数据集,而且能够在多种复杂度的任务间保持高效表现。 #### 基础结构特点 - **简单而有效的设计**:Sapiens采用了较为基础却高效的网络拓扑结构,使得即便是在有限或者完全由人工生成的数据环境下也能实现良好的训练效果并具备优秀的迁移学习潜力。 - **高度灵活性**:通过调整内部组件配置以及超参数设置,可以轻松应对来自计算机视觉领域内的多样化挑战,比如姿态估计、语义分割等具体应用场景中的精确度需求。 #### 关键技术创新点 - **增强的特征提取机制**:为了更好地捕捉输入图像中蕴含的信息,在卷积层之后引入了专门针对人体部位识别优化过的模块,从而提高了对于细节部分的理解力与表达能力。 - **多尺度融合策略**:利用金字塔式的下采样方法获取不同分辨率下的空间关系表示,并将其综合起来用于最终决策过程之中;这种方法有助于改善远距离物体检测精度的同时保留近景区域的关键属性描述。 ```python import torch.nn as nn class SapiensModel(nn.Module): def __init__(self, num_classes=1000): super(SapiensModel, self).__init__() # 定义基本卷积块和其他必要组件... def forward(self, x): pass # 实现前向传播逻辑 return output ``` 尽管上述代码仅为示意性质,实际应用中的`forward()`函数会更加复杂,涉及多个子网路间的交互操作来完成特定任务目标。 #### 性能评估指标 在几个重要的公开评测集合上取得了优异的成绩,例如: - 在Humans-5K(姿势估计)达到了7.6 mAP; - 对于Humans-2K(seg人体分割),获得了17.1 mIoU 的成绩; - Hi4D(深度估计)方面则有相对RMSE 22.4%的表现; - 而THuman2(表面法线预测)更是实现了相对于已有技术水平大幅改进达53.5% 的相对角度误差降低幅度。 这些成就证明了Sapiens框架及其背后设计理念的成功之处在于既兼顾到了理论上的先进性又不失实践价值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Together_CZ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值