SAM 3D Body: Robust Full-Body Human Mesh Recovery
单图片全身3D人修复, SOTA表现. 使用新的参数化网格表示方法, 支持辅助提示, 高质量的数据标注, 新benchmark.
单图片全身3D人修复, SOTA表现. 使用新的参数化网格表示方法, 支持辅助提示, 高质量的数据标注, 新benchmark.

当前研究对in-the-wild图片鲁棒性不足, 复杂动作, 重叠, 不正常视角生成能力不足. 测试集缺失.
挑战来自数据和模型. 数据收集昂贵, 模型架构没有充分解决手部姿态的独特优化.

它没放模型内部的结构图, 简单讲一下我的理解, 一个编码器, 两个解码器.
假定现在你有一张图片, 先裁剪出包含人的矩形输入模型, 输出特征.
解码器有一系列的查询token作为输入预测HMR和相机参数.
拼接以上所有令牌作为查询令牌T, 与图像特征F会被送入Body解码器, 模型提取输出序列O的第一个令牌, 送入MLP进行回归计算预测.
(对于手部的优化. 可以理解为单独为手部训练了一个小模型)
训练时用了多任务学习策略(2D/3D 关键点损失, 参数损失, 手部检测损失), 预热机制及时调整各任务权重, 并随机给不同的提示, 强迫模型学会在各种输入条件下都能稳定工作.
显示body解码器出一个基线, 内置检测器如果检测到了手, 启动手部解码器, 最后将两个结果融合.
任务是构建一个高度多样化, 且包含精准标注的训练数据集, 难点在于成本高, 数据冗余(一般从视频构建, 包含大量相似帧), 方法是引入VLM从海量图库中筛选罕见场景, 并基于失败分析的迭代闭环.
(就用大模型筛罕见场景让人去标)
3D网格标注极其繁琐, 作者分了三步实现.
再往后是数据集参数和模型评估, 跳过.
感受
有意思的地方是查询向量的设计, 比如3D Keypoints或2D Keypoints, 训练时随机初始化, 自我优化, 推理时又不需要提供, 作为固定参数参与计算, 在我看来是可有可无的, 大模型解释为它们存在的意义在于"定义任务的目标", 数值虽然固定, 但它在向量空间里的"位置"代表了对人体结构的先验知识.