HyperAI超神経

リモート センシング リソースのリリース (パート 1): オープン ソース コードを使用して土地分類モデルをトレーニングする

特色图像

土地分類は、リモート センシング画像の重要なアプリケーション シナリオの 1 つです。この記事では、土地分類のいくつかの一般的な方法を紹介し、オープンソースのセマンティック セグメンテーション コードを使用して土地分類モデルを作成します。

リモートセンシング画像は、地理情報の測量や地図作成のための重要なデータであり、地理状況の監視や地理情報データベースの更新に重要な役割を果たしています。

近年、国家衛星画像取得能力の向上に伴い、リモートセンシング画像データの収集効率が大幅に向上し、低空間解像度、高空間解像度、広視野角、レーダー等のセンサーが混在するパターンが形成されています。

軌道上の Landsat 2 は、NASA の Landsat プログラムの 2 番目の衛星であり、中解像度で地球規模の季節データを取得するように設計されています。

さまざまな目的に応じた地球観測のニーズを満たすさまざまなセンサーが用意されています。しかし、リモートセンシングの画像データのフォーマットが統一されなかったり、ストレージ容量を多く消費するなどの問題も発生していました。画像処理プロセスでは、大きな課題に直面することがよくあります。

土地の分類を例に挙げると、かつてはリモートセンシング画像が土地の分類に使用されていました。多くの場合、ラベル付けと統計には大量の人的資源が必要ですが、土地の種類が複雑で多様であるため、人為的な統計上の誤差は避けられず、数か月から 1 年かかる場合もあります。

人工知能技術の発展により、リモートセンシング画像の取得、処理、分析はよりインテリジェントかつ効率的になりました。

一般的に使用される土地分類方法

一般的に使用される土地分類方法は、基本的に次の 3 つのカテゴリに分類されます。GIS に基づく従来の分類方法、機械学習アルゴリズムに基づく分類方法、およびニューラル ネットワーク セマンティック セグメンテーションを使用した分類方法。

従来の手法:GIS地理情報システム分類を利用 

GISはリモートセンシング画像を処理する際によく使われるツールで、正式名称はGeographic Information System、地理情報システムとも呼ばれます。リレーショナル データベース管理、効率的なグラフ アルゴリズム、補間、パーティショニング、ネットワーク分析などの高度なテクノロジを統合します。空間分析をシンプルかつ簡単にします。

GISを用いたエリザベス川東支流域の空間解析

GIS空間解析技術を活用し、対応する地形の空間的位置、分布、形態、形成、進化などの情報を取得でき、土地の特徴を把握し、判断します。

機械学習: アルゴリズムを使用した分類 

従来の土地分類方法には、教師付き分類と教師なし分類が含まれます。

教師あり分類は、トレーニング分類法とも呼ばれます。これは、確認されたカテゴリのトレーニング サンプル ピクセルを使用して、未知のカテゴリのピクセルを比較および識別することを指します。次に、土地全体の種類の分類を完了します。

教師あり分類では、トレーニング サンプルの精度が不十分な場合、通常、トレーニング サンプルのピクセルの精度を確保するためにトレーニング領域が再選択されるか、視覚的に変更されます。

教師あり分類後のリモートセンシング画像(左)赤が建設用地、緑が非建設用地

教師なし分類とは、事前にカテゴリ標準を事前に取得する必要がなく、リモート センシング画像内のピクセルのスペクトル特性に完全に基づいて統計的分類を実行することを意味します。この方法は高度に自動化されており、人の介入はあまり必要ありません。

サポート ベクター マシンや最尤法などの機械学習アルゴリズムの助けを借りて、教師あり分類と教師なし分類の効率と精度を大幅に向上させることができます。 

ニューラル ネットワーク: セマンティック セグメンテーションと分類の活用 

セマンティック セグメンテーションは、環境シーンに対する機械の理解を強化できるエンドツーエンドのピクセル レベルの分類方法であり、自動運転や土地計画などの分野で広く使用されています。

ディープ ニューラル ネットワークに基づくセマンティック セグメンテーション テクノロジは、ピクセル レベルの分類タスクを処理する際に、従来の機械学習手法よりも優れたパフォーマンスを発揮します。

セマンティックセグメンテーションアルゴリズムを使用して、特定の場所のリモートセンシング画像を識別および判断します

高解像度のリモート センシング画像には、複雑なシーン、豊富な詳細情報、および地上物体間の不確実なスペクトルの違いが含まれているため、セグメンテーションの精度が低くなったり、無効なセグメンテーションが発生したりする可能性があります。

セマンティック セグメンテーションを使用して高解像度および超高解像度のリモート センシング画像を処理し、
画像のピクセル特徴をより正確に抽出でき、特定の地形を迅速かつ正確に識別できるため、リモートセンシング画像の処理速度が向上します。

セマンティック セグメンテーションに一般的に使用されるオープンソース モデル

ピクセルレベルのセマンティック セグメンテーションに一般的に使用されるオープン ソース モデルには、FCN、SegNet、DeepLab などがあります。

1. 完全畳み込みネットワーク (FCN)

特性:エンドツーエンドのセマンティック セグメンテーション
アドバンテージ:画像サイズに制限がなく、多用途かつ効率的
欠点:リアルタイムの推論を迅速に実行することができず、処理結果は十分に正確ではなく、画像の詳細に敏感ではありません。

2. セグネット 

特性:最大プーリング インデックスをデコーダに移動し、セグメンテーションの解像度を向上させました。
アドバンテージ:トレーニング速度は速く、効率が高く、メモリの使用量も少なくなります。
欠点:このテストはフィードフォワードではないため、MAP ラベルを決定するには最適化が必要です。

3.ディープラボ 

DeepLabはGoogle AIによってリリースされ、セマンティック セグメンテーション タスクを解決するには DCNN を使用することが推奨されています。これには、v1、v2、v3、および v3+ の 4 つのバージョンが含まれます。

DeepLab-v1 プーリングによる情報損失の問題を解決するために、拡張畳み込み法を提案し、受容野を増加させてもパラメータの数は増加せず、情報が失われることはありません。

DeepLab-v1 モデル プロセスのデモ


DeepLab-v2 は v1 をベースにしており、マルチスケール並列処理を追加しました。異なるサイズのオブジェクトを同時にセグメント化する問題を解決します。

DeepLab-v3 拡張畳み込みをカスケード モジュールに適用し、ASPP モジュールも改良されました。

DeepLab-v3+ SPP モジュールはエンコーダ/デコーダ構造で使用されます。オブジェクトの微細なエッジを復元できます。セグメンテーションの結果を調整します。

モデルトレーニングの準備

目的: DeepLab-v3+ に基づいて、土地分類の 7 分類モデルを開発します。

データ:Google Earth による特定地域のリモート センシング画像 304 枚。元の画像に加えて、専門的に注釈が付けられたサポート 7 カテゴリ イメージ、7 カテゴリ マスク イメージ、25 カテゴリ イメージ イメージ、および 25 カテゴリ マスク イメージも含まれています。画像解像度は560*560、スペース割り当て率は1.2mです。

元画像と対応する7分類画像の貼り合わせ例
上が元画像、下が7分類画像です。


パラメータ調整コードは次のとおりです。

net = DeepLabV3Plus(backbone = 'xception')criterion = CrossEntropyLoss()optimizer = optim.SGD(net.parameters(), lr=0.05, momentum=0.9,weight_decay=0.00001) lr_fc=lambda iteration: (1-iteration/400000)**0.9exp_lr_scheduler = lr_scheduler.LambdaLR(optimizer,lr_fc,-1)

トレーニングの詳細

計算能力の選択:NVIDIA T4
トレーニングの枠組み:PyTorch V1.2
反復回数:600エポック
トレーニング期間:約50時間
IoU:0.8285 (トレーニングデータ)
AC:0.7838 (トレーニングデータ)

データセットのリンク: https://openbayes.com/console/openbayes/datasets/qiBDWcROayo

詳細なトレーニング プロセスへの直接リンク: https://openbayes.com/console/openbayes/containers/dOPqM4QBeM6

リモートセンシング画像における土地の7分類に関する公開チュートリアルの詳細

  チュートリアルの使用法 

チュートリアルのサンプル表示ファイルは、predict.ipynb です。このファイルを実行すると、環境がインストールされ、既存のモデルの認識効果が表示されます。

  プロジェクトパス 

–  テスト画像のパス:

semantic_pytorch/out/result/pic3

–  マスク画像のパス:

semantic_pytorch/out/result/label

–  画像パスを予測します。

semantic_pytorch/out/result/predict

–  トレーニングデータリスト:train.csv

–  テストデータリスト:テスト.csv

  使用説明書 

トレーニングされたモデルは semantic_pytorch に入り、トレーニングされたモデルは model/new_deeplabv3_cc.pt に保存されます。 

モデルはDeepLabV3plusを使用しており、学習パラメータのうち、Lossはバイナリクロスエントロピーを使用しています。エポックは 600、初期学習率は 0.05 です。

  トレーニングの指示:

python main.py

トレーニングしたモデルを使用する場合は、モデル フォルダーに保存されている fix_deeplab_v3_cc.pt を使用し、predict.py で直接呼び出します。

  予測の指示:

python predict.py

チュートリアルのアドレス:https://openbayes.com/console/openbayes/containers/dOPqM4QBeM6

モデル作者:

ワン・ヤンシンさんは、黒竜江大学ソフトウェア工学大学院 2 年生で、現在 OpenBayes でインターンをしています。

質問 1: このモデルを開発するために、どのようなチャネルを使用し、どのような資料を参照しましたか?

王延新:主に技術コミュニティ、GitHub、その他のチャネルを通じて、DeepLab-v3+ の論文や関連プロジェクトの事例をいくつか確認し、どのような落とし穴があるのか、どのように克服するかを事前に学びました。そうすることで、その後の作業中にいつでもクエリを実行して問題を解決できるようになります。モデル開発プロセスは比較的よく準備されています。

質問 2: プロセス中にどのような障害に遭遇しましたか?どのようにしてそれを克服しましたか?

王延新:データ量が十分ではないため、IoU と AC のパフォーマンスが中程度になります。次回は、より豊富なデータ量を持つパブリック リモート センシング データ セットを使用してみてください。

質問 3: リモート センシングに関して、他にどのような方向に挑戦したいと考えていますか?

王延新:今回は陸地の分類です。次は機械学習やリモートセンシング技術を使って海洋の地形や海洋要素を解析したり、音響技術を組み合わせて海底地形の特定や判定を試みたいと考えています。


このトレーニングで使用されるデータの量は少なく、トレーニング セットの IoU と AC パフォーマンスは平均的です。一般に、モデルのトレーニングに既存のリモート センシング データ セットを使用することもできます。トレーニング データが豊富であればあるほど、モデルのパフォーマンスは向上します。

このシリーズの(次の)記事では、11 の主流のパブリック リモート センシング データセットを要約し、分類しました。この記事で提供されているトレーニングのアイデアを使用し、必要に応じて選択して、より完全なモデルをトレーニングできます。

参照:

http://tb.sinomaps.com/CN/0494-0911/home.shtml
file:///Users/antonia0912/Downloads/2018-6A-50.pdf
https://zhuanlan.zhihu.com/p/75333140
http://www.mnr.gov.cn/zt/zh/zljc/201106/t20110619_2037196.html