1. 背景介绍
图像对齐(Image Alignment)作为经典的计算机视觉领域技术,在图像多帧融合、视频防抖以及图像拼接等领域都有广泛应用。比如将多个视角拍摄图像进行重叠区域对齐,可以融合成一张全景图像:
图像拼接
将不同时间连续拍摄的多帧图像对齐后再进行融合,可以提高图像的清晰度和进行图像降噪:
burst super-resolution
将不同曝光下拍摄的图像进行对齐后融合可以提高图像的动态范围:
多曝光融合
通过对帧序列对齐做到实时的视频防抖技术:
图像对齐算法的发展历程可以从早期的基础几何变换方法开始追溯,随着计算机视觉和深度学习领域的进步而逐渐演进和完善,从全局单应性矩阵变换一直细化到像素级的匹配精度:
全局对齐通过如SIFT、SURF、ORB等特征点检测和匹配算法找出图像间的关键点对,并通过RANSAC等算法估计出最优的几何变换参数,比较依赖于特征检测与匹配的精度。同时Homography假定所有的图像特征点都在同一平面上,这意味着它不适用于包含深度变化的复杂三维场景,当相机发生旋转和平移的同时还伴随有非刚体运动(如滚动、俯仰、伸缩等)时Homography的对齐效果会大幅下降。
相较于全局对齐存在的局限性,局部对齐更适用于具有复杂三维结构或明显深度变化的场景,因为它允许对图像进行分块并对每个块应用独立的变形,不过局部对齐方法也比较依赖于特征检测和匹配的质量。
图像对齐:基于局部配准的Mesh Warps技术 - 知乎 (zhihu.com)
光流法相较于前两者可以提供整个图像像素级别的运动信息,更适合解决复杂的、连续的运动估计问题,特别是涉及到非刚体运动和三维深度信息的推断。随着深度学习技术的发展,近年来基于神经网络的光流估计方法也开始崭露头角,这些方法通过训练神经网络直接从输入图像中估计光流场,提高了光流估计的精度和鲁棒性。
2. 全局对齐
基于几何变换的全局图像对齐基本流程通常为特征点检测、特征点匹配、匹配点筛选、变换矩阵计算以及根据变换矩阵对图像进行对齐。
一个基于几何变换图像对齐的简化流程
2.1 几何模型
在图像处理和计算机视觉领域中,仿射变换和单应性变换是两种常用的几何变换模型,在图像全局对齐任务中用何种变换来处理需要根据实际的图像采集情况来进行选择:当图像间的几何差异仅涉及平移、旋转、缩放和剪切时,仿射变换足以完成对齐任务,且计算效率较高。当图像间存在透视效应,如不同视角、相机位置或图像平面倾斜导致的视角变化和透视缩放时,使用单应性变换可以更准确的对齐图像。
仿射变换(Affine Transformations)
仿射变换包括平移、旋转、缩放和剪切(即线性变换加上平移),它保持了直线的平行性和线段的比例关系,但不保持角度和形状(除了直角)。
仿射变换可以通过一个2x3的矩阵表示并通过矩阵乘法作用于图像像素的齐次坐标上,计算变换矩阵时需要至少三个对应点对来唯一确定。
单应性变换(Homography)
单应性变换是一种更复杂的二维到三维再到二维的投影变换,可以处理带有透视效应的场景,如不同的拍摄视角、相机位置或图像平面相对于场景平面的倾斜。
单应性变换可以将一个平面上的点映射到另一个平面上,同时保持直线的交比不变。这意味着它能够处理图像间的非刚性变换,包括透视缩放和视角变化。单应性变换由一个3x3的齐次矩阵表示,需要至少4个对应点对来唯一确定。
2.2 特征检测
特征点检测用于从图像中自动提取出具有独特性和稳定性的关键点,这些关键点可以作为图像的代表特征,用于后续的图像匹配、物体识别、三维重建、运动估计等任务。
特征点通常包含坐标位置与描述这个特征点特征的描述符两大要素,一个好的特征点在图像变换(如缩放、旋转、平移、光照变化等)后仍然易于辨识和定位,描述符包含了描述特征点局部结构和纹理的定量信息。特征点通常为图像中的一些特殊结构,如角点、边缘点、斑点、纹理中心等,因此我们可以根据上述结构化的性质设计检测算法。
2.3 特征匹配与过滤
在各张图像中找出具有独特性和稳定性的特征点,接着为每个检测到的特征点计算其描述符后,我们就可以使用某种相似度度量(如欧氏距离、余弦相似度等)比较两幅图像中特征点描述符的差异,寻找可能的对应关系。对于图像A中的每个特征点及其描述符,找到图像B中最相似描述符所对应的特征点,这样就得到了一组初步的特征点匹配对。
初步匹配往往包含大量的错误匹配(假阳性),即实际上并不对应同一物理特征的特征点对被错误地认为是匹配的。为了提高匹配的准确率,需要进行匹配过滤,去除不正确的匹配对。通常可以通过最小化重投影误差,估计出变换模型,然后只保留那些满足该模型误差阈值内的匹配对。
2.4 变换矩阵求解与图像对齐
在得到多个对应匹配点后,通过如最小二乘等线性求解方法就可以计算变换矩阵的参数。对待对齐图像的坐标进行线性映射到新的坐标位置中,就得到最终对齐后的图像。
3. 局部对齐
全局几何变换的对齐方法通常假设场景中的特征位于同一或近似共面的平面上,同场景拍摄图像的差异主要是相机绕光心旋转运动导致的,当画面存在深度差时对齐效果会大打折扣。
局部对齐(Mesh Warps)是一种基于图像块(patch)的匹配方法,将图像划分为网格状的多个区域,通过局部特征匹配的方式构建多个区域的几何变换,每个区域都被微分成一个平面进行对齐一定程度上解决了深度视差的问题。
不过相比于单应性变换,MeshFlow需要计算每个patch的匹配,计算量较大,尤其是对于高分辨率视频或密集网格划分。
4. 光流法
光流法直接估计像素级别的运动信息,即每个像素点从一幅图像到另一幅图像的瞬时运动矢量,这使得它在处理含有复杂运动模式(如非共面物体的运动、深度变化、非刚体运动等)的图像对齐任务中表现出色。
另外光流法不需要事先知道场景的几何信息或运动模型,它直接从参考和待匹配图像数据中估计运动信息,对未知场景具有较好的适应性。对于含有动态背景、前景遮挡或复杂光照变化的场景,光流法也能在一定程度上进行处理。
根据光流的主要两个假设:像素位移前后亮度恒定不变以及运动的速度比较小,可以建立如下方程:
即在t时刻坐标(x,y)的像素点,在t+dt时刻运动到了(x+dx,y+dy)的像素位置,运动前后的像素位置亮度是固定的。简化得到的公式可以描述为:
求解位移量(u,v)需要至少两个约束方程,因此需要添加一些额外的假设,如空间一致性假设认为图像相邻区域运动接近,因此可以根据局部信息建立多个约束方程求解。
当然光流法也存在一些局限性,如参考图像和待对齐图像之间存在极端光照变化、大面积遮挡,以及图像的重复纹理或无纹理区域的处理可能较为困难。随着深度学习的发展与应用,上述问题在一定程度上得到了解决。基于深度学习的光流网络通常会运用多尺度的coarse-to-fine架构以及相关性cost volume,通过数据驱动可以学习到针对各种噪声、光照变化、遮挡等情况的内在关系。
5. 评价指标
图像对齐的评价指标主要用于衡量对齐结果的质量,即两幅图像在对齐后是否在几何位置、形状、纹理等方面达到了预期的匹配程度。以下是一些常用的图像对齐评价指标:
重投影误差(Reprojection Error)
重投影误差衡量的是对齐后的图像中特征点在参考图像中的投影位置与参考图像实际匹配特征点之间的距离。对于每一对匹配点(p,q)计算公式如下:
重投影误差越小,说明对齐效果越好。通常会对所有匹配点的重投影误差求平均值或中位数作为整体评价指标。
精确匹配率(Correct Match Ratio)
精确匹配率是指在给定阈值下,重投影误差小于该阈值的匹配点对占总匹配点对的比例。计算公式如下:
在使用 RANSAC、LMEDS 等鲁棒性估计方法求解变换矩阵时,通常会有一个内点(inliers)与外点(outliers)的概念。Inlier Ratio 表示内点(即符合模型的匹配点对)占总匹配点对的比例,它是鲁棒性估计方法中评价模型质量的重要指标。
结构相似度指数(SSIM)
对于对齐后的图像,可以直接与参考图像进行结构相似度比较。SSIM 是一种基于人类视觉系统的图像质量评价指标,用于衡量两幅图像在结构上的相似程度。尽管 SSIM 主要用于图像质量评估,但在图像对齐任务中,也可以作为评价对齐后两幅图像在纹理、结构一致性方面的指标。
6. 面临的挑战
重复纹理与弱纹理场景
在具有重复纹理的区域(如砖墙、布料纹路、树木丛林等),特征可能会高度相似甚至完全一致,导致算法在匹配过程中产生大量误匹配,即错误地将一个特征点与另一个不应匹配的点配对。
对于 SIFT、SURF、ORB 等特征点检测和匹配方法,在弱纹理背景如纯色墙壁、天空,提取出来的特征点数量很少且稳定性差,这会降低对齐的精度和鲁棒性。
遮挡、运动与大视差
当目标物体部分或全部被其他前景物体遮挡时,会导致导致在一帧中存在的特征在另一帧无法找到相同的特征点进行匹配。而快速运动或非刚体运动会使图像内容发生大幅度的变化,这对图像对齐来说是一个重大挑战,因为快速运动会造成较大的视差,使得简单的几何变换难以准确描述图像间的对应关系。并且运动物体会破坏周围正确计算的对齐结果,导致连锁反应。
而图像对齐中的大视差问题是指当拍摄同一场景的不同视图时,由于相机间的相对位置发生了较大变化,导致同一物体在不同图像中的投影位置差异很大。随着视差增大原本在较小视差下可以成功匹配的特征点可能无法在另一幅图像中找到相应的匹配点,因为物体在图像中的位置发生了显著改变,并且场景中的远近物体可能在不同图像中的尺度变化差异极大。
极暗场景与噪声干扰
在极低光照条件下获取的图像,其信噪比(SNR)通常较低,也就是说,图像中的有用信号(细节和结构)相对于噪声而言非常微弱。
对于特征提取而言,由于暗区的像素值接近于噪声水平,可能导致有效的边缘、纹理特征变得模糊不清,难以被传统的特征检测算法(如SIFT、SURF)有效捕捉。
性能开销
图像对齐算法的性能不仅涉及选择适当的特征提取与匹配方法,还包括合理设计运动模型、采用适合的优化算法、充分利用硬件资源,以及根据实际应用场景调整预处理和后处理步骤。此外,随着深度学习的发展,越来越多的学者也在探索如何借助深度学习提高图像对齐算法的性能和鲁棒性。