一种双分支图像异常检测方法、装置、设备及介质
未命名
07-14
阅读:98
评论:0
1.本发明涉及一种双分支图像异常检测方法、装置、设备及介质,属于图像检测技术领域。
背景技术:
2.图像异常检测是计算机视觉领域的一个热门研究课题,具有较高的研究意义和应用价值,可以用于工业外观缺陷检测、医学图像分析、高光谱图像处理等领域。随着神经网络技术的发展,越来越多的算法模型被应用于图像异常检测任务,包括工业图像异常检测。
3.在工业生产活动中,可以得到一部分的异常样本,但由于异常的不确定性以及随机性,这些已有的异常样本通常只占到所有异常的小部分。现有的异常检测算法分为两类:有监督学习和无监督学习。有监督学习使用已有的一部分异常样本,但极少对这些样本本身分类,而无监督不使用已有的异常样本。通过对异常样本的观察,可以大致将异常样本分为两类:带有可见异常的样本与带有不可见异常的样本。其中,可见异常是包括具有明显的瑕疵或破损的异常图像,不可见的异常是无明显缺陷,但与正常样本差异较大的图像。大部分的算法并未考虑到将异常图像分为上述两类,故效果往往只对某一类异常表现较好。综上,目前异常检测方法存在一些缺陷:(1)适配性不高导致检测精度低,容易误检;(2)计算量大。
技术实现要素:
4.本发明的目的在于克服现有技术中的不足,提供一种双分支图像异常检测方法、装置、设备及介质,解决当前工业图像异常检测模型精确度不高,计算量大的技术问题。
5.为达到上述目的,本发明是采用下述技术方案实现的:
6.第一方面,本发明提供了一种双分支图像异常检测方法,包括:
7.获取待检测图像,对待检测图像进行预处理;
8.将预处理后的待检测图像输入训练好的异常检测模型,获取异常得分;
9.根据异常得分判断待检测图像为异常图像或正常图像;
10.其中,所述异常检测模型的训练包括:
11.获取预设数量的样本图像,对样本图像进行旋转拓展和预处理;
12.构建异常检测模型,所述异常检测模型包括可见异常分支和不可见异常分支;
13.通过旋转拓展和预处理后的样本图像对异常检测模型进行训练。
14.可选的,所述预处理包括将图像大小变换为448
×
448。
15.可选的,所述根据异常得分判断待检测图像为异常图像或正常图像包括:
16.若待检测图像的异常得分大于等于0.5且小于等于1,则待检测图像为异常图像;
17.若待检测图像的异常得分大于等于0且小于0.5,则待检测图像为正常图像。
18.可选的,所述对样本图像进行旋转拓展包括:
19.将样本图像旋转90
°
、180
°
、270
°
,并保存各旋转后的样本图像。
20.可选的,所述通过旋转拓展和预处理后的样本图像对异常检测模型进行训练包括:
21.将旋转拓展和预处理后的样本图像送入可见异常分支,获取异常得分f1;
22.将旋转拓展和预处理后的样本图像送入不可见异常分支,获取异常得分f2;
23.对异常得分f1和f2分别进行全局平均池化,并将全局平均池化结果相加得到z1;
24.通过全连接层将z1维度降低至1得到z2,基于z2计算可见异常分支和不可见异常分支的关注度:
[0025][0026][0027]
式中,l1、l2分别为可见异常分支和不可见异常分支的关注度,l1、h1为可见异常分支的权重参数,l2、h2为不可见异常分支的权重参数;
[0028]
根据异常得分f1、f2与关注度l1、l2计算最终的异常得分s:
[0029]
s=norm(f1×
l1+f2×
l2)
[0030]
式中,norm为[0,1]归一化函数;
[0031]
基于异常得分s计算模型损失loss:
[0032]
loss=(1-y)|d(s)|+ymax(0,a-d(s))
[0033][0034]
式中,μγ、δγ为已获取的异常得分的均值和标准差;当d(s)∈[0.5,1]时,y=1,当d(s)∈[0,0.5)时,y=0;a为预设的置信度区间参数;
[0035]
根据模型损失loss更新权重参数l1、h1、l2、h2,得到更新后的异常检测模型;
[0036]
重复上述步骤,直至模型损失loss收敛或达到预设的最大迭代次数,获取训练好的异常检测模型。
[0037]
可选的,所述将旋转拓展和预处理后的样本图像送入可见异常分支,获取异常得分f1包括:
[0038]
通过卷积层对旋转拓展和预处理后的样本图像进行特征提取,生成第一特征图;
[0039]
按预设尺寸将第一特征图划分为多个第一特征块,获取各第一特征块的像素值生成第一特征向量;
[0040]
通过全连接层将各第一特征向量映射为第一异常分数;
[0041]
采用3
×
3卷积层对所有第一异常分数进行选取,每9个第一异常分数中选取最大值构成第一异常得分数组,记为异常得分f1。
[0042]
可选的,所述将旋转拓展和预处理后的样本图像送入不可见异常分支,获取异常得分f2包括:
[0043]
通过卷积层对旋转拓展和预处理后的样本图像进行特征提取,生成第二特征图;
[0044]
取旋转拓展和预处理后的样本图像中前预设百分比的正常图像记为标准图像;
[0045]
通过卷积层对各标准图像进行特征提取并取平均值,生成平均特征图;
[0046]
令第二特征图减去平均特征图得到偏差特征图;
[0047]
按预设尺寸将偏差特征图划分为多个第二特征块,获取各第二特征块的像素值生成第二特征向量;
[0048]
通过全连接层将各第二特征向量映射为第二异常分数;
[0049]
采用3
×
3卷积层对所有第二异常分数进行选取,每9个第二异常分数中选取最大值构成第二异常得分数组,记为异常得分f2。
[0050]
第二方面,本发明提供了一种双分支图像异常检测装置,所述装置包括:
[0051]
图像获取模块,用于获取待检测图像,对待检测图像进行预处理;
[0052]
得分获取模块,用于将预处理后的待检测图像输入训练好的异常检测模型,获取异常得分;
[0053]
异常判断模块,用于根据异常得分判断待检测图像为异常图像或正常图像;
[0054]
其中,所述异常检测模型的训练包括:
[0055]
样本获取模块,用于获取预设数量的样本图像,对样本图像进行旋转拓展和预处理;
[0056]
模型构建模块,用于构建异常检测模型,所述异常检测模型包括可见异常分支和不可见异常分支;
[0057]
模型训练模块,用于通过旋转拓展和预处理后的样本图像对异常检测模型进行训练。
[0058]
第三方面,本发明提供了一种电子设备,包括处理器及存储介质;
[0059]
所述存储介质用于存储指令;
[0060]
所述处理器用于根据所述指令进行操作以执行根据上述方法的步骤。
[0061]
第四方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。
[0062]
与现有技术相比,本发明所达到的有益效果:
[0063]
本发明提供的一种双分支图像异常检测方法、装置、设备及介质,其方法将异常分成可见异常与不可见异常,通过两条不同的分支,分别对两种异常进行异常分数计算,有效选取两条分支中包含较多信息的特征进行提炼,获取最终结果;通过对不同种类的工业产品进行训练,可以同时兼顾所有的异常,有着良好的适配性;同时,使用了预训练的模型进行输入样本的特征提取,极大减少了计算量,使得模型本身所需训练参数大幅降低。
附图说明
[0064]
图1是本发明实施例一提供的一种双分支图像异常检测方法的流程图。
具体实施方式
[0065]
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
[0066]
实施例一:
[0067]
如图1所示,本发明实施例提供了一种双分支图像异常检测方法,包括以下步骤:
[0068]
1、获取待检测图像,对待检测图像进行预处理;
[0069]
本实施例中,预处理包括将图像大小变换为448
×
448。
[0070]
2、将预处理后的待检测图像输入训练好的异常检测模型,获取异常得分。
[0071]
3、根据异常得分判断待检测图像为异常图像或正常图像;具体为:
[0072]
若待检测图像的异常得分大于等于0.5且小于等于1,则待检测图像为异常图像;
[0073]
若待检测图像的异常得分大于等于0且小于0.5,则待检测图像为正常图像。
[0074]
其中,异常检测模型的训练包括:
[0075]
s1、获取预设数量的样本图像,对样本图像进行旋转拓展和预处理;
[0076]
本实施例中,样本图像可以从mvtec anomaly detection(mvtec ad)数据集中选取,其中包含十个类别共5354张不同彩色图像;通过每个类别的图像可以训练每个类别的异常检测模型;
[0077]
对样本图像进行旋转拓展包括:将样本图像旋转90
°
、180
°
、270
°
,并保存各旋转后的样本图像,通过旋转拓展将图像数量拓展为原来的4倍,从而强化训练。
[0078]
s2、构建异常检测模型,异常检测模型包括可见异常分支和不可见异常分支。
[0079]
s3、通过旋转拓展和预处理后的样本图像对异常检测模型进行训练。
[0080]
训练过程包括:
[0081]
s01、将旋转拓展和预处理后的样本图像送入可见异常分支,获取异常得分f1;
[0082]
s02、将旋转拓展和预处理后的样本图像送入不可见异常分支,获取异常得分f2;
[0083]
s03、对异常得分f1和f2分别进行全局平均池化,并将全局平均池化结果相加得到z1;
[0084]
s04、通过全连接层将z1维度降低至1得到z2,基于z2计算可见异常分支和不可见异常分支的关注度:
[0085][0086][0087]
式中,l1、l2分别为可见异常分支和不可见异常分支的关注度,l1、h1为可见异常分支的权重参数,l2、h2为不可见异常分支的权重参数;
[0088]
s05、根据异常得分f1、f2与关注度l1、l2计算最终的异常得分s:
[0089]
s=norm(f1×
l1+f2×
l2)
[0090]
式中,norm为[0,1]归一化函数;
[0091]
s06、基于异常得分s计算模型损失loss:
[0092]
loss=(1-y)|d(s)|+ymax(0,a-d(s))
[0093][0094]
式中,μγ、δγ为已获取的异常得分的均值和标准差;当d(s)∈[0.5,1]时,y=1,当d(s)∈[0,0.5)时,y=0;a为预设的置信度区间参数;
[0095]
s07、根据模型损失loss更新权重参数l1、h1、l2、h2,得到更新后的异常检测模型;
[0096]
s08、重复上述步骤(即步骤s01-s07),直至模型损失loss收敛或达到预设的最大
迭代次数,获取训练好的异常检测模型。
[0097]
其中:
[0098]
(1)将旋转拓展和预处理后的样本图像送入可见异常分支,获取异常得分f1包括:
[0099]
通过卷积层对旋转拓展和预处理后的样本图像进行特征提取,生成第一特征图;
[0100]
按预设尺寸将第一特征图划分为多个第一特征块,获取各第一特征块的像素值生成第一特征向量;
[0101]
通过全连接层将各第一特征向量映射为第一异常分数;
[0102]
采用3
×
3卷积层对所有第一异常分数进行选取,每9个第一异常分数中选取最大值构成第一异常得分数组,记为异常得分f1。
[0103]
(2)将旋转拓展和预处理后的样本图像送入不可见异常分支,获取异常得分f2包括:
[0104]
通过卷积层对旋转拓展和预处理后的样本图像进行特征提取,生成第二特征图;
[0105]
取旋转拓展和预处理后的样本图像中前预设百分比的正常图像记为标准图像;
[0106]
通过卷积层对各标准图像进行特征提取并取平均值,生成平均特征图;
[0107]
令第二特征图减去平均特征图得到偏差特征图;
[0108]
按预设尺寸将偏差特征图划分为多个第二特征块,获取各第二特征块的像素值生成第二特征向量;
[0109]
通过全连接层将各第二特征向量映射为第二异常分数;
[0110]
采用3
×
3卷积层对所有第二异常分数进行选取,每9个第二异常分数中选取最大值构成第二异常得分数组,记为异常得分f2。
[0111]
实施例二:
[0112]
本发明实施例提供了一种双分支图像异常检测装置,装置包括:
[0113]
图像获取模块,用于获取待检测图像,对待检测图像进行预处理;
[0114]
得分获取模块,用于将预处理后的待检测图像输入训练好的异常检测模型,获取异常得分;
[0115]
异常判断模块,用于根据异常得分判断待检测图像为异常图像或正常图像;
[0116]
其中,异常检测模型的训练包括:
[0117]
样本获取模块,用于获取预设数量的样本图像,对样本图像进行旋转拓展和预处理;
[0118]
模型构建模块,用于构建异常检测模型,异常检测模型包括可见异常分支和不可见异常分支;
[0119]
模型训练模块,用于通过旋转拓展和预处理后的样本图像对异常检测模型进行训练。
[0120]
实施例三:
[0121]
基于实施例一,本发明实施例提供了一种电子设备,包括处理器及存储介质;
[0122]
存储介质用于存储指令;
[0123]
处理器用于根据指令进行操作以执行根据上述方法的步骤。
[0124]
实施例四:
[0125]
基于实施例一,本发明实施例提供了一种计算机可读存储介质,其上存储有计算
机程序,该程序被处理器执行时实现上述方法的步骤。
[0126]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0127]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0128]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0129]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0130]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
技术特征:
1.一种双分支图像异常检测方法,其特征在于,包括:获取待检测图像,对待检测图像进行预处理;将预处理后的待检测图像输入训练好的异常检测模型,获取异常得分;根据异常得分判断待检测图像为异常图像或正常图像;其中,所述异常检测模型的训练包括:获取预设数量的样本图像,对样本图像进行旋转拓展和预处理;构建异常检测模型,所述异常检测模型包括可见异常分支和不可见异常分支;通过旋转拓展和预处理后的样本图像对异常检测模型进行训练。2.根据权利要求1所述的双分支图像异常检测方法,其特征在于,所述预处理包括将图像大小变换为448
×
448。3.根据权利要求1所述的双分支图像异常检测方法,其特征在于,所述根据异常得分判断待检测图像为异常图像或正常图像包括:若待检测图像的异常得分大于等于0.5且小于等于1,则待检测图像为异常图像;若待检测图像的异常得分大于等于0且小于0.5,则待检测图像为正常图像。4.根据权利要求1所述的双分支图像异常检测方法,其特征在于,所述对样本图像进行旋转拓展包括:将样本图像旋转90
°
、180
°
、270
°
,并保存各旋转后的样本图像。5.根据权利要求1所述的双分支图像异常检测方法,其特征在于,所述通过旋转拓展和预处理后的样本图像对异常检测模型进行训练包括:将旋转拓展和预处理后的样本图像送入可见异常分支,获取异常得分f1;将旋转拓展和预处理后的样本图像送入不可见异常分支,获取异常得分f2;对异常得分f1和f2分别进行全局平均池化,并将全局平均池化结果相加得到z1;通过全连接层将z1维度降低至1得到z2,基于z2计算可见异常分支和不可见异常分支的关注度:关注度:式中,l1、l2分别为可见异常分支和不可见异常分支的关注度,l1、h1为可见异常分支的权重参数,l2、h2为不可见异常分支的权重参数;根据异常得分f1、f2与关注度l1、l2计算最终的异常得分s:s=norm(f1×
l1+f2×
l2)式中,norm为[0,1]归一化函数;基于异常得分s计算模型损失loss:loss=(1-y)|d(s)|+ymax(0,a-d(s))式中,μγ、δγ为已获取的异常得分的均值和标准差;当d(s)∈[0.5,1]时,y=1,当d
(s)∈[0,0.5)时,y=0;a为预设的置信度区间参数;根据模型损失loss更新权重参数l1、h1、l2、h2,得到更新后的异常检测模型;重复上述步骤,直至模型损失loss收敛或达到预设的最大迭代次数,获取训练好的异常检测模型。6.根据权利要求5所述的双分支图像异常检测方法,其特征在于,所述将旋转拓展和预处理后的样本图像送入可见异常分支,获取异常得分f1包括:通过卷积层对旋转拓展和预处理后的样本图像进行特征提取,生成第一特征图;按预设尺寸将第一特征图划分为多个第一特征块,获取各第一特征块的像素值生成第一特征向量;通过全连接层将各第一特征向量映射为第一异常分数;采用3
×
3卷积层对所有第一异常分数进行选取,每9个第一异常分数中选取最大值构成第一异常得分数组,记为异常得分f1。7.根据权利要求6所述的双分支图像异常检测方法,其特征在于,所述将旋转拓展和预处理后的样本图像送入不可见异常分支,获取异常得分f2包括:通过卷积层对旋转拓展和预处理后的样本图像进行特征提取,生成第二特征图;取旋转拓展和预处理后的样本图像中前预设百分比的正常图像记为标准图像;通过卷积层对各标准图像进行特征提取并取平均值,生成平均特征图;令第二特征图减去平均特征图得到偏差特征图;按预设尺寸将偏差特征图划分为多个第二特征块,获取各第二特征块的像素值生成第二特征向量;通过全连接层将各第二特征向量映射为第二异常分数;采用3
×
3卷积层对所有第二异常分数进行选取,每9个第二异常分数中选取最大值构成第二异常得分数组,记为异常得分f2。8.一种双分支图像异常检测装置,其特征在于,所述装置包括:图像获取模块,用于获取待检测图像,对待检测图像进行预处理;得分获取模块,用于将预处理后的待检测图像输入训练好的异常检测模型,获取异常得分;异常判断模块,用于根据异常得分判断待检测图像为异常图像或正常图像;其中,所述异常检测模型的训练包括:样本获取模块,用于获取预设数量的样本图像,对样本图像进行旋转拓展和预处理;模型构建模块,用于构建异常检测模型,所述异常检测模型包括可见异常分支和不可见异常分支;模型训练模块,用于通过旋转拓展和预处理后的样本图像对异常检测模型进行训练。9.一种电子设备,其特征在于,包括处理器及存储介质;所述存储介质用于存储指令;所述处理器用于根据所述指令进行操作以执行根据权利要求1-7任一项所述方法的步骤。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-7任一项所述方法的步骤。
技术总结
本发明公开了一种双分支图像异常检测方法、装置、设备及介质,其方法包括:获取待检测图像,对待检测图像进行预处理;将预处理后的待检测图像输入训练好的异常检测模型,获取异常得分;根据异常得分判断待检测图像为异常图像或正常图像;其中,所述异常检测模型的训练包括:获取预设数量的样本图像,对样本图像进行旋转拓展和预处理;构建异常检测模型,所述异常检测模型包括可见异常分支和不可见异常分支;通过旋转拓展和预处理后的样本图像对异常检测模型进行训练;本发明能够对不同种类的工业图像都拥有良好的适配性,可以高效完成异常检测任务,同时计算量较低。同时计算量较低。同时计算量较低。
技术研发人员:刘西应 江结林 颜佩漪 吴金涛 赵英男
受保护的技术使用者:南京信息工程大学
技术研发日:2023.03.28
技术公布日:2023/7/13
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
