CVPR 2023 | 基于金字塔模型的异常检测方法

news2024/11/15 15:33:21

来源:投稿 作者:橡皮
编辑:学姐

论文链接:https://arxiv.org/pdf/2211.11317

0.背景:

工业异常检测旨在发现产品的异常区域,在工业质量检测中发挥着重要作用。在工业场景中,很容易获得大量的正常示例,但缺陷示例很少。

大多数现有的工业异常检测方法都是基于2D图像的。然而,在工业产品的质量检查中,人类检查员利用3D形状和颜色特征来确定它是否是缺陷产品,其中3D形状信息对于判断是重要和必要的。

无监督异常检测的核心思想是找出异常和正态表示之间的区别。目前2D工业异常检测方法可分为两类:

(1)基于重构的方法。图像重建任务被广泛用于异常检测方法中,以学习正常表示。基于重建的方法对于单模态输入(2D图像或3D点云)很容易实现。但对于多模态输入,很难找到重建目标。

(2) 基于预训练特征提取器的方法。利用特征提取器的直观方法是将提取的特征映射到正态分布,并将分布外的特征作为异常。

1.主要贡献:

  • 提出了一种去噪学生编码器-解码器,它经过训练,可以从具有异常输入的教师那里显式地生成不同的特征表示。

  • 使用分割网络来自适应地融合多级特征相似性,以取代经验推理方法。

  • 在基准数据集上进行了广泛的实验,以证明我们的方法对各种任务的有效性。

2.网络介绍: DeSTSeg

在训练期间生成并使用合成的异常图像。在第一步骤(a)中,训练具有合成输入的学生网络,以从干净的图像生成与教师网络类似的特征表示。在第二步(b)中,学生和教师网络的归一化输出的元素乘积被级联并用于训练分割网络。分割输出是预测的异常得分图。

3.方法细节:原理概览

  • 所提出的 DeSTSeg 由三个主要组件组成:预先训练的教师网络、去噪的学生网络和分割网络。

  • 将合成异常引入到正常训练图像中,并分两步训练模型。

  • 在第一步中,模拟的异常图像被用作学生网络的输入,而原始的干净图像被用作教师网络的输入。教师网络的权重是固定的,但用于去噪的学生网络是可训练的。

  • 在第二步中,学生模型也是固定的。学生网络和教师网络都以合成的异常图像作为输入,以优化分割网络中的参数来定位异常区域。

  • 为了推断,以端到端模式生成像素级异常图,并且可以通过后处理来计算相应的图像级异常分数。

3.1方法细节: Synthetic Anomaly Generation 合成异常生成

我们模型的训练依赖于使用 [Draem] 中提出的相同算法生成的合成异常图像。生成随机二维Perlin噪声,并通过预设阈值进行二值化以获得异常掩模 M。通过用无异常图像I_n和来自外部数据源A的任意图像的线性组合替换掩模区域来生成异常图像I_a,其中不透明度因子β在[0.15,1]之间随机选择:

\odot表示逐元素乘法运算。异常生成在训练期间在线执行。通过使用该算法,介绍了三个优点。

首先,与绘制矩形异常掩模相比,随机Perlin噪声生成的异常掩模更不规则,与实际异常形状相似。 其次,用作异常内容A的图像可以在没有精心选择的情况下任意选择。 第三,引入不透明度因子β可以被视为数据扩充,以有效增加训练集的多样性。

3.2方法细节:Denoising Student-Teacher Network 去噪教师学生网络

在以前的多层次知识蒸馏方法中,学生网络(正常图像)的输入与教师网络的输入相同,学生网络的架构也是如此。然而,提出的去噪学生网络和教师网络以成对的异常和正常图像作为输入,去噪学生网络具有不同的编码器-编码器架构。在接下来的两段中,我们将研究这种设计的动机。

首先,建立优化目标,以鼓励学生网络生成不同于教师的异常特定特征。我们进一步赋予学生网络一个更直接的目标:在教师网络监督的异常区域上建立正常特征表示。由于教师网络是在大型数据集上预先训练的,它可以在正常和异常区域生成判别特征表示。因此,在推理过程中,去噪学生网络将生成与教师网络不同的特征表示。其次,考虑到特征重建任务,得出结论,学生网络不应该复制教师网络的架构。考虑到重建早期层的特征的过程,众所周知,CNN的较低层捕获局部信息,如纹理和颜色。相反,CNN的上层表达全局语义信息。

我们采用它作为去噪学生网络的架构。有一种替代方法可以使用教师网络作为编码器,并将学生网络反向作为解码器;初步实验结果表明,完整的编码器-解码器学生网络性能更好。一种可能的解释是,预先训练的教师网络通常在ImageNet上进行分类任务训练;因此,最后一层中的编码特征缺乏足够的信息来重建所有级别的特征表示。

3.3方法细节:Segmentation Network 分割网络

实验结果:

关注下方《学姐带你玩AI》🚀🚀🚀

回复“500”获取AI必读论文合集

码字不易,欢迎大家点赞评论收藏!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

阿里云RAM凭据插件应用纪实

官方传送 官方文档传送门 官方源码传送门 记录日期 2023-06-13 背景简介 项目中主要使用了OSS&#xff0c;本文记录在OSS SDK中的使用方法 引入依赖 <dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java-sdk-core</artifactI…

一波未平一波又起!加密市场静候利率决议!美联储将会如何演绎?

过去一周&#xff0c;加密市场主要根据SECvs币安&Coinbase的诉讼案件做出反应&#xff0c;但本周市场行情或将以宏观事件为主导&#xff0c;市场短期内仍看不到明确的方向。 因通胀意外反弹&#xff0c;曾暂停加息的澳大利亚央行、加拿大央行近期宣布继续加息&#xff0c;让…

企业软文投稿流程是怎样的,投稿有什么要求?

随着互联网的快速发展&#xff0c;传统的线下推广已经不再是企业宣传的唯一选择。越来越多的企业开始关注线上平台&#xff0c;尤其是软文投稿。那么&#xff0c;企业软文投稿流程是怎样的&#xff1f;投稿有什么要求呢&#xff1f;本文伯乐网络传媒将为大家详细介绍。 1.确定投…

GORM---高级查询

文章目录 构建Demo数据模型定义数据表 高级查询子查询选择字段排序数量偏移总数Group & Having连接 Pluck扫描 构建Demo数据 模型定义 type Users struct {Id uint64 gorm:"primary_key;NOT NULL"EmailId uint64 gorm:"foreignKey:email_id;referenc…

python + pytest 接口自动化 —— 参数关联

什么是参数关联&#xff1f; 参数关联&#xff0c;也叫接口关联&#xff0c;即接口之间存在参数的联系或依赖。在完成某一功能业务时&#xff0c;有时需要按顺序请求多个接口&#xff0c;此时在某些接口之间可能会存在关联关系。 比如&#xff1a;B接口的某个或某些请求参数是…

高级数据结构-线段树

线段树 线段树树基于分治思想的二叉树&#xff0c;用来维护区间信息(区间和、区间最大值、区间最小值等等)。可以在 O ( l o g n ) O(logn) O(logn)的时间内完成区间信息的查询和修改。 线段树中每个叶子结点存储元素本身&#xff0c;非叶子结点存储区间内元素的统计值 节点数组…

C#多线程Task常见问题(二)

1 多线程临时变量 2 线程安全和锁lock 3 线程安全策略总结 线程安全和锁lock 线程安全问题&#xff1a;一段程序逻辑在单线程中执行和多线程中执行&#xff0c;结果一致说明线程是安全的&#xff1b;如果结果不同说明线程不安全。 同样先看一个例子&#xff1a;分别用主线程…

唯品会宕机惨案,损失超亿元!故障来时如何迅速应对?

01 事件回顾 对于IT工程师来说&#xff0c;宕机并非新鲜话题&#xff0c;经历过一次服务器宕机&#xff0c;职业生涯才“完整”。但如果事故超过 12 小时&#xff0c;或许会直接造成职业生涯“宕机”。 3月29日发生的突发事件&#xff0c;#唯品会App崩了 冲上热搜&#xff0…

最全整理,完整一套WEB/APP/接口测试测试流程,全面覆盖...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 web测试流程 需求…

Java --- springboot3整合redis

目录​​​​​​​ 一、整合redis 1.1、导入pom依赖 1.2、修改springboot配置文件 1.3、代码测试 二、测试访问redis五大常用数据类型 三、自动配置原理 四、定制化 4.1、解决redis存储序列化乱码问题 4.2、redis客户端使用jedis 一、整合redis 1.1、导入pom依赖 …

【考试】2023年5月软件设计师考试感受

前言❤️ 由于考试地点距离住的地方很远&#xff0c;一个南面一个北面&#xff0c;所以BZ选择了提前一天去到考试地点附近&#xff0c;住在考点附近。吃了晚饭后。到住的地方大概9点多&#xff0c;洗漱完&#xff0c;10点左右开始考前过知识点&#xff0c;复习到凌晨3点左右。…

改进的粒子滤波算法及其应用研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

【博客660】prometheus默认5min的lookback机制带来查询的影响

prometheus默认5min的lookback机制带来查询的影响 1、prometheus staleness机制 我发过的&#xff1a;【博客616】prometheus staleness对PromQL查询的影响 官方staleness解析 相关文章&#xff1a;do-prometheus-metrics-have-some-sort-of-freshness-lifetime 相关issue…

全面解析数据治理

摘要 数据治理并不是一种简单的操作行为&#xff0c;而是对数据资产管理行使权力和控制的活动集合&#xff0c;是一种管理和保护数据的方法&#xff0c;是确保准确性、完整性、安全性、可靠性和一致性的关键。 通过数据治理&#xff0c;企业可以更好地掌握现有数据&#xff0…

C语言---认识动态内存管理并实现一个动态通讯录:静态通讯录别来沾边

文章目录 前言&#x1f31f;一、为什么存在动态内存分配&#x1f31f;二、动态内存函数的介绍&#x1f30f;2.1.malloc函数free函数&#x1f30f;2.2.calloc函数free函数&#x1f30f;2.3.realloc函数 &#x1f31f;三、常见的动态内存错误&#x1f30f;3.1.对NULL指针的解引用…

SQL(--修改中--)

目录 一、基本介绍 二、常用函数 集合函数 字符串函数 MYSQL的日期和时间函数 SQL重要的内建日期函数 MYSQL重要的内建日期函数 条件判断函数 三、操作 单表查询 多表查询 使用正则表达式查询 添加&#xff1a; 修改&#xff1a; 删除&#xff1a; 四、…

Linux系统实现虚拟内存教程

Linux系统实现虚拟内存有两种方法&#xff1a;交换分区&#xff08;swap分区&#xff09;和交换文件&#xff0c; 一、交换文件 查看内存&#xff1a;free -m , -m是显示单位为MB&#xff0c;-g单位GB free -g 创建一个文件&#xff1a;touch命令用于修改…

【2023电工杯】A题 电采暖负荷参与电力系统功率调节的技术经济分析 30页论文及python代码

【2023电工杯】A题 电采暖负荷参与电力系统功率调节的技术经济分析 30页论文及python代码 1 题目 A题:电采暖负荷参与电力系统功率调节的技术经济分析 建设以新能源为主体的新型电力系统是应对全球气候变化挑战的重要举措。高比例新能源接入导致电力系统调节能力稀缺&#x…

电厂人员定位管理系统,厂区人员及车辆轨迹可循

随着科技的不断发展&#xff0c;室内定位技术已经逐渐成为电厂管理中不可或缺的一部分。在传统的变电站管理中&#xff0c;由于缺乏有效的定位技术&#xff0c;很难对设备、人员和物资进行精确的管理&#xff0c;导致了效率低下、成本高昂的问题。而现在&#xff0c;通过引入室…

企业必须知道:数字化官网已成为新发展格局

​如今我们生活在一个数据驱动发展的时代&#xff0c;不能顺应时代发展进步的企业就会落后和淘汰。一个新技术时代应运而生&#xff0c;一个数据主导的数字企业时代也必将应声而至。 社交媒体、移动设备、物联网和大数据引发的数字化趋势不仅改变了人们的生活方式而且要求企业…