采用抗干扰模板降低误检率
2026.03.31
阅读量:69
采用抗干扰模板降低误检率

 

一、背景技术

随着现代工业的发展,机器视觉在保险杠底漆喷涂质量检测中发挥着越来越重要的作用。然而,现有的底漆喷涂质量检测算法在检出率、误检率、鲁棒性等方面存在一定的局限性。无法达到厂家要求的高检出率、低误检率的经济性要求。因此开发一种具有较高检出率且低误检率的机器视觉算法以解决上述问题成为当前该技术领域兹待解决的问题。

二、技术内容

本发明的内容目的是提供一种基于传统比对模型和深度学习相结合的机器视觉算法,该算法能够在大大提高检出率的同时确保低误检率,满足保险杠底漆喷涂质量检测的经济性要求。

三、技术方案

1.图像预处理

图像预处理包括双能量曝光去噪以消除环境光的检测结果的影响。假设未开视觉光源的情况下从相机获取到的图像为IDark, 经过中值滤波后的图像为IDark-M打开视觉光源后的图像为ILight,通过中值滤波得到的输入图像为ILight-M,再通过减影操作最终得到图像I=(ILight-M-IDark-M)。本预处理的好处在于,在消除噪声得同时,环境光或者自然光的影响也被极大的抑制,为后续的图像处理提供了高质量的输入图像。

2.工件位置偏移检测

   通过使用提前采集到的工件裁剪模板进行模板匹配以确认工件的实际检测位置,避免由于工件位置偏差对后续算法造成影响。算法流程如下:

a) 根据程序号(工件编号)调取提前编辑好的Mask图像。

b) 提取该Mask 白色轮廓外接矩形,并从实际模板库中提取要查找的图像。

c) 使用相关系数方法在实际拍摄图中查找要检测的区域,结果如绿色框所示。

检测区域Mask      检测区域模板 实际拍摄图    检测区域查找(绿色框部分)

3.双模型检测算法

本专利采用传统与深度学习模型相结合的方法,充分利用传统算法中的高可靠性和可解释性解决了主要区域的检查,并且使用深度学习算法解决了遮挡、位置偏差大、缺陷对比度低等情况下的缺陷检出。实现了保险杠检测中高覆盖率、高检出率和低误检率,具有重要的实际经济运用价值。

3.1.灰度值模型比较

   由于完全未喷的工件没有局部特征,如果使用深度学习进行分类学习需要的样本数量大、且可解释性不强。基于此,本专利首先提出了一种基于区域模型匹配的方式进行灰度值模型匹配的算法,将工件的区域分为多个区域,不同的区域可采用不同的阈值进行二值化。其次,在选择模板的基础上,本专利使用完全未喷的样件作为灰度值模型比较的模板,其原因在于未喷样件不受喷涂工艺的影响,在已有光照条件和预处理下表现良好,并且还可以消除由于位置匹配不准导致的边缘部分的误检(越相近越要检出),算法流程如下:

A) 模板相减后取绝对值,获取检测图像与模板图像的差异图像IDiff

 

                            差异图像

 

B) 图像二值化,按照设定的不同区域不同灰度阈值依次进行二值化并进行形态学操作进行处理,可以得到一系列二值化图像。

   ifIDiff(i,j)<区域阈值

            IBinary(i,j)=255

   else

            IBinary(i,j)=0

   二值图像开运算去除图像中细小的部分

   

     从左往右 1. 用户自定义检测区域可设置检测阈值、检测区域 2-7 相应区域的检测二值化结果以及处理后的结果

C) 轮廓提取

   对于B中获得的二值化图像IBinary1...IBinaryj(j=区域划分数量)分别进行轮廓提取,依次得到轮廓Countour1...Countourj

    

D) 误检判定,由于在现有实际生产环境中,工件即使在模板匹配后也不能达到像素级别的匹配精度,因此可能会在工件边缘或者造型变化急剧部分产生误检,通过大小、狭长判定法则可以消除边缘或者造型变化较快区域产生的误检。

for ( Countour1...Countourj{

for(int i=0; i<Countour.size();++i){

      If(pow(arcLength(contour,2)/contour.area<

ArcLengthAreaRatioThreshold && length < lengthThreshold){

        inspectResultContour.push_back(contour);

}

}

}

通过设置合适的阈值,可基本上消除模板检测带来的物检。

 

E) 实际检出

  通过前期的双能量减影以及去噪、位置偏移检测及补偿(如图中offset =20.9mm)、以及未喷模板的创新使用、用户自定义检出区域以及检出标准制定等,实际检测效果如下,可以看到大部分区域都能准确无误的检测,且没有误检。

 

3.2.深度学习检测算法

由于在漆面检测中存在虚喷的案例,这类缺陷也需要在生产过程中检测出来。对于这类缺陷由于形状、深浅都不尽相同,采用传统算法很难穷举各种情况,因此我们采用

1) 分类检测算法

2) 目标检测算法