Re - ImageJで学ぶ!: 第57回 ImageJによる特徴点抽出画像処理(2)で学ぶ!

2015年12月1日火曜日

第57回 ImageJによる特徴点抽出画像処理(2)で学ぶ!

前回、SIFT(Scale Invariant Feature Transform)による画像の特徴点抽出法について説明を行いました。ImageJにおいてもプラグインとしてSIFTが紹介されており、さらに、高速バージョンのSIFTとして、SURF(Speed Up Robust Features)なども利用することができます。医用への応用としては適用範囲は広く、放射線治療による位置あわせの確認や、MRIを用いた3D-SIFTによるアルツハイマーの定量診断などにも利用できます。

今回は、前回の続きとして、抽出したキーポイントの絞り込みから、方向の抽出に至るまでの計算方法の説明を行います。


キーポイントの絞り込み方法


前回説明した26近傍からのキーポイントの候補点を抽出した後、さらに候補点には、DoGの結果画像D(u,v,σ)の出力値が低い(Low contrast)点やエッジ上の点が含まれているため、これらの点を除外する必要があります。画像ノイズが増えると、キーポイントしては不要な点も増えるため、ヘッセ行列から主曲率を求めて(参考文献2)、キーポイントを絞り込みます。上記の26近傍から計算されたキーポイント主曲点をD(x,y,σ)として、前回の式を繰り返し使用すると、入力画像はI(x,y)、ガウス関数はG(x,y,σ)、平滑化画像はL(x,y,σ)、平滑画像の差分(DoG画像)となり、Dogの結果画像D(x,y,σ)は、下記の式で表されます。


L(x,y,σ)=G(x,y,σ)×I(x,y)

ここで、



D(x,y,σ)
=(G(x,y,kσ)-G(x,y,σ))×I(x,y)
=L(x,y,kσ)-L(x,y,σ)    

上記の式でキーポイント候補になった点の二次元ヘッセ行列より主曲率を求めてキーポイントを絞り込むのが、特徴抽出の常套手段です。ここで、D(x,y,σ)のヘッセ行列を下記の式で表します。



この行列内の要素は、DoG出力画像のキーポイント候補点の濃淡値の二次動関数です。
この行列から求められる第1固有値をα、第2固有値をβとし、行列の対角成分の和をTr(H)、行列式をDet(H)とすると、それらの関係式は、次のように表すことができます。


Tr(H)=Dxx+Dyy=α+β

Det(H)=DxxDyy-Dxy^2

また、ここで、γ-α/β(α>β)として、γを第1固有値と第2固有値の比率で表現すると、式のようになります。

Tr(H)^2/Det(H)=(α+β)^2/αβ
=(γβ+β)^2/γβ^2
=(γ+1)^2/γ

このγ値で閾値をコントロールすることによって、エッジに存在する候補点などが削除できます。参考文献1によれば、γ値は10が良いと報告されています。


キーポイントのサブピクセル位置推定


キーポイントの候補点であるDoG画像D(x,y,σ)の二次元関数について、より精度の高いサブピクセル位置を決定する方法を説明します。
座標点(x,y,z)をある点(オフセット)のベクトルX=(x,y,z)^2とすると、関数D(X)は、Xを中心として、テイラー展開して、下記の式で表されます。





ここで、極値の位置Xは、Xに関するこの関数とそれをゼロに設定した場合、



となり、このX^を求めることによって、キーポイントの候補点のサブピクセル位置が決定します。
また、候補点の除外対象となる低いコントラスト点を除外するには、このサブピクセル位置の点をテイラー展開した式に代入して、次のようにD(X^)を求めます。



このD(X’)は、参考文献1による閾値として0.03以下を削除対象としています。


オリエンテーションの算出


キーポイント候補からキーポイントの位置とノイズを除去した後、次のステップとして回転に不変なオリエンテーションを算出します。
まず、キーポイント検出された座標上で平滑化された画像L(x,y)の勾配強度m(x,y)と勾配方向θを次式によって算出します。



この平滑化された画像の勾配強度m(x,y)と、ガウス関数G(x,y,σ)を乗じた局所の重み画像をW(x,y)として、オリエンテーションヒストグラムを作成します。ヒストグラムの横軸は360°をカバーするために、ヒストグラム・ビン数を36(横軸は0〜35の方向数になる)に設定します。最終的に、この局所領域の代表値となるオリエンテーションは、ヒストグラムの最大強度の80%以上の値を選択します。もちろん、この値を持つオリエンテーションは1つとは限りません。


ImageJによるSIFTの計算


ImageJ(Fiji)ではSIFTによる特徴抽出プラグインを備えています。ImageJの生命科学用の専用ツールである”Fiji”をダウンロードして、Plugins>Feature Extraction>Extract SIFT correspondencesを選択します。すると、図のように前述したパラメータを入力するダイアログが現れます。



この時の設定値は、前述した最適とされている経験値があらかじめ設定されていますので、なにも変更しなくても、良好な特徴抽出結果が得られます。
ここでようやく、第56回で紹介したSIFTの実行結果が何を意味しているのかがわかります。
次の図は、2枚の頭部MRIのT1W画像(ベースラインとフォローアップ(3年後))を用いたSIFTの実行例です。ベースラインの画像とフォローアップの画像で示されているポイントがよく一致していることがわかります。


(ベースライン)

(フォローアップ(3年))

SIFTはあくまで画像の特徴抽出方法の1つであり、他に高速計算法(SURFなど)もあります。検出したオリエンテーションを特徴量としたり、対応点での画像マッチングなど、医用画像の評価方法として様々な解析に応用可能です。

次回もImageJによる医用画像を対象とした有効なプラグインのアルゴリズムとその処理方法を解説します。

参考文献

  1. David G. Lowe:Distinctive Image Features from Scale-Invariant Keypoints
  2. 東京工業大学 長橋 宏:画像解析論(4)スライド

参考記事:「山本修司:ImageJで学ぶ実践医用・バイオ画像処理.INNERVISION(25・6) 2010, p104-105」

1 件のコメント:

  1. 大変勉強になりました。
    ありがとうございます。
    僭越ながら一つだけ訂正させて頂きます。
    このMRI画像はT1WではなくFLAIRですね。
    記事の本質とは関係ないところで申し訳ありません。

    返信削除