결과 — CrackSeg9k test 455장 (논문 동일 pixel-level 지표)
F1 (Dice) — 우리 in-domain vs 공개 SOTA vs 도메인갭
논문 SOTA
DeepLabV3+R101+DINO
DeepLabV3+R101+DINO
F1 0.724
우리 in-domain
U-Net(eff-b4), CrackSeg9k 학습
U-Net(eff-b4), CrackSeg9k 학습
F1 0.721
논문 U-Net 계열
Pix2Pix-UNet / SWIN-UNet
Pix2Pix-UNet / SWIN-UNet
F1 0.50~0.57
우리 zero-shot
교량 전용 모델, 무학습 적용
교량 전용 모델, 무학습 적용
F1 0.164
pixel-level micro(전 픽셀 누적 혼동행렬) mIoU·Dice. 하위셋 층화 90/5/5 split(seed 고정, 학습 미노출), noncrack 70장 포함.
표
두 각도 — 정직하게
| 조건 | mIoU | Dice/F1 | precision | recall | bF1@2px |
|---|---|---|---|---|---|
| (b) in-domain (우리 아키텍처) | 0.772 | 0.721 | 0.664 | 0.789 | 0.813 |
| 참조: 논문 SOTA (DINO) | 0.7712 | 0.7238 | — | — | — |
| (a) cross-domain zero-shot | 0.529 | 0.164 | 0.601 | 0.095 | 0.300 |
boundaryF1@2px = 경계 2px 허용 F1(=OmniCrack clIoU 계열, 균열 위상 품질). in-domain clDice=0.762.
해석
두 숫자가 각각 말하는 것
- ✅ (b) in-domain — 우리 아키텍처는 경쟁력 있다. plain U-Net(EfficientNet-B4)이 mIoU 0.772/F1 0.721로 논문 SOTA(0.771/0.724, 더 무거운 DeepLabV3+ResNet101+DINO)와 동급. 50ep 최종본은 0.779/0.732로 소폭 상회. 표준 공개 벤치에서 검증가능하게 재현된다(체리픽 아님).
- ⚠️ (a) zero-shot이 낮은 건 결함이 아니라 정직이다. 교량 전용 모델을 다양분포 학술벤치에 blind 적용 → recall 9.5%. 도메인갭은 실재한다. "하나의 범용 모델이 어디서나 잘 된다"는 마케팅은 거짓이다.
이 대비가 우리 사업의 핵심 근거다 — 순수합성·범용 자율판정을 팔지 않는 이유. 신규 시설엔 시설별 데이터엔진 적응(소량 재학습)이 필요하고, 우리는 그걸 제품화했다. 공개 벤치의 두 숫자가 "왜 적응이 필요한가"를 증명한다.
모델카드
벤더가 안 내는 자산 — 한계까지 명시
표준 모델카드 공개: 의도된 사용·범위 밖·학습데이터·평가지표·한계·정직 고지(도메인의존성·마스크 임계값·micro 지표·단일시드)·책임있는 사용(온프렘·점검자보조·보정확률). 리포지토리 data_engine/crack_poc/MODEL_CARD_crackseg.md.
정직 고지 — split이 논문과 동일하지 않다: CrackSeg9k 공식 test 파티션이 재현가능 형태로 공개돼 있지 않아, 동일 데이터·동일 90/5/5·동일 지표·동일 이진화로 자체 층화 split(seed 42)을 썼다. 따라서 "동일 테스트셋에서 SOTA를 이겼다"가 아니라 "비교가능 split·동일 지표에서 공개수치에 도달/상회"가 정확한 주장. 우리 split은 seed로 재현가능.
재현: prep_crackseg9k.py(층화 split seed 42) → bench_crackseg9k.py(pixel micro 지표) / train_seg.py(in-domain). 데이터=Harvard Dataverse DOI:10.7910/DVN/EGIEBY. 지표·임계값·split 전부 명시.
NeMo AI 학습 솔루션 · Track C 공개 벤치 정직수치 · 2026-07-08 · CrackSeg9k(ECCV-W 2022) · measure-first