Spatial Analyst を使用した画像分類
ArcGIS Spatial Analyst の [多変量解析] ツールセットは、教師付き分類および教師なし分類を行うためのツールを提供します。また、[画像分類] ツールバーは、教師付き分類で使用するトレーニング サンプルとシグネチャ ファイルを容易に作成することのできる環境を提供します。[最尤法分類(Maximum Likelihood Classification)] ツールが主な分類方法です。クラスと統計情報を特定するシグネチャ ファイルがこのツールの入力データとして必要です。教師付き分類では、[画像分類] ツールバーとトレーニング サンプルを使用してシグネチャ ファイルが作成されます。教師なし分類では、クラスタリング ツールを実行することでシグネチャ ファイルが作成されます。また、Spatial Analyst はフィルタリングや境界のスムージングなどの分類後処理を実行するツールも提供しています。次の図に、画像分類のワークフローにおける詳細な手順を示します。
1. データの調査と前処理
データの調査
分類解析はバンド データとトレーニング サンプル データが正規分布に従うという前提に基づいています。バンドのデータ分布を確認するには、Spatial Analyst ツールバーにある対話型の [ヒストグラム] ツール を使用します。個々のトレーニング サンプルの分布を確認するには、[トレーニング サンプル マネージャ] の [ヒストグラム] ツール を使用します。
バンド データのストレッチ
分類処理は、各バンドの値の範囲から影響を受けます。各バンドの属性を同等に考慮するには、各バンドの値の範囲を同様にする必要があります。あるバンドの値の範囲が他のバンドと比べて小さすぎる(または、大きすぎる)場合、Spatial Analyst ツールボックスの [算術演算] ツールを使用して、バンドの拡大/縮小ができます。たとえば、[Times] ツールを使用すると、バンドを定数倍して値の範囲をストレッチすることができます。
主成分分析
主成分分析はマルチバンド画像を変換して、バンド間の相関関係を排除します。出力画像の情報は、主に最初の数個のバンドに集中しています。最初の数個のバンドを強調することで、ArcMap に表示した際に画像がより詳細に見えます。これにより、トレーニング サンプルの収集に役立ちます。[多変量解析] ツールセットの [主成分分析(Principal Components)] ツールを使用することで、主成分の分析ができます。
マルチバンド画像の作成
[画像分析] ツールバーはマルチバンド画像レイヤに対して機能します。個々のバンドを新しいマルチバンド画像に読み込むには、[コンポジット バンド(Composite Bands)] ツールを使用します。
分類用のサブセット バンドの作成
画像データセットのすべてのバンドを分類に使用するには、ArcMap に画像データセットを追加し、[画像分類] ツールバーで画像レイヤを選択します。
既存のデータセットから特定のバンドだけを分類に使用するには、[ラスタ レイヤの作成(Make Raster Layer)] ツールを使用して新しいラスタ レイヤを作成します。作成された新しいラスタ レイヤには指定したサブセット バンドのみを含み、[画像分類] ツールバーで使用することができます。
2. トレーニング サンプルの収集
教師付き分類では、トレーニング サンプルをクラスの特定とシグネチャの計算に使用します。[画像分類] ツールバーのトレーニング サンプル描画ツールを使用して、トレーニング サンプルを対話的に作成することができます。トレーニング サンプルの作成は、ArcMap グラフィックス レイヤの代わりに [トレーニング サンプル マネージャ] でトレーニング サンプルの形状を指定すること以外は、ArcMap でのグラフィックスの描画と同様です。
トレーニング サンプルを作成するには、[画像分類] ツールバーのトレーニング サンプル描画ツール(ポリゴン ツールなど)から 1 つを選択して、入力画像レイヤ上に描画します。各トレーニング サンプル内のピクセル数は、少なすぎても多すぎてもいけません。トレーニング サンプルが小さい場合、クラスのシグネチャを正しく作成するのに十分な情報が得られない可能性があります。またトレーニング サンプルが大きすぎる場合、対象のクラスに属さないピクセルを含んでいる可能性があります。画像のバンド数が n の場合、各トレーニング サンプルの最適なピクセル数は 10n から 100n です。
3. トレーニング サンプルの評価
トレーニング サンプルが画面に描画されている間に、[トレーニング サンプル マネージャ] に新しいクラスが自動的に生成されます。[トレーニング サンプル マネージャ] にはトレーニング サンプルを評価する 3 つのツール([ヒストグラム] ツール 、[散布図] ツール 、[統計情報] ツール )が用意されています。これらのツールを使用して、さまざまなエリアのスペクトルの特徴を調査することができます。また、これらのツールを使用してトレーニング サンプルの評価を実施することができます。これにより、クラス同士が十分に分離しているか確認します。
4. クラスの編集
トレーニング サンプルの評価の結果によっては、重複するクラス同士を 1 つのクラスにマージする必要があります。この作業は、[トレーニング サンプル マネージャ] ウィンドウの [マージ] ツール で実行することができます。加えて、クラスの名前変更または番号変更、表示色の変更、クラスの分割、クラスの削除、トレーニング サンプルの保存と読み込みなどができます。次の図に、2 つのクラスをマージする方法を示します。
5. シグネチャ ファイルの作成
他のクラスと区別可能かつ必要なクラスを代表するトレーニング サンプルを決定したら、[トレーニング サンプル マネージャ] の [シグネチャ ファイルの作成] ツール を使用してシグネチャ ファイルを作成することができます。
6. クラスタリング(教師なし分類)
教師付き分類では、ポリゴンで囲まれピクセルで特定される既知の定義されたクラス(土地利用タイプなど)から、シグネチャ ファイルが作成されます。教師なし分類ではピクセルの統計上特性から、クラスではなくクラスタが作成されます。多変量空間で同様の統計上特性を持つピクセルがグループ化され、クラスタを形成します。クラスタは教師付き分類で使用されるクラスとは異なり、分類上の意味(土地利用タイプなど)を持ちません。
[画像分類] ツールバーを使用した教師なし分類では、[ISO クラスタの教師なし分類(Iso Cluster Unsupervised Classification)] ツールを実行することでシグネチャ ファイルが作成されます。[多変量解析] ツールセットの [ISO クラスタ(Iso Cluster)] ツールを使用することもできます。
[ISO クラスタ(Iso Cluster)] ツールは分類に使用可能なシグネチャ ファイルのみ作成します(上のワークフロー図のステップ 9)。新しいツール [ISO クラスタの教師なし分類(Iso Cluster Unsupervised Classification)] は、[画像分類] ツールバーと [多変量解析] ツールセットの両方からアクセスできます。このツールを使用すると、シグネチャ ファイルと出力分類画像を 1 つのツールで作成することができます(ステップ 6 と 9)。
7. シグネチャ ファイルの調査
[樹状図(Dendrogram)] ツールを使用することで、シグネチャ ファイルでマージされたクラス間の属性の隔たり具合を調べることができます。クラス間の分離を表すツリー図を ASCII ファイルで出力します。[樹状図(Dendrogram)] から、2 つ以上のクラスまたはクラスタが十分に区別可能かどうか判断することができます。区別が難しい場合、次のステップでマージするかどうか決定します。
[樹状図(Dendrogram)] ツールは Spatial Analyst の [多変量解析] ツールセットからアクセスできます。
8. シグネチャ ファイルの編集
シグネチャ ファイルはテキストエディタから直接編集してはいけません。代わりに、[多変量解析] ツールセットの [シグネチャの編集(Edit Signatures)] ツールを使用します。このツールにより、クラス シグネチャのマージ、番号変更、削除ができます。
9. 分類の適用
画像を分類するには、[最尤法分類(Maximum Likelihood Classification)] ツールを使用します。このツールは最尤法の確率論に基づいています。各ピクセルにクラス シグネチャの平均値と分散に基づくさまざまなクラスを割り当てます。ツールは [画像分類] ツールバーからもアクセスできます。
[対話的な教師付き分類] ツールも、画像を分類する方法の 1 つです。このツールにより最尤法分類処理を素早く行うことができます。このツールは [最尤法分類(Maximum Likelihood Classification)] ツールを起動することなく、分類結果を迅速にプレビューすることができます。
10. 分類後処理
[最尤法分類(Maximum Likelihood Classification)] ツールで作成された分類済み画像では、いくつかのセルが誤って分類され(ランダムノイズ)、不整合な小さなリージョンが生成されることがあります。このような分類を修正するには、誤って分類されたセルをその周りを囲むクラスまたはクラスタに再分類します。分類済み画像を修正するのに最もよく使用される方法として、フィルタリング、クラスの境界のスムージング、小さな孤立リージョンの削除があります。これらのデータ をクリーンナップするためのツールを使用することで、より視覚的に美しいマップが完成します。
分類済み出力画像のフィルタリング
この処理では分類済み画像から孤立したピクセル群を削除します。この処理は、[大多数フィルタ(Majority Filter)] または[フォーカル統計(Focal Statistics)] ツール([統計情報の種類]をMajorityに設定)のいずれかで実行することができます。この 2 つのツールの違いは、[大多数フィルタ(Majority Filter)] ツールが 3 x 3 の正方形の隣接ピクセルを使用して処理するのに対し、[フォーカル統計(Focal Statistics)] ツールはより多くの種類の近傍範囲(ドーナツ型または円など)に対応していることです。
クラスの境界のスムージング
[境界のスムージング(Boundary Clean)] ツールは複数のクラスを凝集し、クラスの不規則なエッジをスムーズにします。このツールはクラスを拡大したり、縮小したりすることで処理を行います。このツールによって、分類済み画像の空間における一貫性が向上します。隣接するリージョン同士が接続されることがあります。
小さな孤立リージョンの削除による出力画像のジェネラライズ
フィルタリングとスムージングの処理によって、分類済み画像は処理以前より大分きれいになっているはずです。しかし、分類済み画像にはまだ孤立している小さなリージョンが存在している可能性があります。このジェネラライズの処理では、画像の孤立している小さなリージョンを削除することで画像をさらにクリーンナップします。この処理ではいくつかの Spatial Analyst ツールを使用した複数ステップを行います。
- [リージョン グループ(Region Group)] ツールを起動し、分類済み画像の各リージョンに一意な値を割り当てます。
- [リージョン グループ(Region Group)] ツールで作成された新しいラスタ レイヤの属性テーブルを開きます。各リージョンのピクセル数を見て、削除すべき小さなリージョンを判定するための閾値を決めます。
- 削除したいリージョンに対するマスク ラスタを作成します。[Set NULL] ツールを起動し、ピクセル数の小さなリージョンに NULL 値を設定します。
- 分類済み画像上で [ニブル(Nibble)] ツールを起動します。前のステップで [Set NULL] ツールによって作成されたマスク ラスタを [入力マスク ラスタ] として使用します。これで出力画像の小さなリージョンがディゾルブされます。