CN116034375A - 用于图像中异常检测和定位的增量学习 - Google Patents
用于图像中异常检测和定位的增量学习 Download PDFInfo
- Publication number
- CN116034375A CN116034375A CN202080103512.4A CN202080103512A CN116034375A CN 116034375 A CN116034375 A CN 116034375A CN 202080103512 A CN202080103512 A CN 202080103512A CN 116034375 A CN116034375 A CN 116034375A
- Authority
- CN
- China
- Prior art keywords
- images
- neural network
- image
- outlier
- anomaly
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/44—Event detection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Image Analysis (AREA)
Abstract
可以在神经网络的单个训练流中检测和定位多个不同场景或图像中的异常。在各种示例中,增量学习可被应用于给定的系统或网络,使得系统或网络可以在单个训练流中学习新场景的分布。因此,在一些情况下,当将来自新场景的异常图像作为输入提供给网络时,网络可以检测和定位异常。
Description
背景技术
异常通常可被定义为不遵循预期或正常行为的事件或出现。在神经网络或机器学习的背景中,异常可能难以定义,但是该定义对于给定异常检测器的成功和有效性可能是关键的。有效的异常检测器应该能够以高精度区分异常和正常情况,以避免误报警。关于识别图像或场景中的异常,使用现有方法来训练神经网络以识别可在所有种类的场景中出现的不同类型的异常可能是不切实际的,或者在一些情况下是不可行的。因此,识别异常的当前神经网络方法缺乏效率和准确性等方面的能力。
发明内容
本发明的实施例通过提供改进异常检测的方法、系统和装置来解决和克服这里描述的一个或多个缺点。例如,在各种实施例中,可以在神经网络的单个训练流中检测和定位多个不同场景或图像中的异常。在各种示例中,增量学习可以应用于给定的系统或网络,使得系统或网络可以在单个训练流中学习新场景的分布。因此,在一些情况下,当将来自新场景的异常图像作为输入提供给网络时,网络可以检测和定位异常。
在一个示例方面,系统可以包括第一神经网络系统和第二神经网络系统。第一神经网络系统的第一编码器模块可以接收多个输入图像,每个输入图像包括如预期出现的场景,使得多个输入图像定义多个非异常图像。可以在多个非异常图像上训练第一神经网络系统,以学习与多个非异常图像相关联的信息。第一神经网络系统可以例如使用知识蒸馏损失将与多个非异常图像相关联的信息传送到第二神经网络系统,使得第一神经网络系统定义教师模型,并且第二神经网络系统定义学生模型。在训练第一神经网络系统之后,第二神经网络系统的第二编码器模块可以接收给定的输入图像,该给定的输入图像包括场景,该场景包括不按预期出现的异常,使得输入图像定义异常图像。基于与多个非异常图像相关联的信息,系统可以检测异常图像的异常。在一些情况下,基于与多个非异常图像相关联的信息,系统可以确定异常图像的与异常相应的区域,以定位异常。
附图说明
当结合附图阅读时,从下面的详细描述中可以最好地理解本发明的上述和其它方面。为了说明本发明,在附图中示出了目前优选的实施例,然而,应当理解,本发明不限于所公开的特定手段。附图中包括下列附图:
图1是根据示例实施例的示例神经网络模型的框图。
图2是包括图1所示的神经网络模型的系统的框图,根据示例实施例,其中一个神经网络模型被配置为教师模型,并且一个神经网络模型被配置为学生模型。
图3是描述根据示例实施例的可由图2的系统执行的方法的流程图。
图4示出了其中可以实现本发明的实施例的计算环境。
具体实施方式
在各种实施例中,可以在神经网络的单个训练流中检测和定位多个不同场景或图像中的异常。在各种示例中,增量学习可以应用于给定的系统或网络,使得系统或网络可以在单个训练流中学习新场景的分布。系统和网络可在本文中互换使用而没有限制,除非另外指明。由于这里描述的训练,在一些情况下,当来自新场景的异常图像作为输入被提供给网络时,网络可以检测和定位异常。为此,如本文所描述,可以使用无监督学习在非异常图像上训练网络。
具体地,参考图1,可以在多个输入图像102上训练系统或网络100。输入图像102可以定义相应的场景,例如包括一个或多个机器或部件的工业场景,或者包括医疗设备或身体结构的医疗场景。应当理解,输入图像不限于这里描述的示例。即,输入图像102可以根据需要改变,并且所有这样的输入图像都被认为在本发明的范围内。此外,在各种示例中,输入图像102可以定义矢量化输入、RGB图像、CAD图像等。输入图像102可以包括由各种传感器或相机捕获的图像,并且所有这些捕获的图像都被认为在本发明的范围内。作为示例,给定机器的给定输入图像102可由定位成捕获机器的全部或部分的图像的相机捕获。如这里进一步描述的,根据各种实施例,系统100可以在输入图像102上训练,输入图像是非异常图像。通常,非异常图像是定义普通场景或与该场景的期望一致的场景的图像。作为示例,诸如涡轮机或计算机数字控制(CNC)机器的特定机器的非异常图像可描绘与其设计一致的处于其正常操作状态的机器。继续该示例,同一机器的异常图像可描绘留在机器中的工具,或机器的附加或损坏部件。在一个示例中,定义一组非异常图像,然后可以将描绘未覆盖在该组非异常图像中的场景的图像视为异常图像。
继续参考图1,网络100可以定义对抗变分自动编码器(AVAE)系统,例如卷积AVAE。网络100可以包括编码器卷积网络或模块104,解码器卷积网络或模块106,以及鉴别器卷积网络或模块108。因此,编码器模块104、解码器模块106和鉴别器模块108中的每一者可包括多个层。编码器模块104、解码器模块106和鉴别器模块108的层可以是完全连接的或卷积的。完全连接的层可以包括将它们各自的输出传送到相邻层中的每个神经元的神经元。与完全连接的层相比,卷积层可以是局部连接的,使得例如给定层中的神经元可以连接到相邻层中有限数量的神经元。卷积层还可以被配置为共享与每个神经元的强度相关联的连接强度。应当理解,为了示例的目的,网络100被简化。例如,网络100可以根据需要包括任意数量的层,尤其是任意数量的中间层,并且所有这样的模型都被认为在本发明的范围内。
编码器模块104,尤其是编码器模块104的输入层,可以接收输入图像102。编码器模块104可处理输入图像102以产生编码器输出110。尤其是,给定的编码器输出110(也可称为z)可表示其在隐空间中的相应输入图像102(也可称为x)。例如,编码器模块104可包括接收输入图像(或数据点x)并输出其隐藏(隐)表示z的神经网络。尤其是,给定的输入图像102可以定义第一维数,并且编码器模块104可以将输入图像102的数据编码到编码器输出110(或隐表示空间z)中,该编码器输出110定义小于第一维数的第二维数。因此,编码器模块104可学习将输入图像102的数据有效压缩到编码器输出110的数据的较低维空间中。编码器输出110定义可以由参数112表征的数据分布,尤其是平均μ和标准偏差σ。使用参数112,可以对隐激活进行采样,以定义解码器输入114。使用基于隐空间z的解码器输入114或编码器输出110,解码器模块106可重构输入图像102以产生对应的重构图像116,其可称为鉴别器模块108可以接收输入图像102和重构图像116作为输入,并且可以比较输入图像102和重构图像各自的数据分布,以进行确定或预测,或者生成例如与输入x是真实的还是虚假的有关的标记。因此,鉴别器输出118可以指示系统100的相应输入是真实的还是虚假的。在系统100的训练期间的目标是使重构图像116与相应的输入图像102相比更清晰和更准确。为此,可以通过反向传播来自编码器输出110(z)的梯度来计算注意力地图120,该注意力地图可以被称为可以被归一化的∈(0,1)。
关于注意力地图,这里认识到,现有技术的基于深度学习的分类器通常通过将对应于特定类的梯度反向传播到输入图像来生成注意力地图。在各种实施例中,输入图像102是未标记的,因此可以从隐空间z获得激活图。激活图可被用于生成注意力地图。在各种示例中,所生成的注意力地图指示或描述输入图像102的鉴别的区域。鉴别区域可以指鉴别器输出118的最终标记或分类所基于的区域。在一个示例中,可以使用Grad-CAM来使用梯度反向传播来计算注意力地图120。
关于训练系统100,根据一些实施例,仅在非异常图像上训练系统100。因此,在训练期间,输入图像102是非异常的,使得在推断时间期间,或者当系统100被用于进行预测或生成分类时,输入图像102可以包括异常图像,并且系统将不会重构异常图像的与异常相关的区域。以这种方式训练和使用的网络或系统100可以定义教师模型202,在此将参考图2进一步描述教师模型。尤其地,鉴别器模块108可以计算给定的重构图像116和其对应的异常输入图像102之间的像素差异。基于像素差异,鉴别器模块108以及网络100可以在鉴别器输出118中生成分类得分。因此,该分数可以表示输入图像与对应于该输入图像的重构图像之间的像素差异。通常,在一些情况下,由于重构较不精确,所以分数较高。高分可指示输入图像来自与非异常图像不同的分布,使得输入图像可被认为是异常的。在一个示例中,当与输入图像相关联的分类分数(或像素差异)大于预定或预先规定的阈值时,可以将输入图像定义为异常。类似地,当与输入图像相关联的类别分数(或像素差异)小于预定或预先指定的阈值时,可以将输入图像定义为非异常的。预定阈值可以根据或基于特定操作的使用情况而变化。
在一些情况下,例如当在工业机器的图像上进行训练时,训练数据是有限的。此外,收集异常数据(图像)可能是困难的或昂贵的。因此,在各种示例中,网络100在有限量的非异常图像上被训练,所以为了补充该训练,网络100可以例如在ImageNet上被预训练。在一实例中,编码器模块104可接着对原始数据或非自主图像进行精细调谐。这种原始数据可以包括具有大量高频分量的图像,使得解码器模块106可以被配置为采用跳跃连接和交织卷积层来保存本地信息。位于解码器模块106的输出处的鉴别器模块108可以保持输入图像102和重构图像116的分布,从而实现更清晰的重构。为了保持空间关系,系统100可以定义端到端卷积的AVAE。
如进一步描述的,网络100可以被配置为教师模型202或学生模型204。尤其是,系统或网络200可以包括多个网络100,其被布置为使得一个网络100定义教师模型202,并且一个网络定义学生模型204。因此,如这里所描述的,系统200可以定义学生-教师模型,该模型能够学习新的场景集合或图像集合的分布,同时保留先前的场景或图像而不增加网络的存储器占用面积。
在一个示例中,系统200可以定位输入图像102之一的异常,而没有关于异常在哪里或什么的任何先验信息。作为示例,给定的输入图像102可以定义包括诸如涡轮机或CNC机器的特定机器的场景。给定的输入图像102可以进一步定义异常。作为示例,可以在给定的输入图像102中包括留在特定机器内部的工具,以定义异常。在各种示例中,系统200仅在非异常图像上被训练,并且可以基于该训练来定位异常图像的异常。在一些情况下,训练可能不包括特定机器的图像,使得系统200可以识别其中它未经训练的场景的异常。尤其是,在一些情况下,编码器输出110的注意力地图可以通过使用GradCAM来定义隐空间注意力,GradCAM是基于梯度的类激活图生成机制。在各种示例中,因为隐空间对应于非异常图像的分布,所以所生成的所得注意力地图可以被认为是非异常注意力地图。注意力地图120中的注意力区域可以被最大化,以鼓励网络100关注整个图像,因为在一些情况下,训练可能仅涉及非异常图像。为了使注意力最大化,可以向网络100提供额外的监督以更好地关注图像的非异常区域。尤其是,例如,可以将可从0归一化到1的注意力地图与具有全1的目标注意力地图进行比较和调整,从而通过鼓励注意力关注整个图像来提供额外的监督。在系统200的测试期间,给定异常图像(具有异常的图像)作为输入图像102,所生成的注意力地图120可以指示或突出显示图像的非异常区域,使得将注意力地图120反转可以产生指示或突出显示图像的异常区域的反转注意力地图。即,反转注意力地图可以指示图像的一个或多个异常区域,从而定位异常。在一些情况下,计算并反转正常类的注意力地图,以生成突出显示异常图像的异常的注意力地图。可以通过从定义全1的图像(例如,2D矩阵)中减去归一化的注意力地图来生成反转。
此外,训练系统200的输入图像102可以各自定义彼此不同的各个场景。因此,可以训练网络200以检测和定位单个训练流中的异常,而不是在每个场景上单独训练网络200。在各种示例中,为了便于学习先前未在输入图像102中定义的新场景,学生模型204可从教师模型202获取信息(例如,先前在输入图像102中定义的场景),以学习新场景的非异常图像的分布而不丢失其从教师模型202获取的先前场景的信息。因此,系统200,尤其是学生模型204可以在单个训练流中保持先前(旧)场景的非异常分布的信息,而教师模型202学习新场景的信息。
在另一示例方面,继续参考图2,在训练期间,知识蒸馏损失206可以被共享,例如由教师模型202共享给学生模型204,以使学生模型204能够在学习包括新场景208的输入图像102的同时保留来自先前输入图像或场景(或类)的信息。因此,可以训练系统200以学习在单个训练流中新场景集合的分布。尤其地,学生模型204和教师模型202可以定义或具有彼此相同的模型参数。在各种示例中,学生模型204从教师模型202学习与先前学习的场景相关联的信息。另外,学生模型204可以学习新场景的非异常分布,同时保留与从教师模型202获取的先前学习的场景相关联的信息。在一些情况下,系统200的存储器占用面积相对于系统200遇到的类的数目(或场景的数目)并不增长。来自前一场景的教师模型202的学习信息可以在知识蒸馏损失206的帮助下被传送到学生模型204。例如,可以用知识蒸馏损失206和训练教师模型202的相同目标函数来训练学生模型204,以定义经训练的学生模型。知识蒸馏损失可以指交叉熵损失的修改,其可以促使学生网络的原始输出类似于教师网络的原始输出。具有这种蒸馏损失的训练可以将在教师网络202中学习的知识转移到学生网络204。在该训练之后,给定由另一新输入图像102定义的另一新场景210,经训练的学生模型可以变成教师模型202,并且未经训练的网络100可以定义学生模型204。因此,未经训练的学生模型204可以利用(在学习的同时)先前学习的信息来学习来自另一新场景210的信息。因此,在推理时间期间,给定来自任何类的异常图像,学生模型204可以检测并定位包括在异常图像中的异常。
继续参考图2,在一个示例中,x可以表示场景的输入图像,并且x’可以表示新场景的输入图像。输入图像x可以被输入到教师模型202的编码器模块104中,并且输入图像x’可以被输入到学生模型204的编码器模块104中。响应于各个输入,教师模型的解码器模块106可以生成重构图像而学生模型204的解码器模块106可以生成重构图像每个模型的鉴别器模块108可以定义相应的卷积网络,该卷积网络可以确定重构图像x和是否分别定义与输入图像x和相同的分布。基于鉴别器模块108的确定,鉴别器输出可以指示分类得分,或者例如可以指示相应的输入是真实的还是虚假的,从而产生作为输出的真实/虚假决定。在各种示例中,目标是使重构更清晰。教师模型202可以计算注意力地图学生模型204可以计算注意力地图注意力地图可以通过从隐空间反向传播梯度。知识蒸馏损失206可表示将教师网络所训练的先前(旧)场景(例如,来自图像x的场景)的信息传送到未经训练的学生网络。在各种示例中,学生网络204保留先前场景的信息(例如,来自图像x)以及来自新场景的学习信息(例如,来自图像x’)。
现在参考图3,示出了可以由系统200执行的示例操作300,该系统可以包括第一神经网络系统100和第二神经网络系统100。在302,第一神经网络系统的第一编码器模块可以接收多个输入图像,每个输入图像包括如预期出现的场景,使得多个输入图像定义多个非异常图像。在304,可以在多个非异常图像上训练第一神经网络系统,以学习与多个非异常图像相关联的信息。在一些示例中,训练第一神经网络系统可以包括由第一编码器模块计算多个非异常图像中的每一个的隐空间表示。基于相应的隐空间表示,第一神经网络系统可生成指示相应的非异常图像的一个或多个鉴别区域的注意力地图。与注意力地图相关联的另外的数据可以通过第一编码器模块反向传播,例如朝向编码器模块104的输入层。
仍然参考图3,第一神经网络系统可以将与多个非恶意图像相关联的信息传送到第二神经网络系统,使得第一神经网络系统定义教师模型(例如,教师模型202),并且第二神经网络系统定义学生模型(例如,学生模型204)。在一些示例中,将与多个非异常图像相关联的信息传送到第二神经网络系统可包括由第一神经网络系统的解码器模块计算知识蒸馏损失。此外,知识蒸馏损失可以被传送到第二神经网络系统。
在308处,例如在训练第一神经网络系统之后,第二神经网络系统的第二编码器模块可以接收给定的输入图像,该给定的输入图像包括包含不按预期出现的异常的场景,使得输入图像定义异常图像。作为示例而非限制,由多个非异常图像定义的场景可以包括多个工业机器,并且由异常图像定义的场景可以包括不同于多个工业机器的机器。作为另一个例子,由异常图像定义的场景还可以包括机器内的工具。
继续参考图3,在310,基于与多个非异常图像相关联的信息,系统200可以检测异常图像的异常。在一些情况下,基于与多个非异常图像相关联的信息,系统可以确定与异常相应的异常图像的区域,以定位异常。尤其是,举例来说,第一编码器模块可计算多个非异常图像中的每一者的隐空间表示。基于多个非异常图像中的每一者的相应隐空间表示,第一神经网络系统的第一解码器模块可重构多个非异常图像。第二编码器模块可以计算异常图像的隐空间表示。基于异常图像的隐表示,第二神经网络系统的第二解码器模块可以重构异常图像的除了对应于异常的区域之外的区域。另外地或可选地,基于异常图像的隐空间表示,第二神经网络可以生成指示异常图像的一个或多个鉴别区域的注意力地图,并且第二神经网络可以反转注意力地图以定位异常图像的异常。
此后,作为另一示例,与多个非异常图像和异常图像相关联的信息可以被传送到第三神经网络系统,使得第二神经网络系统定义教师模型,并且第三神经网络系统定义学生模型。因此,第三神经网络系统的第三编码器模块可以接收包括另一场景的另一输入图像,该另一场景包括不按预期出现的另一异常,使得另一输入图像定义另一异常图像。基于与多个非异常图像和异常图像相关联的信息,第三神经网络系统可检测其它异常图像的其它异常。该过程可以根据需要继续多次,以定义增量学习,其中在每次迭代或增量期间,学生模型变成教师模型,并且新的未经训练的网络变成学生模型。因此,可以训练系统200,以在单个训练流中基于非异常图像来检测和定位异常。
图4示出了其中可以实现本发明的实施例的计算环境的示例。计算环境400包括计算机系统510,其可包括诸如系统总线521等通信机制或用于在计算机系统510内传送信息的其它通信机制。计算机系统510还包括与系统总线521联接的用于处理信息的一个或多个处理器520。系统200可以包括或联接到一个或多个处理器520。
处理器520可以包括一个或多个中央处理单元(CPU)、图形处理单元(GPU)或本领域已知的任何其它处理器。更一般地,这里描述的处理器是用于执行存储在计算机可读介质上的机器可读指令的设备,用于执行任务,并且可以包括硬件和固件中的任何一个或其组合。处理器还可以包括存储可执行用于执行任务的机器可读指令的存储器。处理器通过操纵、分析、修改、转换或传输由可执行程序或信息设备使用的信息和/或通过将信息路由到输出设备来对信息起作用。处理器可以使用或包括例如计算机、控制器或微处理器的能力,并且使用可执行指令来调节以执行不由通用计算机执行的专用功能。处理器可以包括任何类型的适当处理单元,包括但不限于中央处理单元、微处理器、精简指令集计算机(RISC)微处理器、复杂指令集计算机(CISC)微处理器、微控制器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、片上系统(SoC)、数字信号处理器(DSP)等。此外,处理器520可以具有任何合适的微体系结构设计,其包括任何数量的构成组件,例如寄存器、多路复用器、算术逻辑单元,用于控制对高速缓冲存储器的读/写操作的高速缓存控制器、分支预测器等。处理器的微体系结构设计能够支持多种指令集中的任何指令集。处理器可以与能够在其间进行交互和/或通信的任何其它处理器联接(电联接和/或包括可执行组件)。用户接口处理器或产生器是已知的元件,包括用于产生显示图像或其部分的电子电路或软件或两者的组合。用户接口包括使用户能够与处理器或其它设备交互的一个或多个显示图像。
系统总线521可以包括系统总线、存储器总线、地址总线或消息总线中的至少一个,并且可以允许在计算机系统510的各种组件之间交换信息(例如,数据(包括计算机可执行代码)、信令等)。系统总线521可以包括但不限于存储器总线或存储器控制器、外围总线、加速图形端口等。系统总线521可以与任何合适的总线体系结构相关联,包括但不限于工业标准体系结构(ISA)、微通道体系结构(MCA)、增强型ISA(EISA)、视频电子标准协会(VESA)体系结构、加速图形端口(AGP)体系结构、外围组件互连(PCI)体系结构、PCI-Express体系结构、个人计算机存储卡国际协会(PCMCIA)体系结构、通用串行总线(USB)体系结构等。
继续参考图4,计算机系统510还可以包括联接到系统总线521的系统存储器530,用于存储信息和要由处理器520执行的指令。系统存储器530可以包括易失性和/或非易失性存储器形式的计算机可读存储介质,例如只读存储器(ROM)531和/或随机存取存储器(RAM)532。RAM 532可以包括其它动态存储设备(例如,动态RAM、静态RAM和同步DRAM)。ROM531可以包括其它静态存储设备(例如,可编程ROM、可擦除PROM和电可擦除PROM)。另外,系统存储器530可用于在处理器520执行指令期间存储临时变量或其它中间信息。包含基本例程的基本输入/输出系统533(BIOS)可以存储在ROM 531中,基本例程帮助在计算机系统510内的元件之间传送信息,例如在启动期间。RAM 532可包含可由处理器520立即访问和/或当前正由处理器520操作的数据和/或程序模块。系统存储器530还可以包括例如操作系统534、应用程序535和其它程序模块536。应用程序535还可以包括用于开发应用程序的用户门户,允许输入参数并在必要时进行修改。
操作系统534可以被加载到存储器530中,并且可以提供在计算机系统510上执行的其它应用软件与计算机系统510的硬件资源之间的接口。更尤其是,操作系统534可包括一组计算机可执行指令,用于管理计算机系统510的硬件资源并向其它应用程序提供公共服务(例如,管理各种应用程序之间的存储器分配)。在某些示例实施例中,操作系统534可以控制被描绘为存储在数据存储器540中的一个或多个程序模块的执行。操作系统534可包括现在已知或将来可开发的任何操作系统,包括但不限于任何服务器操作系统、任何主机操作系统或任何其它专有或非专有操作系统。
计算机系统510还可以包括联接到系统总线521以控制用于存储信息和指令的一个或多个存储设备的盘/介质控制器543,诸如磁硬盘541和/或可移动介质驱动器542(例如,软盘驱动器、光盘驱动器、磁带驱动器、闪存驱动器和/或固态驱动器)。可以使用适当的设备接口(例如,小型计算机系统接口(SCSI)、集成设备电子设备(IDE)、通用串行总线(USB)或FireWire)将存储设备540添加到计算机系统510。存储设备541、542可以在计算机系统510的外部。
计算机系统510还可以包括联接到系统总线521的现场设备接口565,以控制现场设备566,诸如在生产线中使用的设备。计算机系统510可以包括用户输入接口或GUI 561,其可以包括一个或多个输入设备,例如键盘、触摸屏、输入板和/或定点设备,用于与计算机用户交互并向处理器520提供信息。
计算机系统510可以响应于处理器520执行包含在诸如系统存储器530的存储器中的一个或多个指令的一个或多个序列来执行本发明实施例的处理步骤的一部分或全部。这样的指令可以从存储器540的另一计算机可读介质(磁硬盘541或可移动介质驱动器542)读入系统存储器530。磁硬盘541和/或可移动介质驱动器542可以包含本发明的实施例所使用的一个或多个数据存储器和数据文件。数据存储器540可以包括但不限于数据库(例如,关系型、面向对象的等)、文件系统、平面文件,其中数据存储在计算机网络的多于一个节点上的分布式数据存储、对等网络数据存储等。数据存储器可以存储各种类型的数据,例如技能数据、传感器数据或根据本发明的实施例生成的任何其它数据。数据存储内容和数据文件可以被加密以提高安全性。处理器520还可以用在多处理装置中,以执行包含在系统存储器530中的一个或多个指令序列。在替换实施例中,硬连线电路可以代替软件指令或与软件指令结合使用。因此,实施例不限于硬件电路和软件的任何特定组合。
如上所叙述,计算机系统510可以包括至少一个计算机可读介质或存储器,用于保存根据本发明的实施例编程的指令,并且用于包含数据结构、表、记录或这里描述的其它数据。这里使用的术语“计算机可读介质”是指参与向处理器520提供指令以供执行的任何介质。计算机可读介质可以采用许多形式,包括但不限于非瞬态、非易失性介质、易失性介质和传输介质。非易失性介质的非限制性示例包括光盘、固态驱动器、磁盘和磁光盘,诸如磁硬盘541或可移动介质驱动器542。易失性介质的非限制性示例包括动态存储器,诸如系统存储器530。传输介质的非限制性示例包括同轴电缆、铜线和光纤,包括构成系统总线521的导线。传输介质也可以采用声波或光波的形式,例如在无线电波和红外数据通信期间产生的声波或光波。
用于执行本发明的操作的计算机可读介质指令可以是汇编指令、指令集体系结构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据,或以一种或多种编程语言的任何组合编写的源代码或目标代码,所述编程语言包括诸如Smalltalk、C++等的面向对象的编程语言,以及诸如“C”编程语言或类似编程语言的常规过程编程语言。计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包,部分在用户的计算机上执行,部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(LAN)或广域网(WAN),或者连接到外部计算机(例如,通过使用因特网服务提供商的因特网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以执行本发明的各方面。
在此参考根据本发明的实施例的方法、装置(系统)和计算机程序产品的流程图图示和/或框图来描述本发明的各方面。应当理解,流程图图示和/或框图的每个框以及流程图图示和/或框图中的框的组合可以由计算机可读介质指令来实现。
计算环境400还可包括使用到诸如远程计算设备580等一个或多个远程计算机的逻辑连接在联网环境中操作的计算机系统510。网络接口570可以实现例如经由网络571与其它远程设备580或系统和/或存储设备541、542的通信。远程计算设备580可以是个人计算机(膝上型计算机或台式计算机)、移动设备、服务器、路由器、网络PC、对等设备或其它公共网络节点,并且通常包括以上相对于计算机系统510描述的许多或所有元件。当在联网环境中使用时,计算机系统510可以包括调制解调器572,用于在诸如因特网的网络571上建立通信。调制解调器572可经由用户网络接口570或经由另一适当机制连接到系统总线521。
网络571可以是本领域中通常已知的任何网络或系统,包括因特网、内联网、局域网(LAN)、广域网(WAN)、城域网(MAN)、直接连接或一系列连接、蜂窝电话网络,或能够促进计算机系统510与其它计算机(例如,远程计算设备580)之间的通信的任何其它网络或介质。网络571可以是有线的、无线的或其组合。有线连接可以使用以太网、通用串行总线(USB)、RJ-6或本领域公知的任何其它有线连接来实现。无线连接可以使用Wi-Fi、WiMAX和蓝牙、红外、蜂窝网络、卫星或本领域公知的任何其它无线连接方法来实现。另外,若干网络可单独工作或彼此通信以促进网络571中的通信。
应当理解,图4中描述的存储在系统存储器530中的程序模块、应用、计算机可执行指令、代码等仅仅是说明性的,而不是穷尽性的,并且描述为由任何特定模块支持的处理可以替代地跨多个模块分布或由不同模块执行。此外,可以提供各种程序模块、脚本、插件、应用编程接口(API(s)),或在计算机系统510、远程设备580上本地托管的和/或在可经由一个或多个网络571访问的其它计算设备上托管的任何其它合适的计算机可执行代码,以支持由图4中描绘的程序模块、应用或计算机可执行代码提供的功能和/或附加或替代功能。此外,功能可以被不同地模块化,使得被描述为由图2中所示的程序模块集合共同支持的处理可以由更少或更多数量的模块执行,或者被描述为由任何特定模块支持的功能可以至少部分地由另一模块支持。此外,支持这里描述的功能的程序模块可形成可根据诸如客户机-服务器模型、对等模型等任何合适的计算模型在任何数量的系统或设备上执行的一个或多个应用程序的一部分。此外,被描述为由图4中描绘的任何程序模块支持的任何功能可以至少部分地在任何数量的设备上以硬件和/或固件实现。
还应当理解,在不脱离本发明的范围的情况下,计算机系统510可以包括所描述或描绘的之外的替代和/或附加硬件、软件或固件组件。更尤其是,应当理解,被描绘为形成计算机系统510的一部分的软件、固件或硬件组件仅仅是说明性的,并且在各种实施例中可以不存在某些组件或者可以提供附加组件。虽然已将各种说明性程序模块描绘和描述为存储在系统存储器530中的软件模块,但应了解,描述为由程序模块支持的功能性可由硬件、软件和/或固件的任何组合来启用。应进一步了解,在各种实施例中,上述模块中的每一者可表示所支持功能的逻辑分区。该逻辑分区是为了便于解释功能而描绘的,并且可以不代表用于实现该功能的软件、硬件和/或固件的结构。因此,应了解,在各种实施例中,描述为由特定模块提供的功能性可至少部分地由一个或多个其它模块提供。此外,在某些实施例中可不存在一个或多个所描绘的模块,而在其它实施例中,可存在未描绘的额外模块且可支持所描述功能性和/或额外功能性的至少一部分。此外,虽然某些模块可被描绘和描述为另一模块的子模块,但在某些实施例中,此类模块可被提供为独立模块或其它模块的子模块。
虽然已经描述了本发明的特定实施例,但是本领域的普通技术人员将认识到,在本发明的范围内存在许多其它修改和替换实施例。例如,关于特定设备或组件描述的任何功能和/或处理能力可以由任何其它设备或组件来执行。此外,虽然已经根据本发明的实施例描述了各种说明性实现和架构,但是本领域普通技术人员将理解,对本文描述的说明性实现和架构的许多其它修改也在本发明的范围内。另外,应了解,本文中描述为基于另一操作、元件、组件、数据等的任何操作、元件、组件、数据等可另外基于一个或多个其它操作、元件、组件、数据等。因此,短语“基于”或其变体应被解释为“至少部分地基于”。
虽然已经用结构特征和/或方法动作专用的语言描述了实施例,但是应当理解,本发明不必限于所描述的具体特征或动作。相反,这些具体特征和动作是作为实现这些实施例的说明性形式而公开的。条件性语言,例如“可以”、“能够”、“可能”或“可能”等,除非另外具体说明或在所使用的上下文中另外理解,通常旨在传达某些实施例可包括但不包括某些特征、元件和/或步骤。因此,此类条件性语言一般不旨在暗示一个或多个实施例以任何方式要求特征、元件和/或步骤,或者一个或多个实施例必须包括用于在有或没有用户输入或提示的情况下决定这些特征、元件和/或步骤是否被包括在任何特定实施例中或要在任何特定实施例中执行的逻辑。
附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的体系结构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定逻辑功能的一个或多个可执行指令。在一些可替换的实施方式中,方框中指出的功能可以不按附图中指出的顺序发生。例如,根据所涉及的功能,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行。还将注意到,框图和/或流程图图示中的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的基于专用硬件的系统来实现。
Claims (15)
1.一种方法,包括:
由第一神经网络系统的第一编码器模块接收多个输入图像,每个所述输入图像包括如预期出现的场景,使得所述多个输入图像定义多个非异常图像;
在所述多个非异常图像上训练所述第一神经网络系统,以学习与所述多个非异常图像相关联的信息;
将与所述多个非异常图像相关联的信息传送到第二神经网络系统,使得所述第一神经网络系统定义教师模型,并且所述第二神经网络系统定义学生模型;
由所述第二神经网络系统的第二编码器模块接收包括场景的输入图像,该场景包括不按预期出现的异常,使得该输入图像定义异常图像;以及
基于与所述多个非异常图像相关联的信息,检测所述异常图像的异常。
2.根据权利要求1所述的方法,其中,训练所述第一神经网络系统进一步包括:
由所述第一编码器模块计算所述多个非异常图像中的每一个的隐空间表示;
基于相应的隐空间表示来生成注意力地图,所述注意力地图指示相应的非异常图像的一个或多个鉴别区域;以及
通过所述第一编码器模块反向传播与所述注意力地图相关联的数据。
3.根据权利要求1所述的方法,所述方法进一步包括:基于与所述多个非异常图像相关联的信息,确定所述异常图像的与异常相对应的区域,以定位所述异常。
4.根据权利要求3所述的方法,所述方法进一步包括:
由所述第一编码器模块计算所述多个非异常图像中的每一个的隐空间表示;以及
基于所述多个非异常图像中的每一个的相应的隐空间表示,由所述第一神经网络系统的第一解码器模块重构所述多个非异常图像。
5.根据权利要求4所述的方法,所述方法进一步包括:
由所述第二编码器模块计算所述异常图像的隐空间表示;以及
基于所述异常图像的隐表示,由所述第二神经网络系统的第二解码器模块重构所述异常图像的除对应于异常的区域之外的区域。
6.根据权利要求3所述的方法,其中,确定所述异常图像的区域进一步包括:
由所述第二编码器模块计算所述异常图像的隐空间表示;
基于所述异常图像的隐空间表示,生成指示所述异常图像的一个或多个鉴别区域的注意力地图;以及
反转所述注意力地图以定位所述异常图像的异常。
7.根据权利要求1所述的方法,其中,由所述多个非异常图像定义的场景包括多个工业机器,并且由所述异常图像定义的场景包括不同于所述多个工业机器的机器。
8.根据权利要求7所述的方法,其中,由所述异常图像定义的场景还包括机器内的工具。
9.根据权利要求1所述的方法,其中,将与所述多个非异常图像相关联的信息传送到所述第二神经网络系统进一步包括:
由所述第一神经网络系统的解码器模块计算知识蒸馏损失;以及
将所述知识蒸馏损失传送到所述第二神经网络系统。
10.根据权利要求1所述的方法,所述方法进一步包括:
将与所述多个非异常图像和所述异常图像相关联的信息传送到第三神经网络系统,使得所述第二神经网络系统定义所述教师模型,并且所述第三神经网络系统定义所述学生模型;
由所述第三神经网络系统的第三编码器模块接收另一输入图像,所述另一输入图像包括另一场景,所述另一场景包括不按预期出现的另一异常,使得其它输入图像定义另一异常图像;以及
基于与所述多个非异常图像和所述异常图像相关联的信息,检测其它异常图像的其它异常。
11.一种包括第一神经网络系统和第二神经网络系统的系统,该系统进一步包括:
处理器;以及
存储指令的存储器,所述指令在由所述处理器执行时将该系统配置为:
由所述第一神经网络系统的第一编码器模块接收多个输入图像,每个输入图像包括如预期出现的场景,使得所述多个输入图像定义多个非异常图像;
在所述多个非异常图像上训练所述第一神经网络系统,以学习与所述多个非异常图像相关联的信息;
将与所述多个非异常图像相关联的信息传送到所述第二神经网络系统,使得所述第一神经网络系统定义教师模型,并且所述第二神经网络系统定义学生模型;
由所述第二神经网络系统的第二编码器模块接收包括场景的输入图像,该场景包括不按预期出现的异常,使得该输入图像定义异常图像;以及
基于与所述多个非异常图像相关联的信息,检测所述异常图像的异常。
12.根据权利要求11所述的系统,所述存储器还存储指令,该指令在由所述处理器执行时还将该系统配置为:
由所述第一编码器模块计算所述多个非异常图像中的每一个的隐空间表示;
基于相应的隐空间表示生成注意力地图,所述注意力地图指示相应的非异常图像的一个或多个鉴别区域;以及
通过所述第一编码器模块反向传播与所述注意力地图相关联的数据。
13.根据权利要求11所述的系统,所述存储器还存储指令,该指令在由所述处理器执行时还将该系统配置为:基于与所述多个非异常图像相关联的信息,确定所述异常图像的与所述异常相对应的区域,以定位所述异常。
14.根据权利要求13所述的系统,所述存储器还存储指令,该指令在由所述处理器执行时还将该系统配置为:
由所述第一编码器模块计算所述多个非异常图像中的每一个的隐空间表示;以及
基于所述多个非异常图像中的每一个的相应隐空间表示,由所述第一神经网络系统的第一解码器模块重构所述多个非异常图像。
15.根据权利要求14所述的系统,所述存储器还存储指令,该指令在由所述处理器执行时还将该系统配置为:
由所述第二编码器模块计算所述异常图像的隐空间表示;以及
基于所述异常图像的隐表示,由所述第二神经网络系统的第二解码器模块重构所述异常图像的除对应于异常的区域之外的区域。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2020/048454 WO2022046077A1 (en) | 2020-08-28 | 2020-08-28 | Incremental learning for anomaly detection and localization in images |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116034375A true CN116034375A (zh) | 2023-04-28 |
Family
ID=72428387
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080103512.4A Pending CN116034375A (zh) | 2020-08-28 | 2020-08-28 | 用于图像中异常检测和定位的增量学习 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230326195A1 (zh) |
EP (1) | EP4186000A1 (zh) |
CN (1) | CN116034375A (zh) |
WO (1) | WO2022046077A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115171007A (zh) * | 2022-06-22 | 2022-10-11 | 清华大学 | 基于边缘计算的场景监控方法、装置、设备及存储介质 |
CN116993694B (zh) * | 2023-08-02 | 2024-05-14 | 江苏济远医疗科技有限公司 | 一种基于深度特征填充的无监督宫腔镜图像异常检测方法 |
-
2020
- 2020-08-28 CN CN202080103512.4A patent/CN116034375A/zh active Pending
- 2020-08-28 WO PCT/US2020/048454 patent/WO2022046077A1/en active Application Filing
- 2020-08-28 EP EP20768480.4A patent/EP4186000A1/en active Pending
- 2020-08-28 US US18/043,383 patent/US20230326195A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230326195A1 (en) | 2023-10-12 |
WO2022046077A1 (en) | 2022-03-03 |
EP4186000A1 (en) | 2023-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yang et al. | Unsupervised moving object detection via contextual information separation | |
Tonioni et al. | Learning to adapt for stereo | |
US20190370647A1 (en) | Artificial intelligence analysis and explanation utilizing hardware measures of attention | |
US10885317B2 (en) | Apparatuses and methods for recognizing object and facial expression robust against change in facial expression, and apparatuses and methods for training | |
Wickstrøm et al. | Uncertainty modeling and interpretability in convolutional neural networks for polyp segmentation | |
WO2021062133A1 (en) | Unsupervised and weakly-supervised anomaly detection and localization in images | |
US20200065635A1 (en) | Object detection and learning method and apparatus | |
CN111507457A (zh) | 用于可解释人工智能的神经网络特征的影响的映射和量化 | |
US11574198B2 (en) | Apparatus and method with neural network implementation of domain adaptation | |
WO2020160099A9 (en) | System for machine learning-based acceleration of a topology optimization process | |
US20200226451A1 (en) | Method and apparatus with neural network layer contraction | |
CN116034375A (zh) | 用于图像中异常检测和定位的增量学习 | |
EP4209937A1 (en) | Method and apparatus with object recognition | |
Jaramillo-Avila et al. | Foveated image processing for faster object detection and recognition in embedded systems using deep convolutional neural networks | |
EP4002205A1 (en) | Method and apparatus with image recognition | |
WO2020097461A1 (en) | Convolutional neural networks with reduced attention overlap | |
CN115861675A (zh) | 对象分类方法和设备 | |
US20170031792A1 (en) | Transferring failure samples using conditional models for machine condition monitoring | |
US20220335287A1 (en) | Systems and methods for dynamically updating a neural network having a plurality of kernels | |
Upadhyay et al. | Artificial intelligence application to D and D—20492 | |
EP3629248A1 (en) | Operating method and training method of neural network and neural network thereof | |
EP4386655A1 (en) | Method and apparatus with semiconductor image processing | |
Arunachalam et al. | End-to-end industrial IoT: software optimization and acceleration | |
US20240070453A1 (en) | Method and apparatus with neural network training | |
US20240054606A1 (en) | Method and system with dynamic image selection |
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 |