ValueError로 실패 — 검증 로직이 조용한 실패를 막음데이터 감사 카드에서 확정된 "0–102 bounded core"의 metric scale을 확보하려면 실제로 ZED SVO 파일을 SDK로 디코드해야 한다. 이전까지는 SDK import조차 시도하지 않은 INPUTS_VERIFIED_SDK_NOT_RUN 상태였다. 워커 pod은 driver-only 이미지라 ZED 네이티브 라이브러리와 캘리브레이션 파일 접근 자체가 인프라 문제였다.
stereolabs/zed 도커 이미지 안에서만 검증된 CPython 3.10 wheel이고, 이미지의 SDK 디렉토리는 root:zed 0770이라 워커 UID(10010:3000)로는 읽을 수 없다. 워커에는 컨테이너 런타임도 없어(§13 클러스터 정책) 이미지를 그대로 쓸 수도 없다.
login에서 official 이미지를 CPU로 검사해 libsl_zed.so/libsl_ai.so를 SHA256 고정으로 추출한 뒤, private LD_LIBRARY_PATH prepend 방식으로 워커에 전달했다. 세 카메라의 factory calibration을 byte-for-byte 검증 후 private SN<serial>.conf로 준비(CURRENT_MANUFACTURER_NOT_2023_CAPTURE_TRUTH 라벨 유지). 배치는 scripts/probe_selected_svo.sbatch(1 GPU, 8 CPU, 64GiB, 15분)로 4회 반복 제출했다.
이어서 scripts/export_selected_stereo.sbatch(1 GPU, --qos=own, 15분)로 선택된 7개 인덱스(0,9,30,50,80,92,102) × 3카메라의 lossless left/right PNG + ZED depth NPZ export를 구현했다. 초기 구성은 depth range를 명시하지 않았고, 재제출에서 ZED ULTRA depth mode에 100–3000mm 범위를 명시하며 export.json에 요청값과 SDK-echo 값을 모두 기록하도록 강화했다.
| Job | 상태 | 소요 | 원인 / 결과 |
|---|---|---|---|
| 123402 | FAILED | 1s | libsl_zed.so 로드 실패 — 워커 이미지 SDK 디렉토리 권한 문제 |
| 123421 | FAILED | 4s | native lib 로드 성공, Camera.open에서 wrist(16291792) CALIBRATION FILE NOT AVAILABLE |
| 123441 | FAILED | 6s | Camera.open 성공(SDK 5.3.1 확인), EOF까지 도달했으나 관측 카운트≠선언 카운트 |
| 123473 | 구조적 거부 | 12s | 3카메라 모두 104 선언 / 0–102(103개) 관측, svo_trace_validation_rejected 이벤트로 timestamp/이미지 witness 보존 |
| 123495 | COMPLETED | 25s | bounded export: 21쌍(7 idx × 3 cam) PNG + depth NPZ, depth range 미지정 |
| 123828 | FAILED | 10s | depth_minimum_distance SDK echo mismatch — 100mm 요청, SDK echo 불일치로 ValueError(FAILED_PARTIAL) |
| 124249 | COMPLETED | 26s | depth 100–3000mm ULTRA로 수정 후 재제출 성공. baseline 62.996mm, fx=fy=731.07, cx=649.53/cy=342.28(wrist) |
SDK_CAPTURED_REJECTED(104 선언, 103 관측)는 "고쳐서 통과시킨" 결과가 아니라 bounded 0–102 core로 스코프를 좁혀 우회한 것이다 — 데이터 감사 카드의 observed_core 기준과 정확히 일치한다. 즉 이번 엔지니어링 작업은 카드1의 결론(raw 마지막 1~2프레임 배제)을 실측 SDK 레벨에서 재확인한 셈이다. depth range 버그를 잡아낸 SDK-echo 검증 패턴은 앞으로 다른 SDK 파라미터(rectification, self-calibration)에도 그대로 적용할 수 있다.
FoundationStereo 공식 checkpoint(Google Drive 폴더 1VhPebc_mMxWKccrv7pdQLTvXYVcLYpsf)는 rate-limit으로 다운로드가 완료되지 않았다. 현재 baseline/intrinsics는 "현재 제조사 runtime calibration"일 뿐 2023년 캡처 당시 값이라는 증거는 없다.
checkpoint 확보 후 scripts/reconstruct_foundation_stereo.sbatch(현재 미제출 skeleton, 1 GPU own)를 실행해 job 124249의 depth와 비교한다. 124249의 정식 export 결과를 geometry 비교 카드(ZED vs SGBM vs PointWorld)에 반영할지 결정이 필요하다.