[ICRA 2026] VITRA : Scalable Vision-Language-Action Model Pretraining for Robotic Manipulation with Real-Life Human Activity Videos

안녕하세요, 이번주 X-review는 unscripted real-life human video를 VLA pretraining 데이터로 바꾸는 연구를 리뷰해보려고 합니다. 지난 ActiveMimic 리뷰에 이어 egocentric human video를 로봇 학습으로 끌어오는 결의 연구인데, ActiveMimic이 camera motion을 active perception action으로 살리는 방향이었다면 이번 연구는 가공되지 않은 일상 비디오를 대규모 dexterous hand VLA 데이터로 자동 변환하는 파이프라인 자체를 제안한 연구입니다. 리뷰 시작하도록 하겠습니다

Introduction

대규모 generic data로 pretraining하는 것은 모델이 commonsense knowledge를 얻고 domain generalization을 달성하는 핵심입니다. LLM과 VLM의 pretraining은 이미 큰 성공을 거두었지만, 저자들은 dexterous hand manipulation을 위한 VLA pretraining이 여전히 거의 탐구되지 않았다고 짚습니다. 기존 robotic manipulation VLA 데이터는 대부분 lab 환경에서 human teleoperation으로 수집되는데, 높은 수집 비용 때문에 데이터의 규모뿐 아니라 skill, object category, scene variation의 다양성까지 제한된다고 합니다. 그 결과 현재의 VLA 데이터는 internet-scale의 language/VL 데이터에 양과 다양성 모두에서 한참 뒤처지고, 특히 dexterous robot hand를 위한 데이터는 pretraining에 쓸 만한 대규모 데이터셋이 존재하지 않는다고 합니다.

반면 웹에는 일상적 행동과 다양한 환경과의 물리적 상호작용이 담긴 real-life human video가 엄청나게 많습니다. 문제는 이 영상들이 unstructured하다는 점인데, 잘 세팅된 채로 찍혀 있지 않으며 길이와 task granularity가 제각각이고 의미 없는 동작이 섞여 있을 뿐 만 아니라 language instruction과 3D action label이 없습니다. 저자들은 human video를 로봇 학습에 활용하려는 시도는 많았지만 어떤 annotation도 없는 대규모 unstructured 영상을 VLA pretraining에 직접 활용한 연구는 없었다고 문제를 정의하면서 in the wild 영상을 기존 robotic VLA 데이터와 완전히 정렬된 형식으로 바꿀 수 있는가에 대한 연구를 진행했다고 합니다.

저자들은 사람의 손을 로봇의 end-effector로 간주하고 real robot VLA 데이터와 두 종류의 alignment를 달성하는 방향으로 진행합니다. 첫째는 task alignment로, atomic-level의 human action sequence를 의미 있게 분할하고 필터링해 기존 robot data의 short-horizon task 단위에 맞추는 것입니다. 둘째는 label alignment로, dense action label을 위해 metric-space 3D hand motion을 가능한 한 정확하게 복원하고 정확한 language instruction label을 붙이는 것입니다. 이 때 pretraining 단계에서는 어느 정도의 noise와 불완전함이 허용된다고 본다고 합니다. 목적이 정밀한 재현이 아니라 common knowledge를 잡고 다양한 skill의 motion pattern을 배우며 폭넓은 object/scene variation을 경험하는 것이기 때문이라고 합니다.

저자들은 해당 연구를 통해 in the wild 비디오를 robotic VLA 데이터로 변환하는 파이프라인과 해당 파이프라인을 통해 제작한 오픈소스 데이터, 마지막으로 Dextrous VLA 모델을 제안하였습니다.

Related Works

다양한 language-instructed task를 수행하는 VLA 모델은 대규모 데이터로 pretraining이 필요하고, 최근의 action pretraining VLA 모델들은 20여 종 이상의 로봇에서 수집된 1M개 이상의 trajectory를 담은 Open X-Embodiment(OXE)와 같은 데이터를 주로 활용했다고 합니다. 시뮬레이터에서 VLA 데이터를 합성한 연구도 있었지만 grasping만 다루었고, human/robot 영상에서 latent action을 학습해 action의 proxy로 삼는 계열, future frame을 prediction target으로 삼는 연구들도 있다고 합니다. 특히 저자들은 자신들과 비슷한 시기에 egocentric human video의 3D hand action label을 VLA pretraining에 쓰는 Being-H0, EgoVLA, H-RDT와 비교했습니다. 해당 연구들은 주로 controlled environment에서 privileged information과 함께 촬영된 영상을 쓰는데, task가 깔끔하게 분할되어 있고 3D hand motion도 RGBD sensor나 VR/AR headset 같은 센서를 통해 얻는다고 합니다. 저자들은 자신들의 목표가 가공되지 않은 real-life video를 활용하는 것이며 그 덕분에 훨씬 넓은 task/object/environment를 포괄해 zero-shot 성능과 scalability에서 유리하다고 합니다.

Methods

기존 robotic manipulation VLA 데이터는 보통 “pick up the sponge on table”처럼 단순하고 짧은 short-horizon task로 구성되고, 이런 task들은 high-level planner를 통해 long-horizon task로 조합됩니다. 각 episode는 language instruction, video frame sequence, 그리고 robot 또는 camera 좌표계에서 정의된 frame-aligned 3D action chunk로 이루어집니다. 저자들의 접근은 unscripted human video를 분석해 두 손을 end-effector로 간주하여 같은 형식의 VLA 데이터를 생성하는 것이고 전체는 세 단계로 구성됩니다.

위 Figure 2를 보면 3D motion labeling에서 FoV estimation과 undistortion을 거친 영상으로 video hand reconstruction과 camera pose estimation을 수행해 camera-frame hand trajectory와 camera pose를 얻고 이를 결합해 world-frame 3D hand를 복원합니다. 이후 atomic action segmentation에서는 wrist speed minima를 검출해 그 지점을 기준으로 영상을 action segment로 분할합니다. 마지막으로 instruction labeling에서는 분할된 clip을 frame sub-sampling하고 그 위에 3D hand trajectory를 overlay한 뒤 GPT에게 프롬프트를 주어 linguistic label을 생성합니다.

3D Motion Labeling

첫 단계는 영상에서 두 손과 카메라의 3D motion을 뽑아내는 과정입니다. 저자들은 먼저 background optical flow로 카메라가 static인지 moving인지 판별하고, camera intrinsic을 추정하는데 moving camera에는 DroidCalib을, static camera에는 MoGe-2와 DeepCalib을 적용하며 distortion이 큰 영상은 pinhole model에 맞도록 undistortion합니다. 이어 video hand reconstruction은 HaWoR로 frame별 camera-space 3D hand를 복원하는데, 각 hand는 MANO model로 표현된 wrist 6D pose와 joint angle을 담습니다. 흥미로운 디테일로 저자들은 HaWoR의 hand motion infiller module을 제거하는데, in-the-wild 영상에서는 그 interpolation 결과가 덜 신뢰할 만하기 때문이라고 합니다. Moving camera의 pose tracking에는 MegaSAM을 사용하고, visual SLAM에 depth prior를 제공하던 depth model은 MoGe-2로 사용한다고 합니다. DepthAnything이나 UniDepth 대신 MoGe-2 출력을 직접 쓰는 것이 더 정확하고 안정적이었다고 합니다.

이렇게 얻은 camera-space 3D hand와 metric-scale camera pose를 결합하면 world-space 3D hand sequence가 나오고, spline smoothing과 outlier 제거를 거칩니다. 이 world-space sequence의 큰 장점은 임의의 video frame의 camera space로 손쉽게 변환할 수 있어 대부분의 robot data처럼 static camera를 효과적으로 시뮬레이션할 수 있다는 점이며, 이 표현이 이후 segmentation과 instruction labeling을 거칩니다. 효율을 위해 긴 영상은 20초짜리 overlapping clip으로 잘라 처리한 뒤 재조합합니다.

Atomic Action Segmentation

이 단계의 목표는 긴 영상에서 robotic VLA 데이터의 granularity와 time window에 맞는 단순한 atomic-level action sequence를 잘라내는 것입니다. 저자들은 신뢰할 만한 off-the-shelf model이 없기 때문에 실제 일상에서 사람 손동작이 가지는 자연스러운 beats(리듬? 습관 정도로 생각하면 될 것 같습니다)에서 착안했다고 합니다. 동작이 전환될 때 손은 보통 속도 변화를 보이고 그 minima가 종종 전환점을 나타낸다는 논리로 나누었습니다. 그래서 world space에서 3D hand wrist의 speed minima를 검출해 cutting point로 삼는 간단하지만 효과적인 알고리즘을 설계했다고 합니다. reconstruction noise로 인한 잘못된 극값을 줄이기 위해 Gaussian filter로 trajectory를 smoothing하고, 검출된 minimum이 그 점을 중심으로 한 0.5초 window 안에서 가장 작은 값이 되도록 했다고 합니다. segmentation은 왼손과 오른손에 대해 독립적으로 적용하며 다른 손의 motion은 무시해, 각 segment가 적어도 한 손의 single atomic action을 담게 합니다. 저자들은 이 방법이 추가적인 model inference나 미리 만들어 둔 text label을 전혀 요구하지 않아 scalable하다고 하빈다. 하지만 wiping처럼 손이 앞뒤로 오가는 동작에서는 over segmentation이 생길 수 있고, 이는 이후 instruction labeling 할 때 merge한다고 합니다.

Instruction Labeling

video segment와 3D hand action sequence가 주어지면 저자들은 GPT-4.1로 action captioning을 수행했다고 합니다. 각 segment에서 8개 frame을 균등 sampling하고, 각 frame 위에 현재 frame부터 clip 끝까지의 hand palm의 world-space 경로를 projection해 강조하는데 시간 진행을 나타내기 위해 색이 blue에서 green을 거쳐 red로 표현했다고 합니다. 이 frame들을 GPT에 입력해 frame 내용과 overlay된 trajectory를 함께 고려하여 지정된 손의 동작을 imperative form으로 묘사하게 하고, 의미 있는 동작이 없으면 “N/A”로 label하게 했다고 합니다. 저자들은 atomic-level clip을 주어 captioning하는 것이 accuracy를 높이고, 1초 같은 fixed-length로 자르면 한 segment에 여러 atomic action이 담겨 accuracy가 떨어진다고 합니다. Image에 trajectory를 overlay하는 것도 중요한데 visual marker를 보조 프롬프트로 쓴 set-of-mark prompting이 주는 영향이 있다고 합니다. caption을 얻은 뒤에는 원래 의미를 유지한 채 다섯 가지 버전으로 rephrase해 language 다양성을 늘렸다고 합니다. 아래 예시를 보는게 가장 이해가 빠를 것 같습니다.

Dextrous Hand VLA

모델은 VLM backbone과 diffusion action expert로 구성됩니다. VLM으로는 PaliGemma-2를 쓰는데 SigLIP vision encoder와 linear projection, Gemma-2 language model이고 3B 크기입니다. 저자들은 camera FoV 토큰을 추가했는데, SigLIP이 고정된 1:1 aspect ratio로 image를 처리하기 때문에 FoV 단서가 없으면 ambiguity가 생기기 때문에 추가했다고 합니다. 또 학습 가능한 “cognition” token을 붙여 action expert의 condition 역할을 하게 했다고 합니다. Action expert는 DiT를 사용했고 input으로 cognition feature f_c, hand state s_t, noisy action chunk를 concat하고 cognition feature를 AdaLN으로 주입해 conditioning 해줬다고 합니다.

모델은 현재 observation o_t의 camera coordinate frame에서 hand action을 예측합니다. time step t에서 hand action a_t는 왼손과 오른손 각각의 relative wrist translation, relative wrist rotation, MANO keypoint(15차원)을 사용한다고 합니다.

Pretraining data는 single-hand 단위이고 그렇기 때문에 VLM이 항상 “Left hand: . Right hand: .” 형식으로 instruction을 받게 했다고 합니다. 특정 frame에 대해 각 손의 description은 None이거나 그 frame이 속한 atomic action chunk의 instruction이 됩니다. action expert는 항상 두 손 모두의 noisy action을 받고, 한쪽 손에만 label이 있는 episode를 위해 hand action과 같은 차원의 action mask(0 또는 1)를 noisy action에 concat합니다. mask가 0이면 해당 noisy action을 0으로 설정하고 loss에서 제외합니다. 이렇게 single-hand와 dual-hand 데이터를 하나의 구조에서 함께 학습했다고 합니다.

Pretraining and Finetuning

저자들은 먼저 구축한 데이터로 human hand action prediction을 학습합니다. generalization을 위해 trajectory-aware augmentation을 적용하는데, input image를 random crop하고 FoV/aspect ratio/crop center를 다양하게 바꿔 perspective-warp하되 principal point는 중심에 유지하고 action sequence를 그에 맞게 변환했다고 합니다. Random crop시 현재 frame부터 episode 끝까지의 projected hand trajectory가 cropped image 안에 남도록 보장하며, 이렇게 하면 interaction object도 대부분 포함됐다고 합니다.

Pretraining 이후 robot data로 fine-tuning 해줍니다. 저자들은 human hand action space가 robot hand의 superset이라고 보고 robot의 action space를 human 표현에 정렬했다고 합니다. Camera 좌표계에서의 robot end-effector 6D pose로 Δt와 Δr을 계산하고, joint angle은 robot hand의 각 joint를 topology상 가장 가까운 human joint에 mapping해 그 dimension의 joint 값을 fine-tuning에 쓰며 mapping되지 않은 dimension은 action mask에서 zero-padding했다고 합니다. 추가로 저자들은 recorded robot state에서 유도한 label이 아니라 hand joint에 대한 직접적인 supervising을 하는데, 이 방식이 hand-object interaction 동안 더 그럴듯한 motion을 만든다고 합니다. 저자들은 teleoperation처럼 직접적인 pose transfer를 하지 않으며 fine-tuning이 action space 차이를 완화했다고 합니다.

Experiments

Dataset Analysis

먼저 데이터셋의 visual적인 다양성에 대한 실험입니다. 저자들은 매우 다양한 것으로 알려진(그렇다고 합니다) OpenImages를 reference로 삼아, 8K개 query image를 DINOv2로 feature를 뽑고 각 query에 대해 데이터셋(target은 각 episode 첫 frame)과의 max cosine similarity를 계산해 그 평균을 메트릭으로 사용했습니다.

위 Figure 4를 보면 저자들의 데이터셋이 더 높은 similarity로 더 큰 다양성과 넓은 coverage를 가지며, 1만개 episode로 다른 데이터셋 전체를 능가한다는 점, 그리고 similarity가 더 가파른 기울기로 증가해 OXE의 fragmented한 분포와 달리 real-world scene을 더 uniform하게 포괄한다는 점을 볼 수 있습니다. In the wild 세팅의 장점이라고 볼 수 있을 것 같습니다.

아래 Figure 5는 각각 명사, 동사, 형용사에 대해 word 수와 출현 빈도에 대한 실험입니다. Language instruction 자체의 다양성이라고 보시면 될 것 같습니다. 저자들의 데이터셋이 기존 human/robot 데이터셋보다 높은 다양성을 보이고 h-index와 i100-index또한 더 높은 값을 가진다고 합니다.

Human Hand Action Prediction

저자들은 unseen real-life environment에서 두 task로 benchmark를 구성했습니다. 첫째 Grasping은 Azure Kinect로 47개 unseen environment에서 RGB-D를 촬영하고 object에 caption과 segmented 3D point cloud를 annotation한 뒤, single action chunk로 grasping하기 적당한 거리에 synthetic hand를 rendering합니다. 지표는 예측 finger trajectory와 target object point 사이의 distance이며 낮을수록 좋습니다. Action Chunk대로 움직인 결과가 얼마나 target object에 근접했는지를 보는 것입니다.

둘째 General Action은 정량 지표가 부족해 mobile phone으로 촬영한 117개 unseen environment에서 user study를 설계했다고 합니다. 예측된 hand action을 frame에 rendering하고 23명에게 30개 scene의 top-3 action을 ranking하게 해 1~3위에 3, 2, 1점을 주고 평균으로 평가했다고 합니다.

Concurrent Work인 being h0과 Ablation들을 보면 20cm를 기준으로 출발했을 때 저자들의 방법론이 하나의 chunk를 실행했을 때 가장 가까이 간 것을 볼 수 있습니다. 여기서 Being-H0을 언급하는데, 비슷한 시기의 비슷한 방법론이지만, lab 데이터의 비중이 많기 때문에 in the wild 상황에서는 잘 작동하지 않는다는게 핵심인 것 같습니다. 아래 EgoDex만을 활용한 Lab data의 성능도 비슷합니다. 또 ablation을 보면 visual augmentation과 action denoising시의 causal attention도 효과가 있는 것을 볼 수 있습니다.

Real-World Robot Dextrous Manipulation

현실에서의 실험은 Figure 8 처럼12-DoF XHand dexterous hand와 RealSense head camera를 장착한 Realman 로봇으로 tabletop 환경에서 실행했다고 합니다 (b)는 fine-tuning을 위한 XHand와 MANO의 joint mapping으로 같은 index가 대응 관계, 흰색이 대응 joint가 없는 경우를 볼 수 있습니다. (c)는 robot data 수집용 teleoperation 하드웨어로 Realman arm과 동일 topology의 두 teleoperation arm으로 팔을 제어하고 MANUS glove가 hand joint angle을 제어했다고 합니다.

저자들은 네가지 task에 대해 1200개의 데이터를 수집해서 진행했다고 합니다. General pick & place는 3~4개 distractor 속에서 object를 box로 옮기는 task, Functional grasping은 손잡이처럼 기능적 위치에서 잡는 task, Pouring은 병을 집어 붓고 다시 내려놓는 task, Sweeping은 빗자루로 쓰레기를 쓸어 담고 되돌려놓는 task입니다. 평가는 seen과 unseen 모두에서 수행했습니다. Seen은 아래 figure 9처럼 fine-tuning 때 본 object/background에 위치와 distractor를 무작위화한 설정이고, unseen Objects는 object는 새롭지만 같은 category를 fine-tuning에서 본 경우, unseen Categories는 한 번도 접하지 못한 category입니다.

아래 Table3은 seen task, Table4 는 unseen task에 대한 결과입니다. 베이스라인은 VPP와 pi 0, pretraining data와 action representation을 바꾼 세팅과 ours를 비교했습니다. 모든 baseline은 공정성을 위해 동일 robot data로 fine-tuning 했다고 합니다. VPP는 video generation pretraining의 implicit supervision이 실제 manipulation으로 잘 전이되지 않아 instruction following과 unseen object recognition에서 뒤처지고, pi 0는 지식이 주로 gripper 기반 로봇을 겨냥해 dexterous hand로 효과적으로 전이되지 않는다고 합니다. 저자들의 모델은 unseen object와 환경 변화, unseen category에까지 robust한 generalization을 보였다고 합니다.

Author: 김 영규

2 thoughts on “[ICRA 2026] VITRA : Scalable Vision-Language-Action Model Pretraining for Robotic Manipulation with Real-Life Human Activity Videos

  1. 영규님 좋은 리뷰 감사합니다.

    해당 방식이 in the wild 영상을 로봇 데이터로 자동으로 가공하는 파이프라인을 제안하였다고 하셨는데,
    대상이 되는 영상이 ego-view 데이터로 한정되는 것이 아닐 지 궁금합니다. 저자들이 ego-view와 exocentric view로 구분하여 따로 실험하지는 않았는 지 궁금합니다.

    그리고 결국 데이터 scalining이 가능하도록 하기 위한 연구로 이해하였는데, 기본적으로 어떤 데이터 셋을 기반으로 수행된 것인 지 궁금합니다.

  2. 안녕하세요 영규님 좋은 리뷰 감사합니다.

    읽으면서 몇가지 질문이 생겨 질문 남깁니다!

    1) 3D Motion Labeling 단계와 Atomic Action Segmentation 단계에서는 hand wrist 기준으로 motion을 라벨링하고, action을 나눈 것 같은데 Instruction Labeling에서는 왜 palm으로 나눈지 저자들의 의도가 궁금합니다. TCP 관점으로 이해하면 될까요?

    2) MANO hand model을 사용한다고 하였는데 MANO hand model은 finger joint 값을 joint angle로 사용하는게 아니라 rotation vector 값으로 내보내는 것으로 알고있습니다. 이를 바로 로봇 손의 joint angle과 비교하기 위해서는 후처리가 필요할 것 같은데 논문에서는 언급된게 있나요?

    감사합니다!

Leave a Reply