ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

EfficientAD 论文蒸馏笔记

EfficientAD 论文蒸馏笔记 EfficientAD 论文蒸馏笔记蒸馏对象EfficientAD: Accurate Visual Anomaly Detection at Millisecond-Level LatenciesBatzner, Heckler, König, MVTec Software GmbH, arXiv:2303.14535, WACV 2024蒸馏框架图书蒸馏师判定为工具书型论文 → 提取可执行步骤、流程、原则应用背景杨伟 AOI 项目 · 异常检测复现整理日期2026-10-06目录摘要一、蒸馏判别这是一篇工具书型论文二、核心命题与总体架构2.1 要解决的问题2.2 总体架构三分支共享主干三、可执行步骤提取照着能做什么步骤一训练轻量教师——PDN 特征蒸馏步骤二联合训练学生与自编码器三类损失步骤三分位数归一化校准步骤四推理流程四、关键原则清单不能违背什么五、实验证据与消融为什么这些步骤有效5.1 总体性能MVTec AD VisA MVTec LOCO 三集合均值5 次运行5.2 逻辑异常MVTec LOCO 细分AU-ROC5.3 消融路径GCAD 85.4 → EfficientAD-S 95.45.4 超参鲁棒性六、封装EfficientAD 复现 Skill七、适用边界什么场景会翻车八、与 AOI 项目复现的衔接附录 A术语速查附录 B复现自查清单由 markdown-toc 自动生成摘要EfficientAD以毫秒级延迟解决工业视觉异常检测四层卷积PDN替代深网提取33×33块特征难例特征损失与预训练图像惩罚抑制学生泛化自编码器经共享学生通道捕获逻辑异常分位数归一化融合两路异常图2ms延迟下检测与定位双领先。一、蒸馏判别这是一篇工具书型论文按图书蒸馏框架第一步先判别体裁。判别标准“能不能直接照着做”EfficientAD 给出了完整的训练算法Algorithm 1、推理算法Algorithm 2、逐层网络结构表Table 5–7、全部超参数p_hard0.999、Adam lr10⁻⁴、70000 次迭代、量化点 a0.9 / b0.995并附消融实验逐步验证每个设计决策的收益。结论工具书型蒸馏目标是照着能做什么即一套可复现的异常检测系统搭建流程而非作者的思想传记。一句话定位把参数量换延迟的误区拨正用损失诱导的非对称性替代架构非对称用共享学生把结构异常与逻辑异常两条检测支路压进一次 2ms 的前向推理。二、核心命题与总体架构2.1 要解决的问题工业检测的两大现实约束实时性产线节拍严格异常发现太晚会造成经济损失甚至人身伤害金属物进入联合收割机、操作员肢体靠近刀片检测精度既要抓结构异常污渍、划痕等局部缺陷又要抓逻辑异常物体位置、数量、排布等约束被破坏如多插一根线缆。此前 SOTA 方法普遍靠集成、大 backbone、高分辨率堆精度把延迟推到数十甚至上百毫秒。2.2 总体架构三分支共享主干输入图像 I (3×256×256) ┌─────┴─────┐ 教师 T (PDN) 自编码器 A (瓶颈 1×1×64) 384×64×64 384×64×64 │ │ 学生 S (PDN, 输出通道加倍 768×64×64) ├─ 前 384 通道: 模仿教师 → 局部异常图 M_ST └─ 后 384 通道: 模仿 AE → 全局异常图 M_AE │ 两图分别分位数归一化 → 取平均 → 组合异常图 M 图像级得分 max(M) ← 逐像素双线性插值回原尺寸局部异常图师生差负责结构异常全局异常图AE–学生差负责逻辑异常二者归一化到同一尺度后融合一张图同时覆盖两类异常。三、可执行步骤提取照着能做什么以下四步即论文 Algorithm 1 / 2 的工程化展开是本篇蒸馏的核心产出。步骤一训练轻量教师——PDN 特征蒸馏目的把深网WideResNet-101PatchCore 同款特征的表达力压进一个 1ms 的四层卷积网络。构造PDNPatch Description Network4 个卷积层 前两层后各接 2×2 步进平均池化EfficientAD-S 通道数 128→256→256→384在 ImageNet 上以MSE 损失蒸馏 WideResNet-101 的特征逐通道对齐得到教师 T用训练集图像逐通道统计均值 μ 与标准差 σ对教师输出做通道归一化。关键设计理由设计原则早下采样前两层后池化参数量是延迟的误导性代理指标——S-T 原版 1.6M 参数比 31M 参数的 U-Net 还慢先缩小特征图再算感受野严格锁定 33×33深网特征有长程依赖图内一处异常会点亮远处特征破坏定位PDN 特征只看本块像素全卷积、单次前向一张图所有块特征一次算完256×256 输入在 RTX A6000 上 800μs步骤二联合训练学生与自编码器三类损失每个训练迭代做三件事总损失L_total L_ST L_AE L_STAE(a) 难例特征损失 L_hard抑制学生学太像计算教师与学生输出的逐元素平方差 D_{c,w,h}取 D 的p_hard0.999 分位数d_hard只对 ≥ d_hard 的元素回传约占元素总数 0.1%相当于 C/W/H 三个维度各取最难的前 10%p_hard0 退化为原始 S-T 损失。直觉训练图像增多会让学生顺带学会模仿教师在异常上的行为检测力反而下降只学最难的部分既学透正常图像又不向分布外泛化。类比 Online Hard Example Mining。(b) 预训练图像惩罚第二重防泛化每步随机抽一张 ImageNet 图像 P在损失中加入 ‖S§‖²_F / (C·W·H)显式惩罚学生在分布外图像上的输出能量阻止其把模仿能力泛化到异常图。© 自编码器 共享学生通道逻辑异常支路AE 把整图压过64 维瓶颈编码器 6 层卷积降采样至 1×1×64解码器用双线性上采样 卷积 Dropout 0.2训练它预测归一化后的教师输出损失 L_AE学生输出通道加倍至 768前 384 通道模仿教师后 384 通道模仿 AE 输出损失 L_STAE逻辑异常图 AE 输出与学生后半通道的逐元素平方差、按通道平均。为什么AE–学生差而不是教师–AE 差AE 在正常图上也有系统性重建误差背景网格等细纹理必然糊直接用教师–AE 差会大量误报学生学会了 AE在正常图上的系统误差却学不会异常图上的误差——这正是检测信号。训练细节Adamlr10⁻⁴weight decay10⁻⁵batch size1共 70000 迭代66 500 步后 lr 衰减至 10⁻⁵师生支路不用数据增强增强会教会学生向异常泛化仅 AE 支路用亮度/对比度/饱和度抖动λ~U(0.8,1.2)输入统一 resize 到 256×256。步骤三分位数归一化校准局部图与全局图量纲不同直接平均会让一路的噪声淹没另一路的真检出。在验证图像训练集中留出的未见图像上分别收集两种异常图的全部像素得分对每种图计算两个分位点a0.9 分位 q_a、b0.995 分位 q_b学一个线性变换把 q_a 映射到 0、q_b 映射到 0.1。用分位数而非均值/方差GCAD 的做法的好处对正常图得分的分布形状不敏感——无论得分布是高斯、混合高斯还是别的归一化结果一致。消融显示 a、b 在宽区间内性能稳定。步骤四推理流程测试图 resize 到 256×256教师、学生、AE 各前向一次学生一次前向同时出两路输出局部图 M_ST ‖Ŷ_T − Y_ST‖² 按通道平均全局图 M_AE ‖Y_A − Y_STAE‖² 按通道平均双线性插值 resize 回 256×256分别做步骤三的线性归一化组合图 M 0.5·M_ST 0.5·M_AE再插值回原图尺寸图像级得分 组合图的最大像素值。无 kNN 检索、无集成、无多尺度金字塔——延迟全部花在三次轻量前向上。四、关键原则清单不能违背什么从步骤中抽出的可迁移原则复现与选型时逐条对照参数量 ≠ 延迟评估效率只认延迟与吞吐batch1 测延迟batch16 测吞吐参数量和 FLOPs 都可能骗人。下采样要早先缩小特征图再堆卷积这是 PDN 比 S-T 原版浅网还快一个量级的原因。感受野要干净特征对齐到明确的图像块异常才不会在异常图上到处开花定位才可信。非对称性从损失里来不从架构里来损失诱导的非对称难例损失 预训练惩罚不增加推理成本、不限制架构选型架构非对称AST 的可逆网络两头都受限。师生支路禁用数据增强增强等于给学生看合成异常直接削弱检测信号。模仿者的模仿者要避开全局感受野用 33×33 块状学生去模仿 AE而不是 GCAD 那样用带跳跃连接的 U-Net——U-Net 有能力连逻辑异常都模仿对检测信号就消失了。共享学生还顺带砍掉了独立 U-Net 的开销。融合前先校准多路异常图融合分位数归一化是分布无关的安全做法。图像级得分取 max异常是局部事件最大像素得分即最可疑证据——这也是难例损失聚焦最差元素与该得分函数天然配套的原因。五、实验证据与消融为什么这些步骤有效5.1 总体性能MVTec AD VisA MVTec LOCO 三集合均值5 次运行方法检测 AU-ROC分割 AU-PRO延迟 [ms]吞吐 [img/s]GCAD85.488.011121S-T88.489.77516FastFlow90.086.517120PatchCore91.180.93276PatchCoreEns92.180.714813AST92.477.25341EfficientAD-S95.4(±0.06)92.5(±0.05)2.2614EfficientAD-M96.0(±0.09)93.3(±0.04)4.5269对比第二名 AST延迟降24 倍、吞吐升15 倍且检测、定位双指标反超。5.2 逻辑异常MVTec LOCO 细分AU-ROC方法逻辑异常结构异常GCAD83.982.7AST79.787.1PatchCore75.884.8EfficientAD-S / M85.8 / 86.894.1 / 94.7兼顾逻辑异常不牺牲结构异常——共享学生 AE 分支的组合拳成立。5.3 消融路径GCAD 85.4 → EfficientAD-S 95.4GCAD 85.4 → 块状学生 88.6 → 简化 AE 90.3 → 去上采样网 91.0 → PDN 架构延迟 12.9→2.7ms91.4 →难例特征损失 92.7→ 预训练惩罚 93.1 → 分位数归一化 94.4 → 减增强 95.2 → Dropout 95.4 → 共享学生延迟降至 2.2ms→ WRN 蒸馏 最终 95.4。两个损失项合计贡献 1.7 AU-ROC 且推理零开销——损失诱导非对称是全文性价比最高的单点创新。5.4 超参鲁棒性p_hard 从 0.9 到 0.9999AU-ROC 波动仅 96.0±0.2归一化分位点同样钝感。方法不挑超参可复现性好。六、封装EfficientAD 复现 Skill按蒸馏框架第三步把上述内容封装为可调用技能单元。角色工业异常检测系统搭建顾问EfficientAD 路线。输入规范一个检测场景的仅含正常图的训练集 少量验证图图像RGB/灰度单帧无序列依赖明确的延迟/吞吐预算决定选 S 还是 M 变体。处理链路输入问题 → 一步步处理 → 输出方案输入场景数据 约束 ① 判类结构异常 / 逻辑异常 / 混合决定两条支路的必要性 ② 选型延迟预算 ≤2ms → EfficientAD-S预算宽松、精度优先 → M ③ 训练PDN 蒸馏一次性→ 师生AE 联合训练 70000 迭代 L_hard p0.999 ImageNet 惩罚 L_AE L_STAE师生支路禁增强 ④ 校准验证图上算 q_a(0.9)、q_b(0.995)线性归一化两路异常图 ⑤ 部署三次前向 → 归一化 → 平均 → max 得分 输出逐像素异常图 图像级异常得分 可解释热力图运行示例AOI 产线检出连接器多插一根线缆逻辑异常→ 步骤①判定需全局支路 → 步骤③ AE 学不到两根线的合法重建 → 全局图在第二根线处高响应 → 组合图 max 超阈值报警。工程捷径Intel anomalib 已内置 EfficientAD 实现同文件夹中《Anomalib: A Deep Learning Library for Anomaly Detection》即其载体复现可直接从 anomalib 的 EfficientAD 模型起步重点核对 p_hard、归一化分位点与增强策略三处默认值。七、适用边界什么场景会翻车论文自述 蒸馏框架推论的失效场景细粒度逻辑异常不适用如螺丝长了 2mm这类需精确测量的偏差师生与 AE 均无能为力作者明确建议回归传统度量metrology方法必须接受训练成本不同于 kNN 系PatchCore 免训练AE 学逻辑约束需约 20 分钟训练换场景即需重训前提是训练集纯净全流程建立在训练集只含正常图之上若训练集混入缺陷学生会把缺陷学成正常漏检单帧、无序列不做视频/时序建模依赖图像序列的检测需求超出边界物位对齐敏感度低但非零输入统一 resize 256×256极端长宽比或亚毫米级纹理场景需先验证特征分辨率是否够用蒸馏框架自身边界本笔记提取的是可复现流程论文作者的审美取舍为何选 33×33 感受野而非 25 或 41未被完整蒸馏二次开发时以消融表为锚点自行验证。八、与 AOI 项目复现的衔接复现入口选 anomalib 的 EfficientAD本项目文件夹已含 anomalib 论文两篇配套阅读AOI 场景多为 PCB/器件外观缺陷先按第六节步骤①判类若存在漏装/多装/错序类缺陷AE 支路不可裁剪若纯表面缺陷可做去 AE的瘦身实验对照产线节拍换算成延迟预算再决定 S/M 变体与部署 GPU 型号论文在 A6000/A5000/V100/3080/2080Ti 上均有延迟曲线可查验证阶段重点复算分位数归一化的稳定性跨批次 q_a、q_b 漂移应可忽略。附录 A术语速查术语释义PDNPatch Description Network4 层卷积轻量特征提取器感受野 33×33结构异常局部外观偏离污渍、划痕、破损逻辑异常全局约束被破坏错序、错组合、错数量难例特征损失 L_hard只回传损失最大的 p_hard 分位以上元素p_hard0.999预训练图像惩罚对 ImageNet 随机图的 student 输出加 L2 惩罚防分布外泛化局部/全局异常图师生差 / AE–学生差分别对应结构与逻辑异常AU-ROC / AU-PRO检测图像级/ 定位像素级评价曲线下面积GCADBergmann 等的逻辑异常方法EfficientAD 的消融起点与主要对照附录 B复现自查清单教师输出做过逐通道 μ/σ 归一化p_hard0.999只回传 top 0.1% 元素每步混入 ImageNet 惩罚项学生输出 768 通道前后各 384 对应两路AE 瓶颈 1×1×64解码器含 Dropout 0.2师生支路零增强AE 支路仅色彩抖动70000 迭代66.5k 处 lr 衰减 10 倍归一化用验证图分位数0.9→00.995→0.1非均值方差图像级得分取组合图 max 而非均值延迟以 batch1 实测为准未用参数量/FLOPs 估算
返回列表