モザイク データセットを作成して画像からフィーチャを抽出する
地滑りなどの自然災害に弱いインフラストラクチャを特定するため、最初にインフラストラクチャの場所を知る必要があります。 ArcGIS Pro プロジェクト パッケージを、このワークフローに必要なすべてのデータとともにダウンロードしてから、画像を保持するモザイク データセットを作成します。 次に、ArcGIS Living Atlas の事前トレーニング済みのディープ ラーニング モデルにアクセスします。このモデルは、人工知能を使用して画像レイヤーからビルディング フットプリントを自動的に抽出します。
プロジェクト パッケージをダウンロードして開きます
まず、ArcGIS Pro パッケージをダウンロードして開きます。 このパッケージには、このチュートリアルで必要なすべてのデータとマップが含まれています。
- Grenada-landslide-risk プロジェクト パッケージをダウンロードします。
Grenada-landslide-risk.ppkx という名前のファイルが、コンピューターにダウンロードされます。
注意:
.ppkx ファイルは、ArcGIS Pro プロジェクト パッケージです。これには、ArcGIS Pro で開くことができるマップ、データ、その他のファイルが含まれます。 .ppkx ファイルの管理の詳細については、このガイドをご参照ください。
- コンピューター上で、ダウンロードしたファイルを選択します。 ファイルをダブルクリックし、ArcGIS Pro で開きます。 求められた場合、ArcGIS アカウントにサイン インします。
注意:
ArcGIS Pro へのアクセス権限または組織アカウントがない場合は、ソフトウェア アクセスのオプションをご参照ください。
プロジェクトが開きます。
プロジェクトには、[Building footprint extraction] と [Susceptibility analysis] という 2 つのマップが含まれており、このチュートリアルではそれぞれ別の部分で使用します。 ここでは、[Building footprint extraction] マップを使用します。
- [Building footprint extraction] タブが選択されていることを確かめてください。
マップには、世界を表すデフォルトの地形図ベースマップのみが含まれています。 次に、画像データを追加します。
モザイク データセットの作成
このセクションでは、建物フットプリントを抽出するための画像データセットを準備します。
ダウンロードしたプロジェクトには、グレナダ島の一部を表す航空写真が含まれています。 プロジェクトから、この航空写真を探します。
- リボンの [表示] タブをクリックします。 [ウィンドウ] グループで、[カタログ ウィンドウ] をクリックします。
[カタログ] ウィンドウが表示されます。
- [カタログ] ウィンドウで、[フォルダー]、[Grenada_landslide_risk]、[commondata]、[Aerial-imagery] を順に展開します。
[Aerial_imagery] フォルダーには、16 枚の航空写真が TIFF 形式で含まれています。
これらの画像を単一のレイヤーとして機能させるため、モザイク データセットを作成します。 まず、空のモザイク データセット コンテナーを作成してから、画像を追加します。
- リボンの [表示] タブの [ウィンドウ] グループで、[ジオプロセシング] をクリックします。
- [ジオプロセシング] ウィンドウの検索ボックスで、「モザイク データセットの作成」と入力します。 結果リストで、[モザイク データセットの作成] ツールをクリックして開きます。
- [モザイク データセットの作成] ツールの [パラメーター] タブの、[出力場所] で [参照] ボタンをクリックします。
- [出力場所] ウィンドウで、[データベース] をクリックし、[grenada_landslide_risk.gdb] を選択し、[OK] をクリックします。
- [モザイク データセット名] に、「Grenada_aerial_imagery」と入力します。
- [座標系] で、[座標系の選択] ボタンをクリックします。
すべてのプロジェクトのデータに座標系 [WGS 1984 Complex UTM zone 20N] を使用するのが、グレナダ島の場所には適しています。
- [座標系] ウィンドウの検索ボックスに、「WGS 1984 Complex UTM Zone 20N」と入力します。 [投影座標系]、[UTM]、[WGS 1984]、[Northern Hemisphere] を順に展開し、[WGS 1984 Complex UTM Zone 20N] を選択して [OK] をクリックします。
- その他のデフォルト値をそのままにして、[実行] をクリックします。
空の [Grenada_aerial_imagery] モザイク データセットが、[コンテンツ] ウィンドウに現れます。
次に、16 枚の TIFF 画像を追加します。
- [ジオプロセシング] ウィンドウの下部にある [カタログ] タブをクリックします。
- [カタログ] ウィンドウで、[データベース]、[grenada_landslide_risk.gdb] を順に展開します。
- [Grenada_aerial_imagery] を右クリックし、[ラスターの追加] を選択します。
- [モザイク データセットにラスターを追加] パラメーターに、次の値を選択します。
- [入力データ] の下で [フォルダー] を選択します。
- [入力データ] の下で、[参照] ボタンをクリックします。 [入力データ] ウィンドウで、[フォルダー] → [Grenada-landslide-risk]、[commondata] に移動し、[Aerial_imagery] を選択します。 [OK] をクリックします。
- [ラスター処理] セクションを展開し、[統計情報の計算] と [ラスター ピラミッドの構築] のチェックボックスをオンにします。
- [モザイクの後処理] セクションを展開し、[サムネイルの構築] と [オーバービューの更新] のチェックボックスをオンにします。
- その他のデフォルト値をそのままにして、[実行] をクリックします。
- 処理が完了したら、[コンテンツ] ウィンドウで [Grenada_aerial_imagery] を右クリックし、[レイヤーにズーム] を選択します。
マップにモザイク データセットが表示されます。 明るい緑の線は、16 枚の TIFF 画像の境界を示しています。
- [コンテンツ] ウィンドウで、[フットプリント] の横にあるチェックボックスをオフにして、レイヤーをオフにします。
画像が単一レイヤーとして表示されるようになります。
- マップを拡大表示したり画面移動したりして、建物の場所をより詳細に調べます。
グレナダのこの区域には何百もの建物があります。 各建物を手動でトレースしてフットプリントをフィーチャとしてフィーチャ レイヤーに格納できますが、手間と時間のかかる作業です。 その代わりに、ディープ ラーニングを使用して、建物のフットプリントを自動的に抽出します。
ディープ ラーニングを使用した建物フットプリントの抽出
ディープ ラーニング モデルは、画像内のフィーチャの分類や検出を効果的に行うことができます。 独自のディープ ラーニング モデルを構築してトレーニングすることや、既存のトレーニング済みモデルに細かな調整を加えることは高度な作業です。 ディープ ラーニングの使用において最も困難で時間を要する部分は、ユーザーが関心を持っている特定の種類の情報について、モデルが学習するための一連のトレーニング サンプルを作成することです。 その代わりに、トレーニング済みの既存のモデルを使用できます。 ArcGIS Living Atlas of the World では、このような事前トレーニング済みのディープ ラーニング モデルのライブラリが用意されており、常に拡充が続けられています。 これらのモデルを使用すれば、すぐに人工知能を使用して情報を抽出し、画像についての分析情報を得ることができます。 次に、ArcGIS Living Atlas の事前トレーニング済みのモデルを使用し、画像レイヤーから建物のフットプリントを検出します。
注意:
ディープ ラーニング ツールを ArcGIS Pro で使用するには、正しいディープ ラーニング ライブラリがコンピューター上にインストールされている必要があります。 これらのファイルがインストールされていない場合は、ArcGIS Pro が閉じていることを確認して、「ArcGIS Pro でのディープ ラーニングの準備」に記載された手順に従います。 これらの手順では、お使いのコンピューター ハードウェアとソフトウェアでディープ ラーニング ワークフローを実行できるかどうかを確認する方法と他の有用なヒントについても説明します。 インストールが完了したら、このチュートリアルを続行できます。
- [ジオプロセシング] ウィンドウの [戻る] ボタンをクリックします。
- [ツールボックス] タブをクリックします。
- [Image Analyst ツール]、[ディープ ラーニング] を順に展開し、[ディープ ラーニングを使用したオブジェクトの検出] ツールをクリックして開きます。
- [ディープ ラーニングを使用したオブジェクトの検出] に、次のパラメーターの値を設定します。
- [入力ラスター] に、[Grenada_aerial_imagery] を選択します。
- [出力検出オブジェクト] に、「Grenada_Buildings」と入力します。
- [モデル定義] で [参照] ボタンをクリックします。
- [モデルの定義] ウィンドウで、[ポータル] の下の [Living Atlas] をクリックします。 検索ボックスに、「Building Footprint Extraction」と入力します。 [Building Footprint Extraction - USA] を選択し、[OK] をクリックします。
ディープ ラーニング モデルを選択すると、モデルの引数が自動的に読み込まれます。
- [threshold] に「0.6」と入力します。
注意:
検出されたオブジェクトは、信頼度が閾値の値以上のときのみ、オブジェクト データセットに追加されます。 最適な閾値の値を見つけるには、試行錯誤が必要です。
- [環境] タブをクリックします。
- [プロセッサー タイプ] で、[GPU] を選択します。
注意:
ツールの実行には、コンピューターのスペックに応じて 10 から 20 分を要することがあります。 オプションとして、短時間で終了するように、小さな範囲でツールをテストすることもできます。1:2500 の範囲にズーム インし、ツールの [環境] タブで、[処理範囲] を [現在の表示範囲] に変更します。
- その他のデフォルト値をそのままにして、[実行] をクリックします。
ヒント:
事前トレーニング済みのモデルをダウンロード中という警告ウィンドウが表示されることがあります。 この場合は、なにもせずにダウンロード処理が完了するまで待ちます。
処理の進行は、下の [実行] ボタンで監視できます。また、[詳細の表示] をクリックすると詳細情報を見ることができます。
処理が完了すると、結果レイヤー [Grenada_Buildings] が [コンテンツ] ウィンドウとマップに表示されます。 これは、各ポリゴンが建物を表すフィーチャ レイヤーです。
- オプションとして、[コンテンツ] ウィンドウで [Grenada_Buildings] シンボルを右クリックし、カラー パレットで、新しいレイヤーがはっきりと見えるような色を選択します。
- マップを拡大し、[Grenada_Buildings] レイヤーを調べます。
[スワイプ] ツールを使用すると、抽出された建物レイヤーと、基礎となる画像とを比較しやすくなります。
- [コンテンツ] ウィンドウで、[Grenada_Buildings] レイヤーが選択されていることを確認します。
- リボンの [フィーチャ レイヤー] タブの [比較] グループで、[スワイプ] をクリックします。
- マップで、スワイプ ハンドルを左右に繰り返しドラッグして、抽出された建物のレイヤーをめくり、下の画像レイヤーを表示します。
ヒント:
スワイプ モードのとき、キーボードの C キーを押してマウスでドラッグすると、マップをパンできます。
モデルによってほとんどの建物が正しく検出されたことを確認できます。
注意:
独自の画像データにこのワークフローを適用した場合、場合によっては建物検出結果の品質が十分でない可能性があります。 このような場合、次のステップとして、使用するデータにより適合するように事前トレーニング済みモデルを調整することをおすすめします。 「転移学習によるディープ ラーニング モデルの強化」チュートリアルをご参照ください。
- 探索を終了したら、リボンの [マップ] タブの [ナビゲーション] グループで [マップ操作] ボタンをクリックしてスワイプ モードを終了します。
- [クイック アクセス] ツールバーで [保存] ボタンをクリックして、プロジェクトを保存します。
ワークフローの前半では、ArcGIS Pro プロジェクト パッケージをダウンロードして開きました。 次に、モザイク データセットを作成し、画像を追加しました。 ArcGIS Living Atlas の事前トレーニング済みのモデルでディープ ラーニングを行い、画像から建物フットプリントを抽出し、結果をフィーチャ レイヤーに格納しました。 最後に、抽出された建物を、元の画像と比較しました。
地滑り危険度解析の実行
建物の場所が判明したので、グレナダで地滑りに弱いエリアを特定する必要があります。 この解析では、4 つのラスター レイヤーを使用し、単一のラスター関数テンプレートに集積された複数のラスター関数にこれらのレイヤーを適用します。 最後に、地滑り危険度の結果レイヤーを、抽出された建物レイヤーと比較し、最もリスクの大きい構造物を特定します。
ラスター レイヤーの調査
地滑り危険度を解析するには、TIFF 形式の 4 つのラスター レイヤーを入力として使用します。 それぞれは、地滑りのリスク評価の主要な要因を表しています。
- 土壌タイプ - 土壌に特定のタイプの粘土が含まれているエリアは、地滑りのリスクが高くなります。
- 標高 - 急な傾斜があるエリアはリスクが高くなります。
- 河川までの距離 - 河川に近いエリアはリスクが高くなります。
- 土地利用 - 道路や建物があるエリアや、人工的に緑化されたエリアはリスクが高く、森林はリスクが低くなります。
4 つのレイヤーを調べます。
- [Susceptibility analysis] マップ タブをクリックします。
[Susceptibility analysis] マップが表示され、[コンテンツ] ウィンドウに 4 つのレイヤーがリスト表示されます。 この時点では、すべてのレイヤーがオフになっています。
- [コンテンツ] ウィンドウで、[Land_use.tif] レイヤーの横にあるチェックボックスをオンにして、レイヤーをオンにします。
- マップの [Land_use.tif] レイヤーと、[コンテンツ] ウィンドウにある凡例を調べます。 拡大およびパンし、レイヤーに含まれている情報を詳しく調べます。
- 同様に、[Distance_to_rivers.tif]、[Elevation.tif]、[Soil_types.tif] レイヤーもオンにして調べます。
(A) 土地利用、(B) 河川までの距離、(C) 標高、(D) 土壌タイプ ヒント:
[コンテンツ] ウィンドウの [Soil_types.tif] レイヤーを展開し、凡例を調べます。 凡例は多くのスペースを使用するので、作業が完了したら閉じます。
次に、これらのレイヤーを、地滑り危険度解析への入力として使用します。
ラスター関数テンプレートを使用して危険度レイヤーを作成する
4 つのレイヤーを入力として使用し、危険度解析を行います。 これらのレイヤーに、いくつかのラスター関数を集積 (チェーン) した単一のラスター関数テンプレート (RFT) を適用します。 この RFT は、ダウンロードしたプロジェクト パッケージに含まれています。 まず、RFT を編集モードで開き、コンテンツを調べます。
注意:
ラスター関数は、結果をディスクに保存せず、ラスターに処理を動的に適用する操作です。 中間データセットが作成されないため、プロセスはすばやく適用されます。
- リボンの [画像] タブの [解析] グループで [ラスター関数] ボタンをクリックします。
- [ラスター関数] ウィンドウで [プロジェクト] タブをクリックします。 必要に応じて、[Grenada_landslide_risk] セクションを展開します。
注意:
ラスター関数テンプレートが表示されない場合は、以下を実行します。
[ラスター関数] ウィンドウで [カスタム] タブをクリックします。 Landslide Grenada の隣で、[関数のインポート] ボタンをクリックします。 [処理テンプレートの選択] ウィンドウで、フォルダー → Grenada_Landslide_Risk → P30 → RasterFunctionTemplates → Grenada_Landslide_Risk を参照して Landslide Susceptibility.rft.xml をクリックし、[OK] をクリックします。
- [Landslide Susceptibility] RFT を右クリックし、[編集] を選択します。
RFT は関数エディター ウィンドウに表示されます。
RFT にある 4 つの緑のエレメントは、4 つのラスター入力を表しています。 それぞれの黄のエレメントは、ラスター関数を表します。 この処理は次のように進められます:
- まず、一部のラスターが事前処理されます。たとえば、[標高] ラスターは傾斜角ラスターに変換され、各セルは特定の場所におけるテレインの傾斜の険しさを示すようになります ([傾斜角] 関数)。
- 次に各ラスターが処理され、各セルの元の値が 1 から 10 までの値に変換されます。10 は地滑りのリスクが最も高いことを、1 は最も低いことを表します ([再分類] または [演算] 関数)。
- その後で、4 つの結果レイヤーが結合され ([加重合計])、出力ラスターに変換されます。出力ラスターの各セルには 1 から 5 までの値が含まれ、総合的な地滑り危険度のスコアを示します ([再分類: 結果の分類])。
- 最後に、1 から 5 までの数値にラベルが追加されて 5 段階のリスクが表され ([非常に低い]、[低い]、[中程度]、[高い]、[非常に高い])、割り当てられた配色 ([属性テーブル]) でシンボル表示されます。
- オプションとして、RFT のラスター関数の一部をダブルクリックすると、どのように設定されているかを確認できます。
- 確認が完了したら、[Landslide Susceptibility.rft.xml] 関数エディター ウィンドウを閉じます。
RFT をデータに適用できるようになりました。
- [ラスター関数] ウィンドウで、[Landslide Susceptibility] RFT をクリックして開きます。
- 次の [地滑り危険度] パラメーターを選択します:
- [Soil Types] に [Soil_types.tif] を選択します。
- [Elevation] に [Elevation.tif] を選択します。
- [Land Use] に [Land_use.tif] を選択します。
- [Distance to Rivers] に [Distance_to_rivers.tif] を選択します。
- [新しいレイヤーの作成] をクリックし、危険度解析レイヤーを生成します。
結果レイヤーが表示されます。
赤のエリアは地滑りの危険度が最も高く、緑は最も低いエリアです。
このセクションでは、ラスター関数テンプレートを実行して、地滑り危険度ラスター レイヤーを作成しました。
建物フットプリントの地滑り危険度の結果との比較
次に、以前に抽出した建物フットプリントを、地滑り危険度レイヤーと比較し、リスク構造を識別します。 まず、建物フットプリント レイヤーを現在のマップに追加します。
- [建物フットプリントの抽出] タブをクリックし、最初のマップに移動します。
- [コンテンツ] ウィンドウで、[Grenada_Buildings] を右クリックし、[コピー] を選択します。
- [Susceptibility analysis] タブをクリックし、2 番目のマップに戻ります。
- [コンテンツ] ウィンドウで [Susceptibility analysis] を右クリックし、[貼り付け] を選択します。
[Grenada_Buildings] レイヤーがマップに追加されます。
- [Grenada_Buildings] レイヤーを右クリックし、[レイヤーにズーム] を選択します。
- ディープ ラーニング モデルを使用して建物を抽出したエリアにマップが拡大されます。
注意:
このチュートリアルを簡潔にするため、建物のフットプリントは島の一部についてのみ抽出しています。 実際の設定では、島全体について建物のフットプリントを抽出する選択も可能です。
- 表示を高速にするため、すべての入力データ レイヤーをオフにします ([Soil_types.tif]、[Elevation.tif]、[Land_use.tif]、[Distance_to_rivers.tif])。
- マップをズームおよび画面移動し、危険度が高いエリアの建物を特定します (赤またはオレンジ)。
グレナダのほとんどの建物は、危険度が低いエリアにあるようです。 しかし、危険度が高いゾーンに、いくつかの建物があります (オレンジ)。
これまで、[Landslide Susceptibility] レイヤーを使用して、危険がある建物を特定してきました。 しかし、これはダイナミック レイヤーで、ラスター関数により生成されたものなので、メモリ内にしか存在しません。 このレイヤーを将来再利用でき、同僚やコミュニティとも簡単に共有できるよう、コンピューターに保存します。
- [コンテンツ] ウィンドウで、[Landslide Susceptibility] レイヤーを右クリックし、[データ] をポイントして [ラスターのエクスポート] を選択します。
- [ラスターのエクスポート] ウィンドウで、次のパラメーターの値を設定します:
- [出力形式] で [TIFF] が選択されていることを確認します。
- [座標系] で、[WGS_1984_Complex_UTM_Zone_20N] が選択されていることを確認します。
- [セル サイズ] の下で、[X] と [Y] に「5」と入力します。
ラスター出力の各セルは、5 メートル四方を計測する地表の正方形を表しています。
- 他のすべての値をデフォルトのままにして、[エクスポート] をクリックします。
少しすると、新しいラスターがマップに表示されます。 外見はダイナミック レイヤーと似ています。 しかし、[カタログ] ウィンドウに保存されています。
- [カタログ] ウィンドウで、[フォルダー] → [Grenada_landslide_risk] の下にある [Landslide Susceptibility.tif] を見つけます。
- Ctrl + S キーを押してプロジェクトを保存します。
このチュートリアルでは、画像や他のタイプのラスター データを使用し、グレナダ島で地滑りの危険がある構造物を調べました。 ArcGIS Pro でモザイク データセットを作成し、航空写真を追加しました。 次に、ArcGIS Living Atlas の事前トレーニング済みのディープ ラーニング モデルにアクセスし、そのモデルを使用して航空写真レイヤーから建物フットプリントを自動的に抽出しました。 その次に、ラスター関数テンプレートを使ってラスター解析を実行し、地滑り危険度に応じて地形を分類しました。 地滑り危険度レイヤーを比較し、建物フットプリントを抽出して、リスクのある構造物を視覚化しました。 最後に、地滑り危険度ラスターをディスクに保存しました。 これで、自分やコミュニティの他のメンバーが結果レイヤーを使用して、以後のマッピングや解析のワークフローを行えるようになりました。