diff --git a/configs/merge_groups_v4.txt b/configs/merge_groups_v4.txt index aad5e71..9a429db 100644 --- a/configs/merge_groups_v4.txt +++ b/configs/merge_groups_v4.txt @@ -11,13 +11,17 @@ # 그래서 tree canopy와 dense forest, building과 residential house는 # 일부러 같은 그룹에 둔다 — 2D에서 갈라봐야 중복 마스크만 나온다. +# factory structure 는 일부러 어느 집합에도 넣지 않는다 (2026-09-02). +# merge_labels.py 는 집합 밖 라벨을 그대로 통과시키므로 독립 클래스로 남는다. +# [building] 에 두면 공장 구조물이 일반 건물에 흡수돼 병합 후 되돌릴 수 없다. +# 16장 실측 86개. + # [building] building building rooftop building facade residential house warehouse -factory structure storage container blue roof red roof diff --git a/configs/sam_merge_status.json b/configs/sam_merge_status.json index 018ca14..395b71f 100644 --- a/configs/sam_merge_status.json +++ b/configs/sam_merge_status.json @@ -6,11 +6,12 @@ "epsilon_px": 1.5, "기준 런": "output/sam3/tune_t64 (확정 설정 8장) / 기준선은 output/sam3/YYX_run 69장", "프롬프트 파일": "prompts/discovery_v4.txt (94개). 기준선은 discovery_v1.txt (85개)", - "집합 정의": "configs/merge_groups_v4.txt (12집합). 기준선은 merge_groups.txt", + "집합 정의": "configs/merge_groups_v4.txt (11집합 + 집합 밖 3종: factory structure, 콘 2종)", "타일": "6×4 = 24개, overlap 10%, 타일 크기 1365×1365. 기준선은 4×3 (2048×1820)", "검출 설정": "conf 0.10 · NMS iou 0.40 · 같은 라벨 병합 gap 8px · --wide-in-tiles. 기준선 conf 0.25, 통짜 분리", "공정 보기 사진": "확정 설정 8장 (기준선 무라벨 3.5~52.1% 분포에서 고름)", - "확정 후보 설정": "prompts/discovery_v4.txt (94개) · configs/merge_groups_v4.txt · --wide-in-tiles · --cols 6 --rows 4 · --conf 0.10 · NMS 0.40 · --merge (gap 8px) · 병합 gap 2px" + "확정 후보 설정": "prompts/discovery_v4.txt (94개) · configs/merge_groups_v4.txt · --wide-in-tiles · --cols 6 --rows 4 · --conf 0.10 · NMS 0.40 · --merge (gap 8px) · 병합 gap 2px", + "claim 규칙": "configs/claim_rules.txt — vehicle : 0.5 : 지붕 11종 + 방수포/보호시트" }, "steps": [ { @@ -81,9 +82,21 @@ }, { "id": "M3", - "name": "gap 값 조정", - "state": "todo", - "detail": "외곽선 인접 판정 1~3 px. 파일럿 기준 2 px 로 시작." + "name": "gap 값 조정 — 2px 유지", + "state": "done", + "detail": "사진 4장(폴리곤 3,280)으로 gap 0~32px 스윕. 꺾이는 지점이 없는 매끄러운 곡선이다. 폴리곤 0px 2,081 · 2px 2,032 · 3px 2,014 · 8px 1,954 · 16px 1,801 · 32px 1,574. 무라벨은 4.60% → 3.75% 로 거의 안 움직인다. 1~3px 구간 차이는 폴리곤 2.4%, 무라벨 0.13pp 로 노이즈 수준이라 2px 를 유지한다. 과다 병합은 16px 부터 보인다(vehicle 240→229, 32px 에서 209). 콘은 gap 32px 에서도 65개 그대로 — 집합 밖이라 병합을 안 탄다. 소요는 사진당 약 5초(gap 2px)." + }, + { + "id": "M4", + "name": "단계 비교 뷰어", + "state": "done", + "detail": "tools/make_stage_viewer.py 신규. 같은 사진에서 검출 → claim → 병합을 갈아끼우고 바뀐 폴리곤만 빨갛게 강조한다. claim 은 563개 재배정 (white roof→white vehicle 194 등 지붕 오검을 차량으로), 병합은 1,033개가 둘 이상 합쳐진 것. 폴리곤 11,169 → 11,169 → 6,370." + }, + { + "id": "M5", + "name": "factory structure 를 [building] 에서 분리", + "state": "done", + "detail": "사용자 지적. 공장 구조물이 일반 건물에 흡수되면 병합 후 되돌릴 수 없다. 집합 밖으로 빼면 passthrough 로 독립 클래스가 된다. 16장 실측 24개. 부작용으로 building 이 466 → 490 으로 늘었다 — 전에는 factory structure 폴리곤이 건물 사이 다리 노릇을 해 여러 건물을 한 덩어리로 잇고 있었다. 라벨 14 → 15종, 폴리곤 6,370 → 6,418." } ], "issues": [ @@ -101,11 +114,7 @@ }, { "state": "open", - "text": "orange traffic cone / yellow safety cone 은 어느 집합에도 없어 검출 52 폴리곤이 버려진다. [cone] 그룹이 주석 처리돼 있음 — 나란히 놓인 콘이 한 덩어리로 융합된다는 이유." - }, - { - "state": "open", - "text": "검출 0 인 프롬프트 8개 (plowed field, rice paddy, vinyl greenhouse tunnel, gabion wall, road embankment slope, riprap slope, water surface, reservoir) — 유지할지 뺄지 미정." + "text": "확정 설정 16장에서 검출 0 인 프롬프트 12개: residential house, plowed field, commercial bus, plastic greenhouse, vinyl greenhouse tunnel, greenhouse roof, green wire fence, road embankment slope, riprap slope, bridge, water surface, yellow grass field. 16장은 69장의 23% 라 대상이 없었을 뿐일 수 있다 (bridge 는 다리 있는 사진에서만 나온다). 지워도 94→82개라 배치 청크가 6으로 그대로여서 속도 이득이 없다 — 78개 이하로 줄여야 5청크가 된다. 69장 전체를 돌린 뒤 판단할 것." }, { "state": "rejected", diff --git a/docs/pilot/sam_merge.html b/docs/pilot/sam_merge.html index 3aa0ecd..52e6bde 100644 --- a/docs/pilot/sam_merge.html +++ b/docs/pilot/sam_merge.html @@ -55,11 +55,11 @@ border-radius:6px;padding:5px 8px;font:inherit;font-size:13px}
1단계는 미검출을 없애는 것이다. 지표는 '무라벨 화면%' — 마스크 합집합으로 재서 겹침을 뺀 값. 목표 5% 이하, 8장 평균 3.6% 로 달성. 2단계는 집합으로 묶고 외곽선이 gap px 이내로 인접한 폴리곤을 합치는 것.
-생성 2026-09-02 09:19 · 집계 tune_t64
생성 2026-09-03 13:19 · 집계 tune_t64
왼쪽 목록에서 라벨을 켜고 끈다. 휠 확대, 드래그 이동. 새 창: 1. SAM 검출 — 확정 설정 (16장) · 2. 집합 병합 후 (gap 2px) · 참고: 기준선 검출 (conf 0.25, 4×3)
+ + + +왼쪽 목록에서 라벨을 켜고 끈다. 휠 확대, 드래그 이동. 새 창: 단계 비교 (검출 → claim → 병합) · 검출만 보기 (라벨 82종) · 병합만 보기
| 집합 | 프롬프트(검출>0/전체) | 폴리곤 | 폴리곤% | 면적% | 병합 후 폴리곤 | 줄어든 비율 | 병합 후 면적% | ||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| vegetation | 6 / 7 | 3,035 | 27.2% | 16.63% | -1,766 | 42% | 16.28% | +1,766 | 42% | 16.09% | |
| building | 17 / 21 | 2,218 | 19.9% | 15.18% | -466 | 79% | 12.97% | +490 | 78% | 12.57% | |
| structure | 4 / 4 | 1,347 | 12.1% | 0.46% | 1,079 | 20% | 0.57% | ||||
| ground | 4 / 4 | 939 | 8.4% | 7.71% | -573 | 39% | 9.09% | +573 | 39% | 8.99% | |
| road | 6 / 7 | 839 | 7.5% | 25.09% | -247 | 71% | 25.72% | +247 | 71% | 25.41% | |
| fence | 4 / 5 | 768 | 6.9% | 0.90% | -702 | 9% | 1.20% | +702 | 9% | 1.18% | |
| vehicle | 13 / 14 | 663 | 5.9% | 0.80% | -576 | 13% | 1.08% | +576 | 13% | 1.06% | |
| stored material | 9 / 9 | 536 | 4.8% | 0.75% | -450 | 16% | 1.03% | +450 | 16% | 1.02% | |
| farmland | 7 / 8 | 460 | 4.1% | 29.24% | -156 | 66% | 27.59% | +156 | 66% | 27.27% | |
| 없음 | 2 / 2 | 120 | 1.1% | 0.00% | -120 | 0% | 0.01% | +144 | -20% | 1.43% | |
| retaining wall | 3 / 3 | 100 | 0.9% | 0.28% | -99 | 1% | 0.39% | +99 | 1% | 0.38% | |
| slope | 2 / 4 | 86 | 0.8% | 2.73% | -85 | 1% | 3.79% | +85 | 1% | 3.75% | |
| water | 5 / 6 | 58 | 0.5% | 0.23% | 51 | 12% | 0.28% | @@ -270,11 +271,12 @@ border-radius:6px;padding:5px 8px;font:inherit;font-size:13px} epsilon_px