画像のセグメント化

透水性の地表部分と不透水性の地表部分を特定するために、画像を土地利用タイプに分類します。 不浸透面は、一般的に、建物、道路、駐車場、レンガ、アスファルトなど、人間が作り出したものです。 浸透面には、植生、水域、露出土壌などがあります。 各土地利用タイプには独自のスペクトル特性 (スペクトル シグネチャとも呼ばれます) があるので、このような分類にはマルチスペクトル画像の使用が適しています。

ただし、ほぼすべてのピクセルにスペクトル特性の一意の組み合わせが割り当てられている画像を分類しようとする場合、エラーや誤差が発生する可能性があります。 代わりに、ピクセルをセグメントにグループ化すると、画像を単純化して、分類対象のスペクトル シグネチャの数を大幅に減らすことができます。 画像をセグメント化した後、セグメントの教師付き分類を実行します。 最初に、画像を屋根や植生などの広範な土地利用タイプに分類します。 次に、それらの土地利用タイプを不浸透面または浸透面のいずれかに再分類します。

画像を分類する前に、バンド割り当てを変更してフィーチャを明確に区別します。

プロジェクトをダウンロードして開く

作業を開始するため、ケンタッキー州のルイビルという地方自治体から提供されたデータをダウンロードします。 このデータには、分析範囲の画像と土地区画フィーチャが含まれています。

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

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

  3. ファイルを右クリックして、ドキュメント フォルダーなどの見つけやすい場所にファイルを展開します。
  4. [Surface_Imperviousness] フォルダーを開きます。

    Surface_Imperviousne フォルダー

    このフォルダー内には、いくつかのサブフォルダーのほか、ArcGIS Pro プロジェクト ファイル (.aprx) と ArcGIS ツールボックス (.tbx) が含まれています。 他のデータを調べる前に、プロジェクト ファイルを開きます。

  5. コンピューターに ArcGIS Pro がインストールされている場合は、[Surface Imperviousness] (アンダースコアなし) をダブルクリックしてプロジェクト ファイルを開きます。 サイン インを求められたら、ライセンスが割り当てられた ArcGIS アカウントを使用してサイン インします。

    プロジェクト ファイル

    注意:

    ArcGIS Pro または ArcGIS アカウントがない場合、「ArcGIS の無料トライアル」にサイン アップできます。

    デフォルトのプロジェクト

    プロジェクトには、ケンタッキー州ルイビル市近郊のマップが格納されています。 マップには、その地域の 6 インチ解像度の画像で 4 バンドの航空写真である [Louisville_Neighborhood.tif] と、土地区画のフィーチャクラスの [Parcels] レイヤーが含まれます。 [Louisville_Neighborhood.tif] 画像の供給元は、米国の NAIP (National Agriculture Imagery Program) です。

    次に、画像から特定のスペクトル バンドを抽出します。

スペクトル バンドの抽出

現在のところ、ルイビル市近郊のマルチバンド画像では、人間の目で見たように画像を表示するためにナチュラル カラー バンド割り当てが使用されています。 このバンド割り当てを変更して、コンクリートのような都市フィーチャと植生のような自然界のフィーチャを区別しやすくします。 [コンテンツ] ウィンドウでバンドを右クリックしてバンド割り当てを変更することができますが、ワークフローの以降の部分では、3 つのバンドのみを含む画像を使用する必要があります。 そこで、表示する 3 つのバンドを元の画像から抽出することで、画像を作成します。

  1. [コンテンツ] ウィンドウで、[Louisville_Neighborhood.tif] レイヤーをクリックして選択します。
  2. リボンの [画像] タブをクリックします。 [解析] グループで [ラスター関数] をクリックします。

    画像タブの解析グループにあるラスター関数

    [ラスター関数] ウィンドウが表示されます。

    ラスター関数を使用すると、演算がラスター画像にリアルタイムで適用されます。これは、元のデータが変更されず、データセットが新規作成されないことを意味します。 出力は、そのラスター関数が実行されたプロジェクトのみに存在するレイヤーの形式をとります。 [バンド抽出] 関数を使用して 3 つのバンドのみを含む画像を作成し、浸透サーフェスと不浸透のサーフェスを区別します。

  3. [ラスター関数] ウィンドウで、[バンド抽出] 関数を検索してクリックします。

    バンド抽出ツール

    [バンド抽出] 関数が開きます。

    抽出するバンドには、植生を強調する近赤外 (バンド 4)、人工物と植生を強調する赤 (バンド 1)、および水域を強調する青 (バンド 3) が含まれます。

  4. [パラメーター] タブの [ラスター] で、[Louisville_Neighborhood] 画像を選択します。 [方法][バンド ID] に設定されていることを確認します。

    バンド抽出のラスターおよび方法パラメーター

    [方法] パラメーターは、バンド割り当ての入力時にバンドを参照するために使用するキーワードのタイプを定義します。 このデータの場合、[バンド ID] (各バンドを示す 1 つの番号) が、各バンドを参照する最も簡単な方法です。

  5. [組み合わせ] で、既存のテキストを削除し、「4 1 3」(スペースを含む) と入力します。 [一致バンドがない場合の操作][最適な一致] に設定されていることを確認します。

    バンド抽出のバンドおよび組み合わせパラメーター

    [一致バンドがない場合の操作] パラメーターは、抽出のためにリストされたバンドが画像で入手できない場合に行われるアクションを指定します。 [最適な一致] では使用すべき最適なバンドが選択されます。

  6. [一般] タブをクリックし、[名前] に「Louisville Neighborhood Extracted Bands」と入力します。

    抽出されたバンド レイヤーに名前を付けます。

  7. [新しいレイヤーの作成] をクリックします。

    [Louisville Neighborhood Extracted Bands_Louisville_Neighborhood.tif] という名前の新しいレイヤーがマップに追加されます。 ここには抽出されたバンドのみが表示されます。

  8. [コンテンツ] ウィンドウで [Louisville Neighborhood Extracted Bands_Louisville_Neighborhood.tif] を右クリックして [プロパティ] をクリックし、[名前] に「Louisville Neighborhood Extracted Bands」と入力して [OK] をクリックします。

    黄色の [Parcels] レイヤーが画像を覆っているため、一部のフィーチャが見えにくいことがあります。 プロジェクトの後半になるまで [Parcels] レイヤーは必要ないため、現時点ではこのレイヤーをオフにします。

  9. [コンテンツ] ウィンドウで、[Parcels] レイヤー ボックスをオフにして無効にします。

    バンド抽出の出力

    [Louisville Neighborhood Extracted Bands] レイヤーには、選択したバンド割り当て (4 1 3) を使用した画像が表示されます。 植生は赤、道路はグレー、屋根はグレーまたは青の階調で表示されます。 自然界の地表と人工の地表の違いを強調しておくと、以降のレッスンにおけるこれらの地表が分類しやすくなります。

    注意:

    [Louisville Neighborhood Extracted] レイヤーは [コンテンツ] ウィンドウに表示されていますが、このレイヤーはどのフォルダーにもデータとして追加されていません。 このレイヤーをマップから削除すると、レイヤー自体が完全に削除されます。

分類ウィザードの構成

次に、分類ウィザードを開いて、デフォルト パラメーターを構成します。 分類ウィザードでは、画像のセグメント化と分類の手順を実行します。

  1. [コンテンツ] ウィンドウで、[Louisville Neighborhood Extracted Bands] レイヤーが選択されていることを確認します。
  2. リボンの [画像] タブで、[画像分類] グループの [分類ウィザード] ボタンをクリックします。

    画像タブの画像分類グループにある分類ウィザード

    注意:

    ウィザードで提供されるツールを個別に開く場合も、同じタブからアクセスできます。 [画像分類] グループで [分類ツール] をクリックして、目的のツールを選択します。

    [画像分類ウィザード] ウィンドウが開きます。

    ウィザードの最初のページ (ウィザードの上部に青い円が表示される) には、実行する分類のタイプを決定する複数の基本パラメーターが含まれています。 これらのパラメーターは、ウィザードでこれ以降に表示されるステップに影響します。 ここでは教師付き分類方法を使用します。 この分類方法は、どのタイプのピクセルまたはセグメントがどのような方法で分類される必要があるかを示すユーザー定義のトレーニング サンプルをベースにします (一方、教師なし分類は、アルゴリズムに基づいて分類を決定するソフトウェアを利用します)。

  3. [分類方法][教師付き] に設定され、[分類タイプ][オブジェクト ベース] に設定されていることを確認します。

    画像分類ウィザード構成ページ

    オブジェクト ベースの分類タイプではセグメンテーションと呼ばれるプロセスを使用して、スペクトル特性の類似性に基づいて隣接ピクセルをグループ化します。

    次に、[分類スキーマ] を選択します。 [分類スキーマ] は、分類で使用するクラスを指定するファイルです。 スキーマは、JSON 構文を使用する Esri の分類スキーマ (.ecs) ファイルに保存されます。 このワークフローでは、デフォルト スキーマの NLCD2011 を変更します。 このスキーマは USGS (United States Geological Survey) が使用する土地被覆タイプに基づいています。

  4. [分類スキーマ] で、ドロップダウン矢印をクリックして [デフォルト スキーマの使用] を選択します。

    分類スキーマ

    次のパラメーターは [出力場所] の値を決定します。これはウィザードで作成されるすべての出力が保存されるワークスペースです。 この出力には、トレーニング データ、セグメント化された画像、カスタム スキーマ、精度評価情報、中間出力、作成された分類結果などが含まれます。

  5. [出力場所][Neighborhood_Data.gdb] に設定されていることを確認します。

    [オプション] では、[セグメント化された画像][トレーニング サンプル][参照データセット] には何も入力しません。これらのエレメントは、事前に作成されていないからです。

  6. [次へ] をクリックします。

    [画像分類ウィザード] の次ページでは、セグメンテーションを設定します。

画像のセグメント化

[セグメンテーション] のパラメーターを選択します。 [セグメンテーション] プロセス グループは、類似したスペクトル特性を持つ隣接ピクセルを、セグメントにグループ化します。 これを行うことで、画像を単純化し、分類を容易にします。 一意のスペクトル シグネチャを持つ何千というピクセルを分類するのではなく、もっと少ない数のセグメントを分類します。 最適なセグメント数、およびセグメントにグループ化されるピクセルの範囲は、画像のサイズと画像の使用目的に応じて変化します。

最初のパラメーターは [スペクトル詳細度] です。 このパラメーターは、ピクセル間のスペクトル差に割り当てられる重要度を 1 ~ 20 の尺度で設定します。 値が大きいほど、グループ化するピクセル間の類似度が高くなり、作成されるセグメント数が多くなることを意味します。 値が小さいほど、作成されるセグメント数は少なくなります。 区別する必要があるのは、浸透面と不浸透面 (一般にこれらのスペクトル シグネチャは著しく異なっています) であるため、低い値を使用します。

  1. [スペクトル詳細度] で、デフォルト値を削除して「8」を入力します。

    次のパラメーターは [空間的詳細度] です。 このパラメーターは、ピクセル間の近接性に割り当てられる重要度を 1 ~ 20 の尺度で設定します。 値が大きいほど、グループ化するピクセル間の近接度が高くなり、作成されるセグメント数が多くなることを意味します。 値が小さいほど、作成されるセグメント数は少なくなり、画像全体の均質性が高まります。 画像内の類似しているフィーチャすべてをクラスタリングするわけではないため、小さい値を使用します。 たとえば、家屋と道路は常に隣接しているとは限らず、画像の全範囲のいたるところにあります。

  2. [空間的詳細度] で、デフォルト値を削除して「2」を入力します。

    次のパラメーターは [最小セグメント サイズ (ピクセル)] です。 他のパラメーターとは異なり、このパラメーターの尺度は 1 ~ 20 ではありません。 このパラメーターに指定された値より少ない数のピクセルを含むセグメントは、隣接するセグメントにマージされます。 サイズが小さすぎるセグメントは必要ありませんが、透水性のセグメントと不透水性のセグメントが 1 つのセグメントにマージされるのも好ましくありません。 この場合は、デフォルト値をそのまま使用します。

  3. [最小セグメント サイズ (ピクセル)] で、値が 20 であることを確認します。

    最後のパラメーター [セグメント境界線のみを表示] は、セグメントを黒色の境界線で表示するかどうかを指定します。 これは、同じような色をした隣接セグメントを区別するのに便利ですが、サイズが小さいセグメントがより見づらくなる可能性があります。 家屋や車道など、画像内の一部のフィーチャはかなり小さいため、このパラメーターはオフのままにしておきます。

  4. [セグメント境界線のみを表示] がオフになっていることを確認します。

    セグメント境界線のみを表示

  5. [次へ] をクリックします。

    セグメンテーションのプレビューがマップに追加されます。 これは、Preview_Segmented という名前で [コンテンツ] ウィンドウにも追加されます。

    セグメンテーションのプレビュー

    最初の表示では、出力レイヤーは、希望どおりにセグメント化されているように見えません。 植生などのフィーチャは、特に画像の左側で、境界があいまいな多数のセグメントにグループ化されているように見えます。 ほんの少しのピクセルしか含んでいないように見える極めて小さいセグメントが、この地域に点在しています。 ただし、この画像はリアルタイムで生成されているため、処理はマップ範囲に基づいて変化します。 全体表示では、時間を節約するために画像が単純化されます。 単純化を軽減するために拡大すると、選択したパラメーターによるセグメンテーションがどのように表示されるかが確認しやすくなります。

  6. マウス ホイールで、画像の中央付近にズームします。

    ズームされたセグメンテーションのプレビュー

    セグメンテーションが再度プレビューされます。 マップ範囲が縮小すると、使用したパラメーターが、より正確にセグメンテーションに反映され、セグメント数が減少するとともに出力がより滑らかに表示されます。

    注意:

    セグメンテーションの結果に満足できない場合は、ウィザードの前のページに戻ってパラメーターを調整できます。 実際のセグメンテーションを処理するには長い時間がかかる可能性があるので、セグメンテーションはリアルタイムでプレビューするだけです。満足する結果を得られるまでさまざまなパラメーターの組み合わせをテストすることをお勧めします。

  7. [コンテンツ] ウィンドウで、[Preview_Segmented] を右クリックして [レイヤーにズーム] を選択すると、全体表示に戻ります。

    レイヤーにズーム

  8. [クイック アクセス ツールバー] で、[保存] をクリックして、プロジェクトを保存します。

    クイック アクセス ツールバーの保存

    注意:

    現在の ArcGIS Pro のバージョンでこのプロジェクト ファイルを保存すると、これより前のバージョンでファイルを再び開けなくなることを警告するメッセージが表示される場合があります。 このメッセージが表示されたら、[はい] をクリックして続行します。

    注意:

    プロジェクトを保存しても、ウィザード内の場所は保存されません。 ウィザードを完了する前にプロジェクトを閉じると、スポットが失われるので、ウィザードを最初からやり直す必要が生じます。

ここでは、透水性のフィーチャと不透水性のフィーチャの差異を強調するためにスペクトル バンドを抽出しました。 また、セグメンテーション パラメーターを設定して、類似したスペクトル特性を持つピクセルをセグメントにグループ化し、画像を単純化しました。 次に、浸透性または不浸透性によって画像を分類します。


画像分類

このセクションでは、画像の分類を設定します。 教師付き分類は、どのタイプのピクセルまたはセグメントがどのような方法で分類される必要があるかを示すユーザー定義のトレーニング サンプルをベースにします (一方、教師なし分類は、アルゴリズムに基づいて分類を決定するソフトウェアを利用します)。最初に、画像を植生や道路などの広範な土地利用タイプに分類します。 次に、それらの土地利用タイプを浸透面または不浸透面のいずれかに再分類します。

トレーニング サンプルの作成

教師付き分類を実行するには、トレーニング サンプルが必要です。 トレーニング サンプルは、画像内で異なる土地被覆タイプの別々のサンプル エリアを表すポリゴンです。 トレーニング サンプルは、それぞれの土地被覆が示すさまざまなスペクトル特性を分類ツールに通知します。

まず、デフォルト スキーマを変更して、[Impervious][Pervious] という 2 つの親クラスを含むようにします。 次に、土地被覆のタイプを表すサブクラスを各クラスに追加します。 セグメント化された画像を浸透面と不浸透面のみに分類しようとすると、分類が過剰に単純化されて、多くのエラーが発生する可能性があります。 もっと具体的な土地利用タイプに基づいて画像を分類することで、より正確な分類を作成できます。 後で、これらのサブクラスをそれぞれの親クラスに再分類します。

  1. [画像分類ウィザード] ウィンドウで、個々のデフォルト クラスを右クリックして、[クラスの削除] をクリックします。 クラスごとに、[クラスの削除] ウィンドウで [はい] をクリックします。

    クラスの削除

  2. [NLCD2011] を右クリックして [新しいクラスの追加] を選択します。

    新しいクラスの追加

  3. [新しいクラスの追加] ウィンドウで、[名前] に「Impervious」と入力します。 [値] には「20」と入力して、[色][グレー 30%] を選択します。 [OK] をクリックします。
    ヒント:

    色の名前を表示するには、カラー パレットで色をポイントすると、色の名前が表示されます。

    Impervious クラスの設定

    値 20 は、分類プロセスで不浸透性として識別されたすべてのセグメントに帰属する数です。 この値は数値ラベルの意味合いが強く、計算には使用できません。

  4. [NLCD2011] をもう一度右クリックして [新しいクラスの追加] を選択します。 「Pervious」という名前のクラスを、値は「40」、色は [ケツァール グリーン] に設定して追加します。 [OK] をクリックします。

    Pervious クラスの設定

    次に、グレーの屋根のサーフェスのサブクラスを追加します。

  5. [Impervious] 親クラスを右クリックして [新しいクラスの追加] を選択します。 「Gray Roofs」という名前のクラスを、値は「21」、色は [グレー 50%] に設定して追加します。 [OK] をクリックします。

    このレッスンでは、他の屋根形状は作成しません。 ただし、画像にさまざまな建物が含まれるプロジェクトでは、グレーの屋根とは異なるスペクトル特性を持つ赤色の屋根の土地利用タイプを作成することも考えられます。

    次に、このクラスを使用してマップ上にトレーニング サンプルを作成します。

  6. [Gray Roofs] クラスをクリックして選択します。 その後、[ポリゴン] ボタンをクリックします。

    ポリゴン ボタン

  7. 近傍の北西にあるクルドサックにズームします。
    ヒント:

    ポリゴン ツールがアクティブな間、C キーを押したままにして、ナビゲーション ツールを有効化できます。

    北西の近傍

  8. クルドサック内の最北端の屋根の上に、ポリゴンを描画します。 ダブルクリックして描画を終了します。 ポリゴンによってカバーされるのは、屋根を構成するピクセルだけにします。

    トレーニング サンプル

    注意:

    ポリゴンが屋根全体を覆う必要はありません。 屋根のサンプルであれば問題ありませんが、最も重要なのは、屋根の素材のみが含まれていることです。

    新しいトレーニング サンプルの行がウィザードに追加されます。

    ウィザードに追加された行

    トレーニング サンプルを作成するときは、土地利用タイプごとに多数のピクセルをカバーします。 このレッスンでは、土地利用タイプごとに 6 つ程度のサンプルがあれば十分ですが、実際のプロジェクトでは、画像がより広い範囲をカバーしているため、非常に多くのサンプルが必要になる場合があります。

    家屋の屋根を表す追加のトレーニング サンプルを作成します。

  9. 近辺のいくつかの家屋の上に追加の長方形を描画します。

    トレーニング サンプル

    トレーニング サンプルを作成するたびに、そのサンプルがウィザードに追加されます。 屋根の上にのみトレーニング サンプルを描画しましたが、現在、それぞれのトレーニング サンプルは独自のクラスとして存在します。 最終的には、すべてのグレーの屋根を同じ値として分類したいため、作成したトレーニング サンプルを 1 つのクラスにマージします。

  10. ウィザードで、最初の行をクリックして選択します Shift キーを押したまま、最後の行をクリックして、すべてのトレーニング サンプルを選択します。
  11. トレーニング サンプルのリストの上にある [折りたたみ] ボタンをクリックします。

    折りたたみボタン

    トレーニング サンプルが 1 つのクラスになります。 引き続きグレーの屋根のトレーニング サンプルを追加して、それらを [Gray Roofs] クラスにマージできます。 最適な戦略は、画像全体のサンプルを集めることです。

    次に、土地被覆タイプをさらに追加します。

  12. [Impervious] を右クリックして [新しいクラスの追加] を選択し、次のテーブルに基づいて、不浸透面のサブクラスをさらに 2 つ作成します (色は完全に一致していなくてもかまいません)。

    サブクラス

    Roads

    22

    コードバン ブラウン

    Driveways

    23

    ヌバック タン

    Impervious サブクラス

  13. [Impervious] を右クリックして [新しいクラスの追加] を選択し、次のテーブルに基づいて、浸透面のサブクラスをさらに 4 つ作成します。

    サブクラス

    Bare Earth

    41

    ミディアム イエロー

    42

    ミディアム アップル

    Trees

    43

    リーフ グリーン

    44

    クレタ ブルー

    45

    サハラ サンド

    Pervious サブクラス

    注意:

    これらの 8 つのクラスは、この画像の土地利用タイプに特有のものです。 異なる場所の画像では、分類で表現する必要がある土地利用のタイプまたは地表フィーチャが異なることがあります。

    影は、実際の地表面ではなく、透水性と不透水性のどちらにも該当しません。 その一方で、影は、通常、家屋や樹木などの背の高い物体によって作り出され、浸透面である草地や露出土壌を覆う傾向が強くなります。

  14. 土地利用タイプごとに 6 つ程度のトレーニング サンプルを画像全体に描画します。 必要に応じて、画像全体のズームや画面移動を行います。

    また、[Preview_Segmented] レイヤーをオフ/オンし、[Louisville Neighborhood Extracted Bands] レイヤーを確認することで、その地形をより理解することができます。

    マップ全体に描画されたトレーニング サンプル

  15. 同じタイプの土地利用を表すトレーニング サンプルを 1 つのクラスにグループ化します。

    グループ化されたクラス

  16. トレーニング サンプルに問題がなければ、[トレーニング サンプル マネージャー] ウィンドウの上部にある [保存] ボタンをクリックします。

    保存ボタン

    カスタマイズ済みの分類スキーマが保存され、再利用できるようになります。

  17. [次へ] をクリックします。

画像の分類

これでトレーニング サンプルが作成されたので、次は分類方式を選択します。 各分類方式は、トレーニング サンプルが関わるそれぞれ異なる統計プロセスを使用します。 ここでは [SVM (Support Vector Machine)] 分類器を使用します。これは大きな画像を処理できて、トレーニング サンプル内の矛盾に影響されにくいものです。 次にトレーニング サンプルを使用して分類器を作り上げ、分類器定義ファイルを作成します。 このファイルは分類時に使用されます。 このファイルの作成後、画像を分類します。 最後に浸透および不浸透のサブクラスを親クラスに再分類して、クラスが 2 つだけのラスターを作成します。

  1. [画像分類ウィザード] ウィンドウの [学習] ページで、[分類器][SVM (Support Vector Machine)] に設定されていることを確認します。

    次のパラメーターでは、各クラスの定義に使用するサンプルの最大数を指定できます。 すべてのトレーニング サンプルを使用するため、クラスあたりの最大サンプル数を「0」に変更します。 最大数を 0 に変更することは、すべてのトレーニング サンプルが使用されるようにするためのコツです。

  2. [クラスあたりの最大サンプル数] に「0」と入力します。

    分類器とクラスあたりの最大サンプル数の設定

    次に、分類器を作成して、プレビューを表示します。

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

    多数のプロセスが実行されるので、このプロセスには時間がかかる場合があります。 まず、画像がセグメント化されます (これまでは、画像はリアルタイムでセグメント化され、永続的なデータではありませんでした)。 次に、分類器が作成され、分類が実行されます。 プロセスが完了すると、分類プレビューがマップ上に表示されます。

    分類プレビュー

    トレーニング サンプルによっては、分類プレビューは高い精度で表示されます (データセット内の色は、トレーニング サンプル クラスごとに選択する色に対応します)。 ただし、一部のフィーチャが正確に分類されなかったことに気付くかもしれません。 たとえば、画像例では、近傍の南にある濁った池が実際は水なのに、グレーの屋根に誤って分離されています。 分類は精密科学ではないため、すべてのフィーチャが完全に分類されることはまれです。 表示された誤りが少数の場合は、後でウィザードで手動で修正できます。 表示された誤りの数が多い場合は、さらにトレーニング サンプルを作成する必要があるかもしれません。 また、この場合、道路と車道はどちらも不透水性であるため、最終的な透水性および不透水性の土地被覆への分類に変わりはありません。

  4. 分類プレビューに問題がなければ、[次へ] をクリックします。

    次のページは [分類] ページです。 このページを使用して実際の分類を実行し、それをジオデータベースに保存します。

  5. [出力分類データセット] で、出力名を「Classified_Louisville.tif」に変更します。 残りのパラメーターはそのままにしておき、[実行] をクリックします。

    プロセスが実行され、分類ラスター レイヤー [Classified_Louisville] がマップに追加されます。 これはプレビューとよく似た表示になります。

    次のページは [クラスのマージ] ページです。 このページを使用して、サブクラスを親クラスにマージします。 現在ラスターには 7 つのクラスがあり、それぞれが土地利用のタイプを表しています。 これらのクラスは正確な分類には不可欠でしたが、ここで関係するのは、各クラスが浸透なのか不浸透なのかということのみです。 サブクラスを Pervious および Impervious 親クラスにマージして、クラスが 2 つだけのラスターを作成します。

  6. [次へ] をクリックします。
  7. クラスごとに、[新しいクラス] 列で、[Pervious] または [Impervious] のいずれかを選択します。

    新規クラス列

    最初のクラスの変更時に、プレビューがマップに追加されます。 プレビューには、再分類された画像がどのように表示されるのかが示されます。 すべてのクラスを変更した場合、プレビューには 2 つのクラスのみが存在し、浸透および不浸透のサーフェスを表します。

  8. [次へ] をクリックします。

エラーの再分類

ウィザードの最終ページは [再分類] ページです。 このページには、ラスター データセット内で小さなエラーを再分類するためのツールが含まれています。 このページを使用して、ラスター内の誤った分類を修正します。

  1. [コンテンツ] ウィンドウで、[Preview_Reclass][Louisville_Neighborhood.tif] 以外のレイヤーをすべてオフにします。 [Preview_Reclass] レイヤーをクリックして選択します。
  2. リボンの [ラスター レイヤー] タブをクリックします。 [比較] グループの [スワイプ] をクリックします。

    ラスター レイヤー タブの比較グループのスワイプ

  3. マップ上でポインターをドラッグして、プレビューと元の近傍の画像を視覚的に比較します。

    マップのスワイプ

    1 か所、サンプル画像で不正確なところは、近隣の南にある地表の区画の一部が不浸透面として誤って分類されていたことです。 この区画は他の不浸透オブジェクトには接続されていないので、比較的容易に再分類できます。

  4. 地表エリアの区画にズームします。

    地表の区画

  5. ウィザードで、[領域内の再分類] をクリックします。

    領域内の再分類

    このツールでは、マップ上にポリゴンを描き、そのポリゴン内のすべてのものを再分類できます。

  6. [リマップ クラス] セクションで、[現在のクラス][任意] に設定されていることを確認します。 [新しいクラス][Pervious] を選択します。

    リマップ クラス

    これらの設定により、ポリゴン内のすべてのピクセルが浸透サーフェスに再分類されます。 次に、地表の区画を再分類します。

  7. 地表の区画の周囲にポリゴンを描画します。 ポリゴン内に他の不浸透サーフェスを含めないようにします。

    地表の区画の周囲に描画されたポリゴン

    地表の区画は自動的に浸透面に再分類されます。

    再分類された地表の区画

    注意:

    間違って再分類したときには、[編集ログ] ウィンドウでオフにすることで再分類を元に戻すことができます。

    分類ではその他の誤りに気付くこともありますが、このレッスンではこれ以上の編集は行いません。

  8. データの全範囲を表示します。
  9. [画像分類ウィザード][最終的な分類データセット] に、「Louisville_Impervious.tif」(拡張子 .tif を含む) と入力します。
  10. [実行] をクリックします。 ツールが完了したら、[完了] をクリックします。

    再分類の出力

    ツールが実行され、再分類されたラスターがマップに追加されます。

  11. [クイック アクセス ツールバー] で、[保存] をクリックして、プロジェクトを保存します。
    注意:

    分類の精度レベルを体系的に定量化する方法があります。 詳細については、レッスン「浸透性分類の精度を評価する」をご参照ください。このレッスンでは、精度評価ポイントをランダムに生成し、グランド トゥルースを行い、混同行列を作成して、分類精度の割合を求めます。 このレッスンでは、先ほど実行した不浸透性および浸透性分類の精度評価を実行する手順を紹介しています。

ここでは、ルイビル市内の画像を分類して、透水性である土地被覆と不透水性である土地被覆を特定しました。 次に、地方自治体が流出雨水の処理料金を割り当てることができるように、土地区画あたりの不浸透面の面積を計算します。


不浸透面の面積の計算

分類の結果を使用して、土地区画あたりの不浸透面の面積を計算し、その結果に従って土地区画をシンボル表示します。

クロス集計

近隣の土地の各区画内の不浸透面と浸透面の面積を求めるには、最初に面積を計算して、結果をスタンドアロン テーブルに格納します。 次に、そのテーブルを [Parcels] レイヤーに結合します。

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

    解析タブのジオプロセシング グループのツール

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

  2. [ジオプロセシング] ウィンドウで [クロス集計 (Tabulate Area)] ツールを検索して開きます。

    ジオプロセシング ウィンドウのクロス集計ツールの検索結果

    このツールは、指定ゾーン (このレッスンでは各パーセル) 内の一部のクラス (このレッスンでは透水性と不透水性) の面積を計算します。

  3. [入力ラスター、またはフィーチャ ゾーン データ] で、[Parcels] レイヤーを選択します。 [ゾーン フィールド] パラメーターに [Parcel ID] フィールドが設定されていることを確認します。

    [クロス集計 (Tabulate Area)] のパラメーター

    ゾーン フィールドは、各ゾーンを一意に識別する属性である必要があります。 [Parcel ID] フィールドには各フィーチャの一意の識別番号が含まれます。したがって、このパラメーターはそのままにしておきます。

  4. [入力ラスターまたはフィーチャクラス] で、[Louisville_Impervious] レイヤーを選択します。
  5. [クラス フィールド] で、[Class_name] を選択します。

    クロス集計のパラメーターの続き

    クラス フィールドは、面積を求めるときの基準となるフィールドを指定します。 知りたい情報は、再分類済みラスターの各クラス (透水性と不透水性) の面積であるため、[Class_name] フィールドは妥当な値です。

  6. [出力テーブル] で、テキスト フィールドをクリックして、出力場所が [Neighborhood_Data] ジオデータベースであることを確認し、出力名を「Impervious_Area」に変更します。

    クロス集計のパラメーターの続き

    最後のパラメーター [処理するセル サイズ] では、面積の計算に使用するセル サイズを指定できます。 デフォルトでは、セル サイズは入力ラスター レイヤー [Louisville_Impervious] と同じです (この場合は 0.5 フィート)。 このパラメーターはそのままにしておきます。

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

    ツールが実行され、テーブルが [コンテンツ] ウィンドウの [スタンドアロン テーブル] セクションに追加されます。 作成したテーブルを調べてみましょう。

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

    Impervious_Area のテーブル

    テーブルには、標準の [ObjectID] フィールドに加えて、他に 3 つのフィールドがあります。 1 つ目は [Parcels] レイヤーの [Parcel_ID] フィールドで、各土地区画の一意の識別番号が表示されます。 次の 2 つは、[Louisville_Impervious] ラスター レイヤーのクラス フィールドです。 [Impervious] フィールドは土地区画あたりの不浸透面の面積 (フィート単位) を示し、[Pervious] フィールドは浸透面の面積を示します。

  9. テーブルを閉じます。

    これで、土地区画あたりの不浸透面の面積を取得できましたが、これはスタンドアロン テーブルのみに存在します。 次に、そのスタンドアロン テーブルを [Parcels] レイヤーに結合し、面積の情報をレイヤーで使用できるようにします。 [Parcel] レイヤーとスタンドアロン テーブルに共通する [Parcel ID] フィールドに基づいて結合を実行します。

  10. [Parcels] レイヤーを右クリックし、[テーブルの結合とリレート] をポイントして、[テーブルの結合] を選択します。

    [テーブルの結合] ウィンドウが開きます。

  11. [テーブルの結合] ウィンドウで、次の情報を入力します。
    • [入力テーブル][Parcels] が選択されていることを確認します。
    • [レイヤー、テーブル ビューのキーとなるフィールド] で、[Parcel ID] を選択します。
    • [結合先のテーブル] で、[Impervious_Area] テーブルが選択されていることを確認します。
    • [結合テーブル フィールド] で、[PARCEL_ID] が選択されていることを確認します。

    [テーブルの結合 (Add Join)] ツール パラメーター

    注意:

    [レイヤー、テーブル ビューのキーとなるフィールド] の横に表示される警告は無視してかまいません。 [Parcels] レイヤーのフィーチャ数はあまり多くないため、[Parcel ID] フィールドのインデックスが構築されていなくても問題はありません。

  12. その他のパラメーターはデフォルトのままにし、[実行] をクリックします。
  13. [コンテンツ] ウィンドウで、[Parcels] レイヤーを右クリックして、[属性テーブル] を選択します。 属性テーブルに次のフィールドが含まれていることを確認します。
    • IMPERVIOUS
    • PERVIOUS

Parcels 属性テーブルのクリーンナップ

これでテーブルが結合されたので、フィールド エイリアスを情報が伝わりやすいものに変更します。

  1. [Parcel] レイヤーの属性テーブルで、オプション ボタンをクリックし、[フィールド ビュー] を選択します。

    フィールド ビュー

    [Parcels] 属性テーブルの [フィールド] ビューが表示されます。

    [フィールド] ビューでは、フィールドの追加または削除に加えて、フィールド名の変更、フィールド エイリアスの変更、およびその他の設定の調整を行えます。 2 つの面積フィールドのフィールド エイリアスを、情報がより伝わりやすいものに変更します。

  2. [エイリアス] 列で、[IMPERVIOUS] フィールドのエイリアスを「Impervious Area (Feet)」に変更します。 [PERVIOUS] フィールドのエイリアスを「Pervious Area (Feet)」に変更します。

    フィールド名の変更

  3. リボンの [フィールド] タブの [変更] グループで、[保存] をクリックします。

    フィールド タブの変更グループにある保存ボタン

    属性テーブルに対する変更が保存されます。

  4. [フィールド] ビューおよび属性テーブルを閉じます。

その後、不浸透面の面積によってマップに土地区画をシンボル表示します。

[土地区画のシンボル表示] レイヤー

これで各パーセルに不浸透面の面積の値が割り当てられたため、パーセルをシンボル表示して、不浸透面の面積によってパーセルを視覚的に比較します。

  1. [コンテンツ] ウィンドウで、[Parcels] および [Louisville_Neighborhood.tif] 画像レイヤーがオンになっており、その他のレイヤーがすべてオフになっていることを確認します。

    [Parcels] および [Louisville_Neighborhood.tif] レイヤーを表示

  2. [Parcels] レイヤーをクリックして選択します。
  3. リボンの [フィーチャ レイヤー] タブの [描画] グループで、[シンボル] を選択します。

    フィーチャ レイヤー タブの描画グループのシンボル

    [Parcels] レイヤーの [シンボル] ウィンドウが表示されます。 現時点で、このレイヤーは黄色のアウトラインとして単一シンボルで表示されています。 不浸透面の面積が大きい土地区画と、不浸透面の面積が小さい区画が異なる外観で表示されるように、レイヤーをシンボル表示します。

  4. [シンボル] ウィンドウの [プライマリ シンボル] で、[等級色] を選択します。

    等級色シンボル

    一連のパラメーターが使用可能になります。 最初に、シンボルを定義するフィールドを変更します。

  5. [フィールド] で、[Impervious Area (Feet)] を選択します。

    レイヤー上のシンボルが自動的に変化します。 ただし、クラスの数が少ないため、土地区画のシンボル間の違いはほとんど見られません。

  6. [クラス][7] に変更し、[配色][黄から赤] に変更します。
    ヒント:

    配色の名前を表示するには、配色をポイントします。

    シンボルのパラメーター

    レイヤー シンボルがもう一度変化します。

    最終的なマップ

    不浸透面の面積が最大である土地区画は、道路の位置に対応する区画であるように見えます。 これらの土地区画は、サイズが非常に大きく、ほぼすべての区画が不透水性です。 一般に、土地区画のサイズが大きいほど、含まれる不浸透面の面積が大きい傾向にあります。 ただし、建物のサイズや、所有者が不透水性の車道やテラスを浸透性のものに置き換えたり、家屋に緑化屋根を設置したりするかどうかによって、小さな区画でも大きな違いが生じる可能性があります。

    これで、不透水性である面積の比率に基づいてレイヤーをシンボル表示できました。一方、流出雨水の処理料金のほとんどは、面積の比率ではなく、総面積に基づきます。

  7. [シンボル] ウィンドウを閉じます。
  8. プロジェクトを保存します。

このレッスンでは、ケンタッキー州のルイビル市近郊の航空画像を分類して、透水性であるエリアと不透水性であるエリアを表示しました。 次に、分類の精度を評価して、土地区画あたりの不浸透面の面積を求めました。 このレッスンから得られた情報を使用すれば、この地方自治体は、流出雨水処理の請求額を決定する体制を以前より的確に整えることができます。

このワークフローをユーザー独自のデータに使用できます。 あるエリアの高解像度マルチスペクトル画像がある限り、そのエリアの地表面を分類することができます。

注意:

詳細については、レッスン「浸透性分類の精度を評価する」の実施をご検討ください。 先ほど得られた結果をもとに、分類の精度を正式に評価する方法について学習します。 これは、結果の信頼性を証明する重要な手順です。

同様のレッスンについては、「画像およびリモート センシングの概要」ページをご参照ください。