Connect with us

人工智能

Sapiens: 人类视觉模型的基础

mm
Sapiens: Foundation for Human Vision Models

大规模预训练后跟随任务特定微调对于语言建模的显著成功已经确立了这种方法作为标准实践。同样,计算机视觉方法也正在逐渐接受广泛的数据规模进行预训练。诸如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:人类视觉模型的突破

近年来,二维和三维中生成逼真的人类图像取得了显著进展。这些方法的成功在很大程度上归功于对各种资产(如二维关键点、细粒度身体部位分割、深度和表面法线)的强大估计。然而,准确估计这些资产仍然是一个活跃的研究领域,为了提高个别任务的性能而复杂的系统往往会阻碍更广泛的采用。此外,在野外环境中获得准确的ground-truth注释以扩展规模而闻名。Sapiens的目标是提供一个统一的框架和模型,以便在野外环境中推断这些资产,从而为每个人解锁一系列人类中心应用。

Sapiens认为,这样的以人为中心的模型应该满足三个标准:泛化、广泛适用性和高保真度。泛化确保模型对未见条件的鲁棒性,使模型能够在各种环境中保持一致的性能。广泛适用性表明模型的多功能性,使其适用于各种任务,并且可以通过最小的修改来适应。高保真度表示模型能够产生精确、高分辨率的输出,这对于忠实的三维人类生成任务至关重要。本文详细介绍了开发满足这些属性的模型的过程,统称为Sapiens。

根据这些见解,Sapiens利用了大型数据集和可扩展的模型架构,这对于泛化至关重要。为了获得更广泛的适用性,Sapiens采用了预训练然后微调的方法,使模型能够在预训练后轻松适应特定任务,并且只需要最小的调整。这一方法提出了一个关键问题:在预训练中使用什么类型的数据最有效?在计算限制下,应该重点收集尽可能多的人类图像,还是更好地在预训练中使用一个不太精心策划的数据集,以更好地反映现实世界的可变性?现有的方法经常忽略预训练数据分布对下游任务的影响。为了研究预训练数据分布对人类特定任务的影响,Sapiens收集了Humans-300M数据集,包含300万多样化的人类图像。这些未标记的图像用于从头开始预训练一系列视觉变换器,参数数量从0.3到20亿不等。

在各种自监督方法中,用于从大型数据集中学习通用视觉特征,Sapiens选择了掩码自动编码器(MAE)方法,因为其简单高效的预训练。MAE与对比或多推理策略相比,具有单一推理模型,这使得它能够在相同的计算资源下处理更大量的图像。为了获得更高的保真度,Sapiens将预训练的本机输入分辨率提高到1024像素,这与现有的最大视觉骨干网络相比,增加了大约4倍的FLOPs。每个模型都在1.2万亿令牌上预训练。对于人类中心任务的微调,Sapiens使用了一致的编码器-解码器架构。编码器使用预训练的权重初始化,而解码器(一个轻量级、特定任务的头部)是随机初始化的。两个组件然后一起进行端到端的微调。Sapiens关注四个关键任务:二维姿势估计、身体部位分割、深度和法线估计,如下图所示。

与以前的研究一致,Sapiens确认标签质量对模型在野外环境中的性能的关键影响。公共基准通常包含嘈杂的标签,在模型微调期间提供不一致的监督信号。同时,为了与Sapiens的主要目标(三维人类数字化)紧密对齐,利用细粒度、精确的注释至关重要。为此,Sapiens提出了一组更密集的二维全身关键点用于姿势估计和一个更详细的类别词汇用于身体部位分割,超越了以前数据集的范围。具体来说,Sapiens引入了一套全面集合的308个关键点,涵盖身体、手、脚、表面和面部。此外,Sapiens扩展了分割类别词汇到28个类别,涵盖身体部位,如头发、舌头、牙齿、上/下唇和躯干。为了确保注释和高自动化程度的质量和一致性,Sapiens利用多视图捕获设置来收集姿势和分割注释。Sapiens还利用人类中心合成数据进行深度和法线估计,利用RenderPeople的600个详细扫描来生成高分辨率的深度图和表面法线。Sapiens证明了将领域特定的大规模预训练与有限但高质量的注释相结合,能够带来在野外环境中的强大泛化能力。总体而言,Sapiens的方法展示了一种有效的策略,用于开发能够在现实世界场景中执行的高精度判别模型,而无需收集昂贵、多样化的注释集。

Sapiens:方法和架构

Sapiens遵循掩码自动编码器(MAE)方法进行预训练。模型被训练为给定其部分观察重构原始人类图像。像所有自动编码器一样,Sapiens的模型具有一个编码器,将可见图像映射到潜在表示,并且具有一个解码器,从该潜在表示重构原始图像。预训练数据集包括单人和多人图像,每张图像都调整到固定大小,具有正方形的长宽比。类似于ViT,图像被划分为规则的、不重叠的块,具有固定块大小。这些块中的一部分被随机选择并掩码,剩余的块保持可见。掩码块与可见块的比例(称为掩码比例)在整个训练过程中保持不变。

Sapiens的模型在各种图像特征方面表现出泛化能力,包括比例、裁剪、主题的年龄和种族以及主题的数量。每个块令牌在模型中占图像面积的0.02%,相比标准ViT中的0.4%,减少了16倍,为模型提供了细粒度的令牌间推理。即使掩码比例增加到95%,Sapiens的模型仍然能够对人类解剖学进行合理的重构,如下图所示。

此外,Sapiens利用一个大型专有数据集进行预训练,包含大约10亿张野外图像,专注于人类图像。预处理包括丢弃带有水印、文本、艺术描绘或非自然元素的图像。然后,Sapiens使用一个现成的人体边界框检测器来过滤图像,保留检测分数大于0.9且边界框尺寸超过300像素的图像。在数据集中,超过2.48亿张图像包含多个主题。

2D姿势估计

Sapien框架对编码器和解码器进行了微调,适用于多个骨架,包括K = 17 [67]、K = 133 [55]和一个新的、非常详细的骨架,具有K = 308个关键点,如下图所示。

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

Sapien:实验和结果

Sapiens-2B使用1024个A100 GPU和PyTorch预训练了18天。Sapiens在所有实验中使用AdamW优化器。学习计划包括简短的线性预热,然后是预训练的余弦退火和微调的线性衰减。所有模型都从头开始在1024×1024的分辨率和16的块大小下预训练。对于微调,输入图像被调整到4:3的比例,即1024×768。Sapiens应用了标准的数据增强技术,如裁剪、缩放、翻转和光度失真。对于分割、深度和法线预测任务,添加了来自非人类COCO图像的随机背景。重要的是,Sapiens使用差异学习率来保持泛化性,对初始层使用较低的学习率,对后续层使用逐渐更高的学习率。层级学习率衰减设置为0.85,权重衰减为0.1,适用于编码器。

Sapiens的设计规格在下表中详细说明。遵循特定的方法,Sapiens优先通过宽度而不是深度来扩展模型。值得注意的是,Sapiens-0.3B模型虽然与传统的ViT-Large架构相似,但由于其更高的分辨率而具有二十倍更多的FLOPs。

Sapiens对编码器和解码器进行了微调,适用于面部、身体、脚和手(K = 308)的姿势估计,使用高保真度的注释进行训练。Sapiens使用1M图像的训练集,并使用名为Humans5K的5K图像测试集进行评估。评估遵循自上而下的方法,Sapiens使用现成的检测器来获取边界框,并进行单人姿势推理。表3显示了Sapiens模型与现有方法在全身姿势估计方面的比较。所有方法都在Sapiens的308个关键点词汇和COCO-WholeBody的133个关键点词汇之间的114个共同关键点上进行评估。Sapiens-0.6B超越了当前的最先进方法DWPose-l,提高了+2.8 AP。与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个类别的分割词汇进行了微调和评估。训练集包含100K图像,而测试集Humans-2K包含2K图像。Sapiens与现有的身体部位分割方法进行了比较,这些方法在相同的训练集上进行了微调,使用每种方法建议的预训练检查点作为初始化。与姿势估计类似,Sapiens在分割中表现出泛化能力,如下表所示。

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

结论

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

专业为工程师,心为作家。 Kunal是一名技术作家,对AI和ML有着深厚的热爱和理解,致力于通过其引人入胜和信息丰富的文档来简化这些领域中的复杂概念。