마라톤 사진 AI · 앙상블 증거

클라이언트-핏 AI 앙상블 역량을 검증하는 케이스 스터디. 오픈소스 특화 모델과 범용 텍스트 감지기를 동일한 사진에 적용하여 어떤 조합이 실제로 배번호를 정확히 판독하는지, 그리고 어떤 케이스에 자신 있게 UNRESOLVED를 반환해야 하는지를 정직하게 측정합니다.

SPECIALIZED_VS_GENERAL_DELTA (holdout F1)
-0.1400 이 표본에서는 범용 모델이 충분함 (특화 모델의 가치가 제한적)
이 값은 12장 홀드아웃에서 특화 F1범용 F1의 차이입니다. 작은 표본에서의 차이는 노이즈일 수 있음을 명시합니다.

군중 · 다수 참가자 crowd_multi_person

한 사진에 여러 참가자가 포함된 케이스. 인물별 정확한 배번호 귀속을 검증합니다.

예상 결과: multiple BIB_CONFIRMED (person-level)

원본 사진

군중 · 다수 참가자 케이스

Specialized HF Faraphel

로딩 중...

General PaddleOCR text-detector

로딩 중...

Our PoC 앙상블 판정

로딩 중...
사진 라이선스: CC-BY-SA (per data/raw/LICENSES.md — Wikimedia Commons)

판독 성공 direct_success

배번호가 선명하게 보이는 사진에서 지정 배번호가 정확히 판독되고 매칭된 케이스입니다.

예상 결과: BIB_CONFIRMED

원본 사진

판독 성공 케이스

Specialized HF Faraphel

로딩 중...

General PaddleOCR text-detector

로딩 중...

Our PoC 앙상블 판정

로딩 중...
사진 라이선스: CC-BY-SA (per data/raw/LICENSES.md — Wikimedia Commons)

베이스라인 모델 불일치 baseline_disagreement

전문 모델과 범용 모델의 판독 결과가 서로 다른 케이스. 앙상블 판정의 필요성을 보여줍니다.

예상 결과: CONFLICT_REVIEW or BIB_CONFIRMED (depending on evidence weight)

원본 사진

베이스라인 모델 불일치 케이스

Specialized HF Faraphel

로딩 중...

General PaddleOCR text-detector

로딩 중...

Our PoC 앙상블 판정

로딩 중...
사진 라이선스: CC-BY-SA (per data/raw/LICENSES.md — Wikimedia Commons)

이벤트 브랜딩 오탐 방어 branding_rejection

실제 참가자 배번호(예: 9309)와 대회 브랜딩 텍스트(예: "119" 마라톤 이벤트명)가 공존하는 케이스. 브랜딩은 참가자 배번호로 오귀속되지 않아야 합니다.

예상 결과: true bibs = BIB_CONFIRMED; 119 = rejected (not attributed to any participant)

원본 사진

이벤트 브랜딩 오탐 방어 케이스

Specialized HF Faraphel

로딩 중...

General PaddleOCR text-detector

로딩 중...

Our PoC 앙상블 판정

로딩 중...
사진 라이선스: CC-BY-SA (per data/raw/LICENSES.md — Wikimedia Commons)

적절한 미결정 correct_unresolved

판독 가능한 배번호가 없는 사진(관객, 시상식, 풍경 등). 시스템은 억지로 매칭하지 않고 UNRESOLVED로 반환해야 합니다.

예상 결과: UNRESOLVED (safe abstention — this is a positive behavior)

원본 사진

적절한 미결정 케이스

Specialized HF Faraphel

로딩 중...

General PaddleOCR text-detector

로딩 중...

Our PoC 앙상블 판정

로딩 중...
사진 라이선스: CC-BY-SA (per data/raw/LICENSES.md — Wikimedia Commons)

흐림 · 가림 (rescue 대상) blur_occlusion

배번호가 흐리거나 부분 가려진 케이스. 얼굴/의상 rescue 파이프라인의 적용 대상.

예상 결과: FACE_RECOVERY (if trusted anchors exist) or UNRESOLVED

원본 사진

흐림 · 가림 (rescue 대상) 케이스

Specialized HF Faraphel

로딩 중...

General PaddleOCR text-detector

로딩 중...

Our PoC 앙상블 판정

로딩 중...
사진 라이선스: CC-BY-SA (per data/raw/LICENSES.md — Wikimedia Commons)

이벤트-스코프 배번호 조회

배번호는 이벤트 내에서만 유일하므로 event_id가 반드시 필요합니다. 이 조회는 프라이빗 앙상블의 BIB_CONFIRMED 판정에 기반하며, 이벤트 브랜딩 텍스트(예: '119')는 참가자 배번호로 오귀속되지 않습니다.

event_id: seoul-119-marathon-2004
매칭되는 배번호 — 이 PoC 데이터셋에서 앙상블이 BIB_CONFIRMED 판정한 배번호 목록 (클릭하여 조회):
🚫 매칭되지 않아야 하는 배번호 — 이벤트 브랜딩 텍스트로 매칭 오탐 방어 여부를 직접 확인 (클릭 시 0건 반환 예상):

파이프라인 요약

프로덕션 라우팅 로직, 정확한 threshold, 가중치는 공개되지 않습니다. 아래는 관측 가능한 고수준 흐름만 보여줍니다.

  1. 인물 포커스 — YOLO11 person detect
  2. 배번호 포커스 — 특화 모델과 범용 모델이 각각 배번호 영역을 제안
  3. 판독 및 검증 — PaddleOCR로 숫자 판독, 두 모델 결과 상호 검증
  4. 이벤트-스코프 색인 — event_id + bib 매핑, 이벤트 브랜딩 배제

얼굴 인식은 선택적 rescue, 의상 유사도는 보조 corroboration일 뿐이며, 어느 것도 단독으로 신원을 확정하지 않습니다. 애매한 경우 앙상블은 UNRESOLVED를 반환하며, 이것은 안전한 행동으로 간주됩니다.