Files
railway-client/configs/merge_groups_v3.txt
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

148 lines
3.0 KiB
Plaintext

# 병합 그룹 정의 — 대괄호 안이 병합 후 대표 라벨.
# 같은 그룹에 속한 라벨끼리 외곽선이 --gap px 이내로 인접하면 하나로 합친다.
# 어느 그룹에도 없는 라벨은 건드리지 않는다.
#
# 여기서 나누지 않는 구분이 있다. SAM은 사진만 보므로 미터도 규모도 모른다.
# 아래는 2D가 아니라 3D 메시에서 갈라야 정확하다:
# 낮은수목 / 수목 CSF 지면 위 높이
# 수목 / 숲 [vegetation] 연결성분 면적
# 지형 / 경사면 면 법선 경사각
# 건물 / 빌딩 [building] 연결성분 면적·높이
# 그래서 tree canopy와 dense forest, building과 residential house는
# 일부러 같은 그룹에 둔다 — 2D에서 갈라봐야 중복 마스크만 나온다.
# [building]
building
building rooftop
building facade
residential house
warehouse
factory structure
storage container
blue roof
red roof
green roof
gray roof
dark gray roof
black roof
white roof
silver metal roof
orange roof
brown roof
yellow roof
greenhouse roof
plastic greenhouse
vinyl greenhouse tunnel
# [road]
asphalt road
concrete pavement
parking lot
pedestrian sidewalk
crosswalk
bridge
# 아래는 비활성 — discovery_v1.txt에서 프롬프트를 통째로 껐다.
# 최종 목표가 지면 대 나머지라 차선은 도로면의 일부지 별도 클래스가 아니다.
# 검출량 1위였지만(583개 중 277개) 전부 [road] 안에서 버려지고,
# 논밭 이랑을 yellow center dividing line으로 오인하기까지 했다.
# [road marking]
# road lane marking
# yellow center dividing line
# white solid lane marking
# white dashed lane marking
# white directional arrow marking
# yellow parking stall line
# white parking stall line
# blue handicap parking space
# pink pedestrian safety marking
# green bike lane marking
# [vegetation]
overgrown weeds
shrub
tree canopy
dense forest
green hedge
grass lawn
# [farmland]
crop field
farmland
plowed field
bare soil field
rice paddy
vegetable field
# [ground]
bare ground
dirt field
earth bank
dirt path
# [stored material]
blue plastic drum
orange plastic barrel
yellow plastic container
white industrial tank
metallic storage tank
blue waterproof tarp
green waterproof tarp
black protective sheet
white canvas canopy
# [retaining wall]
retaining wall
concrete retaining wall
gabion wall
# [slope]
grass covered embankment
road embankment slope
cut slope
riprap slope
# [water]
water surface
pond
reservoir
stream
irrigation canal
drainage ditch
# [structure]
utility pole
streetlight pole
road sign
culvert
# [fence]
gray metal fence
green wire fence
red roadside barrier
guardrail
metal guardrail
# [vehicle]
white vehicle
black vehicle
silver vehicle
gray vehicle
red vehicle
blue vehicle
yellow vehicle
orange vehicle
green vehicle
white cargo truck
blue cargo truck
yellow school bus
commercial bus
tractor
farm tractor
excavator
# 아래는 기본 비활성 — 나란히 놓인 콘이 한 덩어리로 융합된다.
# [cone]
# yellow safety cone
# orange traffic cone