基于机器视觉的齿轮图像拼接方法研究

2021-03-05 10:01:14张爱梅
机械设计与制造 2021年2期
关键词:尺度像素模板

黄 晓,杨 炯,张爱梅

(郑州大学机械工程学院,河南 郑州 450001)

1 引言

基于机器视觉的测量是近些年兴起的一种非接触式测量方法,在利用机器视觉进行零件测量时对测量精度影响最大的是图像的分辨率。图像的分辨率与设备的质量有直接关系,具有高分辨率与解析力的工业相机拍出的图片质量更高,但是随着设备的质量的提高相应的预算也就提高了。另外,测量精度还与焦距和物距有关。随着物距的增加,工业相机能够拍摄的零件的范围也就随之增加,但是当物距超出了一定范围,尽管得到了被测件的全貌,但是这时的图像已经变得相对模糊,相应的零件的边界也就不能够精确的被提取。基于以上问题提出对被测工件采用多次部分采样,最后应用图像拼接得到被测工件的完整图像。图像拼接就是将有重叠的多幅图像拼接成一幅高分辨率图像[1],实验将要进行图像拼接的工件是齿轮,将齿轮固定到水平的旋转平台上,控制相机依次拍摄出一组齿轮图像的局部图,并使每两个相邻的局部图之间有重叠的区域。将重叠区域控制在1/3 左右,并对这些图片按照顺序编上编号,最先拍摄的为1。采用基于特征点的图像拼接方法,通过特征识别找出每幅图片的重叠区域,最终得到完整的齿轮图像。

2 图像采集

图像采集是图像拼接的第一步,相机、转台、电脑设备的安装摆放,如图1 所示。相机采用的是COMS 面阵彩色相机,由MindVision 提供的MV-UB500C,有效像素为500 万。光源为环形光源,固定在镜头上,采用正面打光。为使后续图像拼接时拼接处较为自然,齿轮放置在由步进电机组成的旋转平台上,每次旋转相同的角度,使每张图片的重叠区域具有相同的大小,电机的步距角为1.8°,扭矩为1.3N.m,电流为3.5A。在进行图像采集时采取的方案是相机Z 轴始终与拼接面垂直,齿轮跟随步进电机每次旋转相同的角度,按照逆时针旋转,步进电机每旋转一个角度相机进行一次拍摄,最终得到一系列具有拍摄顺序的照片,并为这些照片按照所拍摄的先后顺序重新命名,为后续的拼接做准备。相机所采集到的一组照片,照片统一按照BMP 格式进行存储,如图2 所示。

图1 设备安放位置图Fig.1 Equipment Placement Map

图2 多次齿轮采样图像Fig.2 Multiple Gear Sampling Images

3 图像拼接

3.1 拼接方法选择的依据

目前常用的图像拼接方法主要有基于灰度信息的拼接、基于变换域的拼接及基于特征点的拼接。其中基于灰度信息的拼接方法是根据两幅图之间灰度度量的相似性,以图像内部信息为依据,查找相似度最大或者最小的点,计算出参考图像与待匹配图像之间的变换参数。基于灰度信息的拼接方法实现简单,不需要对图像进行复杂的预处理;但其缺点是运算量较大,不能直接用于矫正图像的非线性变换。基于变换域的拼接方法计算量较大,对噪声较为敏感,且不能处理旋转的情况,由图2 可知每两幅图片间都有较大的转角,因此这种方法也无法实现预期的目的。SURF(Speeded Up Robust Features)是一种基于特征点的图像拼接[2],其具有旋转和尺度不变性,且对噪声和光照的抗干扰能力更强,能够提取更加稳定的特征点,为后续特征匹配提供更加有效的特征点,因此最终选用基于特征点的图像拼接方法。在进行特征点描述时采用FREAK 描述子,这是一种基于二进制编码的图像特征描述子,具有计算速度快,噪声鲁棒性好的特点,与SURF特征点检测相结合能够提高图像拼接效率。

3.2 拼接原理

通过几种方法的比对最终选取SURF 进行特征点检测,使用FREAK[3]特征描述子对特征点进行描述,采用暴力匹配法BFMatcher[4]选取最优匹配点对,通过像素的平移完成图像拼接,具体的拼接流程,如图3 所示。

图3 算法流程图Fig.3 Algorithm Flow Chart

由图3 可知,在进行图像拼接时主要包括三个重要步骤,图像匹配与匹配点筛选、生成并修改变换矩阵、图像变换及图像融合,下面对这三个步骤进行详细的描述。

3.2.1 图像匹配与匹配点筛选

采用基于特征点的图像拼接,图像匹配是图像拼接的第一步,图像匹配由三部分组成,特征点检测、构造特征描述子、特征匹配。特征点的稳定性对图像拼接效果影响较大,因此实验中选用具有旋转不变性和尺度不变性的且对光照差异及透视变换鲁棒性较好的SURF 算法作为特征点检测的方法。SURF 特征点检测算法主要包括三个部分,即Hessian 矩阵[5]的特征点检测、尺度空间表示及特征点定位,下面对SURF 特征点检测的三个部分的原理进行介绍:

(1)Hessian 矩阵的特征点检测。通过计算图像的每个像素的Hessian 矩阵的行列式的值,寻找极值点,并使用积分图在计算灰度值之和时,无论矩阵面积多大,所需要的运算量都是相同的原理简化计算过程,提高效率。连续函数f(x,y)的二阶微分Hessian 矩阵表达式(1):

采用标准二阶高斯核对图像进行卷积,图像中一点x(x,y),在尺度σ 下的Hessian 矩阵定义,如式(2)所示。

式中:Lxx(x,σ)—高斯的二阶微分G(x,y,σ)=∂2g(x,y,σ)/σx2在点x(x,y)处与图像I 的卷积Lxx=G(x,y,σ)⊗I(x,y),其余两项与Lxx(x,σ)的含义相同。为了加速计算速度,当σ=1.2在x、y 和xy 三个方向的模板Lxx、Lyy、Lxy使用加权后的9×9盒状滤波器Dxx、Dyy、Dxy模板代替,则极值点判断的公式(3)变为以下形式:

式中:w—使用盒装滤波器进行代替的权值系数,取0.9。

(2)尺度空间表示。SURF 是通过改变盒装滤波器的大小得到一系列的尺度逐渐增加,但尺寸相同的图像,将其称为图像堆。图像堆可分为若干组,每组分为若干层,每层都是由输入图像与不同尺寸大小的滤波器卷积得到,将图像的尺度s 与盒状滤波器的尺度σ 等同。每组内的尺度变化范围为两倍左右,SURF 算法中最小尺度的图像是由9×9 盒状滤波器卷积得到,由于最小尺度σ0=1.2 所以s0=1.2,这个滤波器被称为基准滤波器,其他图像都是由这个基准滤波器推导得到的,如式(4)所示。

(3)特征点定位。首先要通过阈值筛选出响应值最强的像素,然后通过非极大值抑制,去掉那些邻域内不是最大值的像素,为了保证尺度不变性,在进行非极大值抑制时,要同时与被检测像素所在尺度及相邻尺度的邻域像素值比较,被检测像素所在尺度的邻域为8 邻域,而上下相邻尺度图像各有九个像素值,即被检测像素值在3×3×3 的邻域内,与其他26 个像素值比较,为了保证检测到特征点的位置精度,对标记为极大值的像素点进行插值处理,以保证找到的特征点的位置为亚像素级别的。

上面介绍了特征点的检测,下面需要对被检测到的特征点进行描述,实验中将FREAK 描述子作为特征描述子,FREAK 是一种二值位字符串形式的描述符,其具有内存占用小计算速度快的特点,FREAK 描述符的编码特征,如式(5)、式(6)所示。

通过SURF 与FREAK 相结合得到了特征点,为了完成图像拼接,应将图像中重叠部分特征点匹配起来,并剔除误匹的特征点,实验中采用的是多重约束筛选法,具体步骤如下:

采用暴力匹配法BFMatcher 进行特征点的匹配,暴力匹配总是尝试所有匹配可能,从而找出最佳的匹配,尽管会使程序运行的效率较低但是却能够得到最佳的匹配点,这对图像拼接的精确性是非常重要的。

暴力匹配以匹配点之间的欧式距离为基础,使用快速邻近匹配方法knnMatche 计算模板图像到目标图像的最邻近及次临近距离,并计算出目标图像到模板图像的最邻近及次临近距离,当最邻近距离与次临近距离满足式(7)时剔除匹配点:

模板图像到目标图像及目标图像到模板图像,都经过匹配点剔除后,验证模板图像到目标图像剔除的误匹配与目标图像到模板图像剔除的误匹配是否相同,即对称性验证,若双向剔除满足要求则继续往下进行。经过第一次特征点剔除后还是有很多误匹配未被剔除,如图4 所示。

图4 第一次剔除误匹配Fig.4 Shows the First Mismatch

由于经过一次剔除还是会有误匹配未被剔除,所以还要对匹配点进行二次剔除,二次剔除应用密度聚类原理[6],从图4 中可以看出正确的匹配点分布相对较为集中,误匹配分布相对较为散乱,因此可以将分布相对较为集中的匹配点对提取出来,从而达到剔除误匹配的目的。以匹配点对在目标图像上的特征点为圆心,以给定的长度为半径,计算出目标图像所有特征点到选中特征点的距离,在模板图像上进行相同操作,若模板图像与目标图像上,两点之间的直线距离都小于给定的半径,则在在累加器上加一作为记录,当累加器大于3 时将匹配点输出保存,这个特征点就是满足要求的特征点,筛选结果,如图5 所示。

图5 第二次剔除误匹配Fig.5 The Second Rejection of Mismatch

从图5 可以看出经过两次筛选,误匹点已经基本上被剔除干净,但是为了保证拼接的精度还要再进行一次匹配点检验,检验的方法是使用RANSC[7-8]的方法对剩余匹配点进行模型验证,看剩余匹配点是否都为满足要求的内点,如果满足RANSC 算法的要求就将匹配点保存,标记为内点,如果不满足则把匹配点标记为野点,将其剔除,剩余匹配点用于后续的特征矩阵生成。

3.2.2 生成并修改变换矩阵

由于在后续的实验中还要进行齿轮的尺寸测量,所以应该保证目标图像在经过变换矩阵变换时应为刚性变换,因此选用estimateRigidTransform 方法生成变换矩阵T 矩阵,T 为2×3 的矩阵,如式(8)所示。

式中:c 与f—平移变换;a、b、d、e—旋转与缩放变换。

因此T 矩阵可以等效为式(9)形式:

式中:R 矩阵—旋转矩阵;S 矩阵—缩放矩阵;t 矩阵—平移矩阵。

通过式(8)、式(9)、式(10)与式(11)可以列出关于计算缩放因子的方程,式(12)、式(13)、式(14)与式(15)为求取变换矩阵缩放因子的方程组,其中a 与b 为已知的。

为了保证刚性变换应该将T 矩阵剥离缩放因子对T 矩阵进行修改,修改之后,如式(16)所示。

图6 图像缺失情况Fig.6 Image Missing

对目标图像的四个顶点所构成的矩形框进行透视变换,变换矩阵为T 矩阵,但是经过T 矩阵变换后可能出现图像缺失的情况,无法保证图像的完整性,因此需要对变换后的位置进行调整使其位于变换后的图像中心。位置调整应遵循以下原则,比较四个顶点的横坐标,将最小横坐标与Y 轴对齐,比较四个顶点的纵坐标将最小的纵坐标与X 轴对齐,下面给出两种图像缺失的示例,如图6 所示。

经过位置调整以后,原本经过透视变换后的坐标位置会发生移动,因此需要重新计算变换矩阵。使用计算透视变化矩阵的函数对位置变换后的矩形框反求变换矩阵H,使用变换矩阵H对图像进行变换。

3.2.3 图像变换及图像融合

使用变换矩阵H 对目标图像进行透视变换,图像的大小由经过变换后的矩形框的四个顶点的横纵左边的插值的绝对值确定,这样可以保证目标图像能够完整的显示在变换后的图像中。经过透视变换后,目标图像经过了旋转平移等操作,所以目标图像中的特征点位置也发生了变化,在进行图像融合时需要目标图像内特征点与模板图像内特征点正确匹配,因此需要使用透视变换的方法对目标图像内的特征点进行变换,使目标图像与模板图像内的特征点一一对应。因为经过透视变换目标图像与模板图像已经变换到同一坐标系下,将匹配点两两连线,求出连线的斜率,理论上通过特征点进行图像拼接匹配点之间的连线斜率应该是相同的,但由于提取到的特征点可能存在一定的误差,致使连线的斜率可能也会存在一定的误差,因此要对剩余的特征点再进行筛选,用于图像融合。进行两次斜率筛选,第一次运用密度聚类的思想进行筛选,选出斜率误差之间为0.01 的匹配点,第二次将所有匹配点连线的斜率与第一次筛选出的斜率的均值进行比较,将误差为0.005 的匹配点保留下来用于图像融合。进行图像融合时,当两幅图像的大小不同时,无法进行对应位置像素的融合,因此首先要对模板图像进行边界补齐,补齐方式和补齐结果,如图7、图8 所示。

图7 边界拓充原理图Fig.7 Boundary Extension Schematic

图8 边缘填充后模板图像Fig.8 Template Image After Edge Filling

在图7 中,R_img 为模板图像,L_img 为目标图像,当ppl.y大于ppr.y 时图像向上拓展的距离为ppl.y-ppr.y,即图8 中所延伸出的黑色区域,反之向上拓展距离为0,即黑色区域不延伸,其他三个方向的拓展方式与向上拓展相同不再累述。

实验中对图像进行融合采取的是对应像素值相融合,因为模板图像已经经过边界拓展,所以再进行图像融合时只需要将相同位置处的像素点相融合就完成了图像拼接。再进行图像融合时,将两幅图像对应位置处的像素值相比较,共有四种可能性,模板像素值不为0,目标像素值为0;模板像素值为0 目标像素值不为0;模板像素值与目标像素值均不为0;模板像素值目标像素值均为0。对于前两种可能性用不为0 的像素值代表此处像素值,对于均为0 的情况则此处像素值为0;对于均不为0 的情况,使用加权融合的方式,将模板像素值与目标像素值加权融合[9-10]后代替此处像素值。拼接结果,如图9 所示。

图9 完整拼接图像Fig.9 Complete Stitching Image

从图中可以看到拼接效果达到预期目标且拼接缝隙处理的也较为理想,下面将对拼接结果进行误差分析。

4 实验分析

通过单幅图像变换前后的变换情况对实验中所使用的方法进行分析,记录目标图像变换前四个顶点的坐标位置以此计算出变换前图像的面积,记录四个顶点所对应的角度,变换前四个顶点所对应的角度均为九十度。记录变换后四个顶点的坐标,及变换后四个顶点的角度,以此来精确计算出变换后图像的面积,通过比较变换前后图像的面积及顶点夹角对实验进行误差分析。对图1 中2.BMP、4.BMP、6.BMP、8.BMP 几张目标图像变换前后的数据统计,如表1 所示。

表1 目标图像变换前后数据对比Tab.1 Comparison of Target Images Before and After Transformation

通过对这四个目标图像变换之后的图像进行分析可知,通过多次特征点筛选后的特征点匹配度较高且通过对特征矩阵进行修改使目标图像向模板图像进行变换时误差较小。通过对目标图像的误差控制,在后续的齿轮尺寸测量中能够得到较为准确的测量数据。

5 结论

所使用的拼接方法是在已有拼接方法的基础上,将FREAK特征描述子与SURF 特征点检测相结合提高了特征匹配的速度;使用BFMatcher(暴力匹配)的方法将目标图像到模板图像的特征点及模板图像到目标图像的特征点进行一一匹配;使用knn-Match 方法对两次暴力匹配的结果进行搜索,剔除不符合条件的匹配点,并对经过剔除的两次暴力匹配结果进行对称性验证,确定两次剔除的误匹点是否相同,所保留的匹配点是否相同,减少误删现象,使用多次筛选寻找到最佳的匹配点,生成变换矩阵并对变换矩阵进行修改,使图像变换为刚性变换。最后通过特征点连线的斜率寻找最佳的匹配点用于图像的融合,融合结果较为理想,实现了无缝融合。通过实验分析验证,使用的方法在进行图像拼接时,速度快、精度高,因此工程实际中,对精度要求较高且个体较大的工业零件的测量有着重要的意义。

猜你喜欢
尺度像素模板
赵运哲作品
艺术家(2023年8期)2023-11-02 02:05:28
铝模板在高层建筑施工中的应用
铝模板在高层建筑施工中的应用
像素前线之“幻影”2000
财产的五大尺度和五重应对
“像素”仙人掌
宇宙的尺度
太空探索(2016年5期)2016-07-12 15:17:55
高像素不是全部
CHIP新电脑(2016年3期)2016-03-10 14:22:03
铝模板在高层建筑施工中的应用
城市综改 可推广的模板较少
中国卫生(2015年9期)2015-11-10 03:11:10