项目地址:github.com
概述
Sapiens 是由 Rawal Khirodkar 等人开发的一系列模型,旨在处理四个关键的以人为中心的视觉任务:2D 姿态估计、身体部位分割、深度预测和表面法线预测。这些任务对于理解图像中的人体和生成逼真的3D 人类模型至关重要。Sapiens 模型通过在大规模的野外人类图像数据集上进行自监督预训练,然后针对特定任务进行微调,以实现高性能。
模型特点
- 高分辨率支持:Sapiens 原生支持高达 1K 分辨率的图像,使其能够处理高保真任务。
- 易于适应:通过简单的微调,可以轻松适应不同的任务。
- 大规模预训练:在超过 3 亿张野外人类图像上进行预训练,提高了模型的泛化能力。
方法详细介绍
3.1 Humans-300M 数据集
- 数据规模与清洗:收集了约 10 亿张野外图像,专注于人类图像,并进行了清洗,去除了带水印、文字等非自然元素的图像。
- 图像筛选:使用人体边界框检测器筛选图像,保留检测分数高于 0.9 且边界框尺寸超过 300 像素的图像。
3.2 预训练
- 掩码自编码器 (MAE):采用掩码自编码器方法进行预训练,模型学习从部分观察到的图像重建原始图像。
- 掩码策略:固定比例的图像块被随机选择并掩蔽,模型需要从未掩蔽的部分重建整张图像。
3.3 2D 姿态估计
- 目标:从输入图像中检测关键点位置。
- 方法:定义了一个姿态估计变换器 P,输入图像 被转换为一组预测的热图 。
- 损失函数:使用均方误差 来训练模型,其中y 是真实的关键点热图。
在 P 中微调了多个骨架的编码器和解码器,包括 K = 17 [67]、K = 133 [55] 和一个新的高度详细的骨架,K = 308.
注释由 243 个面部关键点组成,包括眼睛、嘴唇、鼻子和耳朵周围的代表性点。此设计经过精心定制,可细致捕捉现实世界中面部表情的细微细节。利用这些关键点,我们从室内采集设置中以 4K 分辨率手动标注了 1 mil lion 图像。
3.4 身体部位分割
- 目标:将图像中的像素分类到不同的身体部位类别。
- 方法:采用编码器-解码器架构,微调以最小化加权交叉熵损失。
- 损失函数:,其中 p是真实的概率图, 是预测的概率图。
- 我们在两个部分分割词汇中微调 S:C = 20 的标准集 [40] 和一个新的更大的词汇表,如图 4 所示(右)。我们提出的词汇表在重要方面超越了以前的数据集。它区分了四肢的上半部分和下半部分,并结合了更详细的分类,例如上/下嘴唇、牙齿和舌头。为此,我们使用此词汇以 4K 分辨率手动注释 100K 图像。
3.5 深度估计
- 目标:预测图像的深度图。
- 方法:使用与分割相同的架构,但解码器输出通道设为 1 进行回归。
- 损失函数:相对深度估计的损失,其中 d 是真实的深度图,是预测的深度图。
3.6 表面法线估计
- 目标:预测图像中每个像素的表面法线向量。
- 方法:设置法线估计器 NN 的解码器输出通道为 3,对应法线向量的 xyz 分量。
- 损失函数:,其中 n是真实的法线图, 是预测的法线图。
实验
实验部分详细描述了模型的实现细节,包括训练配置、优化器选择、学习率调度等。Sapiens 在多个基准测试中进行了评估,显示出在各种以人为中心的视觉任务中的优越性能。a
结论
Sapiens 模型通过大规模预训练和高分辨率输入,在多个以人为中心的视觉任务中实现了突破性的性能。这些模型不仅在技术上具有创新性,而且为未来在更广泛的应用领域中提供了强大的视觉处理能力。