Algorithm to detect local features in images
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
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
Maximize the weight
Maximize the weight
w
{\displaystyle w}
= 1/variance of a point
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 )}}}
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}}}
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}}}
Reduce the search space
Reduce the 5-dimensional search space by
linking the differentiation scale
τ
{\displaystyle \tau }
to the integration scale
τ
=
σ
/
3
{\displaystyle \tau =\sigma /3}
solving for the optimal
α
^
{\displaystyle {\hat {\alpha }}}
using the model
Ω
(
α
)
=
a
−
b
cos
(
2
α
−
2
α
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 }}}
α
=
0
∘
→
junctions
,
α
=
90
∘
→
circular features
{\displaystyle \alpha =0^{\circ }\,\rightarrow \,{\mbox{junctions}},\quad \alpha =90^{\circ }\,\rightarrow \,{\mbox{circular features}}}
Filter potential keypoints
non-maxima suppression over scale, space and angle
thresholding the isotropy
λ
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 }}
derived from noise variance
V
(
n
)
{\displaystyle V(n)}
and significance level
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}}
Algorithm
Algorithm
Results
Interpretability of SFOP keypoints
See also
References
^ 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 .
^ 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.
^ Förstner, Wolfgang (1994). "A Framework for Low Level Feature Extraktion". European Conference on Computer Vision . Vol. 3. Stockholm, Sweden. pp. 383– 394.
External links