基于多分类器与SVDD协同算法的缺陷检测方法和装置与流程

文档序号:26731026发布日期:2021-09-22 21:43阅读:125来源:国知局
基于多分类器与SVDD协同算法的缺陷检测方法和装置与流程
基于多分类器与svdd协同算法的缺陷检测方法和装置
技术领域
1.本发明涉及缺陷检测技术领域,具体涉及一种基于多分类器与svdd协同算法的缺陷检测方法和一种基于多分类器与svdd协同算法的缺陷检测装置。


背景技术:

2.相关技术中,基于工业质检图像数据处理的方法大多是人为根据历史经验选取对缺陷影响大的物理量进行数据分析,然而,由于工业现场质检数据本身存在多样性,比如类内间距大,即设备、人为均识别出是同一种缺陷,并且缺陷形态差异较大,设备识别出的缺陷特征各有不同,另外,不同相机型号,不同光照、灰度、湿度等环境下通过图像识别缺陷的清晰程度不同,工件新产生的缺陷特征在历史数据中没有发生过,从而导致算法识别不准确,工业质检数据与实际现场环境存在误差。


技术实现要素:

3.本发明为解决上述技术问题,提供了一种基于多分类器与svdd协同算法的缺陷检测方法,能够有效地减少待检测工件的不同缺陷在设备上识别出现断层,并且对于处于不同环境下的待检测工件依然能够进行准确地检测,从而大大提高缺陷检测的准确度,降低现场工作难度。
4.本发明采用的技术方案如下:一种基于多分类器与svdd协同算法的缺陷检测方法,包括以下步骤:对待检测工件的原始图像中的轮廓点进行数据采集以获取第一数据;对所述第一数据进行数据清洗,并对数据清洗后的数据进行数据标准化以获取第二数据;对第二数据进行数据平衡处理以获取第三数据;采用过滤法对第三数据进行特征选择处理;采用knn算法对特征选择处理后的数据进行初步数据划分,以对所述待检测工件进行初次缺陷检测;根据初步数据划分结果采用svdd算法再次进行数据划分,以对所述待检测工件进行二次缺陷检测。
5.通过以下公式对数据清洗后的数据进行数据标准化以获取第二数据:,其中,为所述数据清洗后的数据中的物理量序列,i为1、2、
……
、n,n为正整数,,,为所述第二数据。
6.所述对第二数据进行数据平衡处理以获取第三数据,包括:随机抽取所述第二数据中的负样本数据进行删除,直至所述第二数据中的负样本数据与正样本数据的数量相同。
7.所述采用过滤法对第三数据进行特征选择处理,包括:计算数据清洗后的数据中
所有特征物理量序列的方差,并对计算出的所有特征物理量序列的方差从大到小进行排序,以及选取出前m个特征物理量对所述第三数据进行特征选择处理,其中,m小于或等于特征物理量的总数。
8.一种基于多分类器与svdd协同算法的缺陷检测装置,包括:第一获取模块,所述第一获取模块用于对待检测工件的原始图像中的轮廓点进行数据采集以获取第一数据;第二获取模块,所述第二获取模块用于对所述第一数据进行数据清洗,并对数据清洗后的数据进行数据标准化以获取第二数据;第三获取模块,所述第三获取模块用于对第二数据进行数据平衡处理以获取第三数据;处理模块,所述处理模块用于采用过滤法对第三数据进行特征选择处理;第一缺陷检测模块,所述第一缺陷检测模块用于采用knn算法对特征选择处理后的数据进行初步数据划分,以对所述待检测工件进行初次缺陷检测;第二缺陷检测模块,所述第二缺陷检测模块用于根据初步数据划分结果采用svdd算法再次进行数据划分,以对所述待检测工件进行二次缺陷检测。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述的基于多分类器与svdd协同算法的缺陷检测方法。
10.一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的基于多分类器与svdd协同算法的缺陷检测方法。
11.本发明的有益效果:本发明能够有效地减少待检测工件的不同缺陷在设备上识别出现断层,并且对于处于不同环境下的待检测工件依然能够进行准确地检测,从而大大提高缺陷检测的准确度,降低现场工作难度。
附图说明
12.图1为本发明实施例的基于多分类器与svdd协同算法的缺陷检测方法的流程图;图2为本发明实施例的基于多分类器与svdd协同算法的缺陷检测装置的方框示意图。
具体实施方式
13.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
14.图1是根据本发明实施例的基于多分类器与svdd协同算法的缺陷检测方法的流程图。
15.如图1所示,本发明实施例的基于多分类器与svdd协同算法的缺陷检测方法可包括以下步骤:s1,对待检测工件的原始图像中的轮廓点进行数据采集以获取第一数据。
16.其中,在对待检测工件进行缺陷检测时,可先通过工业相机拍摄待检测工件的原始图像,并读取原始图像中的轮廓点(像素坐标)以进行数据采集,从而获取第一数据。
17.s2,对第一数据进行数据清洗,并对数据清洗后的数据进行数据标准化以获取第二数据。
18.具体而言,可先对第一数据进行一致性检测,其中,可根据第一数据的数据缺失程度以及数据是否出现异常对第一数据进行数据清洗。作为一种可能的实施方式,以第一数据中的某一条数据为例,可先判断该条数据的缺失程度,如果该条数据的缺失程度较大,则删除该条数据,如果该条数据的缺失程度较小,则继续判断该条数据的数据值是否处于预设范围内,如果超出预设范围,则删除该条数据。
19.进一步而言,在对第一数据进行数据清洗后,可对数据清洗后的数据进行数据标准化以获取第二数据。
20.根据本发明的一个实施例,通过以下公式对数据清洗后的数据进行数据标准化以获取第二数据:,
ꢀꢀꢀꢀꢀꢀ
(1)其中,为数据清洗后的数据中的物理量序列,i为1、2、
……
、n,n为正整数,,,为第二数据。
21.具体地,可对数据清洗后的数据进行数据标准化处理,以去除各物理量之间的单位限制,转化为无量纲的纯数值数据,以便于不同的物理量之间进行比较和加权。其中,对某物理量序列、、
……
、进行数据标准化处理时,可带入公式(1)以得到标准化后的物理量序列(第二数据)、、
……
、。
22.s3,对第二数据进行数据平衡处理以获取第三数据。
23.根据本发明的一个实施例,对第二数据进行数据平衡处理以获取第三数据,包括:随机抽取第二数据中的负样本数据进行删除,直至第二数据中的负样本数据与正样本数据相同。
24.具体而言,由于变量数据类别分布不平衡,真实缺陷数据(即正样本数据)数量较少,非缺陷数据(即负样本数据)数量较大,考虑在实际应用场景下工业数据中“宁可过检,不可漏检”的经验,采用欠采样方法对数据进行平衡。其中,可随机抽取负样本数据将其从第二数据中删除,直到负样本数据的数量与正样本数据的数量相同。
25.s4,采用过滤法对第三数据进行特征选择处理。
26.根据本发明的一个实施例,采用过滤法对第三数据进行特征选择处理,包括:计算数据清洗后的数据中所有特征物理量序列的方差,并对计算出的所有特征物理量序列的方差从大到小进行排序,以及选取出前m个特征物理量对第三数据进行特征选择处理,其中,m小于或等于特征物理量的总数。
27.具体而言,可先计算数据清洗后的数据中所有特征物理量序列的方差,其中,可通过以下公式计算特征物理量序列的方差:

ꢀꢀꢀꢀꢀꢀ
(2)其中,表示某物理量序列的、、、
……
、的平均数,、、、
……
、表示该物理量在每条数据上的值。
28.然后,对计算出的所有特征物理量序列的方差从大到小进行排序,以方差作为特征评分标准,选择前m个贡献度较大(方差较大)的特征物理量。其中,m可根据实际情况进行标定,例如,m可为特征物理量的总数的20%。
29.s5,采用knn算法对特征选择处理后的数据进行初步数据划分,以对待检测工件进行初次缺陷检测。
30.其中,可采用knn(k

nearest neighbor,k近邻)算法进行初步数据划分,以对待检测工件进行初次缺陷检测。该knn算法为多分类算法可将数据划分为多类。其中,knn算法的原理是一个样本与数据集中的k个样本最相似,如果这k个样本中的大多数属于某一类别,则该样本也属于这个类别。因此,该方法在确定分类决策上只依据较邻近的几个样本的类别来决定待分类样本所属的类别。
31.具体地,可先通过以下公式计算预测点与其他所有点的距离:
ꢀꢀꢀꢀꢀꢀ
(3)其中,为向量a=(,,,

,)和向量b=(,,,

,),n为特征个数,向量a为预测点向量,向量b为其他点向量。
32.然后,对计算出的预测点与其他所有点的距离进行排序,选出距离最近的前k个点,查看这些点中哪些类别较多,则预测点a属于该类别,其中k取值可为总数据量的10%,即,数据量为100条时,k取值为10。
33.s6,根据初步数据划分结果采用svdd算法再次进行数据划分,以对待检测工件进行二次缺陷检测。
34.具体而言,由于knn算法受分类类别数量多少影响,导致类别分错的可能性较高,并且工业现场环境多变,可能产生新的不存在历史数据库中的缺陷,这些新缺陷类型knn算法无法识别(因为没有历史数据对新缺陷进行分类训练),因此,仅采用此算法进行数据划分的准确率低。
35.由此,本发明在采用knn算法进行检测之前,可将待检测数据(特征选择处理后的数据)划分为检测数据和验证数据,在通过knn算法对检测数据进行初步数据划分后,可将分类结果与验证数据进行比对,如果不匹配,则说明分类不准确,此时,可采用svdd(support vector data description,支持向量数据描述)算法对分类不准确的数据再次进行数据划分,以对待检测工件进行二次缺陷检测。
36.具体地,svdd是一种单类别分类器算法,能够识别并区分正样本数据与负样本数据。其中,可通过非线性变换函数将数据从原始数据映射到特征空间(特征空
间属于高维度空间),并从中找出一个包围正样本(训练样本)的超球体,以及通过最小化该超球体的体积让正样本点尽可能地被包围在超球体中,且负样本点尽可能地排除在超球体之外,以此来实现划分正/负样本的目的。
37.其中,最小化超球体的体积公式为:
ꢀꢀꢀꢀꢀꢀ
(4)其中,r是超球体半径,a是超球体的球心,是松弛因子,c是一个权衡超球体体积和误分率的惩罚参数。
38.上述公式(4)中的对偶公式为:,
……
(5)其中,是样本对应的拉格朗日系数,是样本对应的拉格朗日系数,且,。在所有训练样本中,将拉格朗日系数满足的样本称为支持向量,假设训练数据集中属于支持向量的样本集合为sv,则:,
ꢀꢀꢀꢀꢀꢀ
(6)
ꢀꢀꢀꢀꢀꢀ
(7)其中,,是核函数,等同于特征空间中样本的内积,即。对于测试样本,该点到超球体球心的距离为:
ꢀꢀꢀꢀꢀ
(8)若,则说明测试样本在超球体表面或内部,属于正常样本,即与训练样本属同一缺陷类别,反之则说明训练样本不属于同一类别。在svdd算法中,训练样本均为正样本,这样测试样本异常时可直接判断为负样本。
39.综上所述,根据本发明实施例的基于多分类器与svdd协同算法的缺陷检测方法,对待检测工件的原始图像中的轮廓点进行数据采集以获取第一数据,以及对第一数据进行数据清洗,并对数据清洗后的数据进行数据标准化以获取第二数据,以及对第二数据进行数据平衡处理以获取第三数据,并采用过滤法对第三数据进行特征选择处理,以及采用knn算法对特征选择处理后的数据进行初步数据划分,以对待检测工件进行初次缺陷检测,并根据初步数据划分结果采用svdd算法再次进行数据划分,以对待检测工件进行二次缺陷检测。由此,能够有效地减少待检测工件的不同缺陷在设备上识别出现断层,并且对于处于不同环境下的待检测工件依然能够进行准确地检测,从而大大提高缺陷检测的准确度,降低
现场工作难度。
40.对应上述实施例,本发明还提出一种基于多分类器与svdd协同算法的缺陷检测装置。
41.如图2所示,本发明实施例的基于多分类器与svdd协同算法的缺陷检测装置可包括:第一获取模块100、第二获取模块200、第三获取模块300、处理模块400、第一缺陷检测模块500和第二缺陷检测模块600。
42.其中,第一获取模块100用于对待检测工件的原始图像中的轮廓点进行数据采集以获取第一数据;第二获取模块200用于对第一数据进行数据清洗,并对数据清洗后的数据进行数据标准化以获取第二数据;第三获取模块300用于对第二数据进行数据平衡处理以获取第三数据;处理模块400用于采用过滤法对第三数据进行特征选择处理;第一缺陷检测模块500用于采用knn算法对特征选择处理后的数据进行初步数据划分,以对待检测工件进行初次缺陷检测;第二缺陷检测模块600用于根据初步数据划分结果采用svdd算法再次进行数据划分,以对待检测工件进行二次缺陷检测。
43.根据本发明的一个实施例,第二获取模块200通过以下公式对数据清洗后的数据进行数据标准化以获取第二数据:,其中,为数据清洗后的数据中的物理量序列,i为1、2、
……
、n,n为正整数,,,为第二数据。
44.根据本发明的一个实施例,第三获取模块300具体用于:随机抽取第二数据中的负样本数据进行删除,直至第二数据中的负样本数据与正样本数据的数量相同。
45.根据本发明的一个实施例,处理模块400具体用于:计算数据清洗后的数据中所有特征物理量序列的方差,并对计算出的所有特征物理量序列的方差从大到小进行排序,以及选取出前m个特征物理量对第三数据进行特征选择处理,其中,m小于或等于特征物理量的总数。
46.需要说明的是,本发明实施例的基于多分类器与svdd协同算法的缺陷检测装置可参照上述基于多分类器与svdd协同算法的缺陷检测方法的实施例,在此不再赘述。
47.根据本发明实施例的基于多分类器与svdd协同算法的缺陷检测装置,通过第一获取模块对待检测工件的原始图像中的轮廓点进行数据采集以获取第一数据,以及通过第二获取模块对第一数据进行数据清洗,并对数据清洗后的数据进行数据标准化以获取第二数据,以及通过第三获取模块对第二数据进行数据平衡处理以获取第三数据,并通过处理模块采用过滤法对第三数据进行特征选择处理,以及通过第一缺陷检测模块采用knn算法对特征选择处理后的数据进行初步数据划分,以对待检测工件进行初次缺陷检测,并通过第二缺陷检测模块根据初步数据划分结果采用svdd算法再次进行数据划分,以对待检测工件进行二次缺陷检测。由此,能够有效地减少待检测工件的不同缺陷在设备上识别出现断层,
并且对于处于不同环境下的待检测工件依然能够进行准确地检测,从而大大提高缺陷检测的准确度,降低现场工作难度。
48.对应上述实施例,本发明还提出一种计算机设备。
49.本发明实施例的计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时,实现上述实施例的基于多分类器与svdd协同算法的缺陷检测方法。
50.根据本发明实施例的计算机设备,能够有效地减少待检测工件的不同缺陷在设备上识别出现断层,并且对于处于不同环境下的待检测工件依然能够进行准确地检测,从而大大提高缺陷检测的准确度,降低现场工作难度。
51.对应上述实施例,本发明还提出一种非临时性计算机可读存储介质。
52.本发明实施例的非临时性计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述的基于多分类器与svdd协同算法的缺陷检测方法。
53.根据本发明实施例的非临时性计算机可读存储介质,能够有效地减少待检测工件的不同缺陷在设备上识别出现断层,并且对于处于不同环境下的待检测工件依然能够进行准确地检测,从而大大提高缺陷检测的准确度,降低现场工作难度。
54.在本发明的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。“多个”的含义是两个或两个以上,除非另有明确具体的限定。
55.在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
56.在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
57.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
58.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺
序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
59.在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
60.应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
61.本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
62.此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
63.上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1