跳转至

TAIHRI: Task-Aware 3D Human Keypoints Localization for Close-Range Human-Robot Interaction

会议: ECCV 2026
论文: ECCV 2026
代码: https://github.com/Tencent/TAIHRI
领域: 3D视觉 / 多模态VLM / 机器人
关键词: 人机交互、3D人体关键点定位、第一人称视角、视觉语言模型、强化微调

一句话总结

TAIHRI 把"机器人第一人称相机下任务相关人体部位的三维定位"改写成视觉语言模型的下一 token 预测问题:把交互空间量化成体素 token、让模型先推理 2D 关键点再推深度、并用姿态感知奖励做 GRPO 强化微调,在 Harmony4D 与 EgoBody 的近距离设定下把上半身关键点的全局 MPJPE 从 124.91 mm 降到 93.83 mm。

研究背景与动机

机器人要和人有身体接触地协作(协作装配、服务机器人、助老助残),前提是它能说清楚"人的手、肘、肩此刻在机器人坐标系里的哪个位置"。这类应用需要的不是一具好看的人体网格,而是相机坐标系下、以毫米计的绝对空间位置:握手要的是手掌,递物要的是手腕,把一个人从轮椅上扶起来要的是腋下与躯干。可主流的三维人体姿态与形状估计(3D HPE/HMR)走的是另一条路——SMPL 系列参数化模型从图像回归全身网格,误差一律以根关节为原点统计(Multi-HMR、PARE 一类方法);为了让误差好看,评价时还要先做根对齐。近年 CameraHMR、PromptHMR、SAM 3D Body 等方法把相机内参显式喂进网络,确实能在相机坐标系下恢复带绝对平移的全局姿态,但它们仍然以"整具身体重建得准不准"为优化目标,并且要靠大量不同相机参数、不同数据集的训练才能泛化。

把这套体系搬到近距离 HRI 上,有两处对不上。一是评价坐标系对不上:根相对的表示天然丢掉了绝对平移与深度,而这恰恰是机器人做运动规划唯一需要的东西;一旦把误差放到相机坐标系下统计(不做根对齐、不做刚体配准),这些方法的误差会成倍放大,Harmony4D 上动辄 120–180 mm。二是关注的部位对不上:HRI 通常发生在 0.5–3 m 的近距离,机器人视场又窄,人往往只露出一部分身体,截断、自遮挡与近距离透视畸变会集中破坏远离根关节的末端关键点(腕、踝)。而"最难估准"的部位正是交互真正要用的部位——原文图 5 的可视化里,CameraHMR、PromptHMR、SAM 3D Body 在手腕、脚踝上的误差高达数百毫米,躯干附近的点却只有几十毫米。

于是这篇论文换了个问法:与其让模型先重建全身、再从中挑出任务需要的那几个点,不如直接问它"这个任务需要哪几个点、它们在哪里"。作者的做法是把定位改造成 VLM 的下一 token 预测:用自然语言指令("给这个人一个拥抱""从左侧把这个人扶起来")让模型自己点名任务相关部位,再把三维坐标量化成离散体素 token 逐字吐出来;这样"任务感知"不是外挂一个注意力模块,而是语言条件化本身的直接结果。要落地有两个障碍:公开数据里几乎没有近距离第一人称视角,于是作者合成了整套 CloseHRI;单目深度本身的歧义性让直接回归深度不可靠,于是三维定位被拆成"先 2D 后深度"的链式推理,并在 SFT 之后用姿态感知奖励的强化微调把毫米级误差压下去。核心 idea:把任务相关的 3D 关键点定位写成"任务指令 → 关键点名字 → 2D 像素坐标 → 离散化 3D 体素坐标"的自回归序列,用 SFT 学会格式与空间对应、用只看可见关节的 GRPO 奖励校准精度,从而在相机坐标系下直接给出机器人可用的任务部位位置。

方法详解

整体框架

输入是一张机器人头部单目相机拍的 RGB 图、一句描述交互任务的自然语言指令,以及已知的相机内参;输出是 N 个任务相关三维关键点在机器人相机坐标系下的米制坐标。整条链路分三段。先是成像归一:把不同相机的成像统一到同一套内参假设下(焦距固定为 1000、按比例缩放图像分辨率,用随机裁剪模拟主点偏移)。再是表示离散化:把机器人前方的交互空间切成 \(W\times H\times D\) 的体素网格、坐标量化成 0–999 的整数 token,"回归三维坐标"于是变成"报三个整数"。最后是自回归定位:VLM 依次输出任务相关关键点的名字、它们的 2D 像素坐标、它们的 3D 体素坐标,解码端再把体素 token 反解回米制坐标。模型以 Qwen3-VL 为骨干、先 SFT 再 GRPO 强化微调;预测出的关键点既可以直接作为机器人末端的目标位姿,也可以当作锚点把根相对的人体网格整体搬到全局坐标系里。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    A["第一人称 RGB + 语言指令<br/>+ 相机内参 K"] --> C["离散化交互空间<br/>统一焦距到 1000,坐标量化成 0–999 token"]
    B["CloseHRI 数据集<br/>0.5–3 m 合成第一人称视角 + 交互指令库"] -.->|SFT 监督| D["2D 关键点推理<br/>先点名任务部位与 2D,再推深度出 3D"]
    C --> D
    D --> E["体素 token 解码<br/>反解为相机系米制坐标"]
    E --> F["下游应用<br/>网格全局对齐 / 机器人逆运动学控制"]
    D -.->|采样回答| G["姿态感知奖励的强化微调<br/>Huber + PCK 成功率奖励"]
    G -.->|更新后的策略| D

关键设计

1. CloseHRI 数据集:用合成数据补上"近距离第一人称"这一片空白

现有数据集里没有 HRI 要的那种视角:Human3.6M、MPI-INF-3DHP 是第三人称全身,AGORA、BEDLAM 虽然人多场景杂,相机却架得远。0.5–3 m 的第一人称视角、窄视场下的截断与遮挡,是公开数据里几乎不存在的分布,而模型要学的恰恰是这个分布。

作者的构建流程沿用 WildHuman 一系的做法,把"几何精确"和"外观真实"两件事分给不同工具:先从 AMASS 采样动作序列,用 SMPL-X 模型在 Blender 里渲染法线图,得到姿态精确的人体几何;再把虚拟相机放在距人 0.5–3 m、高度与朝向随机的位姿上,模拟人形机器人头部相机的视角;接着以法线图为控制信号,用 SDXL 配合多样文本提示(如 "a person wearing a red shirt standing in a living room")合成带复杂背景的写实图像;最后过两道自动过滤——用 SAM3 剔除与人体掩码 IoU 小于 0.9 的样本,再用 VitPose 算 2D 关键点的重投影误差、只保留误差低于 15 像素的图,等于用 2D 检测器把"几何一致性"从生成图像里反向验一遍。这样得到 100 万张以上的近距离第一人称图像。为了进一步扩分布,训练时还混入 BEDLAMv1/v2 与 PDhuman,并统一按"所有关键点平均深度不超过 3 m"筛掉远距离样本,最终训练集约 120 万张。

同等重要的第二个产物是一份 6000 多条交互中心指令的 prompt bank(例如 "lift the person from the wheelchair.")。这些指令刻意点明 HRI 中任务相关的身体区域,训练时以 50% 的概率替换掉默认指令,让模型把语言语义和具体解剖区域绑定;另外 50% 仍用"定位 1 到 6 个关键点"的通用指令,以维持全身理解、避免过拟合到模板句式。相机距离被强行拉到 0.5–3 m,等于把训练分布对齐到 HRI 的测试分布——这也是后面能直接迁移到 Harmony4D、EgoBody 这两个真实第一人称数据集的前提。

2. 离散化交互空间:把 3D 坐标变成 VLM 能"说"的整数 token

VLM 擅长离散 token 的预测,连续坐标回归一直是它的短板:表 2 里 GPT-5.2 干脆不支持从单目图输出 3D 坐标,Qwen3-VL-235B 的全局误差高达 1298.3 mm。作者沿用 Pix2seq 一系的思路,假设机器人工作在一个预设的交互立方体内(宽 \(W\)、高 \(H\)、深 \(D\)),把三个轴各量化到 0–999 的整数,关键点坐标 \((x_i,y_i,z_i)\) 就变成三个体素 token:

\[X_i=\left\lfloor \frac{x_i}{W}\times 999\right\rfloor,\quad Y_i=\left\lfloor \frac{y_i}{H}\times 999\right\rfloor,\quad Z_i=\left\lfloor \frac{z_i}{D}\times 999\right\rfloor\]

(⚠️ 提取文本里这条公式的下标与乘数残缺,999 与量化方向按正文"量化到 0 到 999 之间"的描述补全;坐标相对交互体原点还是中心的偏移约定以原文为准。)量化把"输出一个实数"这种 VLM 不擅长的动作,换成它最擅长的"输出一个 0–999 的词表内 token",代价是精度上限被网格粒度锁死。

体素化解决了"怎么输出",没解决"深度从哪来":单目图像的深度歧义意味着模型必须先知道自己在透过什么相机看世界。作者没有加相机参数编码器、也没有学一个 ray embedding,而是采纳 DepthLM 的结论——内参条件化增强(intrinsic-conditioned augmentation)比给相机参数做适配器更有效:训练与推理时统一把焦距固定为 1000,按这个焦距缩放图像分辨率;主点偏移用随机裁剪来模拟,使模型能泛化到不同的图像尺寸与形状。消融给出了这条选择的代价:完全不做内参条件化的模型在 Harmony4D 上四个部位配置的误差都在 425 mm 上下,换成可学习 ray embedding 仍有 380–424 mm,而采用统一内参的完整模型是 93.83 mm(上半身)。作者的解释是 ray embedding 这类新参数会破坏 VLM 预训练好的视觉编码,而"改分辨率"既提供了几何先验,又完全不改网络结构。

3. 2D 关键点推理:先看见、再测距的链式输出

让模型一步到位吐出 3D 坐标,等于让它同时回答"是哪个点"和"它有多深"两件事,而后者是单目视觉里最不可靠的一环。作者的出发点是:2D 位置是图像里直接可见的证据,远比深度好估,把它显式写进输出序列,就成了深度推理的"思维链"(chain-of-thought)。

因此模型被训练成按顺序输出三段内容:先用一句话点名任务相关的关键点("I should focus on the left shoulder, right shoulder, left elbow and right elbow."),再把它们的 2D 像素坐标写进 <kpt2d> 标签,最后把 3D 体素坐标写进 <kpt3d> 标签,标签内部以 <部位名><x><y>(3D 为 <部位名><x><y><z>)的形式逐 token 列出。这里有一处设计值得留意:任务部位的名字本身就在这条自回归序列的最前端,所以"选哪些点"和"这些点在哪"共用一次生成——模型报出的部位名既是后续坐标输出的清单,也把注意力导向图像上对应的区域。消融验证了这条链的必要性:去掉 2D 推理直接预测 3D,上半身误差从 93.83 mm 涨到 126.67 mm,四个配置全线退化,说明"先 2D"不是可有可无的中间步骤,而是模型建立 2D–3D 空间对应关系的脚手架。

4. 姿态感知奖励的强化微调:只在可见关节上给分

SFT 只能模仿训练数据里的坐标序列,遇到截断、自遮挡这类训练分布边缘的情况,仍会报出偏得离谱的数。作者在 SFT 之后接一段 GRPO 强化微调,用一个专为"姿态误差"设计的奖励优化整条回答。奖励有一个关键约束:只在可见关节集合 \(\mathcal{V}\) 上计算——被截断或挡住的关键点本身没有可靠的监督信号,把它们算进奖励只会把策略往错误方向推。奖励由两项相加:一项把每个关节的误差先过 Huber 函数、在可见关节上求平均后取负指数,给出平滑的软信号;另一项是 PCK 式的成功率,统计误差小于阈值 \(\kappa\) 的关节比例,给出"到底有几个点真的够准"的硬信号:

\[r=\lambda\exp\!\left(-\frac{1}{|\mathcal{V}|}\sum_{j\in\mathcal{V}}\rho_\delta(d_j)\Big/\tau\right)+(1-\lambda)\frac{1}{|\mathcal{V}|}\sum_{j\in\mathcal{V}}\mathbb{I}(d_j<\kappa)\]

其中 \(d_j=\lVert \hat{y}_j-y_j^{gt}\rVert_2\) 是第 \(j\) 个关节的预测误差,\(\rho_\delta(d)=\frac{1}{2}d^2\)(当 \(d\le\delta\))或 \(\delta(d-\frac{1}{2}\delta)\)(否则)是 Huber 函数;3D 关节与 2D 关键点各实例化一次同一套公式(即 \(y\in\{x,u\}\)),只需选择对应的 \(d_j\)、并让 \((\delta,\kappa,\tau)\) 的单位保持一致。(⚠️ 提取文本里指数项内部的归一化写法有损坏,此处按可见部分重构,\(\tau\) 的确切位置以原文为准。)

为什么这样有效:Huber 让少数报得极偏的关节不至于主导梯度,PCK 项则直接奖励"任务要用的那几个点都落进阈值"。消融给了很硬的证据——把奖励换成朴素的 RMSE 会让四个配置的误差飙到 795–831 mm,比不用强化微调还差一个数量级,说明姿态误差分布里的离群关节会把朴素回归目标的梯度带偏;而仅仅去掉 RFT 阶段,只从 93.83 mm 退到 101.82 mm。

一个完整示例

以原文图 4 的流程为例。输入是一张机器人视角的图像、相机内参,以及人的指令 "Give the person a hug."(给这个人一个拥抱)。模型先把图像按统一焦距 1000 重采样,再自回归地生成回答:

  1. 点名任务部位:"I should focus on the left shoulder, right shoulder, left elbow and right elbow."——模型自己判定拥抱需要两侧的肩与肘,而不是手掌或膝盖;
  2. 报 2D 坐标<kpt2d><l_shoulder><283><764><r_shoulder>…</kpt2d>,每个关键点在像素坐标系下给出 x、y;
  3. 报 3D 坐标<kpt3d><l_shoulder><367><865><r_shoulder>…</kpt3d>,这里的数字已是交互体素网格里 0–999 的整数 token。

解码端按交互体的宽高深把体素 token 反解回相机坐标系的米制坐标(原文图 1 中形如 \((-0.15,-0.16,0.67)\) 的三元组就是这个量级,单位是米)。这些坐标有两种去向:直接作为该任务的"人体可及区域"(human affordance region),经逆运动学映射成机器人末端的目标位姿,构成感知–行动闭环;或者当作锚点,把 SAM 3D Body 输出的根相对人体网格整体搬到机器人相机坐标系里,得到全局的人体网格。

损失函数 / 训练策略

训练分两段。SFT 段基于 Qwen3-VL 的 4B 与 2B 两个规模,用下一 token 预测拟合上面那条"部位名 → 2D → 3D"的序列;batch size 为 4,训练 5 个 epoch,学习率 2e-5。数据侧每张训练图以 50% 的概率从交互指令库采样指令,另外 50% 使用要求定位 1–6 个关键点的默认指令。RFT 段用 GRPO 继续优化:对同一 prompt 采样 \(K=8\) 条回答,用组内平均奖励作基线算出组相对优势,再套带裁剪的重要性比目标更新策略(提取文本中 GRPO 的公式已损坏,此处不复述,⚠️ 以原文为准);KL 惩罚系数 \(\beta=0.01\),batch size 为 32,学习率 1e-6,训练 5 个 epoch,每轮从训练集抽样 10,000 张图像。全部实验在 4 张 NVIDIA H20 上完成。

实验关键数据

主实验

评价指标是 G-MPJPE(Global Coordinate Mean Per Joint Position Error,单位毫米):直接在相机坐标系下计算预测关节与真值关节的平均欧氏距离,不做根对齐、也不做任何刚体配准,因此同时惩罚"相对结构错"与"绝对平移和深度错"。这与之前工作在根相对坐标下报 MPJPE 的做法不同,作者认为绝对误差才反映 HRI 在共享物理工作空间里对米制定位的真实要求——毫米级的偏差就可能导致不安全接触或错误的运动规划。

测试集有两个,都是第一人称交互数据:Harmony4D-Test(6,389 帧头部相机拍摄的近距离人–人交互,用 20 个外部相机做多视角三角测量得到 3D 标注)与 EgoBody(从 62,155 帧里筛出 5,000 帧 3 m 以内的近距离帧)。评测按四组部位配置展开:Upper(双肩 + 双肘)、Lower(双髋 + 双膝)、L-Upper(左肩肘腕)、R-Upper(右肩肘腕),刻意覆盖了对称(上/下半身)与非对称(左/右上肢)两种分组,用来检验模型的注意力能否随任务切到不同语义区域。

方法 内参 Harmony4D Upper Harmony4D Lower Harmony4D L-Upper Harmony4D R-Upper EgoBody Upper EgoBody Lower EgoBody L-Upper EgoBody R-Upper
CameraHMR 167.50 165.72 179.22 169.26 94.92 118.96 101.27 99.45
PromptHMR 158.70 158.44 158.25 157.18 84.45 127.26 91.82 87.48
SAM 3D Body (3DB-H) 127.72 129.73 143.41 118.77 88.23 110.58 93.12 94.06
SAM 3D Body (3DB-DINOv3) 124.91 127.80 143.13 123.58 89.87 107.75 92.36 93.30
TAIHRI-2B 97.15 118.82 119.86 103.16 85.62 113.94 93.56 91.37
TAIHRI (4B) 93.83 114.98 107.81 98.23 75.77 101.58 81.42 81.27

除了和 3D 人体姿态估计方法比,作者还对比了通用 VLM 与视觉基础模型。由于这些模型不能接受 HRI 风格的指令,它们被换成一句直白的提问:"给定输入图像,请给出这个人左肩、右肩、左肘、右肘的 2D 与 3D 坐标,2D 用像素、3D 用毫米"。评测在 Harmony4D-Egocentric 的 50 个样本、Upper 配置下进行,因此完整模型的 97.2 mm 与表 1 的 93.83 mm 不是同一子集上的数字。

方法 2D 3D G-MPJPE (mm)
GPT-5.2
Qwen3-VL-235B-A22B-Instruct 1298.3
Gemini-2.5-Pro 436.9
Rex-Omni
VitPose + Depth Anything 3 352.2
VitPose + DepthLM 282.3
TAIHRI(完整模型) 97.2

消融实验

消融在 Harmony4D-Egocentric 测试集上进行,指标仍为 G-MPJPE(mm)。两组问题:要不要内参条件化、以及两段式训练策略里哪一段在起作用。

配置 Upper Lower L-Upper R-Upper
w/o 相机内参条件化 425.13 433.59 429.47 428.11
用可学习 ray embedding 替代 380.29 423.55 400.09 382.53
w/o 2D 关键点推理 126.67 138.39 134.50 126.71
w/o RFT 101.82 121.26 110.01 110.79
RFT 改用 RMSE 奖励 795.24 831.09 820.75 798.63
完整模型 93.83 114.98 107.81 98.23

关键发现

  • 内参条件化是最大的单点支柱:不做任何内参处理,误差从 93.83 mm 涨到 425.13 mm(Upper),是全部消融里退化最严重的一处;换成可学习 ray embedding 也只能回到 380–424 mm,说明关键不在于"把相机参数喂进去",而在于用不改动预训练结构的方式把几何先验注入进去。
  • 2D 推理的链式输出贡献稳定:去掉后四个配置分别退到 126.67 / 138.39 / 134.50 / 126.71 mm,退化幅度均匀,是"格式即能力"这类设计的干净证据。
  • RFT 的奖励必须稳健:把奖励换成 RMSE 会让误差飙到 795–831 mm,比不用 RFT 还差一个数量级(101.82 mm);姿态误差里的离群关节是主因。而 RFT 本身的增益相对温和(93.83 vs 101.82 mm),属于"锦上添花而非雪中送炭"。
  • 通用模型够不到这个任务:最好的 Gemini-2.5-Pro 也有 436.9 mm,VitPose + DepthLM 是 282.3 mm;GPT-5.2 与 Rex-Omni 不支持 3D 坐标输出。深度方法失败的原因是逐像素深度预测不对铰接的人体结构建模,自遮挡部位尤其不可靠——它们没有"这是一个人的手臂"这种先验,只有像素。
  • 参数量主要影响跨数据集泛化:TAIHRI-2B 在 Harmony4D 的 Upper 上是 97.15 mm(4B 为 93.83 mm),差距不大;到 EgoBody 上差距拉开(85.62 vs 75.77 mm),2B 版本在 EgoBody 的 Upper 上甚至略逊于 PromptHMR(84.45 mm),说明小模型在域外场景下守不住精度。
  • 四组部位配置的难度不同:在 Harmony4D 上 Lower(双髋双膝)最难(114.98 mm),在 EgoBody 上则是 Upper/L-Upper/R-Upper 都落在 75–81 mm 区间——这与两个数据集的相机安装高度、视场以及交互动作类型不同有关,不能简单横向比较同一方法在两个数据集上的绝对数值。

应用实验:全局网格对齐与真机 HRI

作者把预测出的 3D 关键点当作锚点,去对齐一个根相对的人体网格:给定归一化空间里的网格 \(M\) 与预测的关键点集 \(\{K_i\}\),求一个变换矩阵 \(T\) 把网格的关键点对齐到预测关键点,再施加到整具网格上得到全局网格 \(M_{global}=T(M)\)。以握手为例,在右臂上取 1 到 3 个锚点,并以右腕处的对齐误差评价:

锚点配置 对齐后误差 (mm)
1 个锚点 15.79
2 个锚点 32.52
3 个锚点 22.07

三种锚点数量相比根相对基线都有明显改善,说明"用任务关键点做锚"足够把网格钉到机器人坐标系里。原文图 6 下半部分还展示了其他交互任务的锚点选择(左臂、骨盆等,误差 121.45 mm 与 65.89 mm)。(⚠️ 提取文本中该图的排版发生错位,锚点数量/区域与具体任务的对应关系以原文图 6 为准。)

真机部分搭了一套面向双臂机器人的闭环控制:机器人上装一台 Orbbec Femto Bolt 相机,以 720p 采集第一人称 RGB,并标定到机器人坐标系;图像连同交互指令与内参送入 TAIHRI,得到任务相关的 3D 关键点,同时取 SAM 3D Body 的根相对人体网格、用预测锚点对齐到全局。每个任务预定义对应的人体可及区域,再通过逆运动学把机器人末端重定向到预测出的身体部位,形成"感知–行动"闭环,演示了握手与肩部按摩等接触式交互。这部分是定性的(文中未给成功率或误差统计),作者的说辞是定位精度"足够准确稳定以支撑精确可靠的物理交互"。

亮点与洞察

  • 把"任务感知"做成语言条件化的自然后果,而不是外挂一个部位选择模块:因为输出序列的最前端就是部位名,选点与定位共享一次自回归生成,任务与关键点集合之间的映射由指令文本直接控制。这种"先说要什么、再报在哪"的写法可以原样迁移到任何"指令驱动的稀疏感知"任务(比如按指令定位可抓取区域、按指令选装配接触点)。
  • 内参条件化 = 改分辨率而不是加模块:把焦距统一到 1000、按比例缩放图像、随机裁剪模拟主点偏移,全部发生在数据层,网络结构一个参数都不动。消融里它比 ray embedding 好一个数量级,说明在 VLM 上注入几何先验时,"别动预训练权重"往往比"加一个能学几何的适配器"更划算。
  • 只在可见关节上算奖励:截断和遮挡会让一部分关键点根本没有可靠真值,把它们排除在奖励之外,等于让强化学习只学"能学的那部分"。这个思路对任何"部分观测下的监督/奖励设计"都成立。
  • 2D 当思维链、深度当结论:把单目 3D 定位里最不可靠的深度放在序列末端,前面垫上可见证据(2D 坐标),退化曲线(93.83 → 126.67 mm)说明这条链确实在承担推理而非格式装饰。
  • 关键点作锚点的网格对齐是个零成本的下游复用:不求人重训一个全局 HMR 模型,只把已有根相对模型的输出用几个锚点搬进相机坐标系,握手任务上右腕误差降到 15.79 mm。

局限与展望

  • 依赖已知且固定的内参假设:推理前必须知道内参、并把焦距归一到 1000 再重采样图像。变焦相机、内参未知或标定漂移的真实机器人上,这套前提需要额外的标定环节来保证。
  • 交互空间是预设的立方体:量化到 0–999 意味着精度上限由网格粒度锁死——交互体越大,单个 token 的物理分辨率越粗;超出体块的场景(全屋尺度导航、多人场景)不在覆盖范围内。
  • 训练数据以合成为主:SDXL 生成 + 自动过滤能保证几何一致,但外观到真实的差距、以及 AMASS 动作分布对拥抱、搀扶这类接触式交互的覆盖是否充分,文中没有做迁移性分析;两个真实测试集还是"人–人"交互,与真机"人–机器人"交互之间仍有分布差。
  • 真机实验只有定性结果:握手、肩部按摩没有成功率、误差统计或用户研究,闭环系统中 TAIHRI 的定位误差在多大程度上影响最终任务成败没有量化。这恰恰是 HRI 论文最该补的一块。
  • 任务感知能力缺定量指标:四组部位配置是人工指定的,而"给定 6000 多条指令,模型能否选出正确的部位集合"只在图 6 里以示例形式展示。补一个"指令 → 部位集合"的选择准确率/召回,会让任务感知的主张更硬。
  • 精度离接触式操作仍有距离:G-MPJPE 是全关节平均,末端关节误差更大;75–115 mm 的量级对握手这类需要厘米级接触的任务可能刚好够用,但对精细操作(递杯子、系扣子)就未必。
  • 可改进方向:把交互空间换成数据驱动的、以机器人为中心的非均匀量化(近处细、远处粗),或引入分层 token(先粗格子再残差细化)来突破 0–999 的分辨率上限;把 2D 推理替换为显式的几何约束(如肢体长度一致性、投影一致性)作为中间监督;在真机上做带任务成功率的评测,把定位误差与操作成败关联起来。

相关工作与启发

  • vs 全局 3D 人体姿态估计(CameraHMR / PromptHMR / SAM 3D Body):它们同样输出相机坐标系下的绝对姿态、也都接受内参,但优化目标是全身重建质量、评价仍在根相对或重建误差上;近距离截断下末端关节(腕、踝)误差高达 120–180 mm。TAIHRI 直接预测任务关键点,把容量集中在要用的部位,在相机坐标系指标上领先 30–50 mm。
  • vs VLM 的 3D 人体理解(ChatPose / ChatHuman / PoseLLaVA):这些工作让 MLLM 用工具或对话去操作 3D 姿态,但输出仍是根相对姿态,没有把"任务相关部位"作为一等公民;TAIHRI 的体素量化 + 2D 链式推理是专门为"毫米级任务部位定位"做的改造。
  • vs VLM 的 3D grounding(LocateAnything3D / Rex-Omni / SeeGround):它们从 2D 线索推 3D 框,面向一般物体;Rex-Omni 在本文任务上连 3D 都不能输出(表 2 中 3D 列为 ✗),说明物体级 3D 定位与人体部位级定位所需的精度和结构先验不是一回事。
  • vs 深度估计反投影管线(Depth Anything 3 / DepthLM + VitPose):两阶段方案工程上最简单,但逐像素深度不对人体关节结构建模,自遮挡处偏差最大,实测 282–352 mm;本文的对比还专门补偿了表面深度与关节中心之间约 2 cm 的系统偏移,算是给足了这套基线面子。
  • vs 合成数据工作(WildHuman / AGORA / BEDLAM):数据合成管线基本沿用,本文的增量在于把相机放到 0.5–3 m 的第一人称位姿上、并按"平均深度 ≤ 3 m"重新筛选,同时给数据配了交互指令库——这提示"数据分布的视角维度"有时比"数据量"更决定下游可用性。

评分

  • 新颖性: ⭐⭐⭐⭐ 首次把"任务相关人体部位的三维定位"作为 VLM 的显式任务,体素 token + 2D 链式推理 + 姿态感知 GRPO 的组合是干净且自洽的设计。
  • 实验充分度: ⭐⭐⭐⭐ 两个第一人称数据集、四组部位配置、三类基线、两组消融,覆盖面好;扣分在真机实验只有定性结果、任务感知缺定量指标。
  • 写作质量: ⭐⭐⭐⭐ 动机与"根相对 vs 相机坐标系"的对比讲得很清楚;个别公式与图表在排版上不够规整,部分应用结果的对应关系要靠图去猜。
  • 价值: ⭐⭐⭐⭐ 给出了"VLM 能不能干毫米级机器人感知"的一个肯定答案,CloseHRI 与 prompt bank 对具身 HRI 社区有直接复用价值。