DJI 정사 · 멀티 프롬프트 갭 필 리포트

SamGeo3 / SAM 3.1 텍스트 세그 실험 — compact → gap → gap2 단계로 빈 영역을 메운 과정과 결과 요약.

facebook/sam3.1 backend=meta DJI_20260306100802_0016 56 classes merged samgeo3-lab

1. 개요 · 파이프라인

compact
1차 19 프롬프트 → ~18 마스크
gap
Gemini 누락 보강 → road, forest…
gap2
합본 빈 영역 44 프롬프트 → 28 성공
56
최종 merge 클래스 수
# 전체 흐름
multi_prompt_segment.py --tier compact   # 기본 객체
multi_prompt_segment.py --tier gap       # 1차 누락
multi_prompt_segment.py --tier gap2      # 합본 빈 영역
merge_multi_results.py                   # overlay + legend + HTML

설정: prompts/dji_20260306_0016.json · 사용법 일반: docs/usage.html

2. 대상 이미지

항목
파일 data/DJI_20260306100802_0016.JPG
해상도 8192 × 5460 (드론 정사에 가까운 수직뷰)
장면 복선 철로 · 창고/주차장 · 태양광 지붕 · 수목 · 야적장
모델 facebook/sam3.1 · backend=meta
confidence compact 0.3 · gap 0.25 · gap2 0.22

3. 합본에서 보인 빈 영역

1차 merge(combined_with_legend.png) 기준으로 마스크 색이 없고 원본 톤이 남는 구간을 재검토했습니다.

구역추정 내용1차에서 부족한 이유
선로 상·하 갈색 띠 성토·제방·마른 초지 railway track 밴드만, 바깥 지면 미채움
검은 타프 주변 흙더미·절토 black tarp만, 주변 토사 약함
시설 사이 공터 콘크리트·야적 바닥 parking lot / road와 다른 표면
하측 야적 녹생 덮개·시트 색 지붕 프롬프트와 다른 tarp/cover
소형 구조 shed · 부스 · 차양 building에 안 묶임
지붕 잔여 금속 / 골판 / 회색 white·green·blue roof만으로는 부족
선형 세부 도상 · 전선 정사 + 텍스트 그라운딩 한계

4. 프롬프트 tier

tier설명권장 conf
compact 1차 실험 19개 (철로·건물·차량·타프…) 0.30
gap Gemini 누락 보강 (road, dense forest, covered truck…) 0.25
gap2 합본 빈 영역 전체 44개 0.22
gap2_core gap2 중 실측 성공만 (~18개, 재실행용) 0.22
improved compact + gap 병합 0.28
all A~E 전체 (중복 제거) 0.25~0.30

5. gap (1차 누락 보강)

Gemini 재검토 + 실측 성공 동의어

road asphalt pavement gravel path dense forest covered truck cargo vehicle debris rubbish light pole scrap pile street light lamp post drainage ditch industrial waste
가로등: light pole @ 0.2 가 유효. 배수로·전선은 정사에서 거의 실패. rubbish / scrap pile 은 노이즈 과다 가능.

6. gap2 (합본 재검토 보강)

타겟 갭 (JSON notes)

성공 프롬프트 28/44 (conf=0.22)

dirt embankment dirt pile dry grass bushes grass vegetation brown field open ground concrete concrete pad concrete pavement industrial yard paved yard green tarp green plastic sheet plastic cover shed small shed metal roof corrugated roof gray roof wall building wall fence wall barrier canopy awning sidewalk

실패 16

embankment railway embankment soil pile earth mound scrub dormant vegetation booth kiosk retaining wall ballast track bed railway ballast power line overhead wire shadow walkway

gap2_core (재실행 권장)

"dirt embankment", "dirt pile", "dry grass", "bushes", "vegetation",
"brown field", "open ground", "concrete", "industrial yard",
"green tarp", "plastic cover", "shed", "metal roof", "corrugated roof",
"gray roof", "building wall", "barrier", "awning"

7. 실측 결과 요약

단계merge 클래스비고
compact + gap ~28 road / dense forest / covered truck 등 추가
+ gap2 56 성토·초지·콘크리트·shed·금속지붕 등
과대 마스크 주의 industrial yard, open ground, dirt embankment 픽셀 면적이 커서 다른 클래스를 덮을 수 있습니다. 필요 시 해당 *_mask.png 를 제외하고 다시 merge 하세요.
빈 영역 개선에 특히 유효했던 프롬프트 dirt embankment · dry grass · vegetation · concrete · green tarp · shed · metal/corrugated roof · building wall · awning

8. 실행 커맨드

cd D:\MYCLAUDE_PROJECT\samgeo3-lab
.\.venv\Scripts\Activate.ps1

# 1차
python scripts\multi_prompt_segment.py `
  --image "data\DJI_20260306100802_0016.JPG" `
  --tier compact --confidence 0.3 `
  --output-dir "output\dji_0016_compact"

# Gemini 누락 보강 (같은 폴더에 마스크 추가)
python scripts\multi_prompt_segment.py `
  --tier gap --confidence 0.25 `
  --output-dir "output\dji_0016_compact"

# 합본 빈 영역 보강
python scripts\multi_prompt_segment.py `
  --tier gap2 --confidence 0.22 `
  --output-dir "output\dji_0016_compact"

# 또는 성공 프롬프트만
python scripts\multi_prompt_segment.py `
  --tier gap2_core --confidence 0.22 `
  --output-dir "output\dji_0016_compact"

# 한 장으로 합치기
python scripts\merge_multi_results.py `
  --result-dir "output\dji_0016_compact" `
  --image "data\DJI_20260306100802_0016.JPG" `
  --max-side 2560

9. 결과 파일

경로내용
output/dji_0016_compact/*_mask.png 프롬프트별 인스턴스 마스크
output/dji_0016_compact/*_ann.png 개별 오버레이 (대용량 가능)
output/dji_0016_compact/merged/combined_with_legend.png 전 클래스 합본 + 범례
output/dji_0016_compact/merged/per_class_grid.png 클래스별 썸네일 격자
output/dji_0016_compact/merged/index.html 브라우저 뷰 (결과 이미지)
output/dji_0016_compact/merged/merge_summary.json 클래스·픽셀 통계
prompts/dji_20260306_0016.json tier · gap · gap2 · gap2_core 정의

결과 미리보기 HTML: merged/index.html (상대 경로; 로컬에서 파일 열기)

10. 한계 · 다음 단계

권장 운영 compact → gap → gap2_core → merge → 과대 클래스 수동 제외 → 재 merge. confidence는 0.22~0.35 구간에서 장면별로 조정.