【要約】Google Earth Engineで始める衛星画像解析 〜Sentinel-2とDeepLabV3+で「雪」を自動検出してみた [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
山岳地帯の積雪を観測したい実務者が、物理的な制約により正確なデータ収集に直面している。広大な山岳地帯では、以下の課題が存在する。
- ・センサー設置の困難さ
- ・通信環境の悪さによるデータ回収の遅延
- ・従来のNDSI(正規化差雪指数)による誤判定(雲や岩肌との混同)
- ・ピクセル単独の判定による空間情報の欠如
// Approach
筆者が、GEEによるデータ取得とDeepLabV3+を用いた画像解析を組み合わせたシステムを構築した。解析のプロセスは以下の通りである。
- ・GEEを用いてSentinel-2の全アーカイブから富士山周辺のデータを取得
- ・NDSIによる数式ベースの判定(B3とB11の差を利用)を実施
- ・SCL(Scene Classification Layer)を教師ラベルとしてDeepLabV3+を学習
- ・ResNet-50をバックボーンとし、DiceLossとCrossEntropyLossを併用
// Result
筆者が両手法のIoU(Intersection over Union)を比較した結果、深層学習の優位性が示された。定量的な結果は以下の通りである。
- ・NDSIのIoU:0.375
- ・DeepLabV3+のIoU:0.516
- ・DeepLabV3+はRecall(再現率)において大幅な改善を達成
- ・一方で、雲の検出精度は学習データ不足によりNDSIに劣る結果となった
Senior Engineer Insight
> GEEによるデータアクセスの民主化は、開発スピードを劇的に向上させる。大規模な地理空間データの収集・前処理をクラウドへオフロードできる点は、実戦において極めて強力だ。ただし、本件のように「自動ラベル(SCL)」を教師データとする手法は、ラベルのノイズがモデルの限界を規定する。実運用に投入する際は、高品質なアノテーションデータの確保、あるいはノイズに強い損失関数の選定が不可欠である。