feat(766-2): 외곽 안 구멍을 둘레 지면에서 매끈하게 메움 — 다듬기 판 외곽 = 바탕 필터 외곽 · 쌍조화 메움 · implicit 길잡이 · 품질 지표 「메운 넓이」
- 다듬기 판(classification_refine · ptd_refine)은 바탕 필터 지면점으로 외곽을 그림 — 다듬기가 지운 자리 = 외곽 안 구멍 · 외곽 자체는 안 넓힘(엔진이 바탕 마스크를 모델 짓기에 넘김 · 지면점 저장본은 안 지음) - dtm 격자: 땅 칸에서 틈 닫기(3 m) 넘게 먼 칸 + 그 둘레 빈 칸을 쌍조화(scikit-image inpaint_biharmonic · 이미 씀)로 메움 · 작은 틈은 지금처럼 가까운 칸 값 - 라플라스(막 펴기)는 버림 — 홀로 남은 땅 점마다 고깔이 생겨 용화 새 자리 튐 8.2 %(쌍조화 6.4 %) - implicit: 메운 dtm 칸을 3 m 간격 길잡이 중심점으로 더함 — 구멍 칸 튐 3.1 → 0.8 %(dtm 과 같은 면) · 중심점 뽑기 칸은 자기 외곽 넓이 그대로 - 품질 지표 ⑤ 메운 넓이 m² · % — dtm `filled_mask` · B04 값 목록 한 줄 · QUALITY_VERSION 2 - 모델 지문에 hole_fill 더함 — 다음 전처리 때 모델을 다시 지음 - 지킴 시험 test_766_2_hole_fill — 평면 · 곡면 비탈 그대로 이음 · 작은 틈 안 건드림 · 바탕 외곽 그대로 · dtm · implicit 구멍 0 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -306,6 +306,10 @@ def run_surface_analysis(
|
||||
|
||||
for filter_key in source_filters:
|
||||
masks[filter_key] = _mask_for(filter_key)
|
||||
# 다듬기 판의 바탕 마스크 — 모델 외곽용(766-2) · 지면점 저장본은 안 지음
|
||||
outer_masks = {
|
||||
b: _mask_for(b) for k in source_filters if (b := base_filter(k)) not in (None, *masks)
|
||||
}
|
||||
ground_summary = summarize_masks(data, masks)
|
||||
# 지면점 비율은 필터가 조용히 실패해도 유일하게 드러나는 신호다 — 반드시 남긴다.
|
||||
for filter_key, entry in ground_summary.items():
|
||||
@@ -349,7 +353,12 @@ def run_surface_analysis(
|
||||
_report(70 + int(percent * 0.2), "surface_model", detail)
|
||||
|
||||
manifest = build_all_terrain_models(
|
||||
data, masks, models_dir, config, force=rebuild, progress=_model_progress
|
||||
data,
|
||||
{**outer_masks, **masks},
|
||||
models_dir,
|
||||
config,
|
||||
force=rebuild,
|
||||
progress=_model_progress,
|
||||
)
|
||||
logger.info(
|
||||
"B04 지표면 모델 빌드 완료: status=%s (%.1fs)",
|
||||
|
||||
Reference in New Issue
Block a user