基于HALCON的PCB图像拼接方法研究
2018-04-18郭鹏霞冯冲薛严冰徐丹丹
郭鹏霞,冯冲,薛严冰,徐丹丹
(1. 大连交通大学 电气信息学院,辽宁 大连 116028;2. 大连民族大学 信息与通信工程学院,辽宁 大连 116000;3. 大连理工大学 电子科学与技术博士后流动站,辽宁 大连 116000)*
0 引言
在工业实际焊锡膏质量检测应用中,通过普通的相机来获取大范围的PCB图像时,要调节相机的焦距来达到目的,这样做的缺点是全景图像的分辨率相对较低.而且,当PCB与相机间距固定时,也存在无法用一张照片把大尺寸的PCB图拍摄下来的情况.虽然有专门的拍摄全景图像的硬件设备,但是这些设备昂贵,使用不方便,而且广角镜头获得的照片边缘会发生扭曲变形.为了获得高分辨率的大范围的全景PCB图像,研究者提出了图像拼接技术.图像拼接就是把数张有重叠部分的图像拼接成一幅大型的没有缝隙、高分辨率的图像.目前,对全景图像拼接技术的基本理论、性能评价和工程的实际应用等问题的研究已成为国内外学者关注的热点课题之一[1].
全景图像拼接作为新兴的技术,短短几年就得到了快速的发展,并已应用于诸多领域,具有很高的实用价值.因此,对图像拼接技术的研究具有非常重要的意义[2].实现图像拼接有很多工具,比如常见的有MATLAB、Opencv、Halcon等处理软件.Halcon软件是由德国MVTec公司所研发的一个功能强大机器视觉软件,在工业领域应用广泛.它提供了数学形态学、分类器、几何变换、模式匹配、Blob分析、图像标定、三维视觉、图像拼接等算子,本文采用Halcon软件来进行研究.在图像拼接部分已有多种方法实现其结果.2011年2月谭杰、王殊轶等人[3]提出基于Halcon的图像拼接算法研究;2016年2月薛真、项辉宇[4]提出一种用于工件视觉测量的图像拼接方法的研究;2017年2月李明颖、王伟等人[5]提出基于Halcon图像拼接技术在工件测量中的应用研究.但是这些研究都是单一的拼接方法的研究,并没有对几种拼接方法的比对.本文以两幅分场景PCB图作为拼接对象,研究了三种不同的图像拼接方法,其结果通过与标准图进行比对,对三种图像拼接方法的结果进行了质量评价,综合考虑得出方法一在可接受的时间范围内,可以有较好的拼接效果.
1 图像拼接的方法
图像拼接的基本步骤流程如图1所示.该流程可分为三个模块:图像的预处理、特征点的提取和拼接实现.其中图像预处理模块包括图像采集和几何校正.拼接实现作为关键环节,主要工作是根据提取的有效兴趣点建立投影矩阵,然后利用矩阵关系实现图像的拼接.针对每个模块,Halcon软件都提供了不同的算子.本文中图像预处理部分和兴趣点检测部分均采用相同的算子实现,重点对图像拼接实现方法这一关键环节采用了三种不同方法的相关算子进行拼接实验.
图1 拼接流程图
第一种方法利用提取的特征点自动建立矩阵关系,完成图像的拼接.其中涉及的包括有通过寻找点之间的对应关系,来计算两个图像之间的一个投影变换矩阵的算子proj_match_points_ransac,以及把多幅图像拼接成一幅图像的算子gen_projective _mosaic.第二种方法利用提取的兴趣点,自动建立矩阵关系,然后合理设置参数,执行捆绑调整,完成图像的拼接.其中涉及的算子有执行图像拼接的捆绑调整的bundle_adjust_mosaic算子,多幅图执行拼接的算子是gen_bundle_adjust_mosaic.第三种方法首先生成高斯图像,在每层区域提取兴趣点,建立矩阵关系,完成图像的拼接.其中涉及的算子有计算高斯金字塔的算子gen_gauss_pyramid,通过寻找点之间的对应关系,来计算两个图像之间的一个投影变换矩阵的算子proj_match_points_ransac,多幅图像拼接成一幅图像的算子gen_projective _mosaic等算子.
2 图像拼接的实验
本文需要高分辨率全景图做参考对象来评判拼接结果的质量,因此选择两幅有重合部分的PCB图作为实验拼接用图,如图2(a),以标准PCB图(图2(b))作全景图进行拼接质量评价.
图2 Lena实验图
2.1 图像的预处理
由图1的流程可看出,图像预处理分为获取图像和图像几何校正两个部分.在图像获取部分,Halcon软件可以直接通过助手选项中的Image Acquisition来获取图像所在的文件夹来获取图片,也可以直接调用read_image算子来获取待拼接图像.本文是通过read_image算子获取图像.由于在采集图像的过程中,采集设备具有非线性因素,或者因为拍摄角度不同,导致生成的图像会发生几何失真现象.所以需要对失真的图像进行几何校正,以提高图像拼接后续环节的匹配精度.
Halcon机器视觉软件在几何校正的过程是:第一步是获取相机的相关部分参数,紧接着利用算子change_radial_distortion_cam_par根据指定的径向变形来确定相机新的相关的参数.最后一步是通过change_radial_distortion_image算子来改变图像的径向失真.
2.2 图像特征点检测
特征点[6]本质就是一幅图像内灰度在水平和垂直方向都有显著变化的一类特殊点,其有信息量小,信息含量高的特点.常用的提取算子特征点有Moravec算子、Forstner算子、Harris算子等.由于Harris算子提取的特征点均匀而且合理,在纹理信息丰富的区域中,Harris算子可以提取出大量有用的特征点;同时Harris算子中只用到灰度的一阶差分以及滤波[7],操作简单且计算过程中只涉及到了图像的一阶导数,对角点的提取也比较稳定.
Harris算子是Harris和Stephens提出[8]的一种基于信号的角点特征提取算子,其可以表示为:
(1)
式中,M表示相关矩阵,I为x方向的差分,Iy为y方向的差分,ω(x,y)为高斯函数.
R=det(M)-k(traceM)2
(2)
式(2)是来进行角点的判断.Det为该矩阵的行列式,trace是其矩阵的秩,k是常数,通常取为0.04~0.06,本文取0.04.
因此介于上述介绍的优点,本文在Halcon软件中直接调用points_harris算子就可以对待拼接图像提取特征点.
2.3 图像拼接的实验
在图像拼接的实现部分是根据已提取的兴趣点,利用不同算子自动建立相应的投影矩阵,最后生成全景图像.该部分基于点匹配的刚体配准方法[9]是使用最多的空间配准方法.其中Halcon是由1000个独立的函数,算子即其与相关的算法相结合.因此可以认为不同算子的使用,就代表着采用了不用的算法.本文采用了三种方法的实现过程:
方法一:首先通过算子points_harris提取兴趣点,为了能够清晰的可以看到两个图像的兴趣点,用gen_cross_contour_xld算子生成一个XLD轮廓交叉的形状来标注图像内的每一个兴趣点.然后通过算子proj_match_points_ransac找到两图兴趣点之间的对应关系,来计算两个图像之间的投影矩阵,下一步通过concat_obj算子把两个标志性的数组连接起来,最后利用gen_projective_mosaic算子把两幅图生成一幅图像.实验拼接结果如图3(a).
方法二:同样利用points_harris算子来提取兴趣点,然后通过proj_match_points_ransacs算子得到两图像之间的投影变换矩阵,接下来利用bundle_adjust_mosaic算子根据图像的特点设置该算子合理的参数来执行图像拼接的捆绑调整,在该算子参数里投影变换类型设置为刚体变化模型.最后通过gen_bundle_adjust_mosaic算子把两图像拼接成一幅图.实验拼接结果如图3(b).
方法三:在这种方法中,使用一个图像金字塔来计算两个图像之间的投影变化.首先利用gen_gauss_pyramid算子生成高斯金字塔,每层都通过points_harris来提取图像的特征点,在最高的金字塔层,用proj_mathc_points_ransac算子来得到图像之间的投影变换矩阵,而在较低水平的金字塔层,使用从上层近似投影,用proj_match_points _ransac_guided算子通过投影变换矩阵的已知近似点之间的对应关系计算两个图像之间的对应关系,并求出两个图像之间的一个投影变换矩阵.本文的图像的点之间建立的变换模型都是刚体变换,所以要把该变换通过算子vector_to_rigid强行转换成刚体变换.在这种情况下,值得注意的是用proj_match_points_ ransac_ guided算子所得到的转化结果是被忽略的.所以要用于下一个较低的金字塔级,因此该投影矩阵只能通过hom_mat2d_ scale _local、hom_mat2d_scale算子调整到新规模尺寸的大小.最后利用gen_projective_mosaic算子把两图像拼接成一幅图像.实验拼接结果如图3(c).
(a) 方法一
(b) 方法二
(c) 方法三
对图3的结果直观观测可发现,图3(b)和图3(c)稍微有些许瑕疵,图3(a)的细节相对较好,但是这只是主观臆断.靠人眼是无法客观评价拼接方法的效果,因此需要研究客观评价图像拼接质量的方法.
3 图像拼接评价分析与结果
图像拼接多种方法的实验结果目测是比较理想的,为了指出一种合理图像拼接方法,要引进图像拼接结果评价的概念.目前常用并且典型的评价方法有:基于像素误差信息的PSNR[10]、基于结构相似度的SSIM[11]方法和DoEM评价方法[12]等.文献[12]表明三种方法比较可得DoEM方法能有较好的结果,相对更好地能体现出实际主观感受.所以本文采取DoEM方法来对拼接结果做出评价.
3.1 DoEM图像拼接评价方法
DoEM的基本思想是把图像像素信息的统计与结构信息的相似性原理相结合,并利用边缘轮廓图像,对其差分谱信息进行统计,进而对图像拼接质量进行评价.大致可以分为三个步骤:
(1)图像边缘检测;
(2)构建图像边缘差分谱;
首先获得边缘的差分谱,然后用权值矩阵对差分谱进行加权处理.其中涉及到的权值矩阵元素的取值范围为0~1,并且越靠近拼接图像重叠区域的边界其取值越大.
(3)统计差分谱信息并计算评分;
是否存在错位和亮度过渡是影响图像拼接质量的两个主要因素.而边缘差分谱的均值和方差与决定图像拼接质量的两个因素存在正相关的关系.DoEM 是检测边界区域差分谱的亮度均值,并将其与整体的均值相比,利用比值来判断亮暗突变是否占据质量评价主导地位.DoEM在计算评分时,亮度突变和错位因素的评价所占比重随着差分谱的方差变化动态进行调整.主观评价曲线形状呈现墨西哥草帽型,经过曲线函数模拟以及大量仿真修正,得到具体计算公式如下 :
(3)
定义评分因素比重为 :
(4)
其中,C1、C2、C3、C4分别为 4 个常数值,C1、C2是通过评分随着边缘差分谱的均值变化的相关程度而确定;C3、C4所在项为类正态分布曲线.μe为边缘差分谱过渡区域边界区均值,μa为过渡区域整体均值,σ2为过渡区域整体方差.
3.2 图像拼接评价数据结果
本文通过时间、兴趣点的个数,以及DoEM方法来评价这三种不同角度的方法的情况,图4是评价结果.
(a) 拼接时间
(b) 兴趣点
(c) DoEM评分
从图4(a)中可以看出,在拼接时间上,方法一耗时最长,为5.19 s,方法二耗时最短,为3.57s,方法三耗时4.52 s.图4(b)中可以看出,方法一提取的兴趣点数目为148个,方法二提取兴趣点数为138个,方法一略比方法二数目多10个.方法三提取了280个兴趣点,兴趣点数约为其它两种方法的二倍.对于DoEM评分而言,方法一为0.926 0,方法二为0.810 6,方法三为0.763 5,由此看出方法一的评分是最好的,方法二居中,方法三的评分结果最差.综合考虑,在实现两幅图拼接的过程中,方法一在较少匹配点数的条件下,匹配结果最好,同时拼接时间也在可接受的范围内,是拼接效果最佳的一种方法.
4 结论
本文针对如何获得大范围、高分辨率的全景PCB图片这一问题,利用Halocn机器视觉软件研究了三种不同的图像拼接方法,通过匹配的兴趣点数目、时间、DoEM评分对拼接结果进行了评价,客观、准确地反映了拼接图像的真实质量和所使用图像拼接算法的性能.通过本文Halcon软件实验的研究表明,基于两幅PCB图的拼接而言,可以得出在本文研究的三种方法中,方法一综合评价结果最好,可适用于两幅不同图像的全景拼接中.
参考文献:
[1] 余让明 ,安维胜.基于特征的全景图像拼接技术研究[D].四川:西南交通大学 ,2015.
[2] 姜小会,陈清奎.基于特征点的图像拼接技术研究[D].山东:山东建筑大学,2015.
[3] 谭杰,王殊轶.基于Halcon的图像拼接算法研究[J].微电子学与计算机,2011,28(12):184-188.
[4] 薛真,项辉宇.一种用于工件视觉测量的图像拼接方法的研究[J].制造业自动化,2016,38(2):45-47.
[5] 李明颖,王伟.基于Halcon图像拼接技术在工件测量中的应用研究[J].轻工科技,2017, 219 (2):74-75.
[6] 李晓娟 ,郭玉龙 .图像拼接技术研究[D].西安:西安科技大学 ,2007.
[7] SCHMIED C,MOHR R,BUACKHAGE C.Evaluation of Interest Point Detectors[J].International Journal of Computer Vision,2000,37(2):151-172.
[8] HARISS C, STEPHENS M. A combined corner and edge detector[C]. Proceedings 4th Alvey Vision Conference Manchester, 1988,147-151.
[9] 曹彤 ,王硕 ,倪自强,等 .基于 SIFT算子的脑立体定向手术标记点自动定位方法 [J].高技术通讯 ,2014, 24 (2):165-170.
[10] HUYNH HU Q, GHANBARI M. Scope of validity of PSNR in image/video quality assessment[J]. Electronics Letters, 2008, 44(13): 800-801.
[11] WANG Z H R, BOVIK A, SHEIKH C. Image quality assessment: From errorvisibility to structural similarity[J]. IEEE Transactions on Image Processing, 2004, 13(4) :600- 612.
[12] 万国挺 ,王俊平 ,李锦,等 .图像拼接质量评价方法 [J].通信学报 ,2013,34(8):76-81.