5 Algorithm Evaluation and Error Analysis
本章主要讲述对算法的验证和误差分析。
概述了两种计算这种不确定性(协方差)的方法。第一个基于线性近似值,涉及串联各种雅各布表达式,第二个是更容易实施蒙特卡洛方法。
文章目录
5.1 Bounds on performance
一旦开发出一种算法来估计某种类型的转换,就该测试其性能了。 这可以通过对真实或合成数据进行测试来完成。 在本节中,将对合成数据进行测试。
我们先重申一些在前面章节使用到的符号约定:
- x x x之类的表示测量的图像点。
- 估计值由hat表示,例如 x ^ \hat{x} x^或 H ^ \hat{H} H^。
- 真实值由bar表示,例如 x ˉ \bar{x} xˉ或 H ˉ \bar{H} Hˉ。
5.1.1 Error in one image
首先再来明确一下 x ^ ′ \hat{x}' x^′的定义, x ↔ x ′ x \leftrightarrow x' x↔x′是一对有噪声的对应点,所以从 x ↔ x ′ x \leftrightarrow x' x↔x′估计出的 H H H其实不满足 x ′ = H x x'=Hx x′=Hx,总是含有误差的。那么我们可以记 x ^ ′ = H x \hat{x}'=Hx x^′=Hx,那么 x ^ \hat{x} x^就和 x x x是完美匹配的,对 x ′ x' x′也可以找出这么一对完美匹配的点。那么在一张图上的误差就是:
ϵ r e s = ( 1 2 n ∑ i = 1 n d ( x i ′ , x i ^ ′ ) 2 ) 1 2 \epsilon_{res} = (\frac{1}{2n}\sum_{i=1}^{n} d(x'_i,\hat{x_i}')^{2})^{\frac{1}{2}} ϵres=(2n1i=1∑nd(xi′,xi^′)2)21
5.1.2 Error in both images
两张图的误差就是:
ϵ
r
e
s
=
1
4
n
(
∑
i
=
1
n
d
(
x
i
,
x
i
^
)
2
+
∑
i
=
1
n
d
(
x
i
′
,
x
i
^
′
)
2
)
1
2
\epsilon_{res} = \frac{1}{\sqrt{4n}}(\sum_{i=1}^{n} d(x_{i},\hat{x_{i}})^{2} + \sum_{i=1}^{n} d(x'_{i},\hat{x_{i}}')^{2})^{\frac{1}{2}}
ϵres=4n1(i=1∑nd(xi,xi^)2+i=1∑nd(xi′,xi^′)2)21
最大后验概率误差的期望(几何误差)
最小化几何误差等于求最大后验概率,既然从概率角度考虑,那么我们就求误差的期望。
书中给出的结论是:在N维空间中有协方差为 N σ N\sigma Nσ的高斯噪声,我们要求d个自由度的投影变换,那么有如下公式:
- x x x到 x ^ \hat{x} x^的误差是 σ ( 1 − d / N ) 1 / 2 \sigma(1-d/N)^{1/2} σ(1−d/N)1/2
- x x x到 x ˉ \bar{x} xˉ的误差是 σ ( 1 − d / N ) 1 / 2 \sigma(1-d/N)^{1/2} σ(1−d/N)1/2, x ˉ \bar{x} xˉ是真实值ground truth,是没有噪声的点
5.2 Covariance of the estimated transformation H H H的协方差
H H H的协方差主要是来计算方差的,方差衡量 H H H本身有多准确, H H H有9个变量,那么它的协方差矩阵就是 9 × 9 9 \times 9 9×9
那么一张图上的这个协方差矩阵怎么算,书中给出了如下公式:
Σ h = ( J f T Σ x J f ) \Sigma_h=(J_f^T \Sigma_x J_f) Σh=(JfTΣxJf)
其中, Σ x \Sigma_x Σx是噪声,也就是高斯分布的协方差矩阵, J f J_f Jf是雅可比矩阵,可以根据对应点用p146 5.11式算出。
两张图上的协方差可以用p147 5.2.5节的公式计算。
5.3 Monte Carlo estimation of covariance
先找若干对匹配点,算出一个 H H H,然后再人为加上噪声,再计算一个 H ′ H' H′,这样就可以计算协方差矩阵,进而计算方差。