路线一:Part 静态资产运动化小批量探针

用官方 Particulate 推理脚本对 PartNeXt / PartVerse 的静态 GLB 小批量生成 articulated prediction。此页是方法探索结果,不会混入我们已经发布的原生人工/清洗铰链资产库;原始数据只读,实验目录内保留输入复制件、animated GLB、segmented+axis GLB、URDF 和 eval 文件。

PartNeXt · partnext_chair_a8cc7725d62b4a1fbddff03d7eef6a36

category: chair · parts: 2 · movable joints: 1 · status: motionized_urdf_valid

motionization record
{
  "name": "partnext_chair_a8cc7725d62b4a1fbddff03d7eef6a36",
  "source_dataset": "PartNeXt",
  "source_category": "chair",
  "source_input": "assets/partnext_chair_a8cc7725d62b4a1fbddff03d7eef6a36/input.glb",
  "animated_glb": "assets/partnext_chair_a8cc7725d62b4a1fbddff03d7eef6a36/animated_textured.glb",
  "segmented_axes_glb": "assets/partnext_chair_a8cc7725d62b4a1fbddff03d7eef6a36/mesh_parts_with_axes.glb",
  "urdf": "assets/partnext_chair_a8cc7725d62b4a1fbddff03d7eef6a36/model.urdf",
  "prediction_summary": "assets/partnext_chair_a8cc7725d62b4a1fbddff03d7eef6a36/prediction_summary.json",
  "eval_pred_obj": "assets/partnext_chair_a8cc7725d62b4a1fbddff03d7eef6a36/eval/pred.obj",
  "num_parts": 2,
  "movable_joint_count": 1,
  "joint_types": [
    "revolute",
    "fixed"
  ],
  "raw_summary_motion_hierarchy": [
    [
      15,
      10
    ],
    [
      15,
      14
    ]
  ],
  "raw_summary_hierarchy_consistent_after_strict_filter": false,
  "urdf_summary": {
    "exists": true,
    "parse_ok": true,
    "link_count": 2,
    "joint_count": 1,
    "movable_joint_count": 1,
    "joint_type_counts": {
      "revolute": 1
    },
    "axis_valid_rate": 1.0,
    "limit_valid_rate": 1.0,
    "parent_child_valid_rate": 1.0,
    "error": null
  },
  "status": "motionized_urdf_valid"
}

PartNeXt · partnext_door_6467eae771d94f4e8224f57f83a2a8c3

category: door · parts: 3 · movable joints: 2 · status: motionized_urdf_valid

motionization record
{
  "name": "partnext_door_6467eae771d94f4e8224f57f83a2a8c3",
  "source_dataset": "PartNeXt",
  "source_category": "door",
  "source_input": "assets/partnext_door_6467eae771d94f4e8224f57f83a2a8c3/input.glb",
  "animated_glb": "assets/partnext_door_6467eae771d94f4e8224f57f83a2a8c3/animated_textured.glb",
  "segmented_axes_glb": "assets/partnext_door_6467eae771d94f4e8224f57f83a2a8c3/mesh_parts_with_axes.glb",
  "urdf": "assets/partnext_door_6467eae771d94f4e8224f57f83a2a8c3/model.urdf",
  "prediction_summary": "assets/partnext_door_6467eae771d94f4e8224f57f83a2a8c3/prediction_summary.json",
  "eval_pred_obj": "assets/partnext_door_6467eae771d94f4e8224f57f83a2a8c3/eval/pred.obj",
  "num_parts": 3,
  "movable_joint_count": 2,
  "joint_types": [
    "revolute",
    "revolute",
    "fixed"
  ],
  "raw_summary_motion_hierarchy": [
    [
      15,
      10
    ],
    [
      15,
      14
    ]
  ],
  "raw_summary_hierarchy_consistent_after_strict_filter": true,
  "urdf_summary": {
    "exists": true,
    "parse_ok": true,
    "link_count": 3,
    "joint_count": 2,
    "movable_joint_count": 2,
    "joint_type_counts": {
      "revolute": 2
    },
    "axis_valid_rate": 1.0,
    "limit_valid_rate": 1.0,
    "parent_child_valid_rate": 1.0,
    "error": null
  },
  "status": "motionized_urdf_valid"
}

PartNeXt · partnext_table_b98c6e01d57646398a9f68b1fc8ac124

category: table · parts: 1 · movable joints: 0 · status: static_or_no_motion_detected

motionization record
{
  "name": "partnext_table_b98c6e01d57646398a9f68b1fc8ac124",
  "source_dataset": "PartNeXt",
  "source_category": "table",
  "source_input": "assets/partnext_table_b98c6e01d57646398a9f68b1fc8ac124/input.glb",
  "animated_glb": "assets/partnext_table_b98c6e01d57646398a9f68b1fc8ac124/animated_textured.glb",
  "segmented_axes_glb": "assets/partnext_table_b98c6e01d57646398a9f68b1fc8ac124/mesh_parts_with_axes.glb",
  "urdf": "assets/partnext_table_b98c6e01d57646398a9f68b1fc8ac124/model.urdf",
  "prediction_summary": "assets/partnext_table_b98c6e01d57646398a9f68b1fc8ac124/prediction_summary.json",
  "eval_pred_obj": "assets/partnext_table_b98c6e01d57646398a9f68b1fc8ac124/eval/pred.obj",
  "num_parts": 1,
  "movable_joint_count": 0,
  "joint_types": [
    "fixed"
  ],
  "raw_summary_motion_hierarchy": [
    [
      15,
      10
    ]
  ],
  "raw_summary_hierarchy_consistent_after_strict_filter": false,
  "urdf_summary": {
    "exists": true,
    "parse_ok": true,
    "link_count": 1,
    "joint_count": 0,
    "movable_joint_count": 0,
    "joint_type_counts": {},
    "axis_valid_rate": null,
    "limit_valid_rate": null,
    "parent_child_valid_rate": null,
    "error": null
  },
  "status": "static_or_no_motion_detected"
}

PartVerse · partverse_chair_laundry_0124889ae0b740f6ab55c65650109e11

category: chair/laundry · parts: 2 · movable joints: 1 · status: motionized_urdf_valid

motionization record
{
  "name": "partverse_chair_laundry_0124889ae0b740f6ab55c65650109e11",
  "source_dataset": "PartVerse",
  "source_category": "chair/laundry",
  "source_input": "assets/partverse_chair_laundry_0124889ae0b740f6ab55c65650109e11/input.glb",
  "animated_glb": "assets/partverse_chair_laundry_0124889ae0b740f6ab55c65650109e11/animated_textured.glb",
  "segmented_axes_glb": "assets/partverse_chair_laundry_0124889ae0b740f6ab55c65650109e11/mesh_parts_with_axes.glb",
  "urdf": "assets/partverse_chair_laundry_0124889ae0b740f6ab55c65650109e11/model.urdf",
  "prediction_summary": "assets/partverse_chair_laundry_0124889ae0b740f6ab55c65650109e11/prediction_summary.json",
  "eval_pred_obj": "assets/partverse_chair_laundry_0124889ae0b740f6ab55c65650109e11/eval/pred.obj",
  "num_parts": 2,
  "movable_joint_count": 1,
  "joint_types": [
    "revolute",
    "fixed"
  ],
  "raw_summary_motion_hierarchy": [
    [
      15,
      10
    ],
    [
      15,
      13
    ],
    [
      15,
      14
    ]
  ],
  "raw_summary_hierarchy_consistent_after_strict_filter": false,
  "urdf_summary": {
    "exists": true,
    "parse_ok": true,
    "link_count": 2,
    "joint_count": 1,
    "movable_joint_count": 1,
    "joint_type_counts": {
      "revolute": 1
    },
    "axis_valid_rate": 1.0,
    "limit_valid_rate": 1.0,
    "parent_child_valid_rate": 1.0,
    "error": null
  },
  "status": "motionized_urdf_valid"
}