Reconstruction by inpainting for visual anomaly detection阅读笔记

2023-10-31

Reconstruction by inpainting for visual anomaly detection阅读笔记

Abstract

视觉异常检测,解决图像中偏离正常外观的区域分类和定位问题。

一种流行的方法是在无异常图像上训练自动编码器,并通过计算输入图像和重建图像之间的差异来执行异常检测。这种方法假设自动编码器将无法准确重建异常区域。

但在实际中,神经网络拟合能力太强,导致异常图像也能够被重建,从而降低了检测能力。

如果Autoencoder看不到异常像素,那么精确重建的可能性就小得多。因此,我们将异常检测视为一个**自我监督的修复重建问题。**我们的方法(RIAD)随机去除部分图像区域,并从部分修复中重建图像,从而解决了自动编码方法的缺点。

1 Introduction

异常检测一个常见的假设是:异常是罕见的和多样的。所以导致收集和标记足够的数据集来训练分类模型,从而分类出异常,是不可能的。所以,生成方法是首选。

方法试图捕捉正常数据的分布,并将异常点确定为异常值。

最近的异常检测方法集中于通过自动编码器网络经由图像重建来学习无异常数据的分布[1,2,3]。基于重建误差为每个图像分配异常分数,其中假设自动编码器将不能重建在训练期间未观察到的图像模式。

但是由于自动编码器的高泛化能力,异常通常以高保真度重建[4,5]。

[4]C. Huang, J. Cao, F. Ye, M. Li, Y . Zhang, C. Lu, Inverse-
transform autoencoder for anomaly detection, arXiv preprint arXiv:1911.10676.

[5] Memorizing normality to detect anomaly: Memory-augmented deep autoencoder for unsupervised anomaly detection, in: Proceedings of the IEEE International Conference on Computer Vision, 2019, pp. 1705–1714.

这违反了核心假设,并且使得仅基于重建误差就无法区分异常区域和无异常区域

最近提出基于几何变换为托词的自监督学习方法。假设异常图像的几何变换精度会下降,则可以从变换预测的质量中隐含地检测到异常的存在。但是在几何变换不变的图像上表现不佳,如旋转不变的纹理或者对称现象。

提出新的异常检测方法,不会受Autoencoder过强的泛化能力影响,也不会收到几何变换不变性的影响。

主要贡献是,将异常检测作为一个修复重建的问题。
在这里插入图片描述

与自动编码器不同的是,局部区域是通过仅调整其紧邻区域来重建的,不包括正在重建的区域中的输入像素。

第二个贡献,我们提出了一个基于梯度相似度[9]的损失函数以及一个异常分数估计函数。

[9] W. Xue, L. Zhang, X. Mou, A. C. Bovik, Gradient magnitude similarity deviation: A highly efficient perceptual image quality index, IEEE Transactions on Image Processing 23 (2) (2013) 684–695.

2 Related Work

最近的一些异常检测方法。GAN通过对抗性训练自编码器,用来重建输入图像,用重建误差来确定图像是否异常。

GANomaly[1]的异常分数被定义为原始图像和重建图像的潜在空间表示的差异。

[2]中,对[1]进行拓展,在对抗式自编码器中加入条约连接,将异常分数计算改变为基于重建误差。Ano-GAN [11]训练DCGAN [15]来模拟输入图像分布。

One-class学习方法也被认为是异常检测方法。Deep-SVDD训练神经网络将图像映射到最小体积的超球体,通过超球中心的距离为每个图像分配异常分数,来执行异常检测。

还可以被公式化为借口任务,可以使神经网络进行自监督学习。例如,变换预测,跨通道自编码或者聚类。

自监督几何变化预测方法已经被用于异常检测任务[6,7],但是对于几何变换不变的对象使不鲁棒的。

3 Reconstruction-by-inpainting anomaly detection

我们的方法是基于一个编码器-解码器网络训练图像修复无异常样本。

首先,输入图像像素的一部分被去除,训练网络,通过语义信息来替换丢失的信息。根据重建质量最差的区域,为每个图像分配一个异常分数。

3.1 Reconstruction-by-inpainting formulation

首先将输入图像分割成大小为 K K K的正方形区域来一出一组像素,从而改变输入图像。

每个图片被分解成为 H k × W k \frac{H}{k} \times \frac{W} k kH×kW,其中 W , H W,H W,H是图像的宽和高。每个网格元素都是 k × k k×k k×k像素的正方形。调整图像大小,使其能被 k k k整除。

N = H k × W k N=\frac{H}{k} \times \frac{W} k N=kH×kW是所有网格元素的数量。

mask掉 N n \frac N n nN 个patch,重复n次得到n张mask后的“残缺图”,这n张“残缺图”中被mask掉的patch交集为空,即保证每个patch都能被mask,再在后续处理中被重建。

3.2 Reconstruction network architecture

U-Net[27]网络结构

[27]U-net: Convolutional networks for biomedical image segmentation, in: International Conference on Medical image computing and computer-assisted intervention, Springer, 2015, pp. 234–241.

训练网络通常使用每像素的 L 2 L_2 L2损失,然而这种损失假设像素之间是独立的,但通常不独立。

在[9]的基础上,提出了一种多尺度梯度幅度相似性损失,并使用了结构相似性指数(SSIM) [28]损失。

3.3 Multi-scale training
3.4 Anomaly Detection

(待续……)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Reconstruction by inpainting for visual anomaly detection阅读笔记 的相关文章

  • 【HTML+CSS+JS】简单的登录注册验证

    登录注册验证 简单的小说明 效果 源码 HTML 登录注册 html loginSuccess html CSS JS pageChange js Click js 简单的小说明 本文是基于https blog csdn net NpcCa
  • size_t和int区别

    参考 https blog csdn net qingzhuyuxian article details 84579320 总结 size t大小跟随系统位数变化 printf打印时 用 zd来打印比较好
  • WSL_02 WSL配置强大的 zsh

    文章目录 1 ZSH简介 2 安装zsh 2 1 准备阶段 2 基础安装 3 zsh更换主题 3 1 使用vscode 打开 zshrc 4 自定义支持插件 4 1 修改配置 5 安装第三方插件 autosuggestions 5 1 下载
  • el-form中嵌套一个el-form 进行表单校验

    数据格式为form对象中嵌套一层可循环数组 数组内嵌套table表格 也可循环 form id row id process code log id

随机推荐

  • Apache DolphinScheduler(海豚调度系统)介绍与环境部署

    文章目录 一 概述 二 Apache DolphinScheduler 与 Azkaban 对比 三 DolphinScheduler 架构设计 四 环境部署 1 环境信息 2 安装 JDK 3 安装 MySQL 数据库 1 部署 dock
  • Spring学习笔记 - Spring Boot

    Spring Boot 1 最简单的一个SpringBoot应用程序 1 1 导入依赖
  • 2021深圳杯数学建模D题---基于DDPG算法的微分博弈问题(思路及代码)

    文章目录 前言 思路 代码 gym环境 DDPG算法 测试代码 结果 一只犬一只羊的情况 回报收敛的趋势图 羊的逃逸路径 犬的追捕极角 羊的逃逸极角 羊的逃逸半径 两只犬一只羊的情况 回报收敛的趋势图 羊的逃逸路径 羊的逃逸极角 羊的逃逸半
  • Java深究2

    这一版延续Java深究1中的继续进行相应补充 1 先看一个问题 什么是Java多态 我们知道面向对象的三大特点 封装 继承 多态 前两者好理解 多态要怎么理解呢 我们可以想象到有了继承关系 那么肯定会出现这种 class A extends
  • USB小白学习之路HID键盘程序

    USB小白学习之路 4 HID键盘程序 HID键盘程序 1 特别注意 需要特别注意 各个例程中的设备描述符 配置描述符等各种描述符都是已经配置好了的 我们需要做的只是在例程中将代码修改为自己需要的部分即可 一般情况下是不可以串搭配的 2 程
  • 教你如何在centos7配置ipv6地址

    本文教你如何在centos7系统上面配置ipv6地址 第一步 修改 etc modprobe d disable ipv6 conf cp etc modprobe d disable ipv6 conf etc modprobe d di
  • js将相同属性id的数组对象进行合并

    const arr1 id 1 name Alice id 2 name Bob id 3 name Charlie const arr2 id 2 age 20 id 3 age 30 id 4 age 40 const mergedAr
  • 封装、继承和多态

    目录 前言 一 什么是封装 二 什么是继承 三 什么是多态 前言 其实封装 继承和多态不仅仅是java的特性 而是所有面向对象程序的三大特性 一 什么是封装 封装就是对类内部的实现细节进行隐藏 然后对类外提供公开的接口 在Java中主要通过
  • Python:基于爬虫技术的数据分析

    爬取的网站 CSDN中我的个人主页 网址 https blog csdn net Faith cxz 可根据自己需要找寻对应网址 目的 获取到该主页的基本信息 包括文章标题 发表时间 访问量 排名等信息 全部代码可通过此gitee账号来获取
  • git stash !将目前还不想提交的但是已经修改的内容进行保存至堆栈

    git stash 命令 总的来说 git stash命令的作用就是将目前还不想提交的但是已经修改的内容进行保存至堆栈中 后续可以在某个分支上恢复出堆栈中的内容 在开发过程中 本地修改还未提交 或者暂时不能提交到仓库的时候 这个时候工作任务
  • 黑马Python教程实战项目--美多商城(一)

    一 项目介绍 这是跟着Python教程做的一个实战项目 美多商城 这个项目主要包括首页广告 注册 登陆 QQ登陆 个人中心 收货地址 我的订单 修改密码 商品列表 商品搜索 商品详情 购物车 结算订单 提交订单 支付宝支付 支付结果处理 订
  • 【ChatGLM】记录一次Windows部署ChatGLM-6B流程及遇到的问题

    文章目录 部署环境 文件下载 项目文件 模型配置文件 模型文件 运行demo 遇到的问题 部署环境 系统版本 Windows 10 企业版 版本号 20H2 系统类型 64 位操作系统 基于 x64 的处理器 处理器 Intel Core
  • Ubuntu安装Anaconda详细步骤(Ubuntu21.10,Anaconda3-5.3.1)

    1 下载anaconda3 在清华源镜像下载Linux版本的anaconda3 下载地址 Index of anaconda archive 清华大学开源软件镜像站 Tsinghua Open Source MirrorIndex of a
  • 使用mybatis example 和 java 8的特性来实现多表关联且带有查询条件的查询

    Mybatis Example的好处 使用了面向对象的思想 其关联数据库的单表查询都能自动生成 减少了劳动量 同时将复杂查询拆分成单表查询 加快了查询速度 让其复杂的关联在service层中使用代码进行拼装 这样处理速度会比一个大查询快得多
  • 【AdGuard Home】轻松实现全屋去广告与追踪,AdGuard Home助力更安全浏览体验

    序言 在当今越来越数字化的社会中 广告和追踪器成为了许多用户最不喜欢的东西之一 用户访问网站或使用应用程序时 经常会被恼人的广告和追踪器所干扰 甚至可能泄露个人隐私 这就是为什么广告拦截 反追踪插件变得越发受欢迎的原因 这些插件利用拦截规则
  • WordCount案例及MapReduce运行的三种方式

    目录 一 MapReduce案例准备 二 运行方式一 本地执行 三 运行方式二 打jar包 集群执行 四 运行方式三 以idea为入口 集群执行 一 MapReduce案例准备 在Idea中创建一个MapReduce工程 对指定目录下文件的
  • OpenCV学习记录之摄像头调用

    关于opencv调用摄像头的问题主要是因为摄像头的打开有延时 在显示图像前 要用if语句判断图像是否存在 否则会报错 具体的 教程里的源程序 将if条件句里 break去掉 并增加else语句 include
  • 本地新项目上传到SVN服务器

    1 在一个已有检出的项目文件夹中 在空白处 右键 gt TortoiseSVN gt Repo browser 这样就到了svn服务器的目录了 在这里插入图片描述 https img blog csdnimg cn a91b52172ab3
  • 业内人员告诉你银行测试到底做什么,怎么进银行测试.....

    前言 从一家工作了五年的软件公司的测试管理者跳槽到银行做软件测试 短短两个月 对银行测试有了初步认识 总结和记录下来 加深个人的理解 同时也共享给各位 银行作为大家的理财顾问 对金钱非常敏感 频繁甚至偶尔出现的软件故障都会打击顾客的信心 如
  • Reconstruction by inpainting for visual anomaly detection阅读笔记

    Reconstruction by inpainting for visual anomaly detection阅读笔记 Abstract 视觉异常检测 解决图像中偏离正常外观的区域分类和定位问题 一种流行的方法是在无异常图像上训练自动编