VFC算法详解4

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. 项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. 项2的期望\[ \mathbb{E}[项2] = \ln\gamma \sum_{n=1}^N p_n + \ln(1-\gamma) \sum_{n=1}^N (1-p_n) \]

  3. 项3的期望\[ \mathbb{E}[项3] = -\frac{\lambda}{2}\phi(f) + C_1 \]

  4. 项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)每一项的物理意义

公式(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} \]

推导过程
  1. 贝叶斯定理展开后验概率 我们要计算的是\(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})} \]

  2. 代入分布定义

    • 分子第一项(内点似然):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\)
  3. 化简消去公共项 将分子分母代入后,分子分母同时乘以\((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\)

推导过程
  1. 从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 \]
  2. \(\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 \]
  3. 两边乘以\(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 \]
  4. 解出\(\sigma^2\),并写成矩阵形式,得到论文中的公式(9)。

5.3 公式(10):内点先验\(\gamma\)的更新推导

公式原文

\[ \gamma=tr(P) / N \tag{10} \]

推导过程
  1. 从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) \]
  2. \(\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 \]
  3. 交叉相乘整理,消去相同项,解出\(\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} \]

推导过程
  1. 从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) \]
  2. \(\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 \]
  3. 交叉相乘整理,消去相同项,解出\(\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} \]

推导过程
  1. 从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) \]

  2. 最大化\(\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\) 标量 正则化系数、内点噪声方差 论文固定超参数/迭代更新参数
  3. 两个核心引理 对于公式(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\)的展开式即可得证,该式将无限维的范数转化为有限维的矩阵运算。

  4. 公式(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}\)的有限维二次型问题,可直接求导求解。

  5. 公式(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}\)求偏导 使用分母布局的矩阵求导核心法则

    1. 常数项(与\(\tilde{C}\)无关)的偏导数为0:\(\frac{\partial}{\partial \tilde{C}} (\tilde{Y}^T \tilde{P} \tilde{Y}) = 0\)
    2. 线性项求导:\(\frac{\partial}{\partial \tilde{C}} (\boldsymbol{b}^T \boldsymbol{A} \tilde{C}) = \boldsymbol{A}^T \boldsymbol{b}\)
    3. 二次型求导:\(\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} } \]

关键验证与论文对应说明
  1. 无外点场景(所有\(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)完全一致,逻辑自洽。

  2. 标量核简化(工程常用版本) 论文在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)\)

  1. 用全概率公式展开对数后验,引入隐变量\(Z\)\[ln\ p(\theta | X,Y) = ln\left( \sum_{Z} p(\theta, Z | X,Y) \right)\]

  2. 引入隐变量的后验分布\(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)\]

  3. 应用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)}_{熵项,与θ无关的常数} \]

  4. 两边取负号,对应公式(6)的能量函数: \[ E(\theta) \le -Q(\theta,\theta^{old}) + 常数 \]

最终数学结论
  1. 对对数后验\(ln\ p(\theta|X,Y)\)来说,Q函数是它的严格下界(Q函数永远小于等于对数后验);
  2. 对公式(6)的能量函数\(E(\theta)\)来说,最大化Q函数等价于最小化能量函数的上界
  3. 每一次EM迭代,都会让公式(6)的能量单调不增,永远不会越优化越差,最终一定会收敛到公式(6)的局部最优解。

6.3 工程意义:从不可解到可解的转化

公式(6)因为log-sum-exp结构无法直接求解,而公式(7)完美解决了这个问题: - 公式(6)的似然项是「对数里的隐变量求和」,无法求导闭式解; - 公式(7)把它转化为了「带权重\(p_n\)的求和」,每一项都能对参数求导,得到闭式更新公式。

6.4 迭代闭环:EM如何通过Q函数优化公式(6)

EM迭代步骤 公式(6)与公式(7)的角色
初始化 给参数\(\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算法的完整逻辑闭环

  1. 输入:初始特征点匹配对(包含大量外点);
  2. EM迭代:通过E步猜内点概率、M步拟合平滑向量场,反复迭代,自动区分内点和外点;
  3. 输出:拟合的平滑向量场 + 筛选后的有效内点匹配对。

8.3 核心鲁棒性来源总结

VFC算法能容忍高达90%的外点,核心来自三个设计: 1. 贝叶斯混合模型:同时建模内点的有效信号和外点的随机噪声; 2. 软加权机制:外点自动获得低权重,不会污染向量场的拟合; 3. RKHS平滑先验:强制向量场平滑,天然排斥外点带来的剧烈抖动。