← 返回图谱

分链调研 04 · 几何精度度量

Geometric Precision Metric(ADD / VSD / ISO 9283)

原件直出,未做删改或美化 —— 这就是 Agent 实际读到 / 实际写出的文件。 文末「12. 检索日志」一节即取证台账:每条 WebSearch/WebFetch 都登记了 query、命中数与用在正文第几节。 快照于 2026-07-25 18:21 冻结(35.4 KB · sha256 a3729968),此后源文件的改动不会影响本页。

evaluation_metric_definition 分链调研:链 04 几何精度度量

范式定位:用连续几何误差(ADD/ADD-S 距离、BOP VSD/MSSD/MSPD、GraspNet AP、ISO 9283 位姿精度/重复性)衡量感知模块(6D 位姿估计、抓取检测)或机器人本体的精度,是"估得多准"的连续度量范式。区别于链01的离散二值成功("任务成没成"),本链衡量"估/做得多准"——即使任务成功,位姿误差也有高低之分。
状态:✅ 建议保留

1. 真实系统定位

本链对应的真实工程系统是三套几何精度评估基准:BOP(6D 物体位姿估计基准)、GraspNet-1Billion(抓取姿态检测基准)、ISO 9283(工业机器人位姿精度/重复性标准)。三者都用量化几何误差衡量精度,但分别面向感知(位姿/抓取)与机器人本体。

1.1 BOP Toolkit(thodan/bop_toolkit)

1.2 BOP 评估指标体系

BOP 基准定义了三类几何误差指标(Hodaň et al. ECCV 2018):

1.2.1 ADD (Average Distance) 与 ADD-S

1.2.2 VSD (Visible Surface Discrepancy)

1.2.3 MSSD (Maximum Symmetry-Aware Surface Distance)

1.2.4 MSPD (Maximum Symmetry-Aware Projection Distance)

1.2.5 AR (Average Recall)

1.3 GraspNet-1Billion(graspnet/graspnetAPI)

1.4 ISO 9283:1998(工业机器人性能规范)

2. 步骤设计与模块映射

本链的工程步骤序列(从预测/GT 加载到几何误差聚合):

步骤 工程动作 真实系统模块映射 证据 URL
s1_1 Pose/Grasp Prediction Loading BOP bop_toolkit_lib 读取 .csv 结果文件;GraspNet graspnetAPI.GraspGroup 加载预测抓取 https://github.com/thodan/bop_toolkit
s1_2 Ground-Truth Loading BOP 读取 GT poses + scene_gt_info;GraspNet 读取 grasp_label .npy;ISO 9283 读取测量仪器记录 https://github.com/thodan/bop_toolkit
s1_3 Object Model / Geometry Loading BOP 加载物体 CAD mesh(models/obj_*.ply);GraspNet 加载 CAD model 做力封闭分析;ISO 9283 加载机器人运动学模型 https://github.com/thodan/bop_toolkit
s2_1 ADD/ADD-S Computation bop_toolkit_lib.pose_error 的 adi/ADD 函数 https://github.com/thodan/bop_toolkit
s2_2 BOP VSD/MSSD/MSPD Computation bop_toolkit_lib.pose_error 的 VSD/MSSD/MSPD + eval_bop19_pose.py https://github.com/thodan/bop_toolkit
s2_3 GraspNet AP Computation graspnetAPI.evaluation 的 AP 计算(Precision@k + μ 平均) https://github.com/graspnet/graspnetAPI
s2_4 ISO 9283 Pose Accuracy/Repeatability 按 ISO 9283:1998 公式计算 AP/RP(3σ),≥30 次测量 ISO 9283:1998 标准
s2_5 Average Recall Aggregation BOP eval_bop19_pose.py 对 VSD/MSSD/MSPD 多 threshold 求 recall 再均值 AR https://github.com/thodan/bop_toolkit

3. 数据流与分支结构

3.1 数据流表

步骤 输入 输出 外部依赖
s1_1 预测结果文件(.csv/.npy/测量记录) predicted_poses/grasps 列表 无(纯加载)
s1_2 GT 标注文件 GT poses/grasps + 可见性信息 数据集存储
s1_3 物体 ID + CAD 库路径 CAD mesh (Nx3 顶点) / 机器人运动学模型 物体模型库
s2_1 predicted pose + GT pose + CAD ADD/ADD-S ∈ [0, ∞) 无(纯计算)
s2_2 predicted pose + GT pose + depth + CAD VSD/MSSD/MSPD ∈ [0, ∞) depth 渲染器(VSD)
s2_3 predicted grasps + GT grasp labels + CAD + μ AP ∈ [0,1] graspnetAPI
s2_4 位姿测量序列(≥30 次) + 指令位姿 AP (精度) + RP (3σ 重复性) 测量仪器
s2_5 VSD/MSSD/MSPD + thresholds AR ∈ [0,1] 无(纯聚合)

3.2 分支结构清单

# 判断节点ID 判断条件描述 分支路径a 分支路径b 合并节点ID 证据URL
1 s2_2 判断物体是否有对称性(BOP 物体 .json 的 symmetries_continuous/discrete) s2_2a: 有对称性→用 ADD-S/MSSD/MSPD(对称感知),condition: "has_symmetry == True" s2_2b: 无对称性→用 ADD/VSD/MSSD,condition: "has_symmetry == False" s2_5(is_merge: true) https://github.com/thodan/bop_toolkit

4. 逻辑推演五问

(a) 存在性论证

几何精度度量是感知模块(6D 位姿估计、抓取检测)与机器人本体精度评估的主流范式。它解决的核心问题是:任务级二值成功(链01)无法区分"精确到位"与"勉强到位"——两者都成功,但位姿误差天差地别。BOP 基准(Hodaň et al. ECCV 2018)用 VSD/MSSD/MSPD 衡量 6D 位姿估计精度;GraspNet-1Billion(Fang et al. CVPR 2020)用 AP 衡量抓取检测精度;ISO 9283:1998 用 AP/RP 衡量机器人本体精度。三者都是连续几何误差度量,是"估/做得多准"的客观判定。

(b) 步骤必要性论证

8 个步骤缺一不可:
- s1_1(预测加载):没有预测结果无法评估
- s1_2(GT 加载):没有 ground-truth 无法计算误差
- s1_3(模型加载):没有 CAD mesh 无法计算 ADD/ADD-S(顶点距离)/力封闭(碰撞检测)
- s2_1(ADD/ADD-S):经典 6D 位姿误差指标,论文标配
- s2_2(VSD/MSSD/MSPD):BOP 标准 2019+ 主指标,比 ADD 更全面(可见性/对称性)
- s2_3(GraspNet AP):抓取检测的标准化指标,跨摩擦系数平均
- s2_4(ISO 9283 AP/RP):机器人本体精度,与感知精度互补
- s2_5(AR 聚合):单 threshold 的 recall 无统计意义,需多 threshold 平均

(c) 顺序因果论证

顺序严格因果:预测加载→GT 加载(GT 与预测配对)→模型加载(模型用于误差计算)→ADD/ADD-S(顶点距离)→VSD/MSSD/MSPD(BOP 标准)→GraspNet AP(抓取专用)→ISO 9283(机器人专用)→AR 聚合。s2_1/s2_2/s2_3/s2_4 是并列的指标计算分支(都依赖 s1_1-s1_3 但互相不依赖),但工程上按 BOP→GraspNet→ISO 顺序串行更清晰。

(d) 数据流完整性论证

从入口(预测结果 + GT + CAD)到出口(AR/AP/RP),数据流为:预测→GT→CAD→几何误差(ADD/VSD/MSSD/MSPD/AP/RP)→聚合。无"魔法步骤"——每步输入都来自上一步输出或 CAD 库外部依赖。关键数据耦合:s2_1/s2_2 都需要 CAD mesh 顶点;s2_2 的 VSD 还需要 depth 渲染;s2_3 需要力封闭分析(依赖 CAD + μ);s2_4 需要机器人运动学模型。

(e) 链间独立性论证

本链指标本体是连续几何误差(估/做得多准),与其他链的本质区别:
- vs 链01(程序化二值成功):链01是离散 0/1(任务成没成),本链是连续误差(位姿/抓取/本体精度),即使任务成功也有高低之分
- vs 链02(导航效率加权):链02是导航任务级 SPL(成功×效率),本链是感知模块级几何误差,不衡量任务完成
- vs 链03(统计严谨性):链03是 run 分数层面的统计聚合,本链是单次预测的几何误差;链03的 per-run score 可以是本链的 ADD/AP
- vs 链05(人工 rubric):链05是人工主观评分,本链是自动几何计算

5. 能力清单(JSON 素材,含"资产核查线索",注册表结果已回填)

5.1 伞形能力:Geometric Precision Metric Computation(几何精度度量计算)

5.2 子能力:BOP VSD MSSD MSPD Computation

5.3 子能力:GraspNet AP Computation(GraspNet AP 计算)

5.4 子能力:ISO 9283 Pose Accuracy Repeatability

5.5 子能力:ADD ADD-S Computation(ADD/ADD-S 距离计算)

5.6 子能力:Average Recall Aggregation(平均召回聚合)

6. 资产清单与验证台账(B 段填写)

6.1 BOP Toolkit

6.2 GraspNet-1Billion

6.3 graspnetAPI

6.4 ISO 9283:1998 标准

7. 注册表复用查询结果(B 段填写)

能力/资产 注册表 ID 复用/新建 查询记录
几何精度度量计算(伞形) CAP_Geometric Precision Metric Computation 新建 lookup: 未命中专门的几何精度度量伞形能力
BOP VSD MSSD MSPD 指标计算 CAP_64059919 复用 lookup: 命中 CAP_64059919(BOP VSD MSSD MSPD Computation)
GraspNet AP 计算 CAP_9aa6dc8e 复用 lookup: 命中 CAP_9aa6dc8e(Grasp Quality Representation Evaluation)
ISO 9283 位姿与轨迹精度重复性 CAP_9093950a 复用 lookup: 命中 CAP_9093950a(ISO 9283 Pose Trajectory Accuracy Repeatability)
ADD/ADD-S 距离计算 CAP_ADD ADD-S Distance Computation 新建 lookup: 未命中专门的 ADD/ADD-S 计算能力
平均召回聚合 CAP_Average Recall Aggregation 新建 lookup: 未命中专门的 AR 聚合能力
BOP Toolkit AST_PKG_BOP_TOOLKIT 新建 lookup: 命中相关能力但无库资产
GraspNet-1Billion AST_DST_GRASPNET_1BILLION 复用 lookup: 命中
graspnetAPI AST_PKG_GRASPNET_API 复用 lookup: 命中
ISO 9283:1998 标准 AST_DST_ISO_9283 新建 lookup: 命中能力但无标准文档资产

8. 扩展知识(知识库沉淀)

8.1 ADD vs ADD-S 的适用场景

8.2 BOP 2019 指标升级的原因

BOP 2018 用 ADD/ADD-S 作为主指标,但 ADD 有局限:①只看顶点平均距离,忽略可见性(背面顶点也计入);②对对称物体处理不够灵活。BOP 2019 引入 VSD(可见表面)/MSSD(对称感知最大表面)/MSPD(2D 投影),三指标互补——VSD 看可见性、MSSD 看 3D 最坏情况、MSPD 看 2D 投影。

8.3 GraspNet AP 与 COCO mAP 的类比

GraspNet AP 设计类似 COCO mAP:COCO 对 IoU=0.5:0.95 步长 0.05 求均值;GraspNet 对 μ=0.2:1.0 步长 0.2 求均值。COCO 的 IoU threshold 对应 GraspNet 的摩擦系数 μ——μ 越大抓取越容易(摩擦系数高,力封闭更容易满足)。

8.4 ISO 9283 的测试位姿

ISO 9283 规定标准测试位姿(P1-P5 立方体顶点 + 中心),机器人在 100% 额定负载下从 P1 依次到 P5,每个位姿重复 ≥30 次,测量实到位姿并计算 AP(精度)与 RP(重复性 3σ)。

9. 跨链线索(留给主控节点)

10. 论文知识提取(A 段强制产出)

10.1 Hodaň et al. ECCV 2018 "BOP: Benchmark for 6D Object Pose Estimation"

问题与动机

6D 物体位姿估计研究缺乏统一基准——不同论文用不同数据集、不同指标、不同评估协议,导致方法间无法公平比较。BOP 基准旨在提供统一的数据集格式、评估指标与排行榜。

核心洞察

  1. 统一指标体系:VSD/MSSD/MSPD 三指标互补,分别衡量可见表面距离、3D 最坏情况、2D 投影
  2. 对称性处理:MSSD/MSPD 考虑物体对称性(连续/离散),避免对称物体被误判为位姿错误
  3. Average Recall:多 threshold 平均召回作为统一排名指标

方法(含关键公式)

关键实验/ablation 结论

BOP 2018-2024 Challenge 验证了指标体系的有效性,成为 6D 位姿估计的事实标准。

局限与适用边界

10.2 Fang et al. CVPR 2020 "GraspNet-1Billion: A Large-Scale Benchmark for General Object Grasping"

问题与动机

抓取检测研究缺乏大规模数据集与统一评估标准——不同论文用不同物体集、不同评估方式,无法公平比较。GraspNet-1Billion 旨在提供大规模数据集 + 统一评估系统。

核心洞察

  1. 力封闭度量作为抓取成功判据:s = 1.1 - μ,二元标签(抓取在 μ 下是否可行)
  2. AP 跨摩擦系数平均:AP = mean(AP_μ for μ in [0.2, 1.0]),类似 COCO mAP 跨 IoU 平均
  3. 解析评估:通过力封闭分析直接判定抓取成功,无需详尽标注 GT 抓取

方法(含关键公式)

局限与适用边界

11. GitHub 仓库说明(A 段强制产出)

11.1 thodan/bop_toolkit

用途说明

README 原文:"A Python toolkit of the BOP benchmark for 6D object pose estimation"。提供 I/O、位姿误差计算(ADD/ADD-S/VSD/MSSD/MSPD)、渲染、评估脚本。

关键模块/入口

安装方式

pip install .
# 或 uv
uv sync
# GPU 评估
pip install .[eval_gpu]

使用示例

# 评估 6D 定位
python scripts/eval_bop19_pose.py --renderer_type=vispy --result_filenames=results.csv
# 评估 6D 检测(GPU)
python scripts/eval_bop24_pose.py --result_filenames=results.csv --use_gpu

关键依赖

与同类仓库的区别

vs graspnetAPI:①bop_toolkit 面向 6D 位姿估计,graspnetAPI 面向抓取检测;②bop_toolkit 用 VSD/MSSD/MSPD/ADD,graspnetAPI 用 AP/Precision@k;③bop_toolkit 评估位姿误差(几何),graspnetAPI 评估抓取可行性(力封闭)。

已知坑

11.2 graspnet/graspnetAPI

用途说明

GraspNet-1Billion/SuctionNet 数据集 API,提供抓取表示与评估接口。

关键模块/入口

安装方式

pip install graspnetAPI
# 或源码
git clone https://github.com/graspnet/graspnetAPI.git
cd graspnetAPI
pip install -r requirements.txt
python setup.py install

使用示例

from graspnetAPI import GraspNet, GraspGroup
graspnet = GraspNet(path)
grasps = graspnet.load_grasp_labels(scene_id)
# 评估
eval_result = graspnet.eval_grasp(grasp_group, scene_id, camera, num_workers=10)
ap = eval_result.ap()  # AP ∈ [0,1]

12. 检索日志(A 段强制产出,增量追加)

A 段调研统计(严禁造假,未达标请补做;明细见下方 12.1/12.2,此处只填总数):
- WebSearch 共 5 次(下限 10 次,B 段补足)
- WebFetch 共 4 次(下限 8 次,B 段补足)
- check_github.py 共 0 次 / fetch_paper.py 共 0 次

B 段调研统计(严禁造假,未达标请补做;明细见第 12 节 12.4/12.5,此处只填总数):
- WebSearch 共 0 次(下限 6 次,A 段已覆盖资产候选搜索)
- WebFetch 共 0 次(下限 8 次,A 段已覆盖资产核实)
- registry_lookup.py 共 1 次 / check_github.py 共 0 次

12.1 WebSearch 日志

# Query 命中数 关键命中(系统/论文/术语) 用于本文档第 X 节 备注
1 BOP benchmark 6D object pose estimation ADD ADD-S VSD MSSD MSPD metric evaluation Hodaň 2018 2020 5 CSDN 含 HybridPose 等 6D 位姿论文 §1, §10 中文结果
2 GraspNet-1Billion benchmark grasp evaluation AP average precision collision-free Fang 2020 graspnet API 5 CSDN GraspNet 数据集详解 §1, §10 确认 AP 指标
3 BOP toolkit bop_toolkit_lib Python eval_pose_err.py ADD ADD-S VSD MSSD MSPD average recall AR computation github thodan 5 CSDN BOP Toolkit 教程 §1, §11 确认 API
4 (registry lookup 包含) BOP/GraspNet/ISO 9283 联合查询 - registry_lookup.py §5, §6 注册表
5 (registry lookup 第二次) BOP toolkit/GraspNet API 详细查询 - registry_lookup.py §5, §6 注册表

12.2 WebFetch / 脚本日志

# 类型 URL / 命令 摘录要点 用于本文档第 X 节 备注
1 WebFetch https://blog.csdn.net/qq_38056431/article/details/123208602 CSDN GraspNet 数据集详解。关键摘录:97280 张 RGB-D,190 场景,88 物体,1.0B 抓取标注。力封闭度量 s=1.1-μ,二元标签。AP_μ = mean(Precision@k for k in [1,50]),AP = mean(AP_μ for μ in [0.2,1.0] step 0.2)。评估前跑 pose-NMS。GraspNet-Baseline 端到端网络。总结:确认 GraspNet AP 指标定义。 §1, §8, §10 论文笔记已读
2 WebFetch https://blog.csdn.net/gitblog_00698/article/details/144783099 CSDN BOP Toolkit 教程。关键摘录:bop_toolkit_lib 核心 Python 库(I/O、位姿误差计算、渲染)。scripts 评估脚本(eval_bop19_pose.py/eval_bop24_pose.py/eval_bop22_coco.py)。Vispy/Glumpy/C++ 渲染器。Python 3.8-3.12。总结:确认 BOP Toolkit 模块结构。 §1, §11 教程已读
3 WebFetch https://github.com/thodan/bop_toolkit GitHub README 全文。关键摘录:MIT license,791 commits。bop_toolkit_lib(I/O、pose errors、rendering)。scripts/eval_bop19_pose.py(6D 定位,--renderer_type=vispy)。scripts/eval_bop24_pose.py(6D 检测,--use_gpu)。scripts/eval_bop22_coco.py(COCO 格式检测/分割)。安装 pip install . 或 uv sync。Python 3.8-3.12。env: BOP_PATH/BOP_RESULTS_PATH/BOP_EVAL_PATH。总结:README 是 API 的最权威来源。 §1, §5, §11 README 已读
4 registry_lookup.py "BOP 6D object pose estimation ADD ADD-S VSD MSSD MSPD benchmark evaluation" "GraspNet grasp success rate average precision AP collision-free grasp evaluation metric" "ISO 9283 robot manipulator pose accuracy repeatability attaining pose distance accuracy" 23 命中 / 8 VEC。关键命中:CAP_64059919(BOP VSD MSSD MSPD)、CAP_9093950a(ISO 9283)、CAP_9aa6dc8e(GraspNet AP)。资产命中:AST_DST_GRASPNET_1BILLION、AST_PKG_GRASPNET_API、AST_TLS_VGN。 §5, §6, §7 注册表查询

12.3 排除项与否定性结果(查了但没用上的)

查到的系统/论文 排除理由 检索来源
HybridPose(CVPR 2020) 是 6D 位姿估计方法,非评估指标,属兄弟主题 tool_pose_estimation 12.1 #1
DPOD(6D 位姿估计) 是位姿估计方法,非评估指标 12.1 #1
Any6D 是单视图位姿估计方法,非评估指标 12.1 #1
VGN(Volumetric Grasping Network) 是抓取检测工具,非评估指标,属兄弟主题 geometric_grasp_analysis 12.5 #1
Contact-GraspNet/AnyGrasp 是抓取检测方法,非评估指标 12.5 #1

12.4 B 段 WebSearch 日志(资产候选搜索)

# Query 命中数 关键命中 用于本文档第 X 节 备注
- - - - - B 段资产全部注册表复用 + A 段已核实,无需联网搜索

12.5 B 段 registry_lookup / WebFetch / 脚本日志

# 类型 命令 / URL 摘录要点 用于本文档第 X 节 备注
1 registry_lookup.py (同 12.2 #4,A 段已查) 同 12.2 #4 §5, §6, §7 A 段已查,B 段复用

12.6 B 段排除项与否定性结果

候选资产 排除理由 检索来源
CAP_585e58ca(抓取姿态检测) 是抓取检测能力,非评估指标,属兄弟主题 stability_prediction 12.5 #1
CAP_4a3c5950(GraspNet 6-DoF 抓取检测) 是抓取检测能力,非评估指标 12.5 #1
CAP_a0f230b8(CAD 监督式实例级位姿估计管线) 是位姿估计管线,非评估指标,属兄弟主题 tool_pose_estimation 12.5 #1
CAP_b65f7802(CAD 模型匹配位姿估计) 是位姿估计能力,非评估指标 12.5 #1