Scripts, prompt JSON tiers, usage docs, and README. Input images (data/) and segmentation outputs (output/) are gitignored.
535 lines
21 KiB
HTML
535 lines
21 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="ko">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<title>DJI 정사 멀티 프롬프트 · 갭 필 리포트 — samgeo3-lab</title>
|
|
<style>
|
|
:root {
|
|
--bg: #0f1419;
|
|
--panel: #1a2332;
|
|
--panel2: #243044;
|
|
--text: #e7ecf3;
|
|
--muted: #9aa8bc;
|
|
--accent: #3d9cf0;
|
|
--accent2: #5eead4;
|
|
--warn: #fbbf24;
|
|
--ok: #34d399;
|
|
--bad: #f87171;
|
|
--border: #2d3a4f;
|
|
--code-bg: #0b1220;
|
|
--radius: 10px;
|
|
--shadow: 0 8px 28px rgba(0,0,0,.35);
|
|
--font: "Segoe UI", "Malgun Gothic", "Apple SD Gothic Neo", sans-serif;
|
|
--mono: "Cascadia Code", "Consolas", "Courier New", monospace;
|
|
}
|
|
* { box-sizing: border-box; }
|
|
html { scroll-behavior: smooth; }
|
|
body {
|
|
margin: 0;
|
|
font-family: var(--font);
|
|
background: linear-gradient(160deg, #0b1020 0%, #121a28 40%, #0f1419 100%);
|
|
color: var(--text);
|
|
line-height: 1.65;
|
|
min-height: 100vh;
|
|
}
|
|
.wrap { max-width: 960px; margin: 0 auto; padding: 2rem 1.25rem 4rem; }
|
|
header.hero {
|
|
background: linear-gradient(135deg, #1e3a5f 0%, #0f766e 55%, #134e4a 100%);
|
|
border-radius: 16px;
|
|
padding: 2rem 1.75rem;
|
|
box-shadow: var(--shadow);
|
|
margin-bottom: 1.75rem;
|
|
}
|
|
header.hero h1 { margin: 0 0 .4rem; font-size: 1.75rem; letter-spacing: -.02em; }
|
|
header.hero p { margin: 0; color: rgba(255,255,255,.92); max-width: 42rem; }
|
|
.badges { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
|
|
.badge {
|
|
font-size: .75rem; font-weight: 600; padding: .25rem .65rem;
|
|
border-radius: 999px; background: rgba(255,255,255,.14);
|
|
border: 1px solid rgba(255,255,255,.22);
|
|
}
|
|
nav.toc {
|
|
background: var(--panel); border: 1px solid var(--border);
|
|
border-radius: var(--radius); padding: 1rem 1.25rem; margin-bottom: 1.75rem;
|
|
}
|
|
nav.toc h2 {
|
|
margin: 0 0 .6rem; font-size: .9rem; color: var(--accent2);
|
|
text-transform: uppercase; letter-spacing: .06em;
|
|
}
|
|
nav.toc ol { margin: 0; padding-left: 1.25rem; }
|
|
nav.toc a { color: var(--text); text-decoration: none; }
|
|
nav.toc a:hover { color: var(--accent); text-decoration: underline; }
|
|
section {
|
|
background: var(--panel); border: 1px solid var(--border);
|
|
border-radius: var(--radius); padding: 1.35rem 1.4rem 1.5rem;
|
|
margin-bottom: 1.25rem; box-shadow: 0 2px 12px rgba(0,0,0,.2);
|
|
}
|
|
section h2 {
|
|
margin: 0 0 .85rem; font-size: 1.22rem; color: #fff;
|
|
border-bottom: 1px solid var(--border); padding-bottom: .55rem;
|
|
}
|
|
section h3 { margin: 1.2rem 0 .5rem; font-size: 1.02rem; color: var(--accent2); }
|
|
p { margin: .55rem 0; }
|
|
.muted { color: var(--muted); }
|
|
ul, ol { margin: .4rem 0 .8rem; padding-left: 1.3rem; }
|
|
li { margin: .28rem 0; }
|
|
a { color: var(--accent); }
|
|
table {
|
|
width: 100%; border-collapse: collapse; font-size: .9rem; margin: .75rem 0 1rem;
|
|
}
|
|
th, td {
|
|
border: 1px solid var(--border); padding: .5rem .65rem;
|
|
text-align: left; vertical-align: top;
|
|
}
|
|
th { background: var(--panel2); color: var(--accent2); font-weight: 600; }
|
|
tr:nth-child(even) td { background: rgba(255,255,255,.02); }
|
|
code, kbd {
|
|
font-family: var(--mono); font-size: .85em;
|
|
background: var(--code-bg); padding: .1em .38em;
|
|
border-radius: 4px; border: 1px solid var(--border);
|
|
}
|
|
pre {
|
|
background: var(--code-bg); border: 1px solid var(--border);
|
|
border-radius: 8px; padding: 1rem 1.1rem; overflow-x: auto;
|
|
font-family: var(--mono); font-size: .8rem; line-height: 1.55;
|
|
margin: .7rem 0 1rem; color: #d1e0f5;
|
|
}
|
|
pre .c { color: #6b8a9e; }
|
|
pre .cmd { color: #7dd3fc; }
|
|
.callout {
|
|
border-radius: 8px; padding: .85rem 1rem; margin: .9rem 0;
|
|
border-left: 4px solid var(--accent); background: rgba(61,156,240,.1);
|
|
}
|
|
.callout.warn { border-left-color: var(--warn); background: rgba(251,191,36,.1); }
|
|
.callout.ok { border-left-color: var(--ok); background: rgba(52,211,153,.1); }
|
|
.callout.bad { border-left-color: var(--bad); background: rgba(248,113,113,.1); }
|
|
.callout strong { display: block; margin-bottom: .25rem; }
|
|
.tag-ok { color: var(--ok); font-weight: 600; }
|
|
.tag-fail { color: var(--bad); font-weight: 600; }
|
|
.path { color: var(--accent2); font-family: var(--mono); font-size: .88em; }
|
|
.grid-2 {
|
|
display: grid; grid-template-columns: 1fr 1fr; gap: .75rem;
|
|
}
|
|
@media (max-width: 720px) { .grid-2 { grid-template-columns: 1fr; } }
|
|
.stat {
|
|
background: var(--panel2); border: 1px solid var(--border);
|
|
border-radius: 8px; padding: .85rem 1rem;
|
|
}
|
|
.stat .n { font-size: 1.6rem; font-weight: 700; color: var(--accent2); }
|
|
.stat .l { font-size: .82rem; color: var(--muted); }
|
|
.chips { display: flex; flex-wrap: wrap; gap: .35rem; margin: .5rem 0; }
|
|
.chip {
|
|
font-size: .78rem; padding: .2rem .5rem; border-radius: 6px;
|
|
background: #0b1220; border: 1px solid var(--border); font-family: var(--mono);
|
|
}
|
|
.chip.ok { border-color: rgba(52,211,153,.45); color: #a7f3d0; }
|
|
.chip.fail { border-color: rgba(248,113,113,.4); color: #fecaca; }
|
|
footer {
|
|
text-align: center; color: var(--muted); font-size: .85rem; margin-top: 2rem;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div class="wrap">
|
|
<header class="hero">
|
|
<h1>DJI 정사 · 멀티 프롬프트 갭 필 리포트</h1>
|
|
<p>
|
|
SamGeo3 / SAM 3.1 텍스트 세그 실험 —
|
|
compact → gap → gap2 단계로 빈 영역을 메운 과정과 결과 요약.
|
|
</p>
|
|
<div class="badges">
|
|
<span class="badge">facebook/sam3.1</span>
|
|
<span class="badge">backend=meta</span>
|
|
<span class="badge">DJI_20260306100802_0016</span>
|
|
<span class="badge">56 classes merged</span>
|
|
<span class="badge">samgeo3-lab</span>
|
|
</div>
|
|
</header>
|
|
|
|
<nav class="toc" aria-label="목차">
|
|
<h2>목차</h2>
|
|
<ol>
|
|
<li><a href="#overview">개요 · 파이프라인</a></li>
|
|
<li><a href="#image">대상 이미지</a></li>
|
|
<li><a href="#empty">합본에서 보인 빈 영역</a></li>
|
|
<li><a href="#tiers">프롬프트 tier</a></li>
|
|
<li><a href="#gap">gap (1차 누락 보강)</a></li>
|
|
<li><a href="#gap2">gap2 (합본 재검토 보강)</a></li>
|
|
<li><a href="#results">실측 결과</a></li>
|
|
<li><a href="#run">실행 커맨드</a></li>
|
|
<li><a href="#outputs">결과 파일</a></li>
|
|
<li><a href="#limits">한계 · 다음 단계</a></li>
|
|
</ol>
|
|
</nav>
|
|
|
|
<section id="overview">
|
|
<h2>1. 개요 · 파이프라인</h2>
|
|
<div class="grid-2">
|
|
<div class="stat"><div class="n">compact</div><div class="l">1차 19 프롬프트 → ~18 마스크</div></div>
|
|
<div class="stat"><div class="n">gap</div><div class="l">Gemini 누락 보강 → road, forest…</div></div>
|
|
<div class="stat"><div class="n">gap2</div><div class="l">합본 빈 영역 44 프롬프트 → 28 성공</div></div>
|
|
<div class="stat"><div class="n">56</div><div class="l">최종 merge 클래스 수</div></div>
|
|
</div>
|
|
<pre><span class="c"># 전체 흐름</span>
|
|
<span class="cmd">multi_prompt_segment.py --tier compact</span> <span class="c"># 기본 객체</span>
|
|
<span class="cmd">multi_prompt_segment.py --tier gap</span> <span class="c"># 1차 누락</span>
|
|
<span class="cmd">multi_prompt_segment.py --tier gap2</span> <span class="c"># 합본 빈 영역</span>
|
|
<span class="cmd">merge_multi_results.py</span> <span class="c"># overlay + legend + HTML</span></pre>
|
|
<p class="muted">
|
|
설정: <span class="path">prompts/dji_20260306_0016.json</span> ·
|
|
사용법 일반: <a href="usage.html">docs/usage.html</a>
|
|
</p>
|
|
</section>
|
|
|
|
<section id="image">
|
|
<h2>2. 대상 이미지</h2>
|
|
<table>
|
|
<tr><th>항목</th><th>값</th></tr>
|
|
<tr>
|
|
<td>파일</td>
|
|
<td><code>data/DJI_20260306100802_0016.JPG</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td>해상도</td>
|
|
<td>8192 × 5460 (드론 정사에 가까운 수직뷰)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>장면</td>
|
|
<td>복선 철로 · 창고/주차장 · 태양광 지붕 · 수목 · 야적장</td>
|
|
</tr>
|
|
<tr>
|
|
<td>모델</td>
|
|
<td><code>facebook/sam3.1</code> · <code>backend=meta</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td>confidence</td>
|
|
<td>compact 0.3 · gap 0.25 · gap2 0.22</td>
|
|
</tr>
|
|
</table>
|
|
</section>
|
|
|
|
<section id="empty">
|
|
<h2>3. 합본에서 보인 빈 영역</h2>
|
|
<p>
|
|
1차 merge(<code>combined_with_legend.png</code>) 기준으로
|
|
마스크 색이 없고 원본 톤이 남는 구간을 재검토했습니다.
|
|
</p>
|
|
<table>
|
|
<thead>
|
|
<tr><th>구역</th><th>추정 내용</th><th>1차에서 부족한 이유</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>선로 상·하 갈색 띠</td>
|
|
<td>성토·제방·마른 초지</td>
|
|
<td><code>railway track</code> 밴드만, 바깥 지면 미채움</td>
|
|
</tr>
|
|
<tr>
|
|
<td>검은 타프 주변</td>
|
|
<td>흙더미·절토</td>
|
|
<td><code>black tarp</code>만, 주변 토사 약함</td>
|
|
</tr>
|
|
<tr>
|
|
<td>시설 사이 공터</td>
|
|
<td>콘크리트·야적 바닥</td>
|
|
<td><code>parking lot</code> / <code>road</code>와 다른 표면</td>
|
|
</tr>
|
|
<tr>
|
|
<td>하측 야적</td>
|
|
<td>녹생 덮개·시트</td>
|
|
<td>색 지붕 프롬프트와 다른 tarp/cover</td>
|
|
</tr>
|
|
<tr>
|
|
<td>소형 구조</td>
|
|
<td>shed · 부스 · 차양</td>
|
|
<td><code>building</code>에 안 묶임</td>
|
|
</tr>
|
|
<tr>
|
|
<td>지붕 잔여</td>
|
|
<td>금속 / 골판 / 회색</td>
|
|
<td>white·green·blue roof만으로는 부족</td>
|
|
</tr>
|
|
<tr>
|
|
<td>선형 세부</td>
|
|
<td>도상 · 전선</td>
|
|
<td>정사 + 텍스트 그라운딩 한계</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</section>
|
|
|
|
<section id="tiers">
|
|
<h2>4. 프롬프트 tier</h2>
|
|
<table>
|
|
<thead>
|
|
<tr><th>tier</th><th>설명</th><th>권장 conf</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td><code>compact</code></td>
|
|
<td>1차 실험 19개 (철로·건물·차량·타프…)</td>
|
|
<td>0.30</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>gap</code></td>
|
|
<td>Gemini 누락 보강 (road, dense forest, covered truck…)</td>
|
|
<td>0.25</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>gap2</code></td>
|
|
<td>합본 빈 영역 전체 44개</td>
|
|
<td>0.22</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>gap2_core</code></td>
|
|
<td>gap2 중 실측 성공만 (~18개, 재실행용)</td>
|
|
<td>0.22</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>improved</code></td>
|
|
<td>compact + gap 병합</td>
|
|
<td>0.28</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>all</code></td>
|
|
<td>A~E 전체 (중복 제거)</td>
|
|
<td>0.25~0.30</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</section>
|
|
|
|
<section id="gap">
|
|
<h2>5. gap (1차 누락 보강)</h2>
|
|
<p class="muted">Gemini 재검토 + 실측 성공 동의어</p>
|
|
<div class="chips">
|
|
<span class="chip ok">road</span>
|
|
<span class="chip ok">asphalt pavement</span>
|
|
<span class="chip ok">gravel path</span>
|
|
<span class="chip ok">dense forest</span>
|
|
<span class="chip ok">covered truck</span>
|
|
<span class="chip ok">cargo vehicle</span>
|
|
<span class="chip ok">debris</span>
|
|
<span class="chip ok">rubbish</span>
|
|
<span class="chip ok">light pole</span>
|
|
<span class="chip ok">scrap pile</span>
|
|
<span class="chip fail">street light</span>
|
|
<span class="chip fail">lamp post</span>
|
|
<span class="chip fail">drainage ditch</span>
|
|
<span class="chip fail">industrial waste</span>
|
|
</div>
|
|
<div class="callout">
|
|
<strong>팁</strong>
|
|
가로등: <code>light pole</code> @ 0.2 가 유효.
|
|
배수로·전선은 정사에서 거의 실패.
|
|
<code>rubbish</code> / <code>scrap pile</code> 은 노이즈 과다 가능.
|
|
</div>
|
|
</section>
|
|
|
|
<section id="gap2">
|
|
<h2>6. gap2 (합본 재검토 보강)</h2>
|
|
<h3>타겟 갭 (JSON notes)</h3>
|
|
<ul>
|
|
<li>선로 상·하 갈색 성토/제방·마른 초지</li>
|
|
<li>검은 타프 주변 흙더미·절토면</li>
|
|
<li>주차장·창고 사이 콘크리트·공터</li>
|
|
<li>하측 야적 녹생 방수시트/덮개</li>
|
|
<li>소형 shed · 담장 · 차양</li>
|
|
<li>금속/골판/회색 지붕 잔여</li>
|
|
<li>건물 벽면 · 장벽</li>
|
|
</ul>
|
|
|
|
<h3>성공 프롬프트 <span class="tag-ok">28/44</span> (conf=0.22)</h3>
|
|
<div class="chips">
|
|
<span class="chip ok">dirt embankment</span>
|
|
<span class="chip ok">dirt pile</span>
|
|
<span class="chip ok">dry grass</span>
|
|
<span class="chip ok">bushes</span>
|
|
<span class="chip ok">grass</span>
|
|
<span class="chip ok">vegetation</span>
|
|
<span class="chip ok">brown field</span>
|
|
<span class="chip ok">open ground</span>
|
|
<span class="chip ok">concrete</span>
|
|
<span class="chip ok">concrete pad</span>
|
|
<span class="chip ok">concrete pavement</span>
|
|
<span class="chip ok">industrial yard</span>
|
|
<span class="chip ok">paved yard</span>
|
|
<span class="chip ok">green tarp</span>
|
|
<span class="chip ok">green plastic sheet</span>
|
|
<span class="chip ok">plastic cover</span>
|
|
<span class="chip ok">shed</span>
|
|
<span class="chip ok">small shed</span>
|
|
<span class="chip ok">metal roof</span>
|
|
<span class="chip ok">corrugated roof</span>
|
|
<span class="chip ok">gray roof</span>
|
|
<span class="chip ok">wall</span>
|
|
<span class="chip ok">building wall</span>
|
|
<span class="chip ok">fence wall</span>
|
|
<span class="chip ok">barrier</span>
|
|
<span class="chip ok">canopy</span>
|
|
<span class="chip ok">awning</span>
|
|
<span class="chip ok">sidewalk</span>
|
|
</div>
|
|
|
|
<h3>실패 <span class="tag-fail">16</span></h3>
|
|
<div class="chips">
|
|
<span class="chip fail">embankment</span>
|
|
<span class="chip fail">railway embankment</span>
|
|
<span class="chip fail">soil pile</span>
|
|
<span class="chip fail">earth mound</span>
|
|
<span class="chip fail">scrub</span>
|
|
<span class="chip fail">dormant vegetation</span>
|
|
<span class="chip fail">booth</span>
|
|
<span class="chip fail">kiosk</span>
|
|
<span class="chip fail">retaining wall</span>
|
|
<span class="chip fail">ballast</span>
|
|
<span class="chip fail">track bed</span>
|
|
<span class="chip fail">railway ballast</span>
|
|
<span class="chip fail">power line</span>
|
|
<span class="chip fail">overhead wire</span>
|
|
<span class="chip fail">shadow</span>
|
|
<span class="chip fail">walkway</span>
|
|
</div>
|
|
|
|
<h3>gap2_core (재실행 권장)</h3>
|
|
<pre>"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"</pre>
|
|
</section>
|
|
|
|
<section id="results">
|
|
<h2>7. 실측 결과 요약</h2>
|
|
<table>
|
|
<thead>
|
|
<tr><th>단계</th><th>merge 클래스</th><th>비고</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>compact + gap</td>
|
|
<td>~28</td>
|
|
<td>road / dense forest / covered truck 등 추가</td>
|
|
</tr>
|
|
<tr>
|
|
<td>+ gap2</td>
|
|
<td><strong>56</strong></td>
|
|
<td>성토·초지·콘크리트·shed·금속지붕 등</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<div class="callout warn">
|
|
<strong>과대 마스크 주의</strong>
|
|
<code>industrial yard</code>, <code>open ground</code>, <code>dirt embankment</code>
|
|
픽셀 면적이 커서 다른 클래스를 덮을 수 있습니다.
|
|
필요 시 해당 <code>*_mask.png</code> 를 제외하고 다시 merge 하세요.
|
|
</div>
|
|
<div class="callout ok">
|
|
<strong>빈 영역 개선에 특히 유효했던 프롬프트</strong>
|
|
dirt embankment · dry grass · vegetation · concrete · green tarp ·
|
|
shed · metal/corrugated roof · building wall · awning
|
|
</div>
|
|
</section>
|
|
|
|
<section id="run">
|
|
<h2>8. 실행 커맨드</h2>
|
|
<pre><span class="cmd">cd D:\MYCLAUDE_PROJECT\samgeo3-lab</span>
|
|
<span class="cmd">.\.venv\Scripts\Activate.ps1</span>
|
|
|
|
<span class="c"># 1차</span>
|
|
<span class="cmd">python scripts\multi_prompt_segment.py `
|
|
--image "data\DJI_20260306100802_0016.JPG" `
|
|
--tier compact --confidence 0.3 `
|
|
--output-dir "output\dji_0016_compact"</span>
|
|
|
|
<span class="c"># Gemini 누락 보강 (같은 폴더에 마스크 추가)</span>
|
|
<span class="cmd">python scripts\multi_prompt_segment.py `
|
|
--tier gap --confidence 0.25 `
|
|
--output-dir "output\dji_0016_compact"</span>
|
|
|
|
<span class="c"># 합본 빈 영역 보강</span>
|
|
<span class="cmd">python scripts\multi_prompt_segment.py `
|
|
--tier gap2 --confidence 0.22 `
|
|
--output-dir "output\dji_0016_compact"</span>
|
|
|
|
<span class="c"># 또는 성공 프롬프트만</span>
|
|
<span class="cmd">python scripts\multi_prompt_segment.py `
|
|
--tier gap2_core --confidence 0.22 `
|
|
--output-dir "output\dji_0016_compact"</span>
|
|
|
|
<span class="c"># 한 장으로 합치기</span>
|
|
<span class="cmd">python scripts\merge_multi_results.py `
|
|
--result-dir "output\dji_0016_compact" `
|
|
--image "data\DJI_20260306100802_0016.JPG" `
|
|
--max-side 2560</span></pre>
|
|
</section>
|
|
|
|
<section id="outputs">
|
|
<h2>9. 결과 파일</h2>
|
|
<table>
|
|
<thead>
|
|
<tr><th>경로</th><th>내용</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td><span class="path">output/dji_0016_compact/*_mask.png</span></td>
|
|
<td>프롬프트별 인스턴스 마스크</td>
|
|
</tr>
|
|
<tr>
|
|
<td><span class="path">output/dji_0016_compact/*_ann.png</span></td>
|
|
<td>개별 오버레이 (대용량 가능)</td>
|
|
</tr>
|
|
<tr>
|
|
<td><span class="path">output/dji_0016_compact/merged/combined_with_legend.png</span></td>
|
|
<td>전 클래스 합본 + 범례</td>
|
|
</tr>
|
|
<tr>
|
|
<td><span class="path">output/dji_0016_compact/merged/per_class_grid.png</span></td>
|
|
<td>클래스별 썸네일 격자</td>
|
|
</tr>
|
|
<tr>
|
|
<td><span class="path">output/dji_0016_compact/merged/index.html</span></td>
|
|
<td>브라우저 뷰 (결과 이미지)</td>
|
|
</tr>
|
|
<tr>
|
|
<td><span class="path">output/dji_0016_compact/merged/merge_summary.json</span></td>
|
|
<td>클래스·픽셀 통계</td>
|
|
</tr>
|
|
<tr>
|
|
<td><span class="path">prompts/dji_20260306_0016.json</span></td>
|
|
<td>tier · gap · gap2 · gap2_core 정의</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p>
|
|
결과 미리보기 HTML:
|
|
<a href="../output/dji_0016_compact/merged/index.html">merged/index.html</a>
|
|
(상대 경로; 로컬에서 파일 열기)
|
|
</p>
|
|
</section>
|
|
|
|
<section id="limits">
|
|
<h2>10. 한계 · 다음 단계</h2>
|
|
<ul>
|
|
<li>SAM 3.1 텍스트 세그는 <strong>개념 단위 인스턴스</strong>이지 픽셀 토지피복 분류기가 아님.</li>
|
|
<li>도상·전선·그림자 등 가늘거나 추상적인 개념은 텍스트만으로 약함.</li>
|
|
<li>클래스 간 겹침이 큼 → 우선순위 합성 / 배타 마스크 후처리 권장.</li>
|
|
<li>작은 시설물은 점·박스 인터랙티브(<code>enable_inst_interactivity</code>)가 유리.</li>
|
|
<li>초대형 정사는 <code>generate_masks_tiled</code> 로 VRAM·경계 품질 개선 가능.</li>
|
|
</ul>
|
|
<div class="callout">
|
|
<strong>권장 운영</strong>
|
|
compact → gap → gap2_core → merge → 과대 클래스 수동 제외 → 재 merge.
|
|
confidence는 0.22~0.35 구간에서 장면별로 조정.
|
|
</div>
|
|
</section>
|
|
|
|
<footer>
|
|
samgeo3-lab · DJI gap-fill report · 2026-07-15<br />
|
|
파일: <span class="path">docs/dji_gap_fill.html</span>
|
|
· 일반 사용법: <a href="usage.html">usage.html</a>
|
|
</footer>
|
|
</div>
|
|
</body>
|
|
</html>
|