一种基于机器视觉的工业磁芯元件的形变检测方法
技术领域
本发明涉及一种基于机器视觉的工业元件形变检测技术。
背景技术
随着工业生产的迅速发展,对产品质量的要求也在不断提高,响应的对于产品质量检测技术的速度和准确率也提出了更高的要求。已有的人工检测方法因为检测分辨率低、质量完全取决于操作人员的主观判断等缺点而无法满足工业生产需求。近年来,基于计算机视觉的工业产品检测技术因为其检测精度高、检测速度快、成本低等优点而被广泛应用于工业生产。
变压器是目前国民生产中不可缺少的一个元器件,而变压器最核心的部分就是磁芯,磁芯的好坏直接决定变压器的好坏。因此,在磁芯元件的生产过程中,需要对磁芯进行出厂检验:(1)磁芯元件尺寸的测量,根据尺寸的大小对磁材进行分类;(2)磁芯元件的形变检测,要求磁芯不能有过大的变形;(3)磁芯元件表面缺陷的检测,要求表面不能有瑕疵。当磁芯元件出现形变后,磁芯就会在尺寸测量时错误地分到其他尺寸类别中。同时,形变也会对磁芯元件的装配产生影响。两个磁芯元件无法紧密地组合在一起,磁芯间会出现不平整的空气层,就会出现漏磁现象。漏磁会导致变压器使用过程中出线大量的能量损耗,也会严重影响变压器的使用寿命。因此,对磁芯形变的检测是出厂检验过程中非常重要的一环。
在实际检测过程中,磁芯可能会出现非刚性形变,这使得传统的基于刚性模型的匹配算法不再适用。对于这一情况,往往使用一种基于更加灵活的形状模型(ASM)的匹配算法,这种算法更加适用于形状不定的磁芯。然而,大量的研究表明,现有技术仍然存在许多问题:(1)现有技术对不准确的初始化敏感,对待测区域进行分割时,无法得到正确的分割结果;(2)在遇到一些检测干扰时,现有技术没有足够的鲁棒性和快速性。
发明内容
本发明针对现有的工业磁芯元件形变检测技术存在对初始化敏感,以及鲁棒性差的问题,提出了一种基于机器视觉的工业磁芯元件的形变检测方法。
本发明所述的一种基于机器视觉的工业磁芯元件的形变检测方法是基于单平台多任务自动光学检测系统实现的,所述单平台多任务自动光学检测系统采用两个高清摄像头同时采集工业磁芯元件的表面图像,其中一个高清摄像头用于采集工业磁芯元件的正面图片,另一个高清摄像头为远心镜头相机,用来采集工业磁芯元件的侧面图像;
所述方法包括如下步骤:
步骤一、系统初始化,当待测工业磁芯元件在传送过程中触发红外传感器时,使用远心镜头相机采集一张待测工业磁芯元件侧面的图像,所采集的图像的大小为1280×1024个像素;
步骤二、使用Sobel算子对步骤一中采集到的图像进行进行边缘检测,以进行待测区域的分割,使用形态学方法对检测到的边缘图像进行膨胀,并根据8连通规则对该图像去除干扰,然后使用模板匹配的方法确定待测工业磁芯元件的中心位置,对待测工业磁芯元件区域进行图像裁剪,得到感兴趣区域;
步骤三、对步骤二得到的待测工业磁芯元件的感兴趣区域的最左和最右两个边缘进行边缘检测,对检测结果采用高斯微分滤波器进行滤波,对滤波结果进行二值化处理,对二值化处理结果使用形态学方法进行膨胀,并结合8连通规则去除干扰点;对去除干扰点后的二值边缘图像使用改进的最小二乘法进行拟合,计算最左和最右两个边缘的拟合直线的角度差;
步骤四、根据步骤三得到的角度差的大小对待测工业磁芯元件的形状进行判断,如果右边缘的角度与左边缘的角度之差在合格范围内,则认为该待测工业磁芯元件是合格品;否则,认为该待测工业磁芯元件是不合格产品。
上述方法可以应用到工业产品的自动生产和监测中,去除掉生产的形变比较大的产品,保证形变都控制在合理的范围内,不影响产品正常使用,具有鲁棒性强、检测速度快、检测效率高的优点。
附图说明
图1为实施方式一中的单平台多任务自动光学检测系统的原理
图2为实施方式一所述方法的流程图;
图3为实施方式二中的I0;
图4为实施方式二中的IT;
图5为实施方式二中的边缘图像
图6为实施方式二中的边缘图像
图7为实施方式二中使用形态学方法对进行膨胀后得到的图像;
图8为实施方式二中的
图9为实施方式二中的
图10为实施方式二中的Ic;
图11为实施方式二中步骤二的流程图;
图12为实施方式三中的左边缘和右边缘的感兴趣区域,其中a表示左边缘的感兴趣区域,b表示右边缘的感兴趣区域;
图13为实施方式三中的二值化结果,其中a表示左边缘的二值化结果,b表示右边缘的二值化结果;
图14为实施方式三中的二值图像和其中a表示b表示
图15为实施方式三中步骤三的流程图。
具体实施方式
具体实施方式一:结合图1说明本实施方式,本实施方式所述的一种基于机器视觉的工业磁芯元件的形变检测方法是基于单平台多任务自动光学检测系统实现的,所述单平台多任务自动光学检测系统采用两个高清摄像头同时采集工业磁芯元件的表面图像,其中一个高清摄像头用于采集工业磁芯元件的正面图片,另一个高清摄像头为远心镜头相机,用来采集工业磁芯元件的侧面图像;
所述方法如图2所示(以E型磁材为例),包括如下步骤:
步骤一、系统初始化,当待测工业磁芯元件在传送过程中触发红外传感器时,使用远心镜头相机采集一张待测工业磁芯元件侧面的图像,所采集的图像的大小为1280×1024个像素,如图3所示;
步骤二、对步骤一中采集到的图像进行待测区域的分割,使用模板匹配的方法确定待测工业磁芯元件的中心位置,对待测工业磁芯元件区域进行图像裁剪,得到感兴趣区域;具体步骤见流程图2。
步骤三、对步骤二得到的待测工业磁芯元件的感兴趣区域的最左和最右两个边缘进行边缘检测,得到二值边缘图像;对所述二值边缘图像使用改进的最小二乘法进行拟合,计算最左和最右两个边缘的拟合直线的角度差;该具体步骤见流程图3。
步骤四、根据步骤三得到的角度差的大小对待测工业磁芯元件的形状进行判断,如果右边缘的角度与左边缘的角度之差小于3°且大于-1°,则认为该待测工业磁芯元件是合格品;否则,认为该待测工业磁芯元件是不合格产品。如果所述角度之差大于3°,则认为该待测工业磁芯元件存在外张形变问题;如果所述角度之差小于-1°,则认为该待测工业磁芯元件存在内缩形变问题。不论外张形变和内缩形变,系统都将该磁材认定为不合格产品,作不合格处理。
图1是工业磁芯元件检测系统的结构示意图。伺服机构1确保所有待测工业磁芯元件都整齐地排列。传送皮带2驱动元件依次向前运动。一旦元件移动到相机3的视野中,第一个传感器41就会触发两个相机3进行图像采集,接着触发工控机和控制电路板5进行尺寸测量、缺陷检测和形变检测。根据图像处理的结果,将磁芯元件分为A、B、C、D和E五类,其中E对应的是不合格磁芯元件。相应的,一共有五个通道的卸料平台6,每个卸料平台6存储一类元件。在元件通过第二个传感器42后,当目标通道到达时,该元件被一个液压机械手7推到卸料平台6上。
可以看到,这是一个单平台多任务自动光学检测系统。为了能同时对工业磁芯元件进行正面部分的测量、缺陷检测和侧面部分的形状检测。我们设计使用了两个摄像头对齐同时检测的系统。第一个高清摄像头正对着磁芯元件,采集元件的正面图片,此图片用来进行元件尺寸测量和缺陷检测。而第二个摄像头是用来采集元件侧面图像,进行侧面的畸变检测。由于和伺服机构位置的冲突,是不可能正对着元件侧面的,而是斜对着元件侧面的。众所周知的,在这种情况下使用通常的摄像头采集图像容易发生透视失真的现象。为了解决这个问题,我们使用了远心镜头来采集侧面图像。即便磁芯元件侧面每个部分和摄像头有不同的距离,使用远心镜头都能按照恒定的缩放比例显示在图像中,使得不论相机是怎么样的视角、元件是怎么样的朝向,都能保持元件的形状失真度非常小。
本实施方式所述的检测方法,对于保证检测精度、稳定性和速度上,都有重要的意义,其优点主要在于针对各种情形设计了多种去除干扰点的方法:对于Sobel算子检测结果,使用形态学膨胀和最大连通域的方法;对于高斯微分检测出的结果,使用形态学膨胀以及去除小占比连通域的方法去除部分的干扰点,再使用改进的最小二乘法在进行直线拟合的同时去除掉剩余的干扰点。这些方法大大增强了检测方法的稳定性,并且该方法对初始化不敏感,提高了检测方法的精度和鲁棒性。
具体实施方式二:结合图2至图11说明本实施方式,本实施方式是对实施方式一所述方法的进一步限定,本实施方式中,步骤二具体包括如下步骤:
步骤二一、读取步骤一采集到的待测工业磁芯元件侧面图像I0,如图3所示,读取模板图像IT,如图4所示;
步骤二二、由于使用模板匹配定位是一个比较耗时的过程,而且步骤二总体来说是一个粗定位的过程,因此对待测工业磁芯元件的侧面图像I0和模板图像IT缩小至1/k,k的优选值为5,缩小后的侧面图像和模板图像分别为和构建高斯滤波器G,对和分别进行滤波,去除图像中的噪声,高斯滤波器G的优选矩阵为
在对工业磁芯元件进行定位和旋转前进行了缩小图像的处理方法,能够大大减轻计算负担,加快计算速度,提高检测效率。
使用Sobel算子对高斯滤波后的两个图像分别进行边缘检测,Sobel算子的二值化阈值的优选值为20,分别得到边缘图像和如图5和6所示;
步骤二三、在步骤二二中得到的边缘图像有时候会包含一些干扰点,这些干扰点对后面的元件中心的估计可能会产生较大的影响。因此,我们需要判断哪些是干扰点,并去除掉这些干扰点。一般情况下,磁芯元件的边缘是互相连在一起的,或者只存在一些断点,而干扰点一般是离元件本身比较远。因此我们先使用形态学方法对进行膨胀,得到如图7所示的图像。那么,我们可以看到元件边缘线都连通在一起,而干扰点是不与元件边缘连通的。而且元件边缘连通的区域中包含的像素点是最多的。我们根据8连通规则,统计膨胀后的图像中的连通区域,选取最大的连通区域作为待测磁芯元件的边缘区域,其余的连通区域作为无效区域全部去除,所得图像如图8所示,记为二值化图像的白色区域对应的值为1,黑色区域对应的是0。因此,我们对与进行“与”操作,得到没有干扰的边缘图像如图9所示;
步骤二四、使用作卷积核,对作卷积操作,卷积结果中值最大的元素所对应的像素即为待测工业磁芯元件中心点对应的大致位置,记为其中为中的纵向坐标,为中的横向坐标,由于是I0缩小至1/k后的图像,因此可以得到在原始图像I0中待测工业磁芯元件的中心坐标的大致位置
步骤二五、模板图像IT的高和宽[HT WT]是已知量,考虑到磁芯元件中心检测过程中有可能会出现一定的偏差,因此在裁剪掉Io中无效区域的时候留有一定的裕量,待测工业元件侧面部分位于上边缘max(mx-0.75HT,1)、下边缘min(mx-0.75HT,1024)、左边缘max(my-0.55WT,1)和右边缘max(my+0.55WT,1280)所围成的区域内,min()和max()代表了取最小和取最大函数,将上下左右边缘所围成的区域划分出来作为感兴趣区域,其余部分作为无效部分去除,得到的图像记为Ic,如图10所示。
具体实施方式三:结合图1说明本实施方式,本实施方式是对实施方式一和二所述方法的进一步限定,本实施方式中,在实施步骤三中具体包括如下步骤:
步骤三一、还是以E型磁芯为例,选取左边缘和右边缘的感兴趣区域,具体方法为:
Ic的尺寸为[Hc Wc],即Ic的纵向长度为Hc,Ic的横向长度为Wc,左边缘的感兴趣区域在横坐标1和0.3Wc之间,右边缘的感兴趣区域在横坐标0.7Wc和Wc之间,左右边缘的感兴趣区域如图12所示;
步骤三二、选取高斯微分滤波器对左右边缘的感兴趣区域进行滤波,高斯微分滤波器是指对高斯函数取一次导数得到的滤波器,该滤波器在进行边缘检测的同时也同时进行高斯平滑的操作,对检测过程中容易出现的高频噪声有良好的抑制作用。在边缘检测过程中,我们主要检测的是最左边缘和最右边缘,因此选用的是横向高斯微分滤波器,所述横向高斯微分滤波器选择为:
[0.18 0.38 0.57 0.55 0.24 -0.24 -0.55 -0.57 -0.38 -0.18]
使用该横向高斯微分滤波器对左、右边缘的感兴趣区域分别进行滤波,得到的结果分别为DL和DR;
步骤三三、对左边缘感兴趣区域的滤波结果DL的每个像素值进行降序排序处理,选取第30%的像素值(假设共有10个像素,将这10个像素值按降序进行排序,那么排在第3位像素值就是第30%的像素值)作为阈值对DL进行二值化处理,大于该阈值的位置取1,小于该阈值的位置取为0,得到二值化结果BL;对右边缘感兴趣区域的滤波结果DR的每个像素值进行升序排序处理,选取第30%的像素值作为阈值对DR进行二值化处理,大于该阈值的位置取1,小于该阈值的位置取为0,得到二值化结果BR,二值化结果如图13所示;
步骤三四、在BL和BR,有可能会检测出一些干扰点,这些干扰点会影响到接下来的步骤。先使用形态学方法对BL和BR进行膨胀。然后根据8连通规则,统计图像中的连通区域,计算每个连通区域内的像素数量,值得注意的是,这里和步骤二三是不一样的,边缘检测结果有可能是断续的。因此,不能用最大连通区域的准则来判断是否是最左、最右边缘对应的边缘图像。这里,我们估计每一个连通区域的像素数量,然后计算BL的总像素数量和BR的总像素数量。像素数量占对应的总像素数量的比例小于0.4%的连通区域认为是干扰点,去除掉该区域内的像素,得到去除部分干扰点的二值边缘图像和如图14所示;
步骤三五、使用改进的最小二乘法,对左右两边缘分别进行直线拟合,分别得到拟合后的直线和假设二值图像中像素值为1的对应位置为使用最小二乘法进行直线拟合,得到直线方程如其中由于在步骤三四中,只有部分干扰点被去除,还可能存在一些干扰点影响系统直线拟合过程。
因此,我们对最小二乘法进行改进,将代入到拟合后的直线方程,得到计算拟合后的估计值和实际值之间的差异如果则认为没有干扰点,拟合过程结束,为根据经验设定的第一阈值。如果则认为存在干扰点,此时需要对进行升序排序,选取第90%的值为第二阈值t,如果则删除否则,则保留利用保留下的像素位置重新进行直线拟合,即重复上述过程,直到为止。这样拟合出的直线不会受到干扰点的影响。右边缘操作拟合与左边缘拟合方法是一致的,可以得到最终拟合直线选取
步骤三六、计算拟合后的直线的斜率,即其中arctan是反正切函数。考虑到反正切函数的取值问题,我们设定如果θL<0,则θL=θL+180°,如果θR<0,则θR=θR+180°。然后计算两个边缘斜率之差即角度差θ=θR-θL。