在求出模型之后,我们往往需要对模型的正确性进行评估。这种正确性取决于许多因素,包括使用的点的数量和精度,匹配准确度,数据点之间的关系等(比如同一条直线附近的几个对应点对求出的单应矩阵可能在垂直于直线的方向就不太准确)。
对模型可靠性的度量常通过计算模型的协方差矩阵来进行。它的定义在此。对单应矩阵来说,它的协方差矩阵是一个
9
×
9
9\times 9
9×9的方阵。
记号规定
X
X
X——对变量X的观测
X
ˉ
\bar X
Xˉ——X的实际值
X
^
\hat X
X^——对X的估计
协方差矩阵的前向传播
我们将测量得到的变量视为一个随机变量,它是由真实值和噪声两部分构成的。我们假设噪声是高斯噪声,则通过均值和协方差矩阵可以确定随机变量的分布,同时可以很容易的得到对原始变量进行变换后的观测量的协方差矩阵。
仿射变换下模型
令v是 I R M IR^M IRM下的一个随机变量, 它的均值为 v ˉ \bar v vˉ,协方差矩阵为 Σ \Sigma Σ,假设 f : I R M → I R N f:IR^M\rightarrow IR^N f:IRM→IRN是一个仿射映射,即 f ( v ) = f ( v ˉ ) + A ( v − v ˉ ) f(v)=f(\bar v)+A(v-\bar v) f(v)=f(vˉ)+A(v−vˉ)。则 f ( v ) f(v) f(v)的均值为 f ( v ˉ ) f(\bar v) f(vˉ)协方差矩阵为 A Σ A T A\Sigma A^T AΣAT
非线性情况下的模型
如果f是一个非线性变换,我们同样可以假设它在平均值附近是一个仿射变换。即在均值附近有 f ( v ) = f ( v ˉ ) + J ( v − v ˉ ) f(v)=f(\bar v)+J(v-\bar v) f(v)=f(vˉ)+J(v−vˉ)其中J为f的Jacobian矩阵。类似上面的结果,我们通过一阶近似得到f()是一个均值为 f ( v ˉ ) f(\bar v) f(vˉ),协方差为 J Σ J T J\Sigma J^T JΣJT。当然近似的准确程度取决于f自身的性质。
协方差的反向传播
考虑一个从参数空间 I R M IR^M IRM到测量空间 I R N IR^N IRN的可微映射f。f的函数图像为M维流形 S M S_M SM。通过寻找 S M S_M SM中最靠近测量空间上对应点的点我们得到了一个映射 η : I R N → S M \eta:IR^N\rightarrow S_M η:IRN→SM。假设上面提到的f是可逆的,我们可以定义 f − 1 : S M → I R M f^{-1}:S_M\rightarrow IR^M f−1:SM→IRM。
将两者结合起来,我们得到 f − 1 o η : I R N → I R M f^{-1}o~\eta:IR^N\rightarrow IR^M f−1o η:IRN→IRM。显然 P ^ = f − 1 o η ( X ) \hat P = f^{-1}o~\eta(X) P^=f−1o η(X)。由此我们将测量空间的任一点通过极大似然估计映射到了参数空间。进一步的,我们可以将测量量的概率分布传播到最大似然估计对应的参数。
仿射变换下的模型
f是仿射映射,于是 f ( P ) = f ( P ˉ ) + J ( P − P ˉ ) f(P)=f(\bar P)+J(P-\bar P) f(P)=f(Pˉ)+J(P−Pˉ),其中 f ( P ˉ ) f(\bar P) f(Pˉ)是测量空间中变量概率分布的均值。给定一个测量矢量X。ML估计 X ^ \hat X X^最小化 ∣ ∣ X − X ^ ∣ ∣ Σ = ∣ ∣ X − f ( P ^ ) ∣ ∣ Σ ||X-\hat X||_\Sigma=||X-f(\hat P)||_\Sigma ∣∣X−X^∣∣Σ=∣∣X−f(P^)∣∣Σ,于是有
∣ ∣ X − f ( P ˉ ) ∣ ∣ Σ = ∣ ∣ ( X − X ˉ ) − J ( P ^ − P ˉ ) ∣ ∣ Σ ||X-f(\bar P)||_\Sigma = ||(X-\bar X)-J(\hat P - \bar P)||_\Sigma ∣∣X−f(Pˉ)∣∣Σ=∣∣(X−Xˉ)−J(P^−Pˉ)∣∣Σ
这是一个最小二乘问题,可以解出当 ( P ^ − P ˉ ) = ( J T ∑ − 1 J ) − 1 J T Σ − 1 ( X − X ˉ ) (\hat P-\bar P)=(J^T\sum^{-1}J)^{-1}J^T\Sigma^{-1}(X-\bar X) (P^−Pˉ)=(JT∑−1J)−1JTΣ−1(X−Xˉ)时得到最小值。
记
P
ˉ
=
f
−
1
X
ˉ
\bar P =f^{-1}\bar X
Pˉ=f−1Xˉ,
P
^
=
f
−
1
X
^
\hat P = f^{-1}\hat X
P^=f−1X^。则
f
−
1
o
η
(
X
)
=
P
^
=
(
J
T
Σ
−
1
J
)
−
1
J
T
Σ
−
1
(
X
−
X
ˉ
)
+
f
−
1
(
X
ˉ
)
=
(
J
T
Σ
−
1
J
)
−
1
J
T
Σ
−
1
(
X
−
X
ˉ
)
+
f
−
1
o
η
(
X
ˉ
)
f^{-1}o~\eta(X) = \hat P =(J^T\Sigma^{-1}J)^{-1}J^T\Sigma^{-1}(X-\bar X)+f^{-1}(\bar X)\\ =(J^T\Sigma^{-1}J)^{-1}J^T\Sigma^{-1}(X-\bar X)+f^{-1}o~\eta(\bar X)
f−1o η(X)=P^=(JTΣ−1J)−1JTΣ−1(X−Xˉ)+f−1(Xˉ)=(JTΣ−1J)−1JTΣ−1(X−Xˉ)+f−1o η(Xˉ)
可以看出f是仿射映射的时候
f
−
1
o
η
f^{-1}o~\eta
f−1o η也是仿射映射。其中的
(
J
T
Σ
−
1
J
)
−
1
J
T
Σ
−
1
(J^T\Sigma^{-1}J)^{-1}J^T\Sigma^{-1}
(JTΣ−1J)−1JTΣ−1是它的线性部分,使用上面的结论,我们可以得到
P
^
\hat P
P^的协方差矩阵是
Σ
P
=
[
(
J
T
Σ
−
1
J
)
−
1
J
T
Σ
−
1
]
Σ
[
(
J
T
Σ
−
1
J
)
−
1
J
T
Σ
−
1
]
T
=
(
J
T
Σ
−
1
J
)
−
1
\Sigma_P = [(J^T\Sigma^{-1}J)^{-1}J^T\Sigma^{-1}]\Sigma[(J^T\Sigma^{-1}J)^{-1}J^T\Sigma^{-1}]^T=(J^T\Sigma^{-1}J)^{-1}
ΣP=[(JTΣ−1J)−1JTΣ−1]Σ[(JTΣ−1J)−1JTΣ−1]T=(JTΣ−1J)−1
非线性模型
类似的我们同样可以得到非线性情况下协方差的反向传播。令 f : I R M → I R N f:IR^M\rightarrow IR^N f:IRM→IRN是一个可微映射,J是它在点 P ˉ \bar P Pˉ处的雅可比矩阵。在一阶精度下, P ^ = f − 1 o η ( X ) \hat P = f^{-1} o~\eta(X) P^=f−1o η(X)是一个均值为 P ˉ \bar P Pˉ协方差为 ( J T Σ x − 1 J ) − 1 (J^T\Sigma^{-1}_xJ)^{-1} (JTΣx−1J)−1的随机变量。
超参数化的情况
超参数化的情况下参数空间 I R M IR^M IRM到测量空间 I R N IR^N IRN不是一一对应的。一组测量值可能同时符合多组参数。比如对单应矩阵H来说,我们可以对它乘一个系数k,得到的单应矩阵与原矩阵是等价的。
为了求解唯一的参数,我们在求解的过程中往往会加一些额外的约束,比如令 ∣ ∣ H ∣ ∣ = 1 ||H||=1 ∣∣H∣∣=1或者 H 9 = 1 H_9=1 H9=1。于是H被限定在了参数空间 I R 9 IR^9 IR9的一个曲面上。更一般的,我们可以假设估计的参数P被限定在 I R M IR^M IRM的某个子流形上。
超参数的情况下 f : I R M → I R N f:IR^M \rightarrow IR^N f:IRM→IRN的Jacobian矩阵不是满秩的。具体来说,此时 r ( J ) < M r(J)<M r(J)<M,令 d = r ( J ) d = r(J) d=r(J),称d为本质参数数。显然此时 ( J T Σ − 1 J ) (J^T\Sigma^{-1}J) (JTΣ−1J)不可逆, Σ p \Sigma_p Σp不能用上面的公式进行计算。
令 f : I R M → I R N f:IR^M\rightarrow IR^N f:IRM→IRN是一个可微映射,把一组参数 P ˉ \bar P Pˉ映射到测量矢量 X ˉ \bar X Xˉ。
令 S p S_p Sp是嵌入 I R M IR^M IRM中的过点 P ˉ \bar P Pˉ的d维光滑流形,并使得映射f在流形 S p S_p Sp上 P ˉ \bar P Pˉ的一个邻域内是一一对应的,f把 S p S_p Sp局域的映射到 I R N IR^N IRN上到流形 f ( X p ) f(X_p) f(Xp)。函数f有一个局部逆函数,记为 f − 1 f^{-1} f−1。它在曲面 f ( S p ) f(S_p) f(Sp)上到 X ˉ \bar X Xˉ的一个邻域内有意义。
定义测量空间 I R N IR^N IRN上一个高斯分布。令 η : I R N → f ( X p ) \eta :IR^N\rightarrow f(X_p) η:IRN→f(Xp)把 I R N IR^N IRN上的一个点映射到在 f ( S p ) f(S_p) f(Sp)上且与改点马氏距离最近的点。于是我们可以得到从测量空间到参数空间到映射 f − 1 o η f^{-1}o~\eta f−1o η,它在一阶精度下的协方差矩阵为
Σ
p
=
(
J
T
Σ
x
−
1
J
)
+
A
=
A
(
A
T
J
T
Σ
x
−
1
J
A
)
−
1
A
T
\Sigma_p = (J^T\Sigma^{-1}_xJ)^{+A}=A(A^TJ^T\Sigma_x^{-1}JA)^{-1}A^T
Σp=(JTΣx−1J)+A=A(ATJTΣx−1JA)−1AT
其中A为任意
m
×
n
m\times n
m×n矩阵,它的列空间生成S_p的过点
P
ˉ
\bar P
Pˉ的切空间。
当然一般来说我们可以通过选取 S p S_p Sp对该式进行简化。在通常选取的||P||=1下我们可以得到 Σ p = ( J T Σ x − 1 J ) + \Sigma_p = (J^T\Sigma^{-1}_xJ)^{+} Σp=(JTΣx−1J)+。