一种结合注意力机制及信息熵最小化的异常图像检测方法与流程

文档序号:20581511发布日期:2020-04-29 01:30阅读:392来源:国知局
一种结合注意力机制及信息熵最小化的异常图像检测方法与流程
本发明提出一种结合注意力机制及信息熵最小化的异常图像检测方法,具有更强的识别新的或未知的样本的能力。
背景技术
:异常图像检测具有广泛的应用价值。异常图像检测任务要求模型具有识别出新的或未知的样本的能力。异常图像检测的关键是使模型对正常样本具有好的表达能力,且对异常样本保持一定的灵敏性。总的来说,模型的这两种能力在训练时都应该被增强。异常图像检测的一个普遍假设是:异常样本不仅在高维数据空间内与正常样本存在特征差异,且在低维数据空间中也是如此。因此,异常图像检测任务的关键变为如何更好地重构正常样本的高维数据空间和低维数据空间。在异常图像检测任务中,异常样本的稀缺性、多变性和不可预测性使得模型对异常样本的检测更为困难,因此无监督学习通常被认为是处理此类任务的理想方法。传统的解决方案包括一类支持向量机(svm),该方法将正常样本限制在一个子空间中,达到区分正常、异常样本的目的;还有研究基于局部异常因子算法(lof)利用k聚类和密度估计完成异常检测。但是传统方法训练过程中仍依赖于正常样本和异常样本。如今,深度学习在图像处理领域取得了巨大成就,目前的主流策略是借助深度深神网络从重建、概率分布角度来解决此问题。在基于重建的策略中,重建前后图像的重建误差作为检测依据。例如,在anogan中,第一次将生成对抗网络(gan)应用到异常图像检测任务中,它通过反向传播找到合适的编码向量,借助自动编码器完成图像重建,并计算图像重建误差来判断图像是否异常。在alocc中,自动编码器被用作生成器并同时扮演两个角色,一个用于增强正常样本,另一个用于毁坏异常样本。在基于概率分布的策略中,方法的重点被放在研究低维编码层的概率分布上。例如,在abati等人的研究中,模型通过自回归过程学习编码层的概率分布。在ocgan模型中,其将去噪自编码器作为生成器,通过对抗训练机制,使正常样本与低维编码空间能实现一对一映射。然而,目前这些深度神经网络模型仍面临一个问题:只经过正常样本训练得的模型不止对正常样本有较好的泛化能力,其对异常样本仍存在一定泛化能力,导致应用模型推理时对异常样本没有较好的辨别能力。而本发明通过在ganomaly方法上做出一定改进,使得训练过后的模型对正常样本特性有较好的表示,同时对异常样本的敏感能力增强,最终提高模型对正常样本与异常样本的鉴别能力。技术实现要素:针对现有技术中存在的不足,本发明提供了一种基于新颖性检测的异常图像检测方法。其在网络结构、损失函数等方面对ganomaly模型做出改进,提升该模型的应用效果。为了解决上述技术问题,本发明提供如下的技术方案:一种结合注意力机制及信息熵最小化的异常图像检测方法,包括以下步骤::(1)挑选整合当前主流的数据集,用作训练数据集;(2)选择ganomaly作为待改进神经网络模型,并对模型优化;(3)样本图像预处理,以适合网络输入;(4)训练检测模型;(5)用已经训练好的检测模型进行检测,得出检测结果。进一步,所述步骤(1)中,选择三个常用的经典数据集,分别为coil100、mnist和cifar10;再进一步地,所述步骤(2)中,通过非监督对抗学习方式来处理异常检测问题,在无监督信息的情况下通过对抗训练方式训练去噪自编码器,能在图像重建任务中取得较好效果。具体地,本发明选择ganomaly作为待改进神经网络模型,并对该模型做出如下改进:a.引入注意力机制,基于注意力机制来提升模型的特征提取能力,达到特征选择的目的;b.新增信息熵最小化优化目标,消除编码层编码冗余,保留正常样本的独特的编码信息。进一步地,所述步骤(3)中,统一将步骤(1)中提到的三个数据集做预处理:所有图像的像素值都被缩放到在[-1,1]范围内,图像的尺寸缩放为32*32像素以适应ganomaly网络模型输入。此外不需要对样本图像做其他预处理工作。进一步地,所述步骤(4)中,划分数据集以及选择合适的超参数来训练模型,具体为:a.为ganomaly模型配置超参数。ganomaly网络待定参数包含:子损失函数间的权重α,β,γ,δ、异常值计算权重λ,μ、自编码器中隐层向量长度hlen、注意力机制模块中隐藏层神经元的数量的比例r;b.为了与比较的方法保持一致,按照不同的训练集和测试集划分标准,对coil100、mnist、cifar10三个数据集分别划分出训练集与测试集。对coil100数据集,使用80%的正常样本进行训练,其余20%的正常样本数据用于测试。之后随机选择异常测试样本,使其构成测试集的一半。针对mnist、cifar10数据集,使用给定数据集的训练集-测试集拆分标准来进行训练。正常样本的训练集用于训练和验证,所有样本的测试数据都用于测试。进一步地,所述步骤(5)中,ganomaly模型训练完毕后,将coil100、mnist、cifar10三个数据集的测试数据样本输入到ganomaly模型中,根据样本的异常得分判断样本是否为正常样本。最终以实验的接收机工作特性曲线(roc)下的区域面积(auc)值量化本发明的应用效果;所述方法还包括以下步骤:(6)对比试验分析本发明做出的改进的提升效果:为验证本发明提出的改进方案的有效性,现分别提出以下三种对比方案:仅使用原有模型的方案一,加入信息熵损失的方案二,在方案二基础上加入注意力机制的方案三。分别计算三种方案的auc值,分析本发明在改进异常图像检测任务中的改进效果。与现有技术相比,本发明具有以下优点:(1)本发明将深度学习的对抗神经网络应用到图像领域的异常检测问题中,仅需正常样本训练深度神经网络模型,能有效处理异常样本数量不足、异常样本种类不全等异常检测问题。另外,在对ganomaly方法做出改进后,本发明训练的模型对异常样本具有更强的灵敏度,且对正常样本保持良好的泛化能力;(2)本发明在保留ganomaly方法损失函数的同时,在训练阶段另加入了新的损失函数,即隐层特征信息熵最小化,使编码层特征稀疏化。该改进思想力求网络能提的信息冗余少,正常样本的重要特征保留量大的隐层特性。另外,本发明还在网络结构中引入通道注意力机制,该改动希望网络对正常样本的重要特征提取能力更强,且对重要特征的重建能力也更强。综上,本发明经过以上两处改进,使网络对正常样本具有较强的泛化能力,且对异常样本具有良好的灵敏度;(3)本发明在推理阶段,同时考虑了高维全局特征与低维编码特征,信息利用率更高。该特点使网络在训练过程中能获取正常样本更多的重要特征,经过训练的网络对正常样本的重构能力更强,使得正常样本与重构样本之间的差异性不大;而在网络推导的过程中,异常样本则会在重构过程中丢失较大的重要信息,使得重构前后样本的差异性较大。附图说明图1为本发明异常图像检测模型的结构示意图;具体实施方式为使本发明更容易理解、优势更加清楚,下面结合附图和具体实施例,对本发明实施例中的技术方案作详细说明。(1)为验证本发明在异常图像检测任务上的准确性,现通过三个常用的数据集验证:coil100、mnist、cifar10。下面对每一个数据集的内容与图像尺寸做一定解释:coil-100:该数据集是自然图片集合,包含对100个物体从不同角度的拍摄,每隔5度拍摄一副图像,每个物体包含72张图像,图像尺寸均为128*128。mnist:该数据集是一个经典的数据集,经常被用作异常检测数据集,由10类手写数字构成的数据库,每类6000张图,每一张图像的大小为28*28。cifar10:该数据集共有60000张彩色图像,这些图像全部来源于真实世界中的自然图像,分为10个类,每类6000张图,尺寸为32*32。(2)本发明挑选对抗网络模型ganomaly作为基础网络,然后对其的网络结构与损失函数两方面提出改进。最终改进后的发明结构图如附图1;a.算法网络结构如附图1所示,本发明的模型结构由两部分组成:生成器g、鉴别器d。其中生成器为一个自编码器,其包含编码器ge和解码器gd。接下来详细地介绍每一个部分:网络的第一部分是由编码器与解码器组成的生成器。生成器g通过ge提取有代表性的正常样本特征,并由gd重建样本。其主要过程为生成器g首先将输入图像x送到编码器网络ge,得到的编码信息用隐层向量h表示。然后h通过解码器网络gd,使用反卷积操作,批归一化和激活函数等操作得到重建图像该重建样本与原样本具有相同的尺寸。另外,网络的第二部分鉴别器d网络结构与编码器gd基本一致,并在最终输出部分通过添加卷积层将维度降至1。值得注意的是,本发明的模型的鉴别器部分并没有添加注意力组件;b.模型改进上文中提到,目前的模型仍存在对异常样本具备一定泛化能力的问题。这导致模型对异常样本敏感性不足。本专利现通过提升自编码器对正常样本有效信息的提取能力,缩小正常样本与其重构图像之间的差异度,实现模型效果的提升。具体改进为两个方面:a.在原有损失函数的基础上加入信息熵损失函数;b.在编码器与解码器出加入通道注意力机制。a.信息熵损失已知异常检测任务的模型仅由正常样本训练,因此理想的模型应有效提取正常样本的重要特征。为此,如何在编码层提取有代表性的特征变得尤为重要。而若使编码层稀疏化,去除编码信息的冗余,缩小编码空间范围,使编码器尽可能保留正常样本的特征信息,即可提升模型对异常样本的敏感能力。因此本发明以编码层特征向量信息熵最小化为目标,在原有损失函数的基础上加入如下损失函数:上式中linf表示隐层特征h的信息熵损失,记hlen为隐层特征的长度,取hlen=100。另外计算信息熵损失之前隐层特征h需要经过softmax层处理使其模长为1。本发明以最小化linf为目标,以实现降低特征向量冗余、提升稀疏化程度的目标;b.通道注意力机制除了在损失函数的优化,为使生成器的编码器与解码器更加关注正常样本的重要特征,本发明在生成器的编码器与解码器都加入通道注意力机制(cam)。附图1即表明了通道注意力机制的位置。附图1还对注意力组件做了详细的结构说明。具体来说,注意力组件接收一个特征图f,f分别通过最大池化层、平均池化层得到v1,v2。之后v1,v2将分别通过一个共享的三层全连接层(mlp)。mlp的输出层和输入层的尺寸相同,而中间隐藏层的神经元数量由比例r控制。最后,mlp的两个输出特征向量对应元素相加,再经sigmoid层处理后,即得到特征图f每一个通道对应的权重mc。mc=sigmoid(mlp(avgpool(f))+mlp(maxpool(f)))最终特征图f乘以相应的通道权重mc即可得到改进的特征图f':f′=mc·f(3)本步骤主要说明模型训练前需要的预处理部分:我们需要的准备包括:a.将所有样本图像的像素值缩放到[-1,1]之间,图像尺寸缩放为32*32像素;b.按照不同的划分标准将数据集划分为训练集与测试集;c.定义实验过程中的正常样本与异常样本。步骤a)中,为适合网络输入,本发明统一将图像尺寸缩放到32*32。步骤b)中,为便于与其他算法的对比分析,本发明划分训练集、测试集遵循不同的划分标准。步骤c)中,coil-100、mnist、cifar10这三个数据库的正常样本与异常样本的划分规则如下:coil-100:本发明以数据集中一类作为正常样本,剩余所有类则记为异常样本。mnist:该手写数字数据集共含0~9中手写数字,共计10类样本。训练时指定一类作为正常样本,而剩余九类作为异常样本。cifar10:该数据集分为10个类,与mnist数据集规定类似,训练时指定一类为正常样本,剩余九类被作为异常样本。(4)深度神经网络模型的训练包含配置网络参数、模型训练两个主要步骤:a.配置网络参数一组合适的网络参数能使在训练网络时表现良好的效果,并使整体参数收敛迅速,使训练完成的生成器具备良好的样本重构能力,使检测器对异常样本具备良好的敏感性。本发明需设置的参数包括:子损失函数间的权重α=1,β=50,γ=δ1,、离群值计算权重λ=0.1,μ=0.9、自编码器中隐层向量长度hlen=100,控制注意力组件的隐藏层神经元的数量的比例r=8。b.参数训练步骤(3)处,本发明提出了对ganomaly模型损失函数的具体改进。结合该模型原有的损失函数,本发明训练时的总损失由以下4个子损失组成:对抗损失:用正常样本数据训练网络参数时,为了最大化正常样本的重建能力。模型采用对抗训练的方式。该方式确保网络g尽可能真实地重建正常图像x到(服从样本分布px),而鉴别器网络d对真实和(假)生成的样本进行分类。因此,对抗损失函数定义为:上下文损失:除了对抗性损失,为了使得生成器学习到一些全局信息,通过重建误差来实现。因此,在原图x和重建图像之间添加l1损失来更新生成器。因此,上下文损失函数定义为:lcon=ex~px||x-g(x)||1编码损失:网络的鉴别器同时起到了特征提取器的作用,借助它衡量高维图像在低维编码信息之间的差异。经过正常样本的训练,模型能缩小正常样本编码信息ge(x)与重建图像编码信息d(g(x))之间的差距。由于模型是经过正常样本训练得到的,本模型则不能缩小异常样本与重建样本编码信息之间的差距。因此,编码损失函数定义为:lenc=ex~px||ge(x)-d(g(x))||1信息熵损失:该损失可详见步骤(3)内容。最终,训练时总损失的子损失分别为:信息熵损失、对抗损失、上下文损失、编码损失。总损失可表示为:l=αladv+βlcon+γllat+δlinf其中α,β,γ,为本发明的种不同子损失的权重系数,具体为α=1,β=50,γ=1,δ=10。(5)coil-100、mnist、cifar10三个数据集在模型推理阶段的推理步骤如下:本发明利用生成器与检测器,同时得到低维编码信息与高维上下文信息,这两类信息都含有差异特征,而上文提到的编码损失与上下文损失能量化具体的差异量。因此在模型推理阶段,使用编码损失与上下文损失共同计算异常得分值a。对于测试集样本x,其对应的异常分数a(x)被定义为:a(x)=λlcon+μllat上式中a(x)由编码损失与上下文损失加权累加后求得。为方便比较,我们将所有样本的差异值a(x)放缩到[0,1]之间,便于测试集样本异常值与真实标签值之间的比较。归一化后样本x的差异值a(x)越接近1,说明其为异常样本的可能性越大。(6)结果分析下面为coil-100、mnist、cifar10三个数据集测试样本输入网络得到的检测结果。为量化本发明的异常图像检测效果,选择auc值(areaunderthecurve)作为模型的评估指标。另外为方便对比分析,我们将一些主流的模型的效果也一并列出,参与coil-100数据集比较的重要模型有:aloccdr、aloccd、dcae;参与mnist、cifar10数据集比较的重要模型有:ocsvm、kde、dae、vae、pixcnn、gan、and、anogan、ganomaly。coil-100:coil-100数据集的特点是:正常样本间的差距相对小,正常样本与异常样本差距较大。由于数据集相对简单,故比较的模型能得到较高的auc值,本发明的模型与其他重要模型的效果比较如表1所示,比dcae超出1%:表1本发明在coil-100数据集上的效果分析模型aucaloccdr0.809aloccd0.686dcae0.949ours0.961表1mnist:测试时一类认为是正常,剩余九类被认为是异常。结果正如表2所示,其中每一列代表一种模型在不同正常样本的结果,每一行代表该类为正常样本时,各个模型的测试结果。和考虑的方法相比,我们的结果并没有很明显的提升,效果一般。分析可能是改进的部分对背景单一和简单图像的效果不明显。表2本发明在mnist数据集上的效果分析表2cifar10:最为比较有挑战性的数据集,测试时依旧是一类认为是正常,剩余九类被认为是异常。在图表3中,我们展示了每一类作为正常图像的测试结果。跟之前的模型ganomaly模型相比,我们注意到当car或truck这种相似目标作为正常样本时,模型的准确度相对较低,而我们的方案比之前有明显的改善,最终有4%的提升。表3本发明在cifar10数据集上的效果分析表3对比试验:为了验证改进模型的有效性,我们在自然图像集cifar10做了一系列的对比实验,分别对本发明提出的两个改进方案进行了测试,首先我们只考虑原始结构,记为方案一;其次将信息熵损失加入到损失函数中,记为方案二;最后在添加熵损失的基础上,为生成器的编码器、解码器都添加通道注意力组件,即最终网络结构,记为方案三。三个方案在cifar10数据集上的auc得分如下表:表4三个方案的对比分析结果表方案auc方案一0.639方案二0.649方案三0.655表4。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1