opencv对齐算法及其应用

一、算法分类

1. 基于特征的方法(Feature-based)
  • 经典特征: SIFT、SURF、ORB、AKAZE/KAZE、BRISK

  • 深度学习 特征: SuperPoint、SuperGlue、LoFTR、LightGlue、RoMa

  • 匹配与估计: FLANN/暴力匹配 → RANSAC → 单应矩阵/基础矩阵

基于特征的方法核心思想是: 不把整张图片交给算法,而是找出图像中的代表性的特征,独一无二的角点或者斑点,再根据这些点的周围生成一个描述子,最后使用这些描述子进行匹配,识别或者三维重建。

SIFT(尺度不变特征变换,1999)------> SURF(opencv编译不好用,但是比SIFT快3-5倍)------>ORB (定向FAST与旋转BRIEF,常常用于slam,参考:https://zhuanlan.zhihu.com/p/1972439177409831202,最主要步骤:1.特征点检测,2.为每个关键点生成二进制描述符,3.Hamming距离匹配描述符,4.使用RANSAC算法剔除误匹配,但是不具有尺度不变性) ------> AKAZE/KAZE(日文"风"之意,用的不多) ------>BRISK (二进制鲁棒不变可缩放关键点,2011),定位是"比SIFT快很多,比ORB更鲁棒的二进制特征"。

SuperPoint(2017,全卷积网络,将特征点检测和描述子生成两大任务统一到一个模型中)------>SuperGlue(2020,开创性地解决了"如何智能地匹配点"的问题,将强大的Transformer注意力机制用于特征匹配)------> LoFTR (半稠密匹配网络,完全跳过了特征点检测步骤,直接在两幅图像的像素级特征上进行匹配) ------> LightGlue(轻量级的SuperGlue) ------> RoMa(Robust Dense Feature Matching,2024,融合了来自预训练基础模型DINOv2的稳健特征与专门设计的卷积网络精细特征 ,逐个像素点匹配。要求非常高的使用这个。)

SuperGlue参考:CVPR 2020, https://github.com/magicleap/SuperGluePretrainedNetwork

LightGlue参考,2023:https://github.com/cvg/LightGlue 视频对齐和图像对齐非常快而且很好用。

RoMa参考,2024:https://github.com/Parskatt/RoMa

匹配的方法:

FLANN/暴力匹配(最简单直接的方法。对于第一张图的每个特征点,计算它与第二张图所有特征点之间的距离(如欧氏距离),取最近的一个作为匹配点。优点是准确(全局最优),缺点是计算量大,图片特征点多时会很慢。)

→ RANSAC (随机抽样一致性算法,相较于最小二乘法拟合错误的离群点,剔除错误匹配,得到一组可靠的内点(不断收集)匹配 )

→ 单应矩阵/基础矩阵(理解成两个平面的投影变换矩阵)

2. 基于区域的方法(Area-based)

这个是基于区域,也就是像素强度的图像对齐方法,不依赖特征点,直接利用图像的灰度/颜色/统计信息来估计集合变换。

  • 归一化互相关 (NCC)

  • 相位相关 (Phase Correlation)

  • 互信息 (Mutual Information) --- 多模态首选

  • ECC (Enhanced Correlation Coefficient)

归一化互相关 (NCC),用一个模板窗口再目标图像上滑动,计算窗口和模板的"相似度",相似度用相关系数度量。

本质上是计算两个窗口的像素值的余弦相似度。(对线性光照变化鲁棒,计算相对简单,但是对于旋转,缩放。非均匀光照敏感)

相位相关:利用傅里叶变换,根据傅里叶的平移特性,两幅图像如果存在平移,那么他们的互功率谱的相位差就是一个线性斜坡,其逆傅里叶变化就会形成峰值。(光照变化和噪声,以及部分遮挡非常鲁棒,对于形变效果差)

互信息 : 衡量两幅图像统计相关性,不依赖于像素值之间的线性关系,而是看一张图像能提供多少关于另一张图像的信息量。

ecc : 可以看作NCC的迭代增强版。ECC直接最大化一种相关性系数(类似于NCC,但针对图像整体而非滑动窗口),并且支持仿射或透视变换的估计。

3. 密集/直接法(Dense/Direct)
  • 经典光流: Lucas-Kanade、Farnebäck、Inverse Compositional

  • 深度学习光流: RAFT、FlowNet、PWC-Net、GMFlow、FlowFormer、SEA-RAFT

  • DIC(数字图像相关)--- 亚像素精度

4. 深度学习方法
  • STN、VoxelMorph、TransMorph

  • DUSt3R、CroCo、UniMatch

5. 变换模型

|----------------|-----|--------------|
| 变换类型 | 自由度 | 适用场景 |
| 平移 Translation | 2 | 纯平移对齐 |
| 相似 Similarity | 4 | 旋转 + 均匀缩放 |
| 仿射 Affine | 6 | 旋转 + 缩放 + 剪切 |
| 透视 Homography | 8 | 视点变化 |
| 弹性 Deformable | N | 医学 / 形变物体 |

二、应用场景

  • 摄影: 全景拼接、HDR、超分辨率、夜景模式

  • 视频: 电子防抖、超分、插帧、全景视频

  • 医学: 多模态配准、纵向对比、图谱映射、手术导航

  • 遥感: 卫星拼接、变化检测、多光谱配准、INSAR

  • 自动驾驶: SLAM、多传感器融合、目标跟踪、BEV

  • 工业: AOI检测、质量检验、机器人引导

  • 文档: 扫描矫正、OCR、印章比对

  • 科研: 显微镜拼接、免疫组化、细胞追踪、冷冻电镜

  • AR / VR: 人脸特征点、虚拟试穿、AR定位、3D重建

三、场景选型速查

|-------------|-----------------------------|
| 场景 | 推荐算法 |
| 手机全景 / HDR | 特征匹配 + Homography |
| 视频稳定 | FAST/光流 + 仿射/相似 |
| CT-MRI 配准 | 互信息 + B-spline / VoxelMorph |
| 卫星变化检测 | SIFT + 多项式变换 |
| SLAM / 自动驾驶 | ORB-SLAM / 直接法 + 光流 |
| 文档扫描 | ORB + Homography |
| 冷冻电镜 | 相位相关 / 互相关 |
| 工业 AOI | 模板匹配 / 互相关 |
| 人脸 AR | Face Landmark + 仿射 |
| 低纹理/重复纹理 | LoFTR |
| 多模态图像 | 互信息 / 深度学习 |
| 大视差 | SuperGlue / RoMa |

相关推荐
Georgeviewer1 小时前
商业落地评测|实体门店GEO优化性价比与服务体系深度复盘
大数据·人工智能
GuWenyue2 小时前
分不清AI Workflow与Agent?3个实战案例彻底讲透,做AI应用不再踩选型坑
人工智能
彩讯股份3006343 小时前
彩讯股份与心洲科技签署战略合作协议,共建企业级模型后训练能力
人工智能·科技
To_OC3 小时前
LC 51 N 皇后:我以为难的是回溯,结果栽在了对角线下标
javascript·算法·leetcode
迅易科技3 小时前
从场景验证到Agent上线:迅易 × WorkBuddy如何帮助企业建设AI能力?
人工智能·ai·腾讯云
PNP Robotics3 小时前
多伦多大学机器人峰会|物理AI与具身智能落地新趋势
人工智能·深度学习·机器学习·机器人
GIR1233 小时前
官方出品 | 多通道土壤呼吸测量系统市场现状与十五五规划深度报告:行业分析+趋势预测全收录
大数据·人工智能·机器学习
绿算技术3 小时前
绿算技术亮相第十八届HPC AI中国年会,擘画AI基础设施全栈协同新图景
人工智能
2401_841495643 小时前
【操作系统】进程同步与互斥实验报告
c++·算法·操作系统·进程·并发·同步·互斥