产品缺陷检测方法、装置、设备及可读存储介质转让专利

申请号 : CN202210853604.5

文献号 : CN114937037B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孙杰杨义禄张国栋李波

申请人 : 武汉中导光电设备有限公司

摘要 :

本发明提供一种产品缺陷检测方法、装置、设备及可读存储介质。该方法包括:根据模板图像的纹理边界对所述模板图像进行连通域分析,得到所述模板图像的各个连通区域;基于各个连通区域中每个像素点的灰度值得到各个连通区域的检测超差阈值;根据各个连通区域的位置信息以及各个连通区域的检测超差阈值生成模板阈值图;基于所述模板阈值图对产品图像进行缺陷检测,得到检测结果。通过本发明,解决了现有技术中检测产品表面缺陷的人工成本较高,且检测结果不够精确的问题。

权利要求 :

1.一种产品缺陷检测方法,其特征在于,所述产品缺陷检测方法包括:根据模板图像的纹理边界对所述模板图像进行连通域分析,得到所述模板图像的各个连通区域;

基于各个连通区域中每个像素点的灰度值得到各个连通区域的检测超差阈值;

根据各个连通区域的位置信息以及各个连通区域的检测超差阈值生成模板阈值图;

基于所述模板阈值图对产品图像进行缺陷检测,得到检测结果;

所述基于所述模板阈值图对产品图像进行缺陷检测,得到检测结果的步骤,包括:以产品图像中的任一最小重复单元图像作为待检测图像,根据待检测图像的纹理周期从产品图像中获取参考图像;

对待检测图像进行预处理;

计算预处理后的待检测图像中各个像素点的灰度值减去参考图像对应位置处的各个像素点的灰度值的第一差值,根据所述第一差值得到待检测图像与参考图像的第一差影图;

计算第一差影图中各个像素点的灰度值减去检测超差阈值的差值,标记差值大于零的像素点;

根据被标记的像素点,在预处理后的待检测图像中获取标记检测图像以及在第一差影图中获取标记差影图像;

通过NCC模板匹配算法将标记检测图像和模板图像进行对位,获取标记检测图像和模板图像之间的偏差坐标;

根据偏差坐标对应的像素点,在模板阈值图中获取标记模板阈值图;

计算标记差影图像中各个像素点的灰度值减去标记模板阈值图对应位置处的各个像素点的灰度值的第二差值,根据所述第二差值得到标记差影图像与标记模板阈值图的第二差影图;

对所述第二差影图进行二值化分割,得到二值图;

根据二值图中像素点的灰度值得到检测结果。

2.如权利要求1所述的产品缺陷检测方法,其特征在于,所述基于各个连通区域中每个像素点的灰度值得到各个连通区域的检测超差阈值的步骤,包括:获取各个连通区域中每个像素点的灰度值并基于3sigma原则剔除异常灰度值;

根据各个连通区域中剩余的每个像素点的灰度值,确定各个连通区域中同一灰度值的个数;

根据各个连通区域中同一灰度值的个数和所述模板图像的宽、高以及灰度等级,计算得到各个连通区域中同一灰度值的频率;

基于各个连通区域中同一灰度值的频率,计算得到各个连通区域的检测超差阈值。

3.如权利要求2所述的产品缺陷检测方法,其特征在于,所述基于各个连通区域中同一灰度值的频率,计算得到各个连通区域的检测超差阈值的步骤,包括:基于各个连通区域中同一灰度值的频率,得到各个连通区域的灰度直方图;

基于灰度直方图,计算得到各个连通区域的检测超差阈值。

4.如权利要求3所述的产品缺陷检测方法,其特征在于,所述基于灰度直方图,计算得到各个连通区域的检测超差阈值的步骤,包括:基于灰度直方图分别获取每个连通区域中各个像素点的灰度值以及像素点的个数;

分别将每个连通区域中各个像素点的灰度值以及像素点的个数代入第一预设公式,得到各个连通区域的检测超差阈值,第一预设公式如下:2

Vdiff=10+s

2

其中,Vdiff为每个连通区域的检测超差阈值,s 为每个连通区域的灰度方差,n为每个连通区域内像素点的个数,xn表示每个连通区域内第n个像素点的灰度值。

5.如权利要求1所述的产品缺陷检测方法,其特征在于,所述对所述第二差影图进行二值化分割,得到二值图的步骤,包括:判断所述第二差影图中各个像素点的灰度值是否大于零;

将所述第二差影图中像素点的灰度值大于零的像素点的灰度值赋值为第一预设值;

将所述第二差影图中像素点的灰度值小于或等于零的像素点的灰度值赋值为第二预设值。

6.如权利要求1中所述的产品缺陷检测方法,其特征在于,所述根据二值图中像素点的灰度值得到检测结果的步骤,包括:若二值图中像素点的灰度值都为第二预设值,则确定产品无缺陷;

若二值图中存在灰度值为第一预设值的像素点,则确定产品有缺陷。

7.如权利要求6中所述的产品缺陷检测方法,其特征在于,在所述若二值图中存在灰度值为第一预设值的像素点,则确定产品有缺陷的步骤之后,包括:输出待检测图像中与二值图中灰度值为第一预设值的像素点对应的像素点的坐标。

8.一种产品缺陷检测装置,其特征在于,所述产品缺陷检测装置包括:分析模块,用于根据模板图像的纹理边界对所述模板图像进行连通域分析,得到所述模板图像的各个连通区域;

计算模块,用于基于各个连通区域中每个像素点的灰度值得到各个连通区域的检测超差阈值;

生成模块,用于根据各个连通区域的位置信息以及各个连通区域的检测超差阈值生成模板阈值图;

获取模块,用于基于所述模板阈值图对产品图像进行缺陷检测,得到检测结果;

所述获取模块,具体用于:

以产品图像中的任一最小重复单元图像作为待检测图像,根据待检测图像的纹理周期从产品图像中获取参考图像;

对待检测图像进行预处理;

计算预处理后的待检测图像中各个像素点的灰度值减去参考图像对应位置处的各个像素点的灰度值的第一差值,根据所述第一差值得到待检测图像与参考图像的第一差影图;

计算第一差影图中各个像素点的灰度值减去检测超差阈值的差值,标记差值大于零的像素点;

根据被标记的像素点,在预处理后的待检测图像中获取标记检测图像以及在第一差影图中获取标记差影图像;

通过NCC模板匹配算法将标记检测图像和模板图像进行对位,获取标记检测图像和模板图像之间的偏差坐标;

根据偏差坐标对应的像素点,在模板阈值图中获取标记模板阈值图;

计算标记差影图像中各个像素点的灰度值减去标记模板阈值图对应位置处的各个像素点的灰度值的第二差值,根据所述第二差值得到标记差影图像与标记模板阈值图的第二差影图;

对所述第二差影图进行二值化分割,得到二值图;

根据二值图中像素点的灰度值得到检测结果。

9.一种产品缺陷检测设备,其特征在于,所述产品缺陷检测设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的产品缺陷检测程序,其中所述产品缺陷检测程序被所述处理器执行时,实现如权利要求1至7中任一项所述的产品缺陷检测方法的步骤。

说明书 :

产品缺陷检测方法、装置、设备及可读存储介质

技术领域

[0001] 本发明涉及缺陷检测技术领域,尤其涉及一种产品缺陷检测方法、装置、设备及可读存储介质。

背景技术

[0002] AOI(Automated Optical Inspection,自动光学检测),是基于光学原理对工业生产中遇到的常见缺陷进行检测的设备。传统的AOI检测产品表面缺陷时,需要用户手动设置检测区域,遇到复杂的纹理区域则很难准确划分检测区域,且每个检测区域的检测阈值凭借人工经验设置,导致检测产品表面缺陷的人工成本较高,且检测结果不够精确。

发明内容

[0003] 本发明的主要目的在于提供一种产品缺陷检测方法、装置、设备及可读存储介质,旨在解决现有技术中检测产品表面缺陷的人工成本较高,且检测结果不够精确的问题。
[0004] 第一方面,本发明提供一种产品缺陷检测方法,所述产品缺陷检测方法包括:
[0005] 根据模板图像的纹理边界对所述模板图像进行连通域分析,得到所述模板图像的各个连通区域;
[0006] 基于各个连通区域中每个像素点的灰度值得到各个连通区域的检测超差阈值;
[0007] 根据各个连通区域的位置信息以及各个连通区域的检测超差阈值生成模板阈值图;
[0008] 基于所述模板阈值图对产品图像进行缺陷检测,得到检测结果。
[0009] 可选的,所述基于各个连通区域中每个像素点的灰度值得到各个连通区域的检测超差阈值的步骤,包括:
[0010] 获取各个连通区域中每个像素点的灰度值并基于3sigma原则剔除异常灰度值;
[0011] 根据各个连通区域中剩余的每个像素点的灰度值,确定各个连通区域中同一灰度值的个数;
[0012] 根据各个连通区域中同一灰度值的个数和所述模板图像的宽、高以及灰度等级,计算得到各个连通区域中同一灰度值的频率;
[0013] 基于各个连通区域中同一灰度值的频率,计算得到各个连通区域的检测超差阈值。
[0014] 可选的,所述基于各个连通区域中同一灰度值的频率,计算得到各个连通区域的检测超差阈值的步骤,包括:
[0015] 基于各个连通区域中同一灰度值的频率,得到各个连通区域的灰度直方图;
[0016] 基于灰度直方图,计算得到各个连通区域的检测超差阈值。
[0017] 可选的,所述基于灰度直方图,计算得到各个连通区域的检测超差阈值的步骤,包括:
[0018] 基于灰度直方图分别获取每个连通区域中各个像素点的灰度值以及像素点的个数;
[0019] 分别将每个连通区域中各个像素点的灰度值以及像素点的个数代入第一预设公式,得到各个连通区域的检测超差阈值,第一预设公式如下:
[0020]
[0021] 其中, 为每个连通区域的检测超差阈值, 为每个连通区域的灰度方差,, ,n为每个连通区域内像素点的个数, 表示每个连通区域内第n个像素点的灰度值。
[0022] 可选的,所述基于所述模板阈值图对产品图像进行缺陷检测,得到检测结果的步骤,包括:
[0023] 以产品图像中的任一最小重复单元图像作为待检测图像,根据待检测图像的纹理周期从产品图像中获取参考图像;
[0024] 对待检测图像进行预处理;
[0025] 计算预处理后的待检测图像中各个像素点的灰度值减去参考图像对应位置处的各个像素点的灰度值的第一差值,根据所述第一差值得到待检测图像与参考图像的第一差影图;
[0026] 计算第一差影图中各个像素点的灰度值减去检测超差阈值的差值,标记差值大于零的像素点;
[0027] 根据被标记的像素点,在预处理后的待检测图像中获取标记检测图像以及在第一差影图中获取标记差影图像;
[0028] 通过NCC模板匹配算法将标记检测图像和模板图像进行对位,获取标记检测图像和模板图像之间的偏差坐标;
[0029] 根据偏差坐标对应的像素点,在模板阈值图中获取标记模板阈值图;
[0030] 计算标记差影图像中各个像素点的灰度值减去标记模板阈值图对应位置处的各个像素点的灰度值的第二差值,根据所述第二差值得到标记差影图像与标记模板阈值图的第二差影图;
[0031] 对所述第二差影图进行二值化分割,得到二值图;
[0032] 根据二值图中像素点的灰度值得到检测结果。
[0033] 可选的,所述对所述第二差影图进行二值化分割,得到二值图的步骤,包括:
[0034] 判断所述第二差影图中各个像素点的灰度值是否大于零;
[0035] 将所述第二差影图中像素点的灰度值大于零的像素点的灰度值赋值为第一预设值;
[0036] 将所述第二差影图中像素点的灰度值小于或等于零的像素点的灰度值赋值为第二预设值。
[0037] 可选的,所述根据二值图中像素点的灰度值得到检测结果的步骤,包括:
[0038] 若二值图中像素点的灰度值都为第二预设值,则确定产品无缺陷;
[0039] 若二值图中存在灰度值为第一预设值的像素点,则确定产品有缺陷。
[0040] 可选的,在所述若二值图中存在灰度值为第一预设值的像素点,则确定产品有缺陷的步骤之后,包括:
[0041] 输出待检测图像中与二值图中灰度值为第一预设值的像素点对应的像素点的坐标。
[0042] 第二方面,本发明还提供一种产品缺陷检测装置,所述产品缺陷检测装置包括:
[0043] 分析模块,用于根据模板图像的纹理边界对所述模板图像进行连通域分析,得到所述模板图像的各个连通区域;
[0044] 计算模块,用于基于各个连通区域中每个像素点的灰度值得到各个连通区域的检测超差阈值;
[0045] 生成模块,用于根据各个连通区域的位置信息以及各个连通区域的检测超差阈值生成模板阈值图;
[0046] 获取模块,用于基于所述模板阈值图对产品图像进行缺陷检测,得到检测结果。
[0047] 第三方面,本发明还提供一种产品缺陷检测设备,所述产品缺陷检测设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的产品缺陷检测程序,其中所述产品缺陷检测程序被所述处理器执行时,实现如上所述的产品缺陷检测方法的步骤。
[0048] 本发明中,根据模板图像的纹理边界对所述模板图像进行连通域分析,得到所述模板图像的各个连通区域;基于各个连通区域中每个像素点的灰度值得到各个连通区域的检测超差阈值;根据各个连通区域的位置信息以及各个连通区域的检测超差阈值生成模板阈值图;基于所述模板阈值图对产品图像进行缺陷检测,得到检测结果。通过本发明,算法自适应根据模板图像的纹理边界对所述模板图像进行连通域分析,即可得到所述模板图像的各个连通区域,不再需要用户手动设置检测区域,从而降低人工成本;算法自适应基于各个连通区域中每个像素点的灰度值得到各个连通区域的检测超差阈值,实现各个检测区域有对应的检测超差阈值,提高检测结果的精确度;算法自适应根据各个连通区域的位置信息以及各个连通区域的检测超差阈值生成模板阈值图,基于所述模板阈值图对产品图像进行缺陷检测,即可得到精确的检测结果,且人工成本较低,解决了现有技术中检测产品表面缺陷的人工成本较高,且检测结果不够精确的问题。

附图说明

[0049] 图1为本发明实施例方案中涉及的产品缺陷检测设备的硬件结构示意图;
[0050] 图2为本发明产品缺陷检测方法第一实施例的流程示意图;
[0051] 图3为图2中步骤S20细化流程示意图;
[0052] 图4为图2中步骤S40细化流程示意图;
[0053] 图5为本发明产品缺陷检测装置第一实施例的功能模块示意图。
[0054] 本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

[0055] 应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0056] 第一方面,本发明实施例提供一种产品缺陷检测设备,该产品缺陷检测设备可以是个人计算机(personal computer,PC)、笔记本电脑、服务器等具有数据处理功能的设备。
[0057] 参照图1,图1为本发明实施例方案中涉及的产品缺陷检测设备的硬件结构示意图。本发明实施例中,产品缺陷检测设备可以包括处理器1001(例如中央处理器Central Processing Unit,CPU),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard);网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真WIreless‑FIdelity,WI‑FI接口);存储器1005可以是高速随机存取存储器(random access memory,RAM),也可以是稳定的存储器(non‑volatile memory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。本领域技术人员可以理解,图1中示出的硬件结构并不构成对本发明的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0058] 继续参照图1,图1中作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及产品缺陷检测程序。其中,处理器1001可以调用存储器1005中存储的产品缺陷检测程序,并执行本发明实施例提供的产品缺陷检测方法。
[0059] 第二方面,本发明实施例提供了一种产品缺陷检测方法。
[0060] 一实施例中,参照图2,图2为本发明产品缺陷检测方法第一实施例的流程示意图。如图2所示,产品缺陷检测方法,包括:
[0061] 步骤S10,根据模板图像的纹理边界对所述模板图像进行连通域分析,得到所述模板图像的各个连通区域;
[0062] 本实施例中,根据用户指令获取模板图像,通过Canny边缘检测算法(Canny edge detector)获取模板图像的纹理边界,根据模板图像的纹理边界对模板图像进行连通域分析,即可得到模板图像的各个连通区域,根据图像灰度分布和纹理特性,实现图像纹理自动分区,不再需要用户手动设置检测区域,从而降低人工成本。其中,连通区域一般是指图像中具有相同灰度值且位置相邻的前景像素点组成的图像区域。因此,对于找到的每个连通区域,可以分别赋予一个唯一的标识,以区别其他连通区域。可以通过种子填充方法对不同纹理准确分区,得到模板图像的各个连通区域,种子填充方法来源于计算机图形学,常用于对某个图形进行填充。种子填充方法的思路是:选取一个前景像素点(一般将灰度值非0点记为前景点,灰度值为0的点记为背景点)作为种子,然后根据连通区域的两个基本条件(灰度值相同、位置相邻)将与种子相邻的前景像素合并到同一个像素集合中,最后得到的该像素集合则为一个连通区域。
[0063] 下面给出基于种子填充法的连通区域分析方法
[0064] 扫描模板图像,直到当前像素点B(x,y) == 1:
[0065] a  . 将B(x,y)作为种子(像素位置),将种子点压入栈中,并赋予其一个标识(label_0);
[0066] b.如果栈不为空,则弹出栈顶元素,用种子色绘制该点;
[0067] c.搜素栈像素领域范围内像素点,如果领域内(假定3*3范围内)相邻像素不是种子色,且不是边界,将其入栈,否则抛弃;
[0068] d.重复b,c 步骤,直至栈为空,此时,便找到了模板图像中的一个连通区域,该区域内的灰度值被标记为label_0;
[0069] 以B(x1,y1)==1作为B(x,y)== 1,执行扫描图像,直到当前像素点B(x,y)== 1的步骤,以此类推,扫描结束后,就可以得到模板图像的各个连通区域。
[0070] 步骤S20,基于各个连通区域中每个像素点的灰度值得到各个连通区域的检测超差阈值;
[0071] 本实施例中,通过学习训练,算法自动计算不同区域的参考检测阈值,即基于各个连通区域中每个像素点的灰度值进行统计分析计算,即可得到各个连通区域的检测超差阈值。
[0072] 进一步地,一实施例中,参照图3,图3为图2中步骤S20细化流程示意图。如图3所示,步骤S20包括:
[0073] S201,获取各个连通区域中每个像素点的灰度值并基于3sigma原则剔除异常灰度值;
[0074] S202,根据各个连通区域中剩余的每个像素点的灰度值,确定各个连通区域中同一灰度值的个数;
[0075] S203,根据各个连通区域中同一灰度值的个数和所述模板图像的宽、高以及灰度等级,计算得到各个连通区域中同一灰度值的频率;
[0076] S204,基于各个连通区域中同一灰度值的频率,计算得到各个连通区域的检测超差阈值。
[0077] 本实施例中,获取各个连通区域中每个像素点的灰度值,并根据3sigma原则剔除异常灰度值,异常灰度值所对应的像素点通常为噪声点,3sigma原理可以简单描述为:若数据服从正态分布,则异常值被定义为一组结果值中与平均值(u)的偏差超过三倍标准差(sigma)的值。即在正态分布的假设下,距离平均值三倍标准差 (sigma)之外的值出现的概率很小,因此可认为是异常值,因此,本施例中,小于u‑3sigma或大于u+3sigma的灰度值,将会被剔除。
[0078] 根据各个连通区域中剩余的每个像素点的灰度值,确定各个连通区域中同一灰度值的个数。具体地,若一连通区域中,剩余10个像素点的灰度值分别是100,100,100,150,150,200,200,230,230,250,则确定这10个灰度值中,同一灰度值的个数,即灰度值为100的个数为3,灰度值为150的个数为2,灰度值为200的个数为2,灰度值为230的个数为2,灰度值为250的个数为1。
[0079] 将各个连通区域中同一灰度值的个数和所述模板图像的宽、高以及灰度等级,代入公式 即可得到各个连通区域中同一灰度值的频率,其中,W,H分别为模板图像的宽和高, 为图像中灰度值为r的数量,L为模板图像的灰度等级。
[0080] 基于各个连通区域中同一灰度值的频率进行统计分析计算,即可得到各个连通区域的检测超差阈值。容易想到的是,本实施例中的参数仅供参考,只是为了便于理解,在此不做限制。
[0081] 进一步地,一实施例中,继续参照图3,步骤S204,包括:
[0082] S205,基于各个连通区域中同一灰度值的频率,得到各个连通区域的灰度直方图;
[0083] S206,基于灰度直方图,计算得到各个连通区域的检测超差阈值。
[0084] 本实施例中,基于各个连通区域中同一灰度值的频率,得到各个连通区域的灰度直方图,即各个连通区域中像素点的灰度值的分布情况。基于灰度直方图,即各个连通区域中像素点的灰度值的分布情况,计算得到各个连通区域的检测超差阈值。
[0085] 进一步地,一实施例中,继续参照图3,步骤S206,包括:
[0086] S207,基于灰度直方图分别获取每个连通区域中各个像素点的灰度值以及像素点的个数;
[0087] S208,分别将每个连通区域中各个像素点的灰度值以及像素点的个数代入第一预设公式,得到各个连通区域的检测超差阈值,第一预设公式如下:
[0088]
[0089] 其中, 为每个连通区域的检测超差阈值, 为每个连通区域的灰度方差,, ,n为每个连通区域内像素点的个数, 表示每个连通区域内第n个像素点的灰度值。
[0090] 本实施例中,得到各个连通区域的灰度直方图后,即可基于灰度直方图分别获取每个连通区域中各个像素点的灰度值以及像素点的个数,再分别将每个连通区域中各个像素点的灰度值以及像素点的个数代入第一预设公式,即可得到各个连通区域的检测超差阈值,第一预设公式如下:
[0091]
[0092] 其中, 为每个连通区域的检测超差阈值, 为每个连通区域的灰度方差,, ,n为每个连通区域内像素点的个数, 表示每个连通区域内第n个像素点的灰度值。容易想到的是,本实施例中,若将连通区域A内像素点的个数以及每个像素点的灰度值代入公式进行计算,即得到连通区域内A的检测超差阈值。
[0093] 步骤S30,根据各个连通区域的位置信息以及各个连通区域的检测超差阈值生成模板阈值图;
[0094] 本实施例中,根据各个连通区域的位置信息以及各个连通区域的检测超差阈值,即可自动生成模板阈值图。
[0095] 步骤S40,基于所述模板阈值图对产品图像进行缺陷检测,得到检测结果。
[0096] 本实施例中,基于生成的模板阈值图对产品图像进行缺陷检测,得到对产品图像的检测结果,即可得知产品是否有缺陷。
[0097] 进一步地,一实施例中,参照图4,图4为图2中步骤S40细化流程示意图,如图4所示,步骤S40包括:
[0098] S401,以产品图像中的任一最小重复单元图像作为待检测图像,根据待检测图像的纹理周期从产品图像中获取参考图像;
[0099] S402,对待检测图像进行预处理;
[0100] S403,计算预处理后的待检测图像中各个像素点的灰度值减去参考图像对应位置处的各个像素点的灰度值的第一差值,根据所述第一差值得到待检测图像与参考图像的第一差影图;
[0101] S404,计算第一差影图中各个像素点的灰度值减去检测超差阈值的差值,标记差值大于零的像素点;
[0102] S405,根据被标记的像素点,在预处理后的待检测图像中获取标记检测图像以及在第一差影图中获取标记差影图像;
[0103] S406,通过NCC模板匹配算法将标记检测图像和模板图像进行对位,获取标记检测图像和模板图像之间的偏差坐标;
[0104] S407,根据偏差坐标对应的像素点,在模板阈值图中获取标记模板阈值图;
[0105] S408,计算标记差影图像中各个像素点的灰度值减去标记模板阈值图对应位置处的各个像素点的灰度值的第二差值,根据所述第二差值得到标记差影图像与标记模板阈值图的第二差影图;
[0106] S409,对所述第二差影图进行二值化分割,得到二值图;
[0107] S410,根据二值图中像素点的灰度值得到检测结果。
[0108] 本实施例中,产品图像由多个最小重复单元组成,通过成像系统采集产品图像,以产品图像中的任一最小重复单元图像作为待检测图像,根据待检测图像的纹理周期从产品图像中获取与待检测图像相邻的最小重复单元图像,将与检测图像相邻的最小重复单元图像进行融合,得到参考图像。
[0109] 对待检测图像进行预处理,其中,预处理包括校准处理和滤波降噪处理。
[0110] 计算预处理后的待检测图像中各个像素点的灰度值减去参考图像对应位置处的各个像素点的灰度值的第一差值,根据第一差值得到待检测图像与参考图像的第一差影图;计算第一差影图中各个像素点的灰度值减去检测超差阈值的差值,标记差值大于零的像素点。
[0111] 根据被标记的像素点,在预处理后的待检测图像中获取标记检测图像以及在第一差影图中获取标记差影图像,具体地,根据被标记的像素点,在预处理后的待检测图像中获取被标记的像素点对应的区域,得到标记检测图像。根据被标记的像素点,在第一差影图中获取被标记的像素点对应的区域,得到标记差影图像。
[0112] 通过NCC模板匹配算法将标记检测图像和模板图像进行对位,获取标记检测图像和模板图像之间的偏差坐标;根据偏差坐标对应的像素点,在模板阈值图中获取偏差坐标对应的像素点对应的区域,得到标记模板阈值图。利用模板图像二次小范围精确对位,能有效减少对位错误,提高检测结果的精确度。
[0113] 计算标记差影图像中各个像素点的灰度值减去标记模板阈值图对应位置处的各个像素点的灰度值的第二差值,根据第二差值得到标记差影图像与标记模板阈值图的第二差影图。
[0114] 根据第二差影图中的各个像素点的灰度值对第二差影图进行二值化分割,得到二值图,根据二值图中像素点的灰度值即可得到对产品图像的检测结果。
[0115] 进一步地,一实施例中,所述对所述第二差影图进行二值化分割,得到二值图的步骤,包括:
[0116] 判断所述第二差影图中各个像素点的灰度值是否大于零;
[0117] 将所述第二差影图中像素点的灰度值大于零的像素点的灰度值赋值为第一预设值;
[0118] 将所述第二差影图中像素点的灰度值小于或等于零的像素点的灰度值赋值为第二预设值。
[0119] 本实施例中,以第一预设值为255,第二预设值为0为例,判断第二差影图中各个像素点的灰度值是否大于零,若第二差影图中各个像素点的灰度值中存在大于零的灰度值,则将第二差影图中像素点的灰度值大于零的像素点的灰度值赋值为255,若第二差影图中各个像素点的灰度值中存在小于或等于零的灰度值,则将第二差影图中像素点的灰度值小于或等于零的像素点的灰度值赋值为0。
[0120] 进一步地,一实施例中,所述根据二值图中像素点的灰度值得到检测结果的步骤,包括:
[0121] 若二值图中像素点的灰度值都为第二预设值,则确定产品无缺陷;
[0122] 若二值图中存在灰度值为第一预设值的像素点,则确定产品有缺陷。
[0123] 本实施例中,获取二值图中像素点的灰度值,若二值图中像素点的灰度值都为第二预设值,则确定产品无缺陷,若二值图中存在灰度值为第一预设值的像素点,则确定产品有缺陷。
[0124] 进一步地,一实施例中,在所述若二值图中存在灰度值为第一预设值的像素点,则确定产品有缺陷的步骤之后,包括:
[0125] 输出待检测图像中与二值图中灰度值为第一预设值的像素点对应的像素点的坐标。
[0126] 本实施例中,确定产品有缺陷之后,输出待检测图像中与二值图中灰度值为第一预设值的像素点对应的像素点的坐标,以供相关人员快速找到缺陷。
[0127] 本实施例中,根据模板图像的纹理边界对所述模板图像进行连通域分析,得到所述模板图像的各个连通区域;基于各个连通区域中每个像素点的灰度值得到各个连通区域的检测超差阈值;根据各个连通区域的位置信息以及各个连通区域的检测超差阈值生成模板阈值图;基于所述模板阈值图对产品图像进行缺陷检测,得到检测结果。通过本实施例,根据模板图像的纹理边界对所述模板图像进行连通域分析,即可得到所述模板图像的各个连通区域,不再需要用户手动设置检测区域,从而降低人工成本,基于各个连通区域中每个像素点的灰度值得到各个连通区域的检测超差阈值,实现各个检测区域有对应的检测超差阈值,提高检测结果的精确度,根据各个连通区域的位置信息以及各个连通区域的检测超差阈值生成模板阈值图,基于所述模板阈值图对产品图像进行缺陷检测,即可得到精确的检测结果,且人工成本较低,解决了现有技术中检测产品表面缺陷的人工成本较高,且检测结果不够精确的问题。
[0128] 第三方面,本发明实施例还提供一种产品缺陷检测装置。
[0129] 一实施例中,图5为本发明产品缺陷检测装置第一实施例的功能模块示意图。如图5所示,产品缺陷检测装置,包括:
[0130] 分析模块10,用于根据模板图像的纹理边界对所述模板图像进行连通域分析,得到所述模板图像的各个连通区域;
[0131] 计算模块20,用于基于各个连通区域中每个像素点的灰度值得到各个连通区域的检测超差阈值;
[0132] 生成模块30,用于根据各个连通区域的位置信息以及各个连通区域的检测超差阈值生成模板阈值图;
[0133] 获取模块40,用于基于所述模板阈值图对产品图像进行缺陷检测,得到检测结果。
[0134] 进一步地,一实施例中, 计算模块20,用于:
[0135] 获取各个连通区域中每个像素点的灰度值并基于3sigma原则剔除异常灰度值;
[0136] 根据各个连通区域中剩余的每个像素点的灰度值,确定各个连通区域中同一灰度值的个数;
[0137] 根据各个连通区域中同一灰度值的个数和所述模板图像的宽、高以及灰度等级,计算得到各个连通区域中同一灰度值的频率;
[0138] 基于各个连通区域中同一灰度值的频率,计算得到各个连通区域的检测超差阈值。
[0139] 进一步地,一实施例中, 计算模块20,还用于:
[0140] 基于各个连通区域中同一灰度值的频率,得到各个连通区域的灰度直方图;
[0141] 基于灰度直方图,计算得到各个连通区域的检测超差阈值。
[0142] 进一步地,一实施例中, 计算模块20,还用于:
[0143] 基于灰度直方图分别获取每个连通区域中各个像素点的灰度值以及像素点的个数;
[0144] 分别将每个连通区域中各个像素点的灰度值以及像素点的个数代入第一预设公式,得到各个连通区域的检测超差阈值,第一预设公式如下:
[0145]
[0146] 其中, 为每个连通区域的检测超差阈值, 为每个连通区域的灰度方差,, ,n为每个连通区域内像素点的个数, 表示每个连通区域内第n个像素点的灰度值。
[0147] 进一步地,一实施例中, 获取模块40,还用于:
[0148] 以产品图像中的任一最小重复单元图像作为待检测图像,根据待检测图像的纹理周期从产品图像中获取参考图像;
[0149] 对待检测图像进行预处理;
[0150] 计算预处理后的待检测图像中各个像素点的灰度值减去参考图像对应位置处的各个像素点的灰度值的第一差值,根据所述第一差值得到待检测图像与参考图像的第一差影图;
[0151] 计算第一差影图中各个像素点的灰度值减去检测超差阈值的差值,标记差值大于零的像素点;
[0152] 根据被标记的像素点,在预处理后的待检测图像中获取标记检测图像以及在第一差影图中获取标记差影图像;
[0153] 通过NCC模板匹配算法将标记检测图像和模板图像进行对位,获取标记检测图像和模板图像之间的偏差坐标;
[0154] 根据偏差坐标对应的像素点,在模板阈值图中获取标记模板阈值图;
[0155] 计算标记差影图像中各个像素点的灰度值减去标记模板阈值图对应位置处的各个像素点的灰度值的第二差值,根据所述第二差值得到标记差影图像与标记模板阈值图的第二差影图;
[0156] 对所述第二差影图进行二值化分割,得到二值图;
[0157] 根据二值图中像素点的灰度值得到检测结果。
[0158] 进一步地,一实施例中,产品缺陷检测装置还包括二值化分割模块,用于:
[0159] 判断所述第二差影图中各个像素点的灰度值是否大于零;
[0160] 将所述第二差影图中像素点的灰度值大于零的像素点的灰度值赋值为第一预设值;
[0161] 将所述第二差影图中像素点的灰度值小于或等于零的像素点的灰度值赋值为第二预设值。
[0162] 进一步地,一实施例中,获取模块40,还用于:
[0163] 若二值图中像素点的灰度值都为第二预设值,则确定产品无缺陷;
[0164] 若二值图中存在灰度值为第一预设值的像素点,则确定产品有缺陷。
[0165] 进一步地,一实施例中,产品缺陷检测装置还包括输出模块,用于:
[0166] 输出待检测图像中与二值图中灰度值为第一预设值的像素点对应的像素点的坐标。
[0167] 其中,上述产品缺陷检测装置中各个模块的功能实现与上述产品缺陷检测方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
[0168] 第四方面,本发明实施例还提供一种可读存储介质。
[0169] 本发明可读存储介质上存储有产品缺陷检测程序,其中所述产品缺陷检测程序被处理器执行时,实现如上述的产品缺陷检测方法的步骤。
[0170] 其中,产品缺陷检测程序被执行时所实现的方法可参照本发明产品缺陷检测方法的各个实施例,此处不再赘述。
[0171] 需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
[0172] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0173] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备执行本发明各个实施例所述的方法。
[0174] 以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。