Geometry 카드에서 확인했듯, 단일 프레임 ZED SDK depth는 SDK-echo range 밖/confidence 초과/occlusion으로 인한 관측 hole이 상당하다. 여러 시점(temporal)의 관측이 같은 3D 포인트에서 서로 동의하는지를 확인할 수 있다면, hole을 신뢰성 있게 메울 근거가 될 수 있다는 가설을 세우고 이를 bounded diagnostic으로 검증했다.
scene_candidate_v2.json)은 frame-0 단일 관측만 사용해 왔고, hole을 채울 근거 있는 방법이 없었다.
r2s/whole_scene_snapshot.py는 stereo-export frame 0에서 3개 카메라 각각의 전체 1280×720 관측면을 별도 layer로 생성한다. SDK-echo range(exterior 0.2m, wrist 0.1m 최소) 안의 finite positive depth 및 confidence≤50만 유지하고, 나머지는 unknown mask로 저장한다(보간/채움 없음). Stride-4 preview mesh는 max(0.03m, 0.03×depth) discontinuity gate를 적용해 hole을 다리 놓지 않는다. whole_scene_sim_visual.py는 이 3-layer OBJ를 해시 검증 후 MuJoCo에 contype=0/conaffinity=0/mass=0 순수 시각(unlit texture, no world light) geom으로 import한다 — 충돌/물리 geometry가 아니다.
r2s/scene_temporal_consensus.py는 exterior 2대(22246076, 26638268)의 source rows 0/9/30/80/92/102를 후보로, row 50을 development holdout으로 써서 "같은 픽셀에서 동의하는가"만 검사한다(reprojection/interpolation 없음). 픽셀 accept 조건은 SDK raw validity + range 내 finite depth + confidence∈[0,50] + median 기준 max(0.015m, 0.02×median) 이내 inlier ≥3개 + early/late inlier 존재 + non-inlier <2개 + inlier RGB 채널 spread ≤40이다. Pilot 통과 기준은 gross fill ≥5pp, hole 회복 ≥10%, net gain ≥0, near filled p95 ≤20mm, outlier ≤5%로 사전선언했다.
| 카메라 | raw frame0 coverage | consensus 후 coverage | net gain | gross fill | hole 회복 | pilot |
|---|---|---|---|---|---|---|
| exterior 22246076 | 71.58% | 46.20% | -21.30% | 2.17pp (기준 5pp) | 6.67% (기준 10%) | FAIL (6개 조건 중 5개 미달) |
| exterior 26638268 | 80.65% | 48.29% | -28.14% | 3.30pp (기준 5pp) | 14.00% (기준 10%, 통과) | FAIL (net gain 음수) |
Reference-conflict로 폐기된(원래 frame-0에서 유효했지만 다른 시점과 불일치해 unknown 처리된) 픽셀 수는 22246076에서 28,956개(lost_frame0_fraction 23.46%), 26638268에서 51,198개(31.44%)였다.
이 결과는 "temporal consensus가 안 통한다"가 아니라, "현재 설정된 엄격한 동일-픽셀 합의 규칙(median tolerance, ≥3 inlier, early/late 요구)이 지나치게 보수적"
Reference conflict 발생 시 frame-0 값을 폐기하는 대신 유지하는 대안 정책이 아직 구현/검증되지 않았다. 현재 진단은 exterior 카메라 2대 + 6개 row로 범위가 좁아, wrist 카메라나 더 많은 row를 포함했을 때의 결과는 알 수 없다.
Reference-conflict 픽셀을 unknown이 아니라 "frame-0 값 유지"로 처리하는 정책으로 재실행해 net gain이 양수로 바뀌는지 확인한다. 별도로 진행 중인 LAS2 학습 스테레오 후보(별도 카드)의 결과를 같은 6-row 세트에 대해 동일한 consensus 프레임워크로 비교해, 어느 접근이 hole을 더 신뢰성 있게 채우는지 나란히 평가한다.