冯 珂, 彭曙蓉, 陈立福, 杨京渝
(长沙理工大学 电气与信息工程学院, 湖南长沙 410114)
图像配准主要分为几何配准和深度配准两种。本文主要介绍基于点映射的几何配准方法。该方法在待配准和基准两幅图像中选择控制点来确认图像中的相同特征和标志,然后根据这些控制点的位置来推算某种空间映射关系,再用这种空间映射的关系对待配准图像进行几何变换,获得配准结果[2-3]。
本文介绍的配准方法均是在MATLAB软件中完成,MATLAB以其强大的矩阵运算功能及丰富的图像处理函数在图像处理方面占有明显的优势,在图像的几何运算方面,MATLAB的图像处理工具箱(简称IPT)提供了一些支持点映射的工具,其中的图像配准函数可以帮助研究人员把精力集中在算法研究上,而不是繁琐的程序的编写上,从而大大提高工作效率。
图像配准的关键问题是图像之间的空间变换,确定使图像对准的空间几何变换参数。在数字图像处理中,几何变换由两个基本操作组成:一是空间变换,它定义了图像平面上像素的重新安排;二是灰度级插补,它处理空间变换后图像中像素灰度级的赋值。
假设一幅定义在坐标系(w, z)上的图像f,经过几何变换T后产生了另一幅定义在坐标系(x, y)上的图像g,那么这个变换可以表示为:
空间几何变换的最常用的形式是仿射变换,它可以用如下矩阵形式表示:
该变换可以做到按比例缩放、旋转、平移或者剪切等,具体取决于T元素的取值。
图像经过几何变换后,像素的坐标不会和原来的采样网络完全重合,这就需要对变换后的图像进行重采样和插值处理。我们常用的插值方法有3类[1,4]:最邻近插值法(nearest)、双线性插值法(bilinear)、双三次插值法(bicubic)。
这些插值方法都是利用了邻近像素的灰度值,计算量小且误差小,因此在配准中得到了广泛的应用。
图像配准就是对在同一视觉系统中,针对不同条件环境下所获得的图像数据,进行校正相对位置平移、角度旋转和缩放尺度,达到两张或多张图像在空间上对齐,使得图像上的特征点更容易达到一对一映射。
从数学角度,图像配准之间的映射关系可以如下表示,假设用二维矩阵I1和I2来分别表示源图像和目标图像,I1(x, y)和I2(x, y)分别表示源图像和目标图像在点(x, y)处的灰度值,那么图像间的映射关系可以表示为:
其中,f表示的是二维空间下的坐标变换,g是个一维函数,代表了成像设备因成像条件不同所对应的灰度变化。坐标变换是关键,图像校正属于图像预处理阶段。由此可见,图像配准其实就是找最佳坐标变换。
MATLAB中的IPT支持以控制点为基础的点映射图像配准。一旦选出了足够的有效控制点就可以利用IPT函数来推导出实现某种映射关系的空间变换,以便控制这些点。
使用点映射的图像配准如图1所示。
图1 MATLAB配准流程图
2.2.1 将图像读入MATLAB中
>> I1=imread(‘C: shift_left.bmp’);% 读入待配准图像
I2=imread('C: base_img.bmp’);%读入基准图像
unregistered =I2;
rect=I1;
虽然在显示图像时并不一定要将图像读入MATLAB中,但是如果希望使用相关性调节控制点的位置,那么图像必须位于MATLAB工作平台中。
2.2.2 在两幅图中采集控制点对并保存
在MATLAB中IPT提供了一个称为控制点选择工具的交互工具cpselect函数,可以利用它在两幅图像中选择成对的对应控制点。其调用格式为:
cpselect(unregistered(:,:,1),rect);
其中unregistered为基准图像,rect为待配准图像。
cpselect函数是一个交互工具。它能同时显示如图2所示的待配准图像和如图3所示的基准图像的两个视图(如图4所示,概览窗口左图为待配准图像,右图为基准图像)。执行该函数,启动控制点选择工具,观察图像,通过平移和缩放图像获得图像观察区域内的细节信息,寻找在两幅图像中都可以识别的可视元素,选定输入图像和基本图像中匹配的控制点对,最后将控制点保存在MATLAB的工作平台中。采集控制点时应遵循以下原则:(1)两图像上的控制点特征一致,必须是两幅图像中都能找到的标记同名点;(2)选择控制点相对分散均匀;(3)控制点的数量需适中,控制点太少会影响估计精度,太多则影响估计速度。
图2 待配准图像
图3 基准图像
图4 利用cpselect提取图像的控制点
2.2.3 指定所需变换类型和求解变换参数
根据已选择的控制点对,可调用函数cp2tform来计算出待配准图像和基准图像之间的几何变换关系。cp2tform函数是一个数据拟合函数,其输入参数除了确定的控制点外还要求输入变换类型,该变换类型还限制了控制点的数目。由于输入图像中的形状没有改变,但图像经过平移变换后右边部分明显发生了失真,所以变换类型采用linear conformal(线性等角)变换,具体的调用函数如下:
tform=cp2tform(input_points,base_points,’linear conformal’);
执行该函数后,cp2tform将变换类型和变换参数等信息返回给变量tform,以备imtransform函数调用。
2.2.4 进行图像配准
调用imtransform函数,重采样类型选用双线性插值法[1,5]。定义g代表配准后的输出图像,则执行完该函数后,完成图像的几何变换和图像重采样。
g=imtransform(I2,tform,’bilinear’);
在该过程中,变换将应用于输入图像的每一个颜色分量。图5是待配准图像配准后的的图像,与之前的基准图像相比,配准后的图像与基准图基本保持一致。
图5 配准完成后的图像
作为图像处理的关键环节,根据图像的特点和对图像的不同的应用目的,图像配准可由多种方法实现。例如ENVI,IPT工具箱等,相比之下,MATLAB调用函数的配准方法简单易行,且运算速度较快,在任务量小且配对精度不高的情况下是一个很好的选择。但是,基于点特征的图像配准对控制点的选择有较高的精度要求,本方法采用人机交互选择控制点,精度不够稳定,选点时应格外注意。因此,研究一种快速自动的算法以获得精确的匹配点对,将基于特征点的图像配准方法向自动化与高精度方向推进的同时考虑算法的鲁棒性是进一步要探索的方向。
[1]冈萨雷斯.数字图像处理[M].3版.北京:电子工业出版社,2011.
[2]陈显毅.图像配准技术及其MATLAB编程实现[M].北京:电子工业出版社,2009.
[3]卡斯尔曼.数字图像处理[M].朱志刚 译.北京:电子工业出版社,2002.
[4]刘振颍,张永寿.基于控制点图像配准方法的研究[J].中国医学装备,2011.
[5]李弼程,彭天强,彭波,等.智能图像处理技术[M].北京:电子工业出版社,2004:4-8.
[6]Bentoutou,Y.;Taleb,N.;Kpalma,K.;Ronsin,J.An Automatic Image Registration for Applications in Remote Sensing[J].IEEE Transactions on Geoscience and Remote Sensing,2005,43(9):2127-2137.
[7]L G.Brown A survey of image registration t e c h n i q u e s[J].A C M C o m p u t e r Surveys,1992,24,(4):325-376.
[8]P.J Bunt,E.H Adelson.A multiresolution spline with application to image mosaics[J].ACM Transactions on Graphics,1983,2(4):217-236.