转自https://blog.csdn.net/shanghaiqianlun/article/details/12090595
一、原理介绍
图像拼接(Image Stitching)是一种利用实景图像组成全景空间的技术,它将多幅图像拼接成一幅大尺度图像或360度全景图,图像拼接技术涉及到计算机视觉、计算机图形学、数字图像处理以及一些数学工具等技术。图像拼接其基本步骤主要包括以下几个方面:摄相机的标定、传感器图像畸变校正、图像的投影变换、匹配点选取、全景图像拼接(融合),以及亮度与颜色的均衡处理等,以下对各个步骤进行分析。
摄相机标定
由于安装设计,以及摄相机之间的差异,会造成视频图像之间有缩放(镜头焦距不一致造成)、倾斜(垂直旋转)、方位角差异(水平旋转),因此物理的差异需要预先校准,得到一致性好的图像,便于后续图像拼接。
相机的运动方式与成像结果之间的关系见下图。
图1:相机的运动方式与成像结果之间的关系
图像坐标变换
在实际应用中,全景图像的获得往往需要摄像机以不同的位置排列和不同的倾角拍摄。例如由于机载或车载特性,相机的排列方式不尽相同,不能保证相机在同一面上,如柱面投影不一定在同一个柱面上,平面投影不一定在同一平面上;另外为了避免出现盲区,相机拍摄的时候往往会向下倾斜一定角度。这些情况比较常见,而且容易被忽略,直接投影再拼接效果较差。因而有必要在所有图像投影到某个柱面(或平面)之前,需要根据相机的位置信息和角度信息来获得坐标变换后的图像。
理论上只要满足静止三维图像或者平面场景的两个条件中的任何一个,两幅图像的对应关系就可以用投影变换矩阵表示,换句话说只要满足这其中任何一个条件,一个相机拍摄的图像可以通过坐标变换表示为另一个虚拟相机拍摄的图像。
一般情况下8参数的透视投影变换最适合描述图像之间的坐标关系,其中8参数的矩阵为[m0,m1,m2;m3,m4,m5; m6,m7,1];各参数对应的相机运动表示如下:
如图2显示的是相机向下倾斜一定角度拍摄图像,这个角度与m6和m7具有对应关系,如果要获得校正图像,只需要对8参数矩阵求逆后进行坐标变换。
(a) 原始图像
图2:(a) 原始图像;(b)x方向形变效果;(c)倾斜校正后效果
图像畸变校正
由于制造、安装、工艺等原因,镜头存在着各种畸变。为了提高摄像机拼接的精度,在进行图像拼接的时候必须考虑成像镜头的畸变。一般畸变分为内部畸变和外部畸变,内部畸变是由于摄影本身的构造为起因的畸变,外部畸变为投影方式的几何因素起因的畸变。镜头畸变属于内部畸变,由镜头产生的畸变一般可分为径向畸变和切向畸变两类。径向畸变就是集合光学中的畸变像差,主要是由于镜头的径向曲率不同而造成的,有桶形畸变和枕型畸变两种。切向畸变通常被人为是由于镜头透镜组的光学中心不共线引起的,包括有各种生成误差和装配误差等。一般人为,光学系统成像过程当中,径向畸变是导致图像畸变的主要因素。径向畸变导致图像内直线成弯曲的像,且越靠近边缘这种效果越明显。根据径向畸变产生的机理,对视频图像进行校正。效果如图3(b)所示,经过校正的图像,其有效像素区域缩小,一般可通过电子放大的方式进行校正,如图3(c)所示。
图3:(a)为原始采集图像;(b)为经过径向失真校正的图像;(c)为经过放大的图像
图像投影变换
由于每幅图像是相机在不同角度下拍摄得到的,所以他们并不在同一投影平面上,如果对重叠的图像直接进行无缝拼接,会破坏实际景物的视觉一致性。所以需要先对图像进行投影变换,再进行拼接。一般有平面投影、柱面投影、立方体投影和球面投影等。
平面投影就是以序列图像中的一幅图像的坐标系为基准,将其图像都投影变换到这个基准坐标系中,使相邻图像的重叠区对齐,称由此形成的拼接为平面投影拼接;柱面投影是指采集到的图像数据重投影到一个以相机焦距为半径的柱面,在柱面上进行全景图的投影拼接;球面投影是模拟人眼观察的特性,将图像信息通过透视变换投影到眼球部分,构造成一个观察的球面;立方体投影是为了解决球面影射中存在的数据不宜存储的缺点,而发展出来的一种投影拼接方式,它适合于计算机生成图像,但对实景拍摄的图像则比较困难。如下图4所示,图像拼接处理流程示意图。
图4:图像拼接处理流程示意图
匹配点选取与标定
由于特征点的方法较容易处理图像之间旋转、仿射、透视等变换关系,因而经常被使用,特征点包括图像的角点以及相对于其领域表现出某种奇异性的兴趣点。Harris等提出了一种角点检测算法,该算法是公认的比较好的角点检测算法,具有刚性变换不变性,并在一定程度上具有仿射变换不变性,但该算法不具有缩放变换不变性。针对这样的缺点,Lowe提出了具有缩放不变性的SIFT特征点。
图5 两幅图像中标定的匹配特征点
如上图5所示,图像的拼接需要在图像序列中找到有效的特征匹配点。图像的特征点寻找直接影响图像拼接的精度和效率。对于图像序列,如果特征点个数≥4个,则很容易自动标定图像匹配点;如果特征点很少,图像拼接往往不能取得较为理想的效果。
图像拼接融合
图像拼接的关键两步是:配准(registration)和融合(blending)。配准的目的是根据几何运动模型,将图像注册到同一个坐标系中;融合则是将配准后的图像合成为一张大的拼接图像。
在多幅图像配准的过程中,采用的几何运动模型主要有:平移模型、相似性模型、仿射模型和透视模型。
图像的平移模型是指图像仅在两维空间发生了 方向和 方向的位移,如果摄像机仅仅发生了平移运动,则可以采用平移模型。图像的相似性模型是指摄像机本身除了平移运动外还可能发生旋转运动,同时,在存在场景的缩放时,还可以利用缩放因子 多缩放运动进行描述,因此,当图像可能发生平移、旋转、缩放运动时,可以采用相似性模型。图像的仿射模型是一个6参数的变换模型,即具有平行线变换成平行线,有限点映射到有限点的一般特性,具体表现可以是各个方向尺度变换系数一致的均匀尺度变换或变换系数不一致的非均与尺度变换及剪切变换等,可以描述平移运动、旋转运动以及小范围的缩放和变形。图像的透视模型是具有8个参数的变换模型,可以完美地表述各种表换,是一种最为精确变换模型。
图像融合技术一般可分为非多分辨率技术和多分辨率技术两类。在非多分辨率技术中主要有平均值法、帽子函数法、加权平均法和中值滤波法等。多分辨率技术主要有高斯金字塔、拉普拉斯金字塔、对比度金字塔,梯度金字塔和小波等。
图6 柱面全景图像拼接
(a)-(d)为四幅不同视角的图像,(e)为最终拼接得到的柱面全景图像
亮度与颜色的均衡处理
因为相机和光照强度的差异,会造成一幅图像内部,以及图像之间亮度的不均匀,拼接后的图像会出现明暗交替,这样给观察造成极大的不便。
亮度与颜色均衡处理,通常的处理方式是通过相机的光照模型,校正一幅图像内部的光照不均匀性,然后通过相邻两幅图像重叠区域之间的关系,建立相邻两幅图像之间直方图映射表,通过映射表对两幅图像做整体的映射变换,最终达到整体的亮度和颜色的一致性。