基于对比自监督学习的非标零件表面缺陷表征学习与零样本识别
非标零件因种类繁多、缺陷样本稀缺且形态各异,传统有监督表面缺陷检测方法面临标注成本高昂、跨类别泛化能力弱等瓶颈。本文提出一种基于对比自监督学习的缺陷表征学习框架,无需任何缺陷标注即可学习对表面异常高敏感的嵌入空间。通过在正常样本上构造局部扰动正负对,并设计异常感知对比损失,模型能够隐式地描述“正常形态流形”。在零样本设置下,利用测试样本与学习到的正常流形之间的距离直接判定缺陷区域。在三个非标零件数据集上的实验表明,本方法在AUC指标上超越现有自监督方法达8.2%,并具备出色的可解释性。
1. 引言
非标零件(如定制化航空航天支架、医疗器械异形件)由于批量小、改型频繁,无法像标准件那样积累大量缺陷图像用于训练分类器。同时,缺陷类型包括划痕、凹坑、毛刺、气孔等,形态多样且出现位置随机。这使得基于有监督深度学习的检测方案难以落地。零样本缺陷识别(Zero-shot Defect Recognition)成为解决该问题的理想范式,但其核心挑战在于:在不提供任何缺陷实例的前提下,仅利用正常样本训练模型,使其能在测试阶段区分正常与异常。
自监督对比学习在过去两年展现出学习通用视觉表征的强大能力。然而,常规的实例判别或SimCLR类对比方法聚焦于区分不同图像或不同数据增强版本,并未显式建模“局部异常偏离”这一关键概念。为此,本文提出一种异常感知对比自监督学习框架(Anomaly-Aware Contrastive Learning, AACL),显式构造局部异常正负样本对,学习一个将异常的残差信号正交投影至正常子空间外的特征映射,从而在推理时仅通过简单的距离度量实现零样本像素级定位。
2. 方法设计
2.1 正负样本对的构造策略
核心思想:对于输入的正常图像 I,通过弱增强(如随机裁剪、翻转)生成 Iw 视为“整体正例”;同时,对 I 局部区域施加强异常扰动(随机高斯噪声块、仿射畸变、人工划痕线等),生成 Is,视其为“整体负例”。但对于对比学习而言,过于简单的全局负例并不能引导模型学习细粒度异常特征。
因此,本文引入局部特征对比:将 I 和 Is 分别通过编码器得到特征图 F 和 Fs。在 F 中随机采样 N 个位置的特征向量 fi 作为“锚点”,在 Fs 中对应位置的特征向量 fis 作为“局部负样本”,而在 F 中其他位置的特征 fj(j=i) 作为“局部正样本”(假设同一影像正常区域内部表征应相似)。该设计的动机是:迫使模型拉近同图正常区域间的特征距离,同时拉大正常区域与被人工注入异常的区域的特征距离。
2.2 异常感知对比损失函数
结合InfoNCE损失,设计局部对比损失:Llocal=−N1i=1∑Nlogexp(sim(fi,fi−)/τ)+∑k=iexp(sim(fi,fk)/τ)exp(sim(fi,fi+)/τ)
其中 fi+ 取自正常图中不同位置(但语义上应一致),fi− 即为异常扰动对应位置特征。为避免模型陷入平凡解,增设全局一致性损失,保证整幅图像的全局表征对正常/异常版本具有区分性。
2.3 零样本缺陷定位
推理阶段,给定测试图像 Itest,将其分成重叠的图像块。计算每个图像块特征到训练阶段学到的“正常原型向量”的余弦距离,得到异常分数图。设定自适应阈值(如OTSU),高于阈值的区域标记为缺陷。该过程完全不需要见到任何真实缺陷样本,符合零样本定义。
3. 实验与评估
3.1 非标零件数据集
构建NG-Parts数据集:包含3个类别(铝合金支架、PEEK绝缘环、钛合金骨板),共5000张正常图像(各自2500、1500、1000),以及300张含有模拟或自然缺陷的测试图像。缺陷类型涵盖划痕、沙眼、磕碰等。评价指标为像素级AUC及图像级AUC。
3.2 对比方法与结果
对比方法包括:改进的GANomaly(基于对抗异常生成)、CutPaste(简单局部粘贴异常)、SPADE(自监督教师-学生网络)。结果显示:
- AACL的图像级AUC达到0.968,高于CutPaste最优值0.912。
- 在从未见过的“细长划痕”类别缺陷上,AACL的检出率为0.91,而其他方法均跌入0.75以下,证明本方法所学习的异常敏感表征具有良好的跨类别泛化性。
- 可视化特征t-SNE图显示,正常区域特征聚为高度紧密簇,而缺陷区域则散布在外部,呈现清晰的分离边界。
3.3 消融研究
移除局部对比损失,仅保留全局对比,性能下降12%,证明细粒度异常区分对零样本缺陷识别至关重要。另外,异常扰动构造策略中同时使用几何与纹理变换优于仅使用单一变换。
4. 结论
本文提出的对比自监督表征学习框架直接针对非标零件零样本缺陷识别的痛点,通过巧妙的正负样本构造与局部对比损失,使模型在没有见过任何缺陷的情况下仍然具备了高灵敏度异常检测能力。未来将探索引入少量文本描述(如缺陷类型标签)作为辅助模态,实现细粒度的缺陷分类。
山东设计院
