浸透性分類の精度を評価する

目視による評価の実行

まず、プロジェクトを開き、含まれているレイヤーを探索して、目視検査することで分類の精度を非公式に評価します。 まず、浸透性分類レイヤーと参照画像を含むプロジェクトをダウンロードして開きます。

注意:

チュートリアル「スペクトル画像からの不浸透面の計算」から独自の結果を使用することもできますが、新たにダウンロードしたデータを使用することで、画面の表示内容とこのチュートリアルで説明されている手順を一致させることができます。

  1. プロジェクトとそのデータを含む Imperviousness_Classified .zip ファイルをダウンロードします。
  2. コンピューター上で、ダウンロードしたファイルを選択します。
    注意:

    お使いの Web ブラウザーによっては、ダウンロードを開始する前に、ファイルの場所を選択するよう求めるメッセージが表示される場合があります。 ほとんどのブラウザーでは、デフォルトでコンピューターのダウンロード フォルダーがダウンロード先の場所になります。

  3. [Imperviousness_Classified.zip] ファイルを右クリックして、[ドキュメント] フォルダーなどの見つけやすい場所にファイルを展開します。
  4. ArcGIS Pro を起動します。 サイン インを求められたら、ライセンスが割り当てられた ArcGIS 組織アカウントを使用してサイン インします。
    注意:

    ArcGIS Pro へのアクセス権限または組織アカウントがない場合は、ソフトウェア アクセスのオプションをご参照ください

  5. ウィンドウの下部にある [開く] で、[別のプロジェクトを開く] をクリックします。

    別のプロジェクトを開く

  6. [プロジェクトを開く] ウィンドウで、展開したフォルダー [Imperviousness_Classified] を参照します。 [Imperviousness_Classified.aprx] をクリックして選択し、[OK] をクリックします。

    Surface Imperviousness プロジェクト ファイル

    プロジェクトが開きます。

    ArcGIS Pro でプロジェクトが開きます。

    次に、プロジェクトに含まれるレイヤーを探索します。 最上位レイヤー [Louisville_Impervious] がオンになっています。 これは、以前の分類プロセスの結果で、不浸透面がグレー、浸透面が緑色で表示されています。 ベースマップ [地形図 (World Topographic Map)] もオンになっており、プロジェクトのレイヤーのコンテキストを提供しています。

  7. [コンテンツ] ウィンドウで、[Louisville_Impervious] チェックボックスをオフにして、レイヤーを非表示にします。 [Louisville_Neighborhood.tif] のチェックボックスをオンにして、レイヤーを表示します。

    コンテンツ ウィンドウでオンまたはオフのレイヤー

    [Louisville_Neighborhood.tif] は、その地域の 6 インチ解像度かつ 4 バンドの航空写真で、ナチュラル カラー バンド割り当て (赤、緑、青) で表示されています。 このため、人間の目に見えるものと同様に表示されます。 これは精度評価を実行する際の参考として使用します。

  8. [コンテンツ] ウィンドウで、[Louisville_Neighborhood.tif] をオフにし、[Louisville_Neighborhood_Color_Infrared] をオンにします。

    これは同じ画像を赤外カラー バンド割り当て (赤外線、赤、緑) で表示したものです。 植生が赤色でハイライト表示されています。 これも精度評価を実行する際の参考として使用します。 次に、レイヤーを視覚的に比較することで、非公式に分類精度を評価します。

  9. [コンテンツ] ウィンドウで、[Louisville_Neighborhood_Color_Infrared] をオフにし、[Louisville_Impervious][Louisville_Neighborhood.tif] の両方をオンにします。 [Louisville_Impervious] をクリックして選択します。
  10. リボンの [ラスター レイヤー] タブをクリックして、[比較] グループの [スワイプ] をクリックします。

    スワイプ ツール

  11. マップで、ポインターを上から下にドラッグして、[Louisville_Impervious] 分類レイヤーの下に [Louisville_Neighborhood.tif] 画像を表示します。 2 つのレイヤーを調べて比較します。

    スワイプ ツールを使用し、2 つのレイヤーを比較します。

    分類はどのくらい正確に見えますか?

  12. 必要に応じて、[Louisville_Impervious] および [Louisville_Neighborhood_Color_Infrared] 間をスワイプして、分類をカラー赤外画像と比較することもできます。
  13. リボンで [マップ] タブをクリックし、[ナビゲーション] グループで [マップ操作] をクリックし、[スワイプ] ツールを非アクティブにします。

    マップ操作ツール

  14. [クイック アクセス ツールバー][保存] ボタンをクリックして、プロジェクトを保存します。
    ヒント:

    Ctrl + S キーを押してプロジェクトを保存することもできます。

精度評価ポイントの作成

分類レイヤーを元の画像と非公式に比較することは、ある程度役立ちますが、分類の精度を公式に計測したことにはなりません。 流出雨水処理の請求額は解析から求められるため、より厳密な評価プロセスを実行する必要があります。 公式な評価を実行するには、ランダムに生成される精度評価ポイントを画像のいたるところに作成します。 その後、各ポイントの位置にある分類値 (浸透性または不浸透性) を、元の画像に表示されている実際の土地被覆タイプと比較します。

注意:

ある位置の実際の土地被覆を調査員が視覚的に確認するプロセスをグランド トゥルースと呼びます。 最も厳密な精度評価では、調査員が実際に現地に移動して土地被覆を確認する必要がありますが、多くの場合、実際の場所に移動するのは非現実的で、費用を捻出するのも困難です。 このため、グランド トゥルースのプロセスでは、画像を確認することが次善の策として考えられています。

  1. リボンの [解析] タブの [ジオプロセシング] グループで、[ツール] をクリックします。

    ツール

    [ジオプロセシング] ウィンドウが表示されます。

  2. [ジオプロセシング] ウィンドウで、「Create accuracy assessment points」を検索し、Enter キーを押します。

    「Create accuracy assessment points」を検索します。

  3. 結果のリストで、([Image Analyst ツール] または [Spatial Analyst ツール] から) [精度評価ポイントの作成 (Create Accuracy Assessment Points)] をクリックしてツールを開きます。

    このツールは、画像のいたるところにランダム ポイントを生成し、そのポイントの位置にある画像の分類値に基づき、ポイントに属性を割り当てます。 また、ポイントには、元の画像のグランド トゥルース用のフィールドも含まれます。このフィールドはポイントごとに手動で入力します。

  4. [精度評価ポイントの作成 (Create Accuracy Assessment Points)] ツールで、次のパラメーターを入力します。
    • [入力ラスターまたはフィーチャクラス データ] で、[Louisville_Impervious] レイヤーを選択します。
    • [精度評価ポイントの出力] で、[参照] ボタンをクリックします。 表示されるウィンドウで、[プロジェクト][データベース] を参照し、[Neighborhood_Data.gdb] をダブルクリックします。 [名前] に「My_Accuracy_Points」と入力し、[保存] をクリックします。
    • [ターゲット フィールド] で、[分類] が選択されていることを確認します。
    • [ランダム ポイント数] に「100」と入力します。
    • [サンプリング処理] で、[均等階層別ランダム] を選択します。

    精度評価ポイントの作成ツールのパラメーター

    [ターゲット フィールド] パラメーターでは、ポイントの属性テーブルに分類値を記載するか、またはグランド トゥルース値を記載するかを指定できます。 ここで指定した入力画像は分類済みラスターであるため、ポイントには分類値が含まれている必要があります。

    [ランダム ポイント数] パラメーターでは、作成されるポイント数を指定できます。 クラスが 2 つだけの小さな画像の場合、比較的少ない数のポイントで問題ありません。

    [サンプリング処理] パラメーターでは、画像全体にポイントをどのようにランダムに分散させるかを指定できます。 ポイントは、各クラスの面積に比例して分散させること ([階層別ランダム]) 、各クラス間で均等に分散させること ([均等階層別ランダム]) も、完全にランダムに分散させること ([ランダム]) もできます。 主な評価対象は不浸透面 (2 つのクラスのうちの小さい方) の精度であるため、ポイントを各クラス間で均等に分散させて、評価の際に不浸透面をよりわかりやすく表現します。

    注意:

    選択されているパラメーターは、不浸透面で 50 ポイント、浸透面で 50 ポイントが選択されることを意味しています。

  5. [実行] をクリックします。

    100 個の精度ポイントを含む新しいレイヤーがマップに追加されます。

    100 個の精度ポイントを含む新しいレイヤー

    ここで、これらのポイントの属性を確認します。

  6. [コンテンツ] ウィンドウで、[My_Accuracy_Points] レイヤーを右クリックして [属性テーブル] を選択します。

    属性テーブル

    属性テーブルが表示されます。

    テーブルが表示されます。

    属性テーブルには、各ポイントの位置に関する情報が含まれています。 通常の [ObjectID] と [Shape] フィールド以外に、ポイントには [Classified][GrndTruth] (グランド トゥルース) という 2 つの属性が含まれています。 [Classified] フィールドの値は 20 または 40 のいずれかです。 これらの数値は、分類プロセスで決定されたクラスを表しています。[Louisville_Impervious] レイヤーでは、20 が不浸透性、40 が浸透性として表示されています。 一方、[GrndTruth] フィールドでは、すべての値が -1 にデフォルトで設定されます。これは、値がまだ不明であり、ポイントに対してグランド トゥルースが行われる必要があることを示しています。 各ポイントの画像を検査し、見つかった土地被覆のタイプに応じて、[GrndTruth] 属性を 20 または 40 に編集します。

  7. [コンテンツ] ウィンドウで、[My_Accuracy_Points][Louisville_Neighborhood.tif] 以外のレイヤーをすべてオフにします。
    注意:

    必要に応じて、ポイントの色を変更して見やすくすることもできます。 [コンテンツ] ウィンドウで、必要に応じて [My_Accuracy_Points] の下のシンボルを右クリックし、色を自由に選択します。

    次に、グランド トゥルース プロセス中の判断が既存の分類値に影響されないように、[Classified] 列を非表示にします。

  8. 属性テーブルで、[Classified] 列ヘッダーを右クリックし、[フィールドを非表示] を選択します。

    フィールドを非表示

  9. 属性テーブルで、行ヘッダー [1] をクリックして、フィーチャを選択します。 行ヘッダーを右クリックして [ズーム] を選択します。

    選択したフィーチャにズームします。

    マップが、選択したポイントにズームします (作成したポイントは、この例の画像のポイントとは異なる位置にあります)。

    注意:

    必要に応じて、属性テーブル ウィンドウの上部をドラッグしてサイズを変更し、マップ エリアと属性テーブルの両方が見えるようにします。

    マップが、選択したポイントにズームします。

    この例では、ポイントは草地または露出土壌のいずれかの上に表示されます。 いずれの場合も、地表面は透水性です。 このポイントの [GrndTruth] 属性を、透水性を示す 40 に変更します。 道路や屋根などの不浸透面上に最初のポイントが表示された場合は、その [GrndTruth] 属性を、不透水性を示す 20 に変更します。

    注意:

    マップ範囲およびポイントの位置によっては、ポイントがどのタイプの土地被覆上にあるか確認できるほど近くにズームしていない場合があります。 ポイントのグランドトゥルースをよりはっきり確認できるように、もっと近くまでズームしてみてください。

    この画像で、浸透面には、植生、樹木、地表、水などがあります。 不浸透面には、道路、車道、場、建物の屋根などがあります。

  10. 属性テーブルの [GrndTruth] 列で、選択したフィーチャの値をダブルクリックして編集します。 デフォルト値を削除し、調査結果に応じて「40」または「20」を入力し、Enter キーを押します。

    GrndTruth 値が更新されました。

  11. 属性テーブルで次のポイントを選択します。 ポイントを右クリックして [画面移動] を選択します。

    マップが、同じズーム レベルを維持したまま、対応するポイントに画面移動します。

  12. ポイントの位置に応じて、[GrndTruth] 値を「20」または「40」に変更します。
    注意:

    マップ上にフィーチャがはっきりと表示されないため、一部のポイントのグランドトゥルースが識別できない場合があります。 必要に応じて、[Louisville_Neighborhood_Color_Infrared] レイヤーを一時的にオンにして、表示がより明確になるかどうかを確認できます。

  13. 最初の 10 個のポイントに対してこの処理を繰り返します。
  14. リボンの [編集] タブをクリックし、[編集の管理] グループの [保存] をクリックして、属性テーブルで行ったすべての編集内容を保存します。 確認を求められたら、[はい] をクリックします。

    編集タブの保存

    ここで、グランド トゥルースの作業を一旦止めて、[Classified] 列を再表示し、[Classified] 列と [GrndTruth] 列の値を比較します。
  15. オプション ボタンをクリックし、[すべてのフィールドを表示] を選択します。

    すべてのフィールドを表示

    [Classified] 列が再び表示されたら、両方の列の値を調べて比較します。 ここまで 2 つの値はすべて一致していますか?

    入力した値を Classified 列と比較します。

    このまま、[My_Accuracy_Points] レイヤーの 100 個の精度ポイントすべてにグランド トゥルース値を入力し続けてもかまいません。 ただし、このチュートリアルの時間を節約するため、代わりに、グランド トゥルース値が入力された精度評価ポイント フィーチャクラスを使用することができます。 すぐに使える精度評価ポイント レイヤーを使用する場合は、このレイヤーをマップに追加します。

    注意:

    ご自身で 100 個のポイントのグランド トゥルースを行う場合は、[Classified] 属性を再び非表示にして、ここでプロセスを完了させてください。 [編集] タブで [保存] をクリックし、すべての編集内容を保存します。 属性テーブルを閉じ、ステップ 18 に進みます。

  16. リボンの [表示] タブをクリックし、[ウィンドウ] グループで [カタログ] ウィンドウをクリックします。

    カタログ ウィンドウ

  17. [カタログ] ウィンドウの [プロジェクト] の下にある [データベース] を展開し、[Neighborhood_Data.gdb] を展開します。 [Accuracy_Points] を右クリックして、[現在のマップに追加] をクリックします。

    Accuracy_Points をマップに追加します。

    すぐに使える新しい [Accuracy_Points] レイヤーが [コンテンツ] ウィンドウとマップに表示されます。 最初のレイヤー [My_Accuracy_Points] は必要なくなったため、削除します。

  18. [コンテンツ] ウィンドウで [My_Accuracy_Points] を右クリックし、[削除] を選択して [レイヤーの削除] ポップアップで [破棄] をクリックします。
  19. [コンテンツ] ウィンドウで、[Louisville_Neighborhood.tif] レイヤーを右クリックして [レイヤーにズーム] を選択します。

    マップが画像の全体表示状態に戻ります。

  20. プロジェクトを保存します。

混同行列の計算

精度評価ポイントを作成して、ポイントの属性にグランド トゥルース データを入力した後は、それらのポイントを使用して、混同行列を作成します。 混同行列は、精度評価ポイントの [Classified] 属性と [GrndTruth] 属性を比較して、それらのポイント間における精度の比率 (パーセント) を算出するテーブルです。 不透水性に分類されたエリアが、元の画像で実際に不透水性のエリアを表している場合、その混同行列では高い比率が得られ、高精度の分類が示されます。

  1. 必要に応じて、[解析] タブの [ジオプロセシング] グループで、[ツール] をクリックして [ジオプロセシング] ウィンドウを再び開きます。
  2. 必要に応じて、[ジオプロセシング] ウィンドウの [戻る] ボタンをクリックします。

    戻るボタン

  3. [ジオプロセシング] ウィンドウで、([Image Analyst ツール] または [Spatial Analyst ツール] の) [混同行列の計算 (Compute Confusion Matrix)] ツールを検索して開きます。

    混同行列の計算ツール

    このツールのパラメーターは入力用と出力用の 2 つだけです。

  4. [混同行列の計算 (Compute Confusion Matrix)] ツールで、次の情報を入力します。
    • [精度評価ポイントの入力] で、[Accuracy_Points] を選択します。
    • [出力混同行列] で、[参照] をクリックします。 [名前] に「Confusion_Matrix」と入力し、[保存] をクリックします。
    注意:

    100 個のポイントをご自身で入力する場合、[入力精度評価ポイント][My_Accuracy_Points] を選択します。

    混同行列の計算パラメーター

  5. [実行] をクリックします。

    ツールが実行され、混同行列が [コンテンツ] ウィンドウに追加されます。 混同行列は空間データを持たないテーブルであるため、マップ上には表示されません。

  6. [コンテンツ] ウィンドウの [スタンドアロン テーブル] の下で、[Confusion_Matrix] を右クリックして [開く] を選択します。

    テーブルを開きます。

    [Confusion_Matrix] テーブルが表示されます。

    Confusion_Matrix テーブル

    注意:

    [My_Accuracy_Points] レイヤーにグランド トゥルース値をご自身で入力した場合、混同行列が若干異なる結果を示すことがあります。

    [ClassValue] 列の値は、テーブル内の行ヘッダーとして使用されます。 [C_20][C_40] は、分類済みラスターの 2 つのクラス、つまり、不浸透面を示す 20 と浸透面を示す 40 に対応しています。 [C_20] および [C_40] 列は、グランド トゥルースが 20 または 40 のポイントを表し、[C_20] および [C_40] 行は、20 または 40 に分類されたポイントを表します。 たとえば、例にあるポイントを使用すると、グランドトゥルースが 20 であった 47 個のポイントが同様に 20 に分類されたのに対して、グランドトゥルースが 20 である 1 個のポイントが 40 に誤分類されています。 全部で 100 個のポイントのうち、4 個が誤分類されています (3 個が不透水性に誤分類され、1 個が透水性に誤分類されています)。

    [U_Accuracy] はユーザーの精度を意味します。 合計分類数ごとに、正確に分類されたピクセル数が占める割合を表します。 [P_Accuracy] はプロデューサーの精度を意味し、合計グランドトゥルース数ごとに、正確に分類されたピクセル数が占める割合を表します。 たとえば、50 個のピクセルが不透水性に分類され、そのうち 47 個が正確に分類されているため、ユーザーの精度は 0.94 (94 パーセント) になります。 一方、グランドトゥルースが不透水性であった 48 個のピクセルがあり、そのうち 47 個が正確に分類されているため、プロデューサーの精度は約 0.98 (98 パーセント) になります。

    最後の属性は [Kappa] です。 この属性は、ユーザーの精度とプロデューサーの精度の合計に基づいて、分類の精度に関する全体的な評価を示します。 上記の例では、[Kappa] は 0.92、つまり 92 パーセントです。 100 パーセントではないにしても、全体的な精度が 92 パーセントであることは非常に高い信頼性を示しています。

    注意:

    [Kappa] の値が 85 ~ 90 パーセントを下回る場合、分類の精度が十分ではない可能性があり、見直して改善する必要があります。 ワークフローにおける 2 つの部分が、分類エラーの一因となる可能性があります。 1 つ目はセグメンテーションです。 セグメンテーションのパラメーターによって、元の画像が過剰に単純化されるか、十分に単純化されないと、フィーチャが誤分類される場合があります。 セグメンテーションの品質が向上するように、セグメンテーションのパラメーターを調整してみることもできます。 一方、エラーの大部分が、作成したトレーニング サンプルによって引き起こされた可能性もあります。 トレーニング サンプルが少なすぎるか、トレーニング サンプルがあまりにも多様なスペクトル シグネチャをカバーしている場合も、分類エラーが生じることがあります。 さらに多くのサンプルまたはクラスを追加すると、精度が向上させることができます。

  7. プロジェクトを保存します。

これで、不浸透面の分類の精度が 92% であることを都市の管理者に報告できます。 この精度であれば、このデータを使用して流出雨水処理の請求額を計算するのに十分な信頼性があると見なすことができます。

他のチュートリアルについては、チュートリアル ギャラリーをご覧ください。