CN111598881B - 基于变分自编码器的图像异常检测方法 - Google Patents
基于变分自编码器的图像异常检测方法 Download PDFInfo
- Publication number
- CN111598881B CN111598881B CN202010423773.6A CN202010423773A CN111598881B CN 111598881 B CN111598881 B CN 111598881B CN 202010423773 A CN202010423773 A CN 202010423773A CN 111598881 B CN111598881 B CN 111598881B
- Authority
- CN
- China
- Prior art keywords
- encoder
- training set
- normal image
- sample
- abnormal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 213
- 238000012549 training Methods 0.000 claims abstract description 182
- 230000002159 abnormal effect Effects 0.000 claims abstract description 119
- 239000013598 vector Substances 0.000 claims abstract description 57
- 238000000034 method Methods 0.000 claims abstract description 45
- 238000007781 pre-processing Methods 0.000 claims abstract description 9
- 238000012360 testing method Methods 0.000 claims description 44
- 238000013507 mapping Methods 0.000 claims description 30
- 239000011159 matrix material Substances 0.000 claims description 24
- 230000004913 activation Effects 0.000 claims description 19
- 230000005856 abnormality Effects 0.000 claims description 18
- 238000004364 calculation method Methods 0.000 claims description 12
- 238000009826 distribution Methods 0.000 claims description 11
- 238000010276 construction Methods 0.000 claims description 8
- 238000005457 optimization Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 3
- 238000005070 sampling Methods 0.000 claims description 3
- 238000000638 solvent extraction Methods 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims description 2
- 238000000605 extraction Methods 0.000 abstract description 5
- 230000006870 function Effects 0.000 description 44
- 238000002474 experimental method Methods 0.000 description 37
- 238000004088 simulation Methods 0.000 description 13
- 230000000694 effects Effects 0.000 description 8
- 230000007547 defect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000012706 support-vector machine Methods 0.000 description 4
- 230000006872 improvement Effects 0.000 description 3
- 241000282994 Cervidae Species 0.000 description 2
- 241000282326 Felis catus Species 0.000 description 2
- 238000012952 Resampling Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000003745 diagnosis Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- RZVHIXYEVGDQDX-UHFFFAOYSA-N 9,10-anthraquinone Chemical compound C1=CC=C2C(=O)C3=CC=CC=C3C(=O)C2=C1 RZVHIXYEVGDQDX-UHFFFAOYSA-N 0.000 description 1
- 241000009328 Perro Species 0.000 description 1
- 230000004308 accommodation Effects 0.000 description 1
- 230000002547 anomalous effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000010304 firing Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000007500 overflow downdraw method Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于变分自编码器的图像异常检测方法,具体是融合变分自编码器和支持向量数据描述的异常检测方法,解决了现有技术中异常检测与特征提取两个阶段分离,异常检测性能受限以及传统异常检测无法应对高维、大规模异常检测任务的问题。实现步骤包括:图像数据采集;数据集划分与数据预处理;构造以变分自编码器为基础的异常检测模型;训练异常检测模型;根据训练好的模型计算区分正常与异常图像数据的阈值;使用训练好的模型判断待测图像是否为异常图像。本发明采用支持向量数据描述对变分自编码器提取到的特征做距离上的约束,提取的特征更适合做异常检测,内存复杂性低,可应用于高维、大规模异常检测任务。
Description
技术领域
本发明属于深度学习技术领域,主要涉及图像的异常检测,具体是一种基于变分自编码器的图像异常检测方法,结合支持数据向量描述,用于对图像的异常检测。
背景技术
异常检测的任务是识别与期望不一致的数据,通常将这种不一致的数据定义为异常。异常检测在很多领域都承担着重要的责任。在已研究开发的异常检测技术中,涉及到***欺诈检测、网络入侵检测、医学诊断等应用。本发明致力于解决关于图像的异常检测问题。
应用于图像异常检测的方法,分为传统异常检测技术和深度异常检测技术。传统的异常检测技术有一类支持向量机方法等。等人在论文“Estimating theSupport of a High Dimensional Distribution”中提出一类支持向量机方法(OC-SVM),该方法可以通过构造正类数据的超平面模型并将超平面另一侧的数据划分为异常类来获得理想的异常检测结果,该方法存在的不足之处是,结果很大程度上取决于选择正则化参数和核函数,当数据量巨大时,内存复杂度很高,限制了该方法在大规模图像异常检测任务中的应用。
以自编码器及变分自编码器为代表的深度异常检测方法,在图像领域中的性能普遍优于传统的异常检测方法,通常可以分为两类。第一类深度异常检测模型通常是在更好的实现重构输入的目标下进行特征的提取的,提取到特征后再结合传统的异常检测方法,如OC-SVM,进行异常检测,称之为混合模型。该类方法存在的不足之处是,由于使用通用的损失函数来代替定制化的异常检测目标,使得异常检测的目标完全无法影响到网络提取到的隐层特征,使得该方法往往是次优的。第二类则是不借助于传统异常检测方法,直接将重构误差作为异常分数,来进行异常检测。这一类方法存在的不足在于假设所有的正常样本都服从相似的分布,相似的正常样本重构误差较小,但不相似的正常样本则由于重构误差大而被认为是异常样本,缺少对正常样本多样性的包容。
综上,传统异常检测方法应用在图像领域会由于图像数据集数据量过大而不能有良好的异常检测效果,以编码器以及变分自编码器为代表的深度异常检测方法在应对异常检测任务时,由于缺少定制的异常检测目标或是缺少对正常样本多样性的包容,往往不能充分发挥深度模型的性能。
发明内容
本发明的目的在于针对上述现有技术的不足,提出一种具有针对性的对正常样本的多样性更为包容的可以应用于大规模检测的基于变分自编码器的深度图像异常检测方法。
本发明是一种基于变分自编码器的图像异常检测方法,其特征在于,包括有如下步骤:
(1)图像数据采集:根据异常检测的任务采集待检测的图像数据,并对正常类图像数据和异常类图像数据进行区分,区分标准依照异常检测的任务而定,将正常类图像数据给定标签0,将异常类图像数据给定标签1;
(2)数据集划分与数据预处理:将图像数据根据异常检测任务的需求划分为训练集和测试集,训练集中只包含正常类图像,测试集中包含正常类图像和异常类图像;将划分好的训练集图像数据和测试集图像数据都处理成统一的格式;
(3)构造以变分自编码器为基础的异常检测模型:变分自编码器包括编码器和解码器两部分网络,在代价函数的约束下,利用编码器提取训练集中所有样本的特征,通过解码器将提取到的特征尽量重构成与原始样本相似的新样本;以变分自编码器为基础的异常检测模型融合支持向量数据描述,采用支持向量数据描述对变分自编码器的编码器提取到的特征φ(xi;W)进行距离上的约束进而聚集在特定的区域;为此首先需要搭建网络实现变分自编码器的编码器和解码器部分,再构建可以联合优化变分自编码器和支持向量数据描述的异常检测模型的代价函数L,以实现异常检测模型的构造,代价函数具体的构建如下:
(3a)计算训练集中每一个正常图像样本对应的特征φ(xi;W),其中,φ(xi;W)是训练集中第i个正常图像样本对应的特征,i∈[1,n],n为训练集中正常图像样本的总个数;
(3b)由(3a)中得到的每一个正常图像样本对应的特征φ(xi;W)计算训练集中的每一个正常图像样本对应的重构样本其中,是第i个正常图像样本对应的重构样本,i∈[1,n],n为训练集中正常图像样本的总个数;
(3c)计算训练集中所有的正常图像样本x1~xn的特征的均值c;
(3d)计算训练集中的每一个正常图像样本对应的特征φ(xi;W)到所有的特征的均值c的距离di,其中,di是训练集中第i个正常图像样本xi的特征φ(xi;W)到所有特征的均值c的距离,i∈[1,n],n为训练集中正常图像样本的总个数;
(3e)利用每一个正常图像样本对应的特征φ(xi;W)及其对应的重构样本训练集中所有的正常图像样本的特征的均值以及训练集中每一个正常图像样本对应的特征φ(xi;W)到所有的特征的均值c的距离,构建联合优化变分自编码器和支持向量数据描述的异常检测模型的代价函数L,变分自编码器的编码器网络和解码器网络以及代价函数L共同完成基于变分自编码器的异常检测模型的构造;
(4)训练异常检测模型:用训练集对基于变分自编码器的异常检测模型进行训练,训练好的异常检测模型的输入是图像样本,输出是其对应的重构样本,训练好的异常检测模型包括编码器和解码器两部分,后续步骤中使用训练好的异常检测模型中的编码器作为特征提取器来提取特征,根据特征判断样本是否为异常样本;
(5)根据训练好的模型计算区分正常图像数据与异常图像数据的阈值:得到训练好的异常检测模型后,利用编码器网络计算训练集中每一个正常图像样本的特征以及训练集所有图像样本的特征的均值c*;计算训练集中每一个图像样本的特征到上述均值的距离s(xi),将此距离定义为每一个图像样本的异常分数;将所有图像样本的异常分数s(xi)按照从小到大的顺序进行排序,取其第90百分位数作为区分正常图像数据与异常图像数据的阈值threshold;
(6)使用训练好的异常检测模型判断待测的测试集图像是否为异常图像:使用训练好的异常检测模型提取待测的测试集图像的特征φ(xj;W),j∈[1,m],其中m是测试集中图像样本的总个数。计算φ(xj;W)到步骤(5)中计算得到的均值c*的距离s(xj),若该距离s(xj)大于步骤(5)中得到的阈值threshold,则认定为异常图像,否则为正常图像,最终得到异常检测的结果。
本发明是基于变分自编码器的对所提取的特征进行具有更强针对性的约束的融合方法,联合优化提取特征与异常检测的目标函数,使提取的特征更适合做异常检测,异常检测能力更强,且内存复杂度低,可以应用于高维数据以及大规模检测任务中。
本发明与现有技术相比,具有以下优点:
提取的特征更适合做异常检测:本发明是基于变分自编码器的图像异常检测方法,融合支持向量数据描述对变分自编码器提取到的特征做约束,使其聚集成超球体。与提取特征后再进行异常检测的混合模型相比,异常检测与提取特征不再是分离的步骤,特征的学习是在异常检测的目标直接驱动下进行的,使得本发明中的编码器提取到的特征更适合做异常检测。
对正常样本的多样性更为包容:本发明通过对变分自编码器提取到的各种正常数据的特征做距离上的约束,使得视觉上并不相似的各种正常样本大部分相互靠近,会减少出现因为不相似造成较大的重构误差从而被认定为异常的情况。
内存复杂性低,可用于大规模异常检测任务:本发明仅需要网络参数就可以建立一个异常检测模型,不需要储存支持向量或者储存其他的数据就可以进行预测,即使训练样本数量很大时,内存复杂性仍然不高,对于大量的测试的样本都可进行快速的测试,适用于大规模检测任务。
附图说明
图1是本发明的实现流程框图。
具体实施方式
下面结合附图对本发明做详细描述
实施例1
异常检测在许多领域都有广泛的应用,已研究开发的异常检测技术中,涉及到***欺诈检测、网络入侵检测、医学诊断、图片去噪等检测场景。考虑到在当今的信息时代图像在传递信息中扮演着重要的角色,对图像进行异常检测,随后分析或者删除检测到的异常图像具有重大的意义。本发明致力于解决关于图像的异常检测问题。
***的图像数量对异常检测提出了新的要求,这使得传统的异常检测方法难以应对,深度异常检测方法占据了主流地位。以自编码器以及变分自编码器为代表的的异常检测方法存在一定的不足,限制了其在异常检测任务中实现更好的检测效果。实现一种将传统方法与深度方法的优势结合的,可以通过定制的异常检测目标进行检测的并对正常样本多样性更为包容,可应对大规模检测任务的深度方法,具有重要的研究价值和应用意义。出于以上目的,本发明通过研究与实验提出了一种保留深度模型处理大规模异常检测任务的能力,同时结合传统异常检测方法的目标函数的基于变分自编码器的图像异常检测方法。
本发明是一种基于变分自编码器的图像异常检测方法,参见图1,包括有如下步骤:
(1)图像数据采集:根据异常检测的任务采集待检测的图像数据,并对正常类图像数据和异常类图像数据进行区分,区分标准依照异常检测的任务而定,将正常类图像数据给定标签0,将异常类图像数据给定标签1。
(2)数据集划分与数据预处理:将图像数据根据异常检测任务的需求划分为训练集和测试集。训练集的数据总数与测试集的训练总数的比例训练集中只包含正常类图像,测试集中包含正常类图像和异常类图像。将划分好的训练集图像数据和测试集图像数据都处理成统一的格式,以保证后续的步骤得以顺利进行。
(3)构造以变分自编码器为基础的异常检测模型:构建的变分自编码器包括编码器和解码器两部分,在代价函数的约束下,利用编码器提取训练集中所有样本的特征,通过解码器将提取到的特征重构成与原始样本相似的新样本。支持向量数据描述是首先通过非线性变换函数将数据从原始空间映射到特征空间,然后在特征空间中寻找一个体积最小的超球体,用该超球体对正常类数据进行描述。以变分自编码器为基础的异常检测模型融合支持向量数据描述方法,具体融合方式是采用支持向量数据描述方法对变分自编码器的编码器提取到的特征φ(xi;W)进行距离上的约束使其进而能聚集成超球体。为此首先需要搭建网络实现变分自编码器的编码器和解码器部分。首先搭建输入层,在输入层之后搭建K层网络,即K个隐层,最后一个隐层后加入两个Dense层,输出单元个数根据具体数据集而定,这两个隐层分别计算特征的均值和标准差。通过重采样将两个Dense层的输出合并,做重采样操作的网络层为特征层,此处的输出即为特征层的输出。输入层到特征层的这部分网络称为编码器。特征从特征层输入到后续的网络中,后续的网络包含M个隐层,特征通过M个隐层经过计算后输入到输出层中,输出层将输出原始样本x的重构样本从特征层到输出层的网络称为解码器。到此步为止,变分自编码器已经搭建完毕。再构建可以联合优化变分自编码器和支持向量数据描述的异常检测模型的代价函数L,驱动异常检测模型的训练,以使得异常检测模型在保证能够对正常类数据进行良好重构的基础上,同时能够将正常类数据的特征聚集在特定区域,对正常类数据有更好的描述能力。上述代价函数具体的构建包括两个部分:训练集中的每一个正常样本的特征到训练集中所有正常样本的特征的均值的距离;训练集中的每一个正常样本与重构样本之间的重构误差。为此需要按照步骤(3a)~(3d)计算其中的重要参数,最后根据重要参数按照步骤(3e)构造代价函数。
(3a)计算训练集中的每一个正常图像样本对应的特征:计算训练集中的每一个正常图像样本对应的特征φ(xi;W),i∈[1,n],n为训练集中正常图像样本的个数,φ(·;W)是变分自编码器的编码器部分的网络参数。
(3b)计算训练集中的每一个正常图像样本对应的重构样本:将(3a)中得到的每一个正常图像样本对应的特征φ(xi;W),输入到变分自编码器的解码器中计算训练集中的每一个正常图像样本对应的重构样本i∈[1,n],n为训练集中正常图像样本的个数,是训练集中第i个正常图像样本对应的重构样本。
(3c)计算训练集中所有的正常图像样本的特征的均值:由(3a)中得到的每一个正常图像样本对应的特征φ(xi;W)计算训练集中所有的正常图像样本x1~xn的特征均值c。
(3d)计算训练集中所有的正常图像样本的特征到所有的特征的均值的距离:由(3a)中得到的每一个正常图像样本对应的特征φ(xi;W)计算训练集中的每一个正常图像样本对应的特征φ(xi;W)到所有的特征的均值c的距离di,其中,di是第i个正常图像样本xi的特征φ(xi;W)到均值c的距离,i∈[1,n]。
(3e)利用步骤(3a)~(3d)计算得到的结果,包括每一个正常图像样本对应的特征φ(xi;W)及其对应的重构样本训练集中所有的正常图像样本的特征的均值以及训练集中每一个正常图像样本对应的特征φ(xi;W)到所有的特征的均值c的距离,构建联合优化变分自编码器和支持向量数据描述的异常检测模型的代价函数L。通过搭建变分自编码器的编码器网络和解码器网络以及构造代价函数L共同完成基于变分自编码器的异常检测模型的构造,简称异常检测模型。
(4)训练异常检测模型:将训练集输入到基于变分自编码器的异常检测模型中进行训练,按照设定的停止迭代条件停止迭代。用训练集对基于变分自编码器的异常检测模型进行训练,训练好的异常检测模型的输入是图像样本,输出是其对应的重构样本。训练好的异常检测模型包括编码器和解码器部分,后续步骤中使用训练好的异常检测模型中的编码器作为特征提取器来提取特征,根据特征判断样本是否为异常样本。可以将正常图像数据的特征紧密聚合成超球体,该超球体将拒绝异常图像数据的特征。
(5)根据训练好的模型计算区分正常图像数据与异常图像数据的阈值:得到训练好的异常检测模型后,利用编码器网络计算训练集中每一个正常图像样本的特征以及训练集所有图像样本的特征的均值c*;计算训练集中每一个图像样本的特征到上述均值的距离s(xi),将此距离定义为每一个图像样本的异常分数;将所有图像样本的异常分数s(xi)按照从小到大的顺序进行排序,取其第90百分位数作为区分正常图像数据与异常图像数据的阈值threshold。
(6)使用训练好的异常检测模型判断待测的测试集图像是否为异常图像:使用训练好的异常检测模型提取待测的测试集图像的特征φ(xj;W),j∈[1,m],其中m是测试集中图像样本的总个数。计算φ(xj;W)到步骤(5)中计算得到的均值c*的距离s(xj),若该距离s(xj)大于步骤(5)中得到的阈值threshold,则认定为异常图像,否则为正常图像,最终得到异常检测的结果。
本发明通过以上步骤实现了一种致力于解决图像异常检测的新方法。本发明提出的这种方法在变分自编码器的基础上融合支持向量数据描述对提取特征做约束,直接针对异常检测任务提取特征,实现对正常类数据进行更准确的描述,对正常样本的多样性更具有包容性的异常检测模型。相较于传统异常检测方法,保存的参数更少,内存复杂度低。实际测试时所需的时间更少,能够应对大规模异常检测任务。
实施例2
基于变分自编码器的图像异常检测方法同实施例1,步骤(3a)中的计算训练集中的每一个正常图像样本对应的特征需要计算每一个正常图像样本对应的特征的均值和标准差,最后从标准正态分布中采样,计算得到特征。具体步骤如下:
3a1)计算训练集中的每一个正常图像样本对应的特征的均值
按照下式,计算训练集中的每一个正常图像样本xi对应的特征的均值μi:
μi=Relu(yi,K)W1,K+1+b1,K+1
其中,μi表示训练集中第i个正常图像样本对应的特征的均值,Relu表示线性整流函数Rectified Linear Unit,在此作为激活函数,yi,K表示第i个正常图像样本在变分自编码器的编码器部分第K个隐层的激活函数的输出,K表示特征层之前的隐层的个数,W1,K+1表示变分自编码器的编码器部分的第K个隐层映射到特征层的均值的权系数矩阵,b1,K+1表示变分自编码器的编码器部分的第K个隐层映射到特征层的均值的偏置向量,yi,k-1表示第i个正常图像样本在变分自编码器的编码器部分的第k-1个隐层的激活函数的输出,W1,k表示变分自编码器的编码器部分的第k-1个隐层映射到第k个隐层的权系数矩阵,b1,k表示变分自编码器的编码器部分的第k-1个隐层映射到第k个隐层的偏置向量,xi表示训练集中的第i个正常图像样本,W1,1表示变分自编码器的输入层映射到第一个隐层的权系数矩阵,b1,1表示变分自编码器的输入层映射到第一个隐层的偏置向量。
3a2)计算训练集中的每一个正常图像样本对应的特征的标准差
按照下式,计算训练集中的每一个正常图像样本xi对应的特征的标准差σi:
σi=Relu(yi,K)W1,K+2+b1,K+2
其中,σi表示训练集中第i个正常图像样本对应的特征的标准差,W1,K+2表示变分自编码器的编码器部分的第k个隐层映射到特征层的标准差的权系数矩阵,b1,K+2表示变分自编码器的编码器部分的第k个隐层映射到特征层的标准差的偏置向量。
3a3)计算训练集中的每一个正常图像样本对应的特征
按照下式,计算训练集中的每一个正常图像样本对应的特征:
φ(xi;W)=μi+I·σi
其中,φ(xi;W)表示训练集中的第i个正常图像样本对应的特征,I表示服从标准正态分布的一个采样值。
通过以上步骤可以计算得到每一个正常图像样本的特征,为后续利用特征计算重构样本和构造代价函数奠定基础。
实施例3
基于变分自编码器的图像异常检测方法同实施例1-2,步骤(3b)中的计算训练集中的每一个正常图像样本对应的重构样本的具体公式如下:
其中,表示训练集中的第i个正常图像样本对应的重构样本,Sigmoid表示激活函数,yi,M表示第i个正常图像样本在变分自编码器的解码器部分的第M个隐层的激活函数的输出,M表示特征层之后输出层之前的隐层的个数,W2,M+1表示变分自编码器的解码器部分的第M个隐层映射到输出层的权系数矩阵,b2,M+1表示变分自编码器的解码器部分的第M个隐层映射到输出层的偏置向量,yi,M-1表示第i个正常图像样本在变分自编码器的解码器部分的第m-1个隐层的激活函数的输出,W2,m表示变分自编码器的解码器部分的第m-1个隐层映射到第m个隐层的权系数矩阵,b2,m表示变分自编码器的解码器部分的第m-1个隐层映射到第m个隐层的偏置向量,φ(xi;W)表示训练集中的第i个正常图像样本对应的特征,W2,1表示变分自编码器的特征层映射到编码器部分的第一个隐层的权系数矩阵,b2,1表示变分自编码器的特征层映射到编码器部分的第一个隐层的偏置向量。
通过以上步骤可以计算得到每一个正常图像样本经过网络后得到的重构样本,为后续计算重构误差和构造代价函数奠定了基础。
实施例4
基于变分自编码器的图像异常检测方法同实施例1-3,步骤(3c)中的计算训练集中的所有的正常图像样本的特征的均值的具体步骤如下:
按照下式,计算所有的正常图像样本的特征的均值c:
其中,c是所有的正常图像样本的特征的均值,n是训练集中样本的个数,∑·表示求和操作。
通过以上步骤可以计算得到所有正常图像样本的特征的均值,在此基础上使得所有正常图像样本的特征逼近此均值,以实现对服从不同分布的正常类样本的特征的约束,实现对正常类样本的多样性的包容。
实施例5
基于变分自编码器的图像异常检测方法同实施例1-4,步骤(3d)中的计算训练集中的每一个正常图像样本对应的特征到所有的特征的均值的距离的具体公式如下:
di=||φ(xi;W)-c||2
其中,di是第i个正常图像样本的对应的特征到所有的特征的均值c的距离,||·||表示取模值操作。
得到按照实施例4计算得到的均值后,计算每一个正常样本对应的特征到所有的特征的均值的距离,将所有正常样本的特征到均值的距离进行加和,这一项将在构造代价函数中起到重要的作用。最小化代价函数,将使得所有的正常类特征尽可能紧凑的分布在均值附近。
本发明通过对变分自编码器提取到的各种正常数据的特征做距离上的约束,使得视觉上并不相似的各种正常样本大部分相互靠近,会减少出现因为不相似造成较大的重构误差从而被认定为异常的情况。包括实施例6中代价函数的构造、实施例7中对模型的训练均是在这一基础上进行的。
实施例6
基于变分自编码器的图像异常检测方法同实施例1-5,步骤(3e)中的构建联合优化变分自编码器和支持向量数据描述的代价函数的具体公式如下:
其中,L表示异常检测模型的代价函数,n是训练集中所有正常图像样本的个数,α表示支持向量数据描述的损失与变分自编码器的损失之间的相对大小,log表示以自然对数为底的取对数操作,λ为正则化参数,M表示网络的层数,Wl表示网络中第l层的权系数矩阵,||·||F表示取F-范数操作。
本发明通过最小化第一项即所有训练集中所有的特征到所有特征的均值之间的距离和,将所有的特征聚集在以均值为中心的超球体内,对正常样本的多样性更为包容;通过最小化第二项,可以保证网络能够将良好的对训练集样本重构。超参数α可以控制二者的相对大小,使得异常检测模型在包容正常样本多样性的同时通过控制重构误差的大小保证对正常样本的描述能力。第三项是网络的正则化项,对网络的参数更新具有重要作用。
构造如上的代价函数,并以这一代价函数驱使模型进行训练,使得异常检测模型在训练的过程中,将正常类图像的特征聚集在以均值为球心的超球体内,实现对正常类图像的更好的描述。从而实现在测试阶段,由于异常数据不符合这一描述而被超球体拒绝,达到异常检测的目的。
实施例7
基于变分自编码器的图像异常检测方法同实施例1-6,步骤(4)中的用训练集对融合变分自编码器和支持向量数据描述的异常检测模型进行训练的具体步骤如下:
4.1)对异常检测模型中的变分自编码器的参数赋初始值,这一赋值主要包括对各层网络的初始权重、初始偏置进行赋值,采用Keras中默认的glorot-uniform进行初始化赋值。
4.2)将进行过预处理的训练集图像样本输入到构建的异常检测模型中进行训练,获得更新后的异常检测模型参数。在代价函数的驱使下,模型会朝着最小化代价函数的方向更新参数,使得重构误差和所有特征到其均值的距离二者的大小达到一个均衡。
4.3)判断是否达到设置的停止迭代条件,若已经达到条件,执行第四步,否则继续进行训练。通常可以将该迭代条件设置为进行了多少轮训练,或者当识别率不再提高时,也可以作为一种停止迭代的条件。
4.4)获得训练好的基于变分自编码器的图像异常检测模型,以供后续进行测试。此时仅需要保存训练好的模型的全部参数,就可以实现快速测试,对大规模的测试任务来说,仅需要很短的时间。
实施例8
基于变分自编码器的图像异常检测方法同实施例1-7,步骤(5)中所述的根据训练好的模型计算区分正常图像数据与异常图像数据的阈值的具体步骤如下:
5.1)按照下式,计算每一个训练集中的正常图像样本通过训练好的异常检测模型得到的异常分数:
s(xi)=||φ(xi;W)-c*||2
5.2)将所有训练样本的异常分数构成异常分数集合,按照从小到大的顺序进行排序,取其第90百分位数作为区分正常数据与异常数据的阈值threshold。
以测试样本的特征到训练时得到的所有特征的均值之间的距离作为异常分数,用距离来量化异常样本的异常程度。
本发明提出的图片异常检测模型只对正常类样本进行训练,只学习正常的类别的分布,保存到的训练好的模型可以很好地描述正常类数据的描述,后续的测试中,假如该模型将某一测试样本投射在远离超球体的位置上,模型就认定其为异常样本。
本发明主要解决了现有技术中异常检测与特征提取两个阶段分离,异常检测性能受限以及传统异常检测方法无法应对高维、大规模异常检测任务的问题。本发明提取的特征更适合做异常检测、异常检测性能更良好,内存复杂性低,应用于高维、大规模异常检测任务。
下面给出一个更加详尽和具体的例子,对本发明进一步说明
实施例9
基于变分自编码器的图像异常检测方法同实施例1-8,参照图1,本发明的实现步骤如下:
步骤1.收集待检测的图像数据集,将其分为训练集和测试集,并同时对训练集和测试集进行预处理。
本例中收集到两个常用的图片数据集,包括MNIST数据集和CIFAR-10数据集。MNIST数据集包含70000张手写数字图片,分别是0~9,每一张图片大小均为28*28像素,均为灰度图。其中60000张图片作为初步的训练集,10000张图片作为测试集。CIFAR-10数据集包含60000张彩色图片,分别是10类物体,每一张图片大小均为32*32像素,其中50000张彩色图片作为初步的训练集,10000张彩色图片作为测试集。
训练集中只包含正常类样本,不包含异常类样本,测试集中包含正常类和异常类样本。在此条件下,设定初步训练集中的某一类别为正常类,其余类别均为异常类,最终的训练集中只有这一类正常样本。如在MNIST数据集中,0类作为正常类,训练集中仅包含0类,1-9则为异常类,不出现在训练集中,训练集中含有大约5000个样本。在CIFAR-10数据集中,飞机作为正常类,训练集中仅包含飞机,其余九类为异常类,不出现在训练集中,训练集中含有大约5000个样本。
预处理指对输入训练数据和输入测试数据提前进行规范化处理,将原始的图片数据集重置成相同的大小,将数据值规范到[-1,1]区间范围,以便于网络层的参数传递和更新。
步骤2.构造异常检测模型,按照如下步骤进行:
首先搭建变分自编码器,编码器网络采用两个卷积单元,每个卷积单元包括一个卷积层,一个RELU激活单元和2*2的max-pooling层。卷积核的大小为5*5,滤波器的个数分别为8和4。编码器后接两个大小为32的Dense层,再搭建解码器部分。解码器中包含两个卷积单元,其他部分与编码器部分对应相同,将max-pooling层换成upsampling层。搭建变分自编码器的网络框架后,需要构造代价函数,以之驱动训练。按照如下步骤(2a)~(2d)计算代价函数:
(2a)计算训练集中的每一个样本对应的特征:
第一步,按照下式,计算训练集中的每一个样本对应的特征的均值:
其中,μi表示训练集中第i个样本对应的特征的均值,Relu表示线性整流函数Rectified Linear Unit,在此作为激活函数,yi,K表示第i个样本在变分自编码器的编码器部分第K个隐层的激活函数的输出,K表示特征层之前的隐层的个数,W1,K+1表示变分自编码器的编码器部分的第K个隐层映射到特征层的均值的权系数矩阵,b1,K+1表示变分自编码器的编码器部分的第K个隐层映射到特征层的均值的偏置向量,yi,k-1表示第i个样本在变分自编码器的编码器部分的第k-1个隐层的激活函数的输出,W1,k表示变分自编码器的编码器部分的第k-1个隐层映射到第k个隐层的权系数矩阵,b1,k表示变分自编码器的编码器部分的第k-1个隐层映射到第k个隐层的偏置向量,xi表示训练集中的第i个样本,W1,1表示变分自编码器的输入层映射到第一个隐层的权系数矩阵,b1,1表示变分自编码器的输入层映射到第一个隐层的偏置向量。
第二步,按照下式,计算训练集中的每一个样本对应的特征的标准差:
σi=Relu(yi,K)W1,K+2+b1,K+2
其中,σi表示训练集中第i个样本对应的特征的标准差,W1,K+2表示变分自编码器的编码器部分的第k个隐层映射到特征层的标准差的权系数矩阵,b1,K+2表示变分自编码器的编码器部分的第k个隐层映射到特征层的标准差的偏置向量。
第三步,按照下式,计算训练集中的每一个样本对应的特征:
φ(xi;W)=μi+I×σi
其中,φ(xi;W)表示训练集中的第i个样本对应的特征,I表示服从标准正态分布的一个采样值。
(2b)计算训练集中的每一个样本对应的重构样本:
按照下式,计算训练集中的每一个样本对应的重构样本:
其中,表示训练集中的第i个样本对应的重构样本,Sigmoid表示激活函数,yi,M表示第i个样本在变分自编码器的解码器部分的第M个隐层的激活函数的输出,M表示特征层之后输出层之前的隐层的个数,W2,M+1表示变分自编码器的解码器部分的第M个隐层映射到输出层的权系数矩阵,b2,M+1表示变分自编码器的解码器部分的第M个隐层映射到输出层的偏置向量,yi,M-1表示第i个样本在变分自编码器的解码器部分的第m-1个隐层的激活函数的输出,W2,m表示变分自编码器的解码器部分的第m-1个隐层映射到第m个隐层的权系数矩阵,b2,m表示变分自编码器的解码器部分的第m-1个隐层映射到第m个隐层的偏置向量,φ(xi;W)表示训练集中的第i个样本对应的特征,W2,1表示变分自编码器的特征层映射到编码器部分的第一个隐层的权系数矩阵,b2,1表示变分自编码器的特征层映射到编码器部分的第一个隐层的偏置向量。
(2c)计算训练集中的每一个样本对应的特征到所有的特征的均值的距离的具体步骤如下:
第一步,按照下式,计算所有的特征的均值:
其中,c是所有特征的均值,n是训练集中样本的个数,Σ·表示求和操作。
第二步,按照下式,计算每一个样本对应的特征到所有的特征的均值的距离:
di=||φ(xi;W)-c||2
其中,di是第i个样本的对应的特征到所有的特征的均值的距离,||·||表示取模值操作。
(2d)按照下式,构建联合优化变分自编码器和支持向量数据描述的异常检测模型的代价函数:
其中,L表示异常检测模型的代价函数,α表示支持向量数据描述的损失与变分自编码器的损失之间的相对大小,log表示以自然对数为底的取对数操作,λ为正则化参数,M表示网络的层数,Wl表示网络中第l层的权系数矩阵,||·||F表示取F-范数操作。
在训练中为了进行损失函数的最小化优化,模型将在最小化特征到均值的距离以及变分自编码器的损失之间寻求均衡。经过训练后,模型既能很好地重构输入样本,同时可以将正常类样本的特征映射在特征均值周围,形成紧凑的超球体,保证了对正常类数据的描述能力。
步骤3.用只含有正常图像样本的训练集对基于变分自编码器的异常检测模型进行训练,按如下步骤进行:
第一步,对异常检测模型中的变分自编码器的参数赋初始值,采用默认的glorot-uniform进行初始化赋值。
第二步,将进行过预处理的训练集样本,如处理后的MNIST数据集或者CIFAR-10数据集,输入到构建的异常检测模型中进行训练,获得更新后的异常检测网络参数;
第三步,判断是否达到设置的停止迭代条件,设置的迭代条件是迭代150次,若已经达到条件,执行第四步,否则继续进行训练;
第四步,获得训练好的融合变分自编码器和支持向量数据描述的异常检测模型,保存其各项参数,包括卷积层中的权重和偏置。
步骤4.根据训练好的模型计算区分正常数据与异常数据的阈值
所述的根据训练好的模型计算区分正常数据与异常数据的阈值的具体步骤如下:
第一步,按照下式计算每一个训练集样本通过训练好的异常检测模型得到的异常分数:
s(xi)=||φ(xi;W)-c*||2
第二步,将所有训练样本的异常分数构成异常分数集合,取其第90百分位数作为区分正常数据与异常数据的阈值。
通过以上的训练,虽然正常类数据中可能包含不同的分布,模型也可以实现对正常类数据的良好描述。但是有些正常类数据严重偏离所属的分布,此时为了不影响测试阶段的效果,并不把这种偏离正常分布的数据认定为正常类,所以异常分数的阈值选择就显得尤为重要。可以将其第90百分位数或者更高的百分位数作为阈值,尽量避免以训练集中最偏离均值的特征到均值的距离作为阈值。
步骤5.使用训练好的异常检测模型判断待测图像样本是否为异常样本
第一步,按照下式计算每一个测试集样本通过训练好的异常检测模型得到的异常分数:
s(x)=||φ(xi;W*)-c||2
其中,φ(xi;W*)是模型达到收敛时测试集中第i个样本对应的隐层特征,c是模型达到收敛时训练集中所有样本对应的隐层特征的均值。
第二步,比较测试集样本通过训练好的异常检测模型得到的异常分数与阈值的大小,若异常分数大于阈值,则判为异常样本,反之则为正常样本,最终得到异常检测的结果。
得到训练好的模型后,利用其对测试集中的图像样本提取特征,计算其到训练好的模型中的所有特征的均值的距离。以此来量化这一样本的异常程度,当异常程度低于设定的阈值的时候,就认为其为正常样本,反之为异常样本。
本发明的技术方案简述如下:
(1)根据异常检测任务将数据集划分为训练集与测试集,并同时对训练集和测试集进行预处理;
(2)搭建变分自编码器,构造异常检测模型:
(2a)计算训练集中的每一个样本对应的特征;
(2b)计算训练集中的每一个样本对应的特征;
(2c)计算训练集中的每一个样本对应的特征到所有的特征的均值的距离;
(2d)构建联合优化变分自编码器和支持向量数据描述的异常检测模型的代价函数;
(3)用训练集对融合变分自编码器和支持向量数据描述的异常检测模型进行训练;
(4)根据训练好的模型计算区分正常数据与异常数据的阈值;
(5)使用训练好的异常检测模型判断待测样本是否为异常样本。
本发明主要解决现有技术中异常检测与特征提取两个阶段分离,异常检测性能受限以及传统异常检测方法无法应对高维、大规模异常检测任务的问题。本发明的具体步骤如下:图像数据采集;数据集划分与数据预处理;构造以变分自编码器为基础的异常检测模型;训练异常检测模型;根据训练好的模型计算区分正常图像数据与异常图像数据的阈值;使用训练好的异常检测模型判断待测的测试集图像是否为异常图像。本发明具有提取的特征更适合做异常检测、异常检测性能更良好,内存复杂性低,可应用于高维、大规模异常检测任务中的优点。
本发明的效果可通过以下仿真进一步说明:
实施例10
基于变分自编码器的图像异常检测方法同实施例1-9
仿真条件
本发明的仿真实验是在主频3.6GHz的Inter(R)Core(TM)i9-9900K CPU、内存64GB的硬件环境和基于Python3.6的软件环境下进行的。
仿真内容
本例中的仿真实验的数据是MNIST数据集和CIFAR-10数据集。手写体数据集包括“0”~“9”十类数据。
本例中的仿真实验是在MNIST数据集上建立十个异常检测实验,表1是MNIST数据集实验的具体设置。
表1.MNIST数据集实验的具体设置
MNIST数据集实验 | 正常 | 异常 |
实验1 | “0” | “1”~“9” |
实验2 | “1” | “0”、“2”~“9” |
实验3 | “2” | “0”、“1”、“3”~“9” |
实验4 | “3” | “0”~“2”、“4”~“9” |
实验5 | “4” | “0”~“3”、“5”~“9” |
实验6 | “5” | “0”~“4”、“6”~“9” |
实验7 | “6” | “0”~“5”、“7”~“9” |
实验8 | “7” | “0”~“6”、“8”~“9” |
实验9 | “8” | “0”~“7”、“9” |
实验10 | “9” | “0”~“8” |
表2是采用本发明方法和现有技术(支持向量机、核密度估计、孤立森立、卷积自编码器、深度支持向量数据描述)分别对MNIST数据集的测试集进行异常检测,将预测的结果与真实结果对比后得到的AUC的统计表。AUC(Area Under Curve)被定义为ROC曲线下的面积。其中,ROC曲线全称为受试者工作特征曲线(receiver operating characteristiccurve),它是根据一系列不同的二分类方式(分界值或决定阈),以真阳性率(敏感性)为纵坐标,假阳性率(1-特异性)为横坐标绘制的曲线。往往使用AUC值作为模型的评价标准是因为很多时候ROC曲线并不能清晰的说明哪个分类器的效果更好,而作为一个数值,对应AUC更大的分类器效果更好。
表2.手写体数据集仿真实验AUC统计表
仿真效果分析
从表2中可以看出,除实验2外,本发明比其他现有方法均有所提升,特别是在实验6中,针对数字“8”的异常检测,本发明的性能提升了不少于4.2。最终的平均结果,比深度支持向量数据描述提升了1.12。上述结果说明使用本发明在简单的图片数据集上获得比其他现有技术方法更高的AUC值,从数字上准确定量地证明了本发明实现异常检测性能的提升。
实施例11
基于变分自编码器的图像异常检测方法同实施例1-9,仿真条件同实施例1-10
仿真内容
本例中的仿真实验的数据是CIFAR-10数据集。CIFAR-10数据集包括飞机、移动电话、鸟、猫、鹿、狗、青蛙、马、船、坦克十类数据。
相比与实施例10中的MNIST数据集,本例中的仿真实验建立在更为复杂的彩色图片数据集中,每一类数据都形态多样,异常检测难度较MNIST数据集而言更大。
本例中的仿真实验是在CIFAR-10数据集上建立十个异常检测实验,表3是CIFAR-10数据集实验的具体设置。
表3.CIFAR-10数据集实验的具体设置
CIFAR-10数据集实验 | 正常 | 异常 |
实验1 | 飞机 | 其余九类 |
实验2 | 移动电话 | 其余九类 |
实验3 | 鸟 | 其余九类 |
实验4 | 猫 | 其余九类 |
实验5 | 鹿 | 其余九类 |
实验6 | 狗 | 其余九类 |
实验7 | 青蛙 | 其余九类 |
实验8 | 马 | 其余九类 |
实验9 | 船 | 其余九类 |
实验10 | 坦克 | 其余九类 |
表4是采用本发明方法和现有技术(支持向量机、核密度估计、孤立森立、卷积自编码器、深度支持向量数据描述)分别对CIFAR-10数据集的测试集进行异常检测,将预测的结果与真实结果对比后得到的AUC的统计表。AUC的解释同实施例10。
表4.CIFAR-10数据集仿真实验AUC统计表
仿真效果分析
从表4中可以看出,本发明在实验1、实验3、实验4均比其他现有方法有很大提升,如在实验1中比起现有方法中的最好方法深度支持向量数据描述提升了2.7,在实验2中提升了6.7,在实验4中提升了0.8。最终的平均结果本发明以65.5超过其他现有方法至少0.7。上述结果说明使用本发明在复杂的图片数据集上获得比其他现有技术方法更高的AUC值,从数字上准确定量地证明了本发明实现异常检测性能的提升。
简而言之,本发明公开的基于变分自编码器的图像异常检测方法,具体是融合变分自编码器和支持向量数据描述的异常检测方法,解决了现有技术中异常检测与特征提取两个阶段分离,异常检测性能受限以及传统异常检测无法应对高维、大规模异常检测任务的问题。实现步骤包括:图像数据采集;数据集划分与数据预处理;构造以变分自编码器为基础的异常检测模型;训练异常检测模型;根据训练好的模型计算区分正常与异常图像数据的阈值;使用训练好的模型判断待测图像是否为异常图像。本发明采用支持向量数据描述对变分自编码器提取到的特征做距离上的约束,提取的特征更适合做异常检测,内存复杂性低,可应用于高维、大规模异常检测任务。
Claims (6)
1.一种基于变分自编码器的图像异常检测方法,其特征在于,包括有如下步骤:
(1)图像数据采集:根据异常检测的任务采集待检测的图像数据,并对正常类图像数据和异常类图像数据进行区分,区分标准依照异常检测的任务而定,将正常类图像数据给定标签0,将异常类图像数据给定标签1;
(2)数据集划分与数据预处理:将图像数据根据异常检测任务的需求划分为训练集和测试集,训练集中只包含正常类图像,测试集中包含正常类图像和异常类图像;将划分好的训练集图像数据和测试集图像数据都处理成统一的格式;
(3)构造以变分自编码器为基础的异常检测模型:变分自编码器包括编码器和解码器两部分网络,在代价函数的约束下,利用编码器提取训练集中所有样本的特征,通过解码器将提取到的特征尽量重构成与原始样本相似的新样本;以变分自编码器为基础的异常检测模型融合支持向量数据描述,采用支持向量数据描述对变分自编码器的编码器提取到的特征φ(xi;W)进行距离上的约束进而聚集在特定的区域;为此首先需要搭建网络实现变分自编码器的编码器和解码器部分,再构建可以联合优化变分自编码器和支持向量数据描述的异常检测模型的代价函数L,以实现异常检测模型的构造,代价函数具体的构建如下:
(3a)计算训练集中每一个正常图像样本对应的特征φ(xi;W),其中,φ(xi;W)是训练集中第i个正常图像样本对应的特征,i∈[1,n],n为训练集中正常图像样本的总个数;
(3b)由(3a)中得到的每一个正常图像样本对应的特征φ(xi;W)计算训练集中的每一个正常图像样本对应的重构样本其中,是第i个正常图像样本对应的重构样本,i∈[1,n],n为训练集中正常图像样本的总个数;
(3c)计算训练集中所有的正常图像样本x1~xn的特征的均值c;
(3d)计算训练集中的每一个正常图像样本对应的特征φ(xi;W)到所有的特征的均值c的距离di,其中,di是训练集中第i个正常图像样本xi的特征φ(xi;W)到所有特征的均值c的距离,i∈[1,n],n为训练集中正常图像样本的总个数;计算训练集中的每一个正常图像样本对应的特征到所有的特征的均值的距离的具体公式如下:
di=||φ(xi;W)-c||2
其中,di是第i个正常图像样本的对应的特征到所有的特征的均值的距离,||·||表示取模值操作;
(3e)利用每一个正常图像样本对应的特征φ(xi;W)及其对应的重构样本训练集中所有的正常图像样本的特征的均值以及训练集中每一个正常图像样本对应的特征φ(xi;W)到所有的特征的均值c的距离,构建联合优化变分自编码器和支持向量数据描述的异常检测模型的代价函数L;变分自编码器的编码器网络和解码器网络以及代价函数L共同完成基于变分自编码器的异常检测模型的构造;构建联合优化变分自编码器和支持向量数据描述的代价函数的具体公式如下:
其中,L表示异常检测模型的代价函数,α表示支持向量数据描述的损失与变分自编码器的损失之间的相对大小,log表示以自然对数为底的取对数操作,λ为正则化参数,M′表示网络的层数,Wl表示网络中第l层的权系数矩阵,||·||F表示取F-范数操作;
(4)训练异常检测模型:用训练集对基于变分自编码器的异常检测模型进行训练,训练好的异常检测模型的输入是图像样本,输出是其对应的重构样本;训练好的异常检测模型包括编码器和解码器部分,后续步骤中使用训练好的异常检测模型中的编码器作为特征提取器来提取特征,根据特征判断样本是否为异常样本;
(5)根据训练好的模型计算区分正常图像数据与异常图像数据的阈值:得到训练好的异常检测模型后,利用编码器网络计算训练集中每一个正常图像样本的特征以及训练集所有图像样本的特征的均值c*;计算训练集中每一个图像样本的特征到上述均值的距离s(xi),将此距离定义为每一个图像样本的异常分数;将所有图像样本的异常分数s(xi)按照从小到大的顺序进行排序,取其第90百分位数作为区分正常图像数据与异常图像数据的阈值threshold;
(6)使用训练好的异常检测模型判断待测的测试集图像是否为异常图像:使用训练好的异常检测模型提取待测的测试集图像的特征φ(xj;W),j∈[1,m′],其中m′是测试集中图像样本的总个数;计算φ(xj;W)到步骤(5)中计算得到的均值c*的距离s(xj),若该距离s(xj)大于步骤(5)中得到的阈值threshold,则认定为异常图像,否则为正常图像,最终得到异常检测的结果。
2.根据权利要求1所述的一种基于变分自编码器的图像异常检测方法,其特征在于,步骤(3a)中所述的计算训练集中每一个正常图像样本xi对应的特征φ(xi;W)的具体步骤如下:
3a1)按照下式,计算训练集中的每一个正常图像样本对应的特征φ(xi;W)的均值μi:
μi=Relu(yi,K)W1,K+1+b1,K+1
其中,μi表示训练集中第i个正常图像样本对应的特征的均值,Relu表示线性整流函数Rectified Linear Unit,在此作为激活函数,yi,K表示第i个正常图像样本在变分自编码器的编码器部分第K个隐层的激活函数的输出,K表示特征层之前的隐层的个数,W1,K+1表示变分自编码器的编码器部分的第K个隐层映射到特征层的均值的权系数矩阵,b1,K+1表示变分自编码器的编码器部分的第K个隐层映射到特征层的均值的偏置向量,yi,k-1表示第i个正常图像样本在变分自编码器的编码器部分的第k-1个隐层的激活函数的输出,W1,k表示变分自编码器的编码器部分的第k-1个隐层映射到第k个隐层的权系数矩阵,b1,k表示变分自编码器的编码器部分的第k-1个隐层映射到第k个隐层的偏置向量,xi表示训练集中的第i个正常图像样本,W1,1表示变分自编码器的输入层映射到第一个隐层的权系数矩阵,b1,1表示变分自编码器的输入层映射到第一个隐层的偏置向量;
3a2)按照下式,计算训练集中的每一个正常图像样本对应的特征φ(xi;W)的标准差σi:
σi=Relu(yi,K)W1,K+2+b1,K+2
其中,σi表示训练集中第i个正常图像样本对应的特征的标准差,W1,K+2表示变分自编码器的编码器部分的第k个隐层映射到特征层的标准差的权系数矩阵,b1,K+2表示变分自编码器的编码器部分的第k个隐层映射到特征层的标准差的偏置向量;
3a3)按照下式,计算训练集中的每一个正常图像样本对应的特征φ(xi;W):
φ(xi;W)=μi+I·σi
其中,φ(xi;W)表示训练集中的第i个正常图像样本对应的特征,I表示服从标准正态分布的一个采样值。
其中,表示训练集中的第i个正常图像样本对应的重构样本,Sigmoid表示激活函数,yi,M表示第i个正常图像样本在变分自编码器的解码器部分的第M个隐层的激活函数的输出,M表示特征层之后输出层之前的隐层的个数,W2,M+1表示变分自编码器的解码器部分的第M个隐层映射到输出层的权系数矩阵,b2,M+1表示变分自编码器的解码器部分的第M个隐层映射到输出层的偏置向量,yi,M-1表示第i个正常图像样本在变分自编码器的解码器部分的第M-1个隐层的激活函数的输出,W2,m表示变分自编码器的解码器部分的第m-1个隐层映射到第m个隐层的权系数矩阵,b2,m表示变分自编码器的解码器部分的第m-1个隐层映射到第m个隐层的偏置向量,φ(xi;W)表示训练集中的第i个正常图像样本对应的特征,W2,1表示变分自编码器的特征层映射到编码器部分的第一个隐层的权系数矩阵,b2,1表示变分自编码器的特征层映射到编码器部分的第一个隐层的偏置向量。
5.根据权利要求1所述的一种基于变分自编码器的图像异常检测方法,其特征在于,步骤(4)中所述的用训练集对融合变分自编码器和支持向量数据描述的异常检测模型进行训练的具体步骤如下:
4.1)对异常检测模型中的变分自编码器的参数赋初始值;
4.2)将进行过预处理的训练集样本输入到构建的异常检测模型中进行训练,获得更新后的异常检测模型参数;
4.3)判断是否达到设置的停止迭代条件,若已经达到条件,执行第四步,否则继续进行训练;
4.4)获得训练好的融合变分自编码器和支持向量数据描述的异常检测模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010423773.6A CN111598881B (zh) | 2020-05-19 | 2020-05-19 | 基于变分自编码器的图像异常检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010423773.6A CN111598881B (zh) | 2020-05-19 | 2020-05-19 | 基于变分自编码器的图像异常检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111598881A CN111598881A (zh) | 2020-08-28 |
CN111598881B true CN111598881B (zh) | 2022-07-12 |
Family
ID=72187301
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010423773.6A Active CN111598881B (zh) | 2020-05-19 | 2020-05-19 | 基于变分自编码器的图像异常检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111598881B (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112150447B (zh) * | 2020-09-27 | 2021-10-15 | 北京嘀嘀无限科技发展有限公司 | 基于位置服务的异常数据确定方法、装置和电子设备 |
CN112148577B (zh) * | 2020-10-09 | 2024-05-07 | 平安科技(深圳)有限公司 | 数据异常检测方法、装置、电子设备及存储介质 |
CN112200306B (zh) * | 2020-10-15 | 2022-09-27 | 北京航空航天大学 | 一种基于深度学习的电阻抗成像方法 |
CN112149757B (zh) * | 2020-10-23 | 2022-08-19 | 新华三大数据技术有限公司 | 一种异常检测方法、装置、电子设备及存储介质 |
CN112036513B (zh) * | 2020-11-04 | 2021-03-09 | 成都考拉悠然科技有限公司 | 基于内存增强潜在空间自回归的图像异常检测方法 |
CN112381790A (zh) * | 2020-11-13 | 2021-02-19 | 天津大学 | 一种基于深度自编码的异常图像检测方法 |
CN112465000A (zh) * | 2020-11-19 | 2021-03-09 | 国家高速列车青岛技术创新中心 | 基于卷积变分编码器和异常检测算法的钢轨隐伤定位方法 |
CN112364939A (zh) * | 2020-12-04 | 2021-02-12 | 中信银行股份有限公司 | 异常值检测方法、装置、设备及存储介质 |
CN112580699A (zh) * | 2020-12-04 | 2021-03-30 | 中国船舶重工集团公司第七一一研究所 | 一种传感器数据异常检测的方法及其应用 |
CN112488238B (zh) * | 2020-12-14 | 2022-11-15 | 桂林电子科技大学 | 一种基于对抗自编码器的混合异常检测方法 |
CN112541898A (zh) * | 2020-12-14 | 2021-03-23 | 北京医准智能科技有限公司 | 一种基于自编码器的乳腺x线影像异常检测方法 |
CN112631255B (zh) * | 2020-12-28 | 2022-10-28 | 北京工业大学 | 一种基于变分自编码器模型的污水处理过程故障监测方法 |
CN112767331B (zh) * | 2021-01-08 | 2022-10-04 | 北京航空航天大学 | 基于零样本学习的图像异常检测方法 |
CN113052219B (zh) * | 2021-03-16 | 2022-05-31 | 浙江大学 | 一种异常轨迹检测方法及装置、电子设备 |
CN113222926B (zh) * | 2021-05-06 | 2023-04-18 | 西安电子科技大学 | 基于深度支持向量数据描述模型的拉链异常检测方法 |
CN113222972B (zh) * | 2021-05-31 | 2024-03-19 | 辽宁工程技术大学 | 基于变分自编码器算法的图像异常检测方法 |
CN113409105B (zh) * | 2021-06-04 | 2023-09-26 | 山西大学 | 一种电商网络异常用户检测方法及*** |
CN113379729B (zh) * | 2021-07-02 | 2023-07-25 | 四川启睿克科技有限公司 | 一种图像微小异常检测方法、装置及计算机可读存储介质 |
CN113256629B (zh) * | 2021-07-05 | 2022-06-24 | 之江实验室 | 一种图像标定错误检测方法及装置 |
CN114332578A (zh) * | 2021-09-15 | 2022-04-12 | 广州腾讯科技有限公司 | 图像异常检测模型训练方法、图像异常检测方法和装置 |
CN113988268B (zh) * | 2021-11-03 | 2024-04-05 | 西安交通大学 | 基于无监督全属性图的异构多源时序异常检测方法 |
CN114143085B (zh) * | 2021-11-30 | 2023-08-01 | 中国人民解放军国防科技大学 | 一种基于自编码器的bgp团体属性异常检测方法及*** |
CN114359779B (zh) * | 2021-12-01 | 2023-04-07 | 国家能源集团宿迁发电有限公司 | 一种基于深度学习的皮带撕裂检测方法 |
CN114187292B (zh) * | 2022-02-14 | 2022-05-31 | 北京阿丘科技有限公司 | 棉纺纸筒的异常检测方法、装置、设备及存储介质 |
CN114944945A (zh) * | 2022-05-09 | 2022-08-26 | 江苏易安联网络技术有限公司 | 一种基于变分自编码器和属性的动态访问控制方法 |
CN117333730B (zh) * | 2023-12-01 | 2024-04-05 | 福建帝视科技集团有限公司 | 一种产品表面异常检测方法及终端 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107609579A (zh) * | 2017-08-25 | 2018-01-19 | 西安电子科技大学 | 基于稳健变分自编码器的雷达目标分类方法 |
CN108881196A (zh) * | 2018-06-07 | 2018-11-23 | 中国民航大学 | 基于深度生成模型的半监督入侵检测方法 |
WO2019018693A2 (en) * | 2017-07-19 | 2019-01-24 | Altius Institute For Biomedical Sciences | METHODS OF ANALYZING MICROSCOPIC IMAGES USING AUTOMATIC LEARNING |
CN109507648A (zh) * | 2018-12-19 | 2019-03-22 | 西安电子科技大学 | 基于VAE-ResNet网络的雷达辐射源识别方法 |
CN110109110A (zh) * | 2019-04-26 | 2019-08-09 | 西安电子科技大学 | 基于先验最优变分自编码机的hrrp目标识别方法 |
-
2020
- 2020-05-19 CN CN202010423773.6A patent/CN111598881B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019018693A2 (en) * | 2017-07-19 | 2019-01-24 | Altius Institute For Biomedical Sciences | METHODS OF ANALYZING MICROSCOPIC IMAGES USING AUTOMATIC LEARNING |
CN107609579A (zh) * | 2017-08-25 | 2018-01-19 | 西安电子科技大学 | 基于稳健变分自编码器的雷达目标分类方法 |
CN108881196A (zh) * | 2018-06-07 | 2018-11-23 | 中国民航大学 | 基于深度生成模型的半监督入侵检测方法 |
CN109507648A (zh) * | 2018-12-19 | 2019-03-22 | 西安电子科技大学 | 基于VAE-ResNet网络的雷达辐射源识别方法 |
CN110109110A (zh) * | 2019-04-26 | 2019-08-09 | 西安电子科技大学 | 基于先验最优变分自编码机的hrrp目标识别方法 |
Non-Patent Citations (2)
Title |
---|
《Recent Advances in Anomaly Detection Methods Applied to Aviation》;Luis Basora et al;《MDPI》;20191030;全文 * |
《非参数化贝叶斯模型的机器人多模态感知与学习》;吴鸿敏;《中国博士学位论文全文数据库 信息科技辑》;20200115(第2020年第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111598881A (zh) | 2020-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111598881B (zh) | 基于变分自编码器的图像异常检测方法 | |
CN107506761B (zh) | 基于显著性学习卷积神经网络的脑部图像分割方法及*** | |
CN106056595B (zh) | 基于深度卷积神经网络自动识别甲状腺结节良恶性的辅助诊断*** | |
WO2019200747A1 (zh) | 分割股骨近端的方法、装置、计算机设备和存储介质 | |
CN112036513B (zh) | 基于内存增强潜在空间自回归的图像异常检测方法 | |
CN106462746A (zh) | 分析数字全息显微术数据以用于血液学应用 | |
CN112102229A (zh) | 一种基于深度学习的工业ct检测缺陷的智能识别方法 | |
CN111222519B (zh) | 一种层次化彩绘文物线稿提取模型构建、方法及装置 | |
CN110716792B (zh) | 一种目标检测器及其构建方法和应用 | |
CN114155397B (zh) | 一种小样本图像分类方法及*** | |
CN109344713A (zh) | 一种姿态鲁棒的人脸识别方法 | |
Zhao et al. | PCA dimensionality reduction method for image classification | |
CN110930378A (zh) | 基于低数据需求的肺气肿影像处理方法及*** | |
CN117038055B (zh) | 一种基于多专家模型的疼痛评估方法、***、装置及介质 | |
CN110543916A (zh) | 一种缺失多视图数据的分类方法及*** | |
CN114511710A (zh) | 一种基于卷积神经网络的图像目标检测方法 | |
CN115761358A (zh) | 一种基于残差胶囊网络对心肌纤维化进行分类的方法 | |
CN117611599B (zh) | 融合中心线图和增强对比度网络的血管分割方法及其*** | |
CN108805181B (zh) | 一种基于多分类模型的图像分类装置及分类方法 | |
CN117274185B (zh) | 检测方法、检测模型产品、电子设备及计算机存储介质 | |
CN117371511A (zh) | 图像分类模型的训练方法、装置、设备及存储介质 | |
CN111860601A (zh) | 预测大型真菌种类的方法及装置 | |
Peng et al. | Blood vessels segmentation by using cdnet | |
CN116091446A (zh) | 食管内窥镜图像的异常检测方法、***、介质及设备 | |
CN113177602B (zh) | 图像分类方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |