RoboTryOn

Synthesizing Dexterous Robot Demonstrations from Human Videos via Virtual Try-On

1KAIST   2RLWRLD

TL;DR: Virtual try-on keeps the person and swaps the garment; RoboTryOn keeps the demonstrated motion and swaps the human for the robot. From an egocentric human video alone, it synthesizes a robot demonstration (video and joint actions) that teaches a policy tasks it has never been teleoperated on.

Abstract

Robot foundation models have shown remarkable performance in robot control, yet adapting them to a new task still relies heavily on teleoperated demonstrations. Egocentric human videos offer a scalable substitute, but overlaying rendered robots on human videos or retargeting human poses into robot actions leaves significant visual or action gaps for high-DoF robot embodiments. We propose RoboTryOn, which treats human-to-robot translation as virtual try-on: RoboTryOn converts a human video into a video of the target robot specified by a reference image, while preserving the original task, objects, and background. We translate selected keyframes autoregressively and use them to guide video synthesis with motion conditioned on the human hand skeleton, and an inverse dynamics model with depth features infers the action labels. Across multiple humanoid embodiments, policies trained with our synthetic data improve the average success rate on novel tasks, including bimanual manipulation, from 2% to 60% without any real robot demonstration of those tasks, and match policies trained on teleoperated demonstrations at about a third of the collection cost.

Method

RoboTryOn pipeline

1. Keyframe translation. An image model inpaints the masked human arm with the target robot, guided by the hand skeleton, using the previous robot keyframe as the reference.

2. Video synthesis. A video model fills in the motion between the robot keyframes, following the human hand-skeleton flow.

3. Action labeling. An inverse dynamics model reads joint-space actions from the synthesized video; the wrists are corrected with the reconstructed human hands.

One Human Video, Various Embodiments

Human
OpenArm + RH56F1
RB-Y1 + Wuji Hand 2
GR-1
humanOpenArmRB-Y1GR-1 humanOpenArmRB-Y1GR-1 humanOpenArmRB-Y1GR-1

Learning New Tasks from Human Video

2% → 60%
success on 7 tasks with no robot demonstration
(avg. of two robots)
45.9%
on bimanual tasks, though every
teleoperated demonstration is single-arm
~1/3
of the collection cost to match
teleoperation-only training
MethodOpenArmRB-Y1
In-domainOut-of-domainIn-domainOut-of-domain
Teleop only47.33.169.61.0
+ EgoMimic50.05.163.45.1
+ Masquerade67.98.263.47.7
+ RoboTryOn (Ours)75.973.079.546.9
RoboTryOn only (no teleop)57.148.560.740.3

Success rate (%) of π0.5 over 28 trials per task. Out-of-domain: 7 tasks (novel object, goal, skill, and bimanual) with human videos only.

Policy rollouts on tasks with no teleoperated demonstration

PnP Coffee Pot (novel object)
Human demoRobot policy
PnP Bottle → Shelf (novel goal)
Human demoRobot policy
Pouring (novel skill)
Human demoRobot policy
Brushing (novel skill)
Human demoRobot policy
Air Fryer (bimanual)
Human demoRobot policy
PnP Ball in Cup (bimanual)
Human demoRobot policy
PnP Coffee Pot (novel object)
Human demoRobot policy
PnP Bottle → Shelf (novel goal)
Human demoRobot policy
Pouring (novel skill)
Human demoRobot policy
Brushing (novel skill)
Human demoRobot policy
Box Convey (bimanual)
Human demoRobot policy
PnP Ball in Cup (bimanual)
Human demoRobot policy

Left: one of the human videos the policy learned from. Right: the trained policy on the robot.

Analysis

Visual gap

Human video
human
EgoMimic
egomimic
Masquerade
masquerade
RoboTryOn
robotryon
Real robot
real
UMAP of policy visual features
HumanEgoMimic MasqueradeOurs Real robot

In the policy’s SigLIP feature space, RoboTryOn’s synthesized frames overlap real robot frames, while raw, masked, and overlaid human videos form separate clusters (Fréchet SigLIP distance 125.5 → 32.7). So, unlike EgoMimic and Masquerade, which must mask or overlay every camera frame during rollouts, RoboTryOn needs no post-processing at test time.

Action gap

Retargeting maps the reconstructed human hand onto the robot. RoboTryOn instead labels the synthesized robot video with an inverse dynamics model (IDM).

1Are the labels executable? (open-loop replay in simulation)
Real → sim
Human
Retargeting
w/o wrist corr.
Ours
real/sim
PnP Box
human
retarget✗
idm✓
ours✓
real/sim
PnP Ball
human
retarget✗
idm✗
ours✓
(a) Real to sim
(b) Grasp moment
0255075100Replay success (%)Retargeting: 34.834.8Retarget.Ours w/o wrist corr.: 63.663.6Ours w/owrist corr.Ours: 69.769.7Ours
(c) Replay success, 66 episodes

2× more replays succeed. Retargeted hands reach the object but fail to grasp it; the IDM reads the grasp off the generated robot hand.

2Do the labels look like teleoperated actions?
TeleoperationOurs (IDM labels)Retargeting
0.511.5Thumb rotation (rad)DensityTeleoperationRetargetingOurs (IDM labels)
00.511.5Finger flexion (rad)DensityTeleoperationRetargetingOurs (IDM labels)
Right-hand actions over all tasks

IDM labels match the teleoperated distribution; retargeted hand actions do not.

3Do they agree with teleoperated data during training?
OursMasqueradeEgoMimic
00.250.50.75Gradient cosineOurs: 0.530.53Masquerade: 0.170.17EgoMimic: 0.140.14All paramsOurs: 0.510.51Masquerade: -0.03-0.03EgoMimic: -0.05-0.05Action expert
(a) Gradient cosine with teleoperated data
050100Close to teleop. (%)In-domainOut-of-domainOursOurs: 67.2%Ours: 54.9%6755MasqueradeMasquerade: 40.0%Masquerade: 7.7%408EgoMimicEgoMimic: 36.6%EgoMimic: 10.0%3710
(b) Hand actions within the teleoperated range in robot rollouts

Our data yields policy gradients aligned with those of teleoperated data (cosine 0.53 vs. ≤0.17), and the policy trained on our data stays in the teleoperated action range on new tasks (55% vs. ≤10%). Both baselines use retargeted actions.

BibTeX

@article{lee2026robotryon,
  title   = {Synthesizing Dexterous Robot Demonstrations from Human Videos via Virtual Try-On},
  author  = {Lee, Seungyong and Jang, Suhyeok and Kim, Minyoung and Shin, Jinwoo},
  journal = {arXiv preprint arXiv:2611.05163},
  year    = {2026}
}