restore_target으로 바뀜.visible_at_start(평가 시작 프레임에 보이는가) 정식 라벨이 붙었다 — 가시성 ablation의 pseudo-label을 대체.| 파일 | 변경 | 내용 |
|---|---|---|
contexts/type1/<ep>/videos/{exo_camera_1,exo_camera_2,wrist_camera}.mp4 | 47편 재렌더 | 옮겨진 물체(또는 그 물체의 옛 자리)가 보이는 프레임만 시뮬레이터 상태에서 다시 그림. exo 카메라 기준 편당 프레임의 중앙 76%(30–97%)가 교체 대상이었음(로봇이 보는 대부분의 프레임에 해당 물체가 걸리기 때문). 전체 파일이 재인코딩되어 나머지 프레임도 픽셀값이 미세하게 다름(평균 |Δ|≈1). |
traj.h5, states/final.npz | 47편 | 옮겨진 물체의 새 포즈. 스텝 수·fps·프레임 수는 v1과 동일(steps_emitted = n_steps − 2도 그대로). final.npz에서 포즈가 바뀐 물체 집합 = 옮겨진 물체 164개와 47/47편 정확히 일치(직접 검증). |
meta.json | 47편, schema 1.0 → 1.1 | relocated[](물체·이동 프레임·xyz·tracked_in_v1), rerender, derived_from 추가. |
subtasks.json | 불변(47편 바이트 동일) | 로봇의 행동 기록은 그대로. 옮김은 로봇이 한 일이 아니므로 여기 없음 → textlog 오라클은 이 변화를 모른다. |
eval/restore/queries.jsonl | 322 → 518행 | 기존 322 = kind: restore_target(문장·정답 동일, id 38개 재번호) + 신규 196 = kind: restore_distractor. |
eval/find/queries.jsonl | 589 → 590행 | 내용 일치 525 · 추가 65 · 삭제 64 · GT 변경 1. 답 필드 visible_at_start·visible_px_at_start 추가. |
eval/resume/* | 불변 | type2 12편, 48+96행 그대로. |
| 나머지 53편 | 불변 | v1과 바이트 동일(하드링크). v1 전체는 revision="v1" 태그로 계속 받을 수 있음. |
relocation_json_47eps.tgz와 허브 sha 변경 47편이 정확히 일치.편별 relocation.json(schema 1.1)에 선정 규칙과 후보별 판정 이유가 전부 적혀 있다. 요지:
single_cap 4), 두 번 이동 물체는 캡 없음.two_move).restaged_start): 164개 중 95개는 장면의 원래 자리(A_original) 대신 우리가 고른 자리에서 시작한다(원래 자리가 카메라에 안 걸리거나 놓기(place)가 불가능해서). 이 경우 "처음 있던 자리"의 정답은 그 배치된 시작 자리다.lowered_to_visual_contact_mm, 21건, 중앙 27 mm). 마지막 자리는 로봇이 집을 수 있어야(reach + plan_pick), 처음 자리는 놓을 수 있어야(plan_place) 질의 자격.no_chain 154(목격 연쇄를 못 만듦) · first_not_placeable 96(처음 자리에 놓기 불가) · single_cap 45. 렌더된 164개 중 질의 자격(pick/place 게이트)을 통과한 물체는 83개 → 행 196(first 139 + previous 57). 나머지 81개는 질의는 없지만 영상에서는 옮겨져 있다(순수 방해자).목격이 시작되는 프레임에서 1초 뒤(+25프레임)를 두 버전에서 같은 카메라로 뽑았다. 로봇 팔·배경은 동일하고, 옮겨진 물체만 오른쪽에 나타나거나 자리가 다르다.
원래 자리 countertop(방 6) → 시작을 dining table(방 6)에 배치 → f2795에 chair(방 6)로 → f5085에 dining table(방 4)로. 질의: first = 방 6 dining table, previous = 방 6 chair.









미디어 11쌍 전체: 260906-v11_dataset_explainer_media/. 추출 스크립트 tmp/hf_check/explainer_v11_data.py.
문장과 채점은 restore_target과 완전히 같다. 다른 것은 "누가 옮겼나"뿐이다.
| query_id | origin | 지금 자리(from) | 정답 자리(to) | n_hops | moved_frames | tags | d_xy |
|---|---|---|---|---|---|---|---|
| restore:train_1299__2:q02 | first | 방 4 dining table (f5085 정착) | 방 6 dining table (origin_frames 0–2794) | 2 | [2795, 5085] | moved_distractor, restaged_start | 4.8 m |
| restore:train_1299__2:q03 | previous | 방 4 dining table | 방 6 chair (origin_frames 2795–5084) | 2 | [2795, 5085] | moved_distractor, restaged_start | 4.0 m |
| restore:train_1299__2:q04 | first | 방 4 chair (f5105 정착) | 방 6 dining table (0–2704) | 2 | [2705, 5105] | moved_distractor | 4.5 m |
| restore:train_1299__2:q05 | previous | 방 4 chair | 방 4 chair(옆 의자) (2705–5104) | 2 | [2705, 5105] | moved_distractor | 1.2 m |
| 필드 | 뜻 |
|---|---|
kind | restore_target(로봇이 옮긴 것, 322) / restore_distractor(남이 옮긴 것, 196) |
answers[].misplaced | moved_by_other(196) — 옮긴 주체가 로봇이 아님 |
answers[].tags | moved_distractor(196) + restaged_start(113행: 시작 자리도 우리가 배치) |
answers[].moved_frames | 물체가 점프한 프레임 목록. from.settled_frame은 마지막 점프 |
answers[].n_hops | 옮겨진 횟수(README도 이번에 정정: 방 수가 아님). 2 = 두 번 목격 후 처음/직전 구분이 필요한 행(109), 1 = 한 번 옮겨진 행(87) |
answers[].seen_s_at_final | 마지막 자리를 카메라로 본 시간(초) |
answers[].to.origin_frames, other_origins | 정답 자리에 있던 프레임 구간 · 그 외 거쳐 간 자리 좌표(미끼) |
answers[].from.visible_at_start | 평가 시작 프레임에 지금 자리가 보이는가(196행 중 40 True) — 보이면 "어디서 집을지"는 지각으로 풀리고, 되돌릴 곳은 여전히 기억 |
twin_nearby 전부 False, 후보 1), 같은 물체를 find가 묻지 않으므로 find와 독립이다(shares_answer_with 빈 값).| bcaf2815 | 609076c0 | |
|---|---|---|
| 행 | 589 (target 294 / distractor 295) | 590 (301 / 289) |
| multi | 54 | 91 |
| 내용 일치 | 525행(그중 query_id 재번호 18) · 삭제 64 · 추가 65 · GT 변경 1(train_8077__2 bowls 2→3) | |
| misplaced | no / wrong_surface / on_floor / not_moved 10 | not_moved 폐기 — 집으려다 실패해 제자리인 물체는 어느 kind로도 정직하지 않아 무질의 |
| 답 필드 | — | visible_at_start(685답 중 160 True: target 101 / distractor 59) · visible_px_at_start(≥50 160 · ≥200 122 · ≥500 82) |
같은 클래스 인스턴스가 여럿이면 하나만 묻던 것을 전부 묻는 형태로 바꿨다(어느 인스턴스든 정답 인정 → 전부 집기). 그래서 find multi 91행은 전부 같은 클래스 묶음이고, restore multi(74/79가 서로 다른 물체)와는 성격이 다르다 — 사용자 결정: 그대로 쓴다(twin-set).
로봇이 옮겼다가 다시 제자리에 놓은 물체는 마지막 위치가 시작 위치와 같다. 지시문("dresser에 놓아라")만 외운 에이전트는 틀리고, 두 번째 이동을 본 에이전트만 맞는다 — target에 포함됨(misplaced: no, 이력은 subtasks.json의 settled_xyz로 확인).
qNN은 편 안의 순번이라 행이 추가·삭제되면 다른 질의에 재배정된다(find 18 · restore 38). 결과를 옮길 때는 (가족, 편, 질의문)으로 매칭해야 한다 — 우리 델타 도구가 이미 그렇게 한다.| 가족 | Direct ① 내가 한 것 | Direct ② 보기만 한 것 | Direct ③ hidden | Stateful ① (①의 multi) | Stateful ② (②의 multi) |
|---|---|---|---|---|---|
| Find | find_target single 265 | find_distractor single 234 | hidden 답 포함 68 (①②S와 겹침 → 본표 제외, 여기서만 셈) | find_target multi 36 (twin-set) | find_distractor multi 55 (twin-set) |
| Restore | restore_target single 243 | restore_distractor single 196 ← 이번 추가 | from hidden 56 (①S 안) | restore_target multi 79 | 0 |
merged_multi 34), 이 fold가 restore_target에만 돌았다. 재료는 충분하다: distractor 행이 2개 이상인 편 45/47, first-origin 2개 이상인 편 42. 데이터팀에 같은 fold를 distractor에도 돌려 달라고 요청하면 렌더 없이 ≈40행이 생기고, 우리는 47편 메모리를 재사용해 읽기만 하면 된다(≈$10).visible_at_start)로 다시 뽑을 수 있다(pseudo-label 표 교체).| 모델 | 상태 | 실비 |
|---|---|---|
| qwen3vl-8b · molmo2-8b · cosmos-r2-8b (자체 서빙) | 완료·병합(각 2h10m / 2h37m / 5h24m) | $0 |
| gemini-3.7-flash | 완료·병합(3h45m) | $59.80 |
| gpt-5.6-luna · claude-sonnet-5 (7전략, restore 전용) | 완료·병합(3h09m / 4h32m, 선점 1회 후 재개) — 캠페인 종료, 결과 리포트 260906-restore_v11_grid.html | $5.74 + $74.13 |
| gemini-3.6-flash | 보류(사용자 결정 9/6) — 필요할 때 tmp/v11/submit.sh로 재제출 | (≈$88 절감) |
병합은 restore 전용(merge_v11.py, 모델마다 전략당 518행 검산; D1 잡이 함께 잰 find 행은 find_v11_rows로 보관만). 격자 표: restore = python tmp/hf_check/grid_v1final.py v11 restore, find = grid_v1final.py delta nohidden(v1.0 그대로).
~/datasets/scene-mem-benchmark-v1_609076c0/ — eval 전체 + 47편 실물(22.6 GB) + 53편은 e987b40f로 symlink. 옛 릴리즈 bcaf2815(restore 322)·e987b40f(find 589)는 그대로 있음.meta.relocated로 확인.원천: tmp/reloc47/relocation_json/(사용자 tgz), tmp/hf_check/{inspect_latest,match_609076c0,explainer_v11_data}.py, tmp/reloc47/{eval_match,explainer_data}.json. 분석 로그 claude/260905/analysis-v11_release_delta.md, 앞선 리포트 260905-v11_release_delta.html.