1. 引言
滤网零件在制造过程中受到材料特性以及打孔技术的限制,导致实际生产的滤网孔数往往存在不确定性,而滤网的孔数对过滤性能有着至关重要的影响,因此需要一种滤网的孔数检测系统,对滤网零件的孔数进行检测。
如图1所示为不同类型的滤网零件,其表面密布着数百甚至上万个直径在几十微米到几百微米的群微圆孔。人工检测耗时耗力且精确性无法保证,而基于计算机视觉的检测方法在检测过程中,由于相机视野限制[1],无法一次性获得精密零件的整个侧面展开图。本文要对零件侧面孔数进行整体的检测。因此需要采用图像拼接技术将局部侧面图拼接成整体的侧面展开图,为后续的检测工作提供基础支撑[2]。
Figure 1. Different types of filter parts
图1. 不同类型的滤网零件
图像拼接也可称为全景拼接,主要为了解决由于相机视野限制而无法获得完整图像的问题[3],其核心是图像配准,通过对多幅图片的配准与融合,获得视野更大的全景图像[4]。图像拼接算法可分为基于像素信息传播拼接算法、基于特征点匹配的拼接算法和基于变换域的拼接方法三大类[5]。基于像素信息传播的拼接方法直接利用图像灰度值或像素信息进行拼接[6]。此类算法通常通过计算像素之间的相关性来确定最佳拼接位置,简单直观,适用于纹理不明显但灰度差异明显的图像,但对旋转、尺度、视角变化鲁棒性较差。基于特征点的拼接算法通过提取图像中稳定的局部特征,然后进行特征匹配,常见的算法有SIFT、SURF、ORB等[7],此类方法对旋转、尺度、视角变化具有良好鲁棒性,但存在对纹理单一或重复纹理多的图像易误匹配等问题。基于变换域的拼接方法利用图像的变换域特性进行拼接。常见的算法有傅里叶变换拼接算法以及小波变换拼接算法[8]。此类方法能够有效处理图像亮度差异,多尺度融合拼接效果较好,但存在对复杂运动(如旋转、畸变)不敏感,计算复杂度较高,不适用于实时拼接等问题[9]。近年来,基于深度学习的拼接方法兴起,如Detone等人提出了首个基于深度学习的单应估计方法[10],Hong等人提出了HomoGAN算法[11]。然而由于基于深度学习的拼接技术发展还不够成熟,目前应用在工业场景还存在一定困难。与其他几种方法相比,基于特征点的拼接算法对复杂的工业场景具有较强的鲁棒性和精确性[12],适用于滤网零件拼接领域。
在孔数检测方面,更为先进的自动化计数正在逐渐取代传统的人工计数方式[13]。如苏威等人设计了一个基于DSP嵌入式系统的类圆颗粒的实时检测计数系统[14],徐源等人设计出基于双视角信息融合的棒材自动计数系统的硬件平台[15]。以上研究都验证了相比于人工计数,基于图像处理的自动化计数具有明显的优势。
考虑到滤网零件图像拼接场景的特殊要求(复杂纹理、重复特征多),本文提出基于感兴趣区域(Region of Interest, ROI)与旋转几何约束(Rotation Motion Constraint, RMC)的RR-SIFT特征匹配算法与RANSAC相结合的策略,在提升了检测速度的同时保证了拼接结果的精度与稳定性,更好地满足滤网零件检测高精度、高稳定性的实际需求。同时本文上位机界面采用LabVIEW进行开发,对拼接处理后的整体侧面图进行孔数检测,大大节约了时间成本和人工劳动力,并且对滤网的加工制造与检测过程有着重要意义。
2. 基于RR-SIFT的图像拼接方法
2.1. 基于ROI的特征点检测
基于ROI的特征点检测首先以原始图像为基础构建高斯金字塔,在此基础上生成高斯差分金字塔。整个过程主要包括两个步骤:利用低通滤波器对图像进行平滑处理以及对图像进行下采样从而获得具有不同模糊程度和缩放比例的图像,确保后续提取的特征具备尺度不变性。生成高斯差分金字塔DoG尺度空间。尺度空间可以通过高斯函数与图像的卷积得到。图像的尺度空间
定义为:
(1)
式中
为高斯函数,
为原始图像,
为卷积操作。其中高斯函数定义如下所示:
(2)
式中,
为尺度因子,通过调整
来调整平滑强度。
在SIFT算法中,高斯金字塔被优化成高斯差分金字塔DoG,高斯差分金字塔的计算公式如下:
(3)
式中,
为常数因子,代表相邻尺度空间的尺度。
如图2所示为高斯金字塔和高斯差分金字塔的尺度空间。高斯金字塔包含许多组和层,组中每一层之间的尺度不同,相邻层之间的尺度相差一个尺度因子
。而高斯差分金字塔DoG则是从高斯金字塔第二层开始,将每一层图像与前一层图像作差,得到差分图像序列。
Figure 2. Gaussian pyramid and Gaussian difference pyramid (DoG) scale space
图2. 高斯金字塔和高斯差分金字塔DoG尺度空间
在进行完DoG金字塔的构造后,进行极值点的初步检测。如图3所示为检测空间局部极值点的示意图。具体来说,对于DoG的每一个像素点,其要与当前层内的3 × 3邻域的其他8个像素以及上下层中对应的3 × 3邻域的18个像素进行比较,如果该像素在数值上大于或小于所有的26个像素点,则认为它是尺度空间中的一个极值点。
Figure 3. Spatially localized extreme point detection
图3. 空间局部极值点检测
由于DoG会将高斯差分尺度空间离散化会导致检测的极值点精确度不高,为了进行进一步精确定位,需要对高斯差分函数进行曲线拟合。将尺度空间函数用于Taylor级数二次项的展开,其展开式的矢量表现形式为:
(4)
式中,
。极值
通过求该函数相对于
的导数,并令其为零来确定,计算公式如下:
(5)
将公式(5)代入公式(4)中,解得:
(6)
当
的绝对值过小时,则容易受噪声干扰,通常
值小于0.03的点为低对比度点,对于这样的点应当舍去。
高斯差分算子会产生很强的边缘效应,这些由于边缘效应产生的不稳定点严重影响后续图像匹配的鲁棒性和稳定性。为了保证选取关键点的鲁棒性与稳定性,舍去对比度低的点的同时,还需要消除边缘响应强的点。根据公式(7)所示的Hessian矩阵
,可以求出特征点处的主曲率。
(7)
Hessian矩阵的特征值与主曲率成正比,设
、
为Hessian矩阵的特征值,其中
大于
。可根据对角元素计算出特征值之和,并根据行列式的性质计算出乘积,海森矩阵与主曲率的关系为:
(8)
(9)
设
为
、
的比值,即
,则:
(10)
从公式(10)中可以看出,Hessian矩阵迹的平方与其行列式的比值只取决于特征值之比
,当
和
这两个特征值相等时,
为最小值,且比例系数
的值越大其值越大。为了去除边缘响应点,检测主曲率是否满足要求,通过下列公式判断:
(11)
通常建议
,对于主曲率比值大于10的边缘响应强的特征点将被删除。
根据前面的流程获得初步的特征点之后,为了使这些特征点具有旋转不变的特性,需要为每个特征点分配一个主方向,包括梯度幅值
和梯度方向
。其计算方式如下:
(12)
(13)
通过将特征点的邻域划分为16个子区域,并在每个子区域内计算8个方向的梯度直方图,最终构成了一个128维的描述符。这样给每个特征点分配了一个综合了尺度、方向和位置信息的特征描述符,对特征点邻域内的图像信息进行高效且鲁棒的编码。
本文待拼接的图像采集方法是通过电动精密转台带动零件绕零件中心自转,当转台旋转一个固定角度后对图像进行采集,待拼接的图像之间的重复区域与旋转角度有很大的联系。通过这一先验信息,在进行特征点检测的时候加入ROI策略。如图4为基于ROI的特征点检测示意图,具体而言,通过电机旋转的角度以及零件相关信息,能够预先确定连续两张图片之间的大致重复区域。为了提高特征点检测的速率与后续匹配的精确度,排除无关信息的干扰,对于两幅图片之间的非重复区域,在图像特征点检测过程中暂时划分为不感兴趣区域。在图像特征点检测与配准的过程中,加入动态调整ROI策略。为避免采集误差或零件位置存在微小偏差导致感兴趣区域ROI划分不准从而丢失部分有用特征,将待拼接图像的ROI加入一定的容错区域,并将重复区域加入容错区域后的新区域划分为待检测的ROI,仅在该区域进行特征点检测,对于Non-ROI内的特征点不检测,通过这一策略对SIFT算法检测时间较长的缺点进行了有效的优化。
Figure 4. Schematic of ROI-based feature point detection
图4. 基于ROI的特征点检测示意图
2.2. 基于RMC的特征匹配方法
在上节得到图像的特征点后,还需要对两张有重叠区域的图像的相同位置的特征点进行匹配,进而完成图像拼接。传统SIFT采用的特征匹配方法是基于欧氏距离进行计算的,通常采用全局搜索策略,在整个图像范围内寻找相似的候选匹配对。这种确定匹配对的方法会产生庞大的计算量,并且不能保证每个匹配点对都是准确无误的。为了解决这一问题,本文结合实际图像的采集条件,提出了一种基于RMC的特征匹配方法。
由于本文在图像采集过程中,零件的侧面图是通过电动精密转台驱动实现零件绕中心自转,每旋转固定的角度后采集图像。根据这一先验条件,且相机进行过标定与畸变矫正,本文提出基于RMC的特征匹配方法。具体来说,可以认为连续两幅图像之间仅存在水平平移。假设图像侧面展开图视场宽度为
,零件的旋转角度为
,则两幅相邻图像中对应的特征点理论水平位移
为:
(14)
即假设在第一幅图像中某特征点的坐标为
,则在第二幅图像中,该特征点的理想匹配位置
为:
(15)
然而,在实际采集过程中,由于机械系统的偏差以及环境因素干扰等原因,实际的匹配点与理论位置之间存在一定的偏移。为了避免这种偏移误差带来的特征点匹配不准确问题,本文在理想匹配位置的基础上,在水平方向引入
像素的容差,在垂直方向引入
像素的容差,从而构成一个矩形的ROI搜索区域,其加入容差空间后的定义为:
(16)
从几何上来说,只有候选匹配点位于该矩形区域内,才可能满足零件旋转运动所带来的预期平移关系,从而可以认为该匹配对符合旋转几何约束。通过基于RMC的特征匹配方法,进一步加速了特征匹配过程,降低了计算量,提高了匹配效率和准确性。
2.3. 特征点的精确匹配
经过前面特征点检测与匹配的处理后,匹配的特征点可能出现少许误匹配的问题,无法保证匹配的准确性与图像拼接精度。因此本文采用RANSAC算法对特征点进行精确匹配。
为了解决特征点误匹配问题,需要对初步的匹配结果进行进一步筛选和优化。RANSAC算法在大量候选匹配中随机抽取少量不共线的点对,通常来说4个点对即满足要求,通过求解出一个初步的单应矩阵能够剔除匹配中的异常点,随后,将其他匹配点利用该矩阵进行投影变换,计算变换后坐标与实际匹配点坐标之间的误差,并以预设阈值作为判断标准,将误差较小的匹配点归为内点。经过多次随机采样与迭代后,选择内点数量最多且整体误差最小的模型作为最终的单应性矩阵,从而完成精确匹配。根据多视角几何原理,求取单应性矩阵H,特征点单应性矩阵变化如公式(17)所示:
(17)
式中,
和
分别为两个不同视角的图像上的同一个点对齐次坐标。
、
、
、
为尺度旋转变化量,
、
分别为水平和垂直方向的位移量,
、
分别为水平和垂直方向的变化量。根据配准后的信息,对两幅图像坐标变换,得到最终的配准图像,配准后的图像通过坐标变换完成拼接。
2.4. 图像融合算法
相机采集到的图像在亮度和灰度上存在较大差异,这种差异在图像拼接时尤为明显,传统的直接像素叠加方法往往会在重叠区域产生明显的灰度跳变和拼接缝隙,从而严重影响拼接图像的整体连续性和美观性。为解决这一问题,本文采用基于加权平均的图像融合算法,对拼接区域内像素灰度值进行平滑过渡处理,逐步实现从一幅图像到另一幅图像的渐变,从而消除由于光照和曝光不一致所导致的拼接痕迹。该方法在保证图像细节保留的同时,实现了过渡区域的自然融合,最终得到高质量、平滑且连续的全景图像。
加权平均融合算法是一种像素级图像融合方法,其主要内容是在两幅待拼接图像的重叠区域内,对每个像素按照一定权重进行加权平均,从而实现过渡区域的平滑融合,其原理如下:
(18)
式中,
是融合图像,
、
是待拼接的两幅图像,
、
是加权系数。图像融合的效果取决于加权系数的选定,系数越合适,图像融合效果越好。
3. 实验与结果分析
3.1. 实验平台搭建
为验证光源组合方法的效果与改进图像拼接算法的性能,设计如图5所示的图像采集平台原理图。
Figure 5. Image acquisition platform schematic
图5. 图像采集平台原理图
如图6所示为图像采集实验平台。图像采集平台主要包括电动精密转台、海康威视MV-CA050-12GC相机、远心镜头XF-MT1.5X110B、同轴光源与穹顶光源。
Figure 6. Image acquisition experiment platform
图6. 图像采集实验平台
本系统为实现滤网零件的表面孔数检测,通过图像拼接获取待测零件的全景侧面图像,对全景侧面图的孔数进行检测,如图7所示为设计系统的滤网侧面孔数检测流程图。
Figure 7. Flow chart of inspection system
图7. 检测系统流程图
3.2. 组合光照方式对比实验
由于待测零件是曲面并且金属表面具有高反光的特征,本文根据金属曲面零件的特性,设计了组合光照的方式,具体来说就是利用穹顶光源提供柔和均匀的照明,减少硬阴影,适合检测曲面或复杂形状零件特性,同轴光源能消除反射和阴影的特性,将两种光源组合使用。如图8所示为单独光源与组合光源下的图像采集效果,其中(a)仅使用同轴光源(b)仅使用穹顶光源,(c)同轴光源与穹顶光源组合使用。由图可见,穹顶光源或同轴光源单独使用时,会有光照不匀、图像中间有阴影等现象,而两种光源结合时能够在抑制高亮反射的同时兼顾整体亮度与细节呈现,为后续图像拼接与测量提供了更佳的视觉信息。
Figure 8. Comparison effect of single light source and combined light
图8. 单独光源与组合光照对比效果
3.3. 拼接结果分析
为了验证本文基于RR-SIFT的图像拼接方法在效率提升以及图像拼接流程中的有效性和实用性,本节通过实验对传统方法与本文方法进行了对比。
在图像的配准过程中,匹配正确率
可通过公式(19)求得:
(19)
式中,
表示匹配正确的特征点对数量,
为参与匹配特征点总数。
如图9所示为传统SIFT算法和本文RR-SIFT算法匹配结果效果比较图,(a)为传统SIFT算法,(b)为本文的RR-SIFT算法。传统SIFT算法在特征不明显区域存在大量的误匹配现象,本文所提方法特征点匹配分布均匀。另外,两种不同方法匹配的特征点的对数存在差异,RR-SIFT算法比SIFT算法匹配特征点对少,但是,依旧满足计算透视变换模型所需的四组匹配的特征点对数量。
Figure 9. Comparison of SIFT and RR-SIFT matching results
图9. SIFT与RR-SIFT匹配结果对比
由表1可知,本文提出的算法比传统的SIFT算法有着更好的特征匹配速率,且匹配准确率更高。
Table 1. Comparison of SIFT and RR-SIFT feature point matching metrics
表1. SIFT与RR-SIFT特征点匹配指标对比
组别 |
算法 |
匹配数量 |
正确匹配数量 |
匹配准确率(%) |
匹配速度(ms) |
Ⅰ |
传统SIFT |
126 |
98 |
77.8 |
237 |
RR-SIFT |
49 |
47 |
95.9 |
136 |
Ⅱ |
传统SIFT |
155 |
123 |
79.4 |
273 |
RR-SIFT |
63 |
60 |
95.2 |
157 |
Ⅲ |
传统SIFT |
106 |
85 |
80.2 |
231 |
RR-SIFT |
38 |
36 |
94.7 |
128 |
进一步将配准后的图像通过坐标变换完成拼接,经过拼接后的滤网侧面图如图10所示。
Figure 10. Panoramic view of filter parts side by side stitching
图10. 滤网零件侧面拼接全景图
3.4. 孔数检测结果
将前面拼接好的滤网零件完整侧面图利用LabVIEW进行圆孔数量检测,通过LabVIEW函数库对图像进行预处理,图像二值化与边缘检测,应用Hough圆检测算法检测图像中圆形轮廓,最后将检测结果进行计数,如图11所示为上位机界面的可视化检测系统。
Figure 11. Upper computer interface based on LabVIEW
图11. 基于LabVIEW的上位机界面
表2所示为五次对不同滤网的孔数检测结果,根据表中数据可知,对滤网零件的孔数检测准确率达到99.7%,且在检测速度方面有一定的优势。
Table 2. Hole count test results
表2. 孔数检测结果
序号 |
检测结果 |
实际孔数 |
准确率(%) |
检测时间(s) |
1 |
629 |
630 |
99.8 |
1.76 |
2 |
1895 |
1900 |
99.7 |
2.35 |
3 |
1782 |
1790 |
99.6 |
2.28 |
4 |
500 |
500 |
100 |
1.58 |
5 |
3782 |
3800 |
99.5 |
3.73 |
4. 结论
本文针对滤网零件孔数检测问题,提出了一种基于RR-SIFT图像拼接与LabVIEW圆孔检测相结合的检测系统。首先,通过对传统SIFT算法的改进,引入ROI策略和RMC策略,有效剔除了无效与冗余匹配,使得匹配数量减少,匹配准确率大幅提升,匹配速度明显加快。从而为后续图像拼接提供了更加稳定、准确的特征点。实验结果表明,在多个组别中,传统SIFT匹配准确率约在77%~80%,而RR-SIFT则超过94%。在孔数检测方面,系统通过LabVIEW平台对拼接的图像进行检测,检测结果显示,该系统对不同滤网零件的孔数检测准确率均达到99.5%以上,检测时间控制在1.5~3.7秒之间,大大提高了检测效率,降低了人工检测的工作量和误差风险。
本文所提出的检测系统在实验环境下展示了较好的性能,但在实际工业应用中,仍需针对设备稳定性、环境干扰、参数自适应性、实时处理以及系统集成等方面进行进一步改进,以确保系统能够满足高精度、高效率和高鲁棒性检测的要求。
基金项目
上海市科委科技创新行动计划(22dz1201300);上海市浦江人才计划资助(23PJD067)。
NOTES
*通讯作者。