第 4 章 模型拟合与优化 (Model Fitting and Optimization)

      +

      核心结论

      • 散乱数据插值(§4.1):最近邻 / 线性 / 双线性 / 三线性插值;不规则网格数据 → 规则网格。

      • 变分法与正则化(§4.2):能量最小化 E(u) = E_d(u) + \lambda E_s(u);数据项 + 平滑项;图像去噪 / 分割的标准框架。

      • 马尔可夫随机场 (MRF)(§4.3):图模型表示像素关系;Gibbs 采样 / 信念传播(BP)求解;图像分割 / 去噪的统计框架。

      • 优化算法:梯度下降 / Levenberg-Marquardt / 模拟退火 / 图割(Graph Cut)。

      • 鲁棒估计:RANSAC / Hough 变换 / M-估计器——处理噪声与外点。

      本章主旨

      本章是"图像 → 信息"的桥梁——把像素数据拟合成数学模型(直线 / 曲线 / 分割)。理解后才能做边缘检测 / 图像分割 / 立体匹配 / 3D 重建。优化理论贯穿整个 CV;本章给出基础工具。

      一、核心概念

      本章围绕 6 个核心概念展开:散乱插值 → 变分法 → MRF → 优化算法 → 鲁棒估计 → M-估计器。

      概念 定义 + 重要性 实现提示

      散乱数据插值

      最近邻 / 线性 / 双线性插值;不规则网格 → 规则网格。

      §4.1;图像重采样 / 变形 / 配准基础。

      变分法与正则化

      能量最小化 E = E_d + λ E_s;数据项 + 平滑项。

      §4.2;图像去噪 / 分割 / 光流的标准框架。

      马尔可夫随机场 (MRF)

      图模型表示像素关系;BP / 图割求解。

      §4.3;图像分割 / 去噪的统计框架。

      优化算法

      梯度下降 / Levenberg-Marquardt / 模拟退火;凸 vs 非凸。

      §4.2;所有 CV 优化的基础工具。

      鲁棒估计

      RANSAC / Hough 变换 / M-估计器;处理外点(outlier)。

      §4.4;特征匹配 / 相机标定的核心。

      图割 (Graph Cut)

      把能量最小化转为图论问题;高效全局最优(能量是子模时)。

      §4.2;图像分割的工业级方法。

      二、详细笔记

      2.1 散乱数据插值 (Scattered Data Interpolation)

      What:不规则网格 / 散乱点 → 规则网格 / 表面重建。

      Why:图像重采样 / 变形 / 配准 / 3D 重建都需要插值。

      How

      插值方法(§4.1):

      • 最近邻u(x) = u(x_i)x_i 是最近点。最快但阶梯状。

      • 线性 / 双线性u(x) = \sum w_i u(x_i)\sum w_i = 1w_i ∝ 1/|x - x_i|

      • 三次 / 双三次:16 个邻居;平滑但慢。

      • 样条 / RBF:平滑通过所有点;适合稀疏数据。

      插值的工程权衡
      • 最近邻:速度优先(实时系统)。

      • 双线性:平衡(大多数图像处理)。

      • 双三次:质量优先(打印 / 专业图像)。

      • 样条 / RBF:稀疏数据重建(3D 建模)。

      When:图像重采样(resize / 旋转);图像变形;3D 表面重建。

      Examplecv2.resize(img, dsize, interpolation=cv2.INTER_LINEAR)scipy.interpolate.griddata

      2.2 变分法与正则化 (Variational Methods)

      What:把图像处理问题转为能量最小化;E(u) = E_d(u) + \lambda E_s(u)

      Why:图像去噪 / 分割 / 光流 / 立体匹配的标准框架。

      How

      变分框架(§4.2):

      \[E(u) = \underbrace{\int (u - f)^2 \, dx}_{\text{数据项}} + \lambda \underbrace{\int |\nabla u|^2 \, dx}_{\text{平滑项}} \end{bmatrix>\]
      • 数据项 E_d:解应接近观测 f

      • 平滑项 E_s:解应平滑。

      • λ:权重(越大越平滑)。

      欧拉-拉格朗日方程:

      \[\frac{\partial E}{\partial u} = 0 \Rightarrow (u - f) - \lambda \Delta u = 0 \end{bmatrix>\]

      (泊松方程或调和方程)。

      正则化的工程意义
      • 病态问题 → 良态(正则化稳定)。

      • 过拟合 → 泛化(约束假设空间)。

      • 多种正则化:L2(Tikhonov)/ L1(稀疏)/ TV(全变分保边)。

      When:图像去噪(TV-L1);图像分割(Mumford-Shah);光流(TV-L1);深度学习(weight decay / dropout)。

      Examplecv2.ximgproc.createFastGlobalSmootherFilter 实现 TV 平滑;Rudin-Osher-Fatemi 1992 是经典 TV 去噪。

      2.3 马尔可夫随机场 (MRF)

      What:图模型表示像素(节点)+ 邻域关系(边);联合分布 P(x) ∝ exp(-E(x)/T)

      Why:图像分割 / 去噪 / 立体匹配的统计框架;提供严格的概率基础。

      How

      MRF 定义(§4.3):

      \[P(\mathbf{x}) = \frac{1}{Z} \exp\left(-\frac{1}{T} \sum_c E_c(\mathbf{x}_c)\right) \end{bmatrix>\]
      • x:像素标签(分割 / 去噪等)。

      • c:团(clique,通常是相邻像素对)。

      • E_c:团能量。

      • Z:配分函数(归一化)。

      • T:温度(控制分布尖锐度)。

      求解算法:

      • Gibbs 采样:MCMC;慢但通用。

      • 信念传播 (BP):消息传递;近似但快。

      • 图割:能量是子模时全局最优;高效。

      MRF vs CRF
      • MRF:生成模型 P(x, y)

      • CRF:判别模型 P(y | x),直接建模条件分布。

      • CRF 在图像分割中更常用(直接学习像素到标签的映射)。

      When:图像分割(CRFasRNN / DeepLab);立体匹配(MRF / SGM);图像去噪。

      Examplepydensecrf 实现 DenseCRF;OpenCV cv2.ximgproc.createDisparityWLSFilter 实现 SGM 立体匹配。

      2.4 鲁棒估计 (Robust Estimation)

      What:处理含外点(outlier)的数据——RANSAC / Hough / M-估计器。

      Why:现实数据总有外点;鲁棒估计是 CV 算法的核心。

      How

      RANSAC 算法(§4.4):

      1. 随机采样最小子集(如直线拟合采 2 点)。

      2. 估计模型。

      3. 计算 inlier 数(误差小于阈值)。

      4. 重复 N 次,取 inlier 数最多的模型。

      5. 用所有 inlier 重新估计模型。

      RANSAC vs 鲁棒核函数
      • RANSAC:随机采样 + 一致集;对极端外点鲁棒。

      • M-估计器(Huber / Tukey):用鲁棒核函数降低外点权重;更快但需调参。

      • Hough 变换:参数空间投票;对极端外点鲁棒但参数空间大时慢。

      When:特征匹配(ORB / SIFT 误匹配去除);相机标定(外点去除);直线 / 圆 / 椭圆拟合。

      Examplecv2.findFundamentalMat 用 RANSAC 估计基础矩阵;cv2.fitLine 用 M-估计器。

      2.5 图割 (Graph Cut)

      What:把能量最小化转为图论问题;用 max-flow / min-cut 算法求全局最优。

      Why:能量是子模时图割给全局最优;图像分割的工业级方法。

      How

      图割构造(§4.2):

      • 节点:每个像素 + 源 + 汇。

      • 边权重:数据项 + 平滑项。

      • 最小割 = 最小能量。

      子模条件:E(0,0) + E(1,1) ≤ E(0,1) + E(1,0);保证多项式时间全局最优。

      图割 vs 其他优化
      • 图割:能量子模时全局最优;效率高。

      • BP(信念传播):近似;适合一般能量。

      • α-expansion:处理多标签;近似最优。

      • GrabCut:交互式图像分割;迭代 EM + 图割。

      When:图像分割(前景 / 背景);立体匹配;图像拼接(找接缝)。

      Examplecv2.grabCut(img, mask, rect, bgdModel, fgdModel, iterCount, mode)gco Python 库实现图割。

      2.6 优化算法 (Optimization Algorithms)

      What:梯度下降 / 牛顿法 / Levenberg-Marquardt / 模拟退火 / EM。

      Why:所有 CV 算法都涉及优化;选对算法事半功倍。

      How

      常见优化算法(§4.2):

      • 梯度下降 (GD)x ← x - η ∇f(x);简单但慢。

      • 牛顿法x ← x - H⁻¹ ∇f(x);快但二阶导贵。

      • Levenberg-Marquardt (LM):高斯-牛顿 + 阻尼;适合非线性最小二乘。

      • EM 算法:处理隐变量;聚类 / 配准常用。

      • 模拟退火 / ICM:跳出局部最优;慢。

      凸 vs 非凸优化
      • 凸优化:唯一全局最优;可用梯度 / 内点法高效求解。

      • 非凸:多个局部最优;需多起点 / 模拟退火 / 启发式。

      • CV 中很多问题是 非凸(光流 / 立体 / 3D 重建);需谨慎选择起点。

      When:曲线拟合(LM);聚类(EM);光流(变分法);训练神经网络(SGD / Adam)。

      Examplescipy.optimize.least_squares(method='lm') 实现 LM;PyTorch optim.Adam 实现 Adam 优化。

      三、关键图表

      视觉图表

      图 4-1
      Figure 1. 图 4-1:散乱数据插值
      图 4-2
      Figure 2. 图 4-2:MRF 网格结构
      图 4-3
      Figure 3. 图 4-3:图割示意图
      图 4-4
      Figure 4. 图 4-4:RANSAC 拟合

      非可视化条目

      非可视化条目(表 / 算法)
      编号 内容摘要

      式 4-1 至 4-25

      插值 / 变分 / MRF / RANSAC / 图割公式。

      表 4.1

      插值方法对比(最近邻 / 双线性 / 双三次 / 样条)。

      表 4.2

      优化算法对比(GD / 牛顿 / LM / EM)。

      列表 4.1-4.x

      OpenCV 拟合 / RANSAC / 图割示例代码。

      核心公式对照表

      核心公式对照表
      概念 公式

      双线性插值

      \(u(x, y) = (1-a)(1-b) u_{00} + a(1-b) u_{10} + (1-a) b u_{01} + a b u_{11}\)

      变分能量

      \(E(u) = E_d(u) + \lambda E_s(u)\)

      MRF 分布

      \(P(\mathbf{x}) = \frac{1}{Z} \exp(-E(\mathbf{x})/T)\)

      RANSAC

      \(N = \frac{\log(1-p)}{\log(1-w^n)}\)(迭代次数估计)

      图割

      \(\text{min cut} = \text{min energy}\)

      四、思维导图

      mindmap
        root((第 4 章 模型拟合与优化))
          散乱插值
            最近邻
            双线性
            样条RBF
          变分法
            数据项
            平滑项
            TV正则化
          MRF
            图模型
            Gibbs采样
            信念传播
          鲁棒估计
            RANSAC
            Hough
            M估计器
          图割
            子模能量
            全局最优
            GrabCut
          优化算法
            梯度下降
            LM
            EM
            模拟退火

      五、重点与易错点

      • 变分法是 CV 优化基础:图像去噪 / 分割 / 光流都基于能量最小化。

      • MRF / CRF 是统计图像建模标准:直接建模条件分布,比 MRF 更灵活。

      • 图割对子模能量全局最优:非子模能量(高阶)需 α-expansion 等近似。

      • RANSAC 对极端外点鲁棒:但需估计迭代次数;外点率 > 50% 时失效。

      • TV 正则化保边:L1 范数约束梯度;适合图像去噪 / 分割。

      • Levenberg-Marquardt 是非线性最小二乘首选:高斯-牛顿 + 阻尼;适合曲线 / 相机标定。

      • EM 算法处理隐变量:聚类 / 配准 / 隐马尔可夫模型的标准方法。

      • 跨章衔接:第 5 章深度学习 = MRF + 大规模优化;第 6 章识别 = 优化损失函数;第 8 章对齐 = 鲁棒估计。