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

它没放模型内部的结构图, 简单讲一下我的理解, 一个编码器, 两个解码器.
假定现在你有一张图片, 先裁剪出包含人的矩形输入模型, 输出特征.
解码器有一系列的查询token作为输入预测HMR和相机参数.
- HMR+相机参数: 代表对HMR和相机参数的初始估计, 被编码成一个可学习的向量.
- 2D关键点提示令牌: 如果能提供哪怕只有几个 2D 关节的坐标位置信息 K(包含 x, y 和标签), 模型就能通过 PromptEncoder 将其转化为提示令牌, 用来精确引导后续的生成.
- 辅助关键点令牌: 为了增强模型的推理能力和支持下游任务, 模型内部还设定了代表所有 2D 和 3D 关键点的可学习令牌. 它们帮助模型更好地理解不同关节之间的空间关系.
- 手部位置令牌: 这是一个可选令牌. 它专门被送到身体解码器中, 用来辅助定位双手在图像中的位置. 即便不输入这个令牌, 身体解码器依然能输出全身结果, 但加入它能提供额外的引导.
拼接以上所有令牌作为查询令牌T, 与图像特征F会被送入Body解码器, 模型提取输出序列O的第一个令牌, 送入MLP进行回归计算预测.
(对于手部的优化. 可以理解为单独为手部训练了一个小模型)
训练时用了多任务学习策略(2D/3D 关键点损失, 参数损失, 手部检测损失), 预热机制及时调整各任务权重, 并随机给不同的提示, 强迫模型学会在各种输入条件下都能稳定工作.
显示body解码器出一个基线, 内置检测器如果检测到了手, 启动手部解码器, 最后将两个结果融合.
任务是构建一个高度多样化, 且包含精准标注的训练数据集, 难点在于成本高, 数据冗余(一般从视频构建, 包含大量相似帧), 方法是引入VLM从海量图库中筛选罕见场景, 并基于失败分析的迭代闭环.
(就用大模型筛罕见场景让人去标)
3D网格标注极其繁琐, 作者分了三步实现.
- 人工标注. 先让当前模型对图片预测出一个初始的 2D 关键点, 然后, 让人类标注员去审查并手动修正这些点.
- 从 2D 点反推 3D 网格. 利用一个高容量的关键点检测器, 在刚才那几个稀疏点的引导下, 预测出 595 个密集的 2D 关键点, 这就与3D建立了联系, 我们训练模型预测3D pose, 保证3D的投影和595个密集点重合.
- 多视图网格拟合. 主要解决模型不知道手在前还是在后这种问题(深度), 解决方法是如果一个视频有多视角, 直接三角测量定位绝对坐标.
再往后是数据集参数和模型评估, 跳过.
感受
有意思的地方是查询向量的设计, 比如3D Keypoints或2D Keypoints, 训练时随机初始化, 自我优化, 推理时又不需要提供, 作为固定参数参与计算, 在我看来是可有可无的, 大模型解释为它们存在的意义在于"定义任务的目标", 数值虽然固定, 但它在向量空间里的"位置"代表了对人体结构的先验知识.