Communitygithub.com

変化検出と時空間分析

登録ずれ、放射ドリフト、季節変動、分類誤差という四大偽装から真の表面変化を分離する、プロダクション品質のGeoAIスキルです。

変化検出と時空間分析 とは?

このスキルは、リモートセンシングデータを用いた変化検出と時空間分析のための包括的なワークフローを提供します。主な目的は、誤登録、放射量ドリフト、季節性、分類誤差という4つの主要な疑似変化を制御し、信頼性の高い変化マップを生成することです。対応プラットフォームは、コマンドラインツール、Python(xarray、scikit-learn)、Google Earth Engine、深層学習フレームワーク(geo-deep-learning)など多岐にわたります。具体的な手法として、2時期の指数差分、事後分類比較(PCC)、変化ベクトル分析(CVA)、時系列トレンド・ブレイク分析(BFAST/LandTrendr/CCDC)、SARペアのログ比、ベクターデータのジオメトリ・属性差分などを状況に応じて選択します。特に重要なのは、閾値設定の客観性(ヒストグラム統計量または教師あり閾値)と、層別サンプリングに基づくOlofssonプロトコルによる精度評価(ユーザー精度・生産者精度・誤差調整済み面積推定値と信頼区間の報告)であり、生のピクセルカウントを面積として報告する誤りを防止します。このスキルは、変化検出プロジェクトの失敗パターン(疑似エッジ変化、季節差の誤認、独立したレガシーマップを用いたPCCなど)を明確に定義し、検出結果の頑健性を評価するための感度分析(k±0.5での面積変化)を必須としています。

対応~Claude Code~Codex CLI~Cursor
npx skills add muend/geoai-skills

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

変化検出と時空間分析 は何をしますか?

目的: 真の地表変化を、4つの主要な偽装 — 誤登録、放射ドリフト、季節変動、分類誤差 — から分離すること。 以下の各メソッドはこれらのいずれかを制御するために存在します。 制御をスキップすれば、自信に満ちた「何もない」マップが生成されます。

前提条件(変化検出の成否を分ける)

  1. 共登録: 時期間のサブピクセル位置合わせ(AROSICS または 手動タイポイント)。半ピクセルのずれで、エッジ形状の幻影変化が いたるところに発生。確認: シャープな特徴をフリッカー比較。
  2. 放射量の一貫性: 同じ処理レベル(表面反射率)、 可能な限り同じセンサー。異種センサーを混在させる場合は、 ハーモナイズ(例: Landsat↔Sentinel-2 HLS)または相対正規化(PIF)を実施。
  3. 同一季節・フェノロジー段階(2時期作業の場合)— 5月と9月のペアは「夏季」を検出する。 季節が合わない場合は、代わりにコンポジットまたは時系列メソッドを使用。
  4. 雲・陰マスクを全期間にわたって共通積; 相互に有効なピクセルのみを分析し、そのカバレッジ率を報告。

メソッド選択

状況メソッド
2時期、連続的な「どの程度」指数差分 (ΔNDVI, ΔNBR...) + 統計的閾値処理
2時期、カテゴリカルな「何から何へ」事後分類比較(強力な分類器がある場合のみ)
2時期、多変量ロバスト変化ベクトル分析 (CVA); センサーロバスト検出には MAD/iMAD
密なスタック、漸進的+急激トレンド+ブレイク分析 (BFAST/LandTrendr/CCDC ファミリー; アーカイブ規模 → google-earth-engine)
構造変化(建物)DL 2時期セグメンテーション(Siamese U-Net)→ geo-deep-learning
SARペア(雲、災害)較正済み後方散乱のログ比 + スペックル処理
ベクター版(区画、建物)許容誤差付きジオメトリ+属性差分(下記参照)

閾値処理 — 決して目視で決めない

差分画像には防御可能な閾値が必要: 差分ヒストグラム上の μ ± k·σ(kを報告)、 二峰性の場合は大津の閾値、またはラベル付き変化/非変化サンプルで較正された教師あり閾値。 選択したカットをマークしたヒストグラムを納品。感度: k-0.5 と k+0.5 での変化面積を報告; ストーリーが反転する場合、検出は脆弱である — その旨明記。

事後分類比較 (PCC) — 慎重に扱う

PCC誤差は複合する: 90%精度の2つのマップで変化精度は ≤約81%、 バイアス誤差は体系的な偽の遷移を生む。ルール:

  • 2時期の画像に対して1つの分類器を使用(同一凡例、同一特徴量) し、2つの独立したレガシーマップは使わない。
  • 単なる変化/非変化のバイナリではなく、完全な遷移行列(from-class → to-class 面積) を構築 — あり得ない遷移(1年で水→森林)は誤検出器となる。
  • 差分前に全期間にわたって一貫した最小マッピング単位を適用。

時系列(密なスタック)分析

  • ギャップ補完、雲マスク済み指数スタックを構築(xarray、時間次元)。
  • トレンド+季節性+ブレイクを分解; ピクセル単位の線形トレンドは有意性検定 (Mann-Kendall + Sen's slope で単調トレンドを — そして数百万ピクセルにわたって FDR補正を行わなければ、「緑化マップ」はノイズになる)。
  • ブレイクの日付をラベル付け — 存在だけでなく、タイミングが通常分析上の ペイロード(いつ伐採が始まったか?)。
  • 検出されたブレイクを、記録が存在する限り既知の事象(火災、建設許可、 災害日)と照合。

ベクター変化監査(同一レイヤの2版)

  • 安定したIDが存在する場合はそれで特徴をマッチング; それ以外は IoU 閾値による空間マッチング(報告)。
  • 分類: 追加 / 削除 / ジオメトリ変化(面積差分 > 許容誤差) / 属性変化。許容誤差はデジタイズのジッターを吸収 — 地籍品質では1-2m、 画像からデジタイズされたものはより大きめ。
  • クラスごとに面積差分を合計し、合計を調整; 説明できない残差 = マッチングバグ。

精度評価(成果物の背骨)

変化は稀であるため、ランダムサンプリングは安定ピクセルに労力を浪費 — 層別サンプリング(層: 変化/非変化 または 遷移別)を使用し、 良プラクティス面積推定(Olofsson et al. プロトコル)を実施: 層ごとの ユーザー精度/生産者精度 および マップ誤差調整済みの面積推定値と信頼区間を報告。 変化マップの生ピクセルカウントはバイアスのかかった面積推定値である — 常に調整後の数値を示す。

報告テンプレート

## 変化: <現象>, <T1> → <T2 または期間>
- データ: <センサー/レベル>, 共登録RMSE: <px>, 有効オーバーラップ: <%>
- メソッド: <...> 閾値/パラメータ: <...> (感度: <安定/脆弱>)
- 遷移: <行列 または 面積±CI付き上位5リスト>
- 精度: 層別 n=<>, UA/PA クラス別、調整面積 ± CI
- 偽装制御: 季節 <一致?>, 放射量 <ハーモナイズ?>

落とし穴チェックリスト

  • 誤登録によるエッジ状の幻影変化。
  • 土地被覆変化と称する季節差。
  • 独立に作成された2つのレガシーマップによるPCC。
  • 「見た目が良かったから」選ばれ、感度分析がない閾値。
  • 面積として報告された生の変化ピクセルカウント(誤差調整なし)。
  • 多重検定制御のないトレンドマップ。
  • フィルタリングされていない線形パワー画像でのSAR変化。

実行契約

  • ワークフロー: 変化の問いを定義; 範囲、季節、放射量、解像度、登録をハーモナイズ; メソッドを選択; 変化を推定; 検証; 不確実性を報告。
  • 判断ルール: 連続シグナルの比較には直接差分のみ使用、カテゴリカル変化には事後分類比較(安定したクラス凡例の場合)、密な時系列スタックが存在する場合は時系列メソッドを使用。
  • 検証プロトコル: 共登録、有効オーバーラップ、閾値感度、遷移説明、精度調整面積と信頼区間を定量化。
  • 失敗モード: 季節、センサー、雲、登録、または独立マップ誤差がシグナルを説明できる場合、因果関係を主張する変化を却下。
  • 成果物: 変化マップ、遷移またはトレンド表、パラメータ記録、検証サンプルとメトリクス、調整面積推定値、および限界。
  • ソース鮮度: バージョン依存の製品やAPIを使用する前に信頼できるソースレジストリを参照し、確認日を記録。

関連スキル