本发明属于图像模式识别领域,尤其涉及一种图像的缺陷检测方法。
背景技术:
如今智能手机已被广泛使用,手机盖板是智能手机设备重要的组件。在手机盖板检测的过程中,目前多数检测依靠人工肉眼识别。依靠人工肉眼识别的方式不仅耗费时间、对人的视力造成影响,还会因为不同人检测指标不同而造成漏检或者过检。
目前市场上的Logo区域缺陷检测设备尚未成熟,部分Logo缺陷检测设备只能对Logo区域较大的缺陷进行检测。不能够精确的计算缺陷的尺寸和位置。另一种Logo区域检测设备因为算法和机械原因算法处理时间较长而且成本极其昂贵。
技术实现要素:
为了解决现有技术中的上述问题,即为了解决如何在降低成本情况下,实现对图像的缺陷精确检测问题,本发明提供了一种图像的缺陷检测方法,所述方法包括以下步骤:
扫描待检测图像,获取所述待检测图像中的待测图案的边缘轮廓;
在所述边缘轮廓中选取搜索点,并将所述搜索点投影到与所述待测图案相同的模板图像中得到瑕疵点,构成瑕疵点聚类;
计算所述瑕疵点聚类中每一瑕疵点对应的瑕疵尺寸信息。
优选地,所述获取所述待检测图像中的待测图案的边缘轮廓,具体包括:以所述待检测图像原点为起始点,
步骤A,沿y轴方向向下搜索直到搜索高度为待检测图像高度,获取搜索到的搜索点;
步骤B,对所述起始点在x轴方向加数值1,重复上述步骤A;直到所述起始点在x轴方向上的数值等于所述待检测图像的宽度;
步骤C,统计所有搜索点记为第一搜索点集合;
步骤A’,沿x轴方向向右搜索直到搜索长度为待检测图像高度,获取搜索到的搜索点;
步骤B’,对所述起始点在y轴方向加数值1,重复上述步骤A;直到所述起始点在y轴方向上的数值等于所述待检测图像的宽度;
步骤C’,统计所有搜索点记为第二搜索点集合;
将所述第一搜索点集合和第二搜索点集合中的所有搜索点合并,删除两者共有的搜索点,得到新的搜索点集合,根据该新的搜索点集合中的各搜索点构成所述待检测图像中的待测图案的边缘轮廓;其中,所述搜索点为搜索到的灰度值跳变点。
优选地,所述将所述搜索点投影到与所述待测图案相同的模板图像中得到瑕疵点,具体包括:
将所述待测图案与所述模板图像中的模板图案进行匹配;
根据匹配结果计算所述搜索点与模板图案中对应搜索点间的距离,记为偏移量;
当所述偏移量与平均偏移量的差值大于预设偏移量阈值时,确定所述搜索点为瑕疵点;
所述平均偏移量为,所述待测图案中所有搜索点的偏移量总和的平均值。
优选地,所述将所述待测图案与所述模板图像中的模板图案进行匹配,具体包括:
在所述待测图案中所构成的新的搜索点集合中选取搜索点P1,并在所述模板图像中选取所述P1的对应点P2,根据所选取的P1和2计算旋转偏移量Δθ、平移偏移量R和沿Y轴拉伸量K;
根据旋转偏移量Δθ、平移偏移量R和沿Y轴拉伸量K将所述搜索点投影到与所述待测图案相同的模板图像中,得到匹配结果;
具体的,根据P1和P2计算长度D和与水平方向夹角θ;
在所述待测图案和模板图像中选取三组对应点P11、P21、P12、P22、P13和P23,则平移偏移量R为:
Ry=P11y-P21y
Rx=P11x-P21x
沿Y轴拉伸量K为:
其中,l1为P11和P12两点距离,l2为P13、P23两点距离;
则所述Δθ为:
其中,
在将得到的瑕疵点构成瑕疵点聚类时,所有的瑕疵点构成瑕疵点数组;
步骤一,在所述瑕疵点数组中选取第一个瑕疵点定义为基准点,并存储在基准点数组中;其中,所述瑕疵点数组中所有瑕疵点顺次排列;
步骤二,计算所述基准点到所述瑕疵点数组中其他各瑕疵点的距离,选取距离小于预设数值的瑕疵点全部存储到所述基准点数组中,并将存储到所述基准点数组中的瑕疵点在所述瑕疵点数组中删除;
步骤三,计算所述基准点数组中另一瑕疵点与所述瑕疵点数组中其他瑕疵点的距离,选取距离小于预设数值的瑕疵点存储到所述基准点数组中,直到所述基准点数组中所有瑕疵点计算结束;
步骤四,重复上述步骤一到三,直到所述瑕疵点数组中不存在任何的瑕疵点;
步骤五,各基准点数组构成瑕疵点聚类。
优选地,
分别计算所述瑕疵点聚类中各基准点数组的瑕疵偏移量的方差;
在所述瑕疵点聚类中删除方差小于预设方差阈值的基准点数组。
优选地,所述计算所述瑕疵点聚类中每一瑕疵点对应的瑕疵尺寸信息之前,还包括:
选取所述瑕疵点聚类中具有两个端点的基准点数组;
计算任一端点与所述待测图案中除去瑕疵点之外的搜索点间的距离,若距离小于预设的第一距离阈值,则将该搜索点存储到所述端点所属的基准点数组中;
所述端点为,所述基准点数组中选取任一瑕疵点,其它瑕疵点中只存在一个瑕疵点与该任一瑕疵点的距离小于第二距离阈值,该任一瑕疵点为一个端点。
优选地,所述计算所述瑕疵点聚类中每一瑕疵点对应的瑕疵尺寸信息,具体包括:
获取所述瑕疵点聚类中任一基准点数组中所有瑕疵点的最小外接矩形;
计算所述最小外接矩形的长、宽、面积,得到任一基准点数组的瑕疵尺寸信息。
优选地,所述在所述边缘轮廓中选取搜索点之前,还包括:
确定所述边缘轮廓与模板图像中对应的待测图案的大小是否相近,若相近,则在所述边缘轮廓中选取搜索点;否则,确定待检测图像存在较大缺陷。
与现有技术相比,本发明至少具有以下优点:
通过本发明的设计,实现了在降低成本情况下,对图像的缺陷精确检测。
附图说明
图1是本发明所提供的图像的缺陷检测方法的流程示意图。
具体实施方式
下面参照附图来描述本发明的优选实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。
本发明提出一种图像的缺陷检测方法,下面结合附图,对本发明具体实施方式进行详细说明。
如图1所示,该方法具体包括如下步骤:
步骤101,扫描待检测图像,获取所述待检测图像中的待测图案的边缘轮廓。
在本步骤中,在进行边缘轮廓提取时,需要对待检测图像进行图像增强、canny处理。
所述在所述边缘轮廓中选取搜索点之前,还包括:
确定所述边缘轮廓与模板图像中对应的待测图案的大小是否相近,若相近,则在所述边缘轮廓中选取搜索点;否则,确定待检测图像存在较大缺陷。
该边缘轮廓提取步骤具体包括:以所述待检测图像原点为起始点,其中,定义该待检测图像左上角为该待检测图像原点;
步骤A,沿y轴方向向下搜索直到搜索高度为待检测图像高度,获取搜索到的搜索点;
步骤B,对所述起始点在x轴方向加数值1,重复上述步骤A;直到所述起始点在x轴方向上的数值等于所述待检测图像的宽度;
步骤C,统计所有搜索点记为第一搜索点集合;认为搜索到的搜索点为待检测图像内边缘与x轴夹角小于45度的点;
步骤A’,沿x轴方向向右搜索直到搜索长度为待检测图像高度,获取搜索到的搜索点;
步骤B’,对所述起始点在y轴方向加数值1,重复上述步骤A;直到所述起始点在y轴方向上的数值等于所述待检测图像的宽度;
步骤C’,统计所有搜索点记为第二搜索点集合;认为搜索到的搜索点为待检测图像内边缘与x轴夹角大于45度的点;
将所述第一搜索点集合和第二搜索点集合中的所有搜索点合并,删除两者共有的搜索点,得到新的搜索点集合,根据该新的搜索点集合中的各搜索点构成所述待检测图像中的待测图案的边缘轮廓;其中,所述搜索点为搜索到的灰度值跳变点。
步骤102,在所述边缘轮廓中选取搜索点,并将所述搜索点投影到与所述待测图案相同的模板图像中得到瑕疵点,构成瑕疵点聚类。
所述将所述搜索点投影到与所述待测图案相同的模板图像中得到瑕疵点,具体包括:
将所述待测图案与所述模板图像中的模板图案进行匹配;
根据匹配结果计算所述搜索点与模板图案中对应搜索点间的距离,记为偏移量;
当所述偏移量与平均偏移量的差值大于预设偏移量阈值时,确定所述搜索点为瑕疵点;
所述平均偏移量为,所述待测图案中所有搜索点的偏移量总和的平均值。
对于待检图中任意一点P,P1表示其在待检图中坐标,P2表示其在模板图中坐标,可得:
P2x=lsin(θ-Δθ)+P01x-Rx
P2y=lcos(θ-Δθ)K+P01y-Rx
计算该点到模板图中对应点的最小距离,并记录所有距离,认为该距离为待检图轮廓的搜索点到其对应点的偏移量;
对于所有偏移量,若其与平均偏移量的差大于某一阈值时,则认为该搜索点是瑕疵点,并将该搜索点存入数据结构中。
进一步地,所述将所述待测图案与所述模板图像中的模板图案进行匹配,具体包括:
在所述待测图案中所构成的新的搜索点集合中选取搜索点P1,并在所述模板图像中选取所述P1的对应点P2,根据所选取的P1和2计算旋转偏移量Δθ、平移偏移量R和沿Y轴拉伸量K;
其中,该对应点的选取可以通过ORB(ORiented Brief)算法,将对应点映射在一副平面图中,通过在一幅平面图中将对应点P1、P2连接起来,并计算连线的长度D和与水平方向夹角θ;
根据旋转偏移量Δθ、平移偏移量R和沿Y轴拉伸量K将所述搜索点投影到与所述待测图案相同的模板图像中,得到匹配结果;
具体的,根据P1和P2计算长度D和与水平方向夹角θ;
在所述待测图案和模板图像中选取三组对应点P11、P21、P12、P22、P13和P23,则平移偏移量R为:
Ry=P11y-P21y
Rx=P11x-P21x
沿Y轴拉伸量K为:
其中,l1为P11和P12两点距离,l2为P13、P23两点距离;
则所述Δθ为:
其中,
根据D和θ的值利用K均值聚类算法去除错误的搜索点,得到剩余的搜索点,将待检测图像中的所有剩余的搜索点放在一维图形中,每一个搜索点在该一维图形中为一个一维点,所有的一维点构成一组一维数据,在该一组一维数据中,每一个一维点均对应有一个数值;
对于该组一维数据,计算出该组一维数据的最大值和最小值;
分别以最大值和最小值为聚类中心,计算其他各一维数据与两个聚类中心的差,并将该一维数据存入距离较近的聚类中心的数组中;
计算两个聚类中心中所有一维数据的平均值并以此为新的聚类中心,继续重复上述步骤,直到某一聚类中心方差小于一定阈值或者循环次数大于一定阈值时,其中,阈值的目标函数J为:
为得到最小的J通过计算可得:
从所有一维数据中删除两个聚类中心中数量较小的集合并对剩下的一维点继续重复上述步骤直到最终的所有一维数据的方差小于一定阈值或者循环次数大于一定阈值;
计算最终剩余的一维数据的均值,并认为该均值为所有一维数据的期望;其中,该期望为上述所计算出的旋转偏移量Δθ、平移偏移量R和沿Y轴拉伸量K,用于待测图案与模板图像中的模板图案的匹配。上述算法为进行待测图案与模板图像中的模板图案的匹配时的另一种算法。
更进一步地,在将得到的瑕疵点构成瑕疵点聚类时,所有的瑕疵点构成瑕疵点数组;
步骤一,在所述瑕疵点数组中选取第一个瑕疵点定义为基准点,并存储在基准点数组中;其中,所述瑕疵点数组中所有瑕疵点顺次排列;
步骤二,计算所述基准点到所述瑕疵点数组中其他各瑕疵点的距离,选取距离小于预设数值的瑕疵点全部存储到所述基准点数组中,并将存储到所述基准点数组中的瑕疵点在所述瑕疵点数组中删除;
步骤三,计算所述基准点数组中另一瑕疵点与所述瑕疵点数组中其他瑕疵点的距离,选取距离小于预设数值的瑕疵点存储到所述基准点数组中,直到所述基准点数组中所有瑕疵点计算结束;
步骤四,重复上述步骤一到三,直到所述瑕疵点数组中不存在任何的瑕疵点;
步骤五,各基准点数组构成瑕疵点聚类。
进一步地,分别计算所述瑕疵点聚类中各基准点数组的瑕疵偏移量的方差;
在所述瑕疵点聚类中删除方差小于预设方差阈值的基准点数组。
步骤103,计算所述瑕疵点聚类中每一瑕疵点对应的瑕疵尺寸信息。
所述计算所述瑕疵点聚类中每一瑕疵点对应的瑕疵尺寸信息之前,还包括:
选取所述瑕疵点聚类中具有两个端点的基准点数组;
计算任一端点与所述待测图案中除去瑕疵点之外的搜索点间的距离,若距离小于预设的第一距离阈值,则将该搜索点存储到所述端点所属的基准点数组中;
所述端点为,所述基准点数组中选取任一瑕疵点,其它瑕疵点中只存在一个瑕疵点与该任一瑕疵点的距离小于第二距离阈值,该任一瑕疵点为一个端点。
所述计算所述瑕疵点聚类中每一瑕疵点对应的瑕疵尺寸信息,具体包括:
获取所述瑕疵点聚类中任一基准点数组中所有瑕疵点的最小外接矩形;
计算所述最小外接矩形的长、宽、面积,得到任一基准点数组的瑕疵尺寸信息。
其中,对于最小外接矩形内任一点通过仿射变换求取其在模板图中的对应点,计算该点与其对应点周围3*3矩形框内像素灰度值得差,若差大于阈值,则认为该点为缺陷点。对于任一瑕疵类,将其绘制在与待检计算图尺寸相同的像素值为0的图中,计算其最小外接矩形的长、宽、面积,所求得到的值认为是瑕疵尺寸信息。当然,在计算瑕疵尺寸信息时,并不仅局限于通过构建最小外接矩形来实现。
本领域技术人员应该能够意识到,结合本文中所公开的实施例描述的各示例的模块、及方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明电子硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以电子硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。