【缺陷检测】Anomaly Detection via Reverse Distillation from One-Class Embedding

论文地址

代码地址 

动机

论文针对传统的知识蒸馏的方案提出了一个问题:认为之前的(基于像素点的重建)方案[1,2]容易阻碍异常表现的多样性

  1. 传统的知识蒸馏teacher和student的网络架构很相似或者几乎相同
  2. 而且teacher和student的输入流都是一样的

T和S网络相似,尽管T是预训练好的,有一定的泛化能力,而S只是模仿了T学到了重建正常样本的能力,但是不排除S学的非常好,有了和T很接近的能力,导致在推理阶段输入异常样本,S网络也是有很大的可能重建的和T很接近,那么最后的Loss也会比较小,这样对异常检测不利。

从另一个角度讲,原有的方案是基本基于像素点的重建,使用图片直接输入的方式进行重建,知识蒸馏中的student网络都要比teacher小,小网络的重建性能是需要得到质疑的,如果重建能力不是那么好,不管正常还是异常都会产生问题。

概要

本文是基于(特征)重建的缺陷检测方案,提出了一种由教师编码器和学生译码器(encoder-decoder)组成的反向蒸馏范式。在这种方法中,学生模型通过重新建模恢复教师模型的多尺度表征,而非直接处理原始图像,从抽象的高层特征中提炼知识。此外,文章引入了可训练的单类瓶颈嵌入模块,该模块能够有效保留正常模式信息,并抑制异常扰动。在训练期间,“学生”网络学习通过最小化相似性损失L来模仿“教师”的行为。

工作流程

在训练时,冻结教师网络并训练学生网络,让学生学习到正常样本特征,并让学生与教师网络在各层特征输出上趋于相似。

在推理时,检测到异常样本时候,学生网络与教师网络差异较大,从而检测出输入信息中的缺陷。

如图为异常检测和定位的反向蒸馏框架概述。(a)模型由预先训练的教师编码器E、可训练的一类瓶颈嵌入模块(OCBE)和学生解码器D组成。使用多尺度特征融合(MFF)块来集成来自E的低级和高级特征,并通过一类嵌入(OCE)块将它们映射到紧凑代码上。在训练期间,学生D学习通过最小化相似性损失L来模仿E的行为。(b)在推理过程中,E真实地提取特征,而D输出无异常的特征。E和D对应位置处的特征载体之间的低相似性意味着异常。(c)最终的预测是通过多尺度相似性图M的累积来计算的。

One-Class Bottleneck Embedding (OCBE)

单类瓶颈嵌入模块 (One-Class Bottleneck Embedding, OCBE) 用于增强无监督异常检测(AD)系统中的一类样本表征,并有效地压缩特征空间。这个模块是专门为提高反向蒸馏知识转移效率而设计的,其目的是在保留尽可能多的正常样本信息的同时,减少异常样本的影响。

若直接使用Encoder最后一层特征(原始bottleneck),有两个缺点:

1、维度太高,包含大量冗余信息;

2、最后一层特征包含高级特征(语义等),难以直接送入Decoder进行还原低级特征

为了克服以上缺点,提出了可训练的One-Class Bottleneck Embedding(OCBE)来降维并融合多level的特征,包含MFF和OCE

【1】 Mohammadreza Salehi, Niousha Sadjadi, Soroosh Baselizadeh, Mohammad H. Rohban, and Hamid R.Rabiee. Multiresolution knowledge distillation for anomaly detection. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), pages 14902–14912, June 2021.

【2】 Guodong Wang, Shumin Han, Errui Ding, and Di Huang.Student-teacher feature pyramid matching for anomaly detection, 2021.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/471380.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【PHP】ThinkPHP基础

下载composer ComposerA Dependency Manager for PHPhttps://getcomposer.org/ 安装composer 查看composer是否安装 composer composer --version 安装 ThinkPHP6 如果你是第一次安装的话,首次安装咱们需要打开控制台: 进入后再通过命令,在命令行下面&a…

SpringBoot(十八)SpringBoot集成Minio

项目上传文件集成一下Minio,下面是我在项目中集成Minio的全过程。 首先介绍一下Minio:MinIO是高性能的对象存储,单个对象最大可达5TB。适合存储图片、视频、文档、备份数据、安装包等一系列文件。是一款主要采用Golang语言实现发开的高性能、分布式的对象存储系统。客户端支…

宗馥莉的接班挑战:内斗升级,竞品“偷家”

内斗不止,外患环伺,情怀助力娃哈哈短暂回暖,但市场认可与持续增长仍充满不确定性。 转载:原创新熵 作者丨晓伊 编辑丨蕨影 一波未平,一波又起。继换办公楼、逼员工签新合同和宗馥莉疑似出走等事件后,娃哈哈…

K8S单节点部署及集群部署

1.Minikube搭建单节点K8S 前置条件:安装docker,注意版本兼容问题 # 配置docker源 wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo# 安装docker环境依赖 yum install -y yum-utils device-m…

MySQL —— MySQL逻辑架构与查询过程

文章目录 MySQL逻辑架构整体分为三层连接层服务层查询缓存解析器优化器执行器 存储引擎层系统文件层 MySQL 查询过程查询过程框图 博客1 博客2 MySQL逻辑架构整体分为三层 最上层为客户端层,并非MySQL所独有,诸如:连接管理、授权认证、权限校…

【大数据学习 | HBASE高级】storeFile文件的合并

Compaction 操作分成下面两种: Minor Compaction:是选取一些小的、相邻的StoreFile将他们合并成一个更大的StoreFile,对于删除、过期、多余版本的数据不进行清除。 Major Compaction:是指将所有的StoreFile合并成一个StoreFile&am…

微服务day08

Elasticsearch 需要安装elasticsearch和Kibana,应为Kibana中有一套控制台可以方便的进行操作。 安装elasticsearch 使用docker命令安装: docker run -d \ --name es \-e "ES_JAVA_OPTS-Xms512m -Xmx512m" \ //设置他的运行内存空间&#x…

操作系统lab4-页面置换算法的模拟

操作系统lab4-页面置换算法的模拟 文章目录 操作系统lab4-页面置换算法的模拟实验目的实验内容实验分析 代码测试用例运行结果 实验目的 1、掌握请求分页存储管理的常用理论:页面置换算法。 2、理解请求分页中的按需调页机制。 实验内容 独立地用高级语言编写和…

react-redux useSelector钩子 学习样例 + 详细解析

(一)react-redux useSelector 学习样例 详细解析 创建一个新项目,将依赖正确安装: npx create-react-app my-redux-app cd my-redux-app# 安装 Redux 和 React-Redux npm install redux react-redux# 安装 ajv npm install ajv#…

IP数据云 识别和分析tor、proxy等各类型代理

在网络上使用代理(tor、proxy、relay等)进行访问的目的是为了规避网络的限制、隐藏真实身份或进行其他的不正当行为。 对代理进行识别和分析可以防止恶意攻击、监控和防御僵尸网络和提高防火墙效率等,同时也可以对用户行为进行分析&#xff…

《Django 5 By Example》阅读笔记:p76-p104

《Django 5 By Example》学习第4天,p76-p104总结,总计29页。 一、技术总结 1.环境变量管理 这里作者使用的是:python-decouple,本人在实际项目中使用的是python-dotenv,这里只是简单的使用,感觉两者差不…

【IC每日一题:IC常用模块--RR/handshake/gray2bin】

IC每日一题:IC常用模块--RR/handshake/gray2bin 1 RR仲裁器2 异步握手信号处理3 格雷码和二进制相互转换 1 RR仲裁器 应用:在多个FIFO请求pop时存在仲裁策略,还有比如多master申请总线控制权的仲裁等这些应用场合;假如当前是最高…

【Visual Studio】使用VS调试(Debug)

确保在Debug模式下而不是Release 打断点(break point) 直接在有代码的行前单击,会出现红色的点(再次单击会取消);或者光标停留在某行,按F9 这意味着程序当执行到这一行时会终止 在打完断点后点击”本地Windows调试器“或者按F5 往下翻会…

基于RK3568J多网口电力可信物联网关解决方案

前言 随着工业物联网的普及和功能越来越强大,边缘计算网关应运而生。 边缘计算有效降低了云端服务器的负载、大大降低了带宽的占用,同时也为本地化的区域自治提供了便利条件。 边缘计算网关,完美地发挥了“边”与“端” 结合优势&#xff0c…

⾃动化运维利器Ansible-基础

Ansible基础 一、工作原理二、快速入门2.1 测试所有资产的网络连通性2.2 发布文件到被管理节点(资产) 三、资产(被管理节点)3.1 静态资产3.1.1 自定义资产3.1.2 自定义资产的使用3.1.3 资产选择器 四、Ansible Ad-Hoc 命令4.1 模块类型4.1.1 command & shell 模块4.1.2 cop…

SpringBoot实战(三十一)集成iText5,实现RSA签署PDF

目录 一、什么是电子签章?1.1 定义1.2 电子签章的工作原理1.3 电子签章的优势二、准备工作:证书生成、印章生成2.1 证书生成2.2 印章生成三、Java代码实现 RSA 签署 PDF3.1 坐标签署3.2 关键字签署3.3 日期签署3.4 骑缝章签署3.5 文本域签署一、什么是电子签章? 1.1 定义 电…

vue面试题7|[2024-11-14]

问题1:什么是渐进式框架? vue.js router vuex element ...插件 vue.js 渐0 router 渐1 vuex 渐2 vue.js只是一个核心库,比如我再添加一个router或者vuex,不断让项目壮大,就是渐进式框…

【力扣热题100】[Java版] 刷题笔记-169. 多数元素

题目:169. 多数元素 给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 解题思路 该题目的核心点是:元素出现…

Dolby TrueHD和Dolby Digital Plus (E-AC-3)编码介绍

文章目录 1. Dolby TrueHD特点总结 2. Dolby Digital Plus (E-AC-3)特点总结 Dolby TrueHD 与 Dolby Digital Plus (E-AC-3) 的对比 Dolby TrueHD和Dolby Digital Plus (E-AC-3) 是两种高级的杜比音频编码格式,常用于蓝光影碟、流媒体、影院等高品质音频传输场景。它…

第三十一天|贪心算法| 56. 合并区间,738.单调递增的数字 , 968.监控二叉树

目录 56. 合并区间 方法1:fff 看方法2:fff优化版 方法3: 738.单调递增的数字 968.监控二叉树(贪心二叉树) 56. 合并区间 判断重叠区间问题,与452和435是一个套路 方法1:fff 看方法2&am…