全燕鸣 黎淑梅
(华南理工大学机械与汽车工程学院,广东广州510640)
在大型工件测量系统中,为准确地测量工件的结构尺寸,常需获得工件的高分辨率完整图像.然而由于摄像机的视场、拍摄距离等因素的限制,在采集图像时往往不能通过一次拍摄获得.当被测工件长度超出摄像机视场时,需通过多次拍摄得到多幅图像,应用图像拼接技术生成高分辨率完整图像,而拼接质量和效率是大型工件测量系统中图像拼接的关键.
图像拼接技术是指将相互间存在重叠区域的序列图像拼接成一幅大的无缝高分辨率完整图像的图像处理技术.目前,国内专家对图像拼接算法及其应用进行了广泛的研究.例如,林陆君等[1]根据显微细胞图像特点提出了一种改进的基于模板匹配的图像拼接算法;郑海珍等[2]提出了一种基于角点分层匹配的织物图像拼接算法;林绮等[3]研究了一种应用于轮胎断面测量系统的基于小波金字塔的快速图像拼接算法;宋洁等[4]根据路面图像特点提出了一种基于金字塔和模糊聚类的图像拼接算法;梁忠伟等[5]提出了一种基于分层八邻域方向预测算子的IC芯片图像拼接技术.但目前很少见到有针对特征稀少的金属工件图像拼接算法的研究.孙婷婷等[6]研究了基于特征区域的图像配准算法,实现了对汽车车架纵梁的快速拼接,但该算法精度不高.郑戈毅等[7]针对特征点稀少的炮管内镗图像提出了一种基于Harris角点特征匹配的图像拼接算法,但该算法计算量大.文中结合现有图像拼接算法的优缺点及工件的图像特点,提出了一种改进的模板匹配与特征匹配相结合的高精度快速图像拼接算法.
文中研究的是基于机器视觉的金属工件在线测量系统中的序列图像快速拼接方法,对其图像拼接算法的研究需要考虑以下问题.
(1)由序列图像拼接成的完整图像应用于工件结构尺寸的精密测量且序列图像间存在拼接累积误差,对每两幅图像间的拼接精度要求很高.
(2)由于是在线测量,要求图像拼接算法计算量小、速度快;对于一个特定大小的工件及有限视场大小的摄像系统,为了减少拼接次数及节省采集图像时间,要求采集的序列图像数量尽量少,则序列图像间相互重叠区域较小.但如果图像重叠区域过小,则可能有效点数量较少而难以准确估算变换参数,特征匹配会变得困难且不稳定.
(3)拼接对象是颜色、边缘、轮廓等特征稀少的金属表面,这给图像拼接带来极大的困难;且其表面是重复性较大的金属加工纹理特征,在拼接过程中会出现多个局部特征相对应的情况,极易产生局部特征的伪匹配而造成误拼接.
目前,图像拼接算法主要分为基于区域和基于特征两大类.基于区域的算法是取一幅图像中处于重叠区域内的像素灰度值作为模板,根据评价函数在另一幅图像中寻找与之最相似的区域.该算法运算量大,易受光照、旋转等因素的影响,且对图像中存在大量相似区域、重叠部分较小的情况,模板块选取的随机性会使拼接出现很大的误差.基于特征的算法是提取两幅图像重叠区域的特征,对特征进行匹配,然后计算从一幅图像到另一幅图像的变换.常用的特征主要有点、边缘、面等,其中特征点的方法计算量小,拼接速度快,对照明变化不敏感,匹配精度高,但对两幅相似的图像极易产生伪匹配的对应特征点而造成误匹配.可见,上述两种传统算法在保证图像拼接精度和效率方面尚存不足,无法达到大型工件测量系统中的图像拼接应用要求.
文中根据大型工件测量系统中的图像拼接特点,在基于区域和特征的图像拼接算法基础上,提出一种改进的模板匹配与特征匹配相结合的高精度快速自动拼接新算法,其算法流程见图1.先对相邻两幅图像提取特征点,在第一幅图像中根据特征点的分布确定模板块,在第二幅图像中限定搜索范围,基于区域的方法在第二幅图像中进行模板匹配找到匹配块,即初始匹配,再基于特征点的方法计算匹配块内对应的特征点,即精确匹配,完成图像拼接.
图1 模板匹配与特征提取相结合的图像拼接算法Fig.1 Mosaic method based on feature extraction and template matching
为了保证特征点的准确提取和匹配,每幅图像都用一样的特征点提取算法.典型的点特征有拐角点、线交叉点、不连续点、轮廓上的曲率最大点、封闭曲线的质心点等[8],由于工件图像缺乏边缘、轮廓等信息,这里采用角点作为特征点.常见的角点检测算子有 Moravec算子、Susan算子和 Harris算子.Moravec算子计算简单,运算速度快,但对噪声敏感;Susan算子虽然对噪声不敏感,但其计算比较复杂;而Harris算子计算简单,提取的点特征均匀合理,可定量地提取特征角点,对旋转、尺度、照明变化和图像噪声具有较强的不变性,且可达到亚像素级精度.
Harris算子是Harris和Stephens提出的一种点特征提取算子[9],其原理为:如果某一点向任一方向小小的偏移都会引起灰度的很大变化,则该点即为角点.Harris算子R为
由于测量系统中采集的工件图像不仅存在光照、位置的变化,还存在尺度变化.经典的Harris算子只能在单一尺度上检测角点,角点提取的效果完全依赖于阈值T的设定,易造成角点漏检、误检,且检测出的角点位置误差较大.因此,文中采用高斯多尺度Harris算子提取角点[10-11],其算法步骤如下.
(1)使用尺度Harris角点算子建立原始图像的尺度空间,选择大于某一阈值的局部极值作为候选角点.
将图像上某点x在u和v方向上的偏导与标准差为sσn(其中:s为一常量,s>1)的高斯核的微分进行卷积:
式中:Gu、Gv分别为图像上点x在u和v方向上标准差为sσn的高斯核微分.
则Harris角点中的C(x)的函数将变为:
式中:σI为计算特征点时选择的尺度参数,σI=σD;σD为微分尺度,σD=sσn;G(σI)为高斯函数.
通过判断R=det(C)-ktr2(C)>T检测出σn尺度水平下的特征角点.
(2)验证这些点是否在尺度维度上获得LoG算子局部极大值,如果是,则确定为特征点.
LoG算子为
式中:f(x,y)为待检测函数.
由于工件图像表面具有大量重复性相似的加工纹理特征,易存在角点分布不均匀、角点聚簇的现象.文中采用邻近点剔除策略:用3像素×3像素的模板覆盖该尺度所有的角点,如存在多于一个角点,则取R值最大的点为角点,得到该尺度下的最终角点.
模板匹配的基本原理如图2所示,设两幅图像A和B具有水平方向的重叠区域(阴影部分),其中图像A中有一模板图像块M,在图像B中设定一定大小的搜索区域S,设模板M在搜索区域S上平移,将模板M和被搜索图像中同样大小的一块区域Si,j进行对比,根据两个区域特征的相似程度来确定最佳的匹配位置[12].
图2 模板匹配模型Fig.2 Model of template matching
根据模板匹配的基本原理,文中采用的模板匹配算法步骤如下.
(1)在第一幅图像中的重叠区域根据特征点的分布确定模板块的大小.特征点较密的模板块设置小些,特征点较疏的模板块设置大些.模板块的大小将直接影响模板匹配的效果,模板选择过小会使匹配精度降低,过大则会影响计算的速度.一般将模板块的大小设置为奇数且满足重叠区域各模板块大小内的特征点个数为3~10个.记下模板内特征点个数N,模板内各个特征点的R值大小及其对应在模板中的位置(x,y).
(2)在第二幅图像中限定搜索范围.在采集工件图像时,相机固定,通过数控机床工作台的x、y轴移动进行图像序列的采集,则可根据工作台x、y方向的移动量确定图像间大致的相对位移,从而可以在第二幅图像中限定搜索范围,这样有效地减少了算法的计算量,提高了运算速度.
(3)在第二幅图像中设定的搜索区域上进行模板匹配,找到匹配块.在搜索区域内统计与设定模板大小相同的各搜索模板内的特征点个数Ni,当Ni与第一幅图像中所确定模板内的特征点个数N相差很大时,可将该模板区域直接删除,不进行下一步的特征点位置计算,即:当≥T时(T为设定的个数),则此搜索模板不与设定模板进行下一步运算;当≤T时,则此搜索模板与设定模板进行下一步运算,寻找最优匹配块.计算搜索模板内各个特征点的R值大小及其对应在搜索模板中的位置(i,j).当搜索模板内特征点位置(i,j)、特征点个数Ni和设定模板内特征点位置(x,y)、特征点个数N均相似时,则该模板区域为匹配块.
由于工件表面存在大量重复性相似的加工纹理特征,在拼接过程中极易出现多个局部特征相对应的情况而产生局部特征点的伪匹配,从而造成误拼接;模板粗匹配有效地解决了这个问题.
经模板匹配确定了两幅图像间拼接的粗略位置,接下来还需在第二幅图像匹配块区域中基于特征点的方法找到第一幅图像中模板内各角点所一一对应的唯一特征点从而确定拼接的精确位置,实现高精度的图像拼接.
角点初匹配常用的方法有灰度差平方和法(SSD)、绝对差和法(SAD)和归一化互相关法(NCC),其中SSD和SAD方法运算速度非常快,但光照变化对算法影响比较大[13].这里采用不受光照影响的NCC方法,该方法根据角点领域像素灰度值的相似性来进行匹配.
对于模板图像中的某个特征点,提取一个以该特征点为中心的大小为(2N+1)×(2M+1)(其中,N和M为自然数)的相关窗口,然后在第二幅图像的匹配块区域中按特征点顺序搜索进行匹配.这样,将对应点的搜索区域从整个图像减小到一个和给定模板一样大小的区域,大大降低了计算工作量.设W1和W2是分别以第一幅图像的角点p1和第二幅图像的角点q1为中心的两个大小相同的窗口,u1、u2为相关窗口内像素灰度的均值,(x1,y1)的取值范围为窗口大小,则计算NCC的公式为NCC=
如果只选择最大相关系数所对应的点为匹配点,这样得到的匹配点有一部分是误匹配点,为了去除误匹配点,可以设定一个相关阈值,若最大相关系数值小于此阈值,则认为是误匹配点,进行剔除,再用双向匹配方法进一步剔除错误的匹配点,完成特征点的初始匹配.初始匹配后仍存在很多误匹配点,再采用随机采样一致性算法(RANSAC算法)进行鲁棒匹配,剔除误匹配点,完成特征点的精确匹配.当待拼接的两幅图像最佳配准点位置确定后,就可以实现两幅图像的无缝拼接.
图3 工件图像的高精度快速拼接Fig.3 High-accuracy fast mosaic of two workpiece images
选用工件序列图像中的相邻两幅图像进行图像拼接算法验证试验.图3(a)是工件的相邻两幅图像,首先采用滤波模板大小为7×7,标准差为0.8,阈值为300的Harris算子提取角点,图3(b)中亮点为提取的特征点;再对提取的特征点进行模板初始匹配,图3(c)中方框所示为设定的模板和找到的匹配块,设定的模板大小为33像素×33像素;然后基于特征点的方法在匹配块内进行特征点精确匹配,使用RANSAC算法剔除误匹配点,图3(d)中连接线为经鲁棒匹配得到的两幅相邻图像之间正确匹配点的对极线;图3(e)为拼接结果,可看出拼接效果非常理想.整个拼接过程耗时7.8 s,而传统的算法拼接耗时约为15.6s(计算机配置为:Intel双核CPU,E64202.31GHz,内存为 1GB).
以上验证的是相邻两幅图像之间的拼接过程与相关的算法.对于大型工件测量系统而言,需要把序列中很多幅相邻的图像拼接在一起.采用HV2000FC摄像机和Computar M2514-MP工业镜头组成的摄像系统,在车间环境条件下采集长、宽尺寸均为500mm的大型金属工件图像.由于拍摄距离的限制,采集图像时摄像机视场长、宽分别为200 mm和150mm.为了避免重叠区域过小而导致特征匹配变得困难且不稳定,设定相邻图像间的重叠区域在30%以上.经计算需拍摄5行4列共20幅序列图像,如图4(a)所示.按照文中算法对两两相邻的图像进行拼接,最后的拼接结果如图4(b)所示.对拼接后完整工件图像的边长进行尺寸测量,将测量结果与用三坐标测量机测量的结果相比较,500 mm的边长达到20μm的精度等级.
图4 工件序列图像的拼接Fig.4 High-accuracy fast mosaic of sequence workpiece images
从实验结果可以看出,即使工件图像特征稀少且存在大量的重复性纹理,工件图像间存在亮度差异、旋转等干扰,文中算法仍具有很高的拼接精度和效率.
针对大型工件测量系统中的图像拼接特点,结合现有的图像拼接算法的优缺点,提出了一种改进的模板匹配与特征匹配相结合的高精度快速图像拼接算法,有效地克服了金属工件表面特征稀少且存在大量重复性纹理特征给图像拼接带来的巨大困难.试验结果表明,文中所提算法能实现金属工件序列图像的快速、精确拼接,满足大型工件测量系统中的图像拼接应用要求.
[1]林陆君,孙玲玲,李训根,等.一种改进的基于模板匹配的显微细胞图像拼接算法[J].计算机应用与软件,2010,27(1):108-110.Lin Lu-jun,Sun Ling-ling,Li Xun-gen,et al.An improved cell microscopic images stitching algorithm based on template matching[J].Computer Application and Sofeware,2010,27(1):108-110.
[2]郑海珍,陆蓓.基于角点分层匹配的织物图像拼接[J].杭州电子科技大学学报,2010,30(1):34-37.Zheng Hai-zhen,Lu Bei.Fabric image mosaic based on delamination matching of corner-points[J].Journal of Hangzhou Dianzi University,2010,30(1):34-37.
[3]林绮,马铁军.轮胎断面测量系统的快速图像拼接方法[J].橡胶工业,2010,57(7):438-441.Lin Qi,Ma Tie-jun.Rapid image splicing method for the tire section-scanning system[J].Rubber Industry,2010,57(7):438-441.
[4]宋洁,孙荣艳,张永杰.基于金字塔和模糊聚类的路面图像拼接方法[J].河北工业大学学报,2008,37(5):13-19.Song Jie,Sun Rong-yan,Zhang Yong-jie,et al.Method of pavement image splicing based on the pyramid and fuzzy clustering[J].Journal of Hebei University of Technology,2008,37(5):13-19.
[5]梁忠伟,叶邦彦,彭锐涛,等.基于分层八邻域方向预测算子的IC芯片图像拼接技术[J].华南理工大学学报:自然科学版,2007,35(12):56-60.Liang Zhong-wei,Ye Bang-yan,Peng Rui-tao,et al.Image-splicing technology for IC chip inspection based on direction-prediction operator of grading 8 neighborhoods[J].Journal of South China University of Technology:Natural Science Edition,2007,35(12):56-60.
[6]孙婷婷,修立伟,郑春研.在线检测系统中的图像快速拼接技术[J].机械工程与自动化,2009,6(3):105-106.Sun Ting-ting,Xiu Li-wei,Zheng Chun-yan.Fast mosaic of sequence images in online detection system [J].Mechanical Engneering & Automation,2009,6(3):105-106.
[7]郑戈毅,王国辉,高嘉英,等.炮管内镗图像拼接检测算法研究[J].装甲兵工程学院学报,2007,21(4):28-31.Zheng Ge-yi,Wang Guo-hui,Gao Jia-ying,et al.Research on image jointing algorithm for the inner surface of the artillery bore[J].Journal of Academy of Armored Force Engineering,2007,21(4):28-31.
[8]张广军.视觉测量[M].北京:科学出版社,2008:149.
[9]Harris C,Stephens M.A combined corner and edge detector[C]∥Proc 4th Alvey Vision Conference Sheffield.UK:University of Sheffield Printing Unit,1988:147-154.
[10]陈白帆,蔡自兴.基于尺度空间理论的Harris角点检测[J].中南大学学报,2005,36(5):751-754.Chen Bai-fan,Cai Zi-xing.Harris corner detection based on theory of scale-space[J].Journal of Center South University,2005,36(5):751-754.
[11]叶鹏,王琰.一种改进的Harris多尺度角点检测[J].计算机技术与发展,2010,20(4):58-60.Ye Peng,Wang Yan.An improved harris multi-scale corner detection[J].Computer Technology and Development,2010,20(4):58-60.
[12]焦晶萍,廖文和,沈建新.一种基于模板匹配法的眼底图像拼接方法[J].计算机技术与发展,2010,20(4):148-151.Jiao Jing-ping,Liao Wen-he,Shen Jian-xin.A fundus image mosaic method based on template matching [J].Computer Technology and Development,2010,20(4):148-151.
[13]斯蒂格,尤里奇,威德曼.机器视觉算法与应用[M].杨少荣,吴迪靖,段德山,译.北京.清华大学出版社,2008:295-310.