AI 模型与平台
Sapiens:人类视觉模型的突破
大规模预训练加上特定任务的微调已经成为语言建模的标准做法。同样,计算机视觉方法也逐渐接受了大规模数据的预训练。随着LAION5B、Instagram-3.5B、JFT-300M、LVD142M、Visual Genome和YFCC100M等大型数据集的出现,人们可以探索传统基准之外的数据。这个领域的重要工作包括DINOv2、MAWS和AIM。DINOv2通过在LDV-142M数据集上扩展对比性iBot方法,实现了自监督特征生成的最先进性能。MAWS研究了在十亿图像上扩展掩码自动编码器(MAE)的可扩展性。AIM探索了类似于BERT的自回归视觉预训练的可扩展性。相比之下,Sapiens采取了一个明显的人为中心方法:Sapiens的模型利用大量的人类图像进行预训练,然后对一系列人类相关任务进行微调。追求大规模3D人类数字化仍然是计算机视觉中的一个关键目标。
在受控或工作室环境中已经取得了显著的进展,但在扩展这些方法到无约束环境时仍然存在挑战。为了解决这些挑战,开发能够执行多个基本任务的通用模型(如关键点估计、身体部位分割、深度估计和表面法线预测)至关重要。Sapiens的目标是开发能够推广到野外环境的模型,以执行这些基本的人类视觉任务。目前,最大公开语言模型包含超过100B参数,而更常用的语言模型包含大约7B参数。相比之下,尽管具有相似的架构,视觉变换器(ViT)尚未扩展到这一程度。虽然有一些值得注意的努力,包括开发了一个在文本和图像上训练的密集ViT-4B,以及稳定训练ViT-22B的技术,但常用的视觉骨干网络参数数量通常在300M到600M之间,主要是在224像素的图像分辨率上预训练的。同样,现有的基于变换器的图像生成模型(如DiT)使用的参数少于700M,并且在高度压缩的潜在空间中运行。为了解决这一差距,Sapiens引入了一系列大型、高分辨率的ViT模型,这些模型本身就是在1024像素图像分辨率上预训练的,使用数百万张人类图像。
Sapiens提出了一系列模型,用于四个基本的人类中心视觉任务:2D姿势估计、身体部位分割、深度估计和表面法线预测。Sapiens模型本身支持1K高分辨率推理,并且可以通过简单地对超过3亿张野外人类图像进行预训练来轻松适应个别任务。Sapiens观察到,假设计算预算相同,在人类图像的精心策划的数据集上进行自监督预训练显著提高了多种人类中心任务的性能。所得到的模型表现出对野外数据的显著推广能力,即使标记数据稀缺或完全合成。简单的模型设计也带来了可扩展性——模型性能在任务中随着参数数量从0.3到20亿的增加而提高。Sapiens在各种人类中心基准测试中始终超过现有的基准,取得了显著的改进,超过了以前的最先进结果:Humans-5K(姿势)上的7.6 mAP,Humans-2K(部分分割)上的17.1 mIoU,Hi4D(深度)上的22.4%的相对RMSE,和THuman2(法线)上的53.5%的相对角度误差。
Sapiens:人类视觉模型的突破
近年来,生成逼真的人类图像(2D和3D)取得了显著进展。这些方法的成功在很大程度上归功于对各种资产(如2D关键点、细粒度身体部位分割、深度和表面法线)的强大估计。然而,准确估计这些资产仍然是一个活跃的研究领域,复杂的系统往往会阻碍更广泛的采用。此外,在野外环境中获得准确的ground-truth注释非常困难。Sapiens的目标是为这些资产提供一个统一的框架和模型,以便在野外环境中推断这些资产,解锁人类中心应用程序的广泛可能性。
Sapiens认为,这样的以人类为中心的模型应该满足三个标准:推广、广泛适用性和高保真度。推广确保模型在未见条件下保持稳健,能够在各种环境中一致地执行。广泛适用性表明模型的多功能性,使其适用于广泛的任务,仅需最小的修改。高保真度表示模型能够产生精确、高分辨率的输出,对于忠实的人类生成任务至关重要。本文详细介绍了开发具有这些属性的模型的过程,统称为Sapiens。
基于这些见解,Sapiens利用大型数据集和可扩展的模型架构,这对于推广至关重要。为了实现更广泛的适用性,Sapiens采用预训练然后微调的方法,允许在预训练后轻松适应特定任务。这种方法提出了一个关键问题:什么类型的数据最适合预训练?考虑到计算限制,是否应该优先收集尽可能多的人类图像,还是更好地反映现实世界的多样性?现有方法经常忽略预训练数据分布对下游任务的影响。为了研究预训练数据分布对人类特定任务的影响,Sapiens收集了Humans-300M数据集,包含300万多样化的人类图像。这些未标记的图像用于从头开始预训练一系列视觉变换器,参数数量从300M到20亿不等。
在各种自监督方法中,用于从大型数据集学习通用视觉特征,Sapiens选择了掩码自动编码器(MAE)方法,因为其简单高效。MAE具有单次推理模型,与对比或多次推理策略相比,允许使用相同的计算资源处理更大的图像量。为了提高保真度,与以前的方法不同,Sapiens将预训练的本机输入分辨率增加到1024像素,相比现有的最大视觉骨干网络,浮点运算次数增加了约4倍。每个模型都在1.2万亿令牌上预训练。对于人类中心任务的微调,Sapiens使用了一致的编码器-解码器架构。编码器使用预训练的权重初始化,而解码器(一个轻量级、特定任务的头部)是随机初始化的。然后同时对这两个组件进行了端到端的微调。Sapiens关注四个关键任务:2D姿势估计、身体部位分割、深度和法线估计,如下图所示。

与以前的研究一致,Sapiens证实了标签质量对模型在野外环境中的性能的关键影响。公共基准通常包含噪声标签,在模型微调期间提供不一致的监督信号。同时,为了与Sapiens的主要目标(3D人类数字化)保持一致,使用细粒度、精确的注释至关重要。为此,Sapiens提出了一套更密集的2D全身关键点用于姿势估计,以及一个更详细的类别词汇用于身体部位分割,超出了以前数据集的范围。具体来说,Sapiens引入了一套全面的人体关键点,包括308个关键点,涵盖身体、手、脚、表面和面部。此外,Sapiens将身体部位分割的类别词汇扩展到28个类别,涵盖身体部位,如头发、舌头、牙齿、上/下唇和躯干。为了确保注释的质量和一致性,以及高程度的自动化,Sapiens使用多视图捕获设置来收集姿势和分割注释。Sapiens还使用人类中心的合成数据进行深度和法线估计,利用RenderPeople的600个详细扫描来生成高分辨率深度图和表面法线。Sapiens证明了将领域特定的大规模预训练与有限但高质量的注释相结合,可以实现强大的野外推广。

Sapiens:方法和架构
Sapiens遵循掩码自动编码器(MAE)方法进行预训练。模型被训练为根据部分观察重构原始人类图像。与所有自动编码器一样,Sapiens的模型具有一个编码器,将可见图像映射到潜在表示,并且具有一个解码器,从该潜在表示中重构原始图像。预训练数据集包括单人和多人图像,每张图像都被调整到固定大小,具有正方形的长宽比。类似于ViT,图像被分成具有固定大小的正方形、不重叠的补丁。随机选择一部分补丁并将其掩码,剩下的补丁保持可见。掩码补丁与可见补丁的比例(称为掩码比例)在整个训练过程中保持不变。
Sapiens的模型在各种图像特征方面表现出推广能力,包括尺度、裁剪、年龄、种族和主体数量。每个补丁令牌在模型中占图像面积的0.02%,相比标准ViT中的0.4%,减少了16倍,为模型提供了细粒度的令牌间推理。即使掩码比例增加到95%,Sapiens的模型也能在保留样本上实现人类解剖结构的合理重构。Sapiens预训练模型在未见人类图像上的重构如以下图所示。

此外,Sapiens利用一个大型专有数据集进行预训练,包含大约10亿张野外图像,专注于人类图像。预处理包括丢弃带有水印、文本、艺术描绘或非自然元素的图像。然后,Sapiens使用一个现成的人体边界框检测器来过滤图像,保留检测分数大于0.9且边界框尺寸超过300像素的图像。在数据集中,超过2.48亿张图像包含多个主体。
2D姿势估计
Sapiens框架对编码器和解码器进行了微调,涵盖多个骨架,包括K = 17、K = 133以及一个新的、更详细的骨架,具有K = 308个关键点,如下图所示。

相比之下,现有的格式最多包含68个面部关键点,Sapiens的注释包括243个面部关键点,包括眼睛、嘴唇、鼻子和耳朵周围的代表点。这种设计旨在精心捕捉现实世界中面部表情的细微差别。使用这些关键点,Sapiens框架手动注释了100万张4K分辨率图像,来自室内捕获设置。与以前的任务一样,Sapiens将法线估计器N的解码器输出通道设置为3,分别对应每个像素的xyz分量。生成的合成数据也用于表面法线估计的监督。

Sapiens:实验和结果
Sapiens-2B使用1024个A100 GPU在18天内预训练,使用PyTorch。Sapiens在所有实验中使用AdamW优化器。学习计划包括简短的线性预热,然后是预训练的余弦退火和微调的线性衰减。所有模型都从头开始在1024×1024的分辨率和16的补丁大小下预训练。对于微调,输入图像被调整到4:3的比例,即1024×768。Sapiens应用了标准的数据增强,如裁剪、缩放、翻转和光度失真。对于分割、深度和法线预测任务,添加了来自非人类COCO图像的随机背景。重要的是,Sapiens使用了差异化学习率,以保持推广,初始层的学习率较低,后续层的学习率逐渐增加。编码器的层级学习率衰减设置为0.85,权重衰减为0.1。
Sapiens的设计规格在下表中详细说明。按照特定的方法,Sapiens优先通过宽度而不是深度来扩展模型。值得注意的是,Sapiens-0.3B模型虽然在架构上与传统的ViT-Large类似,但由于其更高的分辨率,具有20倍更多的浮点运算次数。

Sapiens被微调用于面部、身体、脚和手(K = 308)的姿势估计,使用高保真度的注释。对于训练,Sapiens使用包含100万张图像的训练集,对于评估,使用了一个名为Humans5K的测试集,包含5,000张图像。评估遵循自上而下的方法,Sapiens使用一个现成的检测器来获取边界框,并对单个人进行姿势推理。表3显示了Sapiens模型与现有方法在全身姿势估计方面的比较。所有方法都在Sapiens的308个关键点词汇和COCO-WholeBody的133个关键点词汇之间的114个共同关键点上进行评估。Sapiens-0.6B超过了当前的最先进方法DWPose-l,提高了2.8个AP。与DWPose不同,DWPose使用了一个复杂的学生-教师框架,具有针对该任务的特征蒸馏,Sapiens采用了一种通用的编码器-解码器架构,具有大规模的人类中心预训练。
有趣的是,即使具有相同的参数数量,Sapiens模型也表现出比其对应模型更好的性能。例如,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仍然表现出对现实世界场景的强大推广能力,如下图所示。

Sapiens被微调和评估,使用了28个类别的分割词汇。训练集包含100,000张图像,而测试集Humans-2K包含2,000张图像。Sapiens与现有的身体部位分割方法进行比较,这些方法在相同的训练集上进行了微调,使用了每种方法建议的预训练检查点作为初始化。与姿势估计类似,Sapiens在分割中表现出推广能力,如下表所示。

有趣的是,即使是最小的模型Sapiens-0.3B,也超过了现有的最先进的分割方法,如Mask2Former和DeepLabV3+,提高了12.6个mIoU,这是由于其更高的分辨率和大规模的人类中心预训练。进一步增加模型大小也会提高分割性能。Sapiens-2B实现了最好的性能,在测试集上达到81.2个mIoU和89.4个mAcc,如下图所示的定性结果。

结论
Sapiens代表着人类中心视觉模型向基础模型领域迈出的一大步。Sapiens模型表现出强大的推广能力,涵盖多种人类中心任务。最先进的性能归因于:(i)在特定于人类的精心策划的数据集上进行的大规模预训练,(ii)扩展的高分辨率和高容量的视觉变换器骨干,以及(iii)在增强的工作室和合成数据上的高质量注释。Sapiens模型有可能成为多种下游任务的关键构建块,并为更广泛的社区提供高质量的视觉骨干网络。












