の形になっています。そのため、類似度が高くなる程、値は1に近くなります。
今、 A(x)とB^T(x) をL x M x N (pixel)の三次元画像とした場合、A(x)とB^T(x)は、L x M x N 個の画素の位置 x に対してそれぞれ画素値をもつ L x M x N 次元ベクトルと考えられます。
そこで、SSDとNCCが意味するところをベクトル図で表すと図2のようになります。SSDは値が0に近づく程、NCCはθが0に近づく程、画像の類似度が高くなることが理解できると思います。
また、SSDはゲイン変動による画素値の変化(図2におけるベクトルの大きさの変化)の影響を受けるが、NCCはゲイン変動の影響を受けない(ベクトルのなす角度のみに依存するため)ことも理解できます。
また、SSDはゲイン変動による画素値の変化(図2におけるベクトルの大きさの変化)の影響を受けるが、NCCはゲイン変動の影響を受けない(ベクトルのなす角度のみに依存するため)ことも理解できます。
図2. 2つの画像をベクトルで表した時の、SSDとNCCの意味
NCCの改良版としてZNCC(Zero-mean Normalized Cross-Correlation)があります。これは、画像全体から全画素値の平均値を差し引いてから相互相関値を計算することによって、画像全体に乗っているノイズやバックグラウンドの影響を受けにくくなるという利点があります。そのため、NCCよりもZNCCの方が一般的によく用いられます。特に、2つの画像間で画像の明暗(バックグラウンド)に大きな差があるような場合には、ZNCCが用いられる場合が多いです。
但し、ZNCCをプログラミングする場合は、上記の式の通りに書くよりも、下記のように変形した形で書く方が効率の良いプログラムになります。(上記のまま書くと、平均値を求める時と全画素から差し引く時の2回、全画素を参照することになるが、下記だと全画素の参照が一回で済むため)
4. 画像均一度比(Ratio image Uniformity)
と定義した時に、
RIUは、2つの画像間の画素値の比の標準偏差として定義され、値が0に近づく程、類似度は高くなります。
今回紹介した類似度の評価関数は、いずれも同一モダリティー画像間での位置合わせに使われることがほとんどです。異なるモダリティー画像間では、画素値の分布傾向が異なるため、単純に画素値の差や相関を類似度の評価関数として使用することはできません。
次回は、異なるモダリティー画像間での位置合わせに用いられる「相互情報量」という評価関数を紹介します。
今回紹介した類似度の評価関数は、いずれも同一モダリティー画像間での位置合わせに使われることがほとんどです。異なるモダリティー画像間では、画素値の分布傾向が異なるため、単純に画素値の差や相関を類似度の評価関数として使用することはできません。
次回は、異なるモダリティー画像間での位置合わせに用いられる「相互情報量」という評価関数を紹介します。