ENVI Tutorials - Harris Geospatial Solutions

ENVI チュートリアル
ディシジョンツリー分類
この章は以下の内容から構成されています。
概要 ........................................................................................................................ 2
使用するファイル .................................................................................................. 2
ディシジョンツリーとは ......................................................................................... 3
ディジョンツリーの定義........................................................................................ 3
ENVI のディシジョンツリーツール ...................................................................... 3
ディシジョンツリーへのインプット ...................................................................... 3
ENVI のディシジョンツリーツールの使用 ............................................................. 4
ENVI の起動.......................................................................................................... 4
ディシジョンツリー分類で画像を開いて表示する ................................................. 4
ディシジョンツリールールの入力 ......................................................................... 5
ディシジョンツリーの実行 .................................................................................... 8
ディシジョンツリーの変更 .................................................................................... 10
各クラスのマスクへの保存 .................................................................................... 12
ディシジョンツリーの保存 .................................................................................... 12
ENVI セッションの終了 ........................................................................................ 13
概要
この章では、ENVI のディシジョンツリー分類( Decision Tree cl assifier )に
ついて説明します。コロラド州ボールダーの Landsat 5 TM 画像と USGS
DEM のサブセットを使用します。ディシジョンツリー分類を行い、様々な表示
オプションを使用します。ディシジョンツリーから余分なものを削除し、表示さ
れたツリーの特徴を変更します。
使用するファイル
DVD: Resource DVD
Path: Data /can_tm
ファイル
概要
bouldr_tm.dat
コロラド州ボールダーの Landsat 5 TM 画 像
bouldr_tm.hdr
上記用の ENVI ヘッダ
boulder_dem.dat
コロラド州ボールダーの USGS DEM の空間サブ
セット
boulder_dem.hdr
上記用の ENVI ヘッダ
2
ディシジョンツリーとは
ここでは、米国コロラド州 Canon City の L andsat TM データのスペクトル特
性を理解します。分類の際、トレーニングデータ(教師データ)の特徴的な領域
を捜して識別する作業の最初のステップとして、カラー合成画像が使用されます。
ディジョンツリーの定義
ディシジョンツリーは、1 つ以上の画像に適用することができるマルチステージ
(多段式)分類です。各ピクセルの正しいカテゴリを決める(ディシジョン)た
めに使用される一連の二分決定で構成されています。ディシジョンは、データセ
ットの特徴全てを基に実行されます。例えば、1 つの標高画像と、異なる時期に
収集された 2 つの異なるマルチスペクトル画像がある場合、それらの画像を同じ
ツリー内で分類することができます。ツリー内に単一のディシジョンしかない場
合、画像をクラスに分割することができず処理が正しく行われません。そのため、
各ディシジョンは 2 つのクラスもしくは複数のクラスの 1 つへデータを分割しま
す。
ENVI のディシジョンツリーツール
ENVI のディシジョンツリーツールは、 リモートセンシング で一般的に使用され
る Salford Systems の CART や Insightful の S-PLUS などのディシジョンル
ールに含まれるロジックを、ディシジョンツリー分類の構築の際に採用していま
す。
ENVI のディシジョンツリーツールはデータの検索や、特定の基準を満たすデ ー
タ範囲検索を行う際にとても便利です。ディシジョンツリーツールを使用してデ
ータセットに関する情報を取得するために、ENVI 以外で生成されたツリーを持
つ必要はありません。
ディシジョンツリーへのインプット
1 つの画像もしくは同じ範囲の画像のセットを、ENVI のディシジョンツリー分
類へインプットすることができます。画像が幾何補正されている場合、同じ投影
法もしくはピクセルサイズである必要はありません。ENVI は、それらの画像を
処理中に重ねます。ディシジョンツリーは、マルチデータセットに適用すること
ができます。
この章で実行するディシジョンツリーでのディシジョンルールは、最初に画像ピ
クセルを、0.3 よりも大きい NDVI 値を持つ画像と、0.3 以下の NDVI 値を持
つ画像という 2 つのグループに分けられます。高い NDVI 値を持つピクセル値
は、傾きが 20 度以上のピクセルと、傾きが 20 度よりも少ないピクセルとに分
けられます。傾きが少ないピクセルは、北向きの傾きと北向き以外の傾きとに分
けられます。高い NDVI 値を持ち 20 度以上の傾きを持つピクセルは、これ以上
分割できません。0.3 以下の NDVI 値を持つピクセルは、20 より少ない値を持
つバンド 4 と、20 以 上の値を持つバンド 4 の 2 つのグループに分けられます。
しかし、0 と等しい値を持つバンド 4 は 20 より少ない値とは異なり、バンド 1
の平均より少ない値を持つバンド 1 の値は、0.3 以下の N DVI 値とは異なりま
3
す。そのためこれ以上の分割は、これらのピクセルから行われます。
また、同じツリーは以下の基準を使用して表すことができます。

Class 1:20 度以上の傾きを持つ、0.3 より大きい NDVI 値

Class 2:20 度よりも少ない傾きを持ち北向きでなく、0.3 より大
きいNDVI 値

Class 3:20 度よりも少ない傾きを持ち北向きで、0.3 より大きい
NDVI 値

Class 4:20 以上の値を持つバンド 4 の、0.3 以下の NDVI 値

Class 5:20 よりも少ない値を持つバンド 4 の、0.3 以下の値を持
つ NDVI値

Class 6:0 の値を持つバンド 4

Class 7:バンド 1 の平均よりも少ないバンド 1 の値
ENVI のディシジョンツリーツールの使用
ENVI の起動
プログラムを起動する前に、インストールガイドの指示通り ENVI が正しくイン
ストールされていることを確認してください

UNIX もしくは Macintosh OS X で ENVI を起動するには、
UNIX のコマンドラインに envi と入力してください。

Windows システムで ENVI を起動するには、ENVI アイコンをダ
ブルクリックしてください。
プログラムが正常にロードされ実行されると、ENVI メインメニューが表示され
ます。
ディシジョンツリー分類で画像を開いて表示する
この章で使用する画像は、コロラド州ボールダーの Landsat 5 TM 画像のサブ
セットを含みます。この画像は、空間解像度 10m ピクセルを持つ SPOT 画像と
一致するようワープされているため、Landsat 画像も 10m ピクセルを持ってい
ます。Landsat サブセットの範囲を含む USGS DEM の空間サブセットも使用
します。標高画像は 30m ピクセルを持っています。2 つの画像は、異なる手法
で投影されており、それぞれ State Plane で 投影された Landsat と UTM で投
影された DEM です。
1.
画像ファイルを開く場合、ENVI メインメニューバーから File -> Open
Image File を選択し てください。 Enter Da ta Filename ファイル 選択
4
ダイアログが表示されます。
2.
他のアプリケーションと同様に Resource DVD の Data ディレク トリの
decision サブディレクトリに移動してください。リストからファイル
bouldr_tm.dat を選択 し、Open をクリックしてください。画像のデフォ
ルトバンドがウィンドウに読み込まれ、Available Bands List ダイアロ
グが表示されます。
3.
ENVI メインメニューバーから File -> Open Image File を選択してく
ださい。
4.
Resource DVD の Da ta ディレク トリ decision サブディレクトリに移動
してください。リストからファイル boulder_dem.dat を選択し、 Open
をクリックしてください。
5.
Available Bands List で Gray Scale ラジオ ボタンを選択し、 boulder
_dem.dat ファイルの Band 1 をクリックしてください。 Available
Bands List ダイアログの中央にある選択されたバンドのフィールドに、
DEM がリスト表示されます。
6.
Available Bands List ダイアログの下部にある Display #1 ボタンをク
リックし、New Display を選択してください。
7.
Load Band ボタンをクリックして、新しいウィンドウに画像を 読み込ん
でください。
8.
ディシジョンツリーにインプットする画像を調査してください。ツリーが
構築される前に画像データを表示してください。
9.
ディシジョンツリーで使用する画像を調査した後、2 つのウィンドウのメ
ニューバーから File -> Cancel を選択してそれぞれのウィンドウを閉じ
てください。
ディシジョンツリールールの入力
1.
Classification -> De cision Tree -> Build New Decision Tree を選
択し、ディシジョンツリーツールを起動してください。空のディシジョン
ノードが 1 つ作成されたディシジョンツリーツールが起動します。このデ
ィシジョンノードは、空のノードに二分決定式が入力されることでデータ
セットのピクセルを 2 つのグループに分割します。
5
2.
最初のディシジョンは、Landsat 画像を基に実行されます。ディシジョン
を定義する場合、Node 1 と表示されているディシジョンノードをクリッ
クしてください。
{ndvi} gt 0.3
このディシジョンは、緑の植生を持つピクセルとそうでないピクセルとに
分けるよう ENVI に指示します。NDVI は、マルチスペクトル画像の赤と
近赤外バンドから計算された緑の植生の豊富さを表すために一般的に使用
される指標です。
ディシジョンツリーは、各ピクセルの NDVI 植生指標を計算し、0.3 より
大きい値を持つ全てのピクセルを検索します。0.3 よりも大きい NDVI 値
を持つピクセルは、いくつかの緑の植生を持っていなければなりません。
多くの変数は、ディシジョンツリーが実行される際に一緒に計算されます。
ENVI が自動的に計算することができる変数は、傾き、アスペクト、
NDVI 指標、主成分、MNF 成分、平均、標準偏差、最小最大値、タッセ
ルドキャップ変換などを含みます。これらの変数に関する詳細は、ENVI
オンラインヘルプ を参照してください。
3.
Name フィールドに NDVI > 0.3 と入力してください。これは、グラフィ
ック表示されるディシジョンツリーのディシジョンノードに表示されるテ
キストです。OK ボタンをクリックすると、名前が Node 1 から変更され
ます。
6
式変数とファイルのペア
1.
表示された Variables/Files Pairing ダイアログで、{ndvi} 変数の名前
をクリックしてください。その後表示されるファイル選択ダイアログで
bouldr_tm.dat 画像を 選択してください。この手順は、このディシジョン
式を評価する際に NDVI 値が bouldr_tm.da t 画像から計算されなければ
ならないということをディシジョンツリーに指示します。
<注>
波長が分かっているので、ENVI は NDVI 計算でどのバンドが必要かを算出す
ることができます。ヘッダに波長がない画像が選択された場合、NDVI 計算の
赤いバンドと近赤外線バンドを識別するプロンプトが表示されます。
ルールの追加
これは、とても簡単なディシジョンツリー分類です。0.3 より大きい NDVI 値を
持つピクセルは白いクラスに含まれ、0.3 以下の NDVI 値を持つピクセルは黒の
クラスに含まれます。ディシジョンルールを追加して、更に複雑な分類を行うこ
とができます。
1.
高い NDVI 値を持つピクセルを別のカテゴリに分類してください。Class
1 ノード上でマウスの右ボタンをクリックして、表示されたショートカッ
トメニューから Add Children を選択してください。 ENVI は自動的に
Class 1 の下に新しいクラスを 2 つ作成します。
2.
空白のノード上でクリックをして、Edit Decision Parameters ダ イアロ
グに
{slope} lt 20
というディシジョンを入力してください。このディシジョンは、傾きの大
きさを基に高い NDVI 値を持つピクセルを分割します。
3.
このノードの名前として、Slope < 20 と入力 し、OK をクリックしてくだ
さい。
4.
高い NDVI 値と若干の傾きを持つピクセルを含む緑のターミナルノード上
で、マウスの右ボタンをクリックし、表示されるショートカットメニュー
から Add Children を選択してください。ノードをクリックし、
{aspect} lt 20 and {a spect} gt 340
という式を Edit Decis ion Parameters ダイ アログに入力してください。
このディシジョンは、高い NDVI 値と若干の傾きを持つピクセルを、北向
きとそうでないものに分割します。
7
5.
このノードの名前として North と入力し、OK をクリックしてください。
6.
低い NDVI 値を持つピクセルを含む黒のターミナルノード上でマウスの右
ボタンをクリックし、表示されるショートカットメニューから Add
Children を選択してください。 Edit Decisi on Properties ダイア ログに
b4 l t 20
という式を入力してください。バンド 4 にある 20 より小さい値を持つピ
クセルは、主に水に対応します。
7.
このノードの名前として Low B4 と入力し、OK をクリックしてください。
ディシジョンツリーの実行
変数とファイルのペア
ツリーは終了しましたが、実行する前にツリーの式で使用された全ての変数と画
像ファイルをペアにしなければなりません。
1.
7ページの「式変数とファイルのペア」の手順で、以下の変数とファイルもし
くはバンドをペアにしてください。
{slope} = boulder_dem.dat
{aspect} = boulder_d em.dat
b4 = bouldr_tm.dat b and 4
8
ディシジョンツリーの実行
1.
ディシジョンツリー分類を実行する場合、Options -> Execute を 選択す
るかもしくは ENVI Decision Tree ダイアロ グの何も表示されていない
背景の範囲でマウスの右ボタンをクリックし、Execute を選択してくださ
い。
2.
Decision Tree Ex ecu tion Paramete rs ダイ アログで、ベースとして使
用する bouldr_tm.dat 画像をクリックしてください。地図投影、ピクセ
ルサイズ、他の画像の範囲が一致するよう適合されます。
3.
分類画像の出力ファイル名を入力し、OK をクリックしてください。
計算が行われている間は、ピクセルのグループ化に使用されているノードは一時
的に薄緑で表示されます。そのため、ノードからノードへ分類処理が実行されて
いる過程を視覚的に確認することができます。分類が終了すると、結果は自動的
に新しいウィンドウに読み込まれます。
ディシジョンツリーの結果表示
ディシジョンツリーから出力されたピクセルの色は、ピクセルが分類され格納さ
れるターミナルノードの色によって決定されます。このため、例えばディシジョ
ンツリーの結果にある黄色いピクセルは、各ディシジョンポイントで no を返す
ピ ク セ ル にな り ます 。そ の た め 、低 い NDVI 値 と バ ン ド 4 で 高 い 値 を 持 ち ます 。
これは、水でも植物でもないということを表します。
ディシジョンツリーを実行後、ツリーが他の形式で表示されました。デフォルト
9
ビューは、表示される全ての情報を含みません。
1.
ENVI Decision Tree ダイアログの何も表示されていない背景で、マウス
の右ボタンをクリックし表示されるショートカットメニューから Zoom In
を選択してください。各ノードラベルに、ピクセル数と、ツリーの各ノー
ドまでの画像全体に対する処理済みの割合が表示されています。
2.
ディシジョンツリーが拡張されると、ウィンドウにツリー全体が表示でき
なくなります。ウィンドウのコーナーをマウスの左ボタンでドラッグし、
ウィンドウのサイズを変更してツリーが表示されるよう調整してください。
3.
ノード上にカーソルを移動すると、ENVI Decision Tree ダイアログの下
部にあるテキストフィールドにノードに関する情報が表示されます。これ
は、ツリーが縮小表示されていて、ツリー内のノードの詳細を確認するこ
とができない場合に、ツリー内のノードに関する情報を簡単に取得するこ
とができるもう 1 つの方法です。
ディシジョンツリーの変更
新しいディシジョンの追加
ディシジョンツリーを実行し結果を確認すると、追加したディシジョンルールが
有効であることが分かります。例えば、このディシジョンツリーでは、20 より少
ない値を持つバンド 4 のいくつかのピクセルはボーダーピクセルであり、これら
は全て 0 の値を持ちます。これらは、20 より少ない値を持つためシアンとして
表示されますが、実際にはシアンで表示されている他のピクセルとは全く異なる
理由によりバンド 4 で低い値を持ちます。
20 よりも少ない値を持つバンド 4 のピクセルのターミナルノード上で、マウス
の右ボタンをクリックし、表示されたショートカットメニューから Add
Children を選択してください。ノード上でクリックし、 Edit Decision
Parameters ダイアロ グに
b4 eq 0
という式を入力してください。Name テキストボックスに B4 = 0 と入力してく
ださい。
ダイアログの背景でマウスの右ボタンをクリックし、表示されたショートカット
メニューから Execute を選択してツリーを再度実行してください。出力画像内
では、ボーダーピクセルはそれら自身のクラスにありますが、ボーダーとしてマ
ゼンタという色は適切ではありません。
クラスの色と名前の変更
マゼンタのターミナルノードをクリックし、Edit Class Properties ダイアログ
を表示してください。V ボタン(UNIX プラットフォームの場合下向き矢印で
す)をクリックし、カラーリストを表示して Black を選択し、Name テキスト
ボックスに Border と入力してください。
ツリーに色の変更を適用する場合、再度ツリーを実行してください。ボーダーが
10
黒で表示されます。
ディシジョンの式でのバンドインデックスの使用
多数の組み込みディシジョンツリー変数をディシジョンの式で使用する場合、バ
ンドインデックスを必要とします。
1.
低い NDVI 値とバンド 4 の高い値を持つピクセルを含む黄色のターミナ
ルノード上でマウスの右ボタンをクリックして、表示されたショートカッ
トメニューから Add Children を選択してください。ノード上でクリック
し、 Edit Decision P arameters ダイアログに
b1 lt {mean [1]}
という式を入力してください。Name テキストボックスに Low B1 と入力
し、OK をクリックしてください。この式は、バンド 1 のピクセルがバン
ド 1 の平均値よりも小さい値を持つかどうかを確認します。角括弧の中の
1 は、バンド 1 が平均 計算に使用されることを表します。平均計算を含む
ENVI がディシジョンツリーで実行することができる計算のいくつかは、
個別のバンドではなくファイル全体と関連しなければなりません。これら
の場合、計算で使用するファイル内のバンドを角括弧内で指定する必要が
あります。
2.
Variable/File Pairings ダイアログにある b1 変数上でクリックし、表示
されるファイル選択ダイアログで bouldr_tm.dat ファイルの Band 1 を
選択して、OK をクリックしてください。
3.
Variable/File Pairings ダイアログで、{mean} 変数をクリックし、
bouldr_tm.dat ファイ ルを選択して、 OK をクリックしてください。b1
変数と {mean} 変数のどちらも、Landsat 画像の Band 1 とペアになり
ました。
4.
ディシジョンツリーに変更を適用する場合、再度ツリーを実行してくださ
い。
低い値のバンド 1 を持ついくつかの黄色いピクセルは、マゼンタで表示されてい
11
ます。
ディシジョンツリーの削除
ENVI のディシジョンツリーツールには、追加した子を削除する方法が 2 つあり
ます。ツリーから子を完全に削除する場合 Delete オプションを使用します。特
定の子のセットがツリーに対して有益であるかをテストすることが必要になる場
合は子を一時的に削除しディシジョ ンルールもしくはノードプロパティを再定義
せずに元に戻す(リストアする)Prune オプションを使用します。
1.
Low B1 ノード上でマウスの右ボタンをクリックし、表示されるショート
カットメニューから Prune Children を選択してください。子は表示され
ていますが、色がなく、ツリーと接続されていないことを確認してくださ
い。これは、子が削除されたために、ツリーが実行される際にこれらの子
が使用されないことを表します。
2.
Low B1 ノード上でマウスの右ボタンをクリックし、表示されるショート
カットメニューから Restore Pruned Children を選択してください。
子を一時的に削除しリストアすることで、特定の子のセットがある場合とない場
合のツリーの結果を比較することができます。
各クラスのマスクへの保存
1.
ディシジョンツリーの赤のノードをマウスの右ボタンでクリックし、表示
されたショートカットメニューから Save Survivors to Mask を選 択して
ください。このオプションは、1 の値をそのクラスに含まれるピクセル に
割当て、0 の値をクラスに含まれていないピクセルに割当てるバイナリマ
スク画像を作成します。
2.
表示される Output Su rvivors to Mask ダイ アログに、サバイバーマス
クの出力ファイル名を入力し、OK をクリックしてください。マスク画像
は Available Bands List にリスト表示されます。
3.
新しいマスク画像が新しいグレースケールウィンドウに読み込まれます。
マスク内の白いピクセルがディシジョンツリーの出力画像にある赤いピク
セルに対応することを確認してください。
<注>
マスクにサバイバーを保存するオプションは、ツリー内にあるノード全てに
対し使用することができるので、ツリー内の任意の位置にあるピクセルのマ
スクも作成することができます。
ディシジョンツリーの保存
変数とファイル間の全てのペアを含むディシジョンツリーを保存することができ
ます。保存したディシジョンツリーは、ENVI セッションでリストアすることが
12
できます。
1.
デ ィ シジ ョン ツリ ービュ ー から File
-> Sa ve Tree を 選 択 し てくだ さい。
2.
表示される Save Deci sion Tree ダイアログで、ツリーの出力ファイル名
を入力し OK をクリックしてください。
ENVI セッションの終了
ENVI セッションを終了するには、 ENVI メインメニューから File -> Exi t
(UNIX は Quit)を選択し、さらに OK を クリックして IDL を終 了します。
ENVI RT をご使用の場合は、 ENVI を終了するとオペレーティングシステムに
戻ります。
13