ViewStructView-grounded articulation and connectivity inference

Wenjing Bian1, Ranran Huang2, Andreas Geiger11University of Tübingen, Tübingen AI Center  ·  2Imperial College London

TL;DR ViewStruct predicts how parts connect and move in objects and scenes from segmented RGB-D observations in seconds. A single static observation is sufficient, while additional motion observations can improve its predictions. Its predictions are view-grounded, with joint parameters expressed in the input view’s coordinate frame.

From observed parts to structure

Input

An RGB image with part masks and depth, plus optional extra views or a clip. The prompt lists each part with its id, box and depth range.

Model

Qwen3-VL-4B, fine-tuned to write the structure out token by token. No per-instance optimisation, no refinement loop.

Output

Which parts form rigid bodies, how the bodies attach, and the parameters of every joint.

Method overview: image, part segmentation and depth go into a vision-language model that outputs rigid-body groups and joints in a view-relative frame
Representation three ambiguities, three solutions
  1. Gravity-aligned, view-relative coordinates

    ProblemCanonical orientations can be ambiguous for unfamiliar or symmetric objects and differ across objects in a scene.

    What we doJoints are expressed in a frame built from what is visible: the origin and unit come from the object's silhouette and median depth, z points against gravity and x is the viewing direction projected onto the floor. No category-specific front is needed, and camera pitch and roll drop out, so vertical hinges and horizontal slides keep simple directions. Gravity comes from the renderer or the device pose. In a scene, one reference object defines the frame and all objects share it.

  2. Joint-centred connectivity

    ProblemSeparate regions can belong to one rigid body. Predicting a parent for each region introduces arbitrary internal hierarchies.

    What we doThe output is a static base plus one moving body per joint. Each body names the regions that move together, the body it hangs from, and its joint: type, axis, pivot and motion limits. Bodies can attach to other moving bodies, so nested mechanisms are covered. A fixed convention then expands this into the part-level parent map, and targets come out a third shorter than a per-part tree.

  3. Image-grounded pivots

    ProblemDirect 3D pivot prediction does not enforce correspondence with a location in the input image.

    What we doEach hinge pivot is written as a point in the image plus a depth offset from the frame centre, and the 3D pivot is recovered by back-projection. The model can point at the hinged edge it sees, and the pivot is guaranteed to project back onto that point. Axis directions are predicted directly in 3D, since their image projections can be degenerate.

Training one corpus for objects and scenes
  • Unified supervision

    We convert annotated assets into a common target for objects and scenes, with consistent coordinates, units, and rigid-body groupings. Persistent part IDs link image regions to geometry.

  • Static and dynamic observations

    Static views provide appearance and spatial cues; articulation clips reveal relative motion. Both supervise the same structure, with varied viewpoints exposing different appearances and visibility patterns.

  • Part-decomposition augmentation

    We split parts or merge compatible sibling regions, then update the part inventory and re-render the segmentation. The kinematics stay unchanged, encouraging robustness to different part decompositions.

Demo Prediction visualisations and a simulated robot acting on the predicted joints

Results Visual comparisons and tables on objects, rooms, unseen sources and real video

Object prediction PhysX-Mobility

Qualitative comparison on PhysX-Mobility: each method's predicted joints move the same reference meshes
Predicted motion on reference geometry. Red: hinges; blue: slides; yellow: axes. Dimmed panels: no output.
Metrics and evaluation details
MethodParentEdge F1Joint F1TypeAxisPivot ↓RangeSuccess, matchedSuccess, all jointsSuccess, objectsTime (s) ↓
Qwen3-VL-4B, zero-shot19.219.931.566.041.20.39130.51.10.21.0–
PhysX-Anything61.067.985.996.294.40.11826.381.664.340.2267
PhysX-Omni70.173.685.997.895.80.09626.585.366.638.9241
URDF-Anything+17.314.718.673.058.50.26934.114.01.52.364
ViewStruct92.392.796.896.689.90.08472.381.578.252.56.5
ViewStruct, depth estimated by MoGe92.391.096.595.689.30.09469.178.374.848.76.5

Values are percentages, except pivot error in normalised asset units and time in seconds. Object success requires every reference joint to be recovered correctly. Generated parts are matched to reference parts by geometry.

Scene-level prediction GRScenes

Room views: reference, PhysX-Omni, OPDMulti and ViewStruct predictions
Reference, PhysX-Omni, OPDMulti, and ViewStruct on three room views. Red: hinges; blue: slides; yellow: axes.
Metrics and evaluation details
MethodParseRecallJoint F1TypeAxisPivot ↓RangeSuccess, matchedSuccess, all joints
OPDMulti100.015.725.873.949.40.44050.011.81.8
PhysX-Omni100.030.340.466.749.70.4008.124.47.4
ViewStruct98.994.795.277.662.10.33172.226.224.8
+ 2 views with parts moved97.794.895.280.564.40.33774.128.026.6

ViewStruct is trained on scene observations, and test views can contain training objects as neighbours. This evaluates scene prediction, not transfer to entirely unseen scenes. All-joint success includes missed joints as failures.

Generalisation Unseen SimReady and held-out GRScenes categories

Predicted hinges and sliding joints on unseen SimReady assets
Predicted articulation on unseen SimReady assets.
Metrics and evaluation details
MethodJoint F1TypeAxisPivot ↓RangeSuccess, matchedSuccess, all joints
SimReady objects (242)
Qwen3-VL-4B, zero-shot17.946.739.30.38224.60.00.0
PhysX-Anything61.362.048.70.32715.914.96.9
URDF-Anything+33.065.752.10.23931.12.80.6
PhysX-Omni61.162.852.60.38018.118.08.2
ViewStruct95.075.067.10.11531.533.331.5
GRScenes objects, held-out categories (291)
Qwen3-VL-4B, zero-shot43.433.725.60.22922.60.00.0
PhysX-Anything52.561.129.90.43213.88.93.3
URDF-Anything+26.637.625.60.38628.70.80.1
PhysX-Omni48.054.821.40.4945.716.05.2
ViewStruct99.771.848.70.22656.948.748.5

SimReady is an unseen asset source, although its categories can overlap training sources. The GRScenes categories are excluded from its training partition. Joint F1 measures which parts carry joints; articulation success also tests their parameters.

Real-world video Arti4D

Despite training only on synthetic data, the model transfers to real videos. Adding motion evidence improves hinge-type accuracy from 77.2% to 93.0%.

Arti4D interactions with reference and predicted axes over three frames
Reference axes in red/blue; predictions in yellow. Dashed segments are occluded.
Metrics and evaluation details
MethodVisual inputType acc. prism.Type acc. revol.Axis err. prism. ↓Axis err. revol. ↓Hinge pos. (m) ↓n
ArtiPointFull RGB-D sequence75.397.320.5° (4.4°)20.9° (10.3°)0.19 (0.12)338
OPDMultiInitial RGB only52.272.044.3° (32.5°)42.8° (30.9°)0.42 (0.37)307
ViewStructInitial RGB-D only69.377.236.7° (17.0°)37.6° (4.0°)0.31 (0.22)342
ViewStructInitial RGB-D + 2 frames81.591.227.3° (14.2°)27.0° (1.8°)0.27 (0.18)341
ViewStructInitial RGB-D + 2 frames + clip86.093.028.6° (15.8°)21.3° (1.6°)0.23 (0.18)342

ArtiPoint receives the full RGB-D sequence, temporal camera poses, and reference interaction cues. ViewStruct receives an initial RGB-D observation and the listed RGB frames or clip, without temporal camera poses. Errors are means with medians in parentheses; n is the number of scored interactions.

Using the predicted joints

The predicted joints also define opening trajectories. A simulated gripper opens 74.6% of reference joints, increasing to 80.3% with one direction-reversal retry.

A Panda arm in MuJoCo opening parts of GRScenes rooms along ViewStruct's predicted joints
Panda manipulation in MuJoCo. Explore the recorded runs below.
Metrics and evaluation details
Joints fromAttemptedOpensOpens, one retry in the other direction
Reference (oracle)100.099.999.9
PhysX-Anything57.250.352.3
URDF-Anything+11.34.44.9
PhysX-Omni56.548.951.2
ViewStruct91.374.680.3

Missing predictions count as failures. We supply contact locations and simplify the physics to isolate articulation quality. These trials do not test grasp discovery or real-robot performance.

Interactive robot lab

Here the Panda follows a predicted joint trajectory, while the object retains its reference mechanism. Errors in the prediction can prevent the part from opening.

Recorded MuJoCo runs. Yellow: predicted joint. Teal: reference joint. The controls replay existing trajectories.

Open the cabinet door beside the washing machine
Downloads the 3D viewer and one room, 6 to 14 MB.

Open the cabinet door beside the washing machine

Home 1 · hinge joint

0.00 s
Camera
Show

BibTeX

@article{bian2026viewstruct,
  title   = {ViewStruct: View-Grounded Articulation and Connectivity Inference},
  author  = {Bian, Wenjing and Huang, Ranran and Geiger, Andreas},
  journal = {arXiv preprint arXiv:2610.16793},
  year    = {2026}
}