发明内容
为了解决上述技术问题,本发明提供基于机器视觉的直流屏缺陷检测方法,以解决现有的问题。
本发明的基于机器视觉的直流屏缺陷检测方法采用如下技术方案:
本发明一个实施例提供了基于机器视觉的直流屏缺陷检测方法,该方法包括以下步骤:
采集直流屏图像;
采用大津阈值分割获取直流屏灰度图像的疑似强反光区域;根据疑似强反光区域的角点分布得到各疑似强反光区域的规整程度;将规整程度高于预设阈值的疑似强反光区域作为参数显示屏区域,规整程度低于预设阈值的疑似强反光区域作为强反光区域;根据规整程度获取各像素点的强反光表征值;边缘检测获取强反光区域及参数显示屏区域外的各边缘像素点;获取各边缘像素点的偏折角度组合点;根据偏折角度组合点的所处位置得到各边缘像素点的偏折角;
根据各边缘像素点的偏折角取值范围得到各边缘像素点的偏折角正偏值;结合各边缘像素点的偏折角正偏值及各连续边缘的信息熵得到各边缘的存在突兀度;根据各边缘的存在突兀度获取各反光点;获取各像素点的搜索窗口;根据搜索窗口内反光点的离散程度及各像素点的强反光表征值得到各像素点的搜索窗口调整判别值;获取搜索窗口内各反光点的反光点局部密度;
根据各反光点的反光点局部密度得到各像素点搜索窗口的反光点分布离散度;结合各像素点的搜索窗口调整判别值及各像素点搜索窗口的反光点分布离散度调整各像素点的搜索窗口,结合NLM算法对直流屏灰度图像进行去噪;结合去噪后的直流屏灰度图像与模版匹配算法完成直流屏缺陷检测。
优选的,所述根据疑似强反光区域的角点分布得到各疑似强反光区域的规整程度,包括:
计算疑似强反光区域内各角点与剩余其他角点的距离的和值,将所述和值的标准差的归一化值作为各疑似强反光区域的规整程度。
优选的,所述根据规整程度获取各像素点的强反光表征值,包括:
将各强反光区域的规整程度作为强反光区域内各像素点的强反光表征值,强反光区域外各像素点的强反光表征值为0。
优选的,所述获取各边缘像素点的偏折角度组合点,包括:
以各边缘像素点为邻域中心点,将邻域内距离邻域中心点最远且与邻域中心点为同一边缘的像素点作为邻域中心点的偏折角度组合点。
优选的,所述根据偏折角度组合点的所处位置得到各边缘像素点的偏折角,包括:
针对各边缘点,以经过边缘点的水平直线为横轴,获取边缘点与偏折角度组合点的连线,将所述连线与横轴的夹角作为各边缘像素点的偏折角。
优选的,所述根据各边缘像素点的偏折角取值范围得到各边缘像素点的偏折角正偏值,表达式为:
;
式中,为边缘点/>的偏折角正偏值,/>为四舍五入取值函数,/>为边缘点的偏折角大小,/>为验证参数。
优选的,所述结合各边缘像素点的偏折角正偏值及各连续边缘的信息熵得到各边缘的存在突兀度,具体包括:
针对各边缘,计算边缘上各像素点的偏折角大小的标准差,计算边缘上各像素点的偏折角正偏值的和值,将所述和值的相反数作为以自然常数为底数的指数函数的指数,计算所述指数函数的计算结果与所述标准差的乘积,将以各边缘的灰度信息熵为指数、所述乘积为底数的指数函数的计算结果作为各边缘的存在突兀度。
优选的,所述根据搜索窗口内反光点的离散程度及各像素点的强反光表征值得到各像素点的搜索窗口调整判别值,表达式为:
;
式中,为像素点的搜索窗口调整判别值,/>为搜索窗口内反光点个数与总像素点个数的比值,/>为搜索窗口内总像素点个数,/>为搜索窗口内第/>个像素点的存在突兀度,/>为搜索窗口内的第/>个像素点的强反光表征值,/>为调整参数,/>为自然常数。
优选的,所述获取搜索窗口内各反光点的反光点局部密度,包括:
针对各像素点的搜索窗口,计算搜索窗口内各反光点与剩余其他反光点的距离的和值,将所述和值的相反数作为以自然常数为底数的指数函数的指数,将所述指数函数的计算结果作为各反光点的反光点局部密度。
优选的,所述根据各反光点的反光点局部密度得到各像素点搜索窗口的反光点分布离散度,包括:
针对各像素点的搜索窗口,将搜索窗口内所有反光点的反光点局部密度的和值作为搜索窗口的反光点分布离散度。
本发明至少具有如下有益效果:
本发明主要通过对直流屏图像反光问题产生的噪声进行分析,结合NLM算法改进各像素点的搜索窗口,最后对去噪后的直流屏图像利用模版匹配算法实现缺陷检测,提高了直流屏缺陷检测的准确率。本发明结合直流屏图像中各像素点的灰度特征、边缘特征及角点特征进行综合分析,提高了直流屏缺陷检测的准确性与鲁棒性;
进一步,本发明首先获取直流屏图像的疑似强反光区域,根据疑似强反光区域的角点分布得到各疑似强反光区域的规整程度,根据疑似强反光区域的规整程度得到各像素点的强反光表征值,结合各像素点的强反光表征值及各边缘的存在突兀度得到各像素点的搜索窗口调整判别值,利用NLM算法完成直流屏图像去噪,实现直流屏缺陷检测,解决了由于直流屏图像存在反光现象导致去噪效果差影响缺陷检测精度的问题。本发明具有缺陷检测准确率高、鲁棒性强的有益效果。
具体实施方式
为了更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的基于机器视觉的直流屏缺陷检测方法,其具体实施方式、结构、特征及其功效,详细说明如下。在下述说明中,不同的“一个实施例”或“另一个实施例”指的不一定是同一实施例。此外,一个或多个实施例中的特定特征、结构或特点可由任何合适形式组合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。
下面结合附图具体的说明本发明所提供的基于机器视觉的直流屏缺陷检测方法的具体方案。
请参阅图1,其示出了本发明一个实施例提供的基于机器视觉的直流屏缺陷检测方法的步骤流程图,该方法包括以下步骤:
步骤S001,通过图像采集装置获取直流屏的RGB图像,并进行预处理。
具体的,首先本实施例将通过使用CMOS相机正面获取直流屏的表面RGB图像,作为直流屏缺陷检测的数据来源,需要说明的是,直流屏RGB图像的获取方法有很多,具体的图像获取方法可通过现有技术实现,不在本实施例保护范围内,不做相关详细阐述;
然后,将直流屏RGB图像转化为灰度图像,具体方法为平均值法,其次,对直流屏灰度图像使用导向滤波去噪算法进行去噪,去除噪声干扰,由于平均值法、导向滤波去噪算法均为现有公知技术,在此不做详细陈述。
至此,即可根据本实施例上述方法获取直流屏表面去噪灰度图像,作为后续直流屏缺陷检测的数据基础。
步骤S002,根据强反光区域的亮度特征,将强反光区域与参数显示屏区域进行区分,再根据反光产生的虚像特点,构建虚像边缘的存在突兀度,最后基于NLM算法搜索窗口中的反光点分布情况对搜索窗口的大小进行调整,更精确地完成NLM算法对直流屏灰度图像的去噪。
具体的,本实施例首先获取直流屏灰度图像的疑似强反光区域,根据疑似强反光区域的角点分布得到各疑似强反光区域的规整程度,根据强反光区域外的边缘点分布得到各边缘点的偏折角正偏值,根据各边缘点的偏折角正偏值得到各边缘的存在突兀度,获取直流屏灰度图像的反光点,根据反光点的密集程度得到各像素点的搜索窗口调整判别值,从而得到各反光点的反光点局部密度及各搜索窗口的反光点分布离散度,结合各像素点的搜索窗口调整判别值及各搜索窗口的反光点分布离散度对NLM算法中的搜索窗口大小进行调整,具体实现过程如图2搜索窗口调整流程图所示。各搜索窗口的反光点分布离散度及各像素点的搜索窗口调整判别值的构建过程具体为:
首先,直流屏柜门玻璃的反光现象主要分为两种情况,第一种是强反光区域,主要表现为高亮区块,且对比度较高,第二种情况则玻璃门发生平面镜成像而产生的虚像,主要表现为亮度相较于直流屏更亮,而对于强反光区域则较弱,且由于是外界物体的投影,所以形态多样,边缘不规则,色彩更加多样化。这两类反光情况都会对拍摄的直流屏图像的去噪产生影响,从而无法清晰检测直流屏的实际情况。
针对第一种强反光区域,首先对图像利用大津阈值法进行图像分割,以高亮区块为前景,其他部分为背景完成图像分割,获取高亮区域位置并映射在直流屏的灰度图像中,将映射后的区域标记为疑似强反光区域。但由于直流屏中含有各种设备的参数显示屏,在图像中同样存在于强反光区域的特点,仅使用大津阈值法进行分割可能会导致这些参数显示屏区域也被划分至强反光区域中,所以还需要对疑似强反光区域进行进一步的划分。
具体的,参数显示屏整体亮度较高,其中显示参数的部分则更亮,导致整个参数显示屏中呈现出内部纹理复杂的高亮区块。而真正的强反光区域则因为亮度过高而将原本直流屏中的细节遮盖,导致真正的强反光区域中几乎没有纹理或难以检测。针对已划分出的疑似强反光区域进行Harris算子角点检测,获取其中的角点,由于参数显示屏的参数分布是存在规律性的,每个参数指标之间的间隔和显示方式较为规整,尽管通过大津阈值法的方法分割出的强反光区域可能并不规整,但参数显示屏内的角点分布是相对规整的,计算检测出的每个角点与其余角点的欧氏距离,从而得到疑似强反光区域的规整程度,所述疑似强反光区域的规整程度具体表达式为:
;
式中,为第/>个疑似强反光区域的规整程度,/>为第/>个疑似强反光区域内的角点个数,/>为第/>个疑似强反光区域内第/>个角点与其他剩余角点的欧氏距离之和,/>为第/>个疑似强反光区域内各角点之间欧氏距离之和的均值,/>为归一化函数。
当的值大于阈值/>时,判定第/>个疑似强反光区域为参数显示屏区域;当/>的值小于等于阈值/>时,判证第/>个疑似强反光区域为强反光区域,本实施例中阈值/>,实施者可根据实际情况自行设定。
根据各疑似强反光区域的规整程度得到各强反光区域的强反光表征值,将强反光表征值记为GH,其中强反光区域的强反光表征值为该区域的规整程度值,剩余其他区域的强反光表征值为0。
至此,获取了图像中的强反光区域。而玻璃门上除了会产生强反光区域外,往往还会产生平面镜成像形成的虚像,虚像的存在同样会对直流屏的缺陷检测产生遮盖等情况,所以还需要从未被标记的区域进行划分。
具体的,直流屏玻璃门由于平面镜成像现象而形成的是物体的虚像,所以在图像中该虚像亮度相对较低,整体较为模糊,且成像位置不一,容易对直流屏图像造成遮挡等影响。虚像在图像中具体表现为对直流屏原有的各种仪表盘、设备开关以及指示灯等相关设备造成纹理的覆盖或破坏。
针对上述直流屏玻璃门形成虚像的情况,对直流屏的灰度图像中除强反光区域以及参数显示屏区域以外的区域进行基于Canny算子的边缘检测,获取直流屏灰度图像中的边缘。由于虚像在直流屏外部观测时相当于把物体的虚像投影在了直流屏的设备上,导致与直流屏的相关设备重叠,“破坏”直流屏相关设备的边缘完整性,而正常情况下直流屏的边缘呈横平竖直的规整状态,分布存在一定的规律性,而物体虚像的投影则会因为物体的多样性以及投影的角度、位置等因素,导致其边缘在直流屏上偏折情况较为复杂,且偏折角度变化频繁不规律。
基于上述虚像边缘特点,对边缘检测中每个边缘包含的像素点坐标都记录到对应的边缘像素点集合中,并记录为。然后获取边缘点的偏折角度,对于检测出的各边缘像素点,以各边缘像素点为邻域中心点构建一个/>的邻域窗口,本实施例中/>,实施者可根据实际情况自行设定,获取窗口内与邻域中心点欧氏距离最远的,并且在同一边缘上的像素点作为邻域中心点的偏折角度组合点,具体如图3偏折角度组合点示意图所示,获取边缘像素点A的邻域窗口,此时邻域窗口内与边缘点A同一边缘上的点有B、C、D、E、F,按照上述的获取规则,将D点作为A点的偏折角度组合点。
再以边缘像素点A为坐标原点,将A点所在水平线作为X轴,将A点所在水平线的垂直方向为Y轴,构建直角坐标系,并将边缘像素点A与其偏折角度组合点相连,记偏折角度组合点的坐标为(x,y),将该两点相连的直线与X轴构成的夹角记为偏折角(/>),当一个边缘像素点具有多个偏折角度组合点时,即存在多个偏折角时,仅获取角度最小的偏折角作为该边缘点的偏折角,构建各边缘像素点的偏折角正偏值,所述偏折角正偏值具体表达式为:
;
式中,为边缘点/>的偏折角正偏值,/>为四舍五入取值函数,/>为边缘点的偏折角大小,/>为验证参数,且/>为整数,本实施例中/>,实施者可根据实际情况自行设定。
当的值为1时,说明边缘点A的偏折角角度为整数;当/>的值不为1时,说明边缘点A的偏折角角度不为整数。
由于直流屏中存在圆形指示灯或是圆形参数表盘,为了避免对其边缘的误判,进一步分析。当直流屏中设备被虚像覆盖时,直流屏中的边缘较为复杂,每个边缘的边缘点灰度值数量多且凌乱,边缘点的不确定性比较大,混乱程度较高。统计每个边缘上的边缘点灰度值出现频次,针对每个边缘上的所有边缘点灰度值进行信息熵的计算,具体表达式为:
;
式中,为第/>个边缘的信息熵, />为第/>个边缘上的第p个灰度级,/>为第/>个边缘上第p个灰度级的出现频率,/>为第/>个边缘上的灰度级总数。
当第个边缘上的虚像覆盖情况越严重,边缘上的边缘点灰度值情况较多,/>的数量越多,每个/>的占比较小,/>的值越大,当第/>个边缘上的虚像覆盖情况越小,边缘上的边缘点灰度值情况较少,/>的数量越少,每个/>的占比较多,/>的值越小。
结合边缘上各边缘点的偏折情况,构建各边缘的存在突兀度,所述存在突兀度的具体表达式为:
;
式中,为第/>个边缘的存在突兀度,/>为第/>个边缘上的第k个边缘点的偏折角正偏值,/>为第/>个边缘上各边缘点的偏折角的标准差,/>为第/>个边缘的信息熵,/>为第/>个边缘的边缘点集合,/>为获取括号中集合的元素个数。
当第个边缘的/>值越大,说明该边缘的偏折情况较为严重,且边缘被虚像覆盖情况严重,该边缘在直流屏上存在较为突兀,可能为虚像覆盖形成的边缘;当第/>个边缘的值越小,说明该边缘的偏折情况较轻,且边缘被虚像覆盖情况较轻,该边缘可能为设备原有的边缘。对边缘的存在突兀度进行归一化,使其值域处于[0,1]之间,当/>的值大于阈值/>时,判定该边缘为虚像覆盖边缘,当/>的值小于等于阈值/>时,判定该边缘为设备边缘。最后将各边缘的BS值赋予到该边缘上的每一个像素点,需要说明的是非边缘上的像素点BS值为0。本实施例中阈值/>,实施者可根据实际情况自行设定。
至此,将直流屏中强反光区域以及反光产生的虚像边缘进行了区分,得到了强反光区域以及虚像覆盖边缘,将强反光区域中的像素点以及虚像覆盖边缘的像素点标记为反光点,其他区域内的像素点则标记为正常去噪点。
基于划分出的反光点与正常去噪点,对直流屏灰度图像利用NLM算法进行去噪。对于直流屏灰度图像中的各像素点,以各像素点为中心点,构建的搜索窗口,本实施例中/>,实施者可根据实际情况自行设定。将搜索窗口中反光点的数目与搜索窗口总像素点数的比值记为Q,计算各像素点的搜索窗口调整判别值,搜索窗口调整判别值具体表达式为:
;
式中,式中,为各像素点的搜索窗口调整判别值,/>为搜索窗口内反光点个数与总像素点个数的比值,/>为搜索窗口内总像素点个数,/>为搜索窗口内第/>个像素点的存在突兀度,/>为搜索窗口内的第/>个像素点的强反光表征值,/>为自然指数,/>为调整参数,本实施例中/>,/>为归一化函数,将括号中的值域归一化至[0,1]中。
当JK的值大于阈值时,则此时搜索窗口需要进行窗口扩大调整,当JK的值小于等于阈值/>时,则此时搜索窗口大小不需要调整。
由于强反光区域出现在搜索窗口中时是密集分布的,而虚像有可能是密集分布也有可能是离散部分,所以搜索窗口的调整方式也需要基于上述特点进行调整。针对搜索窗口中的反光点,将每个反光点都与其它反光点进行连线,并求出它们之间的欧氏距离,计算搜索窗口中各个反光点的反光点局部密度,所述反光点局部密度具体表达式为:
;
式中,为第c个反光点的反光点局部密度,/>为第c个反光点与第p个反光点的欧氏距离,/>为搜索窗口中的反光点总数。
基于搜索窗口内各反光点的反光点局部密度获取各搜索窗口的反光点分布离散度,所述反光点分布离散度具体表达式为:
;
式中,为各像素点搜索窗口的反光点分布离散度,/>为搜索窗口中第Z个反光点的反光点局部密度,/>为搜索窗口中的反光点总数。
从而针对直流屏灰度图像,得到了各像素点的反光点分布离散度。
利用自适应全局阈值法将各像素点的值作为输入,输出自适应的全局阈值/>。当/>的值大于阈值/>时,说明搜索窗口中的反光点与其它反光点的距离较大,整体分布较为离散,当/>的值小于等于阈值/>,说明搜索窗口中的反光点与其它反光点的距离较小,整体分布较为密集,本实施例中阈值/>,实施者可根据实际情况自行设定。其中自适应全局阈值法为现有公知技术,本实施例在此不再赘述。
当像素点的搜索窗口调整判别值大于阈值需要进行窗口扩大调整,并且搜索窗口中的/>的值大于阈值/>时,则窗口需要整体进行扩大,将搜索窗口的长度和宽度向左右两侧分别增加一个像素点,当窗口扩大至搜索窗口调整判别值小于等于阈值D时,搜索窗口停止调整;当像素点的搜索窗口调整判别值大于阈值/>需要进行窗口扩大调整,并且搜索窗口中的/>的值小于等于阈值/>时,获取搜索窗口中反光点局部密度最小的反光点,并将搜索窗口的中心点与该反光点相连,沿着中心点到反光点的方向,将该方向指向的搜索窗口的长度和宽度分别增加一个像素点,窗口扩大至搜索窗口调整判别值小于等于阈值D时,搜索窗口停止调整。
至此,采用NLM算法对直流屏灰度图像进行去噪,并根据去噪时所面临的不同的反光情况进行了窗口尺寸的调整,最终完成对直流屏灰度图像的去噪。
步骤S003,基于去噪完成后的直流屏灰度图像,利用模版匹配算法进行直流屏缺陷检测。
利用先验知识或是人工确认过的无缺陷直流屏图像作为标准匹配图像,把经过NLM算法去噪的直流屏灰度图像作为待检测匹配图像,根据待检测匹配图像的灰度分布计算待检测匹配图像与标准匹配图像的差异度,具体为计算待检测匹配图像与标准匹配图像灰度均值的欧氏距离,设定阈值,将差异度小于等于阈值/>的待检测匹配图像标记为正常图像,将差异度大于阈值/>的待检测匹配图像标记为缺陷图像,从而实现直流屏缺陷检测。本实施例中/>,实施者可根据实际情况自行设定。
综上所述,本发明实施例解决了由于直流屏图像存在反光现象导致去噪效果差影响缺陷检测精度的问题,结合NLM算法对直流屏灰度图像进行去噪,提高了直流屏缺陷检测的准确率及鲁棒性。
需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。