shinben0327/hoi-retarget-viewer
HOI-Retarget — Contact Playback
A 3D viewer for the [HOI-Retarget corpus](https://huggingface.co/datasets/shinben0327/hoi-retarget): human–object interaction capture retargeted onto humanoid robots, with the per-link contact flags the pipeline treats as a constraint rather than an output.
Pick a clip, scrub it, orbit it. When a contact link's flag is set at that frame, the link tints and its lane lights up — orange for hands, cyan for feet. Contact is the only saturated colour on the page, so you can read frame by frame exactly which palm or foot is on the object.
What is in it
13,448 clips covering all 13,904 corpus trajectories, streamed from the dataset repository rather than bundled here.
Two robots, every clip retargeted to both: Unitree G1 (42 bodies, objects scaled 0.83) and Unitree H2 (36 bodies, objects at 1.0). Four contact links each — two palm pads, two ankles.
The 456 collaborative clips are two people carrying one object, retargeted to two robots sharing one scene. The second robot is tinted steel blue-violet and its contact lanes are striped, so you can tell at a glance whose hand is on the object. Every CoRoleHOI motion is half of a pair, so none appears on its own; the two independently solved object tracks agree to within 1 cm once each agent's z_offset_m is applied.
Finding a clip
13,448 is too many to scroll, so:
- Search matches object, subject, dataset, robot and clip id; terms are AND-ed.
- Filters for dataset, robot and QC result.
- QC defaults to the 12,520 clips that pass. The 928 that fail are one click away: a joint parked against its stop, or a wrist saturated while the palm is nowhere near the object.
Keyboard: / focuses search, l the list, arrows move the cursor, Enter loads.
Objects
Object meshes are keyed <dataset>__<object>, never by bare name. chair is a different mesh in NeuralDome and IMHD², and so is pan in ParaHome and IMHD² — keying on the name alone draws the wrong object. All 75 ship with this Space; only the trajectories stream.
Light and dark
Follows your system, with a toggle in the header that overrides it. The contact hues are identical in both themes; what changes is what they are drawn on, so orange and cyan stay legible against paper as well as against slate.
Data format
The dataset card's Seeing the motions section has the index.json schema and the block-major binary layout. ?data=<relative dir> points the viewer at a local copy for development; remote origins are refused.
Licence
CC BY-NC-SA 4.0, propagated from the most restrictive source: three of the five datasets are themselves NonCommercial-ShareAlike.
Object geometry keeps its own terms — MIT for the OMOMO meshes (via InterMimic), the source dataset's licence for the rest. The per-dataset breakdown is in `licenses/OBJECTS.md`. Robot models are Unitree Robotics, BSD-3-Clause. Contact annotations originate with InterAct. Full attribution in the corpus's `NOTICE.md`.
The retargeting code is separate and permissive (BSD-3-Clause): [github.com/shinben0327/hoi-retarget](https://github.com/shinben0327/hoi-retarget).
