基于知识蒸馏 Knowledge Distillation 的图像缺陷检测算法

本文介绍基于知识蒸馏 Knowledge Distillation 的图像缺陷检测算法。

对于工业上的异常检测任务,我们通常要进行的二分类问题,即判断“正常”以及“异常”。我们就需要一个度量正常以及异常的指标,而基于知识蒸馏的图像缺陷检测算法的指标为教师模型以及学生模型对于样本输出的特征空间距离。

原理

基于知识蒸馏的图像缺陷(异常)检测方法使用一个域训练好的模型(教师模型)以及一个随机初始化的模型(学生模型)进行知识蒸馏,将正常样本的知识蒸馏给学生模型。这样教师模型与学生模型对于正常样本的认知(输出)相似,而对于没有特定蒸馏的异常样本,其输出大概率是不相似的,即在特征空间的距离较远。

在此我们可以发现基于知识蒸馏的图像异常检测基于一个假设。只有蒸馏过的正常样本,学生模型才会输出与教师模型相似的结果,而没有蒸馏过的异常样本,学生模型的表现会与教师模型相差甚远

原理十分简单,以下我们直接对相应的一些方法进行介绍。

基于知识蒸馏的图像缺陷检测算法

CDO

title: Collaborative Discrepancy Optimization for Reliable Image Anomaly Localization 1
url: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=10034849
来自2023年的IEEE Transactions on Industrial Informatics。

作者对于上述我们讨论的方法进行思考,对于没有蒸馏过的异常数据,学生模型也可能输出与教师模型相似的结果,这种现象称之为 overgeneration。通俗点讲就是学生模型学习到了正常样本的知识,在学得很好或者是知识很简单的情况下,该学生学会了举一反三,在没学过的异常知识上进行了泛化,输出了与老师模型相似道的结果。因为我们的模型从来都没有对异常样本进行约束。同时除了没有见过的异常数据之外,少见数据样本也会导致长尾问题(样本不平衡)。

在这里插入图片描述

Fig.1 CDO 模型框架

如图1所示,针对 overgeneration 问题,本篇文章使用了虚拟缺陷数据来进行模型约束。在正常样本上添加了噪声作为缺陷数据,使得学生模型对于伪缺陷数据的输出与教师模型差异大。

而对于长尾问题,本文借鉴了 focal loss 的思路在样本损失之前添加一个动态的权重,减小易学习样本的权重,增加难学习样本的权重。

对于实验部分,CDO 是取得了一个很不错的性能。同时其尝试做了不同图像尺寸(256,512)的不同 backbone (HRNet,ResNet,WResNet)对比实验。在这边,个人感觉 MVTec 等异常检测数据集的数据规模太小了,因此需要借助预训练模型提取到更好的特征。

待续……

参考 Reference


  1. Collaborative Discrepancy Optimization for Reliable Image Anomaly ↩︎

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值