breezexian/UniPhys-40K

Dataset

UniPhys-40K

2

58 commits

3 linked in READMEs

updated Sep 3, 2026

See the code

README

UniPhys-40K

UniPhys-40K is a large-scale dataset for unified physical grounding of heterogeneous 3D assets. It provides articulation semantics and intrinsic physical properties for training models that transform raw meshes into simulation-ready assets.

Dataset summary

StatisticValue
Objects40K (40014)
Object categories84
Total annotated parts400K
Parts used after training-data filtering370K
Primary sourcesObjaverse-Sketchfab, HSSD, 3D-FUTURE, ABO, and PartNet
Annotation scopeArticulation semantics and intrinsic physical properties

The collection spans household objects, furniture, appliances, containers, tools, and other interactive indoor assets. It has long-tailed distributions across object scale, mass, category, material, part count, and articulation pattern.

Data sources and curation

UniPhys-40K aggregates assets from complementary repositories:

  • Objaverse-Sketchfab, the Sketchfab subset of Objaverse-XL (also known as ObjaverseV1), contributes artist-designed models, procedural assets, and real-world scans. Category filtering over LVIS and non-LVIS labels retains assets relevant to household, robotics, and embodied-AI scenarios; duplicates, irrelevant categories, and geometrically unsuitable meshes are removed.
  • HSSD, 3D-FUTURE, ABO, and PartNet broaden the range of object categories, geometry, appearance, and structural organization. For Objaverse, HSSD, 3D-FUTURE, and ABO, the construction pipeline starts from the corresponding quality-filtered assets listed in TRELLIS-500K.
  • PartNet components are aligned back to their ShapeNet meshes to recover material-aware appearance. When textures are available, UVs are transferred with nearest-surface projection and barycentric interpolation; otherwise, available material appearance attributes are transferred. Components are then regrouped at an appropriate PartNet hierarchy level.

Construction pipeline

Every asset is processed by the four-stage UniPhys pipeline:

  1. Physically meaningful structural decomposition uses multi-view SAM priors, PartField candidates, Hungarian alignment, and cross-view structural refinement to preserve motion-relevant and material-sensitive parts.
  2. Intrinsic physical property grounding uses part-centric observations, global object context, and schema-constrained multimodal reasoning to infer part- and object-level physical semantics.
  3. Geometry-aware articulation grounding generates feasible axis-pivot candidates from contact geometry and uses semantic reasoning to select articulation configurations.
  4. Simulation-driven consistency verification filters or refines annotations that violate material, mass, contact, penetration, or contact identity constraints.

The verification stage checks physical consistency across geometry, articulation, and estimated material and mass properties.

Annotation scope

LevelRepresentative annotations
Objectidentity, category, dimensions [L, W, H] in centimeters, and mass in kilograms
Part identity and semanticspart name; basic, functional, movement, and grasp descriptions
Part physical propertiesmaterial, density, Young's modulus, hardness, Poisson's ratio, friction, graspability, and affordance
Articulation kinematicsmotion type, axis, pivot, and motion range
Articulation structuremotion-coupled part dependency groups

Part-property units follow the paper: density is in g/cm^3, Young's modulus in GPa, hardness in HV, and Poisson's ratio and friction are unitless. Affordance is an integer score from 1 to 10, where a smaller value means higher affordance.

Motion labels use the following convention:

LabelMeaning
AContact-only, with no relative motion
BPrismatic translation
CRevolute rotation
DRigid or fixed, with no motion

Dataset structure

UniPhysGen discovers entities recursively, so a release archive may include source-specific grouping directories above each entity. A typical entity has the following structure:

<entity_id>/
β”œβ”€β”€ annotations/
β”‚   β”œβ”€β”€ object.json
β”‚   β”œβ”€β”€ part_<id>.json
β”‚   └── ...
β”œβ”€β”€ full_model/
β”‚   β”œβ”€β”€ model.obj
β”‚   β”œβ”€β”€ material.mtl
β”‚   └── texture files, when available
β”œβ”€β”€ meta_data.json
β”œβ”€β”€ parts/
β”‚   β”œβ”€β”€ part_<id>.obj
β”‚   β”œβ”€β”€ material files and textures
β”‚   └── ...
└── plys/
    β”œβ”€β”€ model.ply
    β”œβ”€β”€ <id>.ply
    └── ...
PathDescription
parts/part_<id>.objPhysically meaningful decomposed part mesh. Associated MTL and texture files are retained when available.
full_model/model.objComplete object mesh produced by concatenating the released part meshes.
plys/model.plyPoint cloud for the complete object.
plys/<id>.plyPoint cloud aligned with parts/part_<id>.obj.
annotations/object.jsonObject identity, category, dimensions, mass, and the mass-consistency quality field.
annotations/part_<id>.jsonPart semantics, intrinsic physical properties, kinematics, dependencies, and the part-level quality field.
meta_data.jsonEntity ID, original data source and license reference, object summary, geometry format, part count, and annotation version.

The numeric ID is shared by part_<id>.obj, <id>.ply, and part_<id>.json. This alignment lets applications move directly between mesh, point-cloud, and annotation representations.

Metadata

meta_data.json records provenance and a compact description of the released asset:

{
  "id": "<entity_id>",
  "source": {
    "dataset": "<source_dataset>",
    "original_id": "<original_asset_id>",
    "license_ref": "<source_license_reference>"
  },
  "object": {
    "category": "Furniture/SeatingFurniture",
    "object_name": "Executive Office Chair"
  },
  "geometry": {
    "asset_type": "decomposed_parts",
    "num_parts": 18,
    "format": "obj"
  },
  "annotation": {
    "version": "v1.0"
  }
}

Object-level annotations

annotations/object.json stores dimensions in centimeters, mass in kilograms, and mass_rate, the object-level mass-consistency result used during training sample filtering:

{
  "object_name": "Executive Office Chair",
  "category": "Furniture/SeatingFurniture",
  "volume": [70.0, 68.0, 110.0],
  "mass": 15.5,
  "mass_rate": 1.2
}

mass_rate <= 2 is required by the released generator for object-level training samples. The same object-level condition is also applied to part-level physical-semantic training samples.

Part-level annotations

Each annotations/part_<id>.json is aligned with the mesh and point cloud of the same numeric ID:

{
  "index": {
    "type_name": "default",
    "entity": "<entity_id>",
    "label": "3"
  },
  "part_level": {
    "part_name": "Front Seat Trim Bar",
    "affordance": 2,
    "graspable": false,
    "basic_description": "Slim trim piece at the front edge of the seat.",
    "functional_description": "Covers a seam and finishes the seat front.",
    "movement_description": "Rotates together with its dependency group.",
    "grasp_description": "Can be contacted at the front edge."
  },
  "basic_info": {
    "material": "metal/Steel",
    "density": 7.85,
    "young": 200.0,
    "hardness": 180.0,
    "poisson": 0.3,
    "friction": 0.45,
    "pass_check": true
  },
  "kinematic_info": {
    "motion_types": ["C"],
    "motion_info": {
      "dependency": [3],
      "C": {
        "axis": [-1.0, 0.0, 0.0],
        "pos": [-0.02277967, 0.38144422, -0.02326505],
        "range": [0.0, 0.785],
        "damping": 0.03
      }
    }
  }
}

basic_info.pass_check is true only when the part passes the intrinsic physical-property checks. Part-level physical-semantic training requires both mass_rate <= 2 and pass_check == true. The kinematic-parameter and articulation-structure generators instead retain parts with non-empty B or C motion annotations and do not filter on these two quality fields.

Download and prepare

Download the repository with the Hugging Face CLI:

hf download \
  breezexian/UniPhys-40K \
  --repo-type dataset \
  --local-dir data/UniPhys-40K

Generate point clouds consumed by UniPhysGen:

python pre_process/generate_npzs.py \
  --data_root data/UniPhys-40K \
  --output_dir data/UniPhys-40K-processed/npzs

Each generated .npz stores aligned point, color, and normal arrays. Object files also store part_names and part_centers for articulation structure grounding.

Build independent training data for the four UniPhysGen tasks:

python pre_process/generate_jsons_for_training.py \
  --data_root data/UniPhys-40K \
  --npz_dir data/UniPhys-40K-processed/npzs \
  --output_dir data/UniPhys-40K-processed/train

The command creates physics, kinematic_parameters, articulation_structure, and object_level task directories. See the UniPhysGen README for filtering rules and training commands.

Intended use

UniPhys-40K is intended for research on unified physical grounding, articulation understanding, physical-property estimation, simulation-ready asset construction, embodied AI, and robotics simulation. Use UniPhys-Bench, which is held out and human-verified, for evaluation rather than evaluating on the UniPhys-40K training collection.

Scope and usage considerations

  • Annotations are generated by the UniPhys pipeline and refined through simulation-driven consistency checks to support research and simulation. Physical values represent estimates of the depicted objects.
  • Coverage and annotation quality can vary across source repositories, categories, materials, part granularities, mesh quality, and texture quality.
  • The long-tailed distribution can produce uneven model performance across rare categories, materials, and mechanisms.

Licensing and provenance

See LICENSE for the dataset licensing terms:

  • Original UniPhys annotations and metadata: licensed under CC BY 4.0, to the extent that the UniPhysGen Authors hold the relevant rights. Commercial use of these original contributions is permitted under the license terms.
  • Upstream assets and derived representations: meshes, textures, materials, source annotations, and their derivatives remain subject to their applicable upstream licenses and terms. The annotation license does not relicense these assets or grant blanket permission to redistribute them.

Use source.dataset, source.original_id, and source.license_ref in each asset's meta_data.json to trace the applicable source terms. Retain required creator credits, license notices, and modification notices when sharing data. Citing UniPhys-40K does not replace upstream attribution or usage obligations.

Citation

@article{li2026uniphysgen,
  title   = {UniPhysGen: Unified Physical Grounding for Simulation-Ready 3D Assets},
  author  = {Li, Xian and Wei, Rong and Yang, Lujie and Huang, Haolin and Fang, Junyuan and Tang, Siliang and Xiao, Jun and Tang, Rui and Li, Juncheng},
  journal = {arXiv preprint arXiv:2607.13586},
  year    = {2026}
}
3d
articulation
physical-grounding
robotics
simulation

Contributors

breezexian

58 commits

breezexian/UniPhys-40K

Dataset

UniPhys-40K

2

58 commits

3 linked in READMEs

updated Sep 3, 2026

See the code

README

UniPhys-40K

UniPhys-40K is a large-scale dataset for unified physical grounding of heterogeneous 3D assets. It provides articulation semantics and intrinsic physical properties for training models that transform raw meshes into simulation-ready assets.

Dataset summary

StatisticValue
Objects40K (40014)
Object categories84
Total annotated parts400K
Parts used after training-data filtering370K
Primary sourcesObjaverse-Sketchfab, HSSD, 3D-FUTURE, ABO, and PartNet
Annotation scopeArticulation semantics and intrinsic physical properties

The collection spans household objects, furniture, appliances, containers, tools, and other interactive indoor assets. It has long-tailed distributions across object scale, mass, category, material, part count, and articulation pattern.

Data sources and curation

UniPhys-40K aggregates assets from complementary repositories:

  • Objaverse-Sketchfab, the Sketchfab subset of Objaverse-XL (also known as ObjaverseV1), contributes artist-designed models, procedural assets, and real-world scans. Category filtering over LVIS and non-LVIS labels retains assets relevant to household, robotics, and embodied-AI scenarios; duplicates, irrelevant categories, and geometrically unsuitable meshes are removed.
  • HSSD, 3D-FUTURE, ABO, and PartNet broaden the range of object categories, geometry, appearance, and structural organization. For Objaverse, HSSD, 3D-FUTURE, and ABO, the construction pipeline starts from the corresponding quality-filtered assets listed in TRELLIS-500K.
  • PartNet components are aligned back to their ShapeNet meshes to recover material-aware appearance. When textures are available, UVs are transferred with nearest-surface projection and barycentric interpolation; otherwise, available material appearance attributes are transferred. Components are then regrouped at an appropriate PartNet hierarchy level.

Construction pipeline

Every asset is processed by the four-stage UniPhys pipeline:

  1. Physically meaningful structural decomposition uses multi-view SAM priors, PartField candidates, Hungarian alignment, and cross-view structural refinement to preserve motion-relevant and material-sensitive parts.
  2. Intrinsic physical property grounding uses part-centric observations, global object context, and schema-constrained multimodal reasoning to infer part- and object-level physical semantics.
  3. Geometry-aware articulation grounding generates feasible axis-pivot candidates from contact geometry and uses semantic reasoning to select articulation configurations.
  4. Simulation-driven consistency verification filters or refines annotations that violate material, mass, contact, penetration, or contact identity constraints.

The verification stage checks physical consistency across geometry, articulation, and estimated material and mass properties.

Annotation scope

LevelRepresentative annotations
Objectidentity, category, dimensions [L, W, H] in centimeters, and mass in kilograms
Part identity and semanticspart name; basic, functional, movement, and grasp descriptions
Part physical propertiesmaterial, density, Young's modulus, hardness, Poisson's ratio, friction, graspability, and affordance
Articulation kinematicsmotion type, axis, pivot, and motion range
Articulation structuremotion-coupled part dependency groups

Part-property units follow the paper: density is in g/cm^3, Young's modulus in GPa, hardness in HV, and Poisson's ratio and friction are unitless. Affordance is an integer score from 1 to 10, where a smaller value means higher affordance.

Motion labels use the following convention:

LabelMeaning
AContact-only, with no relative motion
BPrismatic translation
CRevolute rotation
DRigid or fixed, with no motion

Dataset structure

UniPhysGen discovers entities recursively, so a release archive may include source-specific grouping directories above each entity. A typical entity has the following structure:

<entity_id>/
β”œβ”€β”€ annotations/
β”‚   β”œβ”€β”€ object.json
β”‚   β”œβ”€β”€ part_<id>.json
β”‚   └── ...
β”œβ”€β”€ full_model/
β”‚   β”œβ”€β”€ model.obj
β”‚   β”œβ”€β”€ material.mtl
β”‚   └── texture files, when available
β”œβ”€β”€ meta_data.json
β”œβ”€β”€ parts/
β”‚   β”œβ”€β”€ part_<id>.obj
β”‚   β”œβ”€β”€ material files and textures
β”‚   └── ...
└── plys/
    β”œβ”€β”€ model.ply
    β”œβ”€β”€ <id>.ply
    └── ...
PathDescription
parts/part_<id>.objPhysically meaningful decomposed part mesh. Associated MTL and texture files are retained when available.
full_model/model.objComplete object mesh produced by concatenating the released part meshes.
plys/model.plyPoint cloud for the complete object.
plys/<id>.plyPoint cloud aligned with parts/part_<id>.obj.
annotations/object.jsonObject identity, category, dimensions, mass, and the mass-consistency quality field.
annotations/part_<id>.jsonPart semantics, intrinsic physical properties, kinematics, dependencies, and the part-level quality field.
meta_data.jsonEntity ID, original data source and license reference, object summary, geometry format, part count, and annotation version.

The numeric ID is shared by part_<id>.obj, <id>.ply, and part_<id>.json. This alignment lets applications move directly between mesh, point-cloud, and annotation representations.

Metadata

meta_data.json records provenance and a compact description of the released asset:

{
  "id": "<entity_id>",
  "source": {
    "dataset": "<source_dataset>",
    "original_id": "<original_asset_id>",
    "license_ref": "<source_license_reference>"
  },
  "object": {
    "category": "Furniture/SeatingFurniture",
    "object_name": "Executive Office Chair"
  },
  "geometry": {
    "asset_type": "decomposed_parts",
    "num_parts": 18,
    "format": "obj"
  },
  "annotation": {
    "version": "v1.0"
  }
}

Object-level annotations

annotations/object.json stores dimensions in centimeters, mass in kilograms, and mass_rate, the object-level mass-consistency result used during training sample filtering:

{
  "object_name": "Executive Office Chair",
  "category": "Furniture/SeatingFurniture",
  "volume": [70.0, 68.0, 110.0],
  "mass": 15.5,
  "mass_rate": 1.2
}

mass_rate <= 2 is required by the released generator for object-level training samples. The same object-level condition is also applied to part-level physical-semantic training samples.

Part-level annotations

Each annotations/part_<id>.json is aligned with the mesh and point cloud of the same numeric ID:

{
  "index": {
    "type_name": "default",
    "entity": "<entity_id>",
    "label": "3"
  },
  "part_level": {
    "part_name": "Front Seat Trim Bar",
    "affordance": 2,
    "graspable": false,
    "basic_description": "Slim trim piece at the front edge of the seat.",
    "functional_description": "Covers a seam and finishes the seat front.",
    "movement_description": "Rotates together with its dependency group.",
    "grasp_description": "Can be contacted at the front edge."
  },
  "basic_info": {
    "material": "metal/Steel",
    "density": 7.85,
    "young": 200.0,
    "hardness": 180.0,
    "poisson": 0.3,
    "friction": 0.45,
    "pass_check": true
  },
  "kinematic_info": {
    "motion_types": ["C"],
    "motion_info": {
      "dependency": [3],
      "C": {
        "axis": [-1.0, 0.0, 0.0],
        "pos": [-0.02277967, 0.38144422, -0.02326505],
        "range": [0.0, 0.785],
        "damping": 0.03
      }
    }
  }
}

basic_info.pass_check is true only when the part passes the intrinsic physical-property checks. Part-level physical-semantic training requires both mass_rate <= 2 and pass_check == true. The kinematic-parameter and articulation-structure generators instead retain parts with non-empty B or C motion annotations and do not filter on these two quality fields.

Download and prepare

Download the repository with the Hugging Face CLI:

hf download \
  breezexian/UniPhys-40K \
  --repo-type dataset \
  --local-dir data/UniPhys-40K

Generate point clouds consumed by UniPhysGen:

python pre_process/generate_npzs.py \
  --data_root data/UniPhys-40K \
  --output_dir data/UniPhys-40K-processed/npzs

Each generated .npz stores aligned point, color, and normal arrays. Object files also store part_names and part_centers for articulation structure grounding.

Build independent training data for the four UniPhysGen tasks:

python pre_process/generate_jsons_for_training.py \
  --data_root data/UniPhys-40K \
  --npz_dir data/UniPhys-40K-processed/npzs \
  --output_dir data/UniPhys-40K-processed/train

The command creates physics, kinematic_parameters, articulation_structure, and object_level task directories. See the UniPhysGen README for filtering rules and training commands.

Intended use

UniPhys-40K is intended for research on unified physical grounding, articulation understanding, physical-property estimation, simulation-ready asset construction, embodied AI, and robotics simulation. Use UniPhys-Bench, which is held out and human-verified, for evaluation rather than evaluating on the UniPhys-40K training collection.

Scope and usage considerations

  • Annotations are generated by the UniPhys pipeline and refined through simulation-driven consistency checks to support research and simulation. Physical values represent estimates of the depicted objects.
  • Coverage and annotation quality can vary across source repositories, categories, materials, part granularities, mesh quality, and texture quality.
  • The long-tailed distribution can produce uneven model performance across rare categories, materials, and mechanisms.

Licensing and provenance

See LICENSE for the dataset licensing terms:

  • Original UniPhys annotations and metadata: licensed under CC BY 4.0, to the extent that the UniPhysGen Authors hold the relevant rights. Commercial use of these original contributions is permitted under the license terms.
  • Upstream assets and derived representations: meshes, textures, materials, source annotations, and their derivatives remain subject to their applicable upstream licenses and terms. The annotation license does not relicense these assets or grant blanket permission to redistribute them.

Use source.dataset, source.original_id, and source.license_ref in each asset's meta_data.json to trace the applicable source terms. Retain required creator credits, license notices, and modification notices when sharing data. Citing UniPhys-40K does not replace upstream attribution or usage obligations.

Citation

@article{li2026uniphysgen,
  title   = {UniPhysGen: Unified Physical Grounding for Simulation-Ready 3D Assets},
  author  = {Li, Xian and Wei, Rong and Yang, Lujie and Huang, Haolin and Fang, Junyuan and Tang, Siliang and Xiao, Jun and Tang, Rui and Li, Juncheng},
  journal = {arXiv preprint arXiv:2607.13586},
  year    = {2026}
}
3d
articulation
physical-grounding
robotics
simulation

Contributors

breezexian

58 commits