霸榜第一框架:工业检测,基于差异和共性的半监督方法用于图像表面缺陷检测...

news2024/12/23 12:10:07

关注并星标

从此不迷路

计算机视觉研究院

0c426c09f887ce569e1bb423bbd2bbf5.gif

5603a9fafe8d003733b6e99355dc8553.gif

cae6b292b7ee43eb3af147dfa3efeb81.png

公众号ID|ComputerVisionGzq

学习群|扫码在主页获取加入方式

论文地址:https://arxiv.org/ftp/arxiv/papers/2205/2205.00908.pdf

链接: https://pan.baidu.com/s/1ar2BN1p2jJ-cZx1J5dGRLg  密码: 2lah

计算机视觉研究院专栏

作者:Edison_G

目前霸榜第一,99.56%,一秒31.34张图片。

1

 概括

半监督框架下,研究者提出了一种端到端的基于内存的分割网络(MemSeg)来检测工业产品的表面缺陷。考虑到同一生产线产品的类内差异较小,从差异和共性的角度出发,MemSeg引入了人工模拟的异常样本和记忆样本来辅助网络的学习。在训练阶段,MemSeg显式学习正常和模拟异常图像之间的潜在差异,以获得鲁棒的分类超平面。同时,受人类记忆机制的启发,MemSeg使用内存池来存储正常样本的一般模式。

94bb5df171164b92b2c95ad0d1b21039.png

通过比较输入样本与内存池中的内存样本的异同,对异常区域进行有效猜测;在推理阶段,MemSeg直接以端到端的方式确定输入图像的异常区域。

通过实验验证,MemSeg在MVTec AD数据集上实现了最先进的(SOTA)性能,图像级和像素级的AUC得分分别为99.56%98.84%。此外,MemSeg得益于端到端、直截了当(straightforward)网络结构,在推理速度上也有明显优势,更好地满足工业场景的实时性要求。

2

 背景

工业场景下的产品表面异常检测对于工业智能的发展至关重要。 表面缺陷检测是在图像中定位异常区域的问题,例如划痕和污迹。但在实际应用中,由于异常样本的概率低且异常形式多样,传统监督学习的异常检测难度更大。因此,基于半监督技术的表面缺陷检测方法在实际应用中具有更显着的优势,在训练阶段只需要正常样本。

具体来说,从差异的角度来看,类似于自监督学习,MemSeg在训练阶段引入了人工模拟的异常,使模型有意识地区分正常和非正常,而不要求模拟的异常与真实场景中的一致。缓解了半监督学习只能使用正常样本的不足,让模型获得了更鲁棒的决策边界。MemSeg使用正常和模拟异常图像完成模型训练,直接判断输入图像的异常区域,在推理阶段无需任何辅助任务。下图就显示了在训练和推理阶段的数据使用情况。

ada9ba41a2c0fa2afb2dde3eb9647648.png

同时,从共性的角度,MemSeg引入了一个内存池来记录正常样本的一般模式。在模型的训练和推理阶段,比较输入样本和记忆池中记忆样本的异同,为异常区域的定位提供更有效的信息。此外,为了更有效地协调来自内存池的信息和输入图像,MemSeg引入了多尺度特征融合模块和新颖的空间注意力模块,大大提高了模型的性能。

3

 新框架分析

a36234c1e6b4de2c7c88a516dca88ecb.png

上图就是MemSeg整体框架图。MemSeg基于U-Net架构,使用预训练的ResNet18作为编码器。MemSeg从差异和共性的角度出发,引入模拟异常样本和记忆模块,以更有方向性的方式辅助模型学习,从而以端到端的方式完成半监督表面缺陷任务。同时,为了将记忆信息与输入图像的高层特征充分融合,MemSeg引入了多尺度特征融合模块(MSFF Module)和新颖的空间注意力模块,大大提高了模型精度异常定位。

Anomaly Simulation Strategy

在工业场景中,异常以多种形式出现,在进行数据收集时不可能将其全部覆盖,这限制了使用监督学习方法进行建模。然而,在半监督框架中,仅使用正常样本而不与非正常样本进行比较不足以让模型了解什么是正常模式。

在今天分享中,受DRAEM的启发,研究者就设计了一种更有效的策略来模拟异常样本并在训练过程中引入它们以完成自监督学习。MemSeg通过比较非正态模式来总结正态样本的模式,以减轻半监督学习的弊端。如下图所示,提出的异常模拟策略主要分为三个步骤。

6ca1a11e2a5cca7f32d975b578f48fe1.png

  1. 二维柏林噪声P二值化后生成Mp,正常图I二值化后生成MI,二者结合生成M,这种处理是为了让生成的异常图与真实异常图相似。

  2. 利用公式做正常图和M的融合使接近真实异常图:

dba7e8d8c4bc834904345dec78266b6b.png

  1. 将M反转(黑变白,白变黑),与I做元素积,与I'做元素和,生成IA。

通过上述异常模拟策略,从纹理和结构两个角度获取模拟异常样本,并且大部分异常区域都生成在目标前景上,最大限度地提高了模拟异常样本与真实异常样本的相似度。

1925ebe5aadb123e45e9c1329f599607.png

Memory Module

选N个正常图经ResNet作为存储的信息,冻结ResNet的block1/2/3的参数保证高维特征与记忆信息统一,其余部分仍可训练。训练及推理阶段,通过下公式比较距离:

b117fa19a40dd79ae0efaf074e0b6858.png

N个存储信息中,每个包括块1/2/3生成的三张特征图,将输入的三张特征图与N中所有的三个特征图比较找出距离最小的N中的三张特征图。将输入的三张特征图与和其距离最小的三张特征图连接形成CI。后经多尺度特征融合块,经U-Net跳跃连接进入解码器。

d90f9bcb011ea2adfc0ea64d29c0655d.png

Spatial Attention Maps

涉及到空间注意力块,由下公式为三个特征图增加权重,降低特征冗余:

6220c70995200507bc371af4bc047e44.png

fe1ee77cfd84acc22c45cd2ec0963c81.png

Multi-Scale Feature Fusion Module

考虑到它是通道维度上两种信息的串联,并且来自编码器的不同位置,具有不同的语义信息和视觉信息,因此使用通道注意力CA-Block和多尺度策略进行特征融合。

Training Constraints(训练损失)

L1损失和focal损失。L1比L2保留更多边缘信息,focal缓解样本不平衡问题,使模型专注于分割本身而不是样本的情况。

4

 实验及可视化

52b27dd1c078f56f77fbd3aa68976054.png

可视化:

d3279f6d7f740f40c00ee8ecab494684.png

2f0a90db03a50a8e99734703343accf1.png

5fd22631f47a2ee0904f2e1c853d00cd.png

© THE END 

转载请联系本公众号获得授权

cb0874ea3ebb35650f208c52ecab012c.gif

计算机视觉研究院学习群等你加入!

计算机视觉研究院主要涉及深度学习领域,主要致力于人脸检测、人脸识别,多目标检测、目标跟踪、图像分割等研究方向。研究院接下来会不断分享最新的论文算法新框架,我们这次改革不同点就是,我们要着重”研究“。之后我们会针对相应领域分享实践过程,让大家真正体会摆脱理论的真实场景,培养爱动手编程爱动脑思考的习惯!

94aad6bab323e282ca58d0acc6d34467.jpeg

扫码关注

计算机视觉研究院

公众号ID|ComputerVisionGzq

学习群|扫码在主页获取加入方式

 往期推荐 

🔗

  • Fast YOLO:用于实时嵌入式目标检测(附论文下载)

  • 计算机视觉研究院:AI部署以及工业落地学习之路(文章较长,建议收藏)

  • 目标检测干货 | 多级特征重复使用大幅度提升检测精度(文末附论文下载)

  • 多尺度深度特征(下):多尺度特征学习才是目标检测精髓(论文免费下载)

  • 多尺度深度特征(上):多尺度特征学习才是目标检测精髓(干货满满,建议收藏)

  • ICCV2021目标检测:用图特征金字塔提升精度(附论文下载)

  • CVPR21小样本检测:蒸馏&上下文助力小样本检测(代码已开源)

  • 半监督辅助目标检测:自训练+数据增强提升精度(附源码下载)

  • 目标检测干货 | 多级特征重复使用大幅度提升检测精度(文末附论文下载)

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

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

相关文章

Learn From Microsoft Build Ⅲ:低代码

点击蓝字 关注我们 编辑:Alan Wang 排版:Rani Sun 微软 Reactor 为帮助广开发者,技术爱好者,更好的学习 .NET Core, C#, Python,数据科学,机器学习,AI,区块链, IoT 等技术&#xff0…

使用神经网络合成数据生成技术实现电力系统无人机自动巡检

使用神经网络合成数据生成技术实现电力系统无人机自动巡检 美国能源公司 Exelon 正在利用神经网络合成数据生成技术,为电力系统无人机自动巡检项目提供支持。这一技术有助于提高巡检效率和准确性,降低人力和时间成本。 1. 电力系统巡检的挑战 电力系统…

基于知识图谱表示学习的谣言早期检测方法

源自:电子学报 作者:皮德常 吴致远 曹建军 摘 要 社交网络谣言是严重危害社会安全的一个重要问题.目前的谣言检测方法基本上都依赖用户评论数据.为了获取可供模型训练的足量评论数据,需要任由谣言在社交平台上传播一段时间,这…

手机安卓Termux安装MySQL数据库【公网远程数据库】

文章目录 前言1.安装MariaDB2.安装cpolar内网穿透工具3. 创建安全隧道映射mysql4. 公网远程连接5. 固定远程连接地址 转载自cpolar极点云的文章:Android Termux安装MySQL数据库 | 公网安全远程连接【Cpolar内网穿透】 前言 Android作为移动设备,尽管最初…

Android 和 ktor 的 HTTP 块请求

Android 和 ktor 的 HTTP 块请求 在这篇非常短的文章中,我将简要解释什么是块或流式 HTTP 请求,使用它有什么好处,以及它在 Android 中的工作原理。 Android 应用程序使用 HTTP 请求从后端下载数据。此信息在应用程序上存储和处理以使其正常…

计算机内存取证之BitLocker恢复密钥提取还原

BitLocker是微软Windows自带的用于加密磁盘分卷的技术。 通常,解开后的加密卷通过Windows自带的命令工具“manage-bde”可以查看其恢复密钥串,如下图所示: 如图,这里的数字密码下面的一长串字符串即是下面要提取恢复密钥。 在计…

chatgpt赋能python:Python编程教程之抽签程序

Python编程教程之抽签程序 介绍 对于喜欢玩抽签、体育彩票等游戏的人来说,抽签程序是一款非常有用的小工具。抽签程序可以用来随机抽取一定数量的幸运儿,而且运行速度快,结果随机性高,不需要人工干预。 那么,Python…

Spring Boot 3.1 中如何整合Spring Security和Keycloak

在今年2月14日的时候,Keycloak 团队宣布他们正在弃用大多数 Keycloak 适配器。其中包括Spring Security和Spring Boot的适配器,这意味着今后Keycloak团队将不再提供针对Spring Security和Spring Boot的集成方案。 但是,如此强大的Keycloak&am…

一文搞懂Android动画

这里写目录标题 前言一、视图动画1. 补间动画---Animation抽象类动画1.1 AlphaAnimation:控制一个对象透明度的动画。1.1.1 xml实现示例1.1.2 java实现示例 1.2 RotateAnimation:控制一个对象旋转的动画。1.1.1 xml实现示例1.1.2 java实现示例 1.3 Scale…

Linux中查看端口被哪个进程占用、进程调用的配置文件、目录等

1.查看被占用的端口的进程,netstat/ss -antulp | grep :端口号 2.通过上面的命令就可以列出,这个端口被哪些应用程序所占用,然后找到对应的进程PID 3.根据PID查询进程。如果想详细查看这个进程,PID具体是哪一个进程,可…

Qt6.5.1+WebRTC学习笔记(八)开发环境搭建(win10+vs2019)

一、准备 1.操作系统win10 64位 2.合理的上网方式,需要正常访问google,最好有20G以上流量 3.安装VS2019,笔者使用的是社区版,并选中C相关,笔者设置如下 注意,win10的sdk需要是10.0.20348.1,其他版本可能…

JavaWeb17(过滤器监听器)

目录 1.过滤器/拦截器-Filter. 1.1过滤器介绍. 1.2过滤器使用步骤. 1.2.1创建过滤器. 1.2.2映射配置. 1.3案例1-编码设置. 1.4案例2-登陆状态验证. 1.4过滤链-略带. 2.监听器-Listener. 2.1监听器介绍. 2.2案例演示1-统计在线人数. 2.3案例演示2-统计历史在线人数.…

太好玩了!用Python做音乐节奏可视化!

大家注意:因为微信最近又改了推送机制,经常有小伙伴说错过了之前被删的文章,比如前阵子冒着风险写的爬虫,再比如一些限时福利,错过了就是错过了。 所以建议大家加个星标,就能第一时间收到推送。&#x1f44…

【Python C扩展】零基础也能轻松掌握的学习路线与参考资料

Python C扩展是将Python语言与C语言相结合,最大限度地利用C语言的高性能和Python语言的灵活性,使Python程序获得更高的运行效率。Python C扩展的学习路线涵盖了C语言基础、Python语言、Python C API等多个方面。下面将详细介绍Python C扩展的学习路线&am…

Python+Yolov5人脸表情特征识别

程序示例精选 PythonYolov5人脸表情特征识别 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对<<PythonYolov5人脸表情特征识别>>编写代码&#xff0c;代码整洁&#xff0c;规则&am…

【微服务架构】专家组:在过去十年的微服务中,我们学到了什么?

瓦特&#xff08;Watt&#xff09;&#xff1a;这是微服务专家组。Chris早些时候谈到了最小化微服务中的设计时耦合。他是microservices.io的创建者&#xff0c;《微服务模式》一书的作者。他也是Java冠军&#xff0c;在微服务领域非常有经验。我期待着与你们一起深入研究其中的…

区间预测 | MATLAB实现基于QRCNN-BiLSTM-Multihead-Attention卷积神经网络结合双向长短期记忆神经网络多变量时间序列区间预测

区间预测 | MATLAB实现QRCNN-BiLSTM-Multihead-Attention卷积神经网络结合双向长短期记忆神经网络多变量时间序列区间预测 目录 区间预测 | MATLAB实现QRCNN-BiLSTM-Multihead-Attention卷积神经网络结合双向长短期记忆神经网络多变量时间序列区间预测效果一览基本介绍模型描述…

chatgpt赋能python:Python冒泡排序:理解流程图

Python冒泡排序&#xff1a;理解流程图 当涉及到排序算法时&#xff0c;Python中最流行的算法之一就是冒泡排序。它是一种简单而有效的排列方法&#xff0c;旨在让列表中的元素按升序或降序排列。在此文章中&#xff0c;我们将讨论冒泡排序的流程图&#xff0c;并重点介绍每个…

JavaWeb18(文件上传富文本编辑器)

目录 一、富文本编辑器 1.1 什么是富文本编辑器? 1.2 CKEditor 1.3 CKEditor 4的使用步骤【参考官方文档】 1.4 优化商品增加、查看、修改功能 1.5 尝试课外扩展其他富文本编辑器 二、文件上传 2.1 到底客户端的文件是上传到哪里? 2.2 SmartUpload是什么? 2.3 Sma…

聚观早报 |ChatGPT之父称AI可能灭绝人类;Kindle本月关闭电子书店

今日要闻&#xff1a;马斯克到访特斯拉上海超级工厂&#xff1b;ChatGPT之父称AI可能灭绝人类&#xff1b;Kindle本月关闭电子书店&#xff1b;FF91将进入交付阶段&#xff1b;iPhone14最高降1900元 马斯克到访特斯拉上海超级工厂 6 月 1 日消息&#xff0c;据航班APP信息显示…