<<80164E>>

P.1

TNT入門

画像のフィルタ処理

TNTmips(R)

P.2

『TNT入門』をお読みになる前に

 デジタル形式の航空写真や衛星画像に関する処理を行う場合、フィルタ処理という画像強調により改善できる画像がたくさんあります。本書では、TNTmipsにおける2つのフィルタ処理について紹介します。Spatial Filters(空間フィルタ)処理には、ノイズ成分を削減する、細部をシャープにする、画像テクスチャのエッジやその他の特徴を強調する、などの処理を行えるように設計されたさまざまなフィルタがあります。Locally Adaptive Contrast Enhancement(局部適応コントラスト強調:LACE)フィルタ処理では、コントラストの高いグレースケールやカラー画像の外観を改善することができます。

必須基礎知識 本書では、読者が『TNT入門:地理空間データ表示』、および『TNT入門:操作方法』の例題を完了しているものと仮定しています。これらの例題で必須知識と基本的な技法を紹介していますので、本書ではこれらについては説明しません。必要に応じ、これらのマニュアルや『TNTmipsリファレンスマニュアル』で調べてください。

サンプルデータ 本書の例題では、TNT製品に添付されているサンプルデータを使用します。TNT製品CDにアクセスできない場合は、マイクロイメージズ社のホームページからデータをダウンロードできます。本書では特に、FILTER、SF_DATA、HAWAII、CROPDATAなどのデータ・コレクションのサンプル・ファイルを使用します。

その他の資料 本書では、ラスタ画像のフィルタ処理に関する概要しか説明しておりません。詳細は『TNTmipsリファレンスマニュアル』を参照してください。空間フィルタ処理やLACEフィルタ処理について40ページ以上にわたって説明しています。

TNTmipsとTNTlite(TM) TNTmipsには2つのバージョンがあります。プロフェッショナル・バージョンと、無料バージョンであるTNTliteです。本書では、どちらのバージョンも「TNTmips」と呼ぶことにします。プロフェッショナル・バージョンにはハードウェア・キーが必要です。このキーがない場合、TNTmipsはTNTliteモードで動作し、オブジェクトのサイズが制約されるほか、TNTliteの別のコピーとの間でしかデータを共有できません。

 TNviewとTNTatlasでは空間フィルタ処理やLACEフィルタ処理を使用できません。TNTliteでは、添付されたサンプルの地理データを使用してすべての例題を完全に実行することができます。

 Randall B. Smith博士、1997年11月18日、V5.80

 本書の一部のイラストでは、カラー・コピーでないと重要な点がわかりにくい場合があります。マイクロイメージズ社のホームページから本書を入手されれば、カラーで印刷したり表示できます。また、このホームページからは、その他のテーマに関する『TNT入門』シリーズの最新のマニュアルも入手できます。インストール・ガイド、サンプルデータ、および最新バージョンのTNTliteをダウンロードできます。アクセス先は次の通りです。

 http://www.microimages.com

P.3(上)

画像のフィルタ処理の概要

P.3(左)

 従来の写真術では、カメラのレンズの前にさまざまなフィルタを置くことで、フィルムに記録される画像を変化させたり強調することができます。デジタル画像処理では、数値的な操作を使用してラスタ・オブジェクトに格納された輝度の値を処理することで、より広い範囲の画像強調効果を実現することができます。このような画像処理操作に対しても、同様に、通常はフィルタという用語が使用されています。フィルタ処理を使用すると、画像をシャープにしたりマイルドにする、画像ノイズを選択的に抑制する、エッジを検出して強調する、画像のコントラストを変える、などの操作を行えます。

 さまざまな空間的縮尺における、ラスタ画像の輝度の変化は、周波数が空間的に集まったものとみなすことができます。短い距離で輝度が大幅に変わる場合は、画像の中に高い周波数成分があることを示します。逆に、もっと広い範囲で輝度が変わっていく場合は、低周波成分があることを示します。多くのフィルタは、他の要素には影響を与えずに特定の空間周波数セットを抑制するように作用します。

 本書で説明するフィルタ処理のほとんどは、Spatial Filter(空間フィルタ)処理の中に含まれています。空間フィルタ処理では、周囲のセル・グループの値を使用して各ラスタ・セルの新しい値を計算します。filter(フィルタ)ウィンドウの形状とサイズを設定することで、このグループの性質を指定します(デフォルトではfilter(フィルタ)ウィンドウは四角形であり、奇数個の行と列が含まれています)。filter(フィルタ)ウィンドウは入力ラスタ内をセル単位で移動するため、フィルタ処理では現在のウィンドウ内の一連の入力セルの値を読み込み、特定の関数群を適用して中央のセルの出力値を計算し、新しい値を出力ラスタ内の対応するセルに書き込みます。この手順による処理を通常、空間回旋フィルタ処理と呼んでいます。

P.3(右)

 4〜10ページでは、Spatial Filters(空間フィルタ)処理のインタフェースの重要な機能やGeneral(一般)クラスのフィルタについて、概要を示します。11〜14ページでは、Noise Reduction(ノイズ削減)フィルタについて説明します。15〜18ページではEnhancement(強調)フィルタ、19ページではTexture(テクスチャ)フィルタについて説明します。20〜22ページでは、Locally Adaptive Contrast Enhancement(局部適応コントラスト強調:LACE)フィルタについて説明します。

#図#
空間的な周波数パターン
高周波 低周波

#図#
空間回旋フィルタ処理
ラスタ


フィルタ・ウィンドウを移動する
現在の出力セル

P.4(上)

一般フィルタ

P.4(左)

ステップ
##Spatial Filter(空間フィルタ)処理を起動します(Interpret / Raster / Filter / Spatial...(変換/ラスタ/フィルタ/空間))。
##Raster Spatial Domain Filtering(ラスタの空間領域フィルタ処理)ウィンドウで[Rasters...](ラスタ)をクリックします。
##標準のFile / Object Selection(ファイル/オブジェクト選択)手順を使用して、FILTERデータ・コレクションの中のNOISYTMプロジェクト・ファイルから、ラスタ・オブジェクトTM3NOISYを選択します。
##オプション・メニューClass(クラス)とType(タイプ)でデフォルトの選択肢をそのまま確定します。

 各例題で入力ラスタや出力ラスタを表示するには、標準の表示処理(Display / Spatial Data(表示/空間データ))を使用します。

#図#
 Rasters(ラスタ)ボタンを押して入力ラスタを選択します。
 入力ラスタは、スクロール可能なリスト内に表示されます。
 Class(クラス)オプション・メニューを使用してフィルタ・クラスを選択します。
 Type(タイプ)オプション・メニューを使用してフィルタ・タイプを選択します。

P.4(右)

 Spatial Filter(空間フィルタ)処理を起動すると、Raster Spatial Domain Filtering(ラスタの空間領域フィルタ処理)ウィンドウが表示されます。空間フィルタは、General(一般)、Edge Detection(エッジ検出)、Enhancement(強調)、Noise Reduction(ノイズ削減)、Radar(レーダー)、Texture(テクスチャ)という6つのクラスに分類されます。フィルタを選択するには、まずClass(クラス)オプション・メニューから対応するフィルタ・クラスを選択し、続いてType(タイプ)オプション・メニューから特定のフィルタを選択します。

 Spatial Filter(空間フィルタ)処理を起動したとき、Class(クラス)オプション・メニューは、デフォルトではGeneral(一般)になっています。このクラスのフィルタは、フィルタ・ウィンドウ内のセルの加重平均を計算します。計算に使用される一連の加重係数を、フィルタ・カーネルと呼びます。フィルタ・カーネルのサイズは常に現在のフィルタ・ウィンドウのサイズと同じになり、デフォルトでは3列×3行となります。General(一般)クラスの各フィルタには、特徴のある結果を生成する独自の(異なるカーネル・サイズ用の)フィルタ・カーネル群があります。Kernel(カーネル)というタブの付いたパネルの左上の配列テーブルには、現在選択されているフィルタの係数が表示されます。

#図#
 Gray Scale(グレースケール)トグル・ボタンをONにした状態で、最大50個までのグレースケール・ラスタに、フィルタを個々に適用することができます。
 Kernel(カーネル)というタブの付いたパネルには、(General(一般)クラスのフィルタ用の)現在のフィルタ・カーネルを構成する加重係数の配列が表示されます。

P.5(上)

Low Pass / Average(ローパス/平均)フィルタ

P.5(左)

 General(一般)クラスのデフォルトのフィルタ・タイプは、Low Pass / Average(ローパス/平均)フィルタです。このフィルタにより計算される出力セル値は、フィルタ・ウィンドウ内のセルの単純平均(算術平均)です。Low Pass(ローパス)フィルタで実行される平均処理では、高い周波数領域の要素の一部が除去され、低い周波数の要素はそのままフィルタを通過します(ローパス・フィルタと呼ばれるのはこのためです)。ローパス・フィルタを使用するとラスタ画像が平滑化され、大きい縮尺での輝度の傾向が強調されます。

 ローパス・フィルタで得られる平滑化効果が有益であるかどうかは、入力画像の特性によって決まります。高周波要素が画像全体の品質を低下させるような「ノイズ」である場合は、ローパスフィルタによる平滑化で画像が改善されますが、平滑化によってエッジがぼやけたり、有用な画像の細部の品質が低下したり、コントラストが弱くなる恐れもあります。この例題では、フィルタにより画像に含まれる横縞状のノイズは抑制されますが、画像の細部も一部失われています。

#図#
 ラスタ・オブジェクトTM3NOISY(入力画像)の右上部分。横方向の縞が見えます。

P.5(右)

ステップ
##デフォルト設定をそのまま確定し、Filter(フィルタ)メニューからRun(実行)を選択します。
##File / Object Selection(ファイル/オブジェクト選択)処理を使用して新しいプロジェクト・ファイルにFILTOUTという名前を付け、出力ラスタ・オブジェクト名にはデフォルト名をそのまま確定します。
##File / Object Selection(ファイル/オブジェクト選択)ウィンドウで[OK]をクリックしてウィンドウを閉じるとフィルタ処理が起動されます。

 Low Pass / Average(ローパス/平均)フィルタの加重係数(フィルタの重み)はすべて、デフォルト値が1.00となります(前ページの図を参照)。したがって、平均処理では生のセル値が使用され、結果として得られる出力値はフィルタ・ウィンドウ内のセル値の単純平均(平均値)となります。

#図#
 画像の一部に3×3のローパス・フィルタを適用した様子(コントラストは自動的に標準化)。縞模様は減っているが、小さい地形が多少ぼやけています。

P.6(上)

フィルタ・ウィンドウのサイズを変更する

P.6(左)

ステップ
##Raster Spatial Domain Filtering(ラスタ空間領域フィルタ処理)のSize(サイズ)メニューから7×7を選択します。
##Filter(フィルタ)メニューからRun(実行)を選択し、出力ラスタをFILTOUTプロジェクト・ファイルに転送します。

#図#
 Size(サイズ)オプション・メニューから、あらかじめ定義されたフィルタ・ウィンドウ・サイズを選択します。

 自由なサイズのフィルタ・ウィンドウを作成するには、Width(幅)、Length(長さ)テキスト・ボックスに新しい値を入力します。

 Circular Kernel(円形カーネル)オプションを使用すると、フィルタ・カーネルの隅の加重値を変更できます。これにより、平均処理が、ほぼ円形のウィンドウ領域に限定されます。

P.6(右)

 空間フィルタ処理では、いくつかのあらかじめ定義されたフィルタ・ウィンドウ・サイズがあり、最大で11×11セルとなっています。より大きいフィルタ・ウィンドウを作成するには、Kernel(カーネル)とうタブの付いたパネルのWidth(幅)、Length(長さ)というテキスト・ボックスに新しい値を入力します。

 フィルタ・ウィンドウのサイズを大きくすると、空間周波数の低い方までフィルタ効果が拡張されます。Low Pass(ローパス)フィルタの場合これは、「フィルタ・ウィンドウのサイズを大きくするほど平滑化の程度が大きくなる」ことを意味します。除去される高周波数要素と残される低周波数要素との境界は、周波数の低い側に移動します。この例題で適用される7×7のローパス・フィルタでは、前の例題で適用された3×3のローパス・フィルタに比べて、より細部が除かれ、より大きな縮尺のサイズが除かれます。我々が使用するサイズが小さく解像度が低いラスタ画像(セル・サイズが28.5メートル)の場合、7×7のフィルタでは過度にぼやけてしまいます。通常は、ラスタ画像の解像度が高いほど、フィルタ・ウィンドウのサイズを大きくするのが適しています。

#図#
 フィルタ・ウィンドウが3×3セルより大きい場合は、フィルタ・カーネル配列テーブルのスクロール・バーを使用して配列を移動し、一連の加重係数値をすべてチェックすることができます。

 四角形のカーネル

 円形のカーネル

#図#
 ラスタ・オブジェクトTM3NOISYの右上部分に7×7のローパス・フィルタを適用した様子(コントラストは自動的に標準化)。空間平均により画像の細部が大幅に失われています。

P.7(上)

High Pass(ハイパス)フィルタ

P.7(左)

 High Pass(ハイパス)フィルタは、画像の中のほとんどの情報を構成する大きいサイズの地形(低周波空間要素)をそのままに保ちながら、小さいサイズの地形(高周波空間要素)を選択的に強調します。ハイパス・フィルタのデフォルトのフィルタ・カーネルのフィルタ加重値は、正の重みを持つ中央のセル(この値はフィルタ・ウィンドウのサイズによって決まります)を除くすべてのセルについて-0.5です。フィルタ計算では基本的に、中央のセルの値を増幅した後、その値から周囲のセルの平均値の1/2を引きます。中央のセルの輝度が付近のセルの輝度と大幅に異なる場合、この差は出力画像では強調されるのに対し、輝度が均一な部分はきわめて少ししか変更されません。その結果、画像の中のエッジ部やサイズの小さいその他の地形のコントラストが強調されます。画像はよりシャープに見え、大気のかすみや画像処理システムの中の焦点が合っていないためにぼやけていた細部がはっきり見えます。フィルタ・ウィンドウのサイズを大きくすると、地形が大きくなるほど強調効果が大きくなりますが、ある程度を越えると出力画像が過度にざらついた感じになります。

#図#
 ラスタ・オブジェクト(入力画像)REDの左上部分が多少ぼやけて見えます。

P.7(右)

ステップ
##Spatial Filtering(空間フィルタ処理)ウィンドウで[Rasters...]をクリックし、CROPDATAデータ・コレクションの中のRGBCROPプロジェクト・ファイルからラスタ・オブジェクトREDを選択します。
##Size(サイズ)オプション・メニューから5×5を選択します。
##Type(タイプ)オプション・メニューからHigh Pass(ハイパス)を選択します。
##Filter(フィルタ)メニューからRun(実行)を選択し、出力ラスタをFILTOUTプロジェクト・ファイルに転送します。

#図#
 3×3のハイパス・フィルタ用のフィルタ・カーネル

 同じ画像に5×5のハイパス・フィルタを適用した様子(コントラストは自動的に標準化)。画像はよりシャープに、エッジがはっきり見え、細部が強調されます。

P.8(上)

フィルタ処理の結果をテストする

P.8(左)

ステップ
##File(ファイル)メニューからTest(テスト)を選択します。
##Text Display(テキスト表示)ウィンドウでBox(ボックス)アイコン・ボタンをクリックします。
##マウス・ポインタを画像領域の左上隅の近くに移動します。
##マウスの左ボタンをクリックし、そのままマウス・ポインタを右下にドラッグし、図のよう四角形を作成します。
##必要ならばボックスの辺または角をドラッグしてサイズを変更します。
##マウスの右ボタンを押してフィルタ処理のテストを実行します。
##テストを終了したら、Test Display(テスト表示)ウィンドウのFile(ファイル)メニューからClose(閉じる)を選択します。

#図#
 別の部分をテストする場合、前のテスト結果が表示に残っています。表示全体を、フィルタ処理されていない元の状態に戻すには、File(ファイル)メニューからRestore All(すべてを復旧)を選択します。

 Save As(別名で保存)オプションを使用すると、Test Display(テスト表示)ウィンドウに表示された一時的なラスタを保存することができます。ラスタ領域の一部またはすべてにどのようなフィルタ効果を与えたラスタでも構いません。

 複数のグレースケールまたはRGB入力ラスタに対してTest(テスト)操作を使用する場合は、選択された1つのラスタだけがテスト用に表示されます。

P.8(右)

 Test(テスト)機能を使用すると、選択された画像部分に対するフィルタ処理の結果をプレビューすることができます。輪郭に対するTest Display(テスト表示)ウィンドウのBox(四角形)、Circle(円)、Polygon(ポリゴン)などの描画ツールを使用してテスト領域の外枠を設定します。枠は、入力ラスタの大きさ以内の任意のサイズにすることができます。Mode(モード)メニュー・オプションが(デフォルトの)Filter(フィルタ)に設定されているときにマウスの右ボタンをクリックすると、選択された領域にフィルタが適用され、表示が更新されます。隣接するテスト領域や同じテスト領域に対してフィルタ・テストを繰り返し行って、異なるフィルタ設定値の効果を評価することができます。テスト処理は累積的には行われず、各フィルタ処理は元の入力ラスタに対して実行されます。画像内の現在選択されている部分を元の表示状態に戻すには、Mode(モード)メニューの選択肢をRestore(復旧)に変更して、マウスの右ボタンを押します。

#図#
Box(四角形)、Circle(円)、Polygon(ポリゴン)の各ツール

P.9(上)

マスクを適用する

P.9(左)

 フィルタ処理の際にマスクを適用すると、画像内の選択された部分だけに、フィルタを限定することができます。マスクはバイナリ・ラスタであり、対応する画像の表示や処理の制御に使用されます。マスクでは、処理されるセルに対応する値は1になり、処理から除かれるセルに対応する値は0になります。Spatial Filter(空間フィルタ処理)の中でマスクを適用する場合、画像内のマスクされた部分はそのまま出力画像にコピーされます。この例では、樹木の茂った部分、フェンスの列、道路はマスクで覆われていますので、耕地の細部だけがハイパス・フィルタにより強調されます(マスクを作成するには、Feature Mapping(地形マッピング)処理でRegion-of-Interest(対象領域)ツールを使用します)。

#図#
 マスク・コントロールは、Output(出力)というタブの付いたパネルにあります。

 入力画像の右下部分。畑が、木や草などの帯状の部分で区切られています。

 出力画像。マスクされた部分は変更されず、畑の部分では細部が強調されています。

 フィルタ処理が完了すると、Apply Mask to Output(出力にマスクを適用)トグル・ボタンが自動的にOFFになりますが、マスクは選択されたままになります。このマスクを使用して別のフィルタ処理を行う場合は、各フィルタを実行する前にこのトグル・ボタンをONにします。

P.9(右)

ステップ
##Output(出力)というタブの付いたパネルのApply Mask to Output(出力にマスクを適用)トグル・ボタンをONにします。
##[Mask...]をクリックし、RGBCROPプロジェクト・ファイルからラスタ・オブジェクトFLD_MASKを選択します。
##Filter(フィルタ)メニューからRun(実行)を選択し、出力ラスタをFILTOUTプロジェクト・ファイルに転送します。

#図#
マスクを使用して画像の同じ部分を表示した様子

P.10(上)

ステップ
##Raster Spatial Domain Filtering(ラスタ空間領域フィルタ処理)ウィンドウ右上のFilter:Polygon(フィルタ:ポリゴン)トグル・ボタンをONにします。
##Parameters(パラメータ)というタブの付いたパネルのSelect Filter Polygon(フィルタ・ポリゴンを選択)トグル・ボタンを押します。
##Line / Polygon Edit Controls(線/ポリゴン編集コントロール)ウィンドウのMode(モード)の設定をStretch(拡張)に変更します。
##Add End(終端を追加)操作で頂点を追加し、図のように、フィルタ処理を行う領域の外枠となる多角形を作成します。
##必要ならばDrag Vertex(頂点をドラッグ)操作により多角形の形状を調整します。
##マウスの右ボタンを押してこの領域を確定します(またはLine / Polygon Edit Controls(線/ポリゴン編集コントロール)ウィンドウで[Apply](適用)をクリックします)。
##Raster Area Selection(ラスタ領域選択)ウィンドウで[OK]をクリックします。
##Filter(フィルタ)メニューからRun(実行)を選択し、出力ラスタをFILTOUTプロジェクト・ファイルに転送します。

#図#
 選択用の多角形をドラッグします。
 Add End(終端を追加) Drag Vertex(頂点をドラッグ) Stretch(拡張)

 Line / Polygon Edit Controls(線/ポリゴン編集コントロール)ウィンドウについては、『TNT入門:ベクタ空間データの編集』で詳しく説明しています。
 出力画像の左下の部分。変化していない部分に囲まれて、ハイパス・フィルタ処理を行った部分がある。

P.10(右)

 また、描画ツールを使用して選択領域の外枠を設定することで、画像の中のフィルタ処理を行う部分を限定することができます。たとえば、農場の画像の中の1つの畑を強調したい場合があります。Raster Area Selection(ラスタ領域選択)ウィンドウのBox(四角形)、Circle(円)、Polygon(ポリゴン)描画ツールを使用すると、フィルタ処理を行う領域を選択できます。画像の中の、選択された領域の外側の部分は、そのまま出力画像にコピーされます。

#図#
 Filter:Polygon(フィルタ:ポリゴン)トグル・ボタンをONにし...
 続いてSelect Filter Polygon(フィルタ・ポリゴンを選択)トグル・ボタンを押します。

P.11(上)

中央値フィルタ(ノイズ削減)

P.11(左)

 画像によっては、間違ったセル値(周囲より非常に明るいものや暗いもの)が含まれている場合がありますが、これは、画像処理システムや後処理で生じた「ノイズ」を示します。Noise Reduction(ノイズ削減)クラスのフィルタには、画像のノイズを除去するためのいくつかの方法が用意されています。

 Median(中央値)フィルタでは、現在のフィルタ・ウィンドウからの入力値を値の順にランク付けし、中央(中間)値を出力セルに割り当てます。中央値はノイズ・セルの実際の値には影響されないため、Median(中央値)フィルタは、この例のような無関係な乱数的ノイズの除去に特に適しています。また、エッジや線の地形もLow Pass / Average(ローパス/平均)フィルタより良好に保存されますが、多少ぼやけます。

#図#
 Class:(クラス)オプション・メニューからNoise Reduction(ノイズ削減)を選択します。

 入力画像の左下の部分。乱数ノイズと横方向の線状のノイズがあります。

P.11(右)

ステップ
##Filter:All(フィルタ:すべて)トグル・ボタンをONにします。
##Spatial Filtering(空間フィルタ処理)ウィンドウで[Rasters...](ラスタ)をクリックし、FILTERデータ・コレクションの中のNOISYTMプロジェクト・ファイルからラスタ・オブジェクトTM3NOISYを選択します。
##Size(サイズ)オプション・メニューから3×3を選択します。
##Class:(クラス)オプション・メニューからNoise Reduction(ノイズ削減)を選択し、Type(タイプ)オプション・メニューのデフォルトの選択肢であるMedian(中央値)をそのまま確定します。
##Filter(フィルタ)メニューからRun(実行)を選択して出力ラスタをFILTOUTプロジェクト・ファイルに転送します。

#図#
 Noise Reduction(ノイズ削減)、Enhancement(強調)、Radar(レーダー)、Texture(テクスチャ)などのクラスでは、加重係数の単純なカーネルを使用せずにフィルタ処理を行います。これらのいずれかのクラスに属するフィルタを選択した場合、Kernel(カーネル)配列テーブルは淡色表示になり、使用できません。

 同じ領域に3×3のMedian(中央値)フィルタを適用した様子。

P.12(上)

オリンピック・フィルタ(ノイズ削減)

P.12(左)

ステップ
##Type(タイプ)オプション・メニューからOlympic(オリンピック)を選択します。
##Parameters(パラメータ)というタブの付いたパネルで、スライダを使用してFilter Parameter A(フィルタ・パラメータA)の値を1に設定します。
##Filter(フィルタ)メニューからRun(実行)を選択して出力ラスタをFILTOUTプロジェクト・ファイルに転送します。

#図#
 Olympic(オリンピック)フィルタ用のParameter A(パラメータA)は整数値であり、この値により、フィルタ・ウィンドウの値のランク付けされたリストの両端で捨てられる値の数が決まります。Parameter A(パラメータA)の値が1に設定されている場合は、最も大きい側の1つの値と最も小さい側の1つの値を捨ててから、平均値が計算されます。

#図#
 ノイズの多い入力画像の左下の部分。

P.12(右)

 前に説明したLow Pass / Average(ローパス/平均)フィルタを使用して画像のノイズを削減することもできますが、理想的な選択肢ではありません。理由は、フィルタ・ウィンドウ(フィルタ出力)用の平均値がノイズ・セルの極端な値により悪影響を受ける恐れがあるからです。オリンピック・フィルタは、この問題に対処するためにLow Pass(ローパス)フィルタを変形したものです。

 オリンピック・フィルタという名前は、一部のオリンピック種目における採点方式から来ており、これらの種目では最高点と最低点を除いてから、残ったものの平均値を計算します。オリンピック・フィルタでも、これと同様ににフィルタ・ウィンドウ内の大きい値と小さい値を捨ててから残りの値の平均値を求めます。ノイズ・セルは通常、順位的にウィンドウ内の最大値または最小値となるため、この手順を使用すると、ノイズ・セルの影響で出力値が偏るのを防止できます。この例では3×3のオリンピック・フィルタで画像のノイズを除去していますが、画像の細部が多少失われる原因ともなっています。

#図#
 同じ画像に3×3のオリンピック・フィルタを適用した様子。

P.13(上)

P-Median(P中央値)フィルタ(ノイズ削減)

P.13(左)

 P-Median(P中央値)フィルタは、エッジや線の細部を保ちながらノイズを抑制できるように考えられたものです。このフィルタでは、フィルタ・ウィンドウ内の値の2つの部分集合の中央値を計算します。この部分集合とは、1)中央のセルを通る縦方向と横方向の帯状の領域を組み合わせたもの、および2)中央のセルを通る2本の対角線方向の帯状の領域です。さらにこの2つの中央値の平均が計算されます。フィルタ出力は、中央値の平均と元の中央セルの値の加重平均となります。重み付けはFilter Parwneter A(フィルタ・パラメータA)で制御され、0〜1の間の値となります。この例のParameter A(パラメータA)の値0.20は、「元の入力値は出力セル値の20%に影響し、中央値の平均は出力セル値の20%に影響する」ことを意味します。Parameter A(パラメータA)の値を小さくするとノイズの除去程度は大きくなりますが、エッジや線の地形の画質は低下します。

 この例の3×3のP-Median(P中央値)フィルタでは、Median(中央値)フィルタやオリンピック・フィルタに比べてエッジや線の地形(道路や運河)が保たれています。孤立したノイズ・セルは効果的に排除されていますが、連続した横方向の線状のノイズは、見えにくくはなりましたがまだ残っています。

#図#
 ノイズの多い入力画像の左下の部分。

P.13(右)

ステップ
##Type(タイプ)オプション・メニューからP-Median(P中央値)(PM)を選択します。
##Filter(フィルタ)メニューからRun(実行)を選択して出力ラスタをFILTOUTプロジェクト・ファイルに転送します。

#図#
 P-Median(P中央値)フィルタのFilter Parameter A(フィルタ・パラメータA)は、入力値とP-Median(P中央値)フィルタ値の平均を計算する際に使用される重み付けを設定し、最終的な出力セル値を生成します。

 また、希望する値をスライダの右側のテキスト・フィールドに入力することでパラメータ値を設定することもできます。

 P-Median(P中央値)フィルタで処理された画像では、この運河のような線状の地形がはっきり残っています。

 3×3のP-Median(P中央値)フィルタを適用した画像。

P.14(上)

分類結果を最頻値フィルタで処理する

P.14(左)

ステップ
##[Rasters...](ラスタ)をクリックし、FILTERデータ・コレクションの中のCB_CLASSプロジェクト・ファイルからラスタ・オブジェクトCLS_ISODATAを選択します。
##Type(タイプ)オプション・メニューからModal(最頻値)を選択し、ウィンドウ・サイズは3×3のままにしておきます。
##Filter(フィルタ)メニューからRun(実行)を選択して出力ラスタをFILTOUTプロジェクト・ファイルに転送します。

#図#
 Automatic Classification(自動分類)の概要は、『TNT入門:画像の分類』を参照してください。

 40のクラスでカラーマップ処理されたクラス・ラスタの右上隅の部分。孤立したセルや、周囲とはクラスの異なるセルの小グループが、たくさんあります。

P.14(右)

 Automatic Classification(自動分類)処理(Interpret / Raster / Classify / Automatic(変換/ラスタ/分類/自動))では、マルチバンドの一連の入力ラスタを使用してセルごとの分類が行われます。結果として得られるClass(クラス)ラスタは通常、非常に「ノイズ」が多く、1つまたは2つのセルだけで構成される多くの「孤立」クラスの部分があるほか、1つのセル分の広さの縞状の「混合」クラスの部分により、より大きい同質のクラスの部分が区切られています。

 Modal Noise Reduction(最頻値ノイズ削減)フィルタを使用すると、ノイズの多いクラス・ラスタを平滑化して単純化することができます。Modal(最頻値)フィルタは、フィルタ・ウィンドウ内の最頻値を見つけて出力ラスタに書き込みます。平均処理は行われないため、このフィルタは、セル値がラベルとしてしか機能せず数量的に重要でないカテゴリー的(クラス)ラスタへの使用に適しています。

#図#
 3×3のModal(最頻値)フィルタによる平滑化後のクラス・ラスタ。孤立した単独セルのクラスの部分が多く除去され、クラスの入り交じった部分が大幅に単純化されています。

P.15(上)

CSフィルタ(強調)

P.15(左)

 Enhancement(強調)クラスに属するフィルタは、エッジ、角、線などの細部を鋭くシャープにすることで画像の外観を改善するように設計されています。これらのフィルタの多くでは、画像の中の実在の要素だけが強調されるようにノイズの抑制も行います。Comparison and Selection(CS)(比較と選択)フィルタは、比較的単純な強調フィルタの一つです。

 CSフィルタは、フィルタ・ウィンドウ内の値を値の順にランク付けして平均値を計算します。Parameter A(パラメータA)は、一対のランク番号(ランク・リスト内の最上位と最下位からの順位)を特定し、これに対応するラスタ値により、2つの可能なフィルタ出力値が得られます。中央セルの値がウィンドウの平均値より小さい場合は順位が低い方の出力値が割り当てられ、平均値より大きい場合は順位が高い方の出力値が使用されます。CSフィルタでは、エッジでない部分は平滑化され、ぼやけたエッジはシャープになります。Parameter A(パラメータA)の値が小さくなるほどシャープに(フィルタ出力値が平均値から遠く)なります。Parameter A(パラメータA)のデフォルト値は2です。

#図#
 入力画像の左上の部分。畑の境界がぼやけています。

P.15(右)

ステップ
##[Rasters...](ラスタ)をクリックし、FILTERデータ・コレクションの中のCB_TM321プロジェクト・ファイルからラスタ・オブジェクトREDを選択します。
##Class(クラス)オプション・メニューからEnhancement(強調)を選択します。
##Type(タイプ)オプション・メニューからComparison and Selection(CS)(比較と選択)を選択し、ウィンドウ・サイズは3×3のままにしておきます。
##Filter(フィルタ)メニューからRun(実行)を選択して出力ラスタをFILTOUTプロジェクト・ファイルに転送します。

#図#
 (Parameter A(パラメータA)の値が一定の場合は)フィルタ・ウィンドウのサイズを大きくすると、CSフィルタによるエッジ強調の度合いも大きくなります。

 同じ部分に3×3のCSフィルタを適用した様子(自動線形コントラストにより表示)。畑の境界や線状の地形がわかりやすくなっています。

P.16(上)

WMMR-MEDフィルタ(強調)

P.16(左)

ステップ
##Type(タイプ)オプション・メニューからWMMR-MEDを選択し、ウィンドウ・サイズは3×3のままにしておきます。
##Parameter A(パラメータA)の値を0.30に設定します。
##Filter(フィルタ)メニューからRun(実行)を選択して出力ラスタをFILTOUTプロジェクト・ファイルに転送します。

#図#
 入力画像の左下の部分。

P.16(右)

 WMMR-MED(weighted majority with minimum range-median:範囲内の中央値が最小になるように主要素を重み付け)フィルタは、ある程度の平滑化(ノイズ抑制)とある程度のエッジ強調を組み合わせたものです。このフィルタは、フィルタ・ウィンドウ内のセルから、セル値の間隔が最も近くなるようなセルの部分集合を見つけ、この部分集合の中央値(WMMR-MED値)を計算します。この手順では、中央値を求める過程でノイズ値が排除される傾向があります。フィルタの出力は、入力ラスタ値とWMMR-MED値の加重平均です。重み付けはFilter Parameter A(フィルタ・パラメータA)で制御され、0(WMMR-MED値のみ)〜1.0(入力値のみ)の間の値になります。Parameter A(パラメータA)の値を小さくすると、最終的な画像がより強調されます(平滑化とエッジ強調の両方の程度が大きくなります)。

#図#
 同じ部分に3×3のWMMR-MEDフィルタを適用した様子(自動線形コントラストにより表示)。画像が平滑化されると同時に、エッジが保たれ強調されています。

P.17(上)

Volterra / Unsharp(Volterra/ぼかし)フィルタ

P.17(左)

 境界を横切る方向の輝度の差が一定の場合、境界の見やすさは背景の輝度によって異なり、背景が明るいほど境界は見にくくなります。このため、画像の中の明るい部分のエッジの細部は、暗い部分よりも強調する必要があります。Volterra / Unsharp(Volterra/ぼかし)フィルタは、画像の局部的な輝度に比例してエッジを強調することでこの問題に対処しています。

 Volterraフィルタ処理の初期出力は、局部的な平均値とハイパス・フィルタの積にほぼ等しくなります。この結果に適当な倍率をかけて元の入力画像の値に加算すると最終的な出力が得られます。倍率はFilter Parameter A(フィルタ・パラメータA)により制御され、値の範囲は0.001〜0.1、デフォルト値は0.005です。Parameter A(パラメータA)の値を大きくすると、エッジはより強調されます。

#図#
 入力画像の左上の部分。

P.17(右)

ステップ
##Type(タイプ)オプション・メニューからVolterra / Unsharp(Volterra/ぼかし)を選択し、ウィンドウ・サイズは3×3のままにしておきます。
##Parameter A(パラメータA)の値を0.002に設定します。
##Filter(フィルタ)メニューからRun(実行)を選択し、出力ラスタをFILTOUTプロジェクト・ファイルに転送します。

 Volterra Filter Parameter A(Volterraフィルタ・パラメータA)を最小値に近い値に設定すると、通常はシャープな実際の画像に近くなりますが、この値を0.005より大きくすると通常は非常にコントラストが高い画像になり、エッジが過度に強調されます。

#図#
 同じ部分に3×3のVolterra / Unsharp(Volterra/ぼかし)フィルタを適用した様子(自動線形コントラストにより表示)。エッジや線状の地形が大幅に強調されています。

P.18(上)

RGB画像をフィルタ処理する

P.18(左)

ステップ
##RGB(Intensity(強度))トグル・ボタンをONにし、入力ラスタ・リストをクリアします。
##[Rasters...](ラスタ)をクリックし、CB_TM321プロジェクト・ファイルからラスタ・オブジェクトRED、GREEN、BLUEを選択します。
##Parameter A(パラメータA)の値は0.002のままにしておきます。
##Filter(フィルタ)メニューからRun(実行)を選択し、出力ラスタをFILTOUTプロジェクト・ファイルに転送します。

#図#
 RGB(Intensity(強度))オプションを選択します。

 RGB入力画像の右上の部分。

P.18(右)

 Spatial Filters(空間フィルタ)処理で使用可能な任意のフィルタをRGBラスタ・セットに適用するには、RGB(Intensity(強度))オプションを選択してから、赤、緑、青の成分に対応するラスタを選択します。このフィルタ処理は、RGB要素を、Hue(色相)、Intensity(強度)、Saturation(彩度)からなる色彩モデルに変換します。この色彩モデルでは、強度要素がカラー画像の平均輝度を示します。この処理では、選択されたフィルタをIntensity(強度)ラスタに適用し、さらに、フィルタ処理されたIntensity(強度)ラスタを使用してRGB色彩空間に再変換します。この手順では、元の画像のカラー・バランスが保たれます。

#図#
 Parameters(パラメータ)パネルのSelect HIS Contrast(HISコントラストを選択)を選択し、HISへの変換の際に、RGBラスタに対して標準のコントラスト強調機能を適用します(この例題ではNone(なし)を使用します)。

 同じ部分に3×3のVolterraフィルタを適用した様子(自動線形コントラストにより表示)。細部が強調されています。

P.19(上)

レンジ・フィルタ(テクスチャ)

P.19(左)

 このフィルタはTexture(テクスチャ)クラスに属し、画像の局部的な輝度の統計量の変化を使用して、テクスチャ要素をわかりやすくします。画像のテクスチャとしては、局部的な空間パターン、スケール、輝度の変化の程度、画像の「なめらかさ」や「粗さ」などがあります。この出力画像は、画像分割や、自動画像分類における付加ラスタ要素などの画像解析をさらに行うための基本として使用することができます。

 Range(レンジ)フィルタでは、テクスチャの最も単純な要素の1つである値の局部的変化による画像が生成されます。このフィルタの出力は、適当な輝度とコントラストを得るために、フィルタ・ウィンドウ内の値の範囲(最大値と最小値の差)に、調節可能な利得乗数をかけたものです。利得乗数はFilter Parameter A(フィルタ・パラメータA)によって決まり、値の範囲は0.01〜9.99、デフォルト設定値は1.00です。

#図#
 入力画像TM3。

この例題を終了したら、Spatial Filtering(空間フィルタ処理)ウィンドウのFilter(フィルタ)メニューからExit(終了)を選択します。

P.19(右)

ステップ
##Grayscale(グレースケール)トグル・ボタンをONにします。
##[Rasters...](ラスタ)をクリックし、FILTERデータ・コレクションの中のNOISYTMプロジェクト・ファイルからラスタ・オブジェクトTM3を選択します。
##Class(クラス)オプション・メニューからTexture(テクスチャ)を選択します。
##Type(タイプ)オプション・メニューからRange(レンジ)を選択し、ウィンドウ・サイズは3×3のままにしておきます。
##Parameter A(パラメータA)の値を2.00に設定します。
##Filter(フィルタ)メニューからRun(実行)を選択し、出力ラスタをFILTOUTプロジェクト・ファイルに転送します。

#図#
 同じ部分に3×3のRange(レンジ)フィルタを適用した様子(自動標準化コントラスト強調により表示)。輝度は、ラスタ値の局部的なレンジを示します。

P.20(上)

グレースケールLACEフィルタ

P.20(左)

ステップ
##LACEフィルタ処理を起動します(Interpret / Raster / Filter / Locally Adaptive Contrast(変換/ラスタ/フィルタ/局部適応コントラスト)。
##Input Raster(入力ラスタ)ボタンを押し、HAWAIIデータ・コレクションの中のKIL_IMGプロジェクト・ファイルからラスタ・オブジェクトKIL12A01を選択します。
##Parameters(パラメータ)というタブの付いたパネルで、Filter Window Size(フィルタ・ウィンドウのサイズ)を21に、Weighting Factor(加重係数)を0.800に設定し、その他の設定値はデフォルト値をそのまま確定します。
##Run(実行)ボタンを押し、出力ラスタをFILTOUTプロジェクト・ファイルに転送します。

P.20(右)

 Locally Adaptive Contrast Enhancement(局部適応コントラスト強調:LACE)フィルタ処理では、グレースケール、カラー、マルチバンドの画像の空間的に変化するコントラストが強調されます。LACEフィルタは、広い明るい部分と広い暗い部分の両方を含むために(線形や標準化などの)全体的なコントラスト強調では明るい部分と暗い部分の両方で細部が十分に表現できないような画像に、特に適しています。LACEフィルタは、局部平均値と標準偏差がParameters(パラメータ)パネルで指定した出力値に近い値になるように、それぞれの局部の輝度の値を調整します。この方法では、明るい部分と暗い部分との間の全体的なコントラストが小さくなると同時に、局部的なコントラストが改善されます。

 LACEフィルタでは、局部のコントラストや全体の細部が優れた、強調された画像を得ることができるため、地表の地形が視覚的にわかりやすくなります。この処理では、ラスタ値が局部的に大きく変更されるため、LACEで強調された画像は、定量的な分類やラスタ解析処理での使用には適しません。

#図#
 ハワイのKilauea火山のカルデラの航空写真。入力画像(上)では、明るい部分の細部がほとんどわかりません。LACEで強調された画像(下)では、局部的なコントラストが改善されています。

P.21(上)

LACEフィルタのパラメータを調整する

P.21(左)

 Desired Mean(希望する平均値)とDesired Standard Deviation(希望する標準偏差)パラメータは、出力画像の輝度とコントラストを制御するための目標値です。Desired Mean(希望する平均値)のデフォルト値は、画像全体の平均輝度ですが、この値を変更することで、画像を明るくしたり暗くすることができます。Desired Standard Deviation(希望する標準偏差)は通常、デフォルト値のままで適切なコントラストが得られますが、この値を大きくすれば画像全体のコントラストを強くすることができます。

 LACE処理の出力ラスタは、LACE強調と元の画像の加重平均です。相対的な重み付けはWeighting Factor(加重係数)パラメータにより制御されます。たとえばこのパラメータを0.8に設定した場合、LACEフィルタ値は各出力セル値の80%に影響し、元の入力値は各出力セル値の20%に影響します。このパラメータを調整することで、元の画像に適用される強調の程度を変えることができます。

 LACEフィルタ処理では、局部の標準偏差に基づいて各セルの利得係数を計算することで、入力セルの輝度が調整されます。Gain Limit(利得限界)パラメータは、この係数値および指定された部分でのコントラスト強調の程度に関する上限値を設定します。

P.21(右)

ステップ
##Desired Standard Deviation(希望する標準偏差)パラメータ値を80.000に設定します。
##Run(実行)ボタンを押し、出力ラスタをFILTOUTプロジェクト・ファイルに転送します。

 Desired Standard Deviation(希望する標準偏差)の値をより大きくしてLACEフィルタを適用したキラウェアの航空写真。前のページの出力画像よりもコントラストが高くなっています。

 Advanced(高度機能)パネルのInput Redistribution(入力再配分)オプション・メニューには、LACEフィルタを適用する前に入力ラスタ値を再配分するためのいくつかの選択肢が用意されています。デフォルトではNone(なし)に設定されています。その他の選択肢は、Spatial Data Display(空間データ表示)のコントラスト強調オプションと同じです。

P.22(上)

RGB画像に対するLACEフィルタ

P.22(左)

ステップ
##Raster Type(ラスタ・タイプ)オプション・メニューからRGB Bands(RGBバンド)を選択します。
##Inut Raster(入力ラスタ)ボタンを押し、FILTERデータ・コレクションの中のCB_TM321プロジェクト・ファイルからラスタ・オブジェクトRED、GREEN、BLUEを選択します。
##図のように、現在のパラメータ設定をそのまま確定します。
##Run(実行)ボタンを押し、出力ラスタをFILTOUTプロジェクト・ファイルに転送します。

 Crow Butte Landsat Thematic Bands 3-2-1(Crow Butteランドサット・テーマ別バンド3-2-1)のRGB画像。Spatial Data Display(空間データ表示)処理で指数関数的なコントラスト・テーブルを設計してから、(Prepare / Raster / Apply Contrast(準備/ラスタ/コントラストを適用)処理を使用して)指数関数コントラスト拡張を適用した新しいラスタを生成することにより、各バンドは、標準のCB-TMプロジェクト・ファイルの基本データから修正されています。

#図#
 同じ画像にLACEフィルタを適用した様子。

P.22(右)

 RGBラスタ・セットやカラー・コンポジット・ラスタの操作において、LACEフィルタ処理は、画像のカラー・バランスの変化を最小限に抑えながら局部的なコントラストを強調できるように設計されています。局部的なコントラスト強調は計算された強度ラスタに対して適用され、各セル値は、赤、緑、青の各要素の平均値となります。さらに、コントラスト強調された強度ラスタを使用して、赤、緑、青の要素が計算され、強調された出力画像が得られます。

#図#
 Raster Type(ラスタ・タイプ)メニューからラスタ入力のタイプを選択します。

P.23

次に読むべき資料

その他のタイプの空間フィルタ

 本書では、TNTmipsで使用可能なフィルタのサンプリングについての概要しか説明しておりません。本書で説明した各空間フィルタ・クラスには、使用できるフィルタがこの他にもあります。また、本書の例題では示していませんが、空間フィルタにはこの他にもより専門的なフィルタ機能を持つ2つのクラスがあります。

エッジ検出フィルタ Edge Detection(エッジ検出)クラスに属するフィルタは、画像の各部分の間の境界を検出して明瞭に異なる輝度で強調できるように設計されています。出力ラスタはエッジのグレースケール画像となり、セルの輝度は、元の画像における周囲のセルの輝度との差に比例します。結果として得られる画像は、画像分割など、画像に関する別の解釈や解析を行うための基本として使用できます。

レーダー・フィルタ Radar(レーダー)クラスに属するフィルタは、レーダー画像の特徴である小斑点状のノイズを除去できるように設計されています。

周波数フィルタ処理

 ラスタ画像の外観を改善するこの他の方法として、周波数フィルタ処理があります。周波数フィルタ処理(Interpret / Raster / Filter / Frequency(変換/ラスタ/フィルタ/周波数))では、フーリエ解析を使用して数学的に、画像を、それぞれが純粋な周期的正弦関数としてモデル化された基本空間周波数要素に分離します。空間周波数は行と列の2方向について計算され、結果として得られる周波数情報の二次元プロットを使用すると、除去すべき特定の周波数を識別することができます。周波数フィルタ処理は、画像処理システムにより発生する定常的で周期的な画像ノイズ(縞模様)の除去に最も効果的です。

参考文献

 画像強調やフィルタ処理についての入門書としては、以下の参考文献が適しています。

##

P.24

地理空間解析のための先進的ソフトウエア

 マイクロイメージズ社は、地理空間データの視覚化、解析、出版の高度な処理を行う、専門家向けソフトウェアを提供しています。製品に関する詳細は、マイクロイメージズ社にお問い合せになるか、ウェブ・サイトにアクセスしてください。

TNTmips  TNTmipsは、GIS、画像解析、CAD、TIN、デスクトップマッピング、地理空間データベース管理機能を統合した専門家のためのシステムです。

TNTview  TNTviewには、複雑な地理空間データの視覚化と解釈を行うための強力な表示機能があります。TNTmipsの演算処理機能や加工機能を必要としないユーザに最適です。

TNTatlas TNTatlasを使用すると、自分で作成した空間プロジェクトデータをCD-ROMにプレスして、低コストで出版や配布ができます。TNTatlasのCDには、さまざまなバージョンのTNTatlasを入れることができますので、1 枚のCDで、複数のコンピュータに対応できます。

TNTlite  TNTlite は、学生や小規模プロジェクトを行う専門家向けの無料バージョンです。インターネット接続ができる場合は、マイクロイメージズ社のウェブ・サイトからTNTliteの最新バージョン(約10OMB )をダウンロードできます。ダウンロードするのに時間がかかる場合は、TNTliteの入ったCDを注文することもできます。マイクロイメージズ社または(株)オープンGISまでお問い合わせください。

MicroImages, Inc.
201 North 8th Street
Lincoln, Nebraska 68508-1347 USA

電話:(402)477-9554
FAX :(402)477-9559
email:info@microimages.com
インターネツト:www.microimages.com

[翻訳]
株式会社 オープンGIS
〒130-0001 東京都墨田区吾妻橋1-19-14 紀伊国屋ビル7F
Kinokuniya Bld. 7F, 1-19-14 Azumabashi, Sumida-ku,
Tokyo 130-0001, JAPAN
TEL(03)3623-2851 FAX(03)3623-3025