表面缺陷检测的混合监督:从弱监督学习到完全监督学习

论文地址https://arxiv.org/abs/2104.06064
摘要
深度学习方法最近开始用于解决工业质量控制中的表面缺陷检测问题。然而,由于学习需要大量数据,通常需要高精度的标签,许多工业问题无法轻松解决,或者由于注释要求,解决方案的成本将显著增加。在这项工作中,我们放松了对完全监督学习方法的严格要求,减少了对高度详细注释的需要。通过提出深度学习体系结构,我们探索了在表面缺陷检测任务中使用不同细节的注释,从通过混合监督的弱(图像级)标签到完整(像素级)注释。提出的端到端架构由两个子网络组成,产生缺陷分割和分类结果。在工业质量检验的几个数据集上对所提出的方法进行了评估:KolektorSDD、DAGM和Severstal钢缺陷。我们还提供了一个名为KolektorSDD2的新数据集,其中包含3000多张包含多种缺陷的图像,这些图像是在解决实际工业问题时获得的。我们在所有四个数据集上展示了最先进的结果。该方法在完全监督环境下优于所有相关方法,在只有图像级标签可用时也优于弱监督方法。我们还表明,在弱标记的训练图像中只添加少量完全注释样本的混合监督可以产生与完全监督模型性能相当的性能,但注释成本显著降低。
1.介绍
生产件的表面质量检验是工业生产过程的重要组成部分。传统上,经典的机器视觉方法已被用于自动化视觉质量检查过程,然而,随着工业4.0范式的引入,基于深度学习的算法已开始被采用。大容量的复杂功能和易于适应不同的产品和缺陷,而无需明确的功能手工工程,使得深度学习模型非常适合工业应用。然而,深度学习方法的一个重要方面是需要大量注释数据,而这些数据在工业环境中往往很难获得。尤其是,数据采集往往受到缺陷样本可用性不足和图像标记过程限制的限制。在本文中,我们探讨了如何将弱监督和完全监督学习结合到工业表面缺陷检测的统一混合监督方法中,来解决这些局限性。
在大规模生产中,产品的数量不是主要问题,但根据设计,无缺陷和缺陷样品之间的比例严重偏向于无缺陷产品。通常情况下,异常项目比非异常项目发生的可能性低100倍、1000倍甚至100万倍,导致用于培训的缺陷项目数量有限。某些缺陷类型也可能非常罕见,只有少数样本可用。这代表了有监督的深度学习方法的一个主要问题,该方法旨在从大量带注释的样本中学习缺陷的特定特征。
注释本身存在一个额外的问题,因为它们需要足够详细,以便正确区分异常图像区域和常规图像区域。需要像素级注释,但在实践中,它们通常很难生成。当明确定义缺陷和常规表面外观之间的边界具有挑战性时,这一问题尤其严重。此外,即使在边界清晰的情况下,创建精确的像素级注释也很烦人,成本也很高。因此,重要的是通过减少标注所需的注释量并降低预期标签的精度。
各种无监督和弱监督的深度学习方法已经被开发出来,以减少对大量注释数据的需求。前者仅使用无缺陷图像来训练模型,而后者使用弱标签,不需要像素级注释。尽管这两种方法都显著降低了获取带注释数据的成本,但它们在缺陷检测任务上的性能明显低于完全监督的方法。此外,对于许多工业问题,通常可以使用少量完全注释的数据来训练模型,以提高性能。如图1所示,这可能会导致一些完全标记的样本和一些标记较弱的样本的混合监督模式。
无监督和弱监督的方法无法利用这些可用数据。混合监控已应用于其他计算机视觉任务,如图像分割,但尚未考虑用于工业表面缺陷检测。

在这项工作中,我们关注一种适用于工业质量控制问题的深度学习方法,该问题具有不同的缺陷样本及其注释的可用性。特别是,我们提出了一种用于异常检测的深度学习模型,该模型在图像级标签上使用弱监督进行训练,同时在像素级标签上使用完全监督(如果可用)。因此,建议的网络可以在混合监督模式下工作,充分利用可用的数据和注释。通过更改所需标签的数量和细节,该方法提供了一个选项,可以在注释成本和分类性能之间找到最合适的折中方案。混合监控通过实现端到端架构来实现,该架构具有两个子网络,这两个子网络利用第一子网络中的像素级注释和第二子网络中的图像级注释同时进行训练。虽然可以在训练期间使用像素级标签来进一步提高所提出方法的性能,但我们的主要目标不是分割缺陷,而是识别包含缺陷表面的图像。此外,我们还考虑了基于粗区域的标注中的空间不确定性,以进一步降低标注成本。
我们对提议的方法在几个工业问题上进行了广泛的评估。我们在DAGM、KolektorSDD和Severstal Steel数据集上演示了性能。由于缺乏真实的、不饱和的、大的、注释良好的表面缺陷数据集,我们还编译并公开了一个名为KolektorSDD2的新数据集。它基于一个实际的、真实的例子,由3000多幅图像组成,无监督的、弱监督的、混合监督的、完全监督的标记工作,包含几种不同难度的缺陷类型。图像经过仔细注释,以便于对表面缺陷检测方法进行准确的基准测试。当只有弱标记标注可用时,该模型优于相关的无监督和弱监督方法,而在完全监督的情况下,它也优于所有其他相关的缺陷检测方法。此外,当在混合监控中仅添加少量完全注释的图像时,所提出的模型显示了显著的性能改进。这通常会导致性能与完全监督模型的结果相当,但注释成本显著降低。本文的其余部分结构如下:在第2节中,我们介绍了相关工作,然后在第3节中描述了所提出的用于表面缺陷检测的混合监督网络。我们在第4节中介绍了实验设置和评估数据集的细节,而在第5节中介绍了详细的评估结果。最后,我们将在第6节进行讨论。
2.相关工作
全监督缺陷检测 几项相关工作探索了深度学习在工业异常检测和分类中的应用,包括Masci等人使用浅层网络进行钢缺陷分类的早期工作,以及Weimer等人对现代深部网络体系结构的更全面研究。从最近的工作来看,Kim等人使用了一个VGG16体系结构,该体系结构在一般图像上进行了预训练,用于表面的光学检查,而Wang 2等人则为同一任务应用了一个定制的11层网络。Raˇcki等人进一步提出用完全卷积结构来提高基于补丁的处理效率,并提出了一种两阶段网络结构,该结构具有用于错误像素定位的分割网络和用于每幅图像缺陷检测的分类网络。在我们最近的工作中,我们对两阶段体系结构进行了广泛的研究,并进行了一些额外的改进,在异常检测问题的实际案例中,我们展示了优于U-Net和DeepLabv3等其他人的最新结果。我们还扩展了这项工作,并为两阶段方法提出了一种端到端的学习方法,但仍然处于完全监督的状态,没有在混合或弱监督学习的背景下考虑任务。Dong等人也使用了U-Net架构,但将其与SVM结合用于分类,并将随机森林用于检测。最近的其他方法也探索了轻量级网络。Lin等人使用一种称为MobileNet-v2dense的紧凑多尺度级联CNN进行表面缺陷检测,而Huang等人则提出了一种更轻量级的网络,使用Atrus spatial pyramid pooling(ASPP)和深度可分离卷积。
无监督学习 在无监督学习中,不需要注释(即使可用,也不考虑注释),从重建目标、对抗性损失或类似的自我监督目标中学习特征。在无监督异常检测解决方案中,通常只考虑非异常图像,通过将异常作为特征的显著偏差进行分布外检测来训练模型。提出了基于这一原理的多种方法,如AnoGAN及其后继的f-AnoGAN,利用生成性对抗网络,或基于三重态损失的深度度量学习方法,学习非异常样本的特征,或者,将预先训练好的辨别性潜在嵌入转移到更小的网络中,使用知识转移进行分布外检测,称为无信息学生。后者在MVTec数据集上实现了无监督异常检测的最新成果,然而,这仅部分反映了现实世界工业示例的复杂性。
弱监督学习 在语义分割和目标检测的背景下,已经开发了多种弱监督深度学习方法。在早期应用中,卷积神经网络使用多实例学习(MIL)或约束优化(如约束CNN)的图像标签进行训练。Seleh等人的方法进一步使用密集条件随机场生成前景/背景遮罩,作为对象的先验信息,而Bearman等人使用对象位置的单像素点标签,而不是图像标签。Ge等人使用了从弱注释视觉数据中学习的分段聚合框架,并将其应用于输电线路上的绝缘子检测。其他人利用类激活图(CAM)。Zhu等人将CAM应用于分割,而Diba等人同时解决了图像分类、目标检测和语义分割,其中图像分类中的CAM用于一个单独的级联网络,以改进最后两个任务。
类激活图也应用于异常检测。Lin等人利用AlexNet架构中的CAM解决了LED芯片中的缺陷检测问题,以定位缺陷,但仅在图像级标签上学习。Zhang等人在他们提出的CADN模型中,利用边界盒预测扩展了缺陷定位CAM。他们的模型直接从类别感知的热图中预测边界框,同时还使用知识提取来降低最终推理模型的复杂性。然而,两种方法都不考虑学习过程中的像素级标签,因此在可用时未能利用该信息。
混合监督 一些相关的方法也考虑了不同精度标签的学习。Souly等人将完全标记的分割遮罩与未标记的图像相结合,用于像素级语义分割任务。它们通过生成带有GAN的图像以对抗性的方式训练模型,并将任何提供给GAN中的鉴别器的弱图像级标签包括在内,从而进一步改进语义分割。Mlynarski等人解决了从磁共振图像中分割脑肿瘤的问题。他们建议使用完全分割的图像,并将其与弱注释的图像级信息相结合。他们专注于分割脑肿瘤图像的目标,而我们主要关注的是工业表面缺陷检测领域中的图像级异常检测。它们也不会对弱监督学习和完全监督学习的不同混合进行任何分析,这是本文的中心点。
3.混合监督下的异常检测
在本节中,我们将介绍一个深度学习模型,该模型可以在完全(像素级)和弱(图像级)标记数据的混合上进行训练。在弱标记数据上学习需要一个模型,该模型能够在可用的情况下利用分割背景真相/遮罩,然而,它也需要利用图像级别,即仅类标签。该模型基于我们之前的架构,包含两个子网络,其中分割子网络利用精细像素级信息,分类子网络利用粗糙图像级信息。图2描述了具有两个子网络的总体架构,每个子网络的架构细节如表1所示。


3.1. 端到端学习的混合监督
只有同时训练分类和分割子网络时,才能从弱标记和完全标记样本的混合中学习。
端到端学习 我们将分割和分类损失合并为一个统一的损失,允许以端到端的方式同时学习。合并损失定义为:

其中,Lseg和LCL分别代表细分和分类损失。对于两者,我们都使用交叉熵损失。剩下的参数是:δ作为额外的分类损失权重,γ作为存在像素级注释的指示器,λ作为平衡每个子网络在最终损失中的贡献的平衡因子。请注意,λ、γ和δ不能取代SGD中的学习率η,而是对其进行补充。δ使我们能够平衡这两种损失的贡献,这两种损失可能在不同的尺度上,因为分割损失在所有像素上是平均的,其中大多数是非异常的。
我们还解决了在初始不稳定的分割特征上学习分类网络的问题,方法是在开始时只学习分割,然后逐渐向最后只学习分类的方向发展。我们通过将它们的平衡因子计算为一个简单的线性函数来表示:

其中n是当前历元指数(current-epoch index),nep是所有训练epoch的数量。如果不逐渐平衡这两种损失,学习在某些情况下会导致梯度爆炸。我们将训练重心从分段逐渐转移到分类的过程称为动态平衡损失。此外,使用较低的δ值可以进一步减少早期噪声分割特征的学习问题。
使用弱标记数据 拟议的端到端学习管道旨在利用弱标记数据和完全标记数据。这种混合监督的采用使我们能够充分利用任何像素级标签(如果可用),这是弱监督和无监督方法无法使用的。我们使用等式1中的γ来控制基于像素级注释的分割子网络的学习:

只有当异常(正)图像的像素级标签不可用时,我们才禁用分割学习。对于非异常(负)训练样本,所有像素的分割输出应始终为零,因此,仍然可以执行分割学习。这使我们能够将非异常训练样本视为完全标记样本,并使我们能够在无缺陷图像的弱监督学习过程中,在监督模式下训练分割子网络,即使在没有像素级注释的情况下也是如此。
梯度流量调整 我们通过分段子网络阻止梯度流从分类层流出,这是稳定学习和以单端到端方式进行训练所必需的。在训练的初始阶段,分割子网络尚未产生有意义的输出,因此,分类子网络也没有,因此,从分类层反向传播的误差梯度可能会对分割部分产生负面影响。我们建议完全停止这些梯度,从而防止分类子网络改变分割层。我们通过在连接分割和分类网络的两点处停止误差反向传播来实现这一点。主要的一点是在分类网络中使用分割特征。这由图2中的底部二极管符号表示。第二个点是分类子网络使用的max/avg池快捷方式,在此点停止误差梯度。图2中用顶部二极管符号表示。这些快捷方式利用分割子网络的输出映射来加速分类学习。通过它们传播梯度会将误差梯度添加到分割的输出贴图中,然而,这是不必要的,因为这些特征已经具有像素级的真实性。在没有梯度流量调整的情况下,我们观察到在完全监督的情况下,绩效下降,在弱监督和混合监督的训练中,不稳定性更大。
3.2. 考虑空间标签的不确定性
当只有近似的、基于区域的标签可用时,如图3所示,我们建议以不同的方式考虑注释的缺陷区域的不同像素。特别是,更多的注意力集中在标注区域的中心,而较少关注外部部分。这减轻了缺陷边缘产生的模糊性,因为缺陷是否存在非常不确定。这是通过相应地加权分割损失来实现的。我们使用距离变换算法,根据每个像素到最近的负标记像素的距离,对正标记处的每个像素的影响进行加权。我们将正像素的权重公式化为:

式中,ˆL(pix)是像素的原始损失,D(pix)/D(pixmax)是到最近负像素的距离,该距离由地面真值区域内的最大距离值归一化,并且Ω(x) 是一个缩放函数,用于将相对距离值转换为损失的权重。一般来说,缩放函数Ω(x) 可以根据缺陷和注释类型进行不同的定义,但是,我们发现简单的幂函数可以为不同的缺陷类型提供足够的灵活性:

其中,p控制像素重要性随着距离中心越来越远而降低的速率,而Wpos是所有正像素的额外标量权重。我们经常发现p=1或p=2表现最好,这取决于注释类型。分割掩码和权重的示例如图3所示。请注意,负标签像素的权重保持为1。

4.实验步骤
在本节中,我们详细介绍了用于评估所提出方法的数据集和性能指标,并提供了额外的实现细节。
4.1. 数据集
我们在四个基准数据集上对所提出的方法进行了广泛的评估。单个数据集的摘要显示在表2,其他细节如下所示。来自所有四个数据集的两幅图像如图4、5、8a、8b和8c所示。

DAGM DAGM数据集是用于表面缺陷检测的著名基准数据集。它包含十种不同计算机生成的表面和各种缺陷(如划痕或斑点)的灰度图像。每个曲面都被视为一个二元分类问题。最初,共有六类,后来又增加了四类;因此,一些相关方法只报告前六个类的结果,而其他方法则报告所有十个类的结果。
KolektorSDD KolektorSDD数据集包含真实生产项目的灰度图像;其中许多都含有可见的表面裂纹。由于样本量较小,图像被分成三个部分,而最终结果报告为三个交叉验证的平均值。
KolektorSDD2 由于上述数据集已经得到了实际解决,并且对真实世界、可靠、复杂和注释良好的表面检测数据集的巨大需求将使不同方法之间能够进行公平比较,我们编译了一个新的数据集Kolektor Surface Defection dataset 2,缩写为KolektorSDD2。该数据集由我们的工业合作伙伴科莱克托集团提供并部分注释的缺陷生产项目的彩色图像构成,并通过视觉检查系统捕获。拟议数据集的图像是在受控环境中捕获的,大小相似,大约宽230像素,高630像素。数据集分为序列和测试子集,序列中有2085个阴性样本和246个阳性样本,测试子集中有894个阴性样本和110个阳性样本。缺陷用细粒度分割掩模标注,形状、大小和颜色各不相同,从小划痕和小斑点到大的表面缺陷。图4显示了该数据集中的几个图像。
Severstal钢缺陷数据集 Severstal Steel缺陷数据集明显大于其他三个数据集,包含4类12568个灰度图像,包含各种缺陷。我们在评估中只使用数据集的一个子集。特别是,我们使用所有的负面图像,但只考虑与图像中存在的最常见的缺陷类(第3类)的正面图像。缺陷的大小、形状和外观各不相同,从划痕、凹痕到多余的材料。尽管数据集相当大且多样,但一些缺陷非常模糊,并且可能没有如图8c中的第三个示例中所观察到的那样进行适当注释。

4.2. 性能指标
在所有实验中,我们重点评估每幅图像的分类指标,这是工业质量控制中最相关的指标,因为它们决定是否保留或丢弃检查项目。特别是,我们主要根据平均精度(AP)来衡量性能,平均精度(AP)被计算为precisionrecall曲线下的面积。对于DAGM数据集,我们还报告了用于报告相关文献中结果的其他几个指标,以便能够将所提出的方法与相关方法进行公平比较。
4.3. 实施细节
提出的架构是在PyTorch框架中实现的。在所有实验中,网络都是用随机梯度下降法训练的,没有动量,也没有重量衰减。对于所有的实验,我们都禁用了从分类网络到分割网络的梯度流,并对正像素使用损失加权。我们在混合监督和完全监督学习的所有情况下启用动态平衡损失,但在仅使用弱标签时禁用。由于像素级标签在弱监督情况下永远不可用,因此事实证明,立即开始学习分类层比随着λ的逐渐增加而延迟更有用。为了解释不平衡的数据集,我们采用负样本的欠采样,在每个训练阶段,我们选择大小相同的负样本作为正子集。我们还确保在学习过程中,所有负面图像的使用频率大致相同。我们还对窄而小的数据集中的注释应用形态学膨胀,以扩大标签并促进距离变换加权。这通常被证明比使用狭义注释更好,因为小缺陷可能难以精确注释,并且对于某些类型的缺陷,无法精确定义缺陷和背景之间的边界。此外,距离变换为缺陷边缘附近的像素分配非常小的权重,因此扩展注释会增加这些像素的权重。
4.4. 训练和推理时间
该方法在单台Nvidia RTX2080Ti GPU上运行,可实时检测512×512图像(DAGM)、512×1408图像(KSDD)、232×640图像(KSDD2)和1600×256图像(Severstal Steel),分别达到57帧、23帧、85帧和36帧。训练时间取决于数据集的大小。在我们的实验中,在DAGM上训练一个模型需要35分钟(7或10类),在Severstal Steel(Nall=3000)上训练需要460分钟,而在KSDD2和KSDD(单次折叠)上训练分别需要15和32分钟。
4.5. 相关方法
我们将我们的方法与文献中报告了DAGM和KolektorSDD结果的几种相关方法进行了比较。此外,我们评估了适用于所有四个数据集的两种最先进的无监督方法。下面,我们将详细介绍这两种无监督方法的实现。
Uninformed students 由于其代码尚未公开,我们实现了自己的版本,其结果与文献中报告的结果相当。此外,我们还选择了使用与[23]类似的每幅图像缺陷评分进行分类,这与最初的实现相比略微改善了结果。对于每幅图像,我们执行了一个21×21像素的平均池,步幅=1,以获得面片得分,然后计算最终图像得分为s=max(面片)/(1+avg(像素)),即我们将最大面片得分除以平均像素得分加上1。这增加了所有四个数据集中的AP。
f-AnoGAN 我们公开使用了f-AnoGAN的TensorFlow实现。在所有实验中,我们提取了每幅图像500个补丁进行训练,每个补丁大小为64×64像素。在推理过程中,提取64×64像素的面片大小,并对每个像素位置进行分类,从而生成与原始图像大小相同的热图。对于评分,我们使用了重建图像和原始图像之间的距离,以及重建图像和原始图像之间的鉴别器特征。均方误差用于测量两个距离。我们还选择使用类似于[23]的标准化评分,这略微改善了噪声输出的结果。
5.结果评估
在本节中,我们将介绍对所提出的方法在几个工业质量控制问题上进行广泛评估的结果。我们首先介绍了对DAGM数据集的评估,以便与不同的相关工作进行比较,然后介绍了KolektorSDD、KolektorSDD2和Severstal steel的结果,所有这些都代表了现实世界工业案例中的实际表面异常检测问题。最后,我们给出了详细的消融研究,分析了所提出方法中各个组件的性能。
我们通过改变正(即异常)训练样本的数量来模拟和评估不同级别的监督,我们有可用的像素级分割模板(即使用的分段异常图像的数量):
i) 监管不力,所有图像都只有图像级标签(即N=0),
ii)混合监控,包括所有图像的图像级标签,但也包括仅用于异常图像子集的像素级标签(即0 < N < Nall)
iii)全面监控,为所有异常图像(即N=Nall)提供图像级和像素级标签。
虽然我们使用分割遮罩限制了图像的数量,但我们始终使用图像级别标签的数据,即仅指示样本中是否存在异常的弱标签。

5.1. DAGM
我们首先对DAGM数据集进行了评估。我们考虑正分割样本的数目n={ 0, 5, 15,45,nAL},并且仅使用图像级标签用于剩余的训练图像。在所有情况下,我们针对nep=70个时期进行培训,学习率η=0.05,批量bs=1,δ=1,wpos=10,p=1。我们扩展了7×7核的分割模板。
在图6中,我们展示了数据集所有10类的AP。对于每个类别,我们显示了无监督方法和模型的AP,以及所有不同的N值。在每个条的左下部分,我们还指出了我们使用像素级标签N/Nall的阳性样本的百分比,这些标签被编码为暗灰色和浅灰色条的比例。
即使N=0,建议的方法在6个类中的AP也达到90%以上,平均比当前最先进的无监督方法高出7.2个百分点。仅引入五个像素级标签,使该方法在8个类上实现100%的检测率,并将平均AP提高到91.5%。最后,该方法在仅有15个像素级标签的所有10个类别上实现了100%的检测率,因此优于其他完全监督的方法,而像素级标签的阳性样本不到四分之一。图5中描绘了检测的几个示例。

   表3中,我们将所提出的方法与其他一些方法进行了比较。我们报告了前六个类别的平均CA和mAcc=tpr+tnr/2指标,因为使用这些指标的相关方法只报告前六个类别的结果。其他指标在所有10个类上取平均值。所提出的方法优于表顶部显示的所有其他弱监督和非监督方法,以及表底部显示的所有完全监督方法。此外,在只有15个完全注释的像素级样本的混合监控中,可以实现100%的检测率。这表明,在允许混合监督时,具有优越的性能和灵活性。

5.2. KolektorSDD
在KolektorSDD数据集上,我们改变了分段阳性样本的数量N={0,5,10,15,20,Nall},其中Nall=33,并根据平均精度(AP)报告性能。所有混合和完全监督运行均使用相同的超参数,nep=50、η=1、bs=1、δ=0.01、wpos=1和p=2,而对于无像素级注释的运行,我们将δ增加到1,将η减少到0.01。我们扩展了7×7核的分割模板。
在图7中,我们展示了不同数量的分段阳性样本的AP。在没有任何分割的阳性样本的情况下,我们提出的方法已经实现了93.4%的AP,并且显著优于目前最先进的无监督方法,这些方法不(也不能)使用任何像素级信息,其结果大约翻倍。当只添加5个分段样本时,AP急剧增加至99.1%,接近完全监督情况下的AP。这很好地表明,并非所有图像都需要完整的注释,只有少数注释图像就足以获得令人满意的结果。在这种情况下,只有不到15%的图像需要进行注释,这可以在几乎没有分类损失的情况下显著降低注释成本。当使用所有完全标记的样本时,该方法的检测率达到100%。图8a中描绘了缺陷的几个示例。

5.3. KolektorSDD2
接下来,我们在新提出的KolektorSDD2数据集上评估我们的方法。我们在所有实验中使用了相同的超参数,nep=50,η=0.01,bs=1,δ=1,wpos=3和p=2。由于分割模板非常精细,我们使用了一个更大的15×15内核进行扩展。
图9显示了在这个具有挑战性的数据集上获得的结果,其中显示了所有N值的AP。即使没有任何像素级标签,该方法也优于目前最先进的无监督方法,并实现73.3%的AP。当引入16个分段样本时,AP显著增加至83.2%,并随着额外像素级标签的引入而稳步增加,当N=Nall时,AP达到95.4%。这表明,所提出的方法在引入分段样本时具有良好的可扩展性,并且能够充分利用所呈现样本的所有信息。图8b中描绘了检测的几个示例。
5.4. Severstal钢缺陷数据集
最后,我们在Severstal钢缺陷数据集上对所提出的方法进行了评估。由于这是一个大数据集,我们还改变了可用的正面训练图像的总数。我们使用Nall={300,750,1500,3000}
阳性样本,然后对每个病例使用N=
{0,10,50,150,300},以及N={750,1500,3000},其中N≤ 使用像素级ac精度分割的Nall。我们使用了所有阴性样本,无论使用的是N还是NAL。当Nall分别为{300,750,1500,3000}时,我们训练nep={90,80,60,40},并使用η=0.1,bs=10,δ=0.1,wpos=1和p=2。
图10显示了所有NAL和N的AP。根据NAL对条进行分组,标签显示分段阳性样本的数量和无像素级标签的阳性样本的数量。我们观察到,所提出的模型能够仅从图像级别的标记样本中学习,在N=0和Nall={300、750、1500、3000}的情况下,其AP分别达到90.3%、91.6%、92.5%和94.1%。请注意,对于10倍大的阳性集,AP仅增加3.8个百分点(从90.3%增加到94.1%),表明随着阳性样本数量的增加,性能呈对数增长。随着pixellevel标签的引入,整体性能显著提高,尤其是对于较小NAL的实验。在Nall=300的情况下,仅添加50个像素级标签时,AP从90.3%增加到94.2%,超过仅使用3000个带图像级标签的阳性样本时的AP。此外,我们可以通过使用3000个带有150个像素级标签的阳性样本获得与使用300个带有像素级标签的阳性样本类似的结果。图8c中描绘了检测的几个示例。
5.5. 消融研究
最后,我们评估了所提出模型中各个组件的影响,即动态平衡损耗、梯度流量调整和距离变换。我们对DAGM、KolektorSDD和Severstal钢缺陷数据集进行了消融研究,然而,对于后者,我们仅使用一部分图像来减少训练时间,我们使用1000个阳性和阴性样本进行训练,同样数量的样本用于测试,我们训练了50个epochs。
我们通过逐步启用单个组件和禁用特定组件,同时保留所有其余组件的启用状态来报告性能。结果见表4。结果表明,在所有三个数据集上,在没有启用任何组件的情况下,性能最差,而在使用所有三个组件的情况下,性能最好。在后一种情况下,提出的模型能够完全解决DAGM和KolektorSDD数据集,同时在Severstal Steel数据集上实现98.74%的AP。选项卡的第二部分。表4还展示了每个组件对于弱监督学习和混合监督的重要性。在这两种情况下,只有启用所有组件,才能在所有三个数据集上获得最佳结果。请注意,对于弱监督学习,我们没有任何像素级注释,因此无法应用距离变换。我们将在下面更详细地描述每个组件对整体改进的贡献。
动态平衡损失 通过逐步纳入分类网络,仅实现损失的动态平衡,已经提高了所有三个数据集的性能。在完全监督学习中,动态平衡损失在DAGM中提高了AP 1.08个百分点(从89.02%提高到90.10%),在KolektorSDD中提高了0.23个百分点(从99.77%提高到100.00%),在Severstal Steel中提高了1.68个百分点(从95.36%提高到97.04%)。在混合监管中也可以观察到类似的改善,DAGM、KolektorSDD和Severstal Steel分别提高了4.44、0.75和1.99个百分点。
梯度流量调节 梯度流量调整已被证明与动态平衡损失同等重要。这两种改进自然会在KolektorSDD和Severstal Steel中产生类似的性能,因为它们都可以防止不稳定的分割特征在早期阶段显著影响分类层的学习。然而,启用这两种改进更为稳健,因为它消除了收敛问题,同时也改善了所有三个数据集的结果,尤其是对于DAGM,在DAGM中,完全监督学习的检测率可以达到100%,混合监督的检测率可以达到95.37%。另一方面,事实也证明,在弱监管下仅使用梯度流量调整更好,并完全禁用动态平衡损失,因为在这种情况下,不存在分段损失。
空间标签不确定性 最后,启用距离变换作为正像素的权重,将KolektorSDD的性能提升到100%的检测率,从而在完全监督模式下完全解决KolektorSDD和DAGM问题。它还将Severstal Steel数据集上的AP从98.24%提高到98.74%。此外,距离变换在混合监控中更为重要,在混合监控中,距离变换仅对25%的完整注释数据实现100%的检测率,对剩余数据仅使用弱标签。
6.结论
本文提出了一种基于混合监督的地表异常检测深度学习模型。我们提出了一个包含两个子网络的体系结构:从像素级标签学习的分割子网络和从弱图像级标签学习的分类子网络。将这两个子网络结合起来,可以混合完全标记和弱标记的数据,以最小的注释工作量获得最佳结果。为了实现这一点,我们提出了一个具有端到端学习的统一网络,并能够处理粗略的像素级标签。我们证明了该模型在完全监督模式和弱监督模式下都优于现有的最新异常检测模型。根据注释的可用性,该网络可以应用于弱监督设置或完全监督设置,也可以同时应用于两者。这两种注释类型的混合使得性能可以与完全监督模式相竞争,同时需要的注释要少得多,也不那么复杂。我们已经在三个现有的工业数据集(DAGM、KolektorSDD和Severstal Steel Defect)上演示了这一点,并另外提出了KolektorSDD2,它代表了一个现实世界的工业问题,有几种缺陷类型分布在3000多张图像上。
从结果中可以得出两个重要结论。首先,事实证明,使用大量只有弱标记的数据比使用一组小10倍的完全标记样本更重要。在一些情况下,例如可以免费获得弱标记数据的现有工业生产控制,在不牺牲性能的情况下使用大量弱标记数据的成本要低得多。然而,作为第二个结论,我们观察到,当只添加5–10%的完全标记数据时,通常会获得显著的性能提升,从而产生与使用所有完全标记数据几乎相同的性能。在许多工业应用中,这种实现可以大大减少数据注释的时间和成本。

Mixed supervision for surface-defect detection: from weakly to fully supervised learning:表面缺陷检测的混合监督相关推荐

  1. Deep learning based multi-scale channel compression feature surface defect detection system

    基于深度学习的多尺度通道压缩特征表面缺陷检测系统 Deep learning based multi-scale channel compression feature surface defect ...

  2. 论文阅读DefectNet: Toward Fast and Effective Defect Detection缺陷网:走向快速有效的缺陷检测

    DefectNet: Toward Fast and Effective Defect Detection缺陷网:走向快速有效的缺陷检测 期刊:IEEE Transactions on Instrum ...

  3. An End-to-End Steel Surface Defect Detection Approach via Fusing Multiple Hierarchical Features

    网络结构 建立了一个端到端的ADI系统,即缺陷检测网络(DDN).使用ResNet在每个阶段生成特征图,然后所提出的多级特征融合网络(MFN)将ResNet的所有阶段的特征合并到一个特征中,该特征可以 ...

  4. 论文笔记《MemSeg: A semi-supervised method for image surface defect detection using differences and comm》

    论文地址:https://arxiv.org/ftp/arxiv/papers/2205/2205.00908.pdf 效果:2022.5.4 目前霸榜第一,99.56%,一秒31.34张图片,很快 ...

  5. Real-Time Surface Defect

    Abstract 本文从实时检测的角度出发,针对工业中不同类型的表面,从缺陷分类.缺陷检测和缺陷分割3个层面综述了最新的基于深度学习的表面缺陷检测方法.之后,本文介绍了用于评估表面缺陷检测模型和公开表 ...

  6. 谣言检测文献阅读四—Reply-Aided Detection of Misinformation via Bayesian Deep Learning

    系列文章目录 谣言检测文献阅读一-A Review on Rumour Prediction and Veracity Assessment in Online Social Network 谣言检测 ...

  7. Mutual Supervision for Dense Object Detection(ICCV2021)阅读笔记

    同上一篇一样,这边摸鱼笔记也是关于分类和回归分支的权重设计. 论文来源于2021ICCV,论文链接:https://openaccess.thecvf.com/content/ICCV2021/pap ...

  8. Mutual Supervision for Dense Object Detection

    Mutual Supervision for Dense Object Detection 作者用这幅图来描述分类和回归头的inconsistency,指出现有在目标检测中存在的问题. FCOS的分类 ...

  9. Multi-scale multi-intensity defect detection in ray image of weld bead

    Multi-scale multi-intensity defect detection in ray image of weld bead 焊道射线图像中的多尺度多强度缺陷检测 Abstract T ...

  10. A brief introduction to weakly supervised learning(简要介绍弱监督学习)

    文章转载自http://www.cnblogs.com/ariel-dreamland/p/8566348.html A brief introduction to weakly supervised ...

最新文章

  1. IE6 IE7 不支持 JSON
  2. 学完python还需要学什么语言好_python基础学完了之后还需要学习什么
  3. JVM内存分配与垃圾回收浅析
  4. 软路试--就像一棵树活着
  5. Spring WebFlux和Spring Cloud开发响应式微服务
  6. 如何做到长时间(4 个小时以上)精神专注?
  7. leetcode 303. 区域和检索 - 数组不可变
  8. Python | 使用__del __()和__init __()实现析构函数和构造函数的示例
  9. Java基础学习总结(32)——Java项目命名规范
  10. tomcat PermGen space 不足的解决方法
  11. Java实现贪吃蛇大作战小游戏(完整版)
  12. LSGO软件技术团队2015~2016学年第十四周(1130~1206)总结
  13. Android-适配各国语言、屏幕尺寸、系统版本及常见适配方法总结
  14. shell脚本编写时的必备命令(文章末尾含几个简单应用的脚本实例)
  15. 海量智库第5期|Vastbase G100核心技术介绍之「SQL by pass技术」
  16. 多线程面试题之【三线程按顺序交替打印ABC的方法】
  17. Python爬虫:scrapy辅助功能实用函数
  18. 深圳市七娘山登山攻略(深圳市第二峰) 2019.8.31
  19. idea 导出 jar包
  20. 费了九牛二虎之力才搞出来的微信扫码授权openid绑定房间

热门文章

  1. 图中最深的根 (25分)
  2. Adversarial Machine Learning 经典算法解读(FGSM, DeepFool)
  3. c语言 模拟memcmp
  4. 关于大地测量领域常用的角度知识汇总(方位角,竖直角)
  5. 使用7号电池的科学计算机,新奇:可以用USB充电的5号、7号电池
  6. bootstrap的pillbox使用
  7. 表扩展字段2种实施方案研究
  8. -TEST 20 for NOIP 。。。(80-300)-----(( ! ))
  9. utf8和gbk的区别
  10. Python爬虫:查国家安全信息库