Region: Maiquetia, Venezuela · Post-event: 2026-06-27 (SkySat) · Pre-event: 2026-05-21 / 2026-02-11 · Generated: 2026-07-01T04:42:13.385322Z
SkySat 위성영상(0.5 m, 4밴드)에 기반한 이 리포트는 총 30,558개의 OSM 건물 폴리곤을 세 단계로 분류합니다: 완전 파괴 151개 (0.49%), 부분 파괴/영향 2,742개 (8.97%), 영향 적음/없음 27,665개 (90.53%). 두 개의 상호 보완적 분류기 — Gradient Boosting Trees(GBT, 완전 파괴 담당)와 Logistic Regression(LR, 확장 감지 담당) — 이 v7 파이프라인 안에서 결합되어 검증(hand-labeled 86 damaged + 75 intact)과 약한 감독(MS AI for Good 라벨 필터링) 을 조합해 학습되었습니다.
모델은 정직한 5-fold 교차검증에서 GBT AUC 0.7633, LR AUC 0.8357, LR PR-AUC 0.8766를 기록했으며, 관측각도/기하정합 오차를 보정하는 v2 파이프라인과 사람 검수 hard-negatives 75개 도입을 통해 이전 버전 대비 PR-AUC를 10배 이상 개선했습니다.
| 모델 | 주 용도 | 특성 | 임계값 | Flagged |
|---|---|---|---|---|
| GBT (v7c) | 완전 파괴 판정 | 비선형 결정, sparse score → 극소수만 강한 양성 | 0.5 | 151 |
| LR (v7c) | 부분/영향 감지 | 선형/보정된 확률, 넓은 score 분포 → 경계 케이스 잡기 좋음 | 0.618 | 2,893 |
GBT는 학습된 결정 트리들이 특정 조건 조합을 만족할 때만 강한 양성 점수를 부여합니다. 이는 확신하는 완전 파괴 케이스에 이상적이며, 경계 케이스는 자연스럽게 낮게 나옵니다. 반대로 LR은 각 feature의 선형 가중합으로 부드러운 확률을 산출하므로 부분 파괴/영향처럼 완전 파괴 신호는 약하지만 여러 지표가 미묘하게 이상한 케이스를 잡아냅니다. 두 모델을 합쳐 사용하면 완전 파괴는 GBT가 담당하고, 부분 영향은 LR이 커버합니다.
v2_post_std_abs — post 영상 픽셀 표준편차 (붕괴 시 표면 거칠어짐)v2_post_grad_abs — post Sobel gradient 평균 (엣지/파편)v2_d_grad_ratio — post/pre gradient 비율 (지붕 파괴로 엣지 증가)v2_post_contrast_abs — post GLCM contrastv2_d_BRIGHT_ratio — post/pre 4-band 평균 비율 (콘크리트/잔해 노출)v2_d_homogeneity_diff — GLCM homogeneity 변화 (표면 균일성 변화)| 카테고리 | 정의 | Flagged | 비율 | Hand-damaged 포함 | Hand-intact 포함 |
|---|---|---|---|---|---|
| 완전 파괴 | GBT ≥ 0.5 | 151 | 0.49% | 86/86 | 0/75 |
| 부분 파괴 / 영향 | LR ≥ 0.618 AND GBT < 0.5 | 2,742 | 8.97% | 0/86 | 8/75 |
| 영향 적음 | 나머지 | 27,665 | 90.53% | 0/86 | 67/75 |
GBT score 분포는 오른쪽으로 매우 편중되어 있어 대다수 폴리곤은 0.01 이하의 매우 낮은 점수를 받고, 0.5를 넘는 것은 소수의 매우 확신하는 케이스뿐입니다. 반면 LR score는 부드럽게 분포되어 부분 영향 폴리곤(~0.3~0.6)까지 잡을 수 있습니다.
MS의 damage_pct_0m 값별로 우리 카테고리 분포를 확인. MS damage>0.5인 폴리곤 대부분이 완전 파괴 또는 부분 영향 카테고리에 속함. 반대로 MS==0인데 완전 파괴 카테고리로 잡힌 폴리곤은 MS가 놓친 damage일 가능성이 큼 (hand-label 검증 시 확인됨).
Hand-labeled 86 damaged buildings and 75 hand-confirmed intact buildings were used to validate the categorisation. Note that these labels were also used during training, so the in-sample agreement is optimistic; honest generalisation is measured by 5-fold CV.
| Metric | Value |
|---|---|
| Honest 5-fold CV LR AUC | 0.8357 |
| Honest 5-fold CV GBT AUC | 0.7633 |
| Honest 5-fold CV LR PR-AUC | 0.8766 |
| Honest 5-fold CV GBT PR-AUC | 0.81 |
| 완전 파괴에 포함된 hand-damaged | 86/86 |
| 완전 파괴에 포함된 hand-intact (FP) | 0/75 |
| 부분/영향에 추가된 hand-damaged | 0/86 |
| 영향 적음으로 분류된 hand-damaged (FN) | 0/86 |
# 1) polygon-TIF matching + spectral means
python extract_overlap_means.py
# 2) v2 geometry-aware feature extraction
python extract_texture_v2.py
# 3) merge with MS AI4Good labels if available
python merge_ms_labels.py
# 4) run v7 classifier
python analyze_damage_v7.py
# 5) or reuse existing model:
from joblib import load
m = load('analysis_v7/damage_model_v7.joblib')
X = your_polygon_features[m['features']]
Xs = (X - m['scaler'].mean_) / m['scaler'].scale_
proba_lr = 1/(1+np.exp(-(Xs @ m['lr'].coef_[0] + m['lr'].intercept_[0])))
proba_gbt = m['gbt'].predict_proba(Xs)[:,1]
category = np.where(proba_gbt >= m['threshold_gb'], 'full',
np.where(proba_lr >= m['threshold_lr'], 'partial', 'minor'))
analysis_v7/damage_assessment_categories.gpkg — 30,558 폴리곤 + damage_category 컬럼analysis_v7/damage_assessment_summary.csv — 요약 표analysis_v7/damage_assessment_report.html — 이 리포트analysis_v7/damage_map_v7.html — 인터랙티브 지도analysis_v7/damage_model_v7.joblib — 재사용 가능한 모델 (LR + GBT + scaler)analysis_v7/damage_classifier_v7.json — 계수/임계값/metricGenerated 2026-07-01T04:42:13.385322Z · Rapid mapping — Maiquetia earthquake response