0.59–0.80
in-source mAP50 (같은 출처 held-out)
0.11–0.34
cross-source mAP50 (다른 출처 held-out)
−42~86%
출처가 바뀔 때 붕괴폭
3
독립시드(실변량 ±0.03, byte-identical 아님)
1. 결과 매트릭스 — 학습출처 × 시험출처 (mAP50, 3시드 mean±std)
| 학습 → 시험 | 종류 | mAP50 mean | ±std | min–max (3시드) |
|---|---|---|---|---|
| 058 → 058 | in-source(상한) | 0.593 | 0.027 | 0.558–0.622 |
| 089 → 089 | in-source(상한) | 0.800 | 0.003 | 0.798–0.804 |
| 058 → 089 | cross-source | 0.114 | 0.037 | 0.073–0.163 |
| 089 → 058 | cross-source | 0.343 | 0.037 | 0.311–0.395 |
읽는 법: 대각선(같은 출처)은 높고, 비대각선(다른 출처)은 무너진다. 089→058(0.343)이 058→089(0.114)보다 나은 건 089가 훨씬 다양(주·야, 다수 장소·출처)해 전이가 잘 되기 때문 — 반대로 058은 실내 편중이라 다양한 089로 전이가 약하다. 다양한 데이터로 학습할수록 일반화가 낫다는 실증.
2. 적응 회복곡선 — 타깃 출처 데이터를 조금 주입하면 회복되나
058로만 학습한 상태에서 089(타깃) 학습 클립을 f 비율만 주입하고 089 held-out으로 시험. 붕괴가 소량 타깃 데이터로 회복되는지 = 현장 파일럿에서 "소량 라벨로 적응"이 통하는지의 실증.
기준선 주의: 여기 f=0(058만) 기준선 0.153은 회복곡선 전용 3독립시드 런이고, 위 1번 매트릭스의 058→089 0.114는 별개의 3독립시드 런이다(같은 조건, deterministic=False). 두 독립 평균의 차(0.04)가 각 런의 3시드 std(~0.037)보다 커, 실제 런-투-런 재현변량은 std보다 크다. 붕괴 수준은 0.11–0.15 범위로 읽는 게 정직하다(둘 다 in-source 0.80 대비 급락).
핵심: 붕괴한 058→089(0.15)에 타깃 데이터 10%만 주입해도 0.53으로 점프 — 격차(0.15→0.80)의 약 57%를 단 10%로 회복. 25%→0.63, 50%→0.73으로 상한(0.80)에 수렴. 곧 수확체감이 오지만, "소량의 현장 라벨로 급속 회복"이 실측으로 확인된다 = 현장별 데이터 적응이 실제로 통한다는 정량 근거. 각 점 3 독립시드(std≤0.014). 주입 089 클립은 089 held-out(시험셋)과 완전 disjoint.
2-2. 적응 방법 A/B(2026-07-13 추가) — norm-only는 안 통하고, 타깃만 FT는 망각한다
"어떻게 적응할 것인가"를 3방법 A/B(모두 058학습 모델에서 시작, 3독립시드): AdaBN(라벨 0장 — BN 통계만 타깃으로 재추정), norm-affine FT(BN scale/shift만, 10% 클립 라벨), full-FT(전 파라미터, 같은 라벨). 회복(089 held-out)과 망각(058 유지력)을 동시 측정:
| 방법 | 089 회복 mAP50 | 058 유지 mAP50 | 판정 |
|---|---|---|---|
| zero-shot(참조) | 0.114 | 0.593 | 붕괴 상태 |
| AdaBN (라벨 0장) | 0.101 ±0.014 | 0.573 | 무효 — 통계이동 갭이 아님 |
| norm-affine FT (10%) | 0.117 ±0.025 | 0.591 | 무효 |
| full-FT 타깃만 (10%) | 0.483 ±0.018 | 0.356 ±0.015 | 회복하나 원 도메인 −40% 망각 |
| 혼합 재학습 (058전량+10%, 위 회복곡선) | 0.528 ±0.014 | (058이 학습에 포함=유지) | 처방 ✓ |
정직한 결론: ① 화재 cross-source 갭은 BN 통계 이동이 아니라 의미/외형 수준의 갭 — norm-only 계열(라벨프리 AdaBN·norm-affine)은 회복 효과가 없다(문헌의 norm-only 만능론이 이 갭 유형엔 부적용, 자가검사: BN 통계변화 확인됨·trainable 30k vs 9.4M). ② 타깃만 full-FT는 회복(0.48)하지만 원 도메인을 40% 망각 — 파일럿에서 "현장 데이터로만 파인튜닝"은 함정. ③ 처방 = 기존+현장 혼합 재학습(0.528·유지 보존). 과거 "FT가 base보다 나빴다"(크랙 게이트)는 다른 사례지만, 여기서도 적응은 방법 선택이 결과를 가른다는 원칙이 실측으로 선다.
3. 정직성 노트 (무엇인가·무엇이 아닌가)
- 진짜 held-out이다: 058·089는 서로 다른 AI-Hub 수집 캠페인(다른 카메라·장소·연출). cross-source는 두 데이터셋 이미지 교집합 0. in-source는 clip-disjoint(같은 클립 프레임이 학습·시험 동시포함 금지).
- 시드가 진짜다: 3 독립시드 결과 서명이 모두 상이(실변량 ±0.03). 구 화재 데모의 "2시드가 소수 4자리까지 동일 = 사실상 1 run" 문제를 해소했다.
- 여전히 공개셋 간 측정이다: 실제 고객 현장은 058·089와 또 다른 3차 도메인. 이 수치는 "출처가 바뀌면 무너진다"는 구조적 사실의 증거이지, 특정 현장 성능 약속이 아니다. 실현장 수치는 파일럿에서 재측정.
- annotation 스타일 차이도 도메인갭의 일부: 058은 tight·일부 불꽃만 박싱(부분라벨), 089는 coarse·region-level 큰 박스. 벤더가 다르면 라벨 관례도 다르며, 이것이 cross-source mAP 격차에 기여한다(정직 공개).
- 왜 중요한가: "우리 모델 mAP 0.8"을 광고하는 건 쉽다. 정직한 질문은 "당신 현장에서 얼마인가"이고, 그 답은 도메인이 바뀌면 무너진다는 것 — 그래서 현장별 데이터 적응이 제품의 핵심이다(회복곡선이 그 처방).
재현·검증: 데이터 sha256·코드 SHA·split 증명·per-metric 3시드·라벨 검증 서명을 담은
서명 매니페스트 동봉(게시 정직성 게이트 통과). 모델 yolo11s·60ep·imgsz640. 데이터=AI-Hub 개방데이터(이용약관 준수, 상업 제품화 전 약관 재확인).immersivecast · measure-first 화재 검출 · cross-source held-out 실측 · 2026-07-11