ContactPrompt:基于多模态大语言模型的免训练密集手部接触估计 Training-Free Dense Hand Contact Estimation with Multi-Modal Large Language Models
用 MLLM 把 3D 手部接触估计变成结构化提示推理,无需训练即超越监督方法。
前置知识
MANO 手部模型
一种参数化的人手 3D 网格模板,由 Romero 等人提出,通过 shape 与 pose 两个低维向量控制 778 个顶点的位姿,是手部姿态估计与接触估计的事实标准几何基底。本文的所有顶点级预测都在 MANO 网格上完成。
因为密集接触估计要给出 778 个顶点各自的接触/非接触标签,必须理解 MANO 提供的拓扑结构(手部关键点、掌/背/桡/尺侧分区)才能设计合理的分区与网格化表示。
多模态大语言模型 MLLM
能同时接收图像与文本输入并输出自然语言或结构化结果的 LLM,如 GPT-5 系列或 Claude 系列。其优势在于海量图文配对预训练带来的语义理解与零样本推理能力,但原生只处理 2D 图像与 1D 文本,不擅长直接解析 3D 坐标。
本文所有推理都依赖 MLLM,需要理解它的能力边界——它能做高层语义判断但缺乏细粒度几何感知——才能理解为何必须把 3D 网格重新编码为 MLLM 可读的「语言友好」结构化提示。
密集预测(Dense Prediction)
对每个空间单元(如像素、3D 顶点)都输出一个标签或数值。区别于只预测关键点或整体类别。在本文中即对 778 个 MANO 顶点各预测一个二值接触标签。
理解密集预测才能体会挑战:把 778 个顶点都交给 MLLM 判断会引发输入长度爆炸与歧义,必须把任务拆解为更易管理的子结构(手部部件 + 网格)。
结构化提示(Structured Prompting)
把任务描述、约束、输出 schema(如 JSON、表格行列)一起打包进 prompt,使模型按预定结构回答,便于解析与校验。本文三阶段都使用 JSON 严格输出 schema。
它是把 MLLM 从「聊天机器人」变成「可编程推理引擎」的关键技巧,决定了输出能否被解析、能否迭代纠错(re-generation with error feedback)。
Vertex-level Contact Estimation
在 3D 人手/物体网格上预测每个顶点是否处于接触状态。传统方法通常依赖 3D 距离阈值(人手与物体表面距离 < 阈值则标记接触)生成监督标签,并训练专用神经网络。
这是本文要解决的具体问题:现有方法需要几十万张标注图训练专用模型,而本文用零样本提示就能完成同样任务,需要理解评价指标(F1、Precision、Recall)才能体会改进幅度。
研究动机
现有密集手部接触估计方法几乎全部依赖大规模监督训练:HACO 在 14 个数据集、共 65.5 万张图上预训练 DECO 用 cross-attention 融合 2D 分割与 mesh 部件渲染;BSTRO 用 Transformer 在 SMPL-X 上预测接触;POSA 用 cVAE 基于 3D 姿态生成接触概率。这些方法的共同问题是:(1) 需要昂贵的人工或几何阈值标注;(2) 在 in-the-wild 场景(如 MOW 数据集的 92 个样本)泛化能力有限;(3) 不能直接利用语言/语义先验来推理「人在做什么动作」。此外,GECO 虽然首次将 MLLM 用于身体接触估计,但只能输出部件级标签,无法给出 778 顶点级密集结果;直接给 MLLM 喂 778 行顶点文本既冗长(778 条句子)又因为顶点位置过密,语言描述本身就模糊,难以让 MLLM 区分相邻顶点。
本文的目标是本文的目标是构建一个完全免训练、零样本的密集手部接触估计框架 ContactPrompt,让商用 MLLM(如 GPT-5.5)通过多阶段结构化提示推理直接输出 778 个 MANO 顶点的二值接触标签,并且在 MOW 数据集上 F1-score 超越 HACO 等有监督 SOTA,同时做到单样本 API 调用成本可接受(GPT-5.5 单次 $0.108)。
与已有工作不同的是,本文的独特切入角度是把「MLLM 做 3D 几何推理」这一未充分探索的方向与「免训练密集预测」结合:核心思想是不要让 MLLM 直接吃坐标,而是设计一个详细的 103 部件语义分割 + 每部件的「vertex-grid」(行式排布的 0/1 二值网格),用 JSON schema 强制输出结构,再通过三阶段(自由形式全局推理 → 部件级筛选 → 顶点级细化)逐步从粗到精。配合 part conditioning 把预测空间限制到接触部件,兼顾精度与效率。这与 GECO 的单阶段部件级推理、HACO 的有监督顶点级损失形成根本区别。
核心方法
ContactPrompt 的整体思路是把「让 MLLM 预测 778 个 MANO 顶点是否接触」这件本质上不可行的事(输入过长、顶点位置语言描述模糊)转化为一个可分步解决的「结构化提示推理」问题。先给出输入图像 I,让 MLLM 用自然语言写出全局交互描述 z(手是否倒置、相机视角、可见表面、抓握类型、被遮挡的合理接触区),这一步利用 MLLM 最擅长的语义推理;再让 MLLM 在 103 个手部部件中选出 k 个接触部件 P̂;最后只对 P̂ 中每个部件给出按 vertex-grid(行长度固定的 0/1 网格)填好的密集接触 Ĝ,按预定部件-顶点映射聚合为 778 维接触向量。整个流程无需任何梯度更新,每阶段用严格的 JSON schema 与最多 2~4 次 re-generation 来保证结构有效。
核心创新在于将 MLLM 不擅长的 3D 顶点坐标显式转化为两层语言友好结构:(1) 详细的 103 部件语义分割(替代 DIGIT 的粗糙划分,按掌/背/桡/尺侧 + 远近端 + 指节分区,并显式定义 webspace 等功能区域),让每个部件都有可区分的语义名称;(2) 部件内的 vertex-grid 表示,把每个部件的顶点按手指方向排列成多行(行内左到右、行间指尖到手腕),用点的起点、横线、行间连接线视觉化呈现拓扑,并强制模型按 JSON 中 num_rows 与 row_lengths 严格输出。两层结构 + 三阶段推理 + part conditioning 共同把 MLLM 的「高层语义能力」与「细粒度几何定位」桥接起来,本质区别于 GECO(仅部件级、单阶段)和 HACO(需要 65.5 万张图训练)。
方法步骤详情
方法分为四个组件:(1) 详细手部部件分割 Section 3.1:将 MANO 778 顶点按掌面 palmar、背面 dorsal、桡侧 palmar radial、尺侧 palmar ulnar 划分;掌心进一步分为指尖、指节基部、多层掌中心、thenar、腕部等;手指分为近/中/远端并按方向再分;显式定义 webspace(拇指-食指间),最终得到 K=103 个部件,每个部件有功能语义名并渲染为多视角参考图供 MLLM 看。(2) Part-wise vertex grid Section 3.2:对每个部件 p 的顶点集合 Vp 排成 G_p = {g_p^(1), ..., g_p^(Rp)} 的 Rp 行,行内左到右、行间从指尖到手腕,视觉 prompt 用点起 + 行内连线 + 行尾连行首表示顺序结构;JSON schema 包含 part_name、part_index、num_rows、row_lengths、num_vertices,但不显式给顶点索引(避免冗长),模型只填 0/1。(3) 多阶段结构化推理 Section 3.3:Stage 0 自由形式 f^(0)(I, T^(0)) → 文本 z;Stage 1 部件预测 f^(1)(I, T^(1), S_part, z) → 接触部件集 P̂(用部件索引子集视觉 prompt S_part);Stage 2 密集预测 f^(2)(I, T^(2), S_full, z, P̂, Q_P̂) → 部件内网格输出集合 Ĝ(用全视觉 prompt S_full 与 P̂ 对应部件的 num_rows/row_lengths)。每阶段允许有限次 re-generation:当输出 JSON 不满足结构约束时,把错误反馈追加进 prompt 让模型自我修正。(4) Part conditioning Section 3.4:把有效预测域限制为 V_active = ⋃_{p∈P̂} Vp,域外顶点直接赋 c_v = 0,把 MLLM 输出 token 数从 4525 降到 3588(降 20.7%),最终按预定部件-顶点映射把 Ĝ 聚合为 MANO 778 维二值接触向量 c。
技术新颖性
技术新颖性体现在三方面:(a) 几何-语言对齐的表示设计——首次为 MANO 定义 103 部件的细粒度功能化分割,并把每个部件顶点展平成行结构化网格,使 MLLM 可同时利用语义(部件名)与拓扑(行的顺序)双重线索;(b) 三阶段推理编排——Stage 0 显式推理相机视角与抓握类型以避免把可见表面等同于接触;Stage 1 用 orientation-spread 先验处理 MLLM 对薄手指区域的「阈值式标注」传播;Stage 2 在严格结构约束下填 0/1,每阶段 re-generation 保证 schema 有效;(c) 推理效率优化——part conditioning 把 API 调用输出 token 减少 20.7% 同时把 F1 从 0.522 提升到 0.526,体现出该方法不仅在准确率上 SOTA,还在工程可行性上接近 GPT-5.4($0.024/样本)的水平。这些组合在现有 MLLM-for-3D 工作中(如 Transcribe3D、SG-Nav、CE3D、3DAxisPrompt、LL3M、NGLPrompter)都没有出现过,它们大多只处理高层空间或生成任务。
实验结果
在 MOW 数据集 92 个 in-the-wild 样本上,ContactPrompt 用 GPT-5.5 取得 Precision 0.473、Recall 0.710、F1-Score 0.526,Recall 与 F1 都达到 SOTA,超过了 HACO(P=0.525、R=0.607、F1=0.522),后者是用 65.5 万张图、14 个数据集训练的有监督方法;POSA、BSTRO、DECO 的 F1 分别只有 0.101、0.112、0.197,远落后于本文。消融实验中(Table 1):用 ContactPrompt 自己的 103 部件分割替换 DIGIT 粗糙分割,Precision 从 0.404 提升到 0.473(+17.1%),Recall 从 0.464 提升到 0.710(+53.0%),F1 从 0.389 提升到 0.526(+35.2%),输出 token 从 5311 降到 3588(-32.4%),说明细粒度语义分割既涨点又省 token。Table 2 显示 vertex-grid 多行结构把 F1 从 0.432 提到 0.526(Recall +55.7%),但代价是 token 从 2628 升到 3588,因为模型会预测更多接触部件。Table 3 验证三阶段必要性:只跑 Dense 阶段 F1=0.513 但 Precision 仅 0.382(过度自信),加上 Part 阶段 F1=0.497、Precision 0.460 变平衡,加上 Free-form 阶段后 F1 达到 0.526。Table 4 表明 part conditioning 在 F1 从 0.522 微涨到 0.526 的同时,把 token 从 4525 降到 3588(-20.7%)、成本从 $0.136 降到 $0.108。Table 6 比较不同 MLLM:GPT-5.5 综合最强(F1=0.526),Claude Sonnet 4.6 性价比高(F1=0.488,$0.067),GPT-5.4 最便宜(F1=0.487,$0.024),Claude Opus 4.7 Precision 最高(0.506)但 F1 仅 0.473。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| MOW 92 样本密集手部接触估计 | Precision (vertex-level) | 0.473 | HACO: 0.525; DECO: 0.246; BSTRO: 0.204; POSA: 0.134 | 比 HACO 低 5.2 个百分点(0.473 vs 0.525),但比 DECO/BSTRO/POSA 高 92%~253% |
| MOW 92 样本密集手部接触估计 | Recall (vertex-level) | 0.710 | HACO: 0.607; DECO: 0.235; BSTRO: 0.126; POSA: 0.128 | 比 SOTA HACO 高 17.0%,Recall 显著领先(捕获更完整的接触区域) |
| MOW 92 样本密集手部接触估计 | F1-Score (vertex-level) | 0.526 | HACO: 0.522; DECO: 0.197; BSTRO: 0.112; POSA: 0.101 | 比 HACO 高 0.4 个百分点,比 DECO/BSTRO/POSA 高 167%~420% |
| MOW 92 样本(部件分割消融) | F1-Score (ContactPrompt 部件 vs DIGIT) | 0.526 | DIGIT 粗糙分割: 0.389 | +35.2%,同时输出 token 减 32.4% |
| MOW 92 样本(vertex-grid 消融) | F1-Score (有 grid vs 无 grid) | 0.526 | 无 grid(单行):0.432 | +21.8%,Recall 从 0.456 提升到 0.710 |
| MOW 92 样本(part conditioning 消融) | Cost per sample (USD) | $0.108 | 无 part conditioning: $0.136 | 成本降 20.6%,F1 同步从 0.522 微涨到 0.526 |
局限与改进
作者在第 6 节明确指出两点:(1) 方法依赖 MLLM API,本身比专用模型慢且贵,单样本 $0.108(GPT-5.5),批量推理受限于 Stage 间的串行依赖无法并行;(2) 外部 API 的稳定性与版本变化会损害可复现性。我自己的额外观察:(a) Table 5 显示本文 Precision 0.473 低于 HACO 0.525,说明有监督方法在「少而准」上仍占优,本文靠高 Recall(0.710)扳回 F1,但代价是接触图整体偏大,可能在接触面积本应很小的精细抓取(如捏笔尖)场景会出现过度预测(Figure 4 第三行笔操控仍把整个掌心预测为接触);(b) 仅在 MOW 一个数据集(92 个样本)上评测,缺乏跨数据集验证(HO3D、ContactDB、YCB-Slide 等),且 in-the-wild 场景的复杂背景与多人交互鲁棒性未测;(c) 强烈依赖 MLLM 的视觉理解,对图像分辨率、手部遮挡、相机极端角度敏感,prompt 已在 Appendix 中显式讨论倒置手、背景颜色混淆等 corner case;(d) 三阶段串行延迟可观,且 re-generation 最坏情况下 Stage 2 重试 4 次将进一步推高成本与时间。
独立分析的弱点
从独立分析角度,方法存在以下可改进点:(1) Precision 偏低:与 HACO 相比 0.473 < 0.525,模型倾向把接触区预测得过大(高 Recall 0.710 带来副作用),可在 Stage 2 prompt 中加入更强的「thin finger only」约束或在 Stage 1 引入置信度阈值过滤假阳性部件。(2) MOW 单数据集评测不足:建议在 ContactDB、HO3D、DexYCB、YCB-Slide 等多数据集统一评测,并报告跨数据集泛化(train-free 优势应更明显)。(3) 串行三阶段延迟:当前 Stage 0→1→2 严格串行,可探索并行化——比如 Stage 1 直接基于图像预测部件,跳过 Stage 0 自由文本——文中消融显示无 free-form 时 F1 仅 0.435,说明全局描述重要,但可考虑用更短的 caption 替代长自由文本。(4) 对 MLLM 视觉-几何对齐能力高度依赖:若 MLLM 升级或换版本,输出 schema 兼容性需重新验证,可考虑引入离线校验模块自动检测违规 JSON 与异常拓扑。(5) 无法处理双手交互中左右手对称歧义:prompt 中已显式推理倒置与左右手,但仍可能出现错手预测,可加一个 Stage 0.5 让 MLLM 先输出左右手标签。
未来方向
作者在结论中未单独列未来工作,但基于其结构可自然延伸出多个方向:(a) 拓展到全身接触估计:把 MANO 换成 SMPL-X,与现有 GECO/BSTRO 在 full-body 接触任务上对比,发挥 103 部件风格分割的可扩展性;(b) 时序建模:当前是单帧预测,可在 Stage 0 输入连续多帧,让 MLLM 推理抓握动态并融合时序信息提升 Recall 稳定性;(c) 与具身智能结合:把 ContactPrompt 作为机器人抓取规划的接触先验,引导 RL 策略;(d) 用更小开源 VLM(如 LLaVA-OV、InternVL)替代闭源 GPT-5.5 降低成本,文中 Table 6 显示 GPT-5.4 已能做到 $0.024/样本,开源化将进一步降低部署门槛;(e) 与 3D 重建模型协同:用单图像 3D 手部重建(如 METRO、HandMesh)的顶点位置作为辅助输入,弥补 MLLM 不能直接读 3D 坐标的弱点;(f) 引入稀疏标注的弱监督微调:保留免训练主框架,但允许在少量标注上微调 Stage 1/2 的 prompt embedding,桥接零样本与全监督。
复现评估
复现性总体良好但有外部依赖:(1) 代码承诺开源(论文摘要末句「The codes will be released」),但截止本文未指明具体仓库 URL;(2) 数据集 MOW 与 HACO 标注均公开可获取;(3) 算力要求极低,单卡 A6000 仅用于图像预处理与渲染可视化,核心推理全部走 OpenAI/Anthropic API,无需 GPU 训练;(4) 复现难度集中在 prompt 工程:作者在 Appendix 给出 Stage 0/1/2 完整 prompt 与设计讨论,但 prompt 中嵌套大量 conditional 规则(pen or pencil like object、上下颠倒手判断、orientation-spread 等),需仔细照搬;(5) GPT-5.5/5.4 与 Claude Sonnet 4.6/Opus 4.7 是闭源 API,价格/版本/行为可能随时变化,Table 6 数据可作 baseline 但跨时间严格比较困难;(6) MANO 模型需同意使用条款并从官网下载。综合评估:算法可复现性中等偏高,但跨时间、跨 MLLM 版本的稳定性是主要风险点。
论文图表