一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于互对抗训练的异常图像检测方法、装置及介质

2022-06-05 14:29:14 来源:中国专利 TAG:


1.本发明涉及深度学习领域,特别是涉及一种基于互对抗训练的异常图像检测方法、装置及介质。


背景技术:

2.检测异常图像是一项很重要的工作,基于深度学习的检测设备可以自动地对图像中的异常进行检测然后警报,这可以减少人员的投入以及人为的疏忽导致对异常情况的漏检。该技术可以广泛应用于医学影像识别、工业生产中产品质量的监控以及遥感监测等场景。
3.在计算机视觉(computer vision,cv)领域,对异常的检测可以作为一个二分类问题,即正常/异常分类,因此现有的很多工作都是使用神经网络将图像映射为两个代表正常/ 异常的值,然后经过softmax层输出分类概率以获得检测结果。虽然这种基于监督学习的方法在很多应用上颇具成效,但是它仍存在一些问题。
4.首先,基于监督学习的方法要求大量且类别均衡的样本来训练神经网络,然而在医学影像、工业质检等领域,异常样本远少于正常样本,即样本类别非常不平衡。其次,现实应用中,异常情况多种多样,例如就医疗诊断中的脑瘤核磁共振图像而言,正常的图像中,大脑图像结构清晰、规整,而病变的大脑图像中,病变体位置、大小、形状、颜色深度等各不相同,无法收集所有情况并进行归类。最后,基于监督学习的方法并不能够对未曾出现过的异常样本进行预警,因为在训练过程中神经网络没有学习过它们。因此,基于监督学习的方法可能并不适用于图像的异常检测。
5.另一方面,半监督学习的方法仅需要少量的正常样本来训练神经网络,就能够获得较好的检测能力,并且基于重构的半监督方法对新颖样本依旧拥有很好的检测能力,但是该类方法的一个主要缺陷在于,检测准确率较低以及虚警率较高。因此,提升半监督学习方法检测系统的检测能力是图像异常检测的关键。
6.近年来生成对抗网络(generative adversarial networks,gan)在cv领域展现出了优异的性能,基于它的的对抗训练思想,本发明使用两个相同的卷积自编码器作为彼此的生成器和判别器进行对抗训练,通过对正常图像进行建模,然后根据正常图像和异常图像的差异性来检测异常。该方法不仅可以很好地提升检测系统的准确率,还可以有效的降低虚警率。


技术实现要素:

7.基于现有方法的不足,本发明公开一种基于互对抗训练的异常图像检测方法、装置以及介质。本方法仅需要少量的正常图像就可以训练出一个性能很好的神经网络,并且可以减少训练时间,它能够有效地解决半监督学习图像异常检测中准确率低和虚警率高的问题。
8.为实现上述目的,本方法提供一种基于互对抗训练的异常图像检测方法,该方法
包括:
9.一种基于互对抗训练的异常图像检测方法,包括:获取图像,然后调整图像的分辨率和朝向,若该图像是用于训练,则由人工对采集到的图像进行标记并分类,然后输出正常类别的图像以备训练;将获取的检测图像输入到重构网络中,利用重构网络学习正常图像的数据空间,然后输出与输入图像相当的重构图像;对比输入图像与重构图像,用l1损失函数计算它们之间的损失并作为异常分数;根据获得的异常分数,采用阈值法或归一化法判定当前样本是否为异常;获得异常图像后,根据正常样本图像对异常图像上的异常区域进行标记,并警报。
10.为实现上述方法,本发明提供了一种新型的神经网络架构-互对抗网络(mutualadversarialnetwork,man)作为该方法的重构网络,如图2所示,它的主要思想如下:该网络类似于gan,它包含两个相同的卷积重构自编码器(recae),每个recae都可以单独重构输入图像,并且在它们的输出端额外设置了一个独立的概率输出c(real/fake),用于输出当前自编码器作为判别器时,判断输入图像为真实图像的概率,在训练时,它们按照一定的顺序作为彼此的生成器(generator)或者判别器(discriminator)。在检测时,recae1和recae2均可以单独的重构图像,将它们的重构图像权重之和作为man的最终重构图像,并计算输入图像与重构图像的l1损失作为它的异常分数。
11.为了使上述互对抗网络能够更好的学习正常图像的数据空间,本发明提供了一种相应的互对抗训练方法,本训练方法采用小批量训练方式,并且在每一小批量的数据上迭代两次;描述如下:t1.在每一次新的小批量数据训练中,设置初始状态,将recae1设置为生成器g,将recae2设置为判别器d,作为第一次迭代的初始。t2.训练图像经g重构后获得输出图像,再将训练图像与输出图像分别输入d获得真假概率c与c1。由于已知输入图像为真实图像,输出图像为重构图像,分别计算c与真实标签1、c1与虚假标签0的二进制交叉熵损失(binarycross-entropyloss,bceloss),然后使用这两组损失的均值反向传播更新d中的参数。t3.将重构图像输入到更新后的d中获得新的真假概率c2,计算c2与真实标签1的bceloss,记为对抗损失l
adv
,同时计算训练图像与重构图像的l2损失,记为l
rec
,利用l
adv
与l
rec
的权重之和来更新g的网络参数。t4.转换t1中的初始状态,使recae2作为g,recae1作为d,开始第二次迭代,再次执t2,t3。t5.循环执行上述过程,直至训练完成。
12.为了从上述重构网络输出的异常分数中判定异常,本发明提供了一种新的异常判定方法,用于从输入图像的异常分数中判定异常,包括下面两种方案:若拥有非常标准的正常图像样本,即可将其输入到man中获得阈值异常分数,在后续的检测中,可以将异常分数大于该阈值的图像判定为异常,该方案适用于工业质检,将已有合格产品图像用作于标准样本;若无法找到标准样本,则需要归一化同一批次目标图像的异常分数,然后将异常分数大于某值的样本判别为异常。
13.为实现上述目的,本发明提供了一种基于互对抗训练的异常图像检测装置,包括:
图像处理模块,用于获取检测图像,并调整图像的分辨率、朝向以及尺寸等特征,然后将获得的图像转换为可用于神经网络输入的图像数据;图像重构模块,用于重构检测图像,计算重构图像与检测图像的损失作为异常分数;异常判定模块,用于从获得的异常分数中判别异常;异常定位模块,用于从获得的异常图像中定位异常区域,并发出警报。
14.为实现上述目的,本发明还提供了一种计算机可读存储介质,该可读存储介质存放计算机程序,计算机处理器执行该程序以实现上述异常图像检测方法。
15.本发明提供了一种基于互对抗训练的重构检测方法,应用于异常图像检测领域,与现有方法相比,本发明的优势在于:
16.本发明使用的基于重构的异常检测方法,仅需要少量的正常图片来训练神经网络,并且对于未曾出现过的异常情况,本发明同样拥有较好的检测能力,这使得本发明拥有较广的应用空间,并且可以极大的减少人工收集、标记样本的工作量。
17.本发明提供的基于互对抗网络以及其训练方法的异常图像检测方法,相比于现有的基于自编码器(autoencoder,ae)和传统gan异常检测方法,它的学习速度更快,并且能够获得更高的检测准确率和更低的虚警率。更进一步,如本发明提供的互对抗训练方法所述,在每一小批量数据的训练中,两个recae依次作为生成器,事实上可以调整它们作为生成器和判别器的顺序,这样可以使man获得更好的重构能力,具体的变换顺序将以实施实例进行说明。
18.另外,本发明还提供了一种异常图像检测装置以及计算机可读存储介质,其拥有前述异常图像检测方法相当的优势。
附图说明
19.图1为本发明提供的一种基于互对抗训练的异常图像检测方法流程图;
20.图2为本发明提供的一种互对抗网络模型示意图;
21.图3为本发明提供的互对抗网络相对应的互对抗训练流程图;
22.图4为本发明提供的一种异常判定算法流程图;
23.图5为本发明提供的一种异常图像检测装置结构图;
24.图6为本发明提供的一种异常图像检测装置及介质的结构图。
具体实施方式
25.为了更方便说明本发明实施例,本文将结合附图说明对本发明进行详尽的说明、描述。显然,该实施例仅是本发明的一部分实施例,而非全部。应该指出本实施例中所有技术与术语为本发明所属领域常见且共识的,不加特别说明即为本领域同行所理解之意。
26.基于重构的异常检测方法是一种半监督的学习方法,应用于图像异常检测时,仅需要少量的正常图像作为训练集,相比于其它的监督学习方法,它具有更好的适用性以及对未知异常的检测能力,且它的实现更加简单,训练更容易。
27.生成对抗网络是一种无监督的生成的模型,该模型体现的核心思想是生成器尽可能地产生假的图片,而判别器尽可能的识别生成器所生成图片的真假,最终生成器和判别
器达到纳什均衡。基于该思想,本发明提供的互对抗网络架构本质上是生成器尽可能的重构出假的图片,而判别器尽可能识别输入图像是否为重构图像,其区别在于本发明所设计的互对抗训练可以使网络拥有更好的重构能力和学习能力。
28.实施例1
29.本发明提供一种基于互对抗网络和重构的异常图像检测方法,其流程如图1所示,包括:s1获取图像,然后调整图像的分辨率和朝向,若该图像是用于训练,则由人工对采集到的图像进行标记并分类,然后输出正常类别的图像以备训练;s2将获取的检测图像输入到重构网络中,利用重构网络学习正常图像的数据空间,然后输出与输入图像相当的重构图像;s3对比输入图像与重构图像,用l1损失函数计算它们之间的损失并作为异常分数;s4根据获得的异常分数,采用阈值法或归一化法判定当前样本是否为异常;s5获得异常图像后,根据正常样本图像对异常图像上的异常区域进行标记,并警报。
30.具体地,
31.mvtec ad数据集常用于验证工业产品检测相关的深度学习模型,该数据集包括15 种常见的工业检验类别,包括:机械零件、手机屏幕、木材表面图像等。每种类别均包括正常与异常的工业产品图像。这些图像的分辨率在700*700至1024*1024之间。使用图像采集、处理模块将该数据集中的所有图像分辨率调整到1024*1024,然后根据其检验类别将它们分开,再提取同一类别训练集中的正常图像用于训练,最后将该类别验证集中所有的图像用作验证与测试。
32.recae是本发明提供的用于重构图像和判别真假的基础子网络,如图2所示,该基础网络是蝴蝶形的对称结构,可分解为左侧编码器部分与右侧解码器部分。在编码器部分,每一层的主干网络为卷积网络,每层卷积网络的卷积核数为输入图像通道数的两倍,卷积核尺寸为4*4,步长设置为2,以实现每经过一次卷积,图像长宽为初始的一半,通道数为初始的两倍,同时,在每层卷积层后添加归一化层(batchnorm2d),用来保证数据特征分布的稳定性,同时加快模型的收敛速度,而dropout层(dropout2d)用来防止过拟合,最后使用leakyrelu 作为激活函数。在解码器部分,使用反卷积网络作为主要网络,同样添加归一化层与dropout 层,与编码器部分相反,输入图像每经过一次反卷积后,其长宽尺寸为初始的两倍,通道数为初始的一半,该部分内部网络层使用relu激活函数,图像输出层使用tanh激活函数,同时额外设置一个输出判别概率的c(real/fake),且使用sigmoid激活函数。
33.本实施例中,工业检测图像x输入到所述的recae中,由左部分的编码器卷积压缩为低维特征向量z,z再经过右部分的解码结构反卷积扩张为与输入图像同尺寸的重构图像,并额外输出真假概率c。
34.如图2所示的重构神经网络,它由两个recae组成,训练时可视作头尾相连,即: recae1的重构输出可以作为recae2的输入,同样,recae2的重构输出可以作为recae1输入。该神经网络基于本发明所提供的互对抗训练方法进行训练,因而命名为互对抗网络。所述互对抗训练方法,其特点在于两个recae既可以作为对方的生成器又可以作为对方的判别
器;其实质在于每一次训练迭代中,生成器尽可能重构工业检测图像,判别器尽可能判断输入图像是否为重构图像;其优势在于相较于传统生成对抗训练,可以调整各子网络的角色,因而训练更加灵活可控,能够化解传统生成对抗训练中生成器与判别器不平衡问题,且学习速度更快,性能更优。
35.本发明提供的互对抗训练方法流程如图3所示,其中(a)(b)(c)分别对应提供的三种不同的训练方案,即:线性互对抗训练、反转互对抗训练和随机互对抗训练,本训练方法采用小批量训练方法,具体描述如下:
36.a.线性互对抗训练,如图3(a)所示:
37.步骤t1.在每一小批量数据的训练迭代中,设置初始状态,recae1为生成器g,recae2为判别器d。
38.步骤t2.工业检测图像x经g重构后获得x1,再将x和x1分别输入到d中获得真假概率c与c1。由于己知x为真实图像,x1为重构图像,分别计算c与1、c1与0的二进制交叉熵损失(binary cross entropy loss,bceloss),即:
39.dl
adv
=-||ylog(d(p) (1-y)log(1-d(p))||
40.其中p为输入到d中的图像,y为该图像对应的real/fake标签,获得的两组dl
adv
取其均值用于反向传播以更新d中的网络参数。
41.步骤t3.将x1输到更新参数后的d中获得新的真假概率c2,计算c2与1的bceloss,记为对抗损失gl
adv
,同时计算x与x1的l2损失作为重构损失,记为gl
rec
,即:
42.gl
rec
=||x-x1||243.然后使用gl
rec
与gl
adv
的权重之和l进行反向传播以更新g的网络参数,即:
44.l=β1*gl
adv
β2*gl
rec
45.其中β1和β2为权重参数,本实施例分别取1和50。
46.步骤t4.转换t1中的初始状态,使recae2为g,recae1为d,再次执行t2,t3,步骤。
47.步骤t5.在下一小批量数据输入时,循环执行上述过程,直至训练完成。
48.如所述线性互对抗训练的流程,线性对抗的实质在于,在每一小批次数据训练时, recae1先作为生成器,recae2作为判别器,然后调换它们的角色,然后在该批次数据上再训练一次。
49.b.反转互对抗训练:
50.如图3(b),反转对抗训练与前述线性对抗训练的区别在于:在经过某一小批次图像数据的训练后,两recae的角色不再初始化,从而可以实现在某一小批次的图像训练数据上的训练,即recae1先作为生成器,recae2后作为生成器,迭代训练两次后,在紧邻的下一小批次训练数据上,recae2先作为生成器,recae1后作为生成器。
51.如前所述的线性对抗训练和反转对抗训练,在每一新的小批量数据到来时,前者的 recae1总是先作为生成器训练,因而recae2相较而言处于弱地位,而后者的recae总体上是平等的,因而性能更加均衡,在本实例中,通过实现这两种训练方式产生的实验结果也表明,反转对抗训练在准确率上优于线性对抗训练。
52.c.随机互对抗训练:
53.如图3(c)所示,结合前述两种互对抗训练方法,随机互对抗训练的本质在于,在每一次训练迭代中,两个recae作为生成器或者判别器完全随机。该训练方法的优势在于,通
过两recae的随机对抗,整个神经网络可以跳过局部最优解而获得更好的效果,缺点在于不可控制以及难以复现,只能通过多次训练来保存结果最好的模型。本实例中,在工业检测图像上的多次训练也验证了这一点,通过随机互对抗训练获得的模型在验证集上取得了最好的准确率以及最低的虚警率。
54.在检测时,两个recae均可单独的输出重构图像,使用其输出图像的权重之和作为 man的整体输出,即:
[0055][0056]
其中x表示输入的工业检测图像,表示man的整体输出,α表示权重比例,本实施例中,根据不同的训练方式,α的取值不同,使用线性互对抗训练方法训练的man,由于 recae1略优因而α取值1;使用反转互对抗训练方法训练的man,由于两recae较平衡,α取值0.5;使用随机互对抗训练方法训练的man,由于不能确定优劣,因此单独取两个recae 的结果分别进行评判。
[0057]
工业图像经上述重构网络重构后,会输出重构图像,使用l1损失函数计算原始图像与重构图像之间的损失作为异常分数,定义为:
[0058][0059]
其中为异常分数,x、分别为原始图像与重构图像,所获得的异常分数继续输入到异常判定模块中,以进行下一步骤。
[0060]
本发明提供了一种异常判定方法,其理论基础在于,前述作为重构网络的man仅学习正常图像的数据空间,对于正常图像能够较完整地重构出与输入图像相同的图像,从而经计算得出的异常分数集中于某一数值附近,且要小于异常图像的异常分数,因而可以基于阈值或者异常分数的大小对比来判定异常。
[0061]
本发明提供的异常判定方法其流程如图4所示,首先判断是否持有标准正常样例作为参照,若有则使用man重构该标准样例,再计算其异常分数作为阈值,在判定时将异常分数大于该阈值的图像判定为异常;另一方面,若无标准样例,则将同批次测试图像的异常分数归一化收缩至[0,1]区间,然后将归一化后的异常分数大于0.5的样例定位异常,特别的,假若检测样例中含有与正常样例差异很大的样例,还需要先使用均值抑制这种噪音数据再归一化,因为这部分样例的存在,仅使用归一化算法会使其它异常样例的异常分数低于0.5,导致漏检率升高。该均值抑制方法定义如下:
[0062][0063]
其中,mean为同批次样例异常分数均值。
[0064]
归一化算法定义为:
[0065][0066]
其中,max、min分别为同批次样例异常分数的最大值与最小值,si为最终获得的异常分数,将获得的最终异常分数大于0.5的样例判定为异常
[0067]
最后,本实施例由于使用的mvtec ad数据集较为标准且清晰,选取若干用于训练的正常图像,根据这些图像与异常图像对比,定位异常图像中的异常区域,随后警报。
[0068]
实施例2
[0069]
本发明提供一种与上述实例对应的基于互对抗训练的异常图像检测装置,如图5所示为该异常图像检测装置的结构图,包括:图像处理模块101,用于获取异常图像检测任务中的图像,并可以调整图像的分辨率、朝向和尺寸等特征,然后将获得的图像转换为可用于神经网络输入的图像数据;图像重构模块102,用于重构检测图像,计算重构图像与检测图像的损失并给出异常分数;异常判定模块103,用于从获得的异常分数中判别异常;异常定位模块104,用于从获得的异常图像中定位异常区域,并发出警报。
[0070]
由于该实施例装置与前述实施例对应,因此该实施例细节不再描述。
[0071]
本发明提供的一种异常图像检测装置,仅需要少量的正常图片来训练神经网络,并且对于未曾出现过的异常情况,本发明同样拥有较好的检测能力,这使得本发明拥有较广的应用空间,并且可以极大的减少人工收集、标记样本的工作量。相比于现有的基于自编码器和 gan异常检测方法,学习速度更快,能够获得更高的检测准确率和更低的虚警率。
[0072]
实施例3
[0073]
本发明还提供了一种异常图像检测设备,内部结构图如图6所示,该设备包括:存储器,用于存储计算机程序以及检测过程中的缓存数据,包括半永久存储介质和内存,半永久性存储介质中存储诸如操作系统以及计算机可以运行程序;内存储器可用于存储程序运行过程中产生的临时数据,如上述异常判定方法所述同批次异常分数等;处理器,用于执行前述异常图像检测方法的各项步骤;摄像头,用于实时采集目标图像;显示屏、网络接口等装置,显示屏用于输出异常图像以及显示异常图像上的异常部分,且可使用触控显示屏作为人机交互的枢纽。
[0074]
由于该实施例执行异常图像检测流程与实施例1对应,因此不再赘述实施细节,且本实例依旧拥有与实施例1相同的有益效果。
[0075]
上述所有是对本发明提供的基于互对抗训练的图像异常检测方法、装置及存储介质的详细介绍,本领域技术人员可以理解、实现上述实施例中所有细节。需要申明的是,上述实施例只是本发明部分实施例,并不限制本发明在其它方面的应用,因而本领域技术人员在本发明的原理上对本发明进行修改、变换所产生的成果应依视为本发明权利要求的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献