内容の概要:土地分類は、リモートセンシング画像の重要なアプリケーションシナリオの1つです。この記事では、土地分類のいくつかの一般的な方法を紹介し、オープンソースのセマンティックセグメンテーションコードを使用して土地分類モデルを作成します。
オリジナル: HyperAIスーパー神経
キーワード:リモートセンシングデータセット、セマンティックセグメンテーション、マシンビジョン
リモートセンシング画像は、地理情報の測量とマッピングの開発にとって重要なデータであり、地理的な国の状況の監視と地理情報データベースの更新にとって非常に重要です。これらは、軍事、商業、および人々の生活の分野でますます重要な役割を果たしています。
近年、国の衛星画像取得能力の向上に伴い、リモートセンシング画像データ収集の効率が大幅に向上し、低空間分解能、高空間分解能、広視野角、複数のセンサーが共存するパターンを形成しています。角度、およびレーダー。
この衛星は、NASAのランドサットプログラムの2番目であり、中解像度で世界の季節データを取得するために1975年に打ち上げられました。
センサーの全範囲は、さまざまな目的での地球観測のニーズを満たしますが、リモートセンシング画像データ形式の一貫性の欠如や大量のストレージスペースの消費などの問題も引き起こし、画像処理プロセスでより大きな課題に直面することがよくあります。
土地の分類を例にとると、過去には、リモートセンシング画像を使用して土地を分類していました。土地の分類は、土地の複雑さと多様性と相まって、ラベル付けと統計に多くの人的資源に依存し、数か月から1年もかかりました。タイプ、人間の統計エラーは必然的に発生します。
人工知能技術の開発により、リモートセンシング画像の取得、処理、分析はよりインテリジェントで効率的になりました。
一般的な土地分類方法
一般的に使用される土地分類方法は、基本的に3つのカテゴリに分類されます。GISに基づく従来の分類方法、機械学習アルゴリズムに基づく分類方法、ニューラルネットワークのセマンティックセグメンテーションを使用する分類方法です。
従来の方法:GIS地理情報システム分類を使用
GISは、リモートセンシング画像を処理するためによく必要とされるツールであり、そのフルネームは地理情報システムとも呼ばれる地理情報システムです。
リレーショナルデータベース管理、効率的なグラフィックアルゴリズム、補間、ゾーニング、ネットワーク分析などの高度なテクノロジーを統合して、空間分析をシンプルかつ簡単にします。
GISの空間分析技術を使用して、対応する土地タイプの空間的位置、分布、形態、形成、および進化を取得し、土地の特性を識別および判断することができます。
機械学習:アルゴリズムを使用した分類
従来の土地分類方法には、教師あり分類と教師なし分類が含まれます。
教師あり分類は、トレーニング分類法とも呼ばれ、確認済みカテゴリのトレーニングサンプルピクセルを使用して、不明なカテゴリのピクセルを比較および識別し、土地タイプ全体の分類を完了します。
教師あり分類では、トレーニングサンプルの精度が十分でない場合、トレーニング領域は通常、トレーニングサンプルピクセルの精度を確保するために再選択または視覚的に変更されます。
教師なし分類とは、事前に分類基準を取得する必要がなく、リモートセンシング画像のピクセルのスペクトル特性に基づいて統計的分類を行うことを意味します。この方法は高度な自動化を備えており、人間の介入はほとんどありません。
サポートベクターマシンや最尤法などの機械学習アルゴリズムの助けを借りて、教師あり分類と教師なし分類の効率と精度を大幅に向上させることができます。
ニューラルネットワーク:セマンティックセグメンテーションと分類の使用
セマンティックセグメンテーションは、機械の環境シーンの理解を強化できるエンドツーエンドのピクセルレベルの分類方法であり、自動運転や土地計画などの分野で広く使用されています。
ディープニューラルネットワークに基づくセマンティックセグメンテーションテクノロジーは、ピクセルレベルの分類タスクを処理する際に、従来の機械学習手法よりも優れたパフォーマンスを発揮します。
高解像度のリモートセンシング画像には、複雑なシーン、豊富な詳細、および地上オブジェクト間の不確実なスペクトルの違いがあり、セグメンテーションの精度が低くなり、セグメンテーションが無効になる可能性があります。
セマンティックセグメンテーションを使用して高解像度および超高解像度のリモートセンシング画像を処理すると、画像のピクセル特性をより正確に抽出し、特定の土地タイプを迅速かつ正確に識別できるため、リモートセンシング画像の処理速度が向上します。
セマンティックセグメンテーションに一般的に使用されるオープンソースモデル
一般的に使用されるピクセルレベルのセマンティックセグメンテーションオープンソースモデルには、FCN、SegNet、DeepLabが含まれます。
1.完全畳み込みネットワーク(FCN)
特徴:エンドツーエンドのセマンティックセグメンテーション
利点:画像サイズの制限なし、汎用性、高効率
短所:リアルタイムの推論を迅速に実行できない、処理結果が十分に細かくない、画像の詳細に敏感でない
2、SegNet
特徴:最大プーリングインデックスがデコーダーに転送され、セグメンテーションの解像度が向上します。
長所:トレーニング速度が速く、効率が高く、メモリが少なくなります。
短所:テスト中にフィードフォワードされないため、MAPラベルを決定するために最適化が必要です。
3、DeepLab
DeepLabはGoogleAIによってリリースされ、DCNNを使用してセマンティックセグメンテーションタスクを解決することを提唱しています。これには、v1、v2、v3、v3 +の4つのバージョンが含まれています。
プーリングによる情報損失の問題を解決するために、DeepLab-v1は、情報が失われないようにしながら、パラメーターの数を増やすことなく受容野を増やす穴畳み込みの方法を提案しています。
DeepLab-v2は、v1に基づいて、マルチスケールの並列処理を追加し、異なるサイズのオブジェクトの同時セグメンテーションの問題を解決します。
DeepLab-v3は、穴の畳み込みをカスケードモジュールに適用し、ASPPモジュールを改善します。
DeepLab-v3 + は、エンコーダーデコーダー構造のSPPモジュールを使用して、オブジェクトの細かいエッジを復元します。セグメンテーションの結果を調整します。
モデルトレーニングの準備
目的:DeepLab-v3 +に基づいて、土地分類のための7つの分類モデルを開発します
データ: GoogleEarthからの特定の領域の304のリモートセンシング画像。元の画像に加えて、プロが注釈を付けた一致する7カテゴリのマップ、7カテゴリのマスク、25カテゴリのマップ、および25カテゴリのマスク画像も含まれています。画像の解像度は560 * 560、スペースの割り当て率は1.2mです。
チューニングコードは次のとおりです。
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.9
exp_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
チュートリアルの使用
チュートリアルのサンプル表示ファイルはpredict.ipynbです。このファイルを実行すると、環境がインストールされ、既存のモデルの認識効果が表示されます。
プロジェクトパス
-テスト画像パス:
Semantic_pytorch / out / result / pic3
-マスク画像パス:
Semantic_pytorch / out / result / label
-予測画像パス:
Semantic_pytorch / out / result / predict
-トレーニングデータリスト: train.csv
- テストデータリスト: test.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
モデル作成者
質問1:このモデルを開発するために、どのチャネルと情報を使用しましたか?
Wang Yanxin:主に技術コミュニティ、GitHub、その他のチャネルを通じて、DeepLab-v3 +の論文と関連するプロジェクトの事例を確認し、ピットとその克服方法について事前に学びました。これにより、いつでも問題を照会して解決できます。その後のモデル開発プロセス中に、比較的十分な準備を行いました。
質問2:その過程でどのような障害に遭遇しましたか?それを克服する方法は?
Wang Yanxin:データ量が不足しているため、IoUとACのパフォーマンスは平凡です。次回は、より豊富なデータを含むパブリックリモートセンシングデータセットを試すことができます。
質問3:リモートセンシングに関して他にどのような方向性を試したいですか?
Wang Yanxin:今回は土地を分類します。次に、機械学習とリモートセンシング技術を組み合わせて海の風景や海の要素を分析したり、音響技術を使って海底の地形を特定して判断したりしたいと思います。
このトレーニングで使用されるデータの量は少なく、トレーニングセットでの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
-終了-