このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
fippi
Fast Iterative Pixel Purity Index を使用したエンドメンバー シグネチャの抽出
構文
説明
endmembers = fippi(inputData,numEndmembers)inputData からエンドメンバー シグネチャを抽出します。numEndmembers は FIPPI アルゴリズムを使用して抽出するエンドメンバー シグネチャの数です。FIPPI 法の詳細については、アルゴリズムを参照してください。
endmembers = fippi(inputData,numEndmembers,'ReductionMethod',method)
メモ
この関数には、Hyperspectral Imaging Library for Image Processing Toolbox™ が必要です。Hyperspectral Imaging Library for Image Processing Toolbox はアドオン エクスプローラーからインストールできます。アドオンのインストールの詳細については、アドオンの入手と管理を参照してください。
Hyperspectral Imaging Library for Image Processing Toolbox は、MATLAB® Online™ または MATLAB Mobile™ によってサポートされないため、デスクトップの MATLAB が必要です。
例
入力引数
出力引数
アルゴリズム
FIPPI は、各反復の後にエンドメンバーにより適した候補を繰り返し選択する反復手法です。Pixel-Purity Index (PPI) 手法とは異なり、FIPPI 法では自動ターゲット生成処理 (ATGP) を使用してスキュアーの初期セットを選択します [1]。その結果、アルゴリズムの収束がより高速になり、エンドメンバーごとに一意のピクセルが生成されます。FIPPI 手法に含まれる手順をまとめると以下のとおりです。
- 主成分バンドを計算し、MNF または PCA を使用して入力データのスペクトル次元を削減します。抽出する主成分バンドの数は、抽出するエンドメンバーの数と等しく設定されます。 
- ATGP 法を使用してエンドメンバーの初期セットを求めます。エンドメンバーの初期セットは、入力データの投影先スキュアー のセットを構成します。 
- 反復 1 では、r1 をピクセル スペクトルを表すサンプル ベクトルとします。次に、このサンプル ベクトルを各スキュアーに直交投影して極値を求めます。 
- 各極値の場所を格納してその発生数をカウントします。この発生数を PPI カウントと呼びます。 
- ピクセル スペクトルごとの PPI カウントを求め、エンドメンバーとして最大 PPI カウントを持つサンプル ベクトルのセット {rk} を特定します。 
- 新しいエンドメンバーのセットとスキュアーの初期セットを組み合わせて、新しいスキュアーのセットを生成します。 
- 反復 2 では、すべてのサンプル ベクトルを新しいスキュアーのセットに投影し、新しいエンドメンバーのセットを特定します。次に、次の反復用の新しいスキュアーのセット を生成します。 
- 2 回の連続する反復で生成されたスキュアーのセットが同じになった場合、反復が停止します。このスキュアーの最終セットは入力データのエンドメンバーです。 
参照
[1] Chang, C.-I., and A. Plaza. “A Fast Iterative Algorithm for Implementation of Pixel Purity Index.” IEEE Geoscience and Remote Sensing Letters 3, no. 1 (January 2006): 63–67. https://doi.org/10.1109/LGRS.2005.856701.
バージョン履歴
R2020a で導入

