迭代最小化方法
迭代最小化技术一般由五步组成:
- 代价函数 代价函数是最小化的基础。
- 参数化 把要计算的变换(或其他实体)表示成有限数目的参数。
- 函数确定 必须确定一个用参数集描述的代价函数。
- 初始化 计算一个适当的初始参数估计。一般将由一个线性算法(例如 DLT 算法)来实现。
- 迭代 由初始解开始,在选代中逐步修正参数以达到最小化代价函数的目的。
关于参数化
指导参数化的一般策略是选择能覆盖最小化的整个空间并能用一种方便的方式来计算代价函数。对于齐次目标通常设有必要或不鼓励追求消除尺度因子的多义性而采用最小参数化。选择参数化的另一个考虑是限制变换为一个具体的类型。
函数确定
- 有一个协方差矩阵为 ∑ \sum ∑的测量矢量 X ϵ I R N X\epsilon IR^N XϵIRN
- 一组参数被表达成一个矢量 P ϵ I R M P\epsilon IR^M PϵIRM
- 定义一个映射 f : I R M → I R N f:IR^M\rightarrow IR^N f:IRM→IRN,其值域(至少局部地)是$ IR^N$中表示容许测量集的模曲面S。
- 最小化的代价函数是 Mahalanobis 距离的平方:
∥ X − f ( P ) ∥ ∑ 2 = ( X − f ( P ) ) T ∑ − 1 ( X − f ( P ) ) \left \| X -f(P)\right \|_{\sum}^{2}=(X-f(P))^T{\sum }^{-1}(X-f(P)) ∥X−f(P)∥∑2=(X−f(P))T∑−1(X−f(P))
单图像误差
最小化代价函数: ∑ i d ( x i ′ , H x ~ i ) 2 \sum_{i}d(x'_i,H\tilde{x}_i)^2 i∑d(xi′,Hx~i)2
函数 f 定义为 f : h ↦ ( H x 1 , H x 2 , . . . , H x n ) f:h \mapsto (Hx_1,Hx_2,...,Hx_n ) f:h↦(Hx1,Hx2,...,Hxn)
对称传递误差
对称化代价函数:
∑
i
d
(
x
i
,
H
−
1
x
i
′
)
2
+
d
(
x
i
′
,
H
x
i
)
2
\sum_{i}d(x_i,H^{-1}x'_i)^2+d(x'_i,Hx_i)^2
i∑d(xi,H−1xi′)2+d(xi′,Hxi)2
函数 f 定义为
f
:
h
↦
(
H
−
1
x
1
′
,
H
−
1
x
2
′
,
.
.
.
,
H
−
1
x
n
′
,
H
x
1
,
H
x
2
,
.
.
.
,
H
x
n
)
f:h \mapsto (H^{-1}x'_1,H^{-1}x'_2,...,H^{-1}x'_n,Hx_1,Hx_2,...,Hx_n )
f:h↦(H−1x1′,H−1x2′,...,H−1xn′,Hx1,Hx2,...,Hxn)
重投影误差
可以用点
x
^
i
\hat{x}_i
x^i,坐标和
H
^
i
\hat{H}_i
H^i矩阵的元素一一总共
2
n
+
9
2n+9
2n+9个参数来参数化。
参数矢量:
P
=
(
h
,
x
^
1
,
x
^
2
,
.
.
.
,
x
^
n
)
P=(h,\hat{x}_1,\hat{x}_2,...,\hat{x}_n)
P=(h,x^1,x^2,...,x^n)
函数 f 定义为
f
:
P
↦
(
x
^
1
,
x
^
’
1
,
.
.
.
,
x
^
n
,
x
^
n
′
)
f:P \mapsto (\hat{x}_1,\hat{x}’_1,...,\hat{x}_n,\hat{x}'_n)
f:P↦(x^1,x^’1,...,x^n,x^n′)
Sampson 近似
重投影误差的Sampson近似使投影误差也能仅对 9 个参数最小化。
初始化
可以用线性技术或最小配置解来求参数化的初始估计。还采用的另一种方法是在参数空间进行足够密的采样,从每一个采样初始点开始迭代并保留最好结果。这种方法仅在参数空间的维数足够小时才可采用。
迭代方法
其中最常用的有 Newton 迭代和Levenberg - Marquardt方法。