EM优化求解
第一章
前置基础:核心符号与EM算法的定位
1.1
全文档统一符号定义(2D点匹配场景专属)
所有符号与论文原文完全一致,同时标注工程物理意义,彻底解决符号混淆问题:
| \(N\) |
候选匹配对总数 |
输入的SIFT/SURF等特征点匹配对总数量 |
| \(x_n\) |
第\(n\)个输入点,\(\in \mathbb{R}^P\) |
第一张图像中第\(n\)个特征点的像素坐标,2D场景\(P=2\),即\(x_n=[u,v]^T\) |
| \(y_n\) |
第\(n\)个输出向量,\(\in \mathbb{R}^D\) |
第\(n\)个匹配对的位移向量(第二张图相对第一张图的坐标偏移),2D场景\(D=2\) |
| \(X\) |
所有输入点集合 \(\{x_n\}_{n=1}^N\) |
第一张图的全部特征点坐标(固定观测输入,全程不变) |
| \(Y\) |
所有输出向量集合 \(\{y_n\}_{n=1}^N\) |
全部匹配对的位移向量(固定观测数据,全程不变) |
| \(\theta\) |
待估参数集 \(\{f, \sigma^2,
\gamma\}\) |
模型核心待求参数: 1. \(f\):待估计的向量场函数(输入特征点坐标,输出位移向量) 2.
\(\sigma^2\):内点位移的高斯噪声方差 3.
\(\gamma\):匹配对为内点的先验概率 |
| \(z_n\) |
二值隐变量 \(\in\{0,1\}\) |
匹配对类型标记:\(z_n=1\)为内点(符合向量场的有效匹配),\(z_n=0\)为外点(随机噪声/错误匹配) |
| \(Z\) |
所有隐变量集合 \(\{z_n\}_{n=1}^N\) |
全部匹配对的内/外点标记(不可观测的隐藏信息) |
| \(p_n\) |
内点后验概率 \(P(z_n=1\|x_n,y_n,\theta^{old})\) |
E步用旧参数计算的「第\(n\)个匹配对为内点的概率」 |
| \(a\) |
输出空间有界区域的体积 |
外点均匀分布的区域大小,固定常数 |
| \(\lambda\) |
正则化系数 |
平衡「数据拟合精度」与「向量场平滑度」的超参数 |
| \(\phi(f)\) |
平滑度泛函 |
等价于向量场在RKHS空间的范数平方\(\|f\|_{\mathcal{H}}^2\),量化向量场的总抖动/不平滑度 |
1.2
EM算法解决的核心痛点(VFC场景专属)
VFC算法的核心目标是鲁棒点匹配:在大量错误匹配(外点)的干扰下,拟合出符合真实相机运动的平滑向量场,同时筛选出有效匹配(内点)。
我们的最终优化目标是论文公式(6)的能量函数:
\[E(\theta)=-ln p(f)-\sum_{n=1}^{N} ln
\sum_{z_{n}} p\left(y_{n}, z_{n} | x_{n}, \theta\right)\]
这个公式存在一个致命缺陷:对数内部嵌套了隐变量\(z_n\)的求和(log-sum-exp结构),无法直接对参数\(\theta\)求导得到闭式解,根本无法直接优化。
EM算法(Expectation-Maximization,期望最大化算法)就是专门解决这个问题的标准框架——它专门处理带隐变量的概率模型参数估计,通过两步迭代,把不可解的优化问题转化为可闭式求解的迭代问题。
1.3 EM算法的核心思想与通用流程
核心思想
既然隐变量\(Z\)无法直接观测,我们就用「两步迭代」绕开这个难题:
1. E步(期望步):用当前迭代的旧参数\(\theta^{old}\),计算隐变量\(Z\)的后验概率分布(相当于“猜”每个匹配对是内点/外点的概率);
2.
M步(最大化步):固定隐变量的概率分布,把带隐变量的优化问题转化为无隐变量的确定性优化,闭式更新模型参数\(\theta^{new}\),让参数的后验概率最大化; 3.
反复迭代E步和M步,直到模型收敛(能量函数不再下降、参数变化小于阈值)。
VFC采用的MAP-EM框架
普通EM算法针对最大似然估计(ML),仅优化数据似然;而VFC采用的是最大后验估计(MAP),在似然的基础上加入了向量场的平滑先验,这也是VFC能保证向量场平滑、抗高比例外点的核心原因。
1.4 关键数学基础
1. 离散随机变量的期望定义
对离散隐变量\(Z\),若其概率分布为\(q(Z)\)(满足\(\sum\limits_Z q(Z)=1\)),则任意关于\(Z\)的函数\(g(Z)\)的数学期望 =
按概率加权的求和,二者完全等价: \[\mathbb{E}_{Z\sim q(Z)}\big[g(Z)\big] = \sum_{Z}
q(Z)\cdot g(Z)\] >
大白话:期望不是复杂概念,就是「按概率给不同情况加权,再求和算平均值」,这是后续所有推导的核心。
2. 针对\(\ln
x\)的Jensen不等式
自然对数\(\ln(x)\)是严格凹函数,对任意正数\(A(Z)\)、任意合法概率分布\(q(Z)\),永远满足: \[\ln\left( \sum_{Z} q(Z)\cdot A(Z) \right) \ge
\sum_{Z} q(Z)\cdot \ln A(Z)\] > 口诀:凹函数,对数的加权平均 ≥
加权平均的对数。这是EM算法能成立的数学根基,也是Q函数作为下界的核心依据。
3. 贝叶斯定理与概率链式法则
- 贝叶斯定理:\(p(A|B) =
\frac{p(B|A)p(A)}{p(B)}\)
- 联合概率链式法则:\(p(A,B,C) = p(A|B,C)
\cdot p(B|C) \cdot p(C)\)
- 条件概率扩展:所有公式在增加共同条件\(|X\)后依然成立,例如\(p(A,B|X) = p(A|B,X)p(B|X)\) ### 第二章
公式(6):EM算法的最终优化目标 #### 2.1 公式(6)原文与数学本质 #####
公式原文 \[E(\theta)=-ln p(f)-\sum_{n=1}^{N}
ln \sum_{z_{n}} p\left(y_{n}, z_{n} | x_{n}, \theta\right)
\tag{6}\]
数学本质
公式(6)是贝叶斯MAP估计的等价最小化能量函数,最小化这个能量函数,完全等价于最大化参数\(\theta\)在给定观测数据下的后验概率\(p(\theta|X,Y)\),也就是找到「最能解释观测数据、同时符合平滑先验」的模型参数。
2.3
公式(6)的致命缺陷:无法直接求解
公式(6)的核心问题在于对数内部嵌套了隐变量的求和(log-sum-exp结构):
\[ln \left( \sum_{z_n} p(y_n,z_n|x_n,\theta)
\right)\] 这个结构对参数\(f\)、\(\sigma^2\)、\(\gamma\)求导后,会得到极其复杂的非线性结果,没有闭式解,无法直接优化。这就是VFC必须引入EM算法的根本原因。
### 第三章 公式(7):EM算法的核心Q函数零跳步完整推导
公式(7)是EM算法的核心,它把公式(6)不可解的log-sum-exp结构,转化为了可闭式求解的加权求和形式,是整个EM迭代的核心载体。
3.1
Q函数的严格定义与每部分含义拆解
公式(7)的定义源头
\[\mathcal{Q}(\theta, \theta^{old}) =
\mathbb{E}_{Z \mid X,Y,\theta^{old}} \left[ \ln p(\theta, Z \mid X, Y)
\right]\]
这是MAP-EM框架下Q函数的严格定义,我们逐字拆解每一部分的含义,彻底解决之前的所有疑问:
| \(\mathcal{Q}(\theta,
\theta^{old})\) |
EM算法的Q函数 |
本质是条件期望(加权平均值),是M步要最大化的目标 |
| \(\mathbb{E}\) |
数学期望算子 |
等价于「按概率加权求和」的操作,就像代码里的sum(值 × 权重) |
| 下标\(Z \mid
X,Y,\theta^{old}\) |
期望的计算规则 |
大白话: 1. 被平均的随机变量是隐变量\(Z\); 2. 固定观测数据\(X,Y\)和上一轮的旧参数\(\theta^{old}\); 3. 按\(p(Z\|X,Y,\theta^{old})\)这个后验分布给\(Z\)加权。 |
| 中括号里的\(\ln p(\theta, Z \mid X,
Y)\) |
被平均的目标本体 |
完全数据的联合后验对数,包含待优化的新参数\(\theta\),是我们真正要优化的核心。 |
3.2 完全数据联合后验的完整拆解
我们对中括号里的\(\ln p(\theta, Z \mid X,
Y)\)做完整拆解,每一步都有严格的数学依据: #####
步骤1:贝叶斯定理展开 \[p(\theta, Z \mid X,
Y) = \frac{p(Y \mid X, Z, \theta) \cdot p(Z, \theta \mid X)}{p(Y \mid
X)}\]
步骤2:链式法则拆解联合先验
\[p(Z, \theta \mid X) = p(Z \mid X,
\theta) \cdot p(\theta \mid X)\] 结合之前的独立性假设\(p(\theta|X)=p(\theta)\)、\(p(Z|X,\theta)=p(Z|\theta)\),简化为: \[p(Z, \theta \mid X) = p(Z \mid \theta) \cdot
p(\theta)\]
步骤3:取对数拆分乘积
对展开后的式子两边取对数,利用\(\ln(ab/c)=\ln a + \ln b - \ln c\)拆分:
\[
\ln p(\theta, Z \mid X, Y) = \underbrace{\ln p(Y \mid X, Z,
\theta)}_{项1:完全数据似然} + \underbrace{\ln p(Z \mid
\theta)}_{项2:隐变量先验} + \underbrace{\ln p(\theta)}_{项3:参数先验}
\underbrace{- \ln p(Y \mid X)}_{项4:固定常数}
\] > 关键说明:项4\(-\ln
p(Y|X)\)仅与观测数据有关,不含\(\theta\)和\(Z\),是固定常数,最大化Q函数时可直接省略。
3.3 每一项的完整展开
我们对前3项做完整展开,所有推导贴合论文建模假设: ##### 展开1:项1
完全数据似然\(\ln p(Y \mid X, Z,
\theta)\) 核心依据:样本独立同分布 +
内点D维高斯分布 + 外点均匀分布 1.
样本独立,联合似然=单样本似然的乘积,取对数变求和: \[\ln p(Y|X,Z,\theta) = \sum_{n=1}^N \ln p(y_n |
x_n, z_n, \theta)\] 2. 单样本似然分两种情况,由\(z_n\)做0/1开关: - \(z_n=1\)(内点):服从D维高斯分布,取对数后:
\[\ln p(y_n|x_n,z_n=1,\theta) =
-\frac{D}{2}\ln(2\pi) -\frac{D}{2}\ln(\sigma^2) -
\frac{\|y_n-f(x_n)\|^2}{2\sigma^2}\] - \(z_n=0\)(外点):服从均匀分布,取对数后:
\[\ln p(y_n|x_n,z_n=0,\theta) =
\ln\frac{1}{a}\] 3. 用\(z_n\)合并两种情况,得到完整展开式: \[
\ln p(Y|X,Z,\theta) = \sum_{n=1}^N \left[ z_n \cdot \left(
-\frac{D}{2}\ln(2\pi) -\frac{D}{2}\ln(\sigma^2) -
\frac{\|y_n-f(x_n)\|^2}{2\sigma^2} \right) + (1-z_n) \cdot
\ln\frac{1}{a} \right]
\]
展开2:项2 隐变量先验\(\ln p(Z \mid \theta)\)
核心依据:隐变量独立同分布,先验\(p(z_n=1)=\gamma\),\(p(z_n=0)=1-\gamma\) 1.
联合先验=单样本先验的乘积,取对数变求和: \[\ln p(Z|\theta) = \sum_{n=1}^N \ln p(z_n |
\theta)\] 2. 代入二值先验,合并得到: \[\ln p(Z|\theta) = \sum_{n=1}^N \left[ z_n \cdot
\ln\gamma + (1-z_n) \cdot \ln(1-\gamma) \right]\]
展开3:项3 参数先验\(\ln p(\theta)\)
核心依据:论文公式(5)的向量场平滑先验,\(\sigma^2\)和\(\gamma\)为平坦先验 1.
向量场先验为吉布斯分布:\(p(f) \propto
e^{-\frac{\lambda}{2}\phi(f)}\),取对数后: \[\ln p(\theta) = -\frac{\lambda}{2}\phi(f) +
C_1\] 其中\(C_1\)是与\(\theta\)无关的常数,\(\phi(f)=\|f\|_{\mathcal{H}}^2\)(向量场RKHS范数平方)。
3.4
逐项求期望,合并得到论文公式(7)
步骤1:代入期望定义,交换期望与求和顺序
根据期望的线性性质,和的期望=期望的和,因此可以把\(\mathbb{E}\)放到每一个求和项内部: \[
\mathcal{Q}(\theta, \theta^{old}) = \mathbb{E} \left[ 项1 + 项2 + 项3 +
项4 \right] = \mathbb{E}[项1] + \mathbb{E}[项2] + \mathbb{E}[项3] +
\mathbb{E}[项4]
\]
步骤2:代入隐变量的期望结果
隐变量\(z_n\)是二值变量,在旧参数\(\theta^{old}\)下的后验期望为: \[\mathbb{E}[z_n] = P(z_n=1 | x_n,y_n,\theta^{old})
= p_n\] \[\mathbb{E}[1-z_n] =
1-p_n\] 所有不含\(z_n\)的项,求期望时等于自身。
步骤3:逐项计算期望
项1的期望: \[
\mathbb{E}[项1] = \sum_{n=1}^N \left[ p_n \cdot \left(
-\frac{D}{2}\ln(2\pi) -\frac{D}{2}\ln(\sigma^2) -
\frac{\|y_n-f(x_n)\|^2}{2\sigma^2} \right) + (1-p_n) \cdot
\ln\frac{1}{a} \right]
\] 其中\(-\frac{D}{2}\ln(2\pi)\sum
p_n\)和\(\ln\frac{1}{a}\sum
(1-p_n)\)与\(\theta\)无关,是常数项,后续可省略。
项2的期望: \[
\mathbb{E}[项2] = \ln\gamma \sum_{n=1}^N p_n + \ln(1-\gamma)
\sum_{n=1}^N (1-p_n)
\]
项3的期望: \[
\mathbb{E}[项3] = -\frac{\lambda}{2}\phi(f) + C_1
\]
项4的期望: \[
\mathbb{E}[项4] = -\ln p(Y|X) = C_2
\] 是固定常数,可省略。
步骤4:合并所有项,剔除常数项,得到公式(7)
把所有项合并,省略所有与待优化参数\(\theta\)无关的常数项,最终得到论文原文的公式(7):
\[
\boxed{
\begin{aligned} \mathcal{Q}\left(\theta, \theta^{old }\right)= &
-\frac{1}{2 \sigma^{2}} \sum_{n=1}^{N} P\left(z_{n}=1 | x_{n}, y_{n},
\theta^{old }\right)\left\| y_{n}-f\left(x_{n}\right)\right\| ^{2} \\
& -\frac{D}{2} ln \sigma^{2} \sum_{n=1}^{N} P\left(z_{n}=1 | x_{n},
y_{n}, \theta^{old }\right) \\ & +ln (1-\gamma) \sum_{n=1}^{N}
P\left(z_{n}=0 | x_{n}, y_{n}, \theta^{old }\right) \\ & +ln \gamma
\sum_{n=1}^{N} P\left(z_{n}=1 | x_{n}, y_{n}, \theta^{old
}\right)-\frac{\lambda}{2} \phi(f) \end{aligned}
}
\]
3.5 公式(7)每一项的物理意义
| 第一项 |
向量场\(f\) |
带权重的拟合损失,内点概率\(p_n\)越高的样本,对向量场拟合的影响越大,外点自动被降权 |
| 第二项 |
噪声方差\(\sigma^2\) |
内点的噪声拟合项,用于M步闭式更新\(\sigma^2\) |
| 第三、四项 |
内点先验\(\gamma\) |
内点比例的拟合项,用于M步闭式更新\(\gamma\) |
| 第五项 |
向量场\(f\) |
平滑正则项,约束向量场的平滑度,对应贝叶斯先验,避免过拟合 |
第四章
E步:公式(8)隐变量后验概率的完整推导
4.1 E步的核心目标
E步(期望步)的唯一目标是:用上一轮迭代的旧参数\(\theta^{old}\),计算每个匹配对为内点的后验概率\(p_n\),也就是给隐变量\(z_n\)的分布赋值,为M步构建Q函数提供固定的权重。
4.2 公式(8)的完整推导
公式原文
\[
p_{n}=\frac{\gamma e^{-\frac{\left\| y_{n}-f\left(x_{n}\right)\right\|
^{2}}{2 \sigma^{2}}}}{\gamma e^{-\frac{\left\|
y_{n}-f\left(x_{n}\right)\right\| ^{2}}{2 \sigma^{2}}}+(1-\gamma)
\frac{\left(2 \pi \sigma^{2}\right)^{D / 2}}{a}} \tag{8}
\]
推导过程
贝叶斯定理展开后验概率 我们要计算的是\(p_n = P(z_n=1 |
y_n,x_n,\theta^{old})\),直接用贝叶斯定理: \[
P(z_n=1 | y_n,x_n,\theta^{old}) = \frac{P(y_n | z_n=1,x_n,\theta^{old})
\cdot P(z_n=1 | \theta^{old})}{P(y_n | x_n,\theta^{old})}
\]
代入分布定义
- 分子第一项(内点似然):D维高斯分布 \[P(y_n | z_n=1,x_n,\theta^{old}) =
\frac{1}{(2\pi\sigma^2)^{D/2}}
e^{-\frac{\|y_n-f(x_n)\|^2}{2\sigma^2}}\]
- 分子第二项(内点先验):\(P(z_n=1 |
\theta^{old}) = \gamma\)
- 分母(边缘似然):全概率公式展开,包含内点和外点两种情况 \[
P(y_n | x_n,\theta^{old}) = P(y_n|z_n=1)P(z_n=1) + P(y_n|z_n=0)P(z_n=0)
\] 其中外点似然\(P(y_n |
z_n=0,x_n,\theta^{old}) = \frac{1}{a}\),外点先验\(P(z_n=0)=1-\gamma\)。
化简消去公共项
将分子分母代入后,分子分母同时乘以\((2\pi\sigma^2)^{D/2}\),消去公共的分母项,最终得到论文原文的公式(8)。
4.3 公式(8)的物理意义与工程解读
- \(p_n\)是第\(n\)个匹配对为内点的软分类概率,取值范围\([0,1]\);
- 匹配对的位移越符合当前向量场的预测(\(\|y_n-f(x_n)\|^2\)越小),\(p_n\)越接近1,越可能是有效匹配;
- 位移和预测偏差越大,\(p_n\)越接近0,越可能是错误匹配;
- 论文中提到,迭代收敛后,99%的样本\(p_n\)要么>0.99,要么<0.01,天然实现了内点和外点的硬区分。
4.4 工程实现的数值稳定性补充
公式(8)中的指数项\(e^{-\frac{\|y_n-f(x_n)\|^2}{2\sigma^2}}\)在\(\sigma^2\)很小时容易出现数值下溢,工程实现时通常会给指数项加一个极小值(如\(1e-8\)),避免分母为0。 ### 第五章
M步:所有参数更新公式的完整推导 #### 5.1 M步的核心目标
M步(最大化步)的核心目标是:固定E步得到的内点概率\(p_n\),最大化Q函数\(\mathcal{Q}(\theta,\theta^{old})\),分别闭式更新\(\sigma^2\)、\(\gamma\)、\(f\)三个参数。
Q函数中,三个参数的优化是完全解耦的:每个参数的更新仅和Q函数中对应的项有关,因此可以分别求导、分别更新。
5.2 公式(9):噪声方差\(\sigma^2\)的更新推导
公式原文
\[
\sigma^{2}=\frac{(\tilde{Y}-\tilde{V})^{T}
\tilde{P}(\tilde{Y}-\tilde{V})}{D \cdot tr(P)} \tag{9}
\] 其中: - \(\tilde{Y}\)是所有\(y_n\)拼接的列向量,\(\tilde{V}\)是所有\(f(x_n)\)拼接的列向量; - \(P=diag(p_1,p_2,...,p_N)\)是内点概率构成的对角矩阵,\(\tilde{P}=P \otimes I_D\)(克罗内克积); -
\(tr(P)\)是矩阵\(P\)的迹,即\(\sum_{n=1}^N p_n\)。
推导过程
- 从Q函数中提取所有和\(\sigma^2\)相关的项,记为\(\mathcal{Q}_\sigma\): \[
\mathcal{Q}_\sigma = -\frac{1}{2\sigma^2} \sum_{n=1}^N p_n
\|y_n-f(x_n)\|^2 - \frac{D}{2} ln\sigma^2 \sum_{n=1}^N p_n
\]
- 对\(\sigma^2\)求偏导,令偏导数等于0(最大化Q函数):
\[
\frac{\partial \mathcal{Q}_\sigma}{\partial \sigma^2} =
\frac{1}{2(\sigma^2)^2} \sum_{n=1}^N p_n \|y_n-f(x_n)\|^2 - \frac{D
\cdot \sum_{n=1}^N p_n}{2\sigma^2} = 0
\]
- 两边乘以\(2(\sigma^2)^2\)消去分母,整理得: \[
\sum_{n=1}^N p_n \|y_n-f(x_n)\|^2 = D \cdot \sigma^2 \cdot \sum_{n=1}^N
p_n
\]
- 解出\(\sigma^2\),并写成矩阵形式,得到论文中的公式(9)。
5.3 公式(10):内点先验\(\gamma\)的更新推导
公式原文
\[
\gamma=tr(P) / N \tag{10}
\]
推导过程
- 从Q函数中提取所有和\(\gamma\)相关的项,记为\(\mathcal{Q}_\gamma\): \[
\mathcal{Q}_\gamma = ln\gamma \cdot \sum_{n=1}^N p_n + ln(1-\gamma)
\cdot \sum_{n=1}^N (1-p_n)
\]
- 对\(\gamma\)求偏导,令偏导数等于0,同时满足约束\(0<\gamma<1\): \[
\frac{\partial \mathcal{Q}_\gamma}{\partial \gamma} = \frac{\sum_{n=1}^N
p_n}{\gamma} - \frac{\sum_{n=1}^N (1-p_n)}{1-\gamma} = 0
\]
- 交叉相乘整理,消去相同项,解出\(\gamma\): \[
\gamma = \frac{1}{N} \sum_{n=1}^N p_n = \frac{tr(P)}{N}
\] > 物理意义:更新后的内点先验\(\gamma\),等于当前所有样本的内点概率平均值,完全符合直觉。
工程落地的硬阈值更新策略
5.3 公式(10):内点先验\(\gamma\)的更新推导
公式原文
\[
\gamma=tr(P) / N \tag{10}
\]
推导过程
- 从Q函数中提取所有和\(\gamma\)相关的项,记为\(\mathcal{Q}_\gamma\): \[
\mathcal{Q}_\gamma = ln\gamma \cdot \sum_{n=1}^N p_n + ln(1-\gamma)
\cdot \sum_{n=1}^N (1-p_n)
\]
- 对\(\gamma\)求偏导,令偏导数等于0,同时满足约束\(0<\gamma<1\): \[
\frac{\partial \mathcal{Q}_\gamma}{\partial \gamma} = \frac{\sum_{n=1}^N
p_n}{\gamma} - \frac{\sum_{n=1}^N (1-p_n)}{1-\gamma} = 0
\]
- 交叉相乘整理,消去相同项,解出\(\gamma\): \[
\gamma = \frac{1}{N} \sum_{n=1}^N p_n = \frac{tr(P)}{N}
\] > 物理意义:更新后的内点先验\(\gamma\),等于当前所有样本的内点概率平均值,完全符合直觉。
工程落地的硬阈值更新策略
公式(10)是EM算法理论上的标准闭式解,属于「软更新」策略,但在实际工程落地中,为了提升算法鲁棒性、加快收敛速度,VFC算法通常采用硬阈值筛选的更新方式,该方式是论文A Robust Method for Vector Field Learning with Application to Mismatch Removing3.4节明确推荐的工程变体,并非对理论的偏离,而是理论与实践的合理适配。理论软更新中,大量\(p_n\approx0\)的外点会参与加权求和,强行稀释整体均值,导致\(\gamma_{soft}\)低于真实内点比例;工程硬更新直接剔除外点贡献,\(\gamma_{hard}\)仅反映高置信内点占比,更接近真实值。
工程硬更新的具体实现 工程代码中,\(\gamma\)的更新不再采用“所有样本后验概率的平均值”,而是通过以下步骤实现:
- 设定内点置信度阈值\(\theta\)(经验值通常取0.5,可根据场景微调);
- 遍历所有样本,筛选出满足\(p_n >
\theta\)的高置信度内点,统计其数量\(N_{inlier}\); -
以高置信内点占总样本数的比例,更新\(\gamma =
\frac{N_{inlier}}{N}\): - 增加数值钳位约束:限定\(\gamma \in [0.05,
0.95]\),避免迭代过程中\(\gamma\)趋近于0或1,防止后续\(\log\gamma\)、\(\log(1-\gamma)\)运算出现数值下溢、奇异崩溃。
具象示例 设总样本数\(N=100\),真实内点20个(\(p_n\approx0.9\)),外点80个(\(p_n\approx0.01\)): -
理论软更新(公式10):\(\gamma_{soft} =
\frac{20\times0.9 + 80\times0.01}{100} =
0.188\),低于真实内点比例0.2,被外点稀释低估; -
工程硬更新(\(\theta=0.5\)):\(\gamma_{hard} = \frac{20}{100} =
0.2\),完全贴合真实内点比例,无稀释效应。
5.4 公式(11)(12):向量场\(f\)的优化与闭式解推导
公式原文
\[
\mathcal{E}(f)=\frac{1}{2 \sigma^{2}} \sum_{n=1}^{N} p_{n}\left\|
y_{n}-f\left(x_{n}\right)\right\| ^{2}+\frac{\lambda}{2} \phi(f)
\tag{11}
\] \[
\left(\tilde{\Gamma}+\lambda \sigma^{2} \tilde{P}^{-1}\right)
\tilde{C}=\tilde{Y} \tag{12}
\]
推导过程
从Q函数中提取所有和\(f\)相关的项,记为\(\mathcal{Q}_f\): \[
\mathcal{Q}_f = -\frac{1}{2\sigma^2} \sum_{n=1}^N p_n \|y_n-f(x_n)\|^2 -
\frac{\lambda}{2}\phi(f)
\]
最大化\(\mathcal{Q}_f\),等价于最小化它的相反数,也就是论文中的公式(11):
\[
\mathcal{E}(f) = -\mathcal{Q}_f = \frac{1}{2 \sigma^{2}} \sum_{n=1}^{N}
p_{n}\left\| y_{n}-f\left(x_{n}\right)\right\| ^{2}+\frac{\lambda}{2}
\phi(f)
\] >
这是带权重的Tikhonov正则化优化问题,和无外点场景的公式(1)完全对应,区别是每个样本的拟合损失都乘了权重\(p_n\),外点权重低,对拟合的影响小,天然实现了鲁棒性。
| \(N\) |
标量 |
候选匹配对的总数量 |
输入样本总数 |
| \(D\) |
标量 |
输出位移向量的维度(2D点匹配中\(D=2\),3D点云匹配中\(D=3\)) |
向量场的输出维度 |
| \(x_n\) |
\(P×1\) |
第\(n\)个输入特征点的坐标向量,\(x_n \in \mathcal{X} \subseteq
\mathbb{R}^P\)(2D匹配\(P=2\)) |
输入空间样本 |
| \(y_n\) |
\(D×1\) |
第\(n\)个匹配对的位移向量,\(y_n \in \mathcal{Y} \subseteq
\mathbb{R}^D\) |
观测输出向量 |
| \(\Gamma(\cdot,\cdot)\) |
\(D×D\) |
向量值再生核函数,\(\Gamma:
\mathcal{X}×\mathcal{X} \to
\mathbb{R}^{D×D}\),输入两个点输出\(D×D\)对称矩阵 |
论文Section 3.2 向量值RKHS核心定义 |
| \(c_n\) |
\(D×1\) |
第\(n\)个样本对应的RKHS系数向量 |
表示定理的待求系数 |
| \(\tilde{C}\) |
\(DN×1\) |
全局系数长向量,所有\(c_n\)按列拼接:\(\tilde{C} = \begin{bmatrix} c_1 \\ c_2 \\ \vdots
\\ c_N \end{bmatrix}\) |
线性方程组的待求变量 |
| \(\tilde{Y}\) |
\(DN×1\) |
全局观测长向量,所有\(y_n\)按列拼接:\(\tilde{Y} = \begin{bmatrix} y_1 \\ y_2 \\ \vdots
\\ y_N \end{bmatrix}\) |
线性方程组的右端项 |
| \(\tilde{\Gamma}\) |
\(DN×DN\) |
全局Gram矩阵(分块对称矩阵),第\((i,j)\)个分块为\(D×D\)核矩阵\(\Gamma(x_i,x_j)\): \[\tilde{\Gamma} = \begin{bmatrix} \Gamma(x_1,x_1)
& \Gamma(x_1,x_2) & \dots & \Gamma(x_1,x_N) \\
\Gamma(x_2,x_1) & \Gamma(x_2,x_2) & \dots & \Gamma(x_2,x_N)
\\ \vdots & \vdots & \ddots & \vdots \\ \Gamma(x_N,x_1)
& \Gamma(x_N,x_2) & \dots & \Gamma(x_N,x_N)
\end{bmatrix}\] |
论文公式(3)的通用矩阵形式,核函数对称保证\(\tilde{\Gamma}^T=\tilde{\Gamma}\) |
| \(p_n\) |
标量 |
第\(n\)个样本为内点的后验概率,\(p_n \in (0,1)\) |
E步输出的样本权重 |
| \(P\) |
\(N×N\) |
样本权重对角矩阵:\(P =
diag(p_1,p_2,\dots,p_N)\) |
标量权重矩阵 |
| \(\tilde{P}\) |
\(DN×DN\) |
全局权重分块对角矩阵,克罗内克积形式:\(\tilde{P} = P \otimes I_D\),第\(n\)个分块为\(p_n
I_D\)(\(I_D\)为\(D\)阶单位矩阵) |
对应DN维度的权重矩阵,保证\(\tilde{P}^T=\tilde{P}\)、可逆 |
| \(\phi(f)\) |
标量 |
向量场的平滑度泛函,等价于RKHS范数平方:\(\phi(f) = \|f\|_{\mathcal{H}}^2\) |
论文公式(5)的平滑先验 |
| \(\lambda, \sigma^2\) |
标量 |
正则化系数、内点噪声方差 |
论文固定超参数/迭代更新参数 |
两个核心引理
对于公式(11)的带权重正则化最小二乘问题,其最优解\(f \in
\mathcal{H}\)一定可以表示为核函数的线性组合: \[
\boldsymbol{f(x) = \sum_{n=1}^N \Gamma(x, x_n) c_n}
\] 其中\(c_n \in
\mathbb{R}^D\)为待求系数向量,该式是后续所有矩阵化推导的基础。
根据向量值RKHS的再生性,最优解\(f\)的RKHS范数平方可表示为系数向量的二次型:
\[
\boldsymbol{\|f\|_{\mathcal{H}}^2 = \tilde{C}^T \tilde{\Gamma}
\tilde{C}}
\] > 证明:由再生性\(\langle f,
\Gamma(\cdot,x_n)c_n \rangle_{\mathcal{H}} = c_n^T
f(x_n)\),代入\(f\)的展开式即可得证,该式将无限维的范数转化为有限维的矩阵运算。
公式(11)的矩阵化改写
我们从论文公式(11)的标量求和形式出发,将其完全转化为DN×DN维度的矩阵二次型,为求导做准备。
拟合项的矩阵化 首先计算向量场在所有样本点的输出\(f(x_n)\),代入表示定理: \[
f(x_i) = \sum_{n=1}^N \Gamma(x_i, x_n) c_n
\] 将所有样本的\(f(x_n)\)拼接为\(DN×1\)的长向量\(\tilde{V} = \begin{bmatrix} f(x_1) \\ f(x_2) \\
\vdots \\ f(x_N)
\end{bmatrix}\),根据Gram矩阵的定义,可直接得到: \[
\tilde{V} = \tilde{\Gamma} \tilde{C}
\]
接下来处理带权重的拟合误差平方和: \[
\sum_{n=1}^N p_n \|y_n - f(x_n)\|^2 = \sum_{n=1}^N (y_n - f(x_n))^T
\cdot p_n I_D \cdot (y_n - f(x_n))
\]
根据分块对角矩阵的二次型性质,上式可直接改写为DN维度的全局二次型: \[
\sum_{n=1}^N p_n \|y_n - f(x_n)\|^2 = (\tilde{Y} -
\tilde{\Gamma}\tilde{C})^T \tilde{P} (\tilde{Y} -
\tilde{\Gamma}\tilde{C})
\] > 维度验证:\((DN×1)^T × (DN×DN)
× (DN×1) = 标量\),和左边求和结果完全一致。
正则项的矩阵化
代入引理2的RKHS范数矩阵形式,正则项可改写为: \[
\phi(f) = \|f\|_{\mathcal{H}}^2 = \tilde{C}^T \tilde{\Gamma} \tilde{C}
\]
公式(11)的最终矩阵形式
将拟合项和正则项代入,得到完全矩阵化的优化目标: \[
\boldsymbol{
\mathcal{E}(\tilde{C}) = \frac{1}{2\sigma^2} (\tilde{Y} -
\tilde{\Gamma}\tilde{C})^T \tilde{P} (\tilde{Y} - \tilde{\Gamma}
\tilde{C}) + \frac{\lambda}{2} \tilde{C}^T \tilde{\Gamma} \tilde{C}
}
\] > 说明:优化目标从关于函数\(f\)的无限维问题,转化为关于\(DN×1\)系数向量\(\tilde{C}\)的有限维二次型问题,可直接求导求解。
公式(12)的完整推导 核心思路
二次型优化问题的最优解,出现在目标函数对优化变量\(\tilde{C}\)的偏导数为0的位置。我们将通过矩阵求导标准法则(分母布局),对\(\mathcal{E}(\tilde{C})\)求偏导,令导数为0,化简后直接得到论文公式(12)。
步骤1:展开目标函数的二次型
先展开拟合项的二次型,利用矩阵转置性质\((AB)^T=B^T A^T\),以及\(\tilde{\Gamma}^T=\tilde{\Gamma}\)、\(\tilde{P}^T=\tilde{P}\)的对称性: \[
\begin{aligned}
(\tilde{Y} - \tilde{\Gamma}\tilde{C})^T \tilde{P} (\tilde{Y} -
\tilde{\Gamma}\tilde{C})
&= \tilde{Y}^T \tilde{P} \tilde{Y} - \tilde{Y}^T \tilde{P}
\tilde{\Gamma} \tilde{C} - \tilde{C}^T \tilde{\Gamma}^T \tilde{P}
\tilde{Y} + \tilde{C}^T \tilde{\Gamma}^T \tilde{P} \tilde{\Gamma}
\tilde{C} \\
&= \tilde{Y}^T \tilde{P} \tilde{Y} - 2\tilde{Y}^T \tilde{P}
\tilde{\Gamma} \tilde{C} + \tilde{C}^T \tilde{\Gamma} \tilde{P}
\tilde{\Gamma} \tilde{C}
\end{aligned}
\] > 说明:\(\tilde{Y}^T \tilde{P}
\tilde{\Gamma} \tilde{C}\)是标量,标量的转置等于自身,因此\(\tilde{Y}^T \tilde{P} \tilde{\Gamma} \tilde{C} =
\tilde{C}^T \tilde{\Gamma}^T \tilde{P}
\tilde{Y}\),两项合并为\(-2\tilde{Y}^T
\tilde{P} \tilde{\Gamma} \tilde{C}\)。
将展开式代入目标函数\(\mathcal{E}(\tilde{C})\): \[
\mathcal{E}(\tilde{C}) = \frac{1}{2\sigma^2} \left( \tilde{Y}^T
\tilde{P} \tilde{Y} - 2\tilde{Y}^T \tilde{P} \tilde{\Gamma} \tilde{C} +
\tilde{C}^T \tilde{\Gamma} \tilde{P} \tilde{\Gamma} \tilde{C} \right) +
\frac{\lambda}{2} \tilde{C}^T \tilde{\Gamma} \tilde{C}
\]
步骤2:对\(\tilde{C}\)求偏导
使用分母布局的矩阵求导核心法则:
- 常数项(与\(\tilde{C}\)无关)的偏导数为0:\(\frac{\partial}{\partial \tilde{C}} (\tilde{Y}^T
\tilde{P} \tilde{Y}) = 0\)
- 线性项求导:\(\frac{\partial}{\partial
\tilde{C}} (\boldsymbol{b}^T \boldsymbol{A} \tilde{C}) =
\boldsymbol{A}^T \boldsymbol{b}\)
- 二次型求导:\(\frac{\partial}{\partial
\tilde{C}} (\tilde{C}^T \boldsymbol{A} \tilde{C}) = (\boldsymbol{A} +
\boldsymbol{A}^T) \tilde{C}\),若\(\boldsymbol{A}\)对称则简化为\(2\boldsymbol{A}\tilde{C}\)
对\(\mathcal{E}(\tilde{C})\)逐项求偏导: \[
\begin{aligned}
\frac{\partial \mathcal{E}}{\partial \tilde{C}}
&= \frac{1}{2\sigma^2} \left( 0 - 2\tilde{\Gamma}^T \tilde{P}
\tilde{Y} + 2\tilde{\Gamma}^T \tilde{P} \tilde{\Gamma} \tilde{C} \right)
+ \frac{\lambda}{2} \cdot 2\tilde{\Gamma} \tilde{C} \\
&= \frac{1}{\sigma^2} \left( -\tilde{\Gamma} \tilde{P} \tilde{Y} +
\tilde{\Gamma} \tilde{P} \tilde{\Gamma} \tilde{C} \right) + \lambda
\tilde{\Gamma} \tilde{C}
\end{aligned}
\] > 简化说明:利用\(\tilde{\Gamma}^T=\tilde{\Gamma}\)的对称性,替换所有\(\tilde{\Gamma}^T\)为\(\tilde{\Gamma}\)。
步骤3:令偏导数为0,化简线性方程组
最优解满足偏导数为0,因此令\(\frac{\partial
\mathcal{E}}{\partial \tilde{C}} = 0\): \[
\frac{1}{\sigma^2} \left( -\tilde{\Gamma} \tilde{P} \tilde{Y} +
\tilde{\Gamma} \tilde{P} \tilde{\Gamma} \tilde{C} \right) + \lambda
\tilde{\Gamma} \tilde{C} = 0
\]
化简步骤1:两边同乘\(\sigma^2\)消去分母 \[
-\tilde{\Gamma} \tilde{P} \tilde{Y} + \tilde{\Gamma} \tilde{P}
\tilde{\Gamma} \tilde{C} + \lambda \sigma^2 \tilde{\Gamma} \tilde{C} = 0
\]
化简步骤2:移项整理 将常数项移到等式右侧: \[
\tilde{\Gamma} \tilde{P} \tilde{\Gamma} \tilde{C} + \lambda \sigma^2
\tilde{\Gamma} \tilde{C} = \tilde{\Gamma} \tilde{P} \tilde{Y}
\]
化简步骤3:提取公因子\(\tilde{\Gamma}\)
等式左侧提取公因子\(\tilde{\Gamma}\),右侧提取公因子\(\tilde{\Gamma}\): \[
\tilde{\Gamma} \left( \tilde{P} \tilde{\Gamma} + \lambda \sigma^2 I_{DN}
\right) \tilde{C} = \tilde{\Gamma} \tilde{P} \tilde{Y}
\] 其中\(I_{DN}\)是\(DN\)阶单位矩阵。
化简步骤4:左乘\(\tilde{\Gamma}^{-1}\)消去公共项
Gram矩阵\(\tilde{\Gamma}\)是正定对称矩阵(核函数为正定核),因此可逆。两边同时左乘\(\tilde{\Gamma}^{-1}\): \[
\left( \tilde{P} \tilde{\Gamma} + \lambda \sigma^2 I_{DN} \right)
\tilde{C} = \tilde{P} \tilde{Y}
\]
化简步骤5:左乘\(\tilde{P}^{-1}\)得到论文公式(12)
权重矩阵\(\tilde{P}\)是分块对角矩阵,所有\(p_n>0\),因此可逆。两边同时左乘\(\tilde{P}^{-1}\): \[
\tilde{P}^{-1} \tilde{P} \tilde{\Gamma} \tilde{C} + \lambda \sigma^2
\tilde{P}^{-1} I_{DN} \tilde{C} = \tilde{P}^{-1} \tilde{P} \tilde{Y}
\]
利用\(\tilde{P}^{-1}\tilde{P}=I_{DN}\)化简,最终得到论文原文的公式(12)(完整DN×DN维度):
\[
\boxed{
\left(\tilde{\Gamma}+\lambda \sigma^{2} \tilde{P}^{-1}\right)
\tilde{C}=\tilde{Y} \tag{12}
}
\]
关键验证与论文对应说明
无外点场景(所有\(p_n=1\))
当所有样本都是内点时,\(p_n=1\),因此\(\tilde{P}=I_{DN}\),\(\tilde{P}^{-1}=I_{DN}\),公式(12)退化为:
\[
(\tilde{\Gamma} + \lambda \sigma^2 I_{DN}) \tilde{C} = \tilde{Y}
\]
和论文无外点场景的公式(3)完全一致,逻辑自洽。
标量核简化(工程常用版本) 论文在B. Kernel
Choice章节中指出,对于点匹配问题,生成的运动场结构通常较为简单,因此采用可分解核(decomposable
kernel) 能在保证效果的同时大幅提升计算效率。这类核的通用形式为
\(\Gamma(\mathbf{x}_i,\mathbf{x}_j) =
\kappa(\mathbf{x}_i,\mathbf{x}_j) \cdot \mathbf{A}\),其中 \(\kappa\) 是标量核,\(\mathbf{A}\)
是关系矩阵;论文中通过实验验证,取 \(\mathbf{A}=\mathbf{I}_D\)(单位矩阵)时效果最优,即矩阵值核可简化为标量核与单位矩阵的直积:
\[
\Gamma(\mathbf{x}_i,\mathbf{x}_j) = \kappa(\mathbf{x}_i,\mathbf{x}_j)
\mathbf{I}_D
\]
论文工程实现中,标量核 \(\kappa\)
选用高斯核: \[
\kappa(\mathbf{x}_i,\mathbf{x}_j) =
e^{-\beta\|\mathbf{x}_i-\mathbf{x}_j\|^2}
\]
此时,DN×DN维度的全局Gram矩阵可表示为克罗内克积形式: \[
\tilde{\Gamma} = K \otimes \mathbf{I}_D
\] 其中 \(K \in \mathbb{R}^{N \times
N}\) 是标量核矩阵,第 \((i,j)\)
个元素为 \(\kappa(\mathbf{x}_i,\mathbf{x}_j)\)。
同时,样本权重矩阵 \(\tilde{P} = P \otimes
\mathbf{I}_D\),其逆矩阵满足 \(\tilde{P}^{-1} = P^{-1} \otimes
\mathbf{I}_D\),其中 \(P =
diag(p_1,p_2,\dots,p_N)\) 是 \(N \times
N\) 的标量权重对角矩阵。
将上述克罗内克积形式代入论文公式(12)的DN×DN线性方程组: \[
(\tilde{\Gamma} + \lambda \sigma^2 \tilde{P}^{-1}) \tilde{C} = \tilde{Y}
\] 利用克罗内克积的性质 \((\mathbf{A}
\otimes \mathbf{I}_D)(\mathbf{B} \otimes \mathbf{I}_D) =
(\mathbf{A}\mathbf{B}) \otimes
\mathbf{I}_D\),以及矩阵向量化的性质,可将DN×DN维度的方程组,等价简化为
\(N \times N\)
维度的矩阵线性方程组,即论文公式(20): \[
\boxed{(K + \lambda \sigma^2 P^{-1}) C = Y} \tag{20}
\] 其中:
- \(K \in \mathbb{R}^{N \times N}\)
为标量高斯核矩阵;
- \(P^{-1} \in \mathbb{R}^{N \times
N}\) 为内点概率对角矩阵的逆;
- \(C \in \mathbb{R}^{N \times D}\)
为待求系数矩阵,每一行对应一个样本的 \(D\) 维系数向量;
- \(Y \in \mathbb{R}^{N \times D}\)
为观测位移矩阵,每一行对应一个样本的 \(D\) 维位移向量。
这个简化将原本 \(DN \times DN\)
规模的大型线性方程组,降维为 \(N \times
N\) 规模的小型方程组,计算复杂度从 \(O((DN)^3)\) 降低为 \(O(N^3 +
DN^2)\),大幅降低了计算量,完全对齐论文的工程实现方案。
噪声方差 \(\sigma^2\)
更新公式(公式9)的简化
在可分解核下,向量场在所有样本点的预测值可表示为矩阵形式 \(V = KC\)(\(N
\times D\) 矩阵,每一行是 \(f(x_i)\)),因此公式(9)的二次型项可利用矩阵迹性质简化:
原始公式(9): \[
\sigma^{2}=\frac{(\tilde{Y}-\tilde{V})^{T}
\tilde{P}(\tilde{Y}-\tilde{V})}{D \cdot tr(P)}
\] 其中 \(\tilde{Y}=vec(Y)\)、\(\tilde{V}=vec(V)=vec(KC)\)、\(\tilde{P}=P\otimes
I_D\)。根据矩阵二次型的性质 \(vec(X)^T(A\otimes I_D)vec(X) = tr(X^T A
X)\),可将分子改写为: \[
(\tilde{Y}-\tilde{V})^T \tilde{P} (\tilde{Y}-\tilde{V}) = tr\left( (Y -
KC)^T P (Y - KC) \right)
\]
因此公式(9)简化为: \[
\boxed{
\sigma^2 = \frac{tr\left( (Y - KC)^T P (Y - KC) \right)}{D \cdot tr(P)}
}
\] 该形式直接使用 \(N \times D\)
矩阵运算,避免了DN×DN维度的向量拼接,更便于工程实现。
第六章
公式(6)与公式(7)的深度绑定关系
6.1 核心结论一句话总结
公式(6)是VFC算法的全局最终优化目标,公式(7)是求解公式(6)的迭代工具/严格下界。公式(6)定义了我们要去哪里,公式(7)给了我们通往目的地的路,EM迭代就是走路的过程。
6.2
数学本质:Q函数是公式(6)能量函数的严格下界
我们用Jensen不等式严格推导两者的大小关系: 1.
公式(6)的能量函数等价于负对数后验: \[E(\theta) = -ln\ p(\theta | X,Y)\]
我们的目标是最小化\(E(\theta)\),等价于最大化\(ln\ p(\theta | X,Y)\)。
用全概率公式展开对数后验,引入隐变量\(Z\): \[ln\
p(\theta | X,Y) = ln\left( \sum_{Z} p(\theta, Z | X,Y)
\right)\]
引入隐变量的后验分布\(q(Z)=p(Z|X,Y,\theta^{old})\),做恒等变形:
\[ln\ p(\theta | X,Y) = ln\left( \sum_{Z}
q(Z) \cdot \frac{p(\theta, Z | X,Y)}{q(Z)} \right)\]
应用Jensen不等式,得到下界: \[
ln\left( \sum_{Z} q(Z) \cdot \frac{p}{q} \right) \ge \sum_{Z} q(Z) \cdot
ln\left( \frac{p}{q} \right)
\] 拆分右边的对数,得到: \[
ln\ p(\theta | X,Y) \ge \underbrace{\sum_{Z} q(Z) \cdot ln\
p(\theta,Z|X,Y)}_{公式(7)的Q函数} - \underbrace{\sum_{Z} q(Z) \cdot ln\
q(Z)}_{熵项,与θ无关的常数}
\]
两边取负号,对应公式(6)的能量函数: \[
E(\theta) \le -Q(\theta,\theta^{old}) + 常数
\]
最终数学结论
- 对对数后验\(ln\
p(\theta|X,Y)\)来说,Q函数是它的严格下界(Q函数永远小于等于对数后验);
- 对公式(6)的能量函数\(E(\theta)\)来说,最大化Q函数等价于最小化能量函数的上界;
- 每一次EM迭代,都会让公式(6)的能量单调不增,永远不会越优化越差,最终一定会收敛到公式(6)的局部最优解。
6.3
工程意义:从不可解到可解的转化
公式(6)因为log-sum-exp结构无法直接求解,而公式(7)完美解决了这个问题:
- 公式(6)的似然项是「对数里的隐变量求和」,无法求导闭式解; -
公式(7)把它转化为了「带权重\(p_n\)的求和」,每一项都能对参数求导,得到闭式更新公式。
6.4
迭代闭环:EM如何通过Q函数优化公式(6)
| 初始化 |
给参数\(\theta\)赋初始值,计算初始的公式(6)能量 |
| E步 |
用旧参数\(\theta^{old}\)计算隐变量后验\(p_n\),构建公式(7)的Q函数,为公式(6)的优化搭好“台阶” |
| M步 |
最大化公式(7)的Q函数,闭式更新参数\(\theta^{new}\),让公式(6)的能量下降 |
| 收敛判断 |
检查公式(6)的能量是否不再下降,若收敛则停止迭代,输出最优参数;否则回到E步 |
第七章
EM算法完整流程与收敛性分析
7.1 论文Algorithm 1
逐行解析(与公式一一对应)
| 1. 初始化\(\gamma=0.9\)、\(V\)、\(P=I_N\)、\(a\)、\(\sigma^2\) |
EM迭代初始值,论文中默认内点初始比例90%,初始\(P\)为单位矩阵 |
| 4. 构建Gram矩阵\(\tilde{\Gamma}\) |
核矩阵构建,与公式(3)一致 |
| 7. E步:更新\(P=diag(p_1,...,p_N)\) |
公式(8),计算每个匹配对的内点后验概率 |
| 9. M步:更新\(\tilde{C}\),解线性方程组 |
公式(12),更新向量场的系数 |
| 10. 更新\(\tilde{V}\) |
公式(2),计算向量场在样本点的输出 |
| 11. 更新\(\sigma^2\)和\(\gamma\) |
公式(9)(10),更新噪声方差和内点先验 |
| 12. 迭代直到Q函数收敛 |
EM迭代收敛判断 |
| 13. 输出向量场\(f\) |
公式(2),最终拟合的向量场 |
| 14. 筛选内点集\(\mathcal{I}\) |
公式(13),用阈值筛选内点 |
7.2 收敛性保证
EM算法有严格的收敛性保证:每一次迭代,对数后验概率都会单调不减,能量函数都会单调不增,最终一定会收敛到一个局部最优解。
7.3
关键初始化策略:大初始方差\(\sigma^2\)
论文中专门提出了大初始方差的初始化策略,解决EM算法容易陷入局部最优的问题:
1. 初始化时给\(\sigma^2\)一个很大的值,此时目标函数在全局最优附近是凸的,能大概率找到全局最优的初始位置;
2. 随着迭代进行,\(\sigma^2\)逐渐减小,目标函数的凸区域缩小,但我们用前一次的最优解作为初始值,能平滑地跟踪全局最优,避免陷入局部最优;
3.
这个思路和确定性退火类似,但不需要手动设置退火schedule,完全由EM迭代自动完成,工程实现更简单。
7.4 收敛判断标准
论文中采用Q函数的变化量作为收敛判断标准:当两次迭代的Q函数变化量小于预设阈值(如\(1e-6\))时,认为算法收敛,停止迭代。 ###
第八章 算法闭环:内点筛选与最终输出 #### 8.1 公式(13):内点集筛选 #####
公式原文
\[
\mathcal{I}=\left\{n: p_{n}>\tau, n \in \mathbb{N}_{N}\right\}
\tag{13}
\]
说明
EM迭代收敛后,我们得到了每个样本的内点后验概率\(p_n\),用预设阈值\(\tau\)(论文中默认\(\tau=0.75\))做硬分类,\(p_n>\tau\)的样本就是有效内点,构成共识集\(\mathcal{I}\),这也是算法名称Vector
Field Consensus(向量场共识)的来源。
8.2 整个VFC算法的完整逻辑闭环
- 输入:初始特征点匹配对(包含大量外点);
- EM迭代:通过E步猜内点概率、M步拟合平滑向量场,反复迭代,自动区分内点和外点;
- 输出:拟合的平滑向量场 + 筛选后的有效内点匹配对。
8.3 核心鲁棒性来源总结
VFC算法能容忍高达90%的外点,核心来自三个设计: 1.
贝叶斯混合模型:同时建模内点的有效信号和外点的随机噪声; 2.
软加权机制:外点自动获得低权重,不会污染向量场的拟合; 3.
RKHS平滑先验:强制向量场平滑,天然排斥外点带来的剧烈抖动。