SAR データとディープ ラーニングを使用した洪水のマッピング
この分析を実施するために、まずは事前トレーニング済みのディープ ラーニング モデルを使用して、洪水前後の Sentinel-1 SAR 画像内の水を表すピクセルを抽出します。 次に、抽出した 2 つの水ラスター間の変化を検出し、浸水したエリアを特定します。 最後に、洪水の被害を受けたエリアの合計表面積を平方キロメートルで算出します。
プロジェクトの設定とデータの探索
まず、このチュートリアルに必要なデータを含むプロジェクトをダウンロードし、ArcGIS Pro で開きます。 次に、データの調査を始めます。
- Flood_mapping パッケージをダウンロードします。
[Flood_mapping.ppkx] という名前のファイルが、コンピューターにダウンロードされます。
注意:
.ppkx ファイルは、ArcGIS Pro プロジェクト パッケージです。これには、ArcGIS Pro で開くことができるマップ、データ、その他のファイルが含まれます。 .ppkx ファイルの管理の詳細については、このガイドをご参照ください。
- コンピューター上で、ダウンロードしたファイルを選択します。
ヒント:
ほとんどの Web ブラウザーでは、ファイルはダウンロード フォルダーにダウンロードされます。
- [Flood_mapping.ppkx] をダブルクリックして、ArcGIS Pro で開きます。 サイン インを求められたら、ArcGIS アカウントを使用して、サイン インします。
注意:
ArcGIS Pro へのアクセス権も ArcGIS アカウントもない場合は、ソフトウェア アクセスのオプションをご参照ください。
プロジェクトが開きます。
プロジェクトには、[SAR 画像の比較]、[洪水後]、[洪水前]、[変化の検出] という 4 つのマップが含まれています。 ここでは、このうちの最初のマップで作業をします。
- [SAR 画像の比較] マップが選択されていることを確認します。
マップには、[Pre_Flood_SAR_Composite] と [Post_Flood_SAR_Composite] の 2 つの合成開口レーダー (SAR) 衛星画像が含まれていて、2019 年のセントルイス洪水前後の対象地域が描写されています。 現在は、デフォルトの [World Topographic] ベースマップ上に表示されている洪水前のレイヤーのみが見えています。 黒またはダーク グレーの色調は水に覆われたエリアを表していて、これらはミシシッピ川、イリノイ川、ミズーリ川をはっきりと描写しています。
SAR センサーを搭載した衛星はレーダー技術に基づいて画像を生成します。 SAR の強みの 1 つが、雲、煙、雨の影響を受けずに日中と夜間の両方の画像をクリアに作成できる点です。 そのため、SAR 画像は洪水のマッピングに非常に適した選択肢と言えます。
注意:
SAR についての詳細は、「SAR 衛星画像の探索」チュートリアルと「SAR 衛星画像の基本操作」シリーズをご参照ください。
これらの 2 つのレイヤーは 2019 年 2 月 23 日および 6 月 11 日にキャプチャされた Sentinel-1 GRD SAR 画像から抽出されました。
注意:
分析に使えるように、元々の Sentinel-1 GRD データセットに対して、画像コンポジットの作成など、いくつかの前処理を行いました。 自身の関心地域向けに Sentinel-1 GRD データセットを取得する方法と、それらの準備方法については、本チュートリアルの 2 つ目のモジュールの「本ワークフローの自身の関心地域への適用」をご参照ください。
[スワイプ] ツールを使用して 2 つの画像の見た目を比較します。
- [コンテンツ] ウィンドウで、[Pre_Flood_SAR_Composite] レイヤーをクリックして選択します。
- リボンの [ラスター レイヤー] タブをクリックします。 [比較] グループの [スワイプ] をクリックします。
- マップ上で、カーソルを上から下にドラッグして [Pre_Flood_SAR_Composite] レイヤーを剥がし、その下の [Post_Flood_SAR_Composite] レイヤーを表示させます。
洪水後の画像では、黒の色調で表現されている、水に覆われたエリアが増えています。
比較対象として、洪水後の期間の光学衛星画像 (Sentinel-2) は天候のため厚い雲の層を写しており、地上での浸水エリアの検出に使用できませんでした。
厚い雲の層を写している洪水後の Sentinel-2 光学画像 - マップ上で、マウス ホイールを使って拡大、縮小し、SAR 画像をもっと詳しく調べるためにスワイプを続けます。
ヒント:
[スワイプ] ツールをオンにしたままマップの画面移動をする場合は、C キーを押しながらドラッグします。
- スワイプ モードを終了するには、リボンの [マップ] タブにある [ナビゲート] グループで [マップ操作] をクリックします。
事前トレーニング済みのディープ ラーニング モデルのダウンロード
SAR 画像の水を表すピクセルを抽出するために、[Water Body Extraction (SAR) - USA] という名前の事前学習済みディープ ラーニング モデルを使用します。 これは SAR 画像の水のピクセルを検出するためのトレーニングがされたモデルで、ArcGIS Living Atlas of the World から入手できます。 このモデルをコンピューターにダウンロードします。
注意:
ArcGIS Living Atlas of the World は Esri の信頼できる GIS データ コレクションで、発展を続ける、事前トレーニング済みのディープ ラーニング モデルのライブラリが含まれています。
- Web ブラウザーで ArcGIS Living Atlas of the World を開きます。
- ホーム ページの検索ボックスに、「Water Body Extraction (SAR) - USA」と入力し、検索ボタンをクリックします。
- 結果リストにある [Water Body Extraction (SAR) - USA] をクリックし、そのアイテム ページを開きます。
アイテム ページには、モデルに関するドキュメントが含まれています。 また、モデルの使用にあたってのガイドへのリンクもあります。
- ページの上部の、[オーバービュー] で [ダウンロード] をクリックします。
モデルのファイルがコンピューターにダウンロードされます。
- コンピューター上で、ダウンロードした [WaterbodyExtractionSAR_USA.dlpk] ファイルを見つけ、C:\GeoAI など、分かりやすいフォルダーに移動します。
水ピクセルの抽出
ここでは、ダウンロードした事前トレーニング済みのモデルを使用して、洪水前の画像から水ピクセルを抽出します。 ディープ ラーニングを使用したピクセルの分類ジオプロセシング ツールを使用します。
注意:
ディープ ラーニング ツールを ArcGIS Pro で使用するには、正しいディープ ラーニング ライブラリがコンピューター上にインストールされている必要があります。 これらのファイルがインストールされていない場合は、プロジェクトを保存し、ArcGIS Pro を終了して、「ArcGIS Pro でのディープ ラーニングの準備」に記載された手順に従います。 これらの手順では、お使いのコンピューター ハードウェアとソフトウェアでディープ ラーニング ワークフローを実行できるかどうかを確認する方法と他の有用なヒントについても説明します。 インストールが完了したら、プロジェクトを再度開いてチュートリアルを続行できます。
2 つ目のマップで水ピクセルを抽出します。
- [洪水前] マップ タブをクリックします。
このマップには[Pre_Flood_SAR_Composite] レイヤーが含まれています。 [ディープ ラーニングを使用したピクセルの分類] ツールで SAR 画像全体を処理すると、コンピューターの仕様にもよりますが、40 分から 4 時間かかる可能性があります。 チュートリアルの時間を短くするために、ここでは、画像のごく一部を処理するのみにします。
- リボンの [マップ] タブの [ナビゲート] グループで、[ブックマーク] をクリックして [Smaller extent] を選択します。
マップで SAR 画像の中央の狭い範囲が拡大されます。
ここでツールを開き、パラメーターを選択します。
- リボンの [表示] タブの [ウィンドウ] グループで、[ジオプロセシング] をクリックします。
- [ジオプロセシング] ウィンドウの検索ボックスに、「ディープ ラーニングを使用したピクセルの分類」と入力します。 結果リストの [ディープ ラーニングを使用したピクセルの分類] ツールをクリックして開きます。
- [ディープ ラーニングを使用したピクセルの分類] ツールで、以下のパラメーターを設定します。
- [入力ラスター] で、[Pre_Flood_SAR_Composite] を選択します。
- [出力ラスター データセット] に、「Pre_Flood_Water_Small_Extent」と入力します。
ここで、[Water Body Extraction (SAR) - USA] モデルを取得します。
- [モデル定義] パラメーターの横の、[参照] ボタンをクリックします。
- [モデル定義] ウィンドウで、モデルを保存したフォルダーを参照します。[WaterbodyExtractionSAR_USA.dlpk] を選択し、[OK] をクリックします。
しばらくすると、モデルの引数が自動的に読み込まれます。
- [引数] で、[batch_size] 引数を特定します。
ディープ ラーニングのピクセル分類は、画像全体に対して一度に実行できません。 代わりに、ツールは画像をチップと呼ばれる小さな断片に分割します。 バッチ サイズが 4 とは、ツールが一度に 4 つの画像チップを処理することを意味します。 ツールを実行すると、エラーが発生する場合がありますが、コンピューターにそのレベルの処理に十分なメモリがないためです。 その場合は、[batch_size] の値を 4 から 2 または 1 に変更してみてください。 高性能コンピューターであれば、[batch_size] の値を上げて、処理を速めることもできます。 [batch_size] の値を変えても結果の品質には影響しません。モデルの分類処理の効率のみに影響します。
今回は、デフォルト値の [4] のままにします。
- [引数] の [test_time_augmentation] に、「True」と入力します。
この引数を [True] に設定すると、データ拡張が適用され、画像チップの反転および回転で画像チップのバージョンが複数作成されます。また、結果として出る予測は最終出力にマージされます。
注意:
モデルの引数の詳細については、「ディープ ラーニングを使用したピクセルの分類」のドキュメントをご参照ください。
ここで、[環境] パラメーターの処理範囲を指定し、マップに現在表示されている、画像のごく一部に制限します。
- [環境] タブをクリックします。
- [範囲] の下にある [現在の表示範囲] ボタンをクリックします。
範囲の座標は、マップの現在の範囲に基づき、[上]、[左]、[右]、[下] のパラメーターで更新されます。
- [プロセッサー タイプ] で、[GPU] を選択します。 [GPU ID] に「0」と入力します。
注意:
このチュートリアルは、コンピューターに [NVIDIA GPU] が搭載されていることを前提としています。 搭載されていない場合は、[CPU] を選んでください。ただし、処理の実行に非常に時間がかかることをご了承ください。 GPU およびディープ ラーニング処理での GPU の使用方法の詳細については、「ArcGIS Pro でのディープ ラーニングの準備」チュートリアルの「GPU の利用可能性の確認」のセクションをご参照ください。
ツールを実行する準備が整いました。
注意:
お使いのコンピューターの仕様次第では、この処理に時間がかかる可能性があります。 ご参考までに、4 GB の NVIDIA GPU が搭載されているコンピューターでは、約 7 分かかります。
時間を節約するためにこのプロセスを実行しない場合は、プロジェクトで提供された出力ラスターを代わりに開くことができます。 [カタログ] ウィンドウで [データベース] と [Flood_mapping.gdb] を参照します。 [Pre_Flood_Water_Small_Extent_Provided] を右クリックし、[現在のマップに追加] を選択します。
- プロセスを自分で実行する場合は、[実行] をクリックします。
ツールが処理中に、[詳細の表示] をクリックすると、さらに情報を得られます。
ヒント:
エラーが発生した場合は、[batch_size] の値を 4 から 2 または 1 に減らしてみて、プロセスをもう一度実行してください。
処理が完了すると、[Pre_Flood_Water_Small_Extent] 出力ラスターが [コンテンツ] ウィンドウに表示されます。
- [クイック アクセス] ツールバーで [プロジェクトの保存] ボタンをクリックして、プロジェクトを保存します。
これで、[ディープ ラーニングを使用したピクセルの分類] ツールと事前トレーニング済みの [Water Bodies Extraction (SAR) - USA] モデルを使用して、セントルイス地域の一部の洪水前の画像から水ピクセルを抽出しました。 次は結果の確認です。
水ラスターの出力の確認
[スワイプ] ツールを使用して洪水前の水ラスターと SAR 画像を比較します。
- [コンテンツ] ウィンドウで、[Pre_Flood_Water_Small_Extent] レイヤーが選択されていることを確認します。
- リボンの [ラスター レイヤー] タブで、[スワイプ] をクリックします。
- マップ上で、カーソルを上から下にドラッグして [Pre_Flood_Water_Small_Extent] レイヤーを剥がし、その下の [Pre_Flood_SAR_Composite] レイヤーを表示させます。
スワイプしながら、紫で表示されている抽出された水ピクセルが、SAR 画像の暗いエリアとどのように一致しているかを確認します。 これは洪水前の SAR 画像のため、これらのピクセルは川や湖など普段から存在する水域に相当します。
次に、同じ手順を踏んで、洪水後の SAR 画像から水ピクセルを抽出する必要がありますが、 このチュートリアルを短時間で終わらせるために、この手順は完了させてあります。 ここで、その出力を確認します。
- [洪水後] マップ タブをクリックします。
このマップには、以前に使用したのと同じ狭い範囲の、洪水後の SAR 画像およびそれから抽出した水ラスターが含まれています。
- [コンテンツ] ウィンドウで、[Post_Flood_Water_Small_Extent] レイヤーを選択します。
- マップ上で、カーソルを上から下にドラッグして [Post_Flood_Water] レイヤーを剥がし、その下の [Post_Flood_SAR_Composite] レイヤーを表示させます。
スワイプしながら、紫で表示されている抽出された水ピクセルが、SAR 画像の暗いエリアとどのように一致しているかを確認します。 これは洪水後の SAR 画像のため、これらのピクセルは川や湖など普段から存在する水域だけでなく、洪水の結果として水で覆われたエリアにも相当します。
- スワイプ モードを終了するには、リボンの [マップ] タブにある [マップ操作] をクリックします。
これで、洪水前後の画像から水ピクセルが抽出されました。次の段階で、2 つの間の変化を把握します。
変化の検出による分析の実行
浸水エリアを特定するために、洪水前後のラスターを比較して変化の検出による分析を実行する必要があります。 そこで、非水域から水域に変化したピクセルを、 変化の検出ウィザードを使って、4 つ目のマップで見つけます。
- [変化の検出] マップ タブをクリックします。
このマップには、SAR 画像から抽出した洪水前後の水ラスターが含まれています。
注意:
これらの大きなラスターは [ディープ ラーニングを使用したピクセルの分類] ツールを使用して生成されました。パラメーターは、[入力データの共通領域] として定義された [範囲] パラメーター以外は、先ほど用いたものと同じです。
この大きな範囲で変化の検出による分析を行いますが、 先に前処理をする必要があります。 [ディープ ラーニングを使用したピクセルの分類] ツールから取得された水ラスターには単一クラスのみが含まれていて、値は水ピクセルを表す 1 です。
しかし、変化の検出による分析を実行するには、バイナリ ラスターが必要です。 バイナリ ラスターには 2 つのクラスがあり、それぞれ水ではないピクセルを表す 0 と水ピクセルを表す 1 です。 これらのバイナリ ラスターをEqual To ツールにより生成します。
- [ジオプロセシング] ウィンドウで、[戻る] ボタンを 2 回クリックします。
- [Equal To] ツールを検索して開きます。
まず、ツールを洪水前ラスターに適用します。
- [Equal To] ツールで、以下のパラメーターを設定します。
- [入力ラスター、または定数値 1] で、[Pre_Flood_Water] を選択します。
- [入力ラスター、または定数値 2] に「1」と入力します。
- [出力ラスター] に「Pre_Flood_Binary」と入力します。
各ピクセルについて、[入力ラスター、または定数値 1] が [入力ラスター、または定数値 2] と等しければ、ツールは [1] を返し、異なれば [0] を返します。
- [実行] をクリックします。
しばらくすると、バイナリ ラスターがマップに追加されます。
バイナリ ラスターには 2 つのクラスがあります。0 はグレーでシンボル表示 (非水域) され、1 は赤 (水域) でシンボル表示されます。
- 同様に、[Equal To] ツールを使用して、[Post_Flood_Binary] ラスターを生成します。
ツールの実行後に、洪水後のバイナリ ラスターがマップに追加されます。
ここで、変化の検出による分析を行います。
- リボンの [画像] タブの [解析] グループで [変化の検出] をクリックし、[変化の検出ウィザード] を選択します。
- [変化の検出ウィザード] ウィンドウの [構成] タブで、次のパラメーターを設定します。
- [変化の検出方法] で、[カテゴリの変化] を選択します。
- [From ラスター] で、[Pre_Flood_Binary] を選択します。
- [To ラスター] で、[Post_Flood_Binary] を選択します。
バイナリ ラスターの値がカテゴリ (水域または非水域) を表すことが、[カテゴリの変化] オプションを選択する理由です。
注意:
詳細については、「カテゴリの変化の検出」をご参照ください。
注意:
[標準の赤、青、緑フィールドが見つかりませんでした] という警告が表示された場合は、無視して構いません。
- [次へ] をクリックします。
- [クラス構成] タブで、次のパラメーターを設定します。
- [フィルター方法] で、[変化のみ] が選択されていることを確認します。
- [From クラス] で、[0] の横のチェックボックスをオンにします。
- [To クラス] で、[1] の横のチェックボックスをオンにします。
非水域 ([0]) から水域 ([1]) に向かったピクセルのみが検出されます。 これらのピクセルは浸水エリアを表します。
- [次へ] をクリックします。
- [出力の生成] タブで、次のパラメーターを設定します。
- [出力データセット] に「Flood.crf」と入力します。
- その他のデフォルト値はそのままにします。
- [実行] をクリックします。
しばらくすると、[Flood.crf] 出力ラスターがマップに追加されます。 ピクセルには次の 2 つのクラスがあります。
- [0->1] は非水域から水域に変化したピクセルを表し、浸水エリアに相当します。 シンボル表示はピンクです。
- [その他] はそれ以外のピクセルを表し、 [色なし] (透過) としてシンボル表示されます。
洪水の可視化と浸水エリアの算出
結果を見やすくするためにシンボルを変更してから、洪水の被害を受けたエリアの合計表面積を算出します。
- [コンテンツ] ウィンドウの [Flood.crf] で、[0->1] シンボルを右クリックしてカラー パレットを表示させます。 [ポインセチア レッド] などの濃い赤を選択します。
- [Post_Flood_Binary] レイヤー、[Pre_Flood_Binary] レイヤー、[Post_Flood_Extracted_Water] レイヤーの横にあるチェックボックスをそれぞれオフにして、これらのレイヤーを非表示にします。
- [Pre_Flood_Extracted_Water] シンボルを右クリックして、[クレタ ブルー] のような濃い青を選択します。
- マップ上で、抽出された洪水レイヤーが赤色で表示され、参照として、洪水前の水域が青色で表示されます。
最後に、浸水エリアの表面積を平方キロメートルで算出します。
- [コンテンツ] ウィンドウで、[Flood.crf] レイヤーを右クリックして、[属性テーブル] を選択します。
[Flood.crf] の属性テーブルが表示されます。 テーブルは各行がクラスを表す 2 行構成で、それぞれ [0->1] (洪水ピクセル) と [その他] (その他のピクセル) です。 [エリア] の列は各クラスの総面積を示します (平方メートル単位)。 洪水クラスの面積は [524,619,200.703] 平方メートルです。
注意:
ディープ ラーニングによる分類は決定論的処理ではないため、取得した面積の数字は若干異なる可能性があります。
平方メートルの値は解釈が難しい可能性があるので、新しいフィールドを追加して、面積を平方キロメートルで示します。
- 属性テーブル ウィンドウで、[計算] ボタンをクリックします。
- [フィールド演算] ウィンドウで、以下のパラメーターを設定します。
- [フィールド名 (既存または新規)] に「Area_km2」と入力します。
- [フィールド タイプ] で [Double (64 ビット浮動小数点)] を選択します。
面積を平方キロメートルにするには、平方メートルの面積を 1,000,000 で割ります。 対応する式を作ります。
- [式] の [フィールド] で、[面積] をダブルクリックします。 [Area_km23 =] の下に「/1000000」と入力して式を完成させます。
完全な式は、[!Area! / 1000000] となります。
- [実行] をクリックします。
新しい [Area_km2] フィールドが、値が入力された状態で表示されます。 浸水面積は約 525 平方キロメートルです。
- [Flood.crf] 属性テーブルを閉じます。
- Ctrl + S を押して、プロジェクトを保存します。
このワークフローでは、まずは事前トレーニング済みのディープ ラーニング モデルを使用して、洪水前後の Sentinel-1 SAR 画像内の水域を表すピクセルを抽出しました。 次に、抽出した 2 つの水ラスター間の変化を検出し、浸水したエリアを特定しました。 最後に、2019 年の中西部の洪水時に浸水したセントルイス地域の面積が 525 平方キロメートルであることを算出しました。
本ワークフローの自身の関心地域への適用 (オプション)
Sentinel-1 の画像は地球全体で利用可能です。 学習したばかりのワークフローを自身の関心地域に適用したい場合は、このオプションのモジュールで、データの場所と、分析用に準備する方法について説明します。
Sentinel-1 GRD データの場所
このワークフローで使用されたデータは Sentinel-1 Ground Range Detected (GRD) データです。 地球上のあらゆる場所の Sentinel-1 GRD データを無料でダウンロードできる Web サイトの 1 つが、ASF Data Search Vertex の Web サイトです。 チュートリアルに使用したものと類似する、お好みの範囲の SAR データセットをダウンロードする方法に関するガイダンスを以下に示します。
- まだアカウントをお持ちでない場合は、無料の Earthdata ログイン アカウントを作成してください。
- ASF Data Search Vertex の Web サイト上部のツールバーから、Earthdata の認証情報でサイン インします。
- 上部のツールバーの [Search Type] で、[Geographic Search] が選択されていることを確認します。 [Dataset] で [Sentinel-1] が選択されていることを確認します。
- マップ上でマウス ホイール ボタンを使用し、対象地域を拡大します。 クリックおよびドラッグして、対象範囲を取り囲む四角形を描画します。再度クリックして、四角形を完成させます。
上部のツールバーの [Area of Interest] フィールドに、作成した図形の座標が表示されています。
- カレンダー ウィジェットを使用して [Start Date] および [End Date] フィールドを設定します。 [フィルター] をクリックします。
- [Filters] ウィンドウの [Additional Filters] で、以下のオプションを選択します。
- [File Type] で [L1 Detected High-Res Dual-Pol (GRD-HD)] を選択します。
- [Beam Mode] で [IW] を選択します。
- [Polarization] で [VV+VH] を選択します。
- [Direction] で [Ascending] を選択します。
- [検索] をクリックします。
しばらくすると、検索条件に対応する SAR シーンのリストが表示されます。
- リスト内のお好みのシーンで、[Zoom to scene] ボタンをクリックし、マップ上の画像をプレビューします。
- その画像に問題がなければ、右へ 3 列目の [GRD-HD] データセットで、[Download] ボタンをクリックします。
コンピューターのダウンロード フォルダーに、データセットがダウンロードされます。
Sentinel-1 GRD サンプル データのダウンロード
対象地域のデータを取得したら、いくつかの前処理ステップを適用し、それを分析できる状態にする必要があります。 練習のために、Sentinel-1 GRD のサンプル データセットをダウンロードし、ArcGIS Pro プロジェクトで開きます。 これは、このチュートリアルで以前に使用した [Post_Flood_SAR_Composite] レイヤーを作成するために使用したデータセットです。
- Data_preparation.zip ファイルをダウンロードし、コンピューター上に保存します。
- Windows エクスプローラーで [Data_preparation.zip] ファイルを右クリックし、7-Zip などのユーティリティ ツールを使用してコンピューター上 (C:\data ドライブなど) に解凍します。
- ArcGIS Pro で、リボンの [表示] タブの [ウィンドウ] グループで [カタログ ウィンドウ] をクリックします。
[カタログ] ウィンドウが表示されます。
- [カタログ] ウィンドウで [フォルダー] を右クリックして、[フォルダー接続の追加] を選択します。
- [フォルダー接続の追加] ウィンドウで、[Data_preparation] フォルダーの場所を参照して選択し、[OK] をクリックします。
これで、新しいマップに Sentinel-1 GRD 画像が開きます。
- [カタログ] ウィンドウで、[フォルダー]、[Data_preparation]、[Sentinel1]、[S1A_IW_GRDH_1SDV_20190611T235618_20190611T235643_027639_031E97_AC44.SAFE] の横にある矢印をクリックして、これらのフォルダーを展開します。
- [manifest.safe] を右クリックし、[新しく追加] をポイントして、[マップ] を選択します。
- [ピラミッド] と [統計] を作成するように求められた場合は、[OK] をクリックして承諾します。
注意:
ピラミッドとは、さまざまな縮尺で見たときの低解像度のオーバービューであり、描画速度を向上するために使用されます。 統計は、ストレッチでレンダリングする場合など、画像に対して所定のタスクを実行する際に必要です。 ピラミッドの構築と統計情報の計算の詳細。
数分後、画像は [IW_manifest] という名前で新しいマップに追加されます。
画像は前処理の準備ができています。
軌道と幾何テレイン補正の適用
最初に、軌道と幾何テレイン補正を適用します。
注意:
この 2 つのステップを省略すると、ディープ ラーニングによる分類と変化の検出の分析は引き続き機能しますが、マップ上に正確に配置されないという結果になるリスクがあります。
衛星の軌道をどれだけ微調整しても、重力の影響やその他の要因によって衛星の位置はずれます。 最新の軌道ファイルは、画像が撮影された時点での衛星の正確な位置を示しています。 軌道ファイルのダウンロード ツールを使用して、該当する軌道ファイルをダウンロードします。
- [ジオプロセシング] ウィンドウに切り替えます。 必要に応じて [戻る] ボタンをクリックします。
- [軌道ファイルのダウンロード] ツールを検索して開きます。
- [軌道ファイルのダウンロード] ツールでは、以下のパラメーターを設定します。
- [入力レーダー データ] で [IW_manifest] を選択します。
- [軌道タイプ] で [Sentinel (高精度)] が選択されていることを確認します。
- [認証とデータ ストア] の [ユーザー名] と [パスワード] が空欄になっていることを確認します。
- [実行] をクリックします。
拡張子が .EOF の新しいファイルが [.SAFE] フォルダーにダウンロードされます。 次に、軌道補正の適用ツールでダウンロードしたファイルを使用して、SAR 画像の軌道情報を更新します。
- [ジオプロセシング] ウィンドウの [戻る] ボタンをクリックします。 [軌道修正の適用] ツールを検索して開きます。
- [入力レーダー データ] で [IW_manifest] を選択します。
[入力軌道ファイル] パラメーターには、ダウンロードした軌道ファイルが自動的に入力されます。
- [実行] をクリックします。
ツールを実行後、[軌道修正の適用が完了しました] というメッセージが表示されます。 新しいレイヤーは作成されませんが、元の画像が更新されます。 次に、幾何テレイン補正を適用ツールを使ってオルソ幾何補正を実行します。 オルソ幾何補正とは、センサーの視野角や地形の標高の変化による地上オブジェクトの見かけ上の位置ずれを補正するプロセスのことです。 このプロセスは DEM (数値標高モデル) レイヤーを使用します。 [Data_preparation] フォルダーで提供されたものを使用します。
- [ジオプロセシング] ウィンドウの [戻る] ボタンをクリックします。 [幾何テレイン補正の適用] ツールを検索して開きます。
- [幾何テレイン補正の適用] ツールでは、以下のパラメーターを設定します。
- [入力レーダー データ] で [IW_manifest] を選択します。
- [出力レーダー データ] が自動的に入力されていることを確認します。
- [偏波バンド] の [VV] と [VH] のチェックボックスをオンにします。
- [DEM ラスター] の場合は、[参照] ボタンをクリックして、[フォルダー] → [Data_preparation] → [DEM]を参照し、[DEM.tif] を選択して [OK] をクリックします。
- [実行] をクリックします。
注意:
[幾何テレイン補正の適用] ツールの実行には 10 分ほどかかる場合があります。
プロセスが完了すると、[IW_manifest_GTC.crf] 出力ファイルが表示されます。
画像に軌道補正と幾何テレイン補正が適用され、すべてのピクセルの位置が正確になりました。
3 バンド コンポジットの作成とクリップ
続いて、3 バンド コンポジット ラスターを作成し、対象地域に正確に合わせてクリップすることでデータを準備します。
ディープ ラーニングの事前トレーニング済みモデルを使用する場合、学習させたデータと同様の入力を提供する必要があります。 水域の抽出 (SAR) - 米国事前トレーニング済みモデルのドキュメントに記載されているように、求められる入力は 8 ビット、3 バンドの Sentinel-1 C バンド SAR GRD VH 偏波バンド ラスターです。
これは、次のことを意味しています。
注意:
水域の抽出 (SAR) - 米国の事前トレーニング済みモデルは、DeepLab アーキテクチャを使用しており、入力として 3 バンドの画像を想定しています。 VH SAR バンドは一般的に水を検出するのに適しているため、モデルをトレーニングする際には、VH バンドが 3 回繰り返される 3 バンド コンポジットを提供することが決められました。
オリジナルの Sentinel-1 データセットは符号なし 16 ビットのピクセル深度を持っており、2 つの偏光バンド、VH と VV を含んでいます。
ヒント:
Sentinel-1 データセットに関するこの情報を自分で見つけたい場合は、[コンテンツ] ウィンドウで [IW_manifest] レイヤーを右クリックし、[プロパティ] を選択します。 [プロパティ] ウィンドウで [ソース] タブをクリックし、[ラスター情報] → [バンド メタデータ] → [空間参照] セクションを展開します。 有用な情報には、バンド数、バンド名 (VV と VH)、ピクセル深度、座標系などがあります。
バンド抽出ラスター関数を使って、8 ビット 3 バンド コンポジットを作成します。
- リボンの [画像] タブの [解析] グループで [ラスター関数] ボタンをクリックします。
- [ラスター関数] ウィンドウで、[バンド抽出] を検索して開きます。
- [バンド抽出] ラスター関数の [パラメーター] タブで、以下のパラメーターを設定します。
- [ラスター] では [IW_manifest_GTC.crf] を選択します。
- [方法] で、[バンド名] を選択します。
- [バンド] で、[VH] を 3 回選択します。
- [組み合わせ] パラメーターには、自動的に [VH VH VH] という式が入力されます。
- [一般] タブをクリックして、以下の設定を選択します。
- [名前] には「Post_Flood_SAR_Composite」と入力します。
- [出力ピクセル タイプ] で、[符号なし 8 ビット] を選択します。
- [新しいレイヤーの作成] をクリックします。
SAR コンポジットがマップに追加されます。 最後にそれを、マスクで抽出ツールを使って、対象地域に正確に合うようにクリップします。 範囲を縮小することで、ディープ ラーニングによる分類と変化の検出ツールの実行に必要な時間が短縮されます。
- [ジオプロセシング] ウィンドウの [戻る] ボタンをクリックします。 [マスクで抽出] ツールを検索して開きます。
- [マスクで抽出] ツールで、以下のパラメーターを設定します。
- [入力ラスター] では、[Post_Flood_SAR_Composite_manifest_GTC.crf] を選択します。
- [出力ラスター] に「Post_Flood_SAR_Composite_Clipped」と入力します。
特定の対象の範囲を描きます。
- [解析の範囲] の下にある [範囲の描画] ボタンをクリックします。
- マップに、対象の範囲に対応する四角形を描きます。
注意:
このチュートリアルでは、自由に範囲を選ぶことができます。
[コンテンツ] ウィンドウに、四角形が [Extract by Mask Analysis Extent] という名前の新しいレイヤーとして表示されます。
- [マスクで抽出] ツールの [入力ラスター、またはフィーチャ マスク データ] で、[Extract by Mask Analysis Extent] を選択します。
- 必要に応じて、[環境] をクリックします。 [出力座標系] では、[座標系の選択] ボタンをクリックして新しい座標系を選択し、再投影された出力を得ます。
たとえば、[WGS 1984 UTM Zone 15N] は、以前このチュートリアルで使用したデータに対して選択された投影法です。 投影法の詳細については、「適切な投影法の選択」チュートリアルをご参照ください。
- [実行] をクリックします。
しばらくすると、出力がマップに追加されます。
- [コンテンツ] ウィンドウで、[Post_Flood_SAR_Composite_Clipped]、[World Topographic Map]、[World Hillshade] 以外のすべてのレイヤーをオフにします。
[Post_Flood_SAR_Composite_Clipped] レイヤーは、このチュートリアルの最初で使用した [Post_Flood_SAR_Composite] 画像と同じ方法で準備されました。 これで、ディープ ラーニングによる分類と変化の検出ワークフローへの入力として使用する準備ができました。 同じワークフローに従って、洪水前の画像も準備する必要があることに注意してください。
- Ctrl + S を押して、プロジェクトを保存します。
このチュートリアルでは、2019 年にミズーリ州セントルイス地域で発生した洪水をマッピングしました。 洪水前後の Sentinel-1 SAR 画像から、ディープ ラーニングの事前トレーニング済みモデルを使用して、水を表すピクセルを抽出しました。 次に、抽出した 2 つの水ラスター間の変化を検出し、洪水エリアを特定しました。 最後に、洪水の被害を受けたエリアの総面積を平方キロメートルで算出しました。 必要に応じて、自分自身の対象地域のデータをどこで見つけ、それを分析用にどのように準備するかを学びました。
同様のチュートリアルについては、「ArcGIS のディープ ラーニング」シリーズをご参照ください。