掌桥专利:专业的专利平台
掌桥专利
首页

异常检测方法和装置

文献发布时间:2023-06-19 10:16:30


异常检测方法和装置

技术领域

本发明涉及目标检测技术领域,具体涉及一种异常检测方法和一种异常检测装置。

背景技术

在工业质检领域,缺陷的异常检测是一个关键的环节。相比较于普通缺陷,异常缺陷数量较小,并且异常缺陷和普通缺陷在形态上也有较大的差距,比如:形态严重畸变,大面积缺料等。由于异常缺陷的样本数量极少,因此采用目标检测模型并无法学习到这一类缺陷。

相关技术中,一般是采用OpenCV等开源库的算子,或者GAN(GenerativeAdversarial Networks,生成式对抗网络)网络,或者深度学习算法来实现异常检测的,然而上述技术存在以下问题:(1)采用OpenCV等开源库的算子实现异常检测时,计算资源损耗大、耗时长,并且适用范围小;(2)采用GAN网络实现异常检测时,在异常检测之前,需要耗费大量时间对GAN网络进行训练,并且针对相同工件的不同面,也都需要训练不同的模型,耗时耗力;(3)采用深度学习算法实现异常检测时,需要大量的训练数据,并且准确性较低。

发明内容

本发明为解决上述技术问题,提供了一种异常检测方法,能够准确地对待检测工件进行异常检测,适用范围广,并且无需耗费大量的人力、物力以及时间成本。

本发明采用的技术方案如下:

一种异常检测方法,包括以下步骤:获取待检测工件的目标检测图像以及良品工件的良品图像;根据所述目标检测图像获取第一特征图,并根据所述良品图像获取第二特征图;根据所述第一特征图和所述第二特征图获取余弦相似度;根据所述余弦相似度对所述待检测工件进行第一次异常检测;如果无法判断所述待检测工件是否存在异常,则根据所述目标检测图像获取第一灰度图,并根据所述良品图像获取第二灰度图;根据所述第一灰度图获取第一分割图,并根据所述第二灰度图获取第二分割图;根据所述第一分割图和所述第二分割图获取指标分数;根据所述指标分数对所述待检测工件进行第二次异常检测。

根据所述目标检测图像获取所述第一特征图,并根据所述良品图像获取所述第二特征图,包括:将所述目标检测图像输入卷积网络ResNet-50以获取所述第一特征图,以及将所述良品图像输入所述卷积网络ResNet-50以获取所述第二特征图。

根据所述第一特征图和所述第二特征图获取所述余弦相似度,包括:将所述第一特征图进行一维向量化以获取第一向量,以及将所述第二特征图进行一维向量化以获取第二向量;根据所述第一向量和所述第二向量获取所述余弦相似度。

根据所述第一灰度图获取所述第一分割图,并根据所述第二灰度图获取所述第二分割图,包括:采用K-means算法(K-均值算法)根据所述第一灰度图获取第一像素聚类图,并根据所述第二灰度图获取第二像素聚类图;将所述第一像素聚类图和所述第二像素聚类图输入MRF(Markov Random Field,马尔科夫随机场)图像分割模型,以分别获取所述第一分割图和所述第二分割图。

根据所述第一分割图和所述第二分割图获取所述指标分数,包括:采用Wasserstein距离计算所述第一分割图与所述第二分割图的像素类别的分布差异,以获取第一分数;采用JS(Jensen-Shannon)散度计算所述第一分割图与所述第二分割图的像素类别的分布差异,以获取第二分数;根据所述第一分数和所述第二分数获取所述指标分数。

根据所述指标分数对所述待检测工件进行第二次异常检测,包括:判断所述指标分数是否大于分数阈值;如果所述指标分数大于分数阈值,则判断所述待检测工件异常;如果所述指标分数小于或等于所述分数阈值,则判断所述待检测工件正常。

一种异常检测装置,包括:第一获取模块,所述第一获取模块用于获取待检测工件的目标检测图像以及良品工件的良品图像;第二获取模块,所述第二获取模块用于根据所述目标检测图像获取第一特征图,并根据所述良品图像获取第二特征图;第三获取模块,所述第三获取模块用于根据所述第一特征图和所述第二特征图获取余弦相似度;第一检测模块,所述第一检测模块用于根据所述余弦相似度对所述待检测工件进行第一次异常检测;第四获取模块,所述第四获取模块用于在无法判断所述待检测工件是否存在异常时,根据所述目标检测图像获取第一灰度图,并根据所述良品图像获取第二灰度图;第五获取模块,所述第五获取模块用于根据所述第一灰度图获取第一分割图,并根据所述第二灰度图获取第二分割图;第六获取模块,所述第六获取模块用于根据所述第一分割图和所述第二分割图获取指标分数;第二检测模块,所述第二检测模块用于根据所述指标分数对所述待检测工件进行第二次异常检测。

一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述的异常检测方法。

一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的异常检测方法。

本发明的有益效果:

本发明能够准确地对待检测工件进行异常检测,适用范围广,并且无需耗费大量的人力、物力以及时间成本。

附图说明

图1为本发明实施例的异常检测方法的流程图;

图2为本发明一个实施例的第一次异常检测方法的逻辑示意图;

图3为本发明一个实施例的第二次异常检测方法的逻辑示意图;

图4为本发明实施例的异常检测装置的方框示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1是根据本发明实施例的异常检测方法的流程图。

如图1所示,本发明实施例的异常检测方法可包括以下步骤:

S1,获取待检测工件的目标检测图像以及良品工件的良品图像。

具体而言,在对待检测工件进行异常检测时,可先采用相似度比较的方式进行第一次异常检测。具体地,如图2所示,首先,在产品流水线上,可采用拍摄装置(例如,相机等)对待检测工件进行拍照,以获取待检测工件的目标检测图像。

可选取某一(或某一组)良品工件,并采用拍摄装置对其进行拍照取样,以获取良品图像。

S2,根据目标检测图像获取第一特征图,并根据良品图像获取第二特征图。

根据本发明的一个实施例,根据目标检测图像获取第一特征图,并根据良品图像获取第二特征图,包括:将目标检测图像输入卷积网络ResNet-50以获取第一特征图,以及将良品图像输入卷积网络ResNet-50以获取第二特征图。

具体而言,如图2所示,在获取到良品图像和目标检测图像后,可将良品图像作为输入送进卷积网络ResNet-50(ResNet-50来自于ImageNet的预训练结果,具有相应的开源代码和权重参数)以获取第二特征图,并将目标检测图像作为输入送进卷积网络ResNet-50以获取第一特征图。其中,目标检测图像输入的卷积网络ResNet-50与良品图像输入的卷积网络ResNet-50共享参数,并具有完全相同的网络结构。

S3,根据第一特征图和第二特征图获取余弦相似度。

根据本发明的一个实施例,根据第一特征图和第二特征图获取余弦相似度,包括:将第一特征图进行一维向量化以获取第一向量,以及将第二特征图进行一维向量化以获取第二向量;根据第一向量和第二向量获取余弦相似度。

具体而言,如图2所示,在获取到第一特征图和第二特征图后,可将第一特征图和第二特征图进行一维向量化,即将二维的矩阵拉伸为一维的向量,以获取第一向量A和第二向量B,并根据第一向量A和第二向量B获取余弦相似度K。其中,可通过以下公式生成余弦相似度K:

其中,

S4,根据余弦相似度对待检测工件进行第一次异常检测。

具体而言,如图2所示,在获取到余弦相似度

S5,如果无法判断待检测工件是否存在异常,则根据目标检测图像获取第一灰度图,并根据良品图像获取第二灰度图。

具体而言,如图2所示,识别并确认余弦相似度

其中,如图3所示,在MRF系统中,可先将目标检测图像和良品图像分别转成灰度图,以获取第一灰度图和第二灰度图。

S6,根据第一灰度图获取第一分割图,并根据第二灰度图获取第二分割图。

根据本发明的一个实施例,根据第一灰度图获取第一分割图,并根据第二灰度图获取第二分割图,包括:采用K-means算法根据第一灰度图获取第一像素聚类图,并根据第二灰度图获取第二像素聚类图;将第一像素聚类图和第二像素聚类图输入MRF图像分割模型,以分别获取第一分割图和第二分割图。

具体而言,如图3所示,在将目标检测图像和良品图像分别转成第一灰度图和第二灰度图后,可将第一灰度图和第二灰度图进行K-means算法,以获取第一像素聚类图和第二像素聚类图,其中,根据缺陷种类的情况,可对K-means算法中聚类数目k的大小进行标定。

进一步而言,可将第一像素聚类图和第二像素聚类图输入MRF图像分割模型,以分别获取第一分割图和第二分割图。其中,MRF图像分割模型可手动编写,无需借助OpenCV等开源库,因此,有效地避免了计算资源的损耗,并且适用范围较大。

S7,根据第一分割图和第二分割图获取指标分数。

根据本发明的一个实施例,根据第一分割图和第二分割图获取指标分数,包括:采用Wasserstein距离(也称推土机距离,Earth Mover's Distance)计算第一分割图与第二分割图的像素类别的分布差异,以获取第一分数;采用JS散度计算第一分割图与第二分割图的像素类别的分布差异,以获取第二分数;根据第一分数和第二分数获取指标分数。

具体而言,如图3所示,在获取到第一分割图和第二分割图后,可分别统计第一分割图和第二分割图的像素类别的分布,以获取第一分布和第二分布。然后,分别采用Wasserstein距离和JS散度计算第一分割图与第二分割图的像素类别的分布差异,以分别获取第一分数和第二分数。

其中,在采用Wasserstein距离(Wasserstein距离可定义为由一个分布转变为另一个分布所需要的代价)计算第一分割图与第二分割图的像素类别的分布差异,以获取第一分数时,可假设第一分割图和第二分割图均具有n个像素点,其中,可通过以下公式获取第二分割图和第一分割图在第i个像素的代价分数:

其中,

因此,第一分数W,即Wasserstein距离可通过以下公式生成:

在采用JS散度计算第一分割图与第二分割图的像素类别的分布差异,以获取第二分数时,可设第二分割图的像素类别的分布为

其中,

进一步而言,可将第一分数

其中,

S8,根据指标分数对待检测工件进行第二次异常检测。

根据本发明的一个实施例,根据指标分数对待检测工件进行第二次异常检测,包括:判断指标分数是否大于分数阈值;如果指标分数大于分数阈值,则判断待检测工件异常;如果指标分数小于或等于分数阈值,则判断待检测工件正常。

具体而言,如图3所示,可设置分数阈值T0进行第二次筛选。其中,如果指标分数S大于分数阈值T0,则标记待检测工件异常,需剔除该待检测工件,并进入下一个工件的检测;如果指标分数S小于或等于分数阈值T0,则标记待检测工件正常,直接进入下一个工件的检测。其中,分数阈值T0可根据实际情况进行标定,例如,分数阈值T0可处于0.8~0.9之间。

由此,本发明能够准确地对待检测工件进行异常检测,无需使用一些非商业用途算子,使用范围较广,并且有效地避免了计算资源的损耗,同时,也无需对模型进行训练,节省了大量的人力、物力和时间,并且对缺陷数量样本也没有要求,具有普适性。

综上所述,根据本发明实施例的异常检测方法,获取待检测工件的目标检测图像以及良品工件的良品图像,以及根据目标检测图像获取第一特征图,并根据良品图像获取第二特征图,以及根据第一特征图和第二特征图获取余弦相似度,并根据余弦相似度对待检测工件进行第一次异常检测,以及在无法判断待检测工件是否存在异常时,根据目标检测图像获取第一灰度图,并根据良品图像获取第二灰度图,以及根据第一灰度图获取第一分割图,并根据第二灰度图获取第二分割图,以及根据第一分割图和第二分割图获取指标分数,并根据指标分数对待检测工件进行第二次异常检测。由此,能够准确地对待检测工件进行异常检测,适用范围广,并且无需耗费大量的人力、物力以及时间成本。

对应上述实施例的异常检测方法,本发明还提出一种异常检测装置。

如图4所示,本发明实施例的异常检测装置可包括第一获取模块100、第二获取模块200、第三获取模块300、第一检测模块400、第四获取模块500、第五获取模块600、第六获取模块700和第二检测模块800。

其中,第一获取模块100用于获取待检测工件的目标检测图像以及良品工件的良品图像;第二获取模块200用于根据目标检测图像获取第一特征图,并根据良品图像获取第二特征图;第三获取模块300用于根据第一特征图和第二特征图获取余弦相似度;第一检测模块400用于根据余弦相似度对待检测工件进行第一次异常检测;第四获取模块500用于在无法判断待检测工件是否存在异常时,根据目标检测图像获取第一灰度图,并根据良品图像获取第二灰度图;第五获取模块600用于根据第一灰度图获取第一分割图,并根据第二灰度图获取第二分割图;第六获取模块700用于根据第一分割图和第二分割图获取指标分数;第二检测模块800用于根据指标分数对待检测工件进行第二次异常检测。

根据本发明的一个实施例,第二获取模块200具体用于将目标检测图像输入卷积网络ResNet-50以获取第一特征图,以及将良品图像输入卷积网络ResNet-50以获取第二特征图。

根据本发明的一个实施例,第三获取模块300具体用于将第一特征图进行一维向量化以获取第一向量,以及将第二特征图进行一维向量化以获取第二向量;根据第一向量和第二向量获取余弦相似度。

根据本发明的一个实施例,第五获取模块600具体用于采用K-means算法根据第一灰度图获取第一像素聚类图,并根据第二灰度图获取第二像素聚类图;将第一像素聚类图和第二像素聚类图输入MRF图像分割模型,以分别获取第一分割图和第二分割图。

根据本发明的一个实施例,第六获取模块700具体用于采用Wasserstein距离计算第一分割图与第二分割图的像素类别的分布差异,以获取第一分数;采用JS散度计算第一分割图与第二分割图的像素类别的分布差异,以获取第二分数;根据第一分数和第二分数获取指标分数。

根据本发明的一个实施例,第二检测模块800具体用于:判断指标分数是否大于分数阈值;如果指标分数大于分数阈值,则判断待检测工件异常;如果指标分数小于或等于分数阈值,则判断待检测工件正常。

需要说明的是,本发明实施例的异常检测装置更具体的实施方式可参照上述异常检测方法的实施例,在此不再赘述。

根据本发明实施例的异常检测装置,通过第一获取模块获取待检测工件的目标检测图像以及良品工件的良品图像,以及通过第二获取模块根据目标检测图像获取第一特征图,并根据良品图像获取第二特征图,以及通过第三获取模块根据第一特征图和第二特征图获取余弦相似度,并通过第一检测模块根据余弦相似度对待检测工件进行第一次异常检测,以及通过第四获取模块在无法判断待检测工件是否存在异常时,根据目标检测图像获取第一灰度图,并根据良品图像获取第二灰度图,以及通过第五获取模块根据第一灰度图获取第一分割图,并根据第二灰度图获取第二分割图,以及通过第六获取模块根据第一分割图和第二分割图获取指标分数,并通过第二检测模块根据指标分数对待检测工件进行第二次异常检测。由此,能够准确地对待检测工件进行异常检测,适用范围广,并且无需耗费大量的人力、物力以及时间成本。

对应上述实施例,本发明还提出一种计算机设备。

本发明实施例的计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时,实现上述实施例的异常检测方法。

根据本发明实施例的计算机设备,能够准确地对待检测工件进行异常检测,适用范围广,并且无需耗费大量的人力、物力以及时间成本。

对应上述实施例,本发明还提出一种非临时性计算机可读存储介质。

本发明实施例的非临时性计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述的异常检测方法。

根据本发明实施例的非临时性计算机可读存储介质,能够准确地对待检测工件进行异常检测,适用范围广,并且无需耗费大量的人力、物力以及时间成本。

在本发明的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。“多个”的含义是两个或两个以上,除非另有明确具体的限定。

在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

相关技术
  • 芯片异常检测方法和装置及电路面板异常检测方法和装置
  • 异常检测方法、异常检测程序、异常检测装置、服务器装置以及信息处理方法
技术分类

06120112479297