Tensor related to gradients
数学において、構造 テンソル (構造テンソルは、 二次モーメント行列 とも呼ばれ 、 関数 の 勾配 から導かれる 行列 である。これは、ある点の周囲の指定された近傍における勾配の分布を記述し、その情報を観測座標に対して不変にする。構造テンソルは、 画像処理 や コンピュータビジョン でよく用いられる。 [1] [2] [3]
2次元構造テンソル
連続バージョン 2変数関数 p = ( x , y ) の場合 、構造テンソルは2×2行列である。 I {\displaystyle I}
S w ( p ) = [ ∫ w ( r ) ( I x ( p − r ) ) 2 d r ∫ w ( r ) I x ( p − r ) I y ( p − r ) d r ∫ w ( r ) I x ( p − r ) I y ( p − r ) d r ∫ w ( r ) ( I y ( p − r ) ) 2 d r ] {\displaystyle S_{w}(p)={\begin{bmatrix}\int w(r)(I_{x}(p-r))^{2}\,dr&\int w(r)I_{x}(p-r)I_{y}(p-r)\,dr\\[10pt]\int w(r)I_{x}(p-r)I_{y}(p-r)\,dr&\int w(r)(I_{y}(p-r))^{2}\,dr\end{bmatrix}}} ここで 、 とは x と y に関する 偏微分 で あり 、積分範囲は平面 である 。w は固定された「窓関数」( ガウスぼかし など )であり、これは2変数の 分布 である。行列自体は p = ( x , y ) の関数である点に注意されたい 。 I x {\displaystyle I_{x}} I y {\displaystyle I_{y}} I {\displaystyle I} R 2 {\displaystyle \mathbb {R} ^{2}} S w {\displaystyle S_{w}}
上の式は とも書くことができ 、ここで は 次のように定義される行列値関数である。 S w ( p ) = ∫ w ( r ) S 0 ( p − r ) d r {\textstyle S_{w}(p)=\int w(r)S_{0}(p-r)\,dr} S 0 {\displaystyle S_{0}} S 0 ( p ) = [ ( I x ( p ) ) 2 I x ( p ) I y ( p ) I x ( p ) I y ( p ) ( I y ( p ) ) 2 ] {\displaystyle S_{0}(p)={\begin{bmatrix}(I_{x}(p))^{2}&I_{x}(p)I_{y}(p)\\[10pt]I_{x}(p)I_{y}(p)&(I_{y}(p))^{2}\end{bmatrix}}}
の 勾配を2×1(1列)行列とみなすと 、 は 転置 演算を表し 、行ベクトルを列ベクトルに変換するので、行列は 行列積 または テンソル 、あるいは外積 として表すことができます。ただし、 が ディラックのデルタ関数 である場合を除いて、一般には 構造テンソルを このように因数分解することはできないことに注意してください 。 ∇ I = ( I x , I y ) T {\displaystyle \nabla I=(I_{x},I_{y})^{\text{T}}} I {\displaystyle I} ( ⋅ ) T {\displaystyle (\cdot )^{\text{T}}} S 0 {\displaystyle S_{0}} ( ∇ I ) ( ∇ I ) T {\displaystyle (\nabla I)(\nabla I)^{\text{T}}} ∇ I ⊗ ∇ I {\displaystyle \nabla I\otimes \nabla I} S w ( p ) {\displaystyle S_{w}(p)} w {\displaystyle w}
個別バージョン 画像処理やその他の類似のアプリケーションでは、関数は通常、 サンプルの 離散 配列 として与えられます。ここで、 p は整数のインデックスのペアです。与えられた ピクセル における2次元構造テンソルは、通常、離散和として扱われます。 I {\displaystyle I} I [ p ] {\displaystyle I[p]}
S w [ p ] = [ ∑ r w [ r ] ( I x [ p − r ] ) 2 ∑ r w [ r ] I x [ p − r ] I y [ p − r ] ∑ r w [ r ] I x [ p − r ] I y [ p − r ] ∑ r w [ r ] ( I y [ p − r ] ) 2 ] {\displaystyle S_{w}[p]={\begin{bmatrix}\sum _{r}w[r](I_{x}[p-r])^{2}&\sum _{r}w[r]I_{x}[p-r]I_{y}[p-r]\\[10pt]\sum _{r}w[r]I_{x}[p-r]I_{y}[p-r]&\sum _{r}w[r](I_{y}[p-r])^{2}\end{bmatrix}}}
ここで、合計インデックス r は、インデックス ペアの有限セット (通常は何らかの m の「ウィンドウ」 ) の範囲にあり、 w [ r ] は、すべての重みの合計が 1 になるように r に依存する固定の「ウィンドウ重み」です。 値は、ピクセル p でサンプリングされた偏微分です。これは、たとえば、 有限差分 式によって から推定できます 。 { − m … + m } × { − m … + m } {\displaystyle \{-m\ldots +m\}\times \{-m\ldots +m\}} I x [ p ] , I y [ p ] {\displaystyle I_{x}[p],I_{y}[p]} I {\displaystyle I}
構造テンソルの式は とも書くことができ 、ここで は次のような行列値配列である。 S w [ p ] = ∑ r w [ r ] S 0 [ p − r ] {\textstyle S_{w}[p]=\sum _{r}w[r]S_{0}[p-r]} S 0 {\displaystyle S_{0}} S 0 [ p ] = [ ( I x [ p ] ) 2 I x [ p ] I y [ p ] I x [ p ] I y [ p ] ( I y [ p ] ) 2 ] {\displaystyle S_{0}[p]={\begin{bmatrix}(I_{x}[p])^{2}&I_{x}[p]I_{y}[p]\\[10pt]I_{x}[p]I_{y}[p]&(I_{y}[p])^{2}\end{bmatrix}}}
解釈 2次元構造テンソルの重要性は、 固有値 ( となるように並べることができる )とそれに対応する 固有ベクトルが を中心 とする で定義されるウィンドウ内 の の 勾配 の分布を要約するという 事実に由来する 。 [1] [2] [3] S w {\displaystyle S_{w}} λ 1 , λ 2 {\displaystyle \lambda _{1},\lambda _{2}} λ 1 ≥ λ 2 ≥ 0 {\displaystyle \lambda _{1}\geq \lambda _{2}\geq 0} e 1 , e 2 {\displaystyle e_{1},e_{2}} ∇ I = ( I x , I y ) {\displaystyle \nabla I=(I_{x},I_{y})} I {\displaystyle I} w {\displaystyle w} p {\displaystyle p}
つまり、 の場合 、 (または )はウィンドウ内の勾配と最大限に揃った方向になります。 λ 1 > λ 2 {\displaystyle \lambda _{1}>\lambda _{2}} e 1 {\displaystyle e_{1}} − e 1 {\displaystyle -e_{1}}
特に、 の場合、勾配は常に (正、負、またはゼロ)の倍数です。これは、 ウィンドウ内で が 方向に沿って変化し 、 に沿って一定である場合に限ります 。この固有値の条件は、 の等値曲線が平行線で構成されるため、線形対称条件とも呼ばれます。つまり、 ある定数ベクトル と座標に対して の ような 2次元関数を生成できる 1次元関数が存在するということです 。 λ 1 > 0 , λ 2 = 0 {\displaystyle \lambda _{1}>0,\lambda _{2}=0} e 1 {\displaystyle e_{1}} I {\displaystyle I} e 1 {\displaystyle e_{1}} e 2 {\displaystyle e_{2}} I {\displaystyle I} g {\displaystyle g} I {\displaystyle I} I ( x , y ) = g ( d T p ) {\displaystyle I(x,y)=g(d^{\text{T}}p)} d = ( d x , d y ) T {\displaystyle d=(d_{x},d_{y})^{T}} p = ( x , y ) T {\displaystyle p=(x,y)^{T}}
一方、 の場合 、ウィンドウ内の勾配には優勢な方向がありません。これは、例えば、画像がそのウィンドウ内で 回転対称性 を持つ場合に発生します。この固有値の条件は、ウィンドウ内のすべての勾配方向が等頻度/確率である場合に成立するため、平衡体条件または方向平衡条件とも呼ばれます。 λ 1 = λ 2 {\displaystyle \lambda _{1}=\lambda _{2}}
さらに、条件は 関数 が 内で定数 ( )で ある場合にのみ 発生します 。 λ 1 = λ 2 = 0 {\displaystyle \lambda _{1}=\lambda _{2}=0} I {\displaystyle I} ∇ I = ( 0 , 0 ) {\displaystyle \nabla I=(0,0)} W {\displaystyle W}
より一般的には、 k =1または k =2 の場合 の の値は、 の 方向微分 の 二乗の p 近傍における -加重平均です 。 の2つの固有値間の相対的なずれは、ウィンドウ内の勾配の 異方性 の程度 、つまり特定の方向(およびその反対方向)にどれだけ強く偏っているかを示す指標です。 [4] [5] この属性は、次のように定義される コヒーレンス によって定量化できます。 λ k {\displaystyle \lambda _{k}} w {\displaystyle w} I {\displaystyle I} e k {\displaystyle e_{k}} S w {\displaystyle S_{w}}
c w = ( λ 1 − λ 2 λ 1 + λ 2 ) 2 {\displaystyle c_{w}=\left({\frac {\lambda _{1}-\lambda _{2}}{\lambda _{1}+\lambda _{2}}}\right)^{2}}
の場合 。この量は、勾配が完全に揃っている場合は1、優先方向がない場合は0です。 ウィンドウ( )内の像が一定である場合、 極限 においても式は定義されていません。一部の著者は、その場合、これを0と定義しています。 λ 2 > 0 {\displaystyle \lambda _{2}>0} λ 1 = λ 2 = 0 {\displaystyle \lambda _{1}=\lambda _{2}=0}
ウィンドウ内の 勾配の平均は 異方性の良い指標では ないことに注意してください。この平均では、整列しているものの逆向きの勾配ベクトルは打ち消されてしまいますが、構造テンソルではそれらは適切に加算されます。 [6] これが、構造テンソルの平均化において、方向を最適化するために ではなく が使用される 理由です 。 ∇ I {\displaystyle \nabla I} ( ∇ I ) ( ∇ I ) T {\displaystyle (\nabla I)(\nabla I)^{\text{T}}} ∇ I {\displaystyle \nabla I}
ウィンドウ関数の有効半径を拡大する (つまり、分散を大きくする)ことで、空間解像度は低下するが、ノイズに対して構造テンソルをより堅牢にすることができる。 [5] [7] この特性の正式な根拠については以下で詳しく説明する。ここでは、マルチスケール構造テンソルと呼ばれる構造テンソルのマルチスケール定式化が、 ウィンドウ関数の空間範囲の変化下での方向データの真のマルチスケール表現を 構成することが示される。 w {\displaystyle w}
複合バージョン 2次元構造テンソルの解釈と実装は、 複素数を 使うことで特に容易になります。 [2] 構造テンソルは3つの実数で構成されています。
S w ( p ) = [ μ 20 μ 11 μ 11 μ 02 ] {\displaystyle S_{w}(p)={\begin{bmatrix}\mu _{20}&\mu _{11}\\[10pt]\mu _{11}&\mu _{02}\end{bmatrix}}}
ここで 、 積分 は離散表現の和に置き換えることができる。 パーセバルの恒等式 を用いると、3つの実数は のパワースペクトルの2次モーメントであることが明らかである 。したがって、 のパワースペクトルの2次複素モーメントは 次のように表される
。 μ 20 = ∫ ( w ( r ) ( I x ( p − r ) ) 2 d r {\textstyle \mu _{20}=\int (w(r)(I_{x}(p-r))^{2}\,dr} μ 02 = ∫ ( w ( r ) ( I y ( p − r ) ) 2 d r {\textstyle \mu _{02}=\int (w(r)(I_{y}(p-r))^{2}\,dr} μ 11 = ∫ w ( r ) I x ( p − r ) I y ( p − r ) d r {\textstyle \mu _{11}=\int w(r)I_{x}(p-r)I_{y}(p-r)\,dr} I {\displaystyle I} I {\displaystyle I}
κ 20 = μ 20 − μ 02 + i 2 μ 11 = ∫ w ( r ) ( I x ( p − r ) + i I y ( p − r ) ) 2 d r = ( λ 1 − λ 2 ) exp ( i 2 ϕ ) {\displaystyle \kappa _{20}=\mu _{20}-\mu _{02}+i2\mu _{11}=\int w(r)(I_{x}(p-r)+iI_{y}(p-r))^{2}\,dr=(\lambda _{1}-\lambda _{2})\exp(i2\phi )}
ここで 、 と は構造テンソルの最重要固有ベクトルの方向角であり 、 と は 最重要および最重要でない固有値です。このことから、は 2 つの実数から成る複素数なので、 確実性 と倍角表現での最適方向の両方を含むことがわかります。また、勾配が複素数として表現され、2 乗によって再マップされる (つまり、複素勾配の引数角が 2 倍になる) 場合、平均化はマップされた領域で最適化機能として機能します。これは、平均化によって最適方向 (倍角表現) と関連する確実性の両方が直接得られるためです。したがって、複素数はイメージ にどれだけの線形構造 (線形対称性) があるかを表し 、複素数は、固有値と固有ベクトルを明示的に計算せずに、勾配の (複素) 倍角表現で平均化することによって直接得られます。 i = − 1 {\displaystyle i={\sqrt {-1}}} ϕ {\displaystyle \phi } ϕ = ∠ e 1 {\displaystyle \phi =\angle {e_{1}}} λ 1 {\displaystyle \lambda _{1}} λ 2 {\displaystyle \lambda _{2}} κ 20 {\displaystyle \kappa _{20}} | κ 20 | = λ 1 − λ 2 {\displaystyle |\kappa _{20}|=\lambda _{1}-\lambda _{2}} I {\displaystyle I}
同様に、 のパワースペクトルの次の2次複素モーメントは 、 が実数であるため常に実数となる 。 I {\displaystyle I} I {\displaystyle I}
κ 11 = μ 20 + μ 02 = ∫ w ( r ) | I x ( p − r ) + i I y ( p − r ) | 2 d r = λ 1 + λ 2 {\displaystyle \kappa _{11}=\mu _{20}+\mu _{02}=\int w(r)|I_{x}(p-r)+iI_{y}(p-r)|^{2}\,dr=\lambda _{1}+\lambda _{2}}
が得られます。ここで、 と は 前述と同様に固有値です。今回は複素勾配の大きさが2乗されていることに注意してください(これは常に実数です)。 λ 1 {\displaystyle \lambda _{1}} λ 2 {\displaystyle \lambda _{2}}
しかし、構造テンソルを固有ベクトルに分解すると、そのテンソル成分は次のようになる。
S w ( p ) = λ 1 e 1 e 1 T + λ 2 e 2 e 2 T = ( λ 1 − λ 2 ) e 1 e 1 T + λ 2 ( e 1 e 1 T + e 2 e 2 T ) = ( λ 1 − λ 2 ) e 1 e 1 T + λ 2 E {\displaystyle S_{w}(p)=\lambda _{1}e_{1}e_{1}^{\text{T}}+\lambda _{2}e_{2}e_{2}^{\text{T}}=(\lambda _{1}-\lambda _{2})e_{1}e_{1}^{\text{T}}+\lambda _{2}(e_{1}e_{1}^{\text{T}}+e_{2}e_{2}^{\text{T}})=(\lambda _{1}-\lambda _{2})e_{1}e_{1}^{\text{T}}+\lambda _{2}E}
ここで 、2つの固有ベクトルは常に直交し(和は1となる)、 は2次元の 単位行列 です。分解の最後の式の最初の項 は、すべての方向情報を含む構造テンソルの線形対称成分(階数1の行列として)を表します。一方、2番目の項は、方向情報を一切含まないテンソルの平衡体成分(単位行列 を含む )を表します。 にどれだけの方向情報が含まれているかを知ることは、 と比較して が どれだけ大きいかを調べることと同じです 。 E {\displaystyle E} ( λ 1 − λ 2 ) e 1 e 1 T {\displaystyle (\lambda _{1}-\lambda _{2})e_{1}e_{1}^{\text{T}}} E {\displaystyle E} I {\displaystyle I} λ 1 − λ 2 {\displaystyle \lambda _{1}-\lambda _{2}} λ 2 {\displaystyle \lambda _{2}}
明らかに、 はテンソル分解の最初の項の複素数に相当し、 は2番目の項に相当します。したがって、3つの実数からなる2つのスカラーは、 κ 20 {\displaystyle \kappa _{20}} 1 2 ( | κ 20 | − κ 11 ) = λ 2 {\displaystyle {\tfrac {1}{2}}(|\kappa _{20}|-\kappa _{11})=\lambda _{2}}
κ 20 = ( λ 1 − λ 2 ) exp ( i 2 ϕ ) = w ∗ ( h ∗ I ) 2 κ 11 = λ 1 + λ 2 = w ∗ | h ∗ I | 2 {\displaystyle {\begin{aligned}\kappa _{20}&=&(\lambda _{1}-\lambda _{2})\exp(i2\phi )&=w*(h*I)^{2}\\\kappa _{11}&=&\lambda _{1}+\lambda _{2}&=w*|h*I|^{2}\\\end{aligned}}} ここで 、 は(複素)勾配フィルタ、 は畳み込みであり、 2次元構造テンソルの 複素表現 を構成します。ここでも他の箇所でも議論されているように、 は通常ガウス分布(一定の分散が外側のスケールを定義します)である局所画像を定義し、は(内側のスケール)パラメータであり、方向 を推定する 有効周波数範囲を決定します。 h ( x , y ) = ( x + i y ) exp ( − ( x 2 + y 2 ) / ( 2 σ 2 ) ) {\displaystyle h(x,y)=(x+iy)\exp(-(x^{2}+y^{2})/(2\sigma ^{2}))} ∗ {\displaystyle *} w {\displaystyle w} σ {\displaystyle \sigma } 2 ϕ {\displaystyle 2\phi }
複素表現の簡潔さは、構造テンソルの2つの成分を平均ととして独立に得ることができることに由来する。つまり、スケール空間表現において、 と を用いて、固有ベクトルと固有値を計算することなしに、一意の配向の存在の証拠と、対立仮説である複数のバランスの取れた配向の存在の証拠を記述できることを意味する。複素数の2乗のような関数は、今日まで2次元以上の構造テンソルに対しては存在が示されていない。Bigun 91では、複素数は可換代数であるのに対し、そのような関数を構築できる可能性のある四元数は非可換代数を構成するためであるという正当な議論が提示されている。 [8] κ 20 {\displaystyle \kappa _{20}} κ 11 {\displaystyle \kappa _{11}}
構造テンソルの複素表現は、指紋分析において、確実性を含む方向マップを取得するために頻繁に使用されます。方向マップは、方向マップを強化し、グローバル(コアとデルタ)およびローカル(細目)特異点の位置を見つけ、指紋の品質を自動的に評価するために使用されます。
3D構造テンソル
意味 構造テンソルは、 3変数関数 p =( x , y , z ) に対しても全く同様の方法で定義できます。つまり、連続版では となります。 ここで、 は の3つの偏微分であり 、 の積分範囲は です 。 I {\displaystyle I} S w ( p ) = ∫ w ( r ) S 0 ( p − r ) d r {\textstyle S_{w}(p)=\int w(r)S_{0}(p-r)\,dr} S 0 ( p ) = [ ( I x ( p ) ) 2 I x ( p ) I y ( p ) I x ( p ) I z ( p ) I x ( p ) I y ( p ) ( I y ( p ) ) 2 I y ( p ) I z ( p ) I x ( p ) I z ( p ) I y ( p ) I z ( p ) ( I z ( p ) ) 2 ] {\displaystyle S_{0}(p)={\begin{bmatrix}(I_{x}(p))^{2}&I_{x}(p)I_{y}(p)&I_{x}(p)I_{z}(p)\\[10pt]I_{x}(p)I_{y}(p)&(I_{y}(p))^{2}&I_{y}(p)I_{z}(p)\\[10pt]I_{x}(p)I_{z}(p)&I_{y}(p)I_{z}(p)&(I_{z}(p))^{2}\end{bmatrix}}} I x , I y , I z {\displaystyle I_{x},I_{y},I_{z}} I {\displaystyle I} R 3 {\displaystyle \mathbb {R} ^{3}}
離散バージョンでは、 であり 、和は有限の 3D インデックス セットにわたって範囲を持ち、通常はいくつかの m に対して範囲が設定されます 。 S w [ p ] = ∑ r w [ r ] S 0 [ p − r ] {\textstyle S_{w}[p]=\sum _{r}w[r]S_{0}[p-r]} S 0 [ p ] = [ ( I x [ p ] ) 2 I x [ p ] I y [ p ] I x [ p ] I z [ p ] I x [ p ] I y [ p ] ( I y [ p ] ) 2 I y [ p ] I z [ p ] I x [ p ] I z [ p ] I y [ p ] I z [ p ] ( I z [ p ] ) 2 ] {\displaystyle S_{0}[p]={\begin{bmatrix}(I_{x}[p])^{2}&I_{x}[p]I_{y}[p]&I_{x}[p]I_{z}[p]\\[10pt]I_{x}[p]I_{y}[p]&(I_{y}[p])^{2}&I_{y}[p]I_{z}[p]\\[10pt]I_{x}[p]I_{z}[p]&I_{y}[p]I_{z}[p]&(I_{z}[p])^{2}\end{bmatrix}}} { − m … + m } × { − m … + m } × { − m … + m } {\displaystyle \{-m\ldots +m\}\times \{-m\ldots +m\}\times \{-m\ldots +m\}}
解釈 2次元の場合と同様に、 の固有値 とそれに対応する固有ベクトルは、 窓 によって定義される p の近傍における勾配方向の分布を要約する。この情報は 、半軸が固有値に等しく、それに対応する固有ベクトルに沿う 楕円体 として視覚化できる。 [9] [10] λ 1 , λ 2 , λ 3 {\displaystyle \lambda _{1},\lambda _{2},\lambda _{3}} S w [ p ] {\displaystyle S_{w}[p]} e ^ 1 , e ^ 2 , e ^ 3 {\displaystyle {\hat {e}}_{1},{\hat {e}}_{2},{\hat {e}}_{3}} w {\displaystyle w}
3D 構造テンソルの楕円体表現。 特に、楕円体が葉巻のように1つの軸に沿ってのみ引き伸ばされている場合(つまり、が との 両方よりもはるかに大きい場合 )、ウィンドウ内の勾配は主に の方向に整列する ため、 の 等値面は 平坦でそのベクトルに垂直になる傾向があります。このような状況は、例えば、 p が 薄い板状の特徴上に存在する場合、または対照的な値を持つ2つの領域間の滑らかな境界上にある場合に発生します。 λ 1 {\displaystyle \lambda _{1}} λ 2 {\displaystyle \lambda _{2}} λ 3 {\displaystyle \lambda _{3}} e 1 {\displaystyle e_{1}} I {\displaystyle I}
表面のような近傍(「サーフェル 」) の構造テンソル楕円体 。 λ 1 > > λ 2 ≈ λ 3 {\displaystyle \lambda _{1}>\!>\lambda _{2}\approx \lambda _{3}} 3D 画像の 2 つの均一な領域間の滑らかな境界面にまたがる 3D ウィンドウ。 対応する構造テンソル楕円体。
楕円体がパンケーキのように一方向のみに平坦化されている場合(つまり、 が と の 両方よりもはるかに小さい場合 )、勾配方向は に垂直に広がっていることを意味します 。そのため、等値面は に平行なチューブ状になる傾向があります。このような状況は、例えば、 p が 細い線状の特徴上に位置する場合、または対照的な値を持つ2つの領域の境界の鋭角に位置する場合に発生します。 λ 3 {\displaystyle \lambda _{3}} λ 1 {\displaystyle \lambda _{1}} λ 2 {\displaystyle \lambda _{2}} e 3 {\displaystyle e_{3}}
直線状の近傍(「曲線」)の構造テンソル 。 λ 1 ≈ λ 2 > > λ 3 {\displaystyle \lambda _{1}\approx \lambda _{2}>\!>\lambda _{3}} 3D 画像の線状の特徴をまたぐ 3D ウィンドウ。 対応する構造テンソル楕円体。
最後に、楕円体がほぼ球面である場合(つまり、 の場合 )、ウィンドウ内の勾配方向はほぼ均等に分布しており、顕著な偏りは見られないことを意味します。そのため、関数は その近傍ではほぼ等方性を示します。これは、例えば関数が p の近傍で 球対称性 を持つ場合に発生します。特に、楕円体が点に縮退している場合(つまり、3つの固有値がゼロの場合)、ウィンドウ内で が一定(勾配がゼロ)である ことを意味します。 λ 1 ≈ λ 2 ≈ λ 3 {\displaystyle \lambda _{1}\approx \lambda _{2}\approx \lambda _{3}} I {\displaystyle I} I {\displaystyle I}
等方性近傍における構造テンソル 。 λ 1 ≈ λ 2 ≈ λ 3 {\displaystyle \lambda _{1}\approx \lambda _{2}\approx \lambda _{3}} 3D 画像の球状の特徴を含む 3D ウィンドウ。 対応する構造テンソル楕円体。
マルチスケール構造テンソル 構造テンソルは スケール空間 解析において重要なツールです。 関数の マルチスケール構造テンソル (または マルチスケール2次モーメント行列 )は、他の1パラメータスケール空間特徴とは対照的に、 2つのスケールパラメータで定義される画像記述子です。1つのスケールパラメータは ローカルスケール と呼ばれ 、画像勾配を計算する際の事前平滑化の量を決定するために必要です。もう1つのスケールパラメータは 積分スケール と呼ばれ、 勾配の外積の成分が累積される空間領域の重みを決定する ウィンドウ関数の空間範囲を指定するために 必要です。 I {\displaystyle I} t {\displaystyle t} ( ∇ I ) ( x ; t ) {\displaystyle (\nabla I)(x;t)} s {\displaystyle s} w ( ξ ; s ) {\displaystyle w(\xi ;s)} ( ∇ I ) ( ∇ I ) T {\displaystyle (\nabla I)(\nabla I)^{\text{T}}}
より正確には、 が 上で定義される実数値信号であるとします 。任意のローカルスケール に対して 、この信号のマルチスケール表現は で与えられ、 は 事前 平滑 化カーネルを表します。さらに、 は スケール空間表現 の勾配を表します 。すると、 マルチスケール構造テンソル/2 次モーメント行列 は で定義されます [7] [11] [12] 概念的には、任意の自己相似な平滑化関数および の 族を使用すれば十分かどうか疑問に思うかもしれません 。ただし、単純に、たとえばボックスフィルタを適用すると、望ましくないアーティファクトが簡単に発生する可能性があります。マルチスケール構造テンソルが、ローカルスケールの増加 と積分スケールの増加の両方で適切に動作することを望む場合、平滑化関数とウィンドウ関数の両方がガウス分布 でなければならない ことが示されます 。 [7] この一意性を規定する条件は、画像強度の 正規ガウス スケール空間に対するガウスカーネルの一意性を導出するために使用される スケール空間公理 に類似している。 I {\displaystyle I} R k {\displaystyle \mathbb {R} ^{k}} t > 0 {\displaystyle t>0} I ( x ; t ) {\displaystyle I(x;t)} I ( x ; t ) = h ( x ; t ) ∗ I ( x ) {\displaystyle I(x;t)=h(x;t)*I(x)} h ( x ; t ) {\displaystyle h(x;t)} ( ∇ I ) ( x ; t ) {\displaystyle (\nabla I)(x;t)} μ ( x ; t , s ) = ∫ ξ ∈ R k ( ∇ I ) ( x − ξ ; t ) ( ∇ I ) T ( x − ξ ; t ) w ( ξ ; s ) d ξ {\displaystyle \mu (x;t,s)=\int _{\xi \in \mathbb {R} ^{k}}(\nabla I)(x-\xi ;t)\,(\nabla I)^{\text{T}}(x-\xi ;t)\,w(\xi ;s)\,d\xi } h ( x ; t ) {\displaystyle h(x;t)} w ( ξ ; s ) {\displaystyle w(\xi ;s)} t {\displaystyle t} s {\displaystyle s}
この画像記述子群では、2 パラメータのスケール変化を処理するさまざまな方法があります。 ローカル スケール パラメータを 固定し、積分スケール パラメータのみを増やすことでウィンドウ関数の徐々に広がるバージョンを適用すると、 特定のローカル スケール で計算された方向データの 真の正式な スケール空間表現が 得られます 。 [7] ローカル スケールと積分スケールを 相対積分スケール で結合して、 の任意の固定値に対して 、縮小された自己相似な 1 パラメータ変化を取得すると、 コーナー検出 、 関心点検出 、テクスチャ分析、 画像マッチング などの計算アルゴリズムを簡素化するために頻繁に使用されます。 このような自己相似スケール変化で相対積分スケールを変更することにより 、積分スケールを増やすことで取得される方向データのマルチスケール特性をパラメータ化する別の方法が得られます。 t {\displaystyle t} s {\displaystyle s} t {\displaystyle t} r ≥ 1 {\displaystyle r\geq 1} s = r t {\displaystyle s=rt} r {\displaystyle r} r ≥ 1 {\displaystyle r\geq 1}
概念的に同様の構成を離散信号に対しても実行できます。畳み込み積分を畳み込み和に、連続ガウスカーネルを 離散ガウスカーネル に置き換えれば 、 スケールパラメータを量子化する際には 通常 、有限等比数列 が使用され、 iは 0から最大スケールインデックス mまでの範囲となります。したがって、離散スケールレベルは 画像ピラミッド とある程度の類似性を持ちます が、後続の処理段階でより正確なデータを保持するために、空間サブサンプリングが必ずしも使用されるとは限りません。 g ( x ; t ) {\displaystyle g(x;t)} T ( n ; t ) {\displaystyle T(n;t)} μ ( x ; t , s ) = ∑ n ∈ Z k ( ∇ I ) ( x − n ; t ) ( ∇ I ) T ( x − n ; t ) w ( n ; s ) {\displaystyle \mu (x;t,s)=\sum _{n\in \mathbb {Z} ^{k}}(\nabla I)(x-n;t)\,(\nabla I)^{\text{T}}(x-n;t)\,w(n;s)} t {\displaystyle t} s {\displaystyle s} α i {\displaystyle \alpha ^{i}}
アプリケーション 構造テンソルの固有値は、 コーナー検出 、 関心点検出 、 特徴追跡 などの多くの画像処理アルゴリズムで重要な役割を果たします。 [9] [13] [14] [15] [16] [17] [18] 構造テンソルは、 Lucas-Kanade オプティカルフローアルゴリズムや、 アフィン形状適応 を推定するためのその拡張においても中心的な役割を果たしています 。 [11] ここで、 の大きさは、 計算結果の信頼性の指標です。 テンソルは、 スケールスペース 解析、 [7] 単眼または両眼の手がかりからの局所的な表面の向きの推定、 [12] 非線形指紋強調、 [19] 拡散ベースの画像処理 、 [20] [21] [22] [23] およびその他のさまざまな画像処理問題に使用されています。 構造テンソルは、 地質学の 地震 データのフィルタリングにも適用できます 。 [24] λ 2 {\displaystyle \lambda _{2}}
構造テンソルを用いた時空間ビデオデータの処理 3 次元構造テンソルは、 3 次元ビデオ データ ( x 、 y 、および時間 t の関数として表示) を分析するために使用されています。 [4] この文脈で、 ガリレイ変換 に対して 不変な 画像記述子を目標とする場合、事前に未知の画像速度の変動の下で得られた画像測定値を比較できるようにするためには、計算の観点から、 ガリレイ対角化 [25] の概念を使用して 構造テンソル/2 次モーメント行列の成分をパラメーター化することが好ましい。 ここで、は 時空のガリレイ変換と 空間領域での 2 次元回転を表し、これは前述の 3 次元構造テンソルの固有値の使用 (固有値分解と (非物理的な) 時空の 3 次元回転に対応) と比較される。 ただし、真のガリレイ不変性を得るには、時空間ウィンドウ関数の形状も適応させる必要があり、 [25] [26]これは、 アフィン形状適応 [11] を空間画像データから時空間画像データに 転送することに対応している。これらの概念は 、局所的な時空間ヒストグラム記述子 [27] と組み合わせることで
、時空間イベントのガリレイ不変認識を可能にする。 [28] v = ( v x , v y ) T {\displaystyle v=(v_{x},v_{y})^{\text{T}}} [ x ′ y ′ t ′ ] = G [ x y t ] = [ x − v x t y − v y t t ] , {\displaystyle {\begin{bmatrix}x'\\y'\\t'\end{bmatrix}}=G{\begin{bmatrix}x\\y\\t\end{bmatrix}}={\begin{bmatrix}x-v_{x}\,t\\y-v_{y}\,t\\t\end{bmatrix}},} S {\displaystyle S} S ′ = R space − T G − T S G − 1 R space − 1 = [ ν 1 ν 2 ν 3 ] {\displaystyle S'=R_{\text{space}}^{-{\text{T}}}\,G^{-{\text{T}}}\,S\,G^{-1}\,R_{\text{space}}^{-1}={\begin{bmatrix}\nu _{1}&\,&\,\\\,&\nu _{2}&\,\\\,&\,&\nu _{3}\end{bmatrix}}} G {\displaystyle G} R space {\displaystyle R_{\text{space}}} S ″ = R spacetime − T S R spacetime − 1 = [ λ 1 λ 2 λ 3 ] . {\displaystyle S''=R_{\text{spacetime}}^{-{\text{T}}}\,S\,R_{\text{spacetime}}^{-1}={\begin{bmatrix}\lambda _{1}&&\\&\lambda _{2}&\\&&\lambda _{3}\end{bmatrix}}.}
参照
参考文献 ^ ab J. Bigun and G. Granlund (1986), 線形対称性の最適方向検出 。技術レポートLiTH-ISY-I-0828、コンピュータビジョン研究所、リンショーピング大学、スウェーデン、1986年; 論文レポート、リンショーピング科学技術研究第85号、1986年。 ^ abc J. Bigun & G. Granlund (1987). 「線形対称性の最適方向検出」. 第1回コンピュータビジョン国際会議, ICCV, (ロンドン) . ピスカタウェイ: IEEE Computer Society Press, ピスカタウェイ. pp. 433– 438. ^ ab H. Knutsson (1989). 「テンソルを用いた局所構造の表現」. 第6回スカンジナビア画像解析会議論文集 . オウル:オウル大学. pp. 244– 251. ^ ab B. Jahne (1993). 時空間画像処理:理論と科学的応用 . 第751巻. ベルリン: Springer-Verlag. ^ ab G. Medioni, M. Lee & C. Tang (2000年3月). 特徴抽出とセグメンテーションのための計算フレームワーク . Elsevier Science. ^ T. ブロックス; J.ヴァイカート; B. バージェス & P. ムラゼク (2004)。 非線形構造テンソル (技術レポート)。ザールランデス大学。 113. ^ abcde T. Lindeberg (1993), Scale-Space Theory in Computer Vision . Kluwer Academic Publishers, (マルチスケール2次モーメント行列/構造テンソルが方向データの真の、かつ一意に決定されたマルチスケール表現をどのように定義するかについての詳細は、359~360ページと355~356ページのセクション14.4.1と14.2.3を参照)。 ^ J. Bigun; G. Granlund & J. Wiklund (1991). 「多次元方向推定とテクスチャ解析およびオプティカルフローへの応用」 IEEE Transactions on Pattern Analysis and Machine Intelligence . 13 (8): 775– 790. doi :10.1109/34.85668. ^ ab M. Nicolescu & G. Medioni (2003). 「正確な境界を持つモーションセグメンテーション - テンソル投票アプローチ」. Proc. IEEE Computer Vision and Pattern Recognition . 第1巻. pp. 382– 389. ^ Westin, C.-F.; Maier, SE; Mamata, H.; Nabavi, A.; Jolesz, FA; Kikinis, R. (2002年6月). 「拡散テンソルMRIの処理と可視化」 . Medical Image Analysis . 6 (2): 93– 108. doi :10.1016/S1361-8415(02)00053-1. PMID 12044998. ^ abc T. Lindeberg & J. Garding (1997). 「局所的な2次元構造のアフィン歪みから3次元奥行き手がかりを推定するための形状適応型スムージング」 Image and Vision Computing . 15 (6): 415– 434. doi :10.1016/S0262-8856(97)01144-X. ^ ab J. GardingとT. Lindeberg (1996). 「スケール適応型空間微分演算子を用いた形状手がかりの直接計算」 、International Journal of Computer Vision、第17巻、第2号、163~191ページ。 ^ W. Förstner (1986). 「画像処理のための特徴ベース対応アルゴリズム」. 国際写真測量・リモートセンシングアーカイブ . 26 : 150–166 . ^ C. Harris & M. Stephens (1988). 「コーナーとエッジの複合検出器」. 第4回ALVEY Vision Conference Proc. pp. 147– 151. ^ K. Rohr (1997). 「点ランドマーク検出のための3次元微分演算子について」. 画像とビジョンコンピューティング . 15 (3): 219– 233. doi :10.1016/S0262-8856(96)01127-4. ^ I. Laptev & T. Lindeberg (2003). 「空間–時間関心点」. 国際コンピュータビジョン会議 ICCV'03 . 第1巻. pp. 432– 439. doi :10.1109/ICCV.2003.1238378. ^ B. Triggs (2004). 「照明変化下における安定した位置、方向、スケールを持つキーポイントの検出」. ヨーロッパコンピュータビジョン会議論文集 . 第4巻. pp. 100– 113. ^ C. Kenney, M. Zuliani & B. Manjunath (2005). 「コーナー検出への公理的アプローチ」. Proc. IEEE Computer Vision and Pattern Recognition . pp. 191– 197. ^
A. AlmansaとT. Lindeberg (2000)、 「形状適応型スケール空間演算子を用いた指紋画像の強調 」IEEE Transactions on Image Processing、第9巻、第12号、2027~2042ページ。 ^ J. Weickert (1998)、画像処理における異方性拡散、Teuber Verlag、シュトゥットガルト。 ^ D. Tschumperle & R. Deriche (2002年9月). 「ベクトル値画像上の拡散偏微分方程式」. IEEE Signal Processing Magazine . 19 (5): 16– 25. Bibcode :2002ISPM...19...16T. doi :10.1109/MSP.2002.1028349. ^ S. Arseneau & J. Cooperstock (2006年9月). 「接合解析のための非対称拡散フレームワーク」. 英国マシンビジョンカンファレンス . 第2巻. pp. 689– 698. ^ S. Arseneau & J. Cooperstock (2006年11月). 「非対称テンソル拡散による接合部の表現の改善」. 国際ビジュアルコンピューティングシンポジウム . ^ Yang, Shuai; Chen, Anqing; Chen, Hongde (2017-05-25). 「構造テンソルに基づく非局所的平均アルゴリズムを用いた地震データフィルタリング」 Open Geosciences . 9 (1): 151– 160. Bibcode :2017OGeo....9...13Y. doi : 10.1515/geo-2017-0013 . ISSN 2391-5447. S2CID 134392619. ^ ab T. Lindeberg; A. Akbarzadeh & I. Laptev (2004年8月). 「ガリレオ補正された時空間関心演算子」. 国際パターン認識会議 ICPR'04 . 第1巻. pp. 57– 62. doi :10.1109/ICPR.2004.1334004. ^ I. Laptev & T. Lindeberg (2004年8月). 空間時間関心点の速度適応. 国際パターン認識会議 ICPR'04. 第1巻. pp. 52– 56. doi :10.1109/ICPR.2004.971. ^ I. Laptev & T. Lindeberg (2004年5月). 時空間認識のための局所記述子 . ECCV'04 Workshop on Spatial Coherence for Visual Motion Analysis (プラハ, チェコ共和国). Springer Lecture Notes in Computer Science. Vol. 3667. pp. 91– 103. doi :10.1007/11676959. ^ I. Laptev; B. Caputo; C. Schuldt & T. Lindeberg (2007). 「時空間認識のための局所速度適応型モーションイベント」. Computer Vision and Image Understanding . 第108巻. pp. 207– 229. doi :10.1016/j.cviu.2006.11.023.
リソース MATLABソースをダウンロード 構造テンソルチュートリアル(オリジナル)