估计—2D射影变换
直接线性变换算法DLT
首先讨论已知4组2D到2D的对应点 x i ⟺ x i ′ \pmb x_i \iff \pmb x_i^\prime xi⟺xi′,确定 H H H的一种简单线性算法。
变换方程由 x i ′ = H x x_i^\prime = Hx xi′=Hx给出,由于等号两边相差一个比例系数,改为 x i ′ × H x i = 0 \pmb x_i^\prime \times H\pmb x_i = 0 xi′×Hxi=0
记
H
H
H的
j
j
j行为
h
j
T
\pmb h^{jT}
hjT
H
x
i
=
[
h
1
T
x
i
h
2
T
x
i
h
3
T
x
i
]
H\pmb x_i = \begin{bmatrix} \pmb h^{1T}\pmb x_i \\\pmb h^{2T}\pmb x_i \\\pmb h^{3T}\pmb x_i \end{bmatrix}
Hxi=
h1Txih2Txih3Txi
记
x
i
′
=
(
x
i
′
,
y
i
′
,
w
i
′
)
\pmb x_i^\prime = (x_i^\prime,y_i^\prime,w_i^\prime)
xi′=(xi′,yi′,wi′),则叉积可表示为
x
i
′
×
H
x
i
=
[
y
i
′
h
3
T
x
i
−
w
i
′
h
2
T
x
i
w
i
′
h
1
T
x
i
−
x
i
′
h
3
T
x
i
x
i
′
h
2
T
x
i
−
y
i
′
h
1
T
x
i
]
\pmb x_i^\prime \times H\pmb x_i = \begin{bmatrix} y_i^\prime \pmb h^{3T} \pmb x_i - w_i^\prime \pmb h^{2T} \pmb x_i \\ w_i^\prime \pmb h^{1T} \pmb x_i - x_i^\prime \pmb h^{3T} \pmb x_i \\ x_i^\prime \pmb h^{2T} \pmb x_i - y_i^\prime \pmb h^{1T} \pmb x_i \\ \end{bmatrix}
xi′×Hxi=
yi′h3Txi−wi′h2Txiwi′h1Txi−xi′h3Txixi′h2Txi−yi′h1Txi
因为
h
j
T
x
i
=
x
i
T
h
j
\pmb h^{jT} \pmb x_i = \pmb x_i^T \pmb h^j
hjTxi=xiThj,有
[
0
T
−
w
i
′
x
i
T
y
i
′
x
i
T
−
w
i
′
x
i
T
0
T
−
x
i
′
x
i
T
−
y
i
′
x
i
T
x
i
′
x
i
T
0
T
]
[
h
1
h
2
h
3
]
=
A
i
h
=
0
\begin{bmatrix} \pmb 0^T & -w_i^\prime \pmb x_i^T & y_i^\prime \pmb x_i^T \\ -w_i^\prime \pmb x_i^T & \pmb 0^T & -x_i^\prime \pmb x_i^T \\ -y_i^\prime \pmb x_i^T & x_i^\prime \pmb x_i^T & \pmb 0^T \end{bmatrix} \begin{bmatrix} \pmb h^1 \\ \pmb h^2 \\ \pmb h^3 \end{bmatrix} = \pmb A_i\pmb h = \pmb 0
0T−wi′xiT−yi′xiT−wi′xiT0Txi′xiTyi′xiT−xi′xiT0T
h1h2h3
=Aih=0
在
(
39
)
(39)
(39)中,由于方程只有两个是线性独立的,因此可以只使用前两个公式
[
0
T
−
w
i
′
x
i
T
y
i
′
x
i
T
−
w
i
′
x
i
T
0
T
−
x
i
′
x
i
T
]
[
h
1
h
2
h
3
]
=
A
i
h
=
0
\begin{bmatrix} \pmb 0^T & -w_i^\prime \pmb x_i^T & y_i^\prime \pmb x_i^T \\ -w_i^\prime \pmb x_i^T & \pmb 0^T & -x_i^\prime \pmb x_i^T \end{bmatrix} \begin{bmatrix} \pmb h^1 \\ \pmb h^2 \\ \pmb h^3 \end{bmatrix} = \pmb A_i\pmb h = \pmb 0
[0T−wi′xiT−wi′xiT0Tyi′xiT−xi′xiT]
h1h2h3
=Aih=0
超定解
当数据存在误差且数据较多时,在通常约束 ∥ h ∥ = 1 \parallel \pmb h \parallel = 1 ∥h∥=1下最小化范数 ∥ A h ∥ = 1 \parallel Ah \parallel = 1 ∥Ah∥=1,即求解 ∥ A h ∥ / ∥ h ∥ \parallel Ah \parallel / \parallel h \parallel ∥Ah∥/∥h∥的最小值,也就是求 A A A最小奇异值的单位奇异向量。
至此给出 D L T DLT DLT算法,给定 n ≥ 4 n \geq 4 n≥4组 2 D − 2 D 2D-2D 2D−2D点对应 { x i ⟺ x i ′ } \{\pmb x_i \iff \pmb x_i^\prime\} {xi⟺xi′},确定 2 D 2D 2D单应矩阵使得 x i ′ = H x i \pmb x_i^\prime = \pmb H \pmb x_i xi′=Hxi
- 根据每组对应计算矩阵 A i A_i Ai,只使用前两行
- 把 n n n个 2 × 9 2\times 9 2×9的矩阵 A i A_i Ai合成一个 2 n × 9 2n \times 9 2n×9的矩阵 A A A
- 求 A A A的 S V D SVD SVD。对应于最小特征值的单位特征向量就是解 h \pmb h h
- H H H由 h h h确定
非齐次解
除去把
h
\pmb h
h直接作为齐次向量来解,还有一种办法是转换成非齐次线性方程组,即对向量
h
h
h中的某个元素硬性加上
h
j
=
1
h_j=1
hj=1的条件。如
h
9
=
1
h_9=1
h9=1,则有
A
i
h
1
−
8
=
[
−
w
i
y
i
′
w
i
x
i
′
]
A_ih_{1-8} = \begin{bmatrix} -w_iy_i^\prime \\ w_ix_i^\prime \end{bmatrix}
Aih1−8=[−wiyi′wixi′]
但是如果真正的解是
h
j
=
0
h_j=0
hj=0,则会出现数值计算法上的不稳定解。
退化配置
出现某种配置不能确定唯一解的情形称为退化
不同的代价函数
介绍为确定 H H H的超定解而最小化的若干代价函数
代数距离
DLT算法最小化范数
∥
A
h
∥
\parallel A\pmb h \parallel
∥Ah∥,向量
ε
=
A
h
\varepsilon = A\pmb h
ε=Ah称为残差向量。每组对应
x
i
⟺
x
i
′
\pmb x_i \iff \pmb x_i^\prime
xi⟺xi′贡献部分误差向量
ε
i
\varepsilon_i
εi并积累成总误差向量
ε
\varepsilon
ε。该向量的范数是一个标量,称为代数距离
d
a
l
g
(
x
i
′
,
H
x
i
)
2
=
∥
ε
i
∥
2
d_{alg}(\pmb x_i^\prime,H \pmb x_i)^2 = \parallel \varepsilon_i \parallel^2
dalg(xi′,Hxi)2=∥εi∥2
其中
d
a
l
g
(
x
1
,
x
2
)
2
=
a
1
2
+
a
2
2
,
a
=
(
x
1
×
x
2
)
d_{alg}(\pmb x_1,\pmb x_2)^2 = a_1^2+a_2^2,\pmb a = (\pmb x_1 \times \pmb x_2)
dalg(x1,x2)2=a12+a22,a=(x1×x2)
几何距离
几何距离是基于图像上几何距离的测量并最小化图像坐标的测量值和估计值之差。用 x \pmb x x表示测量得到的图像坐标; x ^ \hat {\pmb x} x^表示点的估计值, x ‾ \overline {\pmb x} x表示点的真值
-
单幅图像误差
首先考虑第一幅图像的测量值是非常准确的,误差仅仅出现在第二幅图像。 d ( x , y ) d(x,y) d(x,y)表示点 x , y x,y x,y的欧氏距离
∑ i d ( x i ′ , H x ‾ i ) 2 \sum_i d(\pmb x_i^\prime,H \overline{\pmb x}_i)^2 i∑d(xi′,Hxi)2 -
对称转移误差
误差在两幅图像中同时发生
∑ i d ( x i , H − 1 x i ′ ) 2 + d ( x i ′ , H x i ) 2 \sum_i d(\pmb x_i,H^{-1}\pmb x_i^\prime)^2 + d(\pmb x_i^\prime,H\pmb x_i)^2 i∑d(xi,H−1xi′)2+d(xi′,Hxi)2
重投影误差
寻找一个单应
H
^
\hat H
H^和完全匹配的点
x
^
i
\hat{x}_i
x^i和
x
^
i
′
\hat{x}_i^\prime
x^i′以最小化总的误差函数
∑
i
d
(
x
i
,
x
^
i
)
2
+
d
(
x
i
′
,
x
i
^
′
)
2
,
s
.
t
.
x
^
i
′
=
H
^
x
^
i
,
∀
i
\sum_{i}d(x_i,\hat{x}_i)^2 + d(x_i^\prime,\hat{x_i}^\prime)^2 ,s.t. \hat{x}_i^\prime = \hat{H} \hat x_i,\forall i
i∑d(xi,x^i)2+d(xi′,xi^′)2,s.t.x^i′=H^x^i,∀i
几何和代数距离比较
假设误差仅出现在第二幅图像,令
x
i
′
=
(
x
i
′
,
y
i
′
,
w
i
′
)
T
\pmb x_i^\prime = (x_i^\prime,y_i^\prime,w_i^\prime)^T
xi′=(xi′,yi′,wi′)T并定义向量
(
x
^
i
′
,
y
^
i
′
,
w
^
i
′
)
T
=
x
^
i
′
=
H
x
‾
(\hat{x}_i^\prime,\hat{y}_i^\prime,\hat{w}_i^\prime)^T = \pmb {\hat{x}}_i^\prime = H \overline{\pmb x}
(x^i′,y^i′,w^i′)T=x^i′=Hx,
x
′
×
H
x
=
x
′
×
H
x
‾
=
x
′
×
x
^
′
\pmb x^\prime \times H \pmb x = \pmb x^\prime \times H \overline {\pmb x} = \pmb x^\prime \times \hat{\pmb x}^\prime
x′×Hx=x′×Hx=x′×x^′,变为
A
i
h
=
ε
i
=
[
y
i
′
w
^
i
′
−
w
i
′
y
^
i
′
w
i
′
x
^
i
′
−
x
i
′
w
^
i
′
]
A_i h =\varepsilon_i = \begin{bmatrix} y_i^\prime\hat{w}^\prime_i - w_i^\prime \hat{y}_i^\prime \\ w_i^\prime\hat{x}^\prime_i - x_i^\prime \hat{w}_i^\prime \end{bmatrix}
Aih=εi=[yi′w^i′−wi′y^i′wi′x^i′−xi′w^i′]
得到
d
(
x
i
′
,
x
^
i
′
)
=
d
a
l
g
(
x
i
′
,
x
^
i
)
/
w
^
i
′
w
i
′
d(\pmb x_i^\prime,\hat{\pmb x}_i^\prime) =d_{alg}(x_i^\prime,\hat x_i)/\hat{w}_i^\prime w_i^\prime
d(xi′,x^i′)=dalg(xi′,x^i)/w^i′wi′
仿射变换下,几何距离和代数距离相等。DLT算法很容易做到强制
H
H
H的最后一行为
(
0
,
0
,
1
)
(0,0,1)
(0,0,1),因此对于仿射变换,最小化几何距离可以用基于代数距离的线性DLT算法。
重投影误差的几何解释
两平面之间的单应估计被视为
4
D
4D
4D空间
I
R
4
IR^4
IR4中用曲面来拟合点,
x
′
×
H
x
=
0
x^\prime \times Hx = 0
x′×Hx=0定义了一个代数族
V
H
\mathcal V_H
VH,它是两个二次超平面的交集。
X
=
(
x
,
y
,
x
′
,
y
′
)
T
X=(x,y,x^\prime,y^\prime)^T
X=(x,y,x′,y′)T,寻找最合适的
V
H
\mathcal V_H
VH,使得点到平面的距离最小,
X
^
\hat X
X^是曲面上最接近
X
X
X的点
∥
X
i
−
X
^
i
∥
2
=
d
⊥
(
X
i
,
V
H
)
=
d
(
x
i
,
x
i
^
)
2
+
d
(
x
i
′
,
x
i
^
′
)
2
\parallel \pmb X_i-\hat{\pmb X}_i \parallel _2 =d_\perp(\pmb X_i,\mathcal V_H)= d(\pmb x_i,\hat{\pmb x_i})^2+d(\pmb x_i^\prime,\hat{\pmb x_i}^\prime)^2
∥Xi−X^i∥2=d⊥(Xi,VH)=d(xi,xi^)2+d(xi′,xi^′)2
为了可视化理解,考虑在二次曲线拟合平面上的
n
>
5
n>5
n>5个点,使得基于几何距离的误差最小
Sampson误差
思想是估计点
X
^
\hat X
X^的一阶近似,对于给定的单应
H
H
H,任何在
V
H
\mathcal V_H
VH上的点
X
=
(
x
,
y
,
x
′
,
y
′
)
T
X=(x,y,x^\prime,y^\prime)^T
X=(x,y,x′,y′)T满足
A
h
=
0
Ah=0
Ah=0,记为
C
H
(
X
)
=
0
C_H(X) = 0
CH(X)=0。代价函数可以表示为
C
H
(
X
+
δ
X
)
=
C
H
(
X
)
+
∂
C
H
∂
X
δ
X
C_H(X+\delta_X) = C_H(X) + \frac{\partial C_H}{\partial X} \delta_X
CH(X+δX)=CH(X)+∂X∂CHδX
记 δ X = X ^ − X \delta_X = \hat X - X δX=X^−X并希望 X ^ \hat X X^在族 V H \mathcal V_H VH上,使得 C H ( X ^ ) = 0 C_H(\hat X) = 0 CH(X^)=0,便得到 C H ( X ) + ( ∂ C H / ∂ X ) δ X = 0 C_H(X) + (\partial C_H / \partial X) \delta_X=0 CH(X)+(∂CH/∂X)δX=0。记 J δ X = − ε J \delta_X = -\varepsilon JδX=−ε,其中 J J J是偏导, ε \varepsilon ε是与 X X X相关的代价函数 C H ( X ) C_H(X) CH(X)。问题就变成了求解满足此方程的最小 δ X \delta_X δX。即
求在满足 J δ X = − ε J\delta_X = -\varepsilon JδX=−ε条件下使 ∥ δ X ∥ \parallel \delta_X \parallel ∥δX∥取最小值的向量 δ X \delta_X δX
求解方法是使用拉格朗日乘子,问题就变成了最小化 δ X T δ X − 2 λ ( J δ X + ε ) \delta_X^T \delta_X - 2\lambda (J\delta_X + \varepsilon) δXTδX−2λ(JδX+ε)
对
δ
X
\delta_X
δX求导并使其等于0,得到
2
δ
X
T
−
2
λ
T
J
=
0
T
2\delta_X^T - 2\lambda^T J = 0^T
2δXT−2λTJ=0T
对
λ
\lambda
λ求导则给出
J
δ
X
+
ε
=
0
J \delta_X + \varepsilon = 0
JδX+ε=0
消去
δ
X
\delta_X
δX,得到
J
J
T
λ
=
−
ε
JJ^T \lambda = -\varepsilon
JJTλ=−ε
对
λ
\lambda
λ求解得
λ
=
−
(
J
J
T
)
−
1
ε
\lambda = -(JJ^T)^{-1}\varepsilon
λ=−(JJT)−1ε,最后得到
δ
X
=
−
J
T
(
J
J
T
)
−
1
ε
\delta_X = -J^T(JJ^T)^{-1}\varepsilon
δX=−JT(JJT)−1ε
范数
∥
δ
X
∥
2
\parallel \delta_X \parallel^2
∥δX∥2是Sampson误差
通用几何解释框架
在通用框架中,估计问题包括两部分
- 一个由测量向量 X X X组成的测量空间 I R N IR^N IRN
- 一个模型,该模型视为 I R N IR^N IRN中点的一个子集 S S S,在此子集内的一个测量向量 X X X称为满足此模型。通常,满足此模型的子空间是一个子流形或 I R N IR^N IRN中的代数族
给定 I R N IR^N IRN中的一个测量向量 X X X,估计问题就是求一个离 X X X最近并满足该模型的向量 X ^ \hat X X^
统计代价函数和最大似然估计
真值是
x
‾
\overline x
x,设每个测量点
x
x
x的概率密度函数是
Pr
(
x
)
=
(
1
2
π
σ
2
)
e
−
d
(
x
,
x
‾
)
/
(
2
σ
2
)
\Pr (x) = (\frac1{2\pi \sigma^2}) e^{-d}(x,\overline x)/(2\sigma^2)
Pr(x)=(2πσ21)e−d(x,x)/(2σ2)
单图像误差
因为假设每点的误差是独立分布的,受噪声干扰的数据的
P
D
F
PDF
PDF是:
Pr
(
{
x
i
′
}
∣
H
)
=
∏
i
(
1
2
π
σ
2
)
e
−
d
(
x
i
′
,
H
i
x
‾
i
)
2
/
(
2
σ
2
)
\operatorname{Pr}\left(\left\{\mathbf{x}_i^{\prime}\right\} \mid \mathrm{H}\right)=\prod_i\left(\frac{1}{2 \pi \sigma^2}\right) e^{-d\left(\mathbf{x}_i^{\prime}, \mathrm{H}_i \overline x_i\right)^2 /\left(2 \sigma^2\right)}
Pr({xi′}∣H)=i∏(2πσ21)e−d(xi′,Hixi)2/(2σ2)
Pr
(
{
x
i
′
}
∣
H
)
\operatorname{Pr}\left(\left\{\mathbf{x}_i^{\prime}\right\} \mid \mathrm{H}\right)
Pr({xi′}∣H)表示获得真实
H
H
H的情况下
{
x
i
′
}
\{x_i^\prime\}
{xi′}的概率,上述公式的对数似然为
log
Pr
(
{
x
i
′
}
∣
H
)
=
−
1
2
σ
2
∑
i
d
(
x
i
′
,
H
x
‾
i
)
2
+
constant
\log \operatorname{Pr}\left(\left\{\mathbf{x}_i^{\prime}\right\} \mid \mathrm{H}\right)=-\frac{1}{2 \sigma^2} \sum_i d\left(\mathbf{x}_i^{\prime}, \mathrm{H} \overline{\mathbf{x}}_i\right)^2+\text { constant }
logPr({xi′}∣H)=−2σ21i∑d(xi′,Hxi)2+ constant
单应的最大似然估计
M
L
ML
ML估计
H
H
H就是最大化对数似然,即最小化
∑
i
d
(
x
i
′
,
H
x
‾
i
)
2
\sum_i d\left(\mathbf{x}_i^{\prime}, \mathrm{H} \overline{\mathbf{x}}_i\right)^2
i∑d(xi′,Hxi)2
M
L
ML
ML估计等价于最小化几何误差函数
双图像误差
同样已知
{
x
‾
i
↔
H
x
‾
i
=
x
‾
i
′
}
\left\{\overline{\mathbf{x}}_i \leftrightarrow \mathrm{H} \overline{\mathbf{x}}_i=\overline{\mathbf{x}}_i^{\prime}\right\}
{xi↔Hxi=xi′},数据的PDF是
Pr
(
{
x
i
,
x
i
′
}
∣
H
,
{
x
‾
i
}
)
=
∏
i
(
1
2
π
σ
2
)
e
−
(
d
(
x
i
,
x
‾
i
)
2
+
d
(
x
i
′
,
H
i
)
2
)
/
(
2
σ
2
)
\operatorname{Pr}\left(\left\{\mathbf{x}_i, \mathbf{x}_i^{\prime}\right\} \mid \mathrm{H},\left\{\overline{\mathbf{x}}_i\right\}\right)=\prod_i\left(\frac{1}{2 \pi \sigma^2}\right) e^{-\left(d\left(\mathbf{x}_i, \overline{\mathbf{x}}_i\right)^2+d\left(\mathbf{x}_i^{\prime}, \mathrm{H}_i\right)^2\right) /\left(2 \sigma^2\right)}
Pr({xi,xi′}∣H,{xi})=i∏(2πσ21)e−(d(xi,xi)2+d(xi′,Hi)2)/(2σ2)
类似的
M
L
ML
ML估计是
∑
i
d
(
x
i
,
x
‾
i
)
2
+
d
(
x
i
′
,
H
i
)
2
\sum_id\left(\mathbf{x}_i, \overline{\mathbf{x}}_i\right)^2+d\left(\mathbf{x}_i^{\prime}, \mathrm{H}_i\right)^2\
i∑d(xi,xi)2+d(xi′,Hi)2
Mahalanobis距离
在一般高斯分布的情况下,假定测量向量 X X X满足一个具有协方差矩阵 Σ \Sigma Σ地高斯分布函数。
最大化对数似然等价于最小化
M
a
h
a
l
a
n
o
b
i
s
Mahalanobis
Mahalanobis距离
∥
X
−
X
‾
∥
Σ
2
=
(
X
−
X
‾
)
T
Σ
−
1
(
X
−
X
‾
)
\parallel X-\overline X \parallel _\Sigma^2 = (X-\overline X)^T \Sigma ^{-1}(X-\overline X)
∥X−X∥Σ2=(X−X)TΣ−1(X−X)
当每幅图像都有误差并假定一幅图像的误差与另一幅图像的误差是独立的时候,代价函数是
∥
X
−
X
‾
∥
Σ
2
+
∥
X
′
−
X
‾
′
∥
Σ
′
2
\parallel X-\overline X \parallel _\Sigma^2 + \parallel X^\prime-\overline X^\prime \parallel _{\Sigma^\prime}^2
∥X−X∥Σ2+∥X′−X′∥Σ′2
最后,假定所有点的误差是独立的,则有
∑
∥
x
i
−
x
‾
i
∥
Σ
i
2
+
∥
x
i
′
−
x
‾
i
′
∥
Σ
i
′
2
\sum \parallel x_i-\overline x_i \parallel _{\Sigma_i}^2 + \parallel x_i^\prime-\overline x_i^\prime \parallel _{\Sigma^\prime_i}^2
∑∥xi−xi∥Σi2+∥xi′−xi′∥Σi′2
变换不变性和归一化
假设在算法运行之前,图像坐标由某个相似、仿射甚至射影进行了变换,其结果是否会有实质性改变。
假设一幅图像的坐标 x x x被 x ~ = T x \tilde x = Tx x~=Tx替代,另一幅图像的坐标 x ′ x^\prime x′被 x ~ ′ = T ′ x ′ \tilde x^\prime = T^\prime x^\prime x~′=T′x′替代,代入等式 x ′ = H x x^\prime = H x x′=Hx,得到 x ~ ′ = T ′ H T − 1 x ~ \tilde x^\prime = T^\prime H T^{-1} \tilde x x~′=T′HT−1x~,求出 H ~ = T ′ H T − 1 \tilde H = T^\prime H T^{-1} H~=T′HT−1。因此,求把 x i x_i xi映射到 x i ′ x_i^\prime xi′的变换的另一种方法是
- 根据公式 x ~ = T x , x ~ ′ = T ′ x ′ \tilde x = Tx,\tilde x^\prime = T^\prime x^\prime x~=Tx,x~′=T′x′分别对图像进行变换
- 找到 x ~ i ↔ x ~ i ′ \tilde x_i \leftrightarrow \tilde x_i^\prime x~i↔x~i′找到对应的 H ~ \tilde H H~
- 令 H = T ′ − 1 H ~ T H = T^{\prime -1} \tilde H T H=T′−1H~T
现在考虑选择不同的变换,是否会对算法的结果有影响。可以证明,
- 最小化几何误差的算法关于相似变换不变
- DLT算法不是相似变换不变的,补救方法是在进行DLT算法之前进行归一化变换。归一化变换将消除由任意选取图像坐标系的原点和尺度所产生的影响,这种组合变换对图像的相似变换不变
求2D单应的归一化的DLT
目标
给定 n ≥ 4 n \geq 4 n≥4组 2 D 2D 2D到 2 D 2D 2D的点对应 { x i ↔ x i ′ } \{x_i \leftrightarrow x_i^\prime\} {xi↔xi′},确定 2 D 2D 2D单应矩阵 H H H使得 x i ′ = H x i x_i^\prime = Hx_i xi′=Hxi
算法
- 归一化 x x x:计算一个只包含位移和缩放的相似变换 T T T,将点 x i x_i xi变到新的点集 x ~ i \tilde x_i x~i,使得 x ~ i \tilde x_i x~i的形心位于原点,并且它们到原点的平均距离是 2 \sqrt2 2
- 归一化 x ′ x^\prime x′
- D L T \rm DLT DLT:根据 x ~ i ↔ x ~ i ′ \tilde x_i \leftrightarrow \tilde x_i^\prime x~i↔x~i′,求得 H ~ \tilde H H~
- 解除归一化:令 H = T ′ − 1 H ~ T H = T^{\prime -1} \tilde H T H=T′−1H~T
迭代最小化方法
迭代最小化技术由五步组成:
- 代价函数:代价函数是最小化的基础
- 参数化:把要计算的变换表示成有限数目的参数。一般不要求它是最小参数集,事实上超参数化常有优越性(使用最小化参数会使代价函数曲面变得更复杂,程序在局部最小处停止不前的可能性更大)
- 函数确定:必须确定一个用参数集描述的代价函数
- 初始化:计算一个适当的初始参数估计。一般由一个线性算法来实现
- 迭代:由初始解开始,在迭代中逐步修正参数以达到最小化迭代函数的目的
鲁棒性估计
随机抽样一致算法 Random Sample Consensus,RANSAC \text{Random Sample Consensus,RANSAC} Random Sample Consensus,RANSAC能应对大比例的野值,思路是通过模型去拟合数据(这里是 H H H矩阵),随机样本包含足以确定模型的最小数据集(求单应是4组点)。算法流程如下:
目标
一个模型与含有野值的数据集 S S S的鲁棒拟合
算法
- 随机地从 S S S中选择 s s s个数据点组成的一个样本作为模型的一个示例
- 确定在模型距离阈值 t t t内的数据点集 S i S_i Si, S i S_i Si称为采样的一致集并定义 S S S的内点
- 如果 S i S_i Si的大小大于某个阈值 T T T,用 S i S_i Si的所有点重新估计模拟并结束
- 如果 S i S_i Si的大小小于 T T T,选择一个新的子集并重复上述流程
- 经过 N N N次试验选择最大一致集 S i S_i Si,并用 S i S_i Si的所有点重估计模型
采样次数的计算,
s
s
s是采样大小,
ε
\varepsilon
ε是野值的概率,
s
s
s个点组成的随机样本中至少有一次没有野值的概率为
p
p
p
N
=
log
(
1
−
p
)
/
log
(
1
−
(
1
−
ε
)
s
)
N = \log(1-p) / \log(1-(1-\varepsilon)^s)
N=log(1−p)/log(1−(1−ε)s)