【论文笔记】CVPR2023:Revisiting Reverse Distillation for Anomaly Detection

CVPR2023:Revisiting Reverse Distillation for Anomaly Detection

背景

最近效果好的方法(例如patchcore)基于存储器(memory bank)框架,导致显著延迟并使它们在实际情况下难以应用。

RD:仅依赖蒸馏任务和OCBE(one class bottleneck embedding)模块无法为学生提供紧凑的表示。此外,我们没有观察到使用OCBE块丢弃异常模式的明确机制,正如作者所声称的那样。

本篇文章基于可逆知识蒸馏(RD)

关键点

高精度、低延迟

将多任务学习与RD相结合;

特征紧凑任务

异常信号抑制任务

RD

RD由三个部分组成:预训练固定教师网络(作为编码器)、可训练的单类嵌入模块(OCBE)、学生网络(作为解码器)
在这里插入图片描述

OCBE

通过Resnet的最后一个块用于特征提取,通过将特征压缩到低维空间并消除异常信号来增强异常的差异。

采用余弦相似性损失作为蒸馏损失:

L K D = 1 − ∑ k = 1 K { ( f E k ( h , w ) ) ⊤ ⋅ ( f D k ( h , w ) ) ∥ f E k ( h , w ) ∥ ∥ f D k ( h , w ) ∥ } \mathcal{L}_\mathrm{KD}=1-\sum_{k=1}^K\{\frac{(f_E^k(h,w))^\top\cdot(f_D^k(h,w))}{\left\|f_E^k(h,w)\right\|\left\|f_D^k(h,w)\right\|}\} LKD=1k=1K{ fEk(h,w) fDk(h,w) (fEk(h,w))(fDk(h,w))}

其中 K K K 表示用于训练的特征层数量,h和w表示第 k k k 个特征图的高度和宽度

方法

在这里插入图片描述

网络结构如上图,相比RD主要改进在于伪异常机制的引入、以及中间映射层的引入。

伪异常机制

RD假设学生网络被限制接受异常信息。然而RD没有设计损失函数防止异常信息传递给学生。所以在异常判断时异常模式会大量流向学生。

这篇文章在教师网络的各个块之后集成映射层,映射层负责限制异常信息流到OCBE模块。

使用simplex noise方法模拟伪异常(比较发现这个方法比高斯噪声更加自然)

多尺度映射层

异常信号抑制

映射层在接收各自老师块的特征作为输入后,将它们映射到紧凑的特征表示中,然后再输入到OCBE模块中。

映射层由Convolution, InstanceNorm, LeakyReLU 组成

损失函数

L = L KD + α L ssor + β L Recon + γ L Con \mathcal{L}=\mathcal{L}_{\text{KD}} + \alpha \mathcal{L}_{\text{ssor}} + \beta \mathcal{L}_{\text{Recon}} + \gamma \mathcal{L}_{\text{Con}} L=LKD+αLssor+βLRecon+γLCon

蒸馏损失

继承自RD,指导学生学习

自监督最优传输损失

确保从正常样本投影的特征表示彼此接近。

最小化特征嵌入之间的距离等价于最小化它们的概率测度[24]。

论文采用去偏Sinkhorn散度(最优传输距离的一种变体)。以自监督方式训练投影层,通过最小化概率度量之间的去偏Sinkhorn散度,确保等大小正常图像的小批次内的成对特征空间接近。

“π be the transportation plan, and C denotes some ground cost to transport a unit of mass between probability distributions α and β”

S ε , ρ ( α , β ) = O T ε , ρ ( α , β ) − 1 2 O T ε , ρ ( α , α ) − 1 2 OT ε , ρ ( β , β ) + ε 2 ∥ ⟨ α , 1 ⟩ − ⟨ β , 1 ⟩ ∥ 2 \begin{aligned} \mathcal{S}_{\varepsilon,\rho}(\alpha,\beta)=& \mathrm{OT}_{\varepsilon,\rho}(\alpha,\beta)-\frac{1}{2}\mathrm{OT}_{\varepsilon,\rho}(\alpha,\alpha) \\ &-\frac12\text{OT}_{\varepsilon,\rho}(\beta,\beta)+\frac\varepsilon2\|\langle\alpha,1\rangle-\langle\beta,1\rangle\|^2 \end{aligned} Sε,ρ(α,β)=OTε,ρ(α,β)21OTε,ρ(α,α)21OTε,ρ(β,β)+2εα,1β,12

其中1. O T ε , ρ ( α , β ) \mathrm{OT}_{\varepsilon,\rho}(\alpha,\beta) OTε,ρ(α,β):这是一个优化可题中的呆种形式的最优输运(Optimal Transport)操作,它衡量了从分布α转移到分布 B \text{B} B 的代价

2. 1 2 O T ε , ρ ( α , α ) \frac12\mathrm{OT}_{\varepsilon,\rho}(\alpha,\alpha) 21OTε,ρ(α,α) 1 2 O T ε , ρ ( β , β ) \frac12\mathrm{OT}_{\varepsilon,\rho}(\beta,\beta) 21OTε,ρ(β,β) 是两个分布 α \alpha α β \beta β 自身的最优输运的一种度量,被减去以减少重复计算

3. ε 2 ∥ ⟨ α , 1 ⟩ − ⟨ β , 1 ⟩ ∥ 2 \frac\varepsilon2\|\langle\alpha,1\rangle-\langle\beta,1\rangle\|^2 2εα,1β,12:这部分考虑了分布 α \alpha α β \beta β 的总质量之间的差异,其中 $\langle\alpha,1\rangle $ 表示分布 α \alpha α 的总质量,$\left\langle\boldsymbol{\beta},1\right\rangle $表示分布 β \beta β 的总质量。这部分有助于保持两个分布的总质量在一定程度上保持一致

L SSOT = 1 m 1 k ∑ i , j = 1 m ∑ k = 1 K S ε , ρ ( σ ( Φ k ( f i , k ) ) , σ ( Φ k ( f j , k ) ) ) \mathcal{L}_\text{SSOT}=\frac1m\frac1k\sum_{i,j=1}^m\sum_{k=1}^KS_{\varepsilon,\rho}(\sigma(\Phi_k(f_{i,k})),\sigma(\Phi_k(f_{j,k}))) LSSOT=m1k1i,j=1mk=1KSε,ρ(σ(Φk(fi,k)),σ(Φk(fj,k)))

重建损失

L Recon = 1 k ∑ k = 1 K ( 1 − cos ⁡ ( Φ k ( f i , k ) , Φ k ( f ~ i , k ) ) ) \mathcal{L}_\text{Recon}=\frac1k\sum_{k=1}^K(1-\cos(\Phi_k(f_{i,k}),\Phi_k(\tilde{f}_{i,k}))) LRecon=k1k=1K(1cos(Φk(fi,k),Φk(f~i,k)))

训练过程中,通过伪异常输入图像向特征空间注入异常信号,以促进投影层学习如何从伪异常区域重建正常特征。加快了投影层在推断过程中抑制异常信息的能力。

也就是说使得映射层可以从异常特征重建出正常特征,使得异常特征不要流入OCBE模块

对比损失

L Con = 1 k ∑ k = 1 K max ⁡ ( 0 , cos ⁡ ( Φ k ( f i , k ) , f ~ i , k ) − f ) \mathcal{L}_\text{Con}=\frac1k\sum_{k=1}^K\max(0,\cos(\Phi_k(f_{i,k}),\tilde{f}_{i,k})-f) LCon=k1k=1Kmax(0,cos(Φk(fi,k),f~i,k)f)

增强映射层对正常图像的紧凑学习(compact learning),最大化伪异常和正常之间的距离,其中 f f f 是margin

经过投影层之后的正常特征要尽可能的远离未经过投影层的异常特征

其中最优传输损失使得正常特征更加紧凑;重建损失和对比损失针对伪异常进行训练,分别使得投影层:1.可以从异常信息重构正常空间2.得到的特征与处理前的异常特征距离远

实验

backbone采用WideResNet50;未使用数据增强

MVTecAD结果:AUROC:99.44

pixel AUROC:98.25;PRO:94.99(最高可达95.20)

分析

在这里插入图片描述

通过计算样本特征之间的成对MSE,评估投影空间的紧凑程度,可以看到哦RD++的特征更为紧密

计算每个异常样本与每个正常样本之间的均方误差。 RD ++的类间均方误差分布也比RD更为紧凑。

总结

通过提出伪异常机制、多个投影层的集成、紧凑正常特征和异常特征缓解的多任务学习,提升了RD的性能。

Limitation

随机噪声可能是次优的

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
引用\[1\]:在这个引用中,作者提到了一个名为"Anomaly Detection via Reverse Distillation from One-Class Embedding"的论文的非官方实现。引用\[2\]:在这个引用中,作者解释了反向蒸馏范式的工作原理。在反向蒸馏中,教师编码器的目标是提取全面的表示。为了避免T-S模型收敛到平凡解,教师编码器的所有参数在知识蒸馏过程中都被冻结。引用\[3\]:在这个引用中,作者详细介绍了他们提出的反向蒸馏方法。反向蒸馏使用了一个异质结构的T-S模型,由教师编码器和学生解码器组成。学生解码器不直接将原始数据输入T-S模型,而是使用低维嵌入作为输入,目标是通过恢复教师模型在不同尺度上的表示来模仿教师的行为。反向蒸馏的优点包括非相似性结构和紧凑性嵌入,这些优点有助于提高T-S模型对异常现象的表示差异。 所以,反向蒸馏是一种用于异常检测的知识蒸馏范式,其中教师编码器和学生解码器组成了一个异质结构的T-S模型,通过恢复教师模型在不同尺度上的表示来模仿教师的行为。这种方法具有非相似性结构和紧凑性嵌入的优点,可以提高T-S模型对异常现象的表示差异。 #### 引用[.reference_title] - *1* *2* *3* [[2022CVPR]Anomaly Detection via Reverse Distillation from One-Class Embedding翻译](https://blog.csdn.net/Vincent_Tong_/article/details/130439663)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值