CN112446869A - 基于深度学习的无监督工业品缺陷检测方法及装置 - Google Patents
基于深度学习的无监督工业品缺陷检测方法及装置 Download PDFInfo
- Publication number
- CN112446869A CN112446869A CN202011377532.9A CN202011377532A CN112446869A CN 112446869 A CN112446869 A CN 112446869A CN 202011377532 A CN202011377532 A CN 202011377532A CN 112446869 A CN112446869 A CN 112446869A
- Authority
- CN
- China
- Prior art keywords
- sample
- training
- encoder
- self
- defect
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
-
- 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
-
- 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/20084—Artificial neural networks [ANN]
-
- 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/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
Landscapes
- Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于深度学习的无监督工业品缺陷检测方法及装置、计算机可读存储介质,该方法包括以下步骤:使用训练样本对第一自编码器进行训练,并在训练过程中得到训练样本的隐含表达;对训练样本的隐含表达进行降维处理,得到正常样本的隐含表达;使用正常样本的隐含表达对第二自编码器中的记忆模块进行初始化,并使用训练样本对第二自编码器进行训练;将测试样本输入至已训练的第二自编码器,得到重建后的样本;使用测试样本及重建后的样本进行计算得到缺陷掩模,并根据缺陷掩模判断所述测试样本是否存在缺陷。本发明实现了在仅使用无缺陷的图像样本对模型进行训练的情况下对缺陷的有效检测,提升了缺陷检测的效果。
Description
技术领域
本申请涉及缺陷检测技术领域,尤其涉及一种基于深度学习的无监督工业品缺陷检测方法及装置、计算机可读存储介质。
背景技术
在工业品的生产过程中,由于工艺水平的限制和环境因素的影响,不可避免地会产生有缺陷的产品。这部分产品如果不能尽早地在产生缺陷的源头检测出来,就会流入后续的生产步骤中,给后续的检测增加难度,同时提高修复的成本。更为严重的是,如果这些产品不小心流入市场进行销售,就会给产品形象带来极大的影响。为了将这些有缺陷的产品检测出来,传统技术采用了在生产线上部署AOI(Automatic Optic Inspection,自动光学检测)设备进行自动缺陷检测的方法。然而,AOI设备由于自身***设计的限制,常常会出现大量误报(即将没有缺陷的产品判断为有缺陷的产品)。因此还需要技术工人进行复检,大大降低了检测的效率。
近年来,随着深度学习的发展,卷积神经网络作为一种可以自动抽取图像特征的端到端模型得到了越来越多的研究和应用。而为了检测工业品图像是否存在缺陷,传统的基于深度学习的缺陷检测方法通常采用有监督的模型(即收集大量有缺陷和无缺陷的图像样本进行训练)。然而在实际应用中,由于缺陷样本获取代价高、缺陷类型不断变化等原因,通常很难收集到足够多有缺陷的图像样本,而无缺陷的图像样本又占据大多数。这会导致模型训练不充分或者在检测时无法应对训练集中未曾出现过的缺陷类型,极大削弱了模型的缺陷检测效果。
发明内容
本申请实施例通过提供一种基于深度学习的无监督工业品缺陷检测方法及装置、计算机可读存储介质,解决了传统技术因难以获取有缺陷图像样本而导致缺陷检测效果较差的问题,实现了在仅使用无缺陷的图像样本对模型进行训练的情况下对缺陷的有效检测,提升了缺陷检测的效果。
本申请实施例提供了一种基于深度学习的无监督工业品缺陷检测方法,所述方法包括:
使用训练样本对第一自编码器进行训练,并在训练过程中得到所述训练样本的隐含表达;其中,所述训练样本为无缺陷图像;
对所述训练样本的隐含表达进行降维处理,得到正常样本的隐含表达;
使用所述正常样本的隐含表达对第二自编码器中的记忆模块进行初始化,并使用所述训练样本对所述第二自编码器进行训练;
将测试样本输入至已训练的第二自编码器,得到重建后的样本;
使用所述测试样本及重建后的样本进行计算得到缺陷掩模,并根据所述缺陷掩模判断所述测试样本是否存在缺陷。
在一实施例中,所述方法还包括:
获取预设数量的无缺陷图像;
将所述无缺陷图像缩放至相同尺寸,并对其进行归一化处理,得到训练样本。
在一实施例中,所述使用训练样本对第一自编码器进行训练,并在训练过程中得到所述训练样本的隐含表达的步骤包括:
将训练样本逐个输入至第一自编码器,以对所述第一自编码器进行训练;
在所述第一自编码器训练完成后,获取所述训练样本通过第一自编码器的编码器模块输出的特征向量,并将所述特征向量作为所述训练样本的隐含表达。
在一实施例中,所述对所述训练样本的隐含表达进行降维处理,得到正常样本的隐含表达的步骤包括:
使用主成分分析对所述训练样本的隐含表达进行降维处理,得到降维后的隐含表达,并将其作为正常样本的隐含表达。
在一实施例中,所述将测试样本输入至已训练的第二自编码器,得到重建后的样本的步骤包括:
将测试样本输入至已训练的第二自编码器,得到重建后的图像,并计算所述测试样本与重建后的图像之间的均方误差;
若所述测试样本与重建后的图像之间的均方误差小于或等于预设阈值,则将所述重建后的图像作为重建后的样本。
在一实施例中,所述将测试样本输入至已训练的第二自编码器,得到重建后的样本的步骤,还包括:
若所述测试样本与重建后的图像之间的均方误差大于预设阈值,则将所述重建后的图像重新输入已训练的第二自编码器。
在一实施例中,所述使用所述测试样本及重建后的样本进行计算得到缺陷掩模,并根据所述缺陷掩模判断所述测试样本是否存在缺陷的步骤包括:
使用所述测试样本及重建后的样本计算结构相似性加权的像素间误差,并将所述像素间误差作为缺陷掩模;
将所述缺陷掩模的所有像素值之和作为缺陷指数,并根据所述缺陷指数判断所述测试样本是否存在缺陷。
在一实施例中,所述根据所述缺陷指数判断所述测试样本是否存在缺陷的步骤包括:
若所述缺陷指数大于预设阈值,则判断所述测试样本存在缺陷;
若所述缺陷指数小于或等于预设阈值,则判断所述测试样本不存在缺陷。
本申请实施例还提供了一种装置,所述装置包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的缺陷检测程序,所述缺陷检测程序被所述处理器执行时实现如上述的基于深度学习的无监督工业品缺陷检测方法的步骤。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有缺陷检测程序,所述缺陷检测程序被处理器执行时实现如上述的基于深度学习的无监督工业品缺陷检测方法的步骤。
本申请实施例中提供的一种基于深度学习的无监督工业品缺陷检测方法及装置、计算机可读存储介质的技术方案,至少具有如下技术效果:
由于采用了使用训练样本对第一自编码器进行训练,并在训练过程中得到所述训练样本的隐含表达;其中,所述训练样本为无缺陷图像;对所述训练样本的隐含表达进行降维处理,得到正常样本的隐含表达;使用所述正常样本的隐含表达对第二自编码器中的记忆模块进行初始化,并使用所述训练样本对所述第二自编码器进行训练;将测试样本输入至已训练的第二自编码器,得到重建后的样本;使用所述测试样本及重建后的样本进行计算得到缺陷掩模,并根据所述缺陷掩模判断所述测试样本是否存在缺陷的技术手段。所以,有效解决了传统技术因难以获取有缺陷图像样本而导致缺陷检测效果较差的问题,实现了在仅使用无缺陷的图像样本对模型进行训练的情况下对缺陷的有效检测,提升了缺陷检测的效果。
附图说明
图1为本申请实施例涉及的装置的结构示意图;
图2为本申请基于深度学习的无监督工业品缺陷检测方法的第一实施例的流程示意图;
图3为本申请基于深度学习的无监督工业品缺陷检测方法的第二实施例的流程示意图;
图4为本申请基于深度学习的无监督工业品缺陷检测方法的第三实施例的流程示意图。
具体实施方式
本申请为了解决传统技术因难以获取有缺陷图像样本而导致缺陷检测效果较差的问题,采用了使用训练样本对第一自编码器进行训练,并在训练过程中得到所述训练样本的隐含表达;其中,所述训练样本为无缺陷图像;对所述训练样本的隐含表达进行降维处理,得到正常样本的隐含表达;使用所述正常样本的隐含表达对第二自编码器中的记忆模块进行初始化,并使用所述训练样本对所述第二自编码器进行训练;将测试样本输入至已训练的第二自编码器,得到重建后的样本;使用所述测试样本及重建后的样本进行计算得到缺陷掩模,并根据所述缺陷掩模判断所述测试样本是否存在缺陷的技术方案。实现了在仅使用无缺陷的图像样本对模型进行训练的情况下对缺陷的有效检测,提升了缺陷检测的效果。
为了更好地理解上述技术方案,下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
结合图1所示,其为本申请各个实施例中涉及的装置的一种硬件结构示意图,所述装置可以包括:处理器101、存储器102、输入单元103、输出单元104等部件。本领域技术人员可以理解,图1所示的装置的硬件结构并不构成对所述装置的限定,所述装置可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图1对所述装置的各个部件进行具体的介绍:
处理器101是装置的控制中心,连接整个装置的各个部分,通过运行或执行存储在存储器102内的程序,以及调用存储在存储器102内的数据,执行装置的各种功能或对数据进行处理,从而对装置进行整体监控。此外,处理器101至少包括图形处理器GPU。
存储器102可用于存储装置的各种程序以及各种数据。存储器102主要包括存储程序区和存储数据区,其中,存储程序区至少存储了进行缺陷检测所需的程序;存储数据区可以存储装置的各种数据。此外,存储器102可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件或其他易失性固态存储器件。
输入单元103可用于从所述装置外部输入用于进行自编码器训练所需的数据以及需要进行缺陷检测的数据。
输出单元104可用于输出所述需要进行缺陷检测的数据的缺陷检测结果。
在本申请实施例中,处理器101可以用于调用存储在存储器102中的缺陷检测程序,并执行以下操作:
使用训练样本对第一自编码器进行训练,并在训练过程中得到所述训练样本的隐含表达;其中,所述训练样本为无缺陷图像;
对所述训练样本的隐含表达进行降维处理,得到正常样本的隐含表达;
使用所述正常样本的隐含表达对第二自编码器中的记忆模块进行初始化,并使用所述训练样本对所述第二自编码器进行训练;
将测试样本输入至已训练的第二自编码器,得到重建后的样本;
使用所述测试样本及重建后的样本进行计算得到缺陷掩模,并根据所述缺陷掩模判断所述测试样本是否存在缺陷。
在一实施例中,处理器101可以用于调用存储在存储器102中的缺陷检测程序,并执行以下操作:
获取预设数量的无缺陷图像;
将所述无缺陷图像缩放至相同尺寸,并对其进行归一化处理,得到训练样本。
在一实施例中,处理器101可以用于调用存储在存储器102中的缺陷检测程序,并执行以下操作:
将训练样本逐个输入至第一自编码器,以对所述第一自编码器进行训练;
在所述第一自编码器训练完成后,获取所述训练样本通过第一自编码器的编码器模块输出的特征向量,并将所述特征向量作为所述训练样本的隐含表达。
在一实施例中,处理器101可以用于调用存储在存储器102中的缺陷检测程序,并执行以下操作:
使用主成分分析对所述训练样本的隐含表达进行降维处理,得到降维后的隐含表达,并将其作为正常样本的隐含表达。
在一实施例中,处理器101可以用于调用存储在存储器102中的缺陷检测程序,并执行以下操作:
将测试样本输入至已训练的第二自编码器,得到重建后的图像,并计算所述测试样本与重建后的图像之间的均方误差;
若所述测试样本与重建后的图像之间的均方误差小于或等于预设阈值,则将所述重建后的图像作为重建后的样本。
在一实施例中,处理器101可以用于调用存储在存储器102中的缺陷检测程序,并执行以下操作:
若所述测试样本与重建后的图像之间的均方误差大于预设阈值,则将所述重建后的图像重新输入已训练的第二自编码器。
在一实施例中,处理器101可以用于调用存储在存储器102中的缺陷检测程序,并执行以下操作:
使用所述测试样本及重建后的样本计算结构相似性加权的像素间误差,并将所述像素间误差作为缺陷掩模;
将所述缺陷掩模的所有像素值之和作为缺陷指数,并根据所述缺陷指数判断所述测试样本是否存在缺陷。
在一实施例中,处理器101可以用于调用存储在存储器102中的缺陷检测程序,并执行以下操作:
若所述缺陷指数大于预设阈值,则判断所述测试样本存在缺陷;
若所述缺陷指数小于或等于预设阈值,则判断所述测试样本不存在缺陷。
本实施例根据上述技术方案,采用了使用训练样本对第一自编码器进行训练,并在训练过程中得到所述训练样本的隐含表达;其中,所述训练样本为无缺陷图像;对所述训练样本的隐含表达进行降维处理,得到正常样本的隐含表达;使用所述正常样本的隐含表达对第二自编码器中的记忆模块进行初始化,并使用所述训练样本对所述第二自编码器进行训练;将测试样本输入至已训练的第二自编码器,得到重建后的样本;使用所述测试样本及重建后的样本进行计算得到缺陷掩模,并根据所述缺陷掩模判断所述测试样本是否存在缺陷的技术手段。所以,有效解决了传统技术因难以获取有缺陷图像样本而导致缺陷检测效果较差的问题,实现了在仅使用无缺陷的图像样本对模型进行训练的情况下对缺陷的有效检测,提升了缺陷检测的效果。
为了更好地理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
结合图2所示,在本申请的第一实施例中,本申请的基于深度学习的无监督工业品缺陷检测方法具体包括以下步骤:
步骤S110,使用训练样本对第一自编码器进行训练,并在训练过程中得到所述训练样本的隐含表达。
在本实施例中,所述第一自编码器包括编码器模块和解码器模块。其中,所述编码器和解码器均为卷积神经网络。而所述训练样本为无缺陷图像。假设所述编码器为E,所述解码器为D,所述训练样本为x,则在将所述训练样本输入所述第一自编码器之后可以得到输出的图像为通过优化所述第一自编码器的损失函数即可对所述第一自编码器进行训练。而其中E(x)为训练样本x通过所述编码器E输出的训练样本x的特征向量,即为所述训练样本x的隐含表达。在所有的训练样本都被用于对第一自编码器进行训练之后,即可在训练过程中得到所有样本的隐含表达。
步骤S120,对所述训练样本的隐含表达进行降维处理,得到正常样本的隐含表达。
在本实施例中,假设所述训练样本的数量为N,则在步骤S110中可以得到所述N个训练样本的N个隐含表达,即为N维的隐含表达。但为了使数据更容易处理、更容易使用以及去除数据噪声,还需要对所述N维的隐含表达进行降维处理。而在对所述N维的隐含表达进行降维处理之后,可以得到低维的隐含表达,即为正常样本的隐含表达。
步骤S130,使用所述正常样本的隐含表达对第二自编码器中的记忆模块进行初始化,并使用所述训练样本对所述第二自编码器进行训练。
在本实施例中,所述第二自编码器包括编码器模块、记忆模块和解码器模块。假设步骤S120中得到的正常样本的隐含表达为M维,即得到了M个正常样本的隐含表达,则使用所述M个正常样本的隐含表达对所述第二自编码器中的记忆模块进行初始化。在使用所述正常样本的隐含表达对第二自编码器中的记忆模块进行初始化之后,即可使用所述训练样本对所述第二自编码器进行训练。
在一实施例中,假设所述训练样本的图像尺寸为W×H×3,隐含表达的维度为Dl,则所述第二自编码器的网络结构可以如下表所示。其中,卷积层(Conv)和反卷积层(Deconv)的格式为out_channels×kernel_size×stride×padding。
假设所述编码器为E,所述解码器为D,所述训练样本为x,则使用所述训练样本对所述第二自编码器进行训练的步骤可以包括:
步骤a,对第二自编码器进行前向传播。将所述训练样本输入所述第二自编码器,通过所述编码器前向传播得到所述训练样本的隐含表达为z=E(x)。计算所述隐含表达z与记忆模块中每个正常样本的隐含表达mi的余弦相似度然后使用softmax函数对其进行归一化,得到记忆模块中每个正常样本的隐含表达的权重为了使用少量最相似的正常样本来重建训练样本,将wi从大到小进行排序,并取其q分位数(0<q<1,q越小则使用的正常样本数量越少)的值作为阈值λ进行截断,即然后解码器所使用的隐含表达为最终得到的重建后的图像为
在训练过程中,还需要对所述第二自编码器中的记忆模块进行实时更新,并在训练完成后固定所述记忆模块的参数。
步骤S140,将测试样本输入至已训练的第二自编码器,得到重建后的样本。
在本实施例中,所述测试样本为可能存在缺陷的样本,即可能为无缺陷图像,也可能为有缺陷图像。给定一个测试样本,在将所述测试样本输入至所述已训练的第二自编码器之后,即可通过迭代优化的方法使用所述已训练的第二自编码器对所述测试样本进行重建,得到与所述测试样本对应的重建后的样本,即为对应的无缺陷的样本。其中,通过采用迭代优化的方法,可以使得重建后的样本只包含正常样本。
步骤S150,使用所述测试样本及重建后的样本进行计算得到缺陷掩模,并根据所述缺陷掩模判断所述测试样本是否存在缺陷。
在本实施例中,所述缺陷掩模是指图像中缺陷的分割结果,通过用不同的像素值来表示不同的区域。例如,有缺陷的位置的像素值可以为255,无缺陷的位置的像素值可以为0。通过使用所述测试样本及重建后的样本可以计算得到所述测试样本的缺陷掩模。在一实施例中,可以通过计算所述测试样本及重建后的样本的结构相似性加权的像素间误差来得到缺陷掩模。在得到了所述测试样本的缺陷掩模之后,可以通过对所述测试样本的缺陷掩模进行分析,从而判断所述测试样本是否存在缺陷。在一实施例中,可以通过计算所述缺陷掩模的像素值之和来判断测试样本是否存在缺陷。
上述方法的有益效果为采用了使用训练样本对第一自编码器进行训练,并在训练过程中得到所述训练样本的隐含表达;其中,所述训练样本为无缺陷图像;对所述训练样本的隐含表达进行降维处理,得到正常样本的隐含表达;使用所述正常样本的隐含表达对第二自编码器中的记忆模块进行初始化,并使用所述训练样本对所述第二自编码器进行训练;将测试样本输入至已训练的第二自编码器,得到重建后的样本;使用所述测试样本及重建后的样本进行计算得到缺陷掩模,并根据所述缺陷掩模判断所述测试样本是否存在缺陷的技术方案。所以,有效解决了传统技术因难以获取有缺陷图像样本而导致缺陷检测效果较差的问题,实现了在仅使用无缺陷的图像样本对模型进行训练的情况下对缺陷的有效检测,提升了缺陷检测的效果。
结合图3所示,在本申请的第二实施例中,本申请的基于深度学习的无监督工业品缺陷检测方法具体包括以下步骤:
步骤S211,获取预设数量的无缺陷图像。
在本实施例中,为了对自编码器进行充分训练,需要获取足够数量的训练样本。而因为在本申请中用于对自编码器进行训练的训练样本为无缺陷图像,所以需要获取足够数量的无缺陷图像作为训练样本。相应地,所述预设数量需要被设定为与所需要的无缺陷图像的数量相匹配的值。
步骤S212,将所述无缺陷图像缩放至相同尺寸,并对其进行归一化处理,得到训练样本。
在本实施例中,在获取了足够数量的无缺陷图像之后,还需要对所述无缺陷图像进行预处理。首先,需要将所述无缺陷图像缩放至相同尺寸,以使输入自编码器的图像的尺寸大小能够得到统一。而在对所述无缺陷图像进行缩放之后,还需要进一步对其进行归一化处理,即将无缺陷图像的每个像素上的数据映射为0到1之间的浮点数。通过对无缺陷图像进行归一化处理,可以简化自编码器训练过程中的数据处理。在对所述无缺陷图像进行处理之后,即可将所述无缺陷图像作为用于自编码器训练的训练样本。
步骤S221,将训练样本逐个输入至第一自编码器,以对所述第一自编码器进行训练。
在本实施例中,假设所述训练样本的图像尺寸为W×H×3,隐含表达的维度为Dl,则第一自编码器的网络结构可以如下表所示。其中,卷积层(Conv)和反卷积层(Deconv)的格式为out_channels×kernel_size×stride×padding。
假设所述编码器为E,所述解码器为D,所述训练样本为x,则在将所述训练样本输入所述第一自编码器之后可以得到输出的图像为而为了使第一自编码器学习到更纯净的正常样本,在得到输出的图像之后,还可以将所述输出的图像作为所述第一自编码器的输入再次前向传播得到输出的图像其中,损失函数为通过优化所述损失函数来对所述第一自编码器进行训练。在将所有训练样本逐个输入至所述第一自编码器来对所述第一自编码器进行训练之后,即可完成对所述第一自编码器的训练。
步骤S222,在所述第一自编码器训练完成后,获取所述训练样本通过第一自编码器的编码器模块输出的特征向量,并将所述特征向量作为所述训练样本的隐含表达。
在本实施例中,假设所述训练样本为x,则在所述第一自编码器训练完成后,可以获取所述训练样本x通过第一自编码器的编码器模块输出的特征向量为z=E(x),即为所述训练样本x的隐含表达。假设所述隐含表达的维度为Dl,所述训练样本的数量为N,则最终可以得到由所有训练样本的隐含表达组成的隐含表达矩阵,且所述隐含表达矩阵的维度为N×Dl。
步骤S231,使用主成分分析对所述训练样本的隐含表达进行降维处理,得到降维后的隐含表达,并将其作为正常样本的隐含表达。
在本实施例中,在得到了所有训练样本的隐含表达并获得所述隐含表达矩阵之后,可以对所述隐含表达矩阵进行转置,使其维度变为Dl×N。假设最终得到的正常样本的数量为M,则在使用主成分分析对所述转置后的隐含表达矩阵进行降维处理之后,可以得到维度为Dl×M的隐含表达矩阵。然后再次对所述维度为Dl×M的隐含表达矩阵进行转置,得到维度为M×Dl的隐含表达矩阵,即为正常样本的隐含表达矩阵。
步骤S240,使用所述正常样本的隐含表达对第二自编码器中的记忆模块进行初始化,并使用所述训练样本对所述第二自编码器进行训练。
步骤S250,将测试样本输入至已训练的第二自编码器,得到重建后的样本。
步骤S260,使用所述测试样本及重建后的样本进行计算得到缺陷掩模,并根据所述缺陷掩模判断所述测试样本是否存在缺陷。
上述方法的有益效果为在第一实施例的基础上对得到已训练的第二自编码器的步骤进行了补充和细化。所以,进一步有效解决了传统技术因难以获取有缺陷图像样本而导致缺陷检测效果较差的问题,实现了在仅使用无缺陷的图像样本对模型进行训练的情况下对缺陷的有效检测,提升了缺陷检测的效果。
结合图4所示,在本申请的第三实施例中,本申请的基于深度学习的无监督工业品缺陷检测方法具体包括以下步骤:
步骤S310,使用训练样本对第一自编码器进行训练,并在训练过程中得到所述训练样本的隐含表达。
步骤S320,对所述训练样本的隐含表达进行降维处理,得到正常样本的隐含表达。
步骤S330,使用所述正常样本的隐含表达对第二自编码器中的记忆模块进行初始化,并使用所述训练样本对所述第二自编码器进行训练。
步骤S341,将测试样本输入至已训练的第二自编码器,得到重建后的图像,并计算所述测试样本与重建后的图像之间的均方误差。
在本实施例中,给定一个测试样本,假设所述测试样本为x,则在将所述测试样本x输入至已训练的第二自编码器之后,可以得到重建后的图像为但是在得到了重建后的图像之后,还需要判断所述重建后的图像是否只包含了正常样本。此时,可以选择先计算所述测试样本与重建后的图像之间的均方误差,然后根据计算得到的均方误差来进行判断所述重建后的图像是否只包含了正常样本。其中,所述均方误差可以反映所述测试样本与重建后的图像之间的差异程度。
步骤S342,若所述测试样本与重建后的图像之间的均方误差小于或等于预设阈值,则将所述重建后的图像作为重建后的样本。
在本实施例中,所述预设阈值为根据实际需要预先设置的可以判定所述测试样本与重建后的图像之间的差异程度较小的均方误差对应的值。若所述测试样本与重建后的图像之间的均方误差小于或等于预设阈值,则意味着所述测试样本与重建后的图像之间的差异程度较小,此时可以判定重建后的图像只包含了正常样本。因此不需要继续对所述重建后的图像进行重建,可以直接将所述重建后的图像作为重建后的样本。
步骤S343,若所述测试样本与重建后的图像之间的均方误差大于预设阈值,则将所述重建后的图像重新输入已训练的第二自编码器。
在本实施例中,若所述测试样本与重建后的图像之间的均方误差大于预设阈值,则意味着所述测试样本与重建后的图像之间的差异程度仍然较大,此时不能判定重建后的图像只包含了正常样本,因此还需要继续对所述重建后的图像进行重建,即将所述重建后的图像重新输入已训练的第二自编码器,然后继续对输入的图像与重建后的图像之间的均方误差进行计算,从而判断是否可以将重建后的图像作为重建后的样本。
步骤S351,使用所述测试样本及重建后的样本计算结构相似性加权的像素间误差,并将所述像素间误差作为缺陷掩模。
在本实施例中,本申请为了消除重建过程中的微小定位误差的影响、提高缺陷掩模图像的准确度,采用了结构相似性加权的像素间误差来作为缺陷掩模的结果。假设所述测试样本为x,重建后的样本为则结构相似性的计算方法为其中,μx和分别为x和的平均值,δx和分别为x和的方差,c1和c2为用于维持稳定的常数。
而位置(i,j)的像素间误差的计算方法为其中C为图像的通道数量。综上所述,可以得到结构相似性加权的像素间误差的计算方法为其中,α为控制像素间误差在缺陷掩模中占比的系数,α越大则像素间误差权重越大。由于结构相似性是针对图片进行计算的,位置(i,j)的像素点的结构相似性指数定义为以此像素点为中心的边长为l个像素的正方形小图片(即x′ij和)之间的结构相似性指数。而当此像素点位于图像边缘时,超出图像的部分使用0像素值进行填充。
在经过计算之后,即可得到所述测试样本的缺陷掩模。
步骤S352,将所述缺陷掩模的所有像素值之和作为缺陷指数,并根据所述缺陷指数判断所述测试样本是否存在缺陷。
在本实施例中,根据步骤S351中得到的缺陷掩模K,可以判断所述测试样本x是否存在缺陷。首先对所述缺陷掩模K中的所有像素值进行求和,得到所述缺陷掩模的缺陷指数I=∑i∑jMij,然后根据所述缺陷指数判断所述测试样本是否存在缺陷。其中,所述缺陷指数标识该测试样本存在缺陷的可能性。缺陷指数越大,则测试样本存在缺陷的可能性越大;缺陷指数越小,则测试样本存在缺陷的可能性越小。在一实施例中,所述根据所述缺陷指数判断所述测试样本是否存在缺陷的步骤可以包括:若所述缺陷指数大于预设阈值,则判断所述测试样本存在缺陷;若所述缺陷指数小于或等于预设阈值,则判断所述测试样本不存在缺陷。其中,所述预设阈值为根据实际情况预先设置的可以判定测试样本存在缺陷的缺陷指数对应的值。
上述方法的有益效果为在第一实施例的基础上对检测测试样本的步骤进行了补充和细化。所以,进一步有效解决了传统技术因难以获取有缺陷图像样本而导致缺陷检测效果较差的问题,实现了在仅使用无缺陷的图像样本对模型进行训练的情况下对缺陷的有效检测,提升了缺陷检测的效果。
基于同一发明构思,本申请实施例还提供了一种装置,所述装置包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的缺陷检测程序,所述缺陷检测程序被所述处理器执行时实现如上述的基于深度学习的无监督工业品缺陷检测方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
由于本申请实施例提供的装置,为实施本申请实施例的方法所采用的装置,故而基于本申请实施例所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本申请实施例的方法所采用的装置都属于本申请所欲保护的范围。
基于同一发明构思,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有缺陷检测程序,所述缺陷检测程序被处理器执行时实现如上述的基于深度学习的无监督工业品缺陷检测方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
由于本申请实施例提供的计算机可读存储介质,为实施本申请实施例的方法所采用的计算机可读存储介质,故而基于本申请实施例所介绍的方法,本领域所属人员能够了解该计算机可读存储介质的具体结构及变形,故而在此不再赘述。凡是本申请实施例的方法所采用的计算机可读存储介质都属于本申请所欲保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种基于深度学习的无监督工业品缺陷检测方法,其特征在于,所述方法包括:
使用训练样本对第一自编码器进行训练,并在训练过程中得到所述训练样本的隐含表达;其中,所述训练样本为无缺陷图像;
对所述训练样本的隐含表达进行降维处理,得到正常样本的隐含表达;
使用所述正常样本的隐含表达对第二自编码器中的记忆模块进行初始化,并使用所述训练样本对所述第二自编码器进行训练;
将测试样本输入至已训练的第二自编码器,得到重建后的样本;
使用所述测试样本及重建后的样本进行计算得到缺陷掩模,并根据所述缺陷掩模判断所述测试样本是否存在缺陷。
2.如权利要求1所述的基于深度学习的无监督工业品缺陷检测方法,其特征在于,所述方法还包括:
获取预设数量的无缺陷图像;
将所述无缺陷图像缩放至相同尺寸,并对其进行归一化处理,得到训练样本。
3.如权利要求1所述的基于深度学习的无监督工业品缺陷检测方法,其特征在于,所述使用训练样本对第一自编码器进行训练,并在训练过程中得到所述训练样本的隐含表达的步骤包括:
将训练样本逐个输入至第一自编码器,以对所述第一自编码器进行训练;
在所述第一自编码器训练完成后,获取所述训练样本通过第一自编码器的编码器模块输出的特征向量,并将所述特征向量作为所述训练样本的隐含表达。
4.如权利要求1所述的基于深度学习的无监督工业品缺陷检测方法,其特征在于,所述对所述训练样本的隐含表达进行降维处理,得到正常样本的隐含表达的步骤包括:
使用主成分分析对所述训练样本的隐含表达进行降维处理,得到降维后的隐含表达,并将其作为正常样本的隐含表达。
5.如权利要求1所述的基于深度学习的无监督工业品缺陷检测方法,其特征在于,所述将测试样本输入至已训练的第二自编码器,得到重建后的样本的步骤包括:
将测试样本输入至已训练的第二自编码器,得到重建后的图像,并计算所述测试样本与重建后的图像之间的均方误差;
若所述测试样本与重建后的图像之间的均方误差小于或等于预设阈值,则将所述重建后的图像作为重建后的样本。
6.如权利要求5所述的基于深度学习的无监督工业品缺陷检测方法,其特征在于,所述将测试样本输入至已训练的第二自编码器,得到重建后的样本的步骤,还包括:
若所述测试样本与重建后的图像之间的均方误差大于预设阈值,则将所述重建后的图像重新输入已训练的第二自编码器。
7.如权利要求1所述的基于深度学习的无监督工业品缺陷检测方法,其特征在于,所述使用所述测试样本及重建后的样本进行计算得到缺陷掩模,并根据所述缺陷掩模判断所述测试样本是否存在缺陷的步骤包括:
使用所述测试样本及重建后的样本计算结构相似性加权的像素间误差,并将所述像素间误差作为缺陷掩模;
将所述缺陷掩模的所有像素值之和作为缺陷指数,并根据所述缺陷指数判断所述测试样本是否存在缺陷。
8.如权利要求7所述的基于深度学习的无监督工业品缺陷检测方法,其特征在于,所述根据所述缺陷指数判断所述测试样本是否存在缺陷的步骤包括:
若所述缺陷指数大于预设阈值,则判断所述测试样本存在缺陷;
若所述缺陷指数小于或等于预设阈值,则判断所述测试样本不存在缺陷。
9.一种装置,其特征在于,所述装置包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的缺陷检测程序,所述缺陷检测程序被所述处理器执行时实现如权利要求1至8任一项所述的基于深度学习的无监督工业品缺陷检测方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有缺陷检测序,所述缺陷检测程序被处理器执行时实现如权利要求1至8任一项所述的基于深度学习的无监督工业品缺陷检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011377532.9A CN112446869A (zh) | 2020-11-27 | 2020-11-27 | 基于深度学习的无监督工业品缺陷检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011377532.9A CN112446869A (zh) | 2020-11-27 | 2020-11-27 | 基于深度学习的无监督工业品缺陷检测方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112446869A true CN112446869A (zh) | 2021-03-05 |
Family
ID=74739077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011377532.9A Pending CN112446869A (zh) | 2020-11-27 | 2020-11-27 | 基于深度学习的无监督工业品缺陷检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112446869A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113129272A (zh) * | 2021-03-30 | 2021-07-16 | 广东省科学院智能制造研究所 | 一种基于去噪卷积自编码器的缺陷检测方法及装置 |
CN113205013A (zh) * | 2021-04-19 | 2021-08-03 | 重庆创通联达智能技术有限公司 | 物体识别方法、装置、设备及存储介质 |
CN113256602A (zh) * | 2021-06-10 | 2021-08-13 | 中科云尚(南京)智能技术有限公司 | 一种基于自编码器的无监督风机叶片缺陷检测方法及*** |
CN113269425A (zh) * | 2021-05-18 | 2021-08-17 | 北京航空航天大学 | 无监督条件下设备健康状态的定量评估方法及电子设备 |
CN114693685A (zh) * | 2022-06-02 | 2022-07-01 | 深圳市华汉伟业科技有限公司 | 无监督的缺陷检测模型的训练方法、缺陷检测方法 |
-
2020
- 2020-11-27 CN CN202011377532.9A patent/CN112446869A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113129272A (zh) * | 2021-03-30 | 2021-07-16 | 广东省科学院智能制造研究所 | 一种基于去噪卷积自编码器的缺陷检测方法及装置 |
CN113205013A (zh) * | 2021-04-19 | 2021-08-03 | 重庆创通联达智能技术有限公司 | 物体识别方法、装置、设备及存储介质 |
CN113269425A (zh) * | 2021-05-18 | 2021-08-17 | 北京航空航天大学 | 无监督条件下设备健康状态的定量评估方法及电子设备 |
CN113256602A (zh) * | 2021-06-10 | 2021-08-13 | 中科云尚(南京)智能技术有限公司 | 一种基于自编码器的无监督风机叶片缺陷检测方法及*** |
CN114693685A (zh) * | 2022-06-02 | 2022-07-01 | 深圳市华汉伟业科技有限公司 | 无监督的缺陷检测模型的训练方法、缺陷检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112446869A (zh) | 基于深度学习的无监督工业品缺陷检测方法及装置 | |
CN110619618A (zh) | 一种表面缺陷检测方法、装置及电子设备 | |
CN112036513B (zh) | 基于内存增强潜在空间自回归的图像异常检测方法 | |
CN111275660B (zh) | 一种平板显示器缺陷检测方法及装置 | |
CN110930378B (zh) | 基于低数据需求的肺气肿影像处理方法及*** | |
CN115619743A (zh) | Oled新型显示器件表面缺陷检测模型的构建方法及其应用 | |
WO2023116632A1 (zh) | 基于时空记忆信息的视频实例分割方法和分割装置 | |
CN114170184A (zh) | 一种基于嵌入特征向量的产品图像异常检测方法及装置 | |
CN117011274A (zh) | 自动化玻璃瓶检测***及其方法 | |
TWI803243B (zh) | 圖像擴增方法、電腦設備及儲存介質 | |
CN115994900A (zh) | 基于迁移学习的无监督缺陷检测方法和***、存储介质 | |
JP2021143884A (ja) | 検査装置、検査方法、プログラム、学習装置、学習方法、および学習済みデータセット | |
CN111914949B (zh) | 基于强化学习的零样本学习模型的训练方法及装置 | |
KR102178238B1 (ko) | 회전 커널을 이용한 머신러닝 기반 결함 분류 장치 및 방법 | |
CN112884721A (zh) | 一种异常检测方法、***及计算机可读存储介质 | |
CN115862119B (zh) | 基于注意力机制的人脸年龄估计方法及装置 | |
CN117058079A (zh) | 基于改进ResNet模型的甲状腺显像图像自动诊断方法 | |
CN116912144A (zh) | 一种基于大律算法与通道注意力机制的数据增强方法 | |
CN116563243A (zh) | 输电线路的异物检测方法、装置、计算机设备和存储介质 | |
CN115937991A (zh) | 人体摔倒识别方法、装置、计算机设备及存储介质 | |
Fan et al. | EGFNet: Efficient guided feature fusion network for skin cancer lesion segmentation | |
CN116152191A (zh) | 基于深度学习的显示屏裂纹缺陷检测方法、装置及设备 | |
CN115358952A (zh) | 一种基于元学习的图像增强方法、***、设备和存储介质 | |
CN115564702A (zh) | 模型训练方法、***、设备、存储介质及缺陷检测方法 | |
CN113034432A (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 |