强度一致性匹配方法

info
方法定位

强度一致性方法不先产生离散关键点,而是在给定几何模型和初始值后,直接优化两幅图像有效重叠区域的像素、梯度或统计相关性。ECC 是这类方法的典型代表。

1. 输入、输出与基本链路

输入:两幅尺度与视场已经基本统一的图像,以及一个足够接近的初始变换。

输出:使重叠区域相似度最大的变换参数和 Warp 结果。

VIS + IR
  → 尺度统一、确定公共视场
  → 给定初始变换 p
  → 按 p 变换 IR
  → 计算变换后与 VIS 的相似度
  → 更新 p
  → 迭代至收敛
  → 输出最终变换

这里的“强度”不一定只指原始灰度,也可以指梯度、边缘或其他像素统计量。

2. 与特征匹配的区别

路线 中间表示 优化对象
特征匹配 关键点、描述子和离散点对 由点对估计几何矩阵
强度一致性(ECC) 有效重叠区域的像素/梯度向量 直接优化变换参数

对应流程分别是:

特征法:图像 → 关键点/描述子 → 匹配点对 → RANSAC → 几何矩阵
强度法:图像 → 初始变换 → 计算整体相似度 → 迭代优化

强度法直接问:

当前变换下,两幅图的重叠区域在整体统计上有多一致?

3. ECC 的核心计算

把有效重叠区域像素拉成向量:

iV       = VIS 有效区域的像素向量
iT(p)    = 当前变换 p 后的 IR 像素向量
mean(iV) = VIS 区域平均灰度
mean(iT) = 变换后 IR 区域平均灰度

先去均值:

iV_center = iV − mean(iV)
iT_center = iT(p) − mean(iT(p))

再比较两个去均值向量的方向:

ECC(p) = dot(iV_center, iT_center)
         ÷ (norm(iV_center) × norm(iT_center))

优化目标是让 ECC(p) 尽可能大。

4. 为什么要去均值和归一化

如果直接比较像素值,整体亮度变化会严重影响结果。例如同一结构在 VIS 中较暗、在 IR 中较亮,像素差很大,但空间结构可能仍然对应。

去均值相当于:

每个像素 − 该区域平均亮度

这样算法对整体亮度偏移不那么敏感,更关注灰度变化结构。再除以向量长度后,比较的是方向而非绝对幅值。因此 ECC 可以直观理解为:

把两幅图看成两个高维向量,调整变换参数,使去均值后的两个向量夹角尽量小。

5. 适用条件与失败边界

适合

  • 已经有较好的初始变换;
  • 两幅图的重叠区域较大;
  • 配准主要是平移、仿射或小范围变形;
  • 灰度结构、边缘或梯度在两种模态之间仍有一定对应关系;
  • 能够明确提供有效区域 Mask。

当前 VIS-IR 项目中,如果标定已经给出固定尺度和初始平移,ECC 或相关性优化可以作为在线平移微调器。

容易失败

  • 初始变换离真实位置太远;
  • 公共区域太小;
  • VIS 与 IR 的亮度关系不是单调,或结构差异很大;
  • 黑边、Warp 空洞或无效区域进入统计;
  • 场景中有大量运动目标;
  • 变换模型自由度过高,优化陷入错误局部极值。

因此不能把 ECC 当作无需初始化的万能配准器。它需要合理的尺度、旋转、平移和 Mask。

6. 当前项目中的推荐用法

固定 SENSOR_SCALE
  → 使用 BASE_DX、BASE_DY 作为初始值
  → 只在固定公共 ROI 内计算相关性
  → 排除 IR 无效区、黑边和 Warp 插值空洞
  → 在小窗口内优化 dx、dy
  → 检查相关性增益和残差
  → 输出融合图

如果任务只是平移微调,没必要每帧重新求完整 8 自由度单应性。可以把搜索范围限制在验证数据确定的小窗口,例如 ±5 或 ±10 像素;窗口大小应根据真实数据中的视差、安装变化和运动情况确定。

7. 与特征法的两阶段配合

两者不是互斥关系,可以采用:

特征匹配 / 人工标定
  → 得到粗略变换
  → ECC 或相关性优化
  → 得到局部精细变换

特征法擅长提供较大范围的初始对应,强度法擅长在初值附近做连续优化。反过来,如果强度法能稳定给出初始位置,也可以不使用特征点。

8. 实操检查清单

  • 初始变换足够接近真实位置;
  • 只在公共重叠区域内计算目标函数;
  • 黑边和 Warp 空洞已从 Mask 中排除;
  • 运动目标不会主导相关性;
  • 变换模型自由度与实际安装误差匹配;
  • 设置最大迭代次数和收敛阈值;
  • 输出前确认相关性提高、残差下降;
  • 用独立点或独立图像验证,而不是只看优化目标值。

结论

特征法是“先找对应点,再求矩阵”;强度法是“直接调矩阵,让重叠区域更像”。

ECC 比较的是去均值、归一化后的整体结构一致性,不是简单的逐像素相减;它最适合在可靠初值附近做精细校正。