Commit Graph
2 Commits
Author SHA1 Message Date
minsung 988049e832 @
feat: 단계 비교 뷰어 + factory structure 분리 + gap 스윕

make_stage_viewer.py 신규. 같은 사진 위에서 검출 -> claim -> 병합을
갈아끼워 본다. 사진은 그대로 두고 폴리곤만 바뀌므로 무엇이 달라졌는지
바로 보인다. 바뀐 폴리곤(claim 재배정, 2개 이상 병합)은 빨갛게 강조하고,
커서를 올리면 라벨과 원본 픽셀 좌표, 바뀐 이유를 띄운다.

factory structure 를 [building] 에서 뺐다. 공장 구조물이 일반 건물에
흡수되면 병합 후 되돌릴 수 없다. 집합 밖 라벨은 merge_labels.py 가
그대로 통과시키므로 독립 클래스로 남는다.
16장 실측 24개. 부작용으로 building 이 466 -> 490 으로 늘었다 —
전에는 factory structure 폴리곤이 건물 사이 다리 노릇을 해 여러 건물을
한 덩어리로 잇고 있었다. 라벨 14 -> 15종, 폴리곤 6,370 -> 6,418.

gap 스윕(사진 4장, 폴리곤 3,280): 0px 2,081 · 2px 2,032 · 3px 2,014 ·
8px 1,954 · 16px 1,801 · 32px 1,574. 꺾이는 지점이 없다. 1~3px 차이는
폴리곤 2.4%, 무라벨 0.13pp 로 노이즈 수준이라 2px 를 유지한다.
과다 병합은 16px 부터 보인다 (vehicle 240 -> 229, 32px 에서 209).

status 에서 틀린 이슈 하나를 지웠다. "콘 검출이 버려진다"는 서술은
사실이 아니다 — passthrough 로 독립 클래스로 남는다. 검출 0 프롬프트
목록도 v1 기준 8개에서 확정 설정 16장 기준 12개로 고쳤다.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@
2026-09-03 13:19:23 +09:00
minsung 28bee39196 @
feat: SAM 3.1 검출 커버리지 튜닝 — 무라벨 16% → 3.6%

2D 검출 단계에서 미검출을 없애는 작업. 지표는 "무라벨 화면%" —
마스크 합집합으로 재서 겹침을 뺀 값이다. 다각형 넓이 단순 합(105%)은
겹침 때문에 미검출을 못 잡아낸다.

원인은 프롬프트가 아니라 통짜 패스였다. wide_v1.txt 의 21개 프롬프트는
8192x5460 을 1x1 로 넣어 대상 하나에 인스턴스가 하나만 살아남았다.
도로는 한쪽 차로만, 논은 한 필지만 잡혔다.

BlockYYX 실측 (사진 8장):
  기준선  무라벨 평균 21.6% (69장 전체로는 16.1%, 최악 52.1%)
  튜닝후  무라벨 평균  3.6% (최대 5.0%)

기여도 (0654 기준):
  통짜 -> 타일 패스     -36.7pp
  conf 0.25 -> 0.10      -5.4pp
  타일 4x3 -> 6x4        -4.6pp
  프롬프트 추가 9개      -0.5pp   <- 거의 기여 없음

비용은 140 -> 548초/장 (3.9배).

sam3_multi_prompt.py: --wide-in-tiles 플래그 추가. 통짜 프롬프트를
타일 패스에서도 돌린다. 겹치는 결과는 NMS 가 지운다.

신규 도구:
  coverage_stats.py     마스크 합집합으로 무라벨% 측정
  prompt_stats.py       카테고리-프롬프트별 검출 집계
  make_merge_monitor.py 모니터 HTML 생성 (수치는 집계 JSON 에서만)

vote_labels.py 에 --rescue-pred 추가 (투표에 졌지만 표가 있고 모델도
동의하는 면을 되돌린다). 3D 작업이 다른 담당으로 넘어가 중단된 상태.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@
2026-09-01 20:04:45 +09:00