← 返回 2026-05-12

ContactPrompt:基于多模态大语言模型的免训练密集手部接触估计 Training-Free Dense Hand Contact Estimation with Multi-Modal Large Language Models

Daniel Sungho Jung, Kyoung Mu Lee 📅 2026-05-07 👍 3 2026-07-13 08:36
3D 几何推理 MANO 网格 免训练零样本 多模态大语言模型 手部接触估计

用 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)都没有出现过,它们大多只处理高层空间或生成任务。

Overall pipeline of ContactPrompt. Given an input image I and text prompt T(0), we first perform free-form reasoning with MLLMs to produce a global interaction description z. Next, part-level contact prediction is performed using I, z, a text prompt T(1), and hand part segmentation S_part to obtain predicted contact parts P̂. Moreover, dense vertex-level contact is estimated by providing I, T(2), P̂, z, the full visual prompt S_full, and the part-wise vertex grid specification Q_P̂, producing part-wise grid outputs Ĝ. Lastly, the output Ĝ is mapped to final dense hand contact map.
Figure 1: Overall pipeline of ContactPrompt. Given an input image I and text prompt T(0), we first perform free-form reasoning with MLLMs to produce a global interaction description z. Next, part-level contact prediction is performed using I, z, a text prompt T(1), and hand part segmentation S_part to obtain predicted contact parts P̂. Moreover, dense vertex-level contact is estimated by providing I, T(2), P̂, z, the full visual prompt S_full, and the part-wise vertex grid specification Q_P̂, producing part-wise grid outputs Ĝ. Lastly, the output Ĝ is mapped to final dense hand contact map.
Comparison of hand part segmentation definition with DIGIT [7]. Our ContactPrompt provides more detailed hand part segmentation that is aligned with the function of hand parts.
Figure 2: Comparison of hand part segmentation definition with DIGIT [7]. Our ContactPrompt provides more detailed hand part segmentation that is aligned with the function of hand parts.
Details of visual prompt in ContactPrompt. The visual prompt consists of hand part indices and part-wise vertex grids. Hand part indices associate each region with its numeric label. The vertex grid shows row structure, where each row starts with a dot, vertices are connected by lines, and consecutive rows are linked to indicate sequential ordering between rows of the grid.
Figure 3: Details of visual prompt in ContactPrompt. The visual prompt consists of hand part indices and part-wise vertex grids. Hand part indices associate each region with its numeric label. The vertex grid shows row structure, where each row starts with a dot, vertices are connected by lines, and consecutive rows are linked to indicate sequential ordering between rows of the grid.

实验结果

在 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。

Ablation of hand part segmentation on MOW [5] dataset. MLLM inference efficiency is computed per sample.
Table 1: Ablation of hand part segmentation on MOW [5] dataset. MLLM inference efficiency is computed per sample.
Ablation of part-wise vertex grid representation on MOW [5] dataset. MLLM inference efficiency is computed per sample.
Table 2: Ablation of part-wise vertex grid representation on MOW [5] dataset. MLLM inference efficiency is computed per sample.
Ablation of multi-stage structured contact reasoning on MOW [5] dataset. MLLM inference efficiency is computed per sample.
Table 3: Ablation of multi-stage structured contact reasoning on MOW [5] dataset. MLLM inference efficiency is computed per sample.
Ablation of efficient dense contact estimation via part conditioning on MOW [5] dataset. MLLM inference efficiency is computed per sample.
Table 4: Ablation of efficient dense contact estimation via part conditioning on MOW [5] dataset. MLLM inference efficiency is computed per sample.
Comparison with SOTA methods of hand contact estimation on MOW [5] dataset.
Table 5: Comparison with SOTA methods of hand contact estimation on MOW [5] dataset.
Comparison of various MLLMs for dense hand contact estimation on MOW [5] dataset. MLLM inference efficiency is computed per sample.
Table 6: Comparison of various MLLMs for dense hand contact estimation on MOW [5] dataset. MLLM inference efficiency is computed per sample.
Qualitative comparison of dense hand contact estimation with BSTRO [18], DECO [36], HACO [19] on MOW [5] dataset. We emphasize exemplar regions, where ContactPrompt outperforms previous methods, in red circles.
Figure 4: Qualitative comparison of dense hand contact estimation with BSTRO [18], DECO [36], HACO [19] on MOW [5] dataset. We emphasize exemplar regions, where ContactPrompt outperforms previous methods, in red circles.
查看结构化数据
任务指标本文基线提升
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 版本的稳定性是主要风险点。