Index
2026-09-25 — Progress

벤치 집 평면도 렌더링 — 논문용 228채 전량

scene_bench | 논문 데이터셋 섹션/부록용 figure 생성

TL;DR

228/228
렌더 성공
12분49초
도식형 렌더 시간
0
로그 에러

1 배경 / 목적

논문에 벤치 데이터셋의 집(ProcTHOR) 평면도가 필요했다. 기존에 있던 그림은 cand/*.png와 overleaf-codex-edits/figures/house_val640_floorplan.png뿐이었는데, 전자는 원근 탑다운 + 항공사진 skybox 배경이라 논문용 도식으로 쓰기 어려웠다.

기존 한계: 원근 탑다운 렌더만 존재해 방 구조·가구 배치를 한눈에 보여주는 도식형 평면도가 없었다.

2 작업 내용

두 가지 렌더러를 만들었다.

scripts/plot_floorplan.py — 도식형: 방 색 틴트 + 가구 회색 실루엣 가구는 에셋의 <house>_map.png(200px/m 점유 지도) 사용 map은 카드 좌표와 축 교환·양축 반전(col↔zmax-z, row↔xmax-x) 원점은 IoU 격자 탐색으로 결정(7845집 IoU .838, 2159집 .860) scripts/render_floorplan_topdown.py — 컬러 실물 렌더(사용자 선택) MuJoCo 직교 탑다운, skybox→흰색(MjSpec), 그림자 끔 벽선·문 틈·방 이름/면적(자유공간 거리변환으로 배치)·2m 스케일 바 MuJoCo 좌표 = scene card 좌표 확인(침대 pos 일치)
문 위치 함정: 문 구멍 x좌표는 벽 polygon[0]→[1] 방향 거리다. wall id 좌표 순서로 잡으면 문이 반대편 끝으로 간다(7845집 욕실 문에서 발견, map.png 대조로 확정).

집 목록 tmp/floorplan/bench_houses.json은 final_results 4가족 dataset 질의에서 추출(find 84 · restore 84 · resume 100 · routine 59, 합집합 228). sbatch 155313(1 GPU, 샤드 4, run_floorplan_render_worker.sh)로 도식형 렌더, 12분 49초.

업데이트 — cand 스타일(원근·원래 skybox) + 로봇, 228채 전량

사용자가 실제로 원한 것은 cand/*.png 스타일이었다. 생성 스크립트는 어느 저장소·원격(yj1/3/4, h121/139)에도 남아있지 않아 render_cand()로 재현했고, val_640 원본과 나란히 비교해 사실상 동일함(로봇·미세 줌 차이만)을 확인했다.

--robot 옵션: franka_droid + 0.5×0.5×0.58m DarkWood2 받침대(teaser 구성), 팔 home 로봇 자리 = map.png 자유 공간에서 가구·벽 최대 거리점(예시 배치, 실제 에피소드 시작 자세 아님) yaw는 집 중심 방향
벽 높이 함정: 집마다 벽 높이가 다르다(예: train_7845는 4.12m). 카메라 높이를 2.8m로 고정하면 벽 윗면이 잘린다 → house json의 walls polygon y 최댓값으로 카메라 높이를 계산하도록 수정.

3 결과

렌더sbatch소요 시간결과
도식형(방 색 틴트)155313 (1 GPU, 4샤드)12분 49초228/228, 로그 에러 0
cand 스타일 + 로봇1556477분 13초228장, traceback 0
cand 스타일(로봇 없음)1556482분 53초228장, traceback 0

출력: tmp/floorplan/topdown/{labeled/<house>.pdf|png, raw/<house>.png|json}, output/floorplans/{cand_robot,cand}/<house>.png(각 228장). raw json에는 extent·px_per_m이 있어 궤적·물체 오버레이가 가능하다.

검증: 무작위 8장 육안 확인 결과 벽 윗면 잘림 없음. tmp/floorplan/topdown/cand/는 벽 높이 수정 전 산출물(구판)이라 사용 금지 표시해 둠.

4 Takeaway

의미

논문 데이터셋 섹션/부록 갤러리에 바로 쓸 수 있는 평면도 228채 전량을 확보했다. 좌표계 교환/반전 규칙, 문 방향 판정, 벽 높이 계산 등은 이후 다른 시각화(궤적 오버레이 등)에도 재사용 가능한 유틸리티로 남는다.

5 Next Steps

논문에 쓸 집 선정

teaser 후보로 7845·2159집을 검토 중.

오버레이 확장

필요 시 raw json(extent·px_per_m)을 이용해 궤적·정답 위치를 평면도 위에 오버레이하는 작업을 추가할 수 있다.