PAct 能重建外形/part 数,但从 part 到 joint type、axis、range 的绑定不稳定。
Failure Classes
分类依据不是原始标题,而是 3D 视觉差异、part/joint count、joint F1、joint type accuracy、axis error 和 scale consistency 的组合。
A. Part count correct, joint semantics wrong
part MAE≈0,但 joint F1 低、axis=90 或 joint type 被替换。
B. Hidden or dense movable recall failure
单视角下看不见的内部 movable 和拥挤小 part 是主要 recall 风险。
movable 数减少,joint MAE 上升;视觉上内部件或按钮簇缺失。
C. Thin structure / cross-source articulation failure
剪刀类薄结构既考验 part mask,也考验对非 PM 数据的 articulation 先验。
薄片结构,scale consistency 很低,axis=90,F1=0。
D. OOD scale-correspondence issue
跨源窗户不是纯失败,更像几何尺度与 part correspondence 没对齐。
count/type/axis 基本可用,但 joint F1 和 scale consistency 偏低。
E. Positive control
清晰单一 revolute、mask/part 简单时,PAct 可以给出可信运动学。
F1=1,type acc=1,axis=0。
| # | sample | primary class | secondary signal | part/joint MAE | F1 | axis | scale |
|---|---|---|---|---|---|---|---|
| #73 | 复杂物体 / high part count | part 对了,运动学绑定错 | many-part prismatic collapse | 0 / 8 | 0.077 | 24.2° | 0.601 |
| #19 | OOD / GRScenes window | 轴向基本对,但尺度/对应不稳 | partial success | 0 / 0 | 0.333 | 2.3° | 0.437 |
| #72 | 自遮挡 / 多 movable | 遮挡/密集小件被漏或合并 | internal movable recall | 0 / 4 | 0.222 | 2.2° | 0.738 |
| #35 | 薄小 part / scissors | 薄结构跨域失败 | thin part articulation | 0 / 1 | 0 | 90° | 0.249 |
| #58 | 关节参数错配 | part 对了,运动学绑定错 | prismatic→revolute substitution | 0 / 0 | 0 | 90° | 0.613 |
| #62 | mask ablation 原始 mask | 清晰单轴正例 | clean single revolute | 0 / 0 | 1 | 0° | 0.53 |
| #4 | 拓扑 / part 合并 | 遮挡/密集小件被漏或合并 | small dense part merge | 3 / 4 | 0.333 | 8.8° | 0.723 |
| #67 | 简单样本回归 | part 对了,运动学绑定错 | continuous substitution | 0 / 0 | 0 | 90° | 0.605 |
| #22 | 纹理 / 外观歧义 | part 对了,运动学绑定错 | texture/thin panel ambiguity | 0 / 0 | 0 | 90° | 0.286 |
| # | sample | Source GT | Raw GT | PAct output | score | joint F1 | axis° |
|---|---|---|---|---|---|---|---|
| 1 | PartNetMobility/electronics/3811 | 33 links / 32 joints / 30 movable | 31 parts / 30 joints / 30 movable | 31 parts / 30 joints / 25 movable | 44.3 | 0.077 | 24.167 |
| 2 | GRScenes/architectural_fixtures/grscenes_window_836a30a6ddbf_ef632e | 5 links / 4 joints / 3 movable | 4 parts / 3 joints / 3 movable | 4 parts / 3 joints / 3 movable | 52.52 | 0.333 | 2.286 |
| 3 | PartNetMobility/major_appliances/283 | 14 links / 13 joints / 11 movable | 12 parts / 11 joints / 11 movable | 12 parts / 11 joints / 8 movable | 52.6 | 0.222 | 2.195 |
| 4 | ArtVIP/household_items/model_scissors_23 | 4 links / 3 joints / 2 movable | 3 parts / 2 joints / 2 movable | 3 parts / 2 joints / 1 movable | 35.5 | 0 | 90 |
| 5 | PartNetMobility/small_appliances/3483 | 4 links / 3 joints / 1 movable | 2 parts / 1 joints / 1 movable | 2 parts / 1 joints / 1 movable | 41.26 | 0 | 90 |
| 6 | PartNetMobility/small_appliances/1436 | 4 links / 3 joints / 1 movable | 2 parts / 1 joints / 1 movable | 2 parts / 1 joints / 1 movable | 82.05 | 1 | 0 |
| 7 | GAPartNet/small_appliances/103101 | 14 links / 13 joints / 11 movable | 12 parts / 11 joints / 11 movable | 9 parts / 8 joints / 8 movable | 51.77 | 0.333 | 8.763 |
| 8 | PartNetMobility/household_fixtures/915 | 4 links / 3 joints / 1 movable | 2 parts / 1 joints / 1 movable | 2 parts / 1 joints / 1 movable | 41.13 | 0 | 90 |
| 9 | ArtVIP/household_items/model_folder_25 | 3 links / 2 joints / 1 movable | 2 parts / 1 joints / 1 movable | 2 parts / 1 joints / 1 movable | 36.09 | 0 | 90 |
A. Part count correct, joint semantics wrong
PAct 能重建外形/part 数,但从 part 到 joint type、axis、range 的绑定不稳定。
1. 复杂物体 / high part count
hard_motion known_quality_or_conversion_issue many_parts part_decomposition prismatic_motion single_view_conditioning
Primary classmany-part prismatic collapse
视觉现象PAct 右侧保留了大量零件,但开合后出现许多门/旋钮式转动;Raw GT 是一组密集 prismatic 滑动件。
量化证据part MAE=0,joint MAE=8,joint F1=0.077,type acc=0.233;30 个 GT prismatic 只保住 7 个 prismatic。
建模含义需要把 joint decoding 从独立 part 属性改成 part graph 上的结构化约束。
Counts
| count | joint types | |
|---|---|---|
| Source GT | 33 links / 32 joints / 30 movable | fixed:2, prismatic:30, revolute:0 |
| Raw GT | 31 parts / 30 joints / 30 movable | fixed:1, prismatic:30 |
| PAct output | 31 parts / 30 joints / 25 movable | continuous:3, fixed:6, prismatic:7, revolute:12, screw:3 |
Eval Metrics
| score | 44.3 |
| part MAE | 0 |
| joint MAE | 8 |
| joint F1 | 0.077 |
| axis deg | 24.167 |
| origin | 0 |
Input
closed/rest
mid
open/end
Raw GT




PAct



Checks
- Source GT links=33 与 Raw GT viewer parts=31 不同;viewer 使用有可视 mesh 的 source-faithful part 口径。
- movable joint 数不同:Raw GT=30,PAct=25。
- joint type 分布不同:Raw GT=fixed:1, prismatic:30;PAct=continuous:3, fixed:6, prismatic:7, revolute:12, screw:3。
Raw GT movable joints (top abs range)
| id | name | type | range | open |
|---|---|---|---|---|
| 24 | link_24 | prismatic | [0, 0.89] | 0.89 |
| 25 | drawer | prismatic | [0, 0.89] | 0.89 |
| 26 | drawer | prismatic | [0, 0.89] | 0.89 |
| 27 | drawer | prismatic | [0, 0.89] | 0.89 |
| 28 | drawer | prismatic | [0, 0.89] | 0.89 |
PAct output movable joints (top abs range)
| id | name | type | range | open |
|---|---|---|---|---|
| 6 | knob | continuous | [0, 360] | 6.2832 |
| 8 | knob | continuous | [0, 360] | 6.2832 |
| 30 | knob | continuous | [0, 360] | 6.2832 |
| 17 | door | revolute | [0, 106.4952] | 1.8587 |
| 13 | door | revolute | [0, -87.6358] | -1.5295 |
5. 关节参数错配
hard_motion internal_or_occluded_part_risk known_quality_or_conversion_issue part_decomposition prismatic_motion single_view_conditioning
Primary classprismatic→revolute substitution
视觉现象Raw GT 是小型滑动/抽拉件,PAct 视觉上变成大幅旋转开盖。
量化证据part/joint count 都对,但 type acc=0,F1=0,axis=90;GT prismatic 被预测成 revolute。
建模含义count 正确不能代表 articulation 正确;需要把 prismatic/revolute 类型判别单独约束。
Counts
| count | joint types | |
|---|---|---|
| Source GT | 4 links / 3 joints / 1 movable | fixed:2, prismatic:1, revolute:0 |
| Raw GT | 2 parts / 1 joints / 1 movable | fixed:1, prismatic:1 |
| PAct output | 2 parts / 1 joints / 1 movable | fixed:1, revolute:1 |
Eval Metrics
| score | 41.26 |
| part MAE | 0 |
| joint MAE | 0 |
| joint F1 | 0 |
| axis deg | 90 |
| origin | 0 |
Input
closed/rest
mid
open/end
Raw GT




PAct



Checks
- Source GT links=4 与 Raw GT viewer parts=2 不同;viewer 使用有可视 mesh 的 source-faithful part 口径。
- joint type 分布不同:Raw GT=fixed:1, prismatic:1;PAct=fixed:1, revolute:1。
- GT closed/mid/open 三帧完全相同;这组静态状态图不可作为开合证据。
Raw GT movable joints (top abs range)
| id | name | type | range | open |
|---|---|---|---|---|
| 0 | door | prismatic | [0, 0.3] | 0.3 |
PAct output movable joints (top abs range)
| id | name | type | range | open |
|---|---|---|---|---|
| 0 | door | revolute | [0, 72.1715] | 1.2596 |
8. 简单样本回归
hard_motion known_quality_or_conversion_issue part_decomposition revolute_motion single_view_conditioning
Primary classcontinuous substitution
视觉现象简单一门样本中 PAct 外形数目对,但运动语义像无约束 continuous,而不是目标 revolute。
量化证据part/joint count 都对,type acc=1 但 F1=0,axis=90,PAct type=continuous。
建模含义简单样本仍会在 axis/correspondence 上失败,不能只靠复杂度解释错误。
Counts
| count | joint types | |
|---|---|---|
| Source GT | 4 links / 3 joints / 1 movable | fixed:2, prismatic:0, revolute:1 |
| Raw GT | 2 parts / 1 joints / 1 movable | fixed:1, revolute:1 |
| PAct output | 2 parts / 1 joints / 1 movable | continuous:1, fixed:1 |
Eval Metrics
| score | 41.13 |
| part MAE | 0 |
| joint MAE | 0 |
| joint F1 | 0 |
| axis deg | 90 |
| origin | 0 |
Input
closed/rest
mid
open/end
Raw GT




PAct



Checks
- Source GT links=4 与 Raw GT viewer parts=2 不同;viewer 使用有可视 mesh 的 source-faithful part 口径。
- joint type 分布不同:Raw GT=fixed:1, revolute:1;PAct=continuous:1, fixed:1。
- GT closed/mid/open 三帧完全相同;这组静态状态图不可作为开合证据。
Raw GT movable joints (top abs range)
| id | name | type | range | open |
|---|---|---|---|---|
| 0 | button | revolute | [0, 0.3644] | 0.3644 |
PAct output movable joints (top abs range)
| id | name | type | range | open |
|---|---|---|---|---|
| 1 | knob | continuous | [0, 360] | 6.2832 |
9. 纹理 / 外观歧义
cross_source_domain_gap known_quality_or_conversion_issue non_pm_generalization part_decomposition revolute_motion single_view_conditioning thin_structure
Primary classtexture/thin panel ambiguity
视觉现象文件夹薄面板被预测成大开盖/盒体式结构,视觉上打开方向和尺度都偏。
量化证据part/joint count 都对,type acc=1,但 F1=0,axis=90,scale=0.286。
建模含义纹理/薄板让 part correspondence 错位;需要约束活动面板与 hinge edge 的几何关系。
Counts
| count | joint types | |
|---|---|---|
| Source GT | 3 links / 2 joints / 1 movable | fixed:1, prismatic:0, revolute:1 |
| Raw GT | 2 parts / 1 joints / 1 movable | fixed:1, revolute:1 |
| PAct output | 2 parts / 1 joints / 1 movable | fixed:1, revolute:1 |
Eval Metrics
| score | 36.09 |
| part MAE | 0 |
| joint MAE | 0 |
| joint F1 | 0 |
| axis deg | 90 |
| origin | 0 |
Input
closed/rest
mid
open/end
Raw GT




PAct



Checks
- Source GT links=3 与 Raw GT viewer parts=2 不同;viewer 使用有可视 mesh 的 source-faithful part 口径。
- Raw GT revolute range=[-1.396, 0] rad;theta=0 是 rest/folded,负方向打开。
Raw GT movable joints (top abs range)
| id | name | type | range | open |
|---|---|---|---|---|
| 1 | knob | revolute | [-1.3963, 0] | -1.3963 |
PAct output movable joints (top abs range)
| id | name | type | range | open |
|---|---|---|---|---|
| 0 | door | revolute | [0, -69.1238] | -1.2064 |
B. Hidden or dense movable recall failure
单视角下看不见的内部 movable 和拥挤小 part 是主要 recall 风险。
3. 自遮挡 / 多 movable
hard_motion internal_or_occluded_part_risk known_quality_or_conversion_issue many_parts mixed_joint_types part_decomposition prismatic_motion revolute_motion
Primary classinternal movable recall
视觉现象外壳和大圆门/面板保住了,但内部微小 prismatic/被遮挡 movable 基本不可见,PAct 少了运动件。
量化证据movable 11→8,joint MAE=4,F1=0.222;axis=2.2° 说明匹配到的轴不差,主要是 recall。
建模含义需要显式建模不可见 movable 的先验,或引入多视角/仿真可达性信号。
Counts
| count | joint types | |
|---|---|---|
| Source GT | 14 links / 13 joints / 11 movable | fixed:2, prismatic:9, revolute:2 |
| Raw GT | 12 parts / 11 joints / 11 movable | fixed:1, prismatic:9, revolute:2 |
| PAct output | 12 parts / 11 joints / 8 movable | continuous:4, fixed:4, prismatic:1, revolute:2, screw:1 |
Eval Metrics
| score | 52.6 |
| part MAE | 0 |
| joint MAE | 4 |
| joint F1 | 0.222 |
| axis deg | 2.195 |
| origin | 0.537 |
Input
closed/rest
mid
open/end
Raw GT




PAct



Checks
- Source GT links=14 与 Raw GT viewer parts=12 不同;viewer 使用有可视 mesh 的 source-faithful part 口径。
- movable joint 数不同:Raw GT=11,PAct=8。
- joint type 分布不同:Raw GT=fixed:1, prismatic:9, revolute:2;PAct=continuous:4, fixed:4, prismatic:1, revolute:2, screw:1。
- Raw GT 中 9 个 prismatic range 很小,2D 状态图主要由代表 revolute caption 主导。
Raw GT movable joints (top abs range)
| id | name | type | range | open |
|---|---|---|---|---|
| 0 | door | revolute | [-0, 1.5708] | 1.5708 |
| 6 | knob | revolute | [-1.5708, 1.5708] | 1.5708 |
| 1 | button | prismatic | [0, 0.002] | 0.002 |
| 5 | button | prismatic | [0, 0.002] | 0.002 |
| 7 | button | prismatic | [0, 0.002] | 0.002 |
PAct output movable joints (top abs range)
| id | name | type | range | open |
|---|---|---|---|---|
| 8 | knob | continuous | [0, 360] | 6.2832 |
| 9 | knob | continuous | [0, 360] | 6.2832 |
| 10 | knob | continuous | [0, 360] | 6.2832 |
| 11 | knob | continuous | [0, 360] | 6.2832 |
| 6 | drawer | revolute | [0, -28.9682] | -0.5056 |
7. 拓扑 / part 合并
cross_source_domain_gap hard_motion internal_or_occluded_part_risk many_parts mixed_joint_types non_pm_generalization part_decomposition prismatic_motion
Primary classsmall dense part merge
视觉现象Raw GT 内部有多按钮/多旋钮;PAct 把按钮簇合并成更少的大块,右侧小 part 明显少。
量化证据parts 12→9,movable 11→8,part MAE=3,joint MAE=4,F1=0.333。
建模含义需要 cardinality loss、part query 排斥或后处理拆分,专门解决密集小 part 合并。
Counts
| count | joint types | |
|---|---|---|
| Source GT | 14 links / 13 joints / 11 movable | fixed:2, prismatic:8, revolute:3 |
| Raw GT | 12 parts / 11 joints / 11 movable | fixed:1, prismatic:8, revolute:3 |
| PAct output | 9 parts / 8 joints / 8 movable | continuous:1, fixed:1, prismatic:1, revolute:5, screw:1 |
Eval Metrics
| score | 51.77 |
| part MAE | 3 |
| joint MAE | 4 |
| joint F1 | 0.333 |
| axis deg | 8.763 |
| origin | 0.295 |
Input
closed/rest
mid
open/end
Raw GT




PAct



Checks
- Source GT links=14 与 Raw GT viewer parts=12 不同;viewer 使用有可视 mesh 的 source-faithful part 口径。
- movable joint 数不同:Raw GT=11,PAct=8。
- joint type 分布不同:Raw GT=fixed:1, prismatic:8, revolute:3;PAct=continuous:1, fixed:1, prismatic:1, revolute:5, screw:1。
- GT closed/mid/open 三帧完全相同;这组静态状态图不可作为开合证据。
Raw GT movable joints (top abs range)
| id | name | type | range | open |
|---|---|---|---|---|
| 8 | knob | revolute | [-2.796, 2.8965] | 2.8965 |
| 9 | knob | revolute | [-2.2934, 2.4944] | 2.4944 |
| 10 | knob | revolute | [-0.8727, 0.8727] | 0.8727 |
| 0 | button | prismatic | [0, 0.004] | 0.004 |
| 1 | button | prismatic | [0, 0.004] | 0.004 |
PAct output movable joints (top abs range)
| id | name | type | range | open |
|---|---|---|---|---|
| 4 | knob | continuous | [0, 360] | 6.2832 |
| 2 | door | revolute | [0, -80.1418] | -1.3987 |
| 3 | drawer | revolute | [0, -71.3568] | -1.2454 |
| 6 | door | revolute | [0, -40.2806] | -0.703 |
| 5 | door | revolute | [0, -37.6631] | -0.6573 |
C. Thin structure / cross-source articulation failure
剪刀类薄结构既考验 part mask,也考验对非 PM 数据的 articulation 先验。
4. 薄小 part / scissors
cross_source_domain_gap non_pm_generalization part_decomposition revolute_motion single_view_conditioning thin_structure
Primary classthin part articulation
视觉现象剪刀薄片几何很小,PAct 能看到一些片状结构,但两个 blade 的运动关系和轴心基本没对上。
量化证据part MAE=0,但 movable 2→1,joint F1=0,axis=90,scale=0.249。
建模含义薄结构需要更高分辨率的 part evidence,以及对成对 revolute linkage 的先验。
Counts
| count | joint types | |
|---|---|---|
| Source GT | 4 links / 3 joints / 2 movable | fixed:1, prismatic:0, revolute:2 |
| Raw GT | 3 parts / 2 joints / 2 movable | fixed:1, revolute:2 |
| PAct output | 3 parts / 2 joints / 1 movable | fixed:2, revolute:1 |
Eval Metrics
| score | 35.5 |
| part MAE | 0 |
| joint MAE | 1 |
| joint F1 | 0 |
| axis deg | 90 |
| origin | 0 |
Input
closed/rest
mid
open/end
Raw GT




PAct



Checks
- Source GT links=4 与 Raw GT viewer parts=3 不同;viewer 使用有可视 mesh 的 source-faithful part 口径。
- movable joint 数不同:Raw GT=2,PAct=1。
- joint type 分布不同:Raw GT=fixed:1, revolute:2;PAct=fixed:2, revolute:1。
Raw GT movable joints (top abs range)
| id | name | type | range | open |
|---|---|---|---|---|
| 0 | e_scissors_2_1 | revolute | [0, 0.3491] | 0.3491 |
| 1 | e_scissors_1_4 | revolute | [0, 0.3491] | 0.3491 |
PAct output movable joints (top abs range)
| id | name | type | range | open |
|---|---|---|---|---|
| 0 | door | revolute | [0, -55.4495] | -0.9678 |
D. OOD scale-correspondence issue
跨源窗户不是纯失败,更像几何尺度与 part correspondence 没对齐。
2. OOD / GRScenes window
cross_source_domain_gap hard_motion many_parts non_pm_generalization part_decomposition revolute_motion single_view_conditioning
Primary classpartial success
视觉现象窗户的关节方向基本合理,但 PAct 的尺寸、面板对应和打开幅度仍与 Raw GT 不一致。
量化证据part/joint count 都对,type acc=1,axis=2.3°;但 joint F1=0.333,scale=0.437。
建模含义OOD 源数据需要尺度归一、part correspondence 或渲染一致性约束,而不是只看轴角。
Counts
| count | joint types | |
|---|---|---|
| Source GT | 5 links / 4 joints / 3 movable | fixed:1, prismatic:0, revolute:3 |
| Raw GT | 4 parts / 3 joints / 3 movable | fixed:1, revolute:3 |
| PAct output | 4 parts / 3 joints / 3 movable | continuous:1, fixed:1, revolute:2 |
Eval Metrics
| score | 52.52 |
| part MAE | 0 |
| joint MAE | 0 |
| joint F1 | 0.333 |
| axis deg | 2.286 |
| origin | 0.989 |
Input
closed/rest
mid
open/end
Raw GT




PAct



Checks
- Source GT links=5 与 Raw GT viewer parts=4 不同;viewer 使用有可视 mesh 的 source-faithful part 口径。
- joint type 分布不同:Raw GT=fixed:1, revolute:3;PAct=continuous:1, fixed:1, revolute:2。
Raw GT movable joints (top abs range)
| id | name | type | range | open |
|---|---|---|---|---|
| 0 | group_4115236e_dc8c_4cba | revolute | [0, 1.5708] | 1.5708 |
| 2 | group_b351fc1a_6aaf_463c | revolute | [0, 1.5708] | 1.5708 |
| 3 | group_bacc9198_80c9_4c2e | revolute | [0, 1.5708] | 1.5708 |
PAct output movable joints (top abs range)
| id | name | type | range | open |
|---|---|---|---|---|
| 3 | knob | continuous | [0, 360] | 6.2832 |
| 2 | door | revolute | [0, 84.6914] | 1.4781 |
| 1 | door | revolute | [0, -71.389] | -1.246 |
E. Positive control
清晰单一 revolute、mask/part 简单时,PAct 可以给出可信运动学。
6. mask ablation 原始 mask
hard_motion internal_or_occluded_part_risk known_quality_or_conversion_issue part_decomposition revolute_motion single_view_conditioning
Primary classclean single revolute
视觉现象风扇/叶片类单轴运动,Raw GT 与 PAct 的结构和轴向最接近。
量化证据score=82.05,joint F1=1,type acc=1,axis=0。
建模含义这是 sanity check:简单清晰 revolute 条件下,现有 pipeline 可以工作。
Counts
| count | joint types | |
|---|---|---|
| Source GT | 4 links / 3 joints / 1 movable | fixed:2, prismatic:0, revolute:1 |
| Raw GT | 2 parts / 1 joints / 1 movable | fixed:1, revolute:1 |
| PAct output | 2 parts / 1 joints / 1 movable | fixed:1, revolute:1 |
Eval Metrics
| score | 82.05 |
| part MAE | 0 |
| joint MAE | 0 |
| joint F1 | 1 |
| axis deg | 0 |
| origin | 0.343 |
Input
closed/rest
mid
open/end
Raw GT




PAct



Checks
- Source GT links=4 与 Raw GT viewer parts=2 不同;viewer 使用有可视 mesh 的 source-faithful part 口径。
mask ablation metrics
| variant | score | part MAE | joint F1 |
|---|---|---|---|
| mask_orig_62 | 82.05 | 0 | 1 |
| mask_maskzero_62 | 0 | 2 | 0 |
| mask_masknoise_62 | 82.04 | 0 | 1 |
Raw GT movable joints (top abs range)
| id | name | type | range | open |
|---|---|---|---|---|
| 0 | fan | revolute | [-1.5708, 1.5708] | 1.5708 |
PAct output movable joints (top abs range)
| id | name | type | range | open |
|---|---|---|---|---|
| 1 | door | revolute | [0, -49.9098] | -0.8711 |
原始页面:pact-official-failure-modes-20260525。本页只复用其样本资产,不复用其文字判断。