金属缺陷识别方法与流程

文档序号:31527352发布日期:2022-09-14 14:54阅读:152来源:国知局
金属缺陷识别方法与流程

1.本发明涉及数据处理技术领域,具体涉及一种金属缺陷识别方法。


背景技术:

2.在金属生产及装配过程中,金属表面可能会出现一些缺陷,较为轻微的缺陷会影响金属的美观,而较为严重的缺陷会降低材料强度,缩短工件寿命,并且增加安全风险,并且轻微的缺陷时间久了可能也会转为严重缺陷。因此对金属产品表面进行缺陷检测是质量检测中必不可少的一环。
3.随着工业技术的发展,对于金属表面的缺陷检测已然从人工检测转变到了机器智能检测,然而传统的机器视觉在进行缺陷识别时,由于光照不均、金属表面反光等因素,很难提取出准确的缺陷区域,从而导致识别精度不高。


技术实现要素:

4.本发明提供一种金属缺陷识别方法,用于解决金属表面缺陷检测精度不高的问题,所采用的技术方案具体如下:本发明一个实施例提供了一种金属缺陷识别方法,该方法包括以下步骤:采集金属表面图像,获取表面图像的灰度图像,对所述灰度图像进行边缘检测,得到边缘像素点和背景像素点,基于边缘像素点和背景像素点的信息熵差异获取边缘检测效果;当边缘检测效果低于预设阈值时,获取未封闭边缘线,通过对每条未封闭边缘线进行闭合分析,筛选出真实边缘;以每条真实边缘作为目标边缘,通过获取连接边缘的步骤得到目标边缘的连接边缘,基于连接边缘两侧的像素值判断所述连接边缘是否为实际边缘线;由作为实际边缘线的连接边缘、目标边缘和相邻边缘组成一条组合边缘,通过所述步骤获取组合边缘的连接边缘,组成新的组合边缘,直至新的组合边缘形成一个封闭区域;基于所述封闭区域内每个像素点的灰度梯度获取所述封闭区域为缺陷区域的置信度,当所述置信度大于预设的置信度阈值时,对应的封闭区域为缺陷区域;所述步骤为:获取每条目标边缘与其他真实边缘之间的特征距离,以最短特征距离对应的其他真实边缘作为目标边缘的相邻边缘,以目标边缘和相邻边缘的特征距离对应的两个端点分别作为起点和终点进行边缘生长。
5.优选的,所述边缘检测效果的获取方法为:计算边缘像素点的第一信息熵以及背景像素点的第二信息熵,以第一信息熵和第二信息熵的差值绝对值作为分子,以两个信息熵中的最大值作为分母,得到的比值即为所述边缘检测效果。
6.优选的,所述闭合分析的过程为:获取每条未封闭边缘线的两个端点,基于两个端点之间的直线距离获取最大生长
次数,利用区域生长算法从一个端点沿着除了该未封闭边缘线以外的灰度梯度最小的方向生长,当生长次数达到最大生长次数之后,仍未达到另一端点,该边缘线为干扰边缘;否则为真实边缘。
7.优选的,所述特征距离的获取方法为:获取目标边缘的两个目标端点以及每条其他真实边缘的两个边缘端点,获取每个目标端点和每个边缘端点之间的端点距离,以最短的端点距离作为目标边缘和对应的其他真实边缘之间的特征距离。
8.优选的,所述以目标边缘和相邻边缘的特征距离对应的两个端点分别作为起点和终点进行边缘生长,包括:获取起点和终点之间的直线距离,基于该直线距离获取最大生长次数,利用区域生长算法从起点沿着除了目标边缘以外的灰度梯度最小的方向生长,在最大生长次数以内进行边缘生长达到终点。
9.优选的,所述基于连接边缘两侧的像素值判断所述连接边缘是否为实际边缘线,包括:获取所述连接边缘的中心点,将所述起点和所述终点连接为一条直线,过中心点作该直线的垂线,获取所述连接边缘上每个像素点在垂线的两个延伸方向上的相邻像素点作为对应的关联像素点,计算每个像素点对应的两个关联像素点的灰度差值与该像素点的灰度值的比值,所述连接边缘上的所有像素点的比值的平均值为实际边缘概率,当所述实际边缘概率大于预设的概率阈值时,对应的连接边缘为实际边缘线,否则不是实际边缘线。
10.优选的,所述置信度的获取方法为:以封闭区域内每个像素点作为邻域中心构建邻域区域,获取邻域中心在邻域区域内每个方向上的灰度梯度,获取所有像素点在同一个方向上的灰度梯度的差异性,计算所有方向的差异性的和,即为所述置信度。
11.优选的,该方法还包括以下步骤:利用训练完成的目标检测网络对每个缺陷区域进行缺陷分类。
12.优选的,所述目标检测网络的训练过程为:以缺陷区域图像作为网络输入,通过对金属表面缺陷包围框进行类别标注作为网络标签,采用均方差损失函数对目标检测网络进行训练,直至损失函数收敛,目标检测网络训练完成。
13.本发明实施例至少具有如下有益效果:通过边缘像素点和背景像素点的信息熵差异获取边缘检测效果,当信息熵差异过小时,边缘像素点和背景像素点区分不明显,说明边缘检测效果不好,此时需要进行后续的步骤,对边缘检测效果不好的灰度图像,获取未封闭边缘,未封闭边缘可能是光照不均或者反光造成的干扰边缘,也可能是由于边缘检测效果不好,只识别出了缺陷区域的部分边缘,因此对未闭合边缘进行闭合分析筛选出真实边缘,然后对相邻的真实边缘通过连接边缘进行连接形成一个封闭区域,能够形成封闭区域的相邻真实边缘很可能是由于边缘检测效果不好而检测到的缺陷区域中断了的部分边缘,通过获取封闭边缘为缺陷区域的置信度识别出缺陷区域。本发明能够弥补边缘检测的缺陷,将未识别到的边缘提取出来,提高缺陷区域的识别精度。
附图说明
14.为了更清楚地说明本发明实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
15.图1为本发明一个实施例提供的一种金属缺陷识别方法的步骤流程图。
具体实施方式
16.为了更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种金属缺陷识别方法,其具体实施方式、结构、特征及其功效,详细说明如下。在下述说明中,不同的“一个实施例”或“另一个实施例”指的不一定是同一实施例。此外,一或多个实施例中的特定特征、结构或特点可由任何合适形式组合。
17.除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。
18.下面结合附图具体的说明本发明所提供的一种金属缺陷识别方法的具体方案。
19.请参阅图1,其示出了本发明一个实施例提供的一种金属缺陷识别方法的步骤流程图,该方法包括以下步骤:步骤s001,采集金属表面图像,获取表面图像的灰度图像,对灰度图像进行边缘检测,得到边缘像素点和背景像素点,基于边缘像素点和背景像素点的信息熵差异获取边缘检测效果。
20.具体的步骤包括:1、采集金属表面图像,并获取表面图像的灰度图像。
21.在固定光源下利用工业相机采集金属表面图像,采集的图像为rgb图像,对rgb图像进行灰度化处理,得到表面图像的灰度图像。
22.灰度化处理为现有技术,可以通过多种方法达到灰度化的效果,作为一个示例,在本发明实施例中采用加权灰度化的方法进行灰度化处理。
23.2、对灰度图像进行边缘检测,得到边缘像素点和背景像素点。
24.对金属表面灰度图进行canny算子检测,得到边缘像素点,即将图像上像素点分为了两类,一类为边缘像素点,一类为背景像素点。当边缘像素点数量过少时,金属表面不存在缺陷。
25.3、获取边缘检测效果。
26.计算边缘像素点的第一信息熵以及背景像素点的第二信息熵,以第一信息熵和第二信息熵的差值绝对值作为分子,以两个信息熵中的最大值作为分母,得到的比值即为边缘检测效果。
27.首先将所有像素点的灰度级进行压缩,压缩到16级,分别对两类像素点进行各灰度级像素点数量的统计,将第i个灰度级中第l个类别的像素点数量记为,其中l=1表示该类别为边缘像素点,l=2表示该类别为背景像素点。
28.计算边缘像素点的第一信息熵:以边缘像素点中每个灰度等级的数量占所有边缘像素点数量的比例,作为对应灰度级的出现概率,将所有灰度等级的出现概率代入信息熵计算公式得到边缘像素点的第一信息熵:其中,表示第i个灰度等级的数量占所有边缘像素点数量的比例。
29.同样的,计算背景像素点的第二信息熵:以背景像素点中每个灰度等级的数量占所有背景像素点数量的比例,作为对应灰度级的出现概率,将所有灰度等级的出现概率代入信息熵计算公式得到背景像素点的第二信息熵:其中,表示第i个灰度等级的数量占所有背景像素点数量的比例。
30.基于边缘像素点和背景像素点的信息熵差异获取边缘检测效果:其中,r表示边缘检测效果,表示选取和中的最大值。
31.当信息熵差异越大,边缘像素点和背景像素点区分越明显,边缘检测效果越好。
32.边缘检测算法canny算子常被用于目标区域分割中,但在实际应用时,仍旧存在缺陷,对于金属表面缺陷区域,由于光照不均及表面反光特性干扰,canny算子在检测缺陷边缘精度较差,检测出的边缘会出现断裂情况。
33.步骤s002,当边缘检测效果低于预设阈值时,获取未封闭边缘线,通过对每条未封闭边缘线进行闭合分析,筛选出真实边缘。
34.具体的步骤包括:1、边缘检测效果评估。
35.当边缘检测效果低于预设阈值时,说明canny算子检测效果较差,像素点分类存在误判情况,可能有些边缘未被检测到,导致缺陷区域的边缘中断。
36.作为一个示例,本发明实施例中预设阈值为0.5。
37.2、通过对每条未封闭边缘线进行闭合分析,筛选出真实边缘。
38.连接相邻的边缘像素点得到各条边缘线,由于金属缺陷区域往往为封闭区域,故对各条未封闭的边缘线进行分析,获取所有未封闭边缘线。
39.获取每条未封闭边缘线的两个端点,基于两个端点之间的直线距离获取最大生长次数,利用区域生长算法从一个端点沿着除了该未封闭边缘线以外的灰度梯度最小的方向
生长,当生长次数达到最大生长次数之后,仍未达到另一端点,该边缘线为干扰边缘;否则为真实边缘。
40.对于任意一条未封闭边缘线进行分析,以未封闭边缘线q为例,获取未封闭边缘线q的两端点记为,。在,之间,以点为起点使用区域生长算法,生长方向为中心像素点在3*3邻域内除了该未封闭边缘线q以外的灰度梯度最小的方向进行生长。获取,像素点连接成的直线包含的像素数量,设定最大生长次数为,当生长次数超过最大生长次数时,说明和之间无法进行生长,未封闭边缘线q没有未被识别到的其他部分边缘线,为缺陷干扰边缘线,对其进行删除。
41.通过在未封闭边缘线q的两个端点进行除本身方向以外的生长,如果在最大生长次数以内能够在两端点之间生长出另一条边缘,说明未封闭边缘线q为闭合区域的一部分,生长出的另一条边缘即为未封闭边缘线q所在闭合区域未检测到的部分边缘。另一条边缘也有可能与其他未封闭边缘部分重合,说明未封闭边缘线q与未封闭边缘共同构成了一个封闭边缘,但是因为边缘检测不够精准,中间部分边缘未检出,使闭合区域断裂为两条未封闭边缘。
42.因此能够在最大生长次数内从一个端点生长到另一端点的未封闭边缘,为真实边缘。
43.步骤s003,以每条真实边缘作为目标边缘,通过获取连接边缘的步骤得到目标边缘的连接边缘,基于连接边缘两侧的像素值判断连接边缘是否为实际边缘线;由作为实际边缘线的连接边缘、目标边缘和相邻边缘组成一条组合边缘,通过该步骤获取组合边缘的连接边缘,组成新的组合边缘,直至新的组合边缘形成一个封闭区域。
44.具体的步骤包括:1、获取目标边缘的连接边缘。
45.以每条真实边缘作为目标边缘,通过获取连接边缘的步骤得到目标边缘的连接边缘,其中获取连接边缘的步骤为:获取每条目标边缘与其他真实边缘之间的特征距离,以最短特征距离对应的其他真实边缘作为目标边缘的相邻边缘,以目标边缘和相邻边缘的特征距离对应的两个端点分别作为起点和终点进行边缘生长。
46.获取每条目标边缘与其他真实边缘之间的特征距离的过程为:获取目标边缘的两个目标端点以及每条其他真实边缘的两个边缘端点,获取每个目标端点和每个边缘端点之间的端点距离,以最短的端点距离作为目标边缘和对应的其他真实边缘之间的特征距离。
47.以作为真实边缘的未封闭边缘q为例,将真实边缘q作为目标边缘,目标端点为和,以另一真实边缘w作为其他真实边缘,边缘端点为和,分别计算每个目标端点和每个边缘端点的之间的欧氏距离作为端点距离,共得到四个端点距离,以最小的端点距离作为真实边缘q和真实边缘w之间的特征距离,记为d。
48.获取目标边缘与每条其他真实边缘之间的特征距离,以最短特征距离对应的其他真实边缘作为目标边缘的相邻边缘,以目标边缘和相邻边缘的特征距离对应的两个端点分别作为起点和终点,获取起点和终点之间的直线距离,基于该直线距离获取最大生长
次数,利用区域生长算法从起点沿着除了目标边缘以外的灰度梯度最小的方向生长,在最大生长次数以内进行边缘生长达到终点。
49.假设真实边缘w即为目标边缘q的相邻边缘,特征距离对应的端点为和,则获取和之间的直线距离,即和连接形成的直线包括的像素点数量,则最大生长次数为,以为起点,以为终点,利用区域生长算法从起点沿着除了目标边缘以外的灰度梯度最小的方向生长,得到目标边缘的连接边缘。
50.若目标边缘和相邻边缘为同一闭合区域上的两部分边缘,且目标边缘的连接边缘为实际边缘,则该连接边缘即为两条边缘之间未检测出的部分边缘。
51.2、判断连接边缘是否为实际边缘线。
52.获取连接边缘的中心点,将起点和终点连接为一条直线,过中心点作该直线的垂线,获取连接边缘上每个像素点在垂线的两个延伸方向上的相邻像素点作为对应的关联像素点,计算每个像素点对应的两个关联像素点的灰度差值与该像素点的灰度值的比值,连接边缘上的所有像素点的比值的平均值为实际边缘概率,当实际边缘概率大于预设的概率阈值时,对应的连接边缘为实际边缘线,否则不是实际边缘线。
53.连接,得到一条直线s,获取连接边缘的中心点e点,过e点作与直线s的垂线k,垂线k与直线s的交点为s点,则垂线的两个延伸方向分别为向量和向量对应的方向。对于连接边缘上的每个像素点,获取沿着方向的相邻像素点和沿着方向的相邻像素点作为该像素点的关联像素点,即连接边缘上的每个像素点均有两个不同方向上的关联像素点。
54.如果连接边缘为实际边缘线,则连接边缘两侧的像素点灰度值相差较大,因此通过关联像素点的灰度差值进行实际边缘线的判断,具体的计算公式为:其中,p表示实际边缘概率,表示连接边缘上像素点的数量,表示连接边缘上第j个像素点的灰度值,表示连接边缘上第j个像素点在方向上的关联像素点的灰度值,表示连接边缘上第j个像素点在方向上的关联像素点的灰度值。
55.连接边缘两侧的像素点灰度值相差越大,对应的越大,连接边缘为实际边缘的概率也越大。
56.当实际边缘概率大于预设的概率阈值时,对应的连接边缘为实际边缘线,否则不是实际边缘线。
57.概率阈值根据实际情况进行预先设置,作为一个示例,本发明实施例中概率阈值
为0.95,即实际边缘概率p大于0.95的连接边缘为实际边缘线,只是由于边缘检测精度不高未检测出来。
58.3、由作为实际边缘线的连接边缘、目标边缘和相邻边缘组成一条组合边缘,通过该步骤获取组合边缘的连接边缘,组成新的组合边缘,直至新的组合边缘形成一个封闭区域。
59.当连接边缘的实际边缘概率未大于0.95,此时需要排除目标边缘的相邻边缘,以特征距离次短的真实边缘作为目标边缘新的相邻边缘,直至能够得到实际边缘概率大于0.95的新相邻边缘,由作为实际边缘线的连接边缘、目标边缘和相邻边缘组成一条组合边缘。
60.如果不存在实际边缘概率大于0.95的相邻边缘,说明目标边缘作为封闭区域的一部分,其余部分均未被检出,此时获取目标边缘的两个端点之间在最大生长次数以内生长出的另一条边缘,与目标边缘一起组成一个封闭区域。
61.由作为实际边缘线的连接边缘、目标边缘和相邻边缘组成的组合边缘依然是一条未封闭边缘,通过上述获取连接边缘的步骤获取组合边缘的连接边缘,组成新的组合边缘,若新的组合边缘为一个封闭区域,说明通过上述方法已将未检出的部分边缘识别出来,组成了完整的封闭区域,否则继续获取新的组合边缘的连接边缘,直至新的组合边缘形成一个封闭区域。
62.当新的组合边缘外没有其他真实边缘,而新的组合边缘依然是一条未封闭边缘时,在新的组合边缘的两个端点之间进行边缘生长,得到一个封闭区域。
63.步骤s004,基于封闭区域内每个像素点的灰度梯度获取封闭区域为缺陷区域的置信度,当置信度大于预设的置信度阈值时,对应的封闭区域为缺陷区域。
64.具体的步骤包括:1、获取封闭区域为缺陷区域的置信度。
65.以封闭区域内每个像素点作为邻域中心构建邻域区域,获取邻域中心在邻域区域内每个方向上的灰度梯度,获取所有像素点在同一个方向上的灰度梯度的差异性,计算所有方向的差异性的和,即为置信度。
66.以封闭区域内每个像素点作为邻域中心构建3*3的邻域区域,每个像素点作为邻域中心时,都有8个方向上的邻域像素点,第o个像素点作为邻域中心时,在第v个方向上的灰度梯度为:,其中,表示第o个像素点的灰度值,表示第o个像素点第v个方向上的邻域像素点的灰度值。
67.每个像素点在8个方向上都有对应的梯度值,获取所有梯度值的平均值,计算第v个方向上所有像素点的灰度梯度的差异性:,其中,表示第t个像素点在第v个方向上的灰度梯度,表示封闭区域内的像素点数量。
68.所有方向的差异性的和即为封闭区域为缺陷区域的置信度。根据不同方向上灰度梯度的变化表征了该区域为缺陷区域的置信度,如果封闭区域为缺陷区域,缺陷区域内部结构往往是不规则的,对应的梯度变化是比较大的;如果封闭区域为反光区域,反
光区域中间最亮,随着靠近边缘线逐渐变暗,梯度变化是均匀的,差异不会很大,因此通过灰度梯度的变化排除反光区域。灰度梯度与平均梯度值的差别越大,对应方向上的差异性越大,所有方向上的差异性之和越大,说明该封闭区域内的像素点之间的差异越大,结构越不规则,越有可能为缺陷区域。
69.2、当置信度大于预设的置信度阈值时,对应的封闭区域为缺陷区域。
70.置信度越大,越有可能为缺陷区域,当置信度阈值大于一定程度时,对应的封闭区域即为缺陷区域。置信度阈值根据实际情况预先设定,作为一个示例,在本发明实施例中置信度阈值为0.9。
71.进一步的,在另一实施例中,本发明还包括以下步骤:利用训练完成的目标检测网络对每个缺陷区域进行缺陷分类。
72.以缺陷区域图像作为网络输入,通过对金属表面缺陷包围框进行类别标注作为网络标签,采用均方差损失函数对目标检测网络进行训练,直至损失函数收敛,目标检测网络训练完成。
73.对现有目标检测网络进行训练,网络结构为encoder-decoder-fc,网络训练过程如下:首先进行图像标签数据的制作,对金属表面的缺陷包围框进行标注,标注包围框类别、中心点坐标、包围框宽及高,即。其中,class代表缺陷类别,为包围框中心的坐标,w为包围框的宽,h为包围框的高。标签中x、y、w、h需进行归一化处理。
74.通过图像数据和包围框标签数据对网络进行训练,目标检测encoder对图像进行特征提取,输入为经过归一化处理的缺陷区域图像,输出为feature map,目标检测decoder是对中间特征进行上采样并生成金属缺陷的包围框。
75.网络训练的损失函数采用均方差损失函数。
76.将缺陷区域图像输入训练完成的目标检测网络,输出缺陷所属的类别。输出的类别是在标签标注时确定的。
77.综上所述,本发明实施例采集金属表面图像,获取表面图像的灰度图像,对灰度图像进行边缘检测,得到边缘像素点和背景像素点,基于边缘像素点和背景像素点的信息熵差异获取边缘检测效果;当边缘检测效果低于预设阈值时,获取未封闭边缘线,通过对每条未封闭边缘线进行闭合分析,筛选出真实边缘;以每条真实边缘作为目标边缘,通过获取连接边缘的步骤得到目标边缘的连接边缘,基于连接边缘两侧的像素值判断连接边缘是否为实际边缘线;由作为实际边缘线的连接边缘、目标边缘和相邻边缘组成一条组合边缘,通过步骤获取组合边缘的连接边缘,组成新的组合边缘,直至新的组合边缘形成一个封闭区域;基于封闭区域内每个像素点的灰度梯度获取封闭区域为缺陷区域的置信度,当置信度大于预设的置信度阈值时,对应的封闭区域为缺陷区域。本发明实施例能够弥补边缘检测的缺陷,将未识别到的边缘提取出来,提高缺陷区域的识别精度。
78.需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
79.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
80.以上所述实施例仅用以说明本技术的技术方案,而非对其限制;对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1