| Retarget | TCP=엄지·(검지,중지)끝 중점, 폭=끝 거리−1.2cm | approach(palm→TCP) 우선, closing축은 tip/proximal 블렌딩, 25° 이상 회전 outlier 재보간, rot SG 창 15 → 회전변화 p99 22.9→~10°/frame |
| Table frame | depth RANSAC+SVD | up-hint = 카메라 −y/−z 이등분선 (subject2 가파른 시선 15/43 실패 버그 수정) |
| Placement + IK | mink 1.3 + daqp, 양팔 충돌·테이블 회피 | 프레임당 관절 스텝 박스 0.12 rad (4 rad/s 초과 프레임 72→2), 브랜치 점프=실패 |
| Segment | SAM 3 ("hand","arm") + GT 키포인트 클릭 | 21.6 GiB / 450 frames, 관절 recall ≥0.97(depth 확인) |
| Inpaint | ProPainter in-memory API | 640×360 fp16, 45 s / 450 frames, <128px NaN 버그 차단 |
| Render/Composite | MuJoCo EGL, OpenCV intrinsics | 2× supersample alpha/depth/arm-id, scene depth+3cm 가림 |
| Curation | L1/L2 + L3 Qwen3-VL-8B | IK fail>10%, 충돌, 관절 점프>8 rad/s, TCP 점프, robust z-score, VLM score≥3 & 사람 미노출 |
| Export | lerobot 0.3.3 (v2.1) → 공식 변환기 (v3.0) | state/action 14-D joint (action=state[t+1]), aux: eef_cam(rot6d), eef_cam_quat(xyzw), base/cam poses, 사람 키포인트 |