Jump to content
Wikipedia The Free Encyclopedia

Scale-invariant feature operator

From Wikipedia, the free encyclopedia
Algorithm to detect local features in images
This article is an orphan, as no other articles introduce links to this page from related articles ; try the Find link tool for suggestions. (January 2019)
Feature detection
Edge detection
Corner detection
Blob detection
Ridge detection
Hough transform
Structure tensor
Affine invariant feature detection
Feature description
Scale space

In the fields of computer vision and image analysis, the scale-invariant feature operator (or SFOP) is an algorithm to detect local features in images. The algorithm was published by Förstner et al. in 2009.[1]

Algorithm

[edit ]

The scale-invariant feature operator (SFOP) is based on two theoretical concepts:

  • spiral model[2]
  • feature operator[3]

Desired properties of keypoint detectors:

  • Invariance and repeatability for object recognition
  • Accuracy to support camera calibration
  • Interpretability: Especially corners and circles, should be part of the detected keypoints (see figure).
  • As few control parameters as possible with clear semantics
  • Complementarity to known detectors

scale-invariant corner/circle detector.

Theory

[edit ]

Maximize the weight

[edit ]

Maximize the weight w {\displaystyle w} {\displaystyle w}= 1/variance of a point p {\displaystyle p} {\displaystyle p}


 
 
 
 w
 (
 
 p
 
 ,
 α
 ,
 τ
 ,
 σ
 )
 =
 
 (
 
 N
 (
 σ
 )
 
 2
 
 )
 
 
 
 
 
 λ
 
 m
 i
 n
 
 
 (
 M
 (
 
 p
 
 ,
 α
 ,
 τ
 ,
 σ
 )
 )
 
 
 Ω
 (
 
 p
 
 ,
 α
 ,
 τ
 ,
 σ
 )
 
 
 
 
 
 {\displaystyle w(\mathbf {p} ,\alpha ,\tau ,\sigma )=\left(N(\sigma )-2\right){\frac {\lambda _{min}(M(\mathbf {p} ,\alpha ,\tau ,\sigma ))}{\Omega (\mathbf {p} ,\alpha ,\tau ,\sigma )}}}
 
{\displaystyle w(\mathbf {p} ,\alpha ,\tau ,\sigma )=\left(N(\sigma )-2\right){\frac {\lambda _{min}(M(\mathbf {p} ,\alpha ,\tau ,\sigma ))}{\Omega (\mathbf {p} ,\alpha ,\tau ,\sigma )}}} 

comprising:

1. the image model[2]

  • Distance d of an edge from a reference point p in a spiral feature

Ω ( p , α , τ , σ ) = n = 1 N ( σ ) [ ( q n p ) T R α T g ( q n ) ] 2 G σ ( q n p ) = N ( σ ) t r { R α τ τ T R α T p p T G σ ( p ) } {\displaystyle {\begin{aligned}\Omega (\mathbf {p} ,\alpha ,\tau ,\sigma )&=\sum _{n=1}^{N(\sigma )}[(\mathbf {q} _{n}-\mathbf {p} )^{T}\mathbf {R} _{\alpha }\mathbf {\nabla } _{T}g(\mathbf {q} _{n})]^{2}G_{\sigma }(\mathbf {q} _{n}-\mathbf {p} )\\&=N(\sigma )\mathbf {tr} \left\{R_{\alpha }\mathbf {\nabla } _{\tau }\mathbf {\nabla } _{\tau }^{T}R_{\alpha }^{T}*\mathbf {p} \mathbf {p} ^{T}G_{\sigma }(\mathbf {p} )\right\}\end{aligned}}} {\displaystyle {\begin{aligned}\Omega (\mathbf {p} ,\alpha ,\tau ,\sigma )&=\sum _{n=1}^{N(\sigma )}[(\mathbf {q} _{n}-\mathbf {p} )^{T}\mathbf {R} _{\alpha }\mathbf {\nabla } _{T}g(\mathbf {q} _{n})]^{2}G_{\sigma }(\mathbf {q} _{n}-\mathbf {p} )\\&=N(\sigma )\mathbf {tr} \left\{R_{\alpha }\mathbf {\nabla } _{\tau }\mathbf {\nabla } _{\tau }^{T}R_{\alpha }^{T}*\mathbf {p} \mathbf {p} ^{T}G_{\sigma }(\mathbf {p} )\right\}\end{aligned}}}

2. the smaller eigenvalue of the structure tensor M ( p , α , τ , σ ) structure tensor = G σ ( p ) weighted summation ( R σ τ τ T R σ T ) squared rotated gradients {\displaystyle \underbrace {M(\mathbf {p} ,\alpha ,\tau ,\sigma )} _{\text{structure tensor}}=\underbrace {G_{\sigma }(\mathbf {p} )} _{\text{weighted summation}}*\underbrace {(R_{\sigma }\nabla _{\tau }\nabla _{\tau }^{T}R_{\sigma }^{T})} _{\text{squared rotated gradients}}} {\displaystyle \underbrace {M(\mathbf {p} ,\alpha ,\tau ,\sigma )} _{\text{structure tensor}}=\underbrace {G_{\sigma }(\mathbf {p} )} _{\text{weighted summation}}*\underbrace {(R_{\sigma }\nabla _{\tau }\nabla _{\tau }^{T}R_{\sigma }^{T})} _{\text{squared rotated gradients}}}

Reduce the search space

[edit ]

Reduce the 5-dimensional search space by

  • linking the differentiation scale τ {\displaystyle \tau } {\displaystyle \tau } to the integration scale
τ = σ / 3 {\displaystyle \tau =\sigma /3} {\displaystyle \tau =\sigma /3}
  • solving for the optimal α ^ {\displaystyle {\hat {\alpha }}} {\displaystyle {\hat {\alpha }}} using the model
Ω ( α ) = a b cos ( 2 α 2 α 0 ) {\displaystyle \Omega (\alpha )=a-b\cos(2\alpha -2\alpha _{0})} {\displaystyle \Omega (\alpha )=a-b\cos(2\alpha -2\alpha _{0})}
  • and determining the parameters from three angles, e. g.
Ω ( 0 ) , Ω ( 60 ) , Ω ( 120 ) a , b , α 0 α ^ {\displaystyle \Omega (0^{\circ }),\Omega (60^{\circ }),\Omega (120^{\circ })\quad \rightarrow \quad a,b,\alpha _{0}\quad \rightarrow \quad {\hat {\alpha }}} {\displaystyle \Omega (0^{\circ }),\Omega (60^{\circ }),\Omega (120^{\circ })\quad \rightarrow \quad a,b,\alpha _{0}\quad \rightarrow \quad {\hat {\alpha }}}
  • pre-selection possible:
α = 0 junctions , α = 90 circular features {\displaystyle \alpha =0^{\circ },円\rightarrow ,円{\mbox{junctions}},\quad \alpha =90^{\circ },円\rightarrow ,円{\mbox{circular features}}} {\displaystyle \alpha =0^{\circ },円\rightarrow ,円{\mbox{junctions}},\quad \alpha =90^{\circ },円\rightarrow ,円{\mbox{circular features}}}

Filter potential keypoints

[edit ]
  • non-maxima suppression over scale, space and angle
  • thresholding the isotropy λ 2 ( M ) {\displaystyle \lambda _{2(M)}} {\displaystyle \lambda _{2(M)}}:
    eigenvalues characterize the shape of the keypoint, smallest eigenvalue has to be larger than threshold T λ {\displaystyle T_{\lambda }} {\displaystyle T_{\lambda }}
    derived from noise variance V ( n ) {\displaystyle V(n)} {\displaystyle V(n)} and significance level S {\displaystyle S} {\displaystyle S}:
T λ ( V ( n ) , τ , σ , S ) = N ( σ ) 16 π τ 4 V ( n ) χ 2 , S 2 {\displaystyle T_{\lambda }(V(n),\tau ,\sigma ,S)={\frac {N(\sigma )}{16\pi \tau ^{4}}}V(n)\chi _{2,S}^{2}} {\displaystyle T_{\lambda }(V(n),\tau ,\sigma ,S)={\frac {N(\sigma )}{16\pi \tau ^{4}}}V(n)\chi _{2,S}^{2}}

Algorithm

[edit ]
Algorithm
Algorithm

Results

[edit ]

Interpretability of SFOP keypoints

[edit ]

See also

[edit ]

References

[edit ]
  1. ^ Forstner, Wolfgang; Dickscheid, Timo; Schindler, Falko (2009). "Detecting interpretable and accurate scale-invariant keypoints". 2009 IEEE 12th International Conference on Computer Vision. pp. 2256–2263. CiteSeerX 10.1.1.667.2530 . doi:10.1109/ICCV.2009.5459458. ISBN 978-1-4244-4420-5.
  2. ^ a b Bigün, J. (1990). "A Structure Feature for Some Image Processing Applications Based on Spiral Functions". Computer Vision, Graphics, and Image Processing. 51 (2): 166–194.
  3. ^ Förstner, Wolfgang (1994). "A Framework for Low Level Feature Extraktion". European Conference on Computer Vision. Vol. 3. Stockholm, Sweden. pp. 383–394.
[edit ]

AltStyle によって変換されたページ (->オリジナル) /