ArcGIS Pro で、すぐに利用できる事前トレーニング済みディープ ラーニング モデルの使用方法を以前のブログでご紹介しました。この方法を実行した際、さらに精度を向上させたいと思われたことはありませんか?
今回は日本の空中写真を用い、既存のディープ ラーニング モデルに対して追加学習を実行した結果をご紹介いたします。
※本記事でご紹介するツールの使用には ArcGIS Pro の Image Analyst エクステンションが必要です。
目次
追加学習とは
ArcGIS Pro で行う追加学習とは、既存のディープ ラーニング モデルに対し、新しいトレーニング データを学習させ、モデルの強化を行うことです。
下図の左側では、事前トレーニング済みディープ ラーニング モデルによる検出結果を示し、右側では追加学習後の結果を示しています。追加学習を行ったことによって、建物として検出したポリゴン フィーチャが増加していることがわかります。
本ブログでは、地図・空中写真閲覧サービスから取得した空中写真をジオリファレンスし、ArcGIS Living Atlas of the World で公開されている「Building Footprint Extraction – USA」モデルを用い、ディープ ラーニングを行いました。
追加学習前の建物検出数が少ない要因の一つとして、空中写真の解像度や対象地域がモデル推奨の解像度や対象地域と異なっていることが考えられます。このような際に追加学習を行います。
追加学習の手順
トレーニング データの取得
今回の追加学習にはトレーニング データとして建物ポリゴンを作成する必要があります。空中写真全域に建物ポリゴンを作成するのは大変なため、空中写真の一部をクリップします。クリップした範囲のすべてに建物ポリゴンを作成したのが下図です。作成したポリゴン フィーチャの属性として「Class」という新しいフィールドを設定し、すべてのフィーチャに [1] を割り当てます。
トレーニング データのエクスポート
[ディープ ラーニング用のトレーニング データをエクスポート] ツールを使い、トレーニング データを書き出します。今回は各パラメータを次のように設定します。[入力フィーチャクラス] には作成したトレーニング データ、[入力ラスター] にはクリップした空中写真を指定します。
ディープ ラーニング モデルのトレーニング
[ディープ ラーニング モデルのトレーニング] ツールを使い、既存のモデルに対して追加学習を行い、新たなディープ ラーニング モデルを作成します。[入力トレーニング データ] に先ほど作成したトレーニング データ、[事前トレーニング済みモデル] に「Building Footprint Extraction – USA」を指定します。
追加学習したディープ ラーニング モデルの実行
[ディープ ラーニングを使用したオブジェクトの検出] ツールを使い、ディープ ラーニングを実行します。[モデル定義] として追加学習したディープ ラーニング モデルを使用します。今回は、各パラメータを次のように設定します。
検出結果の比較
下図では追加学習前の青いポリゴン フィーチャと、追加学習後の赤いポリゴン フィーチャを比較しています。属性テーブルを確認すると、追加学習前は 370 個の建物を検出していたのに対し、追加学習後は 8,873 個の建物を検出することができました。
また、黄枠部分では誤って一つの建物として検出されていた箇所が、二つの建物として検出できています。さらに緑枠部分では、建物が検出されていなかった住宅街で多くの建物を検出できています。
追加学習を行ったことにより、誤検出、未検出となっていた建物の改善ができ、ディープ ラーニング モデルの精度を向上させることができました。
おわりに
今回の追加学習により、モデルの精度が向上し、多くの建物を検出できるようになりました。このように解像度や対象地域の異なるモデルであっても、追加学習を行うことでお手元のデータに適応させて活用することが可能です。
ArcGIS Living Atlas of the World では、建物の検出だけでなく、土地被覆分類や、地滑り危険地域の抽出、点群分類など、70 種類以上の事前トレーニング済みディープ ラーニング モデルが公開 (2024 年 8 月現在) されています。ぜひ事前トレーニング済みディープ ラーニング モデルと追加学習を活用してみてはいかがでしょうか。
「転移学習によるディープ ラーニング モデルの強化 | Learn ArcGIS」では本ブログでご紹介した追加学習について、より詳しく学ぶことができます。各ツールやパラメータの説明、操作の詳細については、こちらをご覧ください。