Contents — find the section you need

姿态估计可以推断出二维关节((u,v))、三维关节或物体旋转(R)和平移(t)。投影可以表示为\tilde p\sim K[R|t]P。校准、遮挡、左右模糊和时间对齐与网络架构同等重要。

Diagram 1 · Use the button to switch views
Image keypoint estimationAn image is transformed to feature heatmaps and keypoint or pose coordinates.imagefeatures/heatmapskeypoints/pose

图示:Duskcoil,概念图。本图不授权用于身份识别或监视用途。

使用热图或坐标回归、PnP 和时间滤波。评估 PCK、OKS 或重投影误差,并考虑遮挡、光照、衣着、辅助设备和人口统计特征的影响。对于面向用户的用途,请明确规定知情同意、用途限制、数据保留期限以及人工审核错误。

方法和坐标系

对于二维人体姿态,网络可以选择每个关节的热图最大值,直接回归坐标,在检测到人体后逐一估计(自顶向下),或者从整幅图像中关联所有人(自底向上)。对于六维物体姿态,PnP 方法根据已知的三维点和图像对应关系估计旋转和平移。旋转 R\in SO(3) 遵循 R^TR=I,\det R=1;直接欧拉角回归存在奇异性和不连续性,因此使用归一化四元数或连续的六维表示。

输出 典型用途 指标 失败
二维关键点 姿态分析、用户界面 PCK、OKS 遮挡、左右互换
三维骨架 运动分析、机器人模仿 MPJPE 深度模糊、相机误差
6D 物体姿态 抓取、增强现实 自适应数据、重投影误差 对称性、反射、PnP 异常值

数据和故障处理

分别评估遮挡、背光、镜子、多人、辅助设备、服装、体型、皮肤外观和相机高度。较高的平均 OKS 值并不能证明跌倒检测或协作机器人避障所需的最差延迟和漏检率。未经许可,不得将关键点用于身份或情绪推断。定义用途限制、保留、访问控制、删除和申诉程序。

在实现过程中,校准内部和外部参数,并记录帧、单位、时间戳和置信度。当置信度较低时,不要将插值视为真实值:减慢机器人速度、停止机器人或请求人工审核。时间平滑可以减少抖动,但会增加延迟,这必须在停止距离中体现出来。

  1. 定义任务的输出、容差和延迟。

  2. 按属性、遮挡和光照情况拆分评估。

  3. 记录日志校准、坐标变换和 PnP 异常值。

  4. 测试低置信度、相机丢帧和人员靠近时的停止规则。

  5. COCO Keypoints 评估

校准和时间应置于网络之外

姿态误差并非仅仅是网络问题。错误的焦距或主点会导致视觉上正确的点在 3D 空间中出现错误。训练和推理过程中,应保持畸变顺序、缩放/裁剪、原点和像素中心约定一致。外参会随着相机的移动和振动而变化,因此应使用参考目标重新检查重投影误差,而不是永远依赖单一的校准结果。

使用多个相机或 IMU 时,应在帧之前验证时间戳。一帧 30 fps 的延迟就足以使快速移动的手或工具发生显著变化。应存储硬件时间、接收时间、推理完成时间和用于插值的样本数。即使是平滑的轨迹也可能为时已晚,无法进行碰撞规避。

流水线选择

流水线 优势 计算/数据需求 主要故障
单目 2D 低成本且简单 2D 标签,单摄像头 未知深度,遮挡
单目 3D 安装简单 3D 先验信息,大数据 域外捕获,缩放
多视图三角测量 几何 3D 约束 同步,校准,视图 错误对应关系,超出视野
RGB-D 直接深度 深度传感器,范围限制 反射,阳光,深度缺失
关键点 + PnP 使用 CAD 3D 对应关系,内参 对称性,异常值,退化布局

按目标大小归一化 2D 误差,并保持 3D 单位和坐标系。对于对称物体,与一个标准旋转进行比较可能会将物理上正确的姿态标记为错误;使用对称感知 ADD-S 或重投影并评估抓取间隙。报告第 95 百分位数。除了平均误差外,还应考虑漏检、高置信度误差和端到端延迟。

失败案例:置信度高的左右镜像

镜像、后视和自遮挡可能导致左右互换的骨骼在几何上看似合理。平滑处理可能会使误差在多帧内保持不变。应结合方向、可见线索、多种假设和运动限制;不要仅仅依赖骨骼长度约束。在安全应用中,高置信度并非绝对可靠——应使用互换检测和与独立传感器不一致作为停止条件。

可复现的实现流程

  1. 使用图表和测试数据固定图像、相机、世界坐标系和机器人坐标系。

  2. 在调整大小、填充和增强后,对关键点变换进行往返测试,包括已知的亚像素误差。

  3. 设置 PnP RANSAC 阈值和最小值;检查内点、重投影误差和正深度。

  4. 记录静态、行走、快速运动、遮挡、图像边缘和相机丢帧等情况。延迟。

  5. 测试在低置信度、骨骼突然变形、校准漂移和时间倒置情况下停止和重新初始化。

  6. 如果存储了原始帧,则记录其用途、访问权限、保留期限、匿名化和删除方式。

姿态是一种观察假设,而非人的身份、意图或状况。将帧、时间和不确定性传递给下游系统,以便下游系统能够安全地处理“未知”情况。

标注质量和运行审核

标注也存在不确定性。不同标注者对关节中心位置的判断可能存在差异,例如衣服遮挡、手腕被遮挡以及物体对称方向等。分别存储可见、遮挡和帧外状态;保留标注者之间的分歧、定义修订和插值点,而不是强行将歧义性强加到硬标签中。保留真实图像样本,以防止合成材料和光照线索的影响。占据主导地位。

无需永久保存所有图像即可监控运行情况。汇总置信度、缺失关节计数、重投影误差、延迟、摄像头状态和停止次数;仅保留事件数据一段时间,并进行访问控制。在模型更新时,重放相同的视频,比较丢帧长度、左右互换以及危险区域的最大误差,然后在更换摄像头后重新校准。

检查您的理解
二维关节能否唯一确定三维姿态?

深度仍然不明确。检查用于解决深度问题的其他视图、深度测量或人体模型假设。

What to read next

Review the backgroundSegFormer详解——为什么没有位置编码的Transformer也能用于视频分割Continue the series机器学习入门:生成模型Explore another aspect of this field基准测试本地LLM:首次响应、生成率和内存