《SQUID: Deep Feature In-Painting for Unsupervised Anomaly Detection》论文阅读理解

news2024/12/26 11:53:17

《SQUID: Deep Feature In-Painting for Unsupervised Anomaly Detection》论文阅读理解

领域:用于医学图像的异常检测

论文地址:SQUID: Deep Feature In-Painting for Unsupervised Anomaly Detection

目录

  • 《SQUID: Deep Feature In-Painting for Unsupervised Anomaly Detection》论文阅读理解
  • 领域:用于医学图像的异常检测
  • 论文地址:[SQUID: Deep Feature In-Painting for Unsupervised Anomaly Detection](https://arxiv.org/abs/2111.13495)
  • 1 主要动机
  • 2 主要贡献
  • 3 方法概述
    • 3.1 训练过程
    • 3.2 推理过程
  • 4 方法详述
    • 4.1 总述
      • 4.1.1 特征提取
      • 4.1.2 图像重建
      • 4.1.3 异常判别
    • 4.2 将记忆队列用作词典
      • 4.2.1 使用动机
      • 4.2.2 空间感知记忆机制
      • 4.2.3 内存队列
      • 4.2.4 Gumbel shrinkage
    • 4.3 公式化基于图像修复的异常检测流程
      • 4.3.1 动机
      • 4.3.2 图像特征级恢复模块
      • 4.3.3 带有掩膜的shortcut快捷连接
    • 4.4 异常判别
    • 4.5 损失函数
  • 5 实验
    • 5.1 数据集
    • 5.2 选择的Baselines和评价指标
  • 6 实验结果
  • 参考文献

1 主要动机

对身体器官的射线扫描结果图片中展示了详细的结构化信息,充分利用这种身体各个部分之间的结构化信息,对检测出身体存在的异常非常重要;

2 主要贡献

  1. 提出了使用空间感知队列来进行图片绘制和检测图片中存在的异常的方法(称为SQUID);
  2. 在两个胸部X射线基准数据集上,本文所提出的SQUID在无监督异常检测方面超过了13种最先进的方法至少5个百分点;
  3. 本文还创建了一个新的数据集(DigitAnatomy),综合了胸部解剖的空间相关性和一致形状;

3 方法概述

3.1 训练过程

提出的模型可以根据递归解剖模式的空间位置对其进行分类,从而动态地维护视觉模式词典。文中指出,由于解剖学的一致性,健康图像中相同的身体区域有望表达相似的视觉模式,这使得异常模式的总数可以限定在一定范围内。

3.2 推理过程

训练过程得到的字典中不存在异常模式,因此,如果在推理时存在异常,那么所生成的射线图像是不符合常理的。

4 方法详述

流程详述
本文提出的方法大致可以总结为如下:
在这里插入图片描述
首先,将输入图像划分为 N × N N\times N N×N个不重叠的块,并将它们输入编码器进行特征提取。

然后,训练两个生成器来重建原始的图像,重建的同时,创建一个解剖模式字典,并通过一个新的记忆队列动态更新;其中,教师生成器直接使用编码器提取的特征,而学生生成器则使用由绘制块增强的特征;教师生成器和学生生成器通过知识蒸馏的方式进行耦合。

最后,使用鉴别器来评估学生生成器重建得到的图像的真假。

上述过程经过训练之后可以用于检测图像中是否存在缺陷。

4.1 总述

4.1.1 特征提取

特征提取模块可以是任何骨干网络,文中使用了基本的卷积和池化层。

4.1.2 图像重建

文中引入教师T和学生S生成器来重建原始图像。在重建的过程中,解剖模式的字典将被创建并用于动态更新记忆队列。

具体来说,教师生成器使用编码器(使用了自动编码器[1])提取的特征直接重建图像。另一方面,学生生成器使用了在绘制模块中增强的特征。教师和学生生成器通过知识提取范式[2]在所有上采样水平上耦合。学生生成器的目标是根据增强特征重建正常图像,然后将其用于异常判别器中;而教师生成器则是用作防止学生不断生成相同正常图像的正则化器。

4.1.3 异常判别

使用鉴别器来评估生成的图像是真的还是假的,值得注意的是,只有学生生成器进行梯度下降优化,教师生成器和学生生成器鉴别器同时竞争,直到两个生成器在训练过程中收敛。经过训练的鉴别器可用于检测测试图像中的异常。

4.2 将记忆队列用作词典

4.2.1 使用动机

记忆队列经常被用作异常检测任务,为了创造“正常”外观,通过对记忆队列中的相似模式进行加权平均来增强特征。但是这种增强忽略了图像中的空间信息而无法感知解剖图像的一致性。

4.2.2 空间感知记忆机制

因此,为了解决上述存在的模型对空间感知能力不足的问题,将分割的小块patch传入到模型中,这些patch块与原始图像的唯一位置标识符相关联。

同时,文中指出,为了保证位置信息的唯一编码,将每个patch块限制为只能由内存矩阵中的非重叠区域访问。即特定位置的patch快只能访问记忆矩阵中的相应段。如图3所示。
在这里插入图片描述

4.2.3 内存队列

由于在记忆矩阵中“正常模式”的特征是通过组合矩阵中的学习基础而形成的。但是,这种组合形成的正常特征实际上和实际图像特征之间还存在一定的分布上的差异。

文中为了解决上述的问题,提出了一个内存队列来存储模型训练期间的真实图像特征,从而实现真实分布。在训练期间直接将之前输入的特征复制到队列结构中,经过训练之后,记忆队列用作正常解剖模式的字典。为了验证该说法的准确性,文中还提供了t-SNE可视化图,来验证记忆矩阵中的学习基础(蓝色点)和训练集的实际图像特征(灰色点)的分布不同。从图4中可以看出,内存队列中存储的红色特征点和实际图像特征具有相同的分布。
在这里插入图片描述

4.2.4 Gumbel shrinkage

文中指出,控制记忆存储中的激活模式的数量对异常检测是有利的。但是,单纯使用topk个存储中的模式进行激活时,存储中剩下的模式将无法进行梯度下降更新。为了实现所有存储中的模式梯度得到更新,文中提出了一个Gumbel收缩模式:
w ′ = s g ( h s ( w , t o p k ( w ) ) − ϕ ( w ) ) + ϕ ( w ) w'=sg(hs(w,topk(w))-\phi(w))+\phi(w) w=sg(hs(w,topk(w))ϕ(w))+ϕ(w)
其中, w w w表示图像特征与存储中的条目之间的相似度, s g ( ⋅ ) sg(\cdot) sg()
表示停止梯度操作算子。 h s ( ⋅ , t ) hs(\cdot,t) hs(,t)表示具有阈值t的硬收缩操作算子, ϕ ( ⋅ ) \phi(\cdot) ϕ()表示Softmax函数。

如此,在前向传播中,Gumbel收缩确保了存储中前k个最相似的条目的组合;在反向传播过程中,Gumbel收缩起到Softmax的作用。在文中提出的框架中,将Gumbel收缩应用于内存队列和内存矩阵。

4.3 公式化基于图像修复的异常检测流程

4.3.1 动机

由于经典的图像恢复工作中会将待修复区域与周围存在的边界伪影相关联,这样恢复出来的图像会使得后期的异常检测不准确。为了解决该问题,文中提出了在图像的特征级别上进行恢复重建。

4.3.2 图像特征级恢复模块

文中将内存队列集成到一个新颖的图像修复块中,以执行图像修复中的特征空间。

该模块从记忆队列开始,该内存队列将 w × h w\times h w×h非重叠patch特征 F ( 1 , 1 ) , . . . , ( w , h ) F_{(1,1),...,(w,h)} F(1,1),...,(w,h)补充为和他们最接近的“正常”特征 N ( 1 , 1 ) , . . . , ( w , h ) N_{(1,1),...,(w,h)} N(1,1),...,(w,h)。由于 N N N是从先前训练数据中提取的特征组合而成的,因此 N N N不受当前输入图像的影响。

为了聚合输入图像的特征,文中使用transformer块来聚合patch特征 F F F和增强后的特征 N N N。详细来说,对于每个patch块 F i , j F_{i,j} Fi,j,其空间上相邻的8个增强的 N ( i − 1 , j − 1 ) , . . . , ( i + 1 , j + 1 ) N_{(i-1,j-1),...,(i+1,j+1)} N(i1,j1),...,(i+1,j+1)被用作细化 F i , j 的条件 F_{i,j}的条件 Fi,j的条件

其中,transformer块中的query token为展平处理之后的 F ( i , j ) ∈ R 1 × ∗ F_{(i,j)}\in R^{1\times *} F(i,j)R1×∗,同时,key/value tokens为 N ( i − 1 , j − ) , . . . , ( i + 1 , j + 1 ) ∈ R 8 × ∗ N_{(i-1,j-),...,(i+1,j+1)}\in R^{8\times *} N(i1,j),...,(i+1,j+1)R8×∗

在上述图像修复模块中,文中还应用了一对额外的 1 × 1 1\times1 1×1卷积。
在这里插入图片描述

4.3.3 带有掩膜的shortcut快捷连接

文中还在图像恢复模块的开始,对输入的特征添加掩膜之后,直接连接到图像恢复模块中transformer块的输出上,共同作为后边学生重建模块的输入。

文中指出,随即使用二进制掩膜来门控shortcut特征。

总的来说,上述过程可以表示为如下公式:
F ′ = ( 1 − σ ) ⋅ F + σ ⋅ i n p a n t ( F ) F'=(1-\sigma)\cdot F+\sigma \cdot inpant(F) F=(1σ)F+σinpant(F)
其中, i n p a n t ( ⋅ ) inpant(\cdot) inpant()即为上述描述的图像恢复模块。 σ   B e r n o u l l i ( ρ ) \sigma ~ Bernoulli(\rho) σ Bernoulli(ρ),其中 ρ \rho ρ为门控概率。在每个训练步骤得到 F ′ F' F之后,初始的 F F F被复制以更新记忆队列,见图5c。

在推理时,完全禁用shortcut方式, F ′ = i n p a i n t ( F ) F'=inpaint(F) F=inpaint(F)用于确定性的预测。

4.4 异常判别

由于训练的时候使用的只有正常样本特征,那么在推理测试的时候使用的带有异常特征的图像在重建之后,看起来不是很自然,那么这个时候就可以在重建后的图像上定位缺陷点。

文中提出的图像恢复模块专注于将任何patch块特征(正常或异常)增强为类似的“正常”特征。学生生成器根据这些“正常”特征重建“正常”图像,而教师生成器用于防止学生生成与输入无关的相同图像。

那么,经过训练之后,学生生成器得到的重建图像和原始的输入图像之间的语义差异会很小,如果原始输入为正常图像;相反地,如果原始输入为异常图像,那么,语义差异会很大。然后,使用鉴别器网络来感知原始输入和学生生成器重建之后的图像之间的差异,来获得异常点情况。

上述过程可以表示为如下公式形式,一个图像的异常分数 A A A可以通过如下公式获得,其中,编码器、教师生成器、学生生成器和鉴别器分别标记为 E , G t , G s , D E,G_t,G_s,D E,Gt,Gs,D
A = ϕ ( D ( G s ( E ( I ) ) ) − u σ ) A=\phi(\frac{D(G_s(E(I)))-u}{\sigma}) A=ϕ(σD(Gs(E(I)))u)
其中, ϕ ( ⋅ ) \phi(\cdot) ϕ()表示Sigmoid函数, u u u σ \sigma σ分别表示在训练集上计算的异常分数的平均值和标准差。

4.5 损失函数

文中提出的模型使用5个loss函数来进行约束。重建图像与原始输入图像之间的均方误差(MSE)使用在教师生成器和学生生成器之间。
L s L_s Ls L t L_t Lt

同时,使用 L d i s t = ∑ i = 1 l ( F t i − F s i ) 2 L_{dist}=\sum_{i=1}^l(F_t^i-F_s^i)^2 Ldist=i=1l(FtiFsi)2作为教师生成器与学生生成器之间在图像 l l l个特征层上的距离约束函数,其中 l l l表示特征层总数。

此外,文中还是用了类似于DCGAN[3]中间的对抗损失函数去改进学生生成器生成的图像质量。具体来说,使用如下函数:
L g e n = l o g ( 1 − D ( G s ( E ( I ) ) ) ) L_{gen}=log(1-D(G_s(E(I)))) Lgen=log(1D(Gs(E(I))))
鉴别器使得真实图像的平均概率和生成图像的反转概率最大化,使用如下公式:
L d i s = l o g ( D ( I ) ) + l o g ( 1 − D ( G s ( E ( I ) ) ) ) L_{dis}=log(D(I))+log(1-D(G_s(E(I)))) Ldis=log(D(I))+log(1D(Gs(E(I))))

总的来说,基于文中提出模型的5个损失函数,需要最小化生成损失 ( λ t L t + λ s L s + λ d i s t L d i s t + λ g e n L g e n ) (\lambda_tL_t+\lambda_sL_s+\lambda_{dist}L_{dist}+\lambda_{gen}L_{gen}) (λtLt+λsLs+λdistLdist+λgenLgen),同时最大化鉴别损失 ( λ d i s L d i s ) (\lambda_{dis} L_{dis}) (λdisLdis)

5 实验

5.1 数据集

文中使用了自行创建数据集(DigitAnatomy)和公共数据集(ZhangLab Chest X-ray[4]、Stanford CheXpert[5])

5.2 选择的Baselines和评价指标

文中使用13个主要基线与本文提出的模型进行直接比较:Auto-Encoder、VAE;Ganomaly,f-AnoGAN,IF,SALAD;以及MemAE、CutPaste、M-KD、PANDA、PaDiM、IGD。

文中使用标准指标评估性能:受试者工作特征(ROC)曲线、ROC曲线下面积(AUC)、准确度(Acc)和F1分数(F1)。

文中指出,对所有模型都在训练集上从头开始训练3次。

6 实验结果

图6展示了文中提出的SQUID模型与其他基线模型的实验结果对比。其中,使用文中所提出的图像恢复方法在自主创造的数据集上更具有鲁棒性。
在这里插入图片描述

表1展示了文中所提模型SQUID在公共数据集上与其他基线模型的实验结果对比。
在这里插入图片描述
图7显示SQUID在两个公共数据集上的ROC曲线,表明文中提出的方法在灵敏度和特异性之间产生了最佳的权衡。
在这里插入图片描述
图8展示了文中所提模型在两个公共数据集上对正常样本和异常样本进行重建的结果。
在这里插入图片描述

文章局限性:无法精确定位像素级的异常。只能在图像层面提供分类的AUROC指标。

参考文献

[1] David E Rumelhart, Geoffrey E Hinton, and Ronald J Williams. Learning internal representations by error propagation. Technical report, California Univ San Diego La Jolla Inst for Cognitive Science, 1985. 3
[2] Geoffrey Hinton, Oriol Vinyals, and Jeff Dean. Distilling the knowledge in a neural network. arXiv preprint arXiv:1503.02531, 2015. 3
[3] Alec Radford, Luke Metz, and Soumith Chintala. Unsupervised representation learning with deep convolutional generative adversarial networks. arXiv preprint arXiv:1511.06434, 2015. 5
[4] Daniel S Kermany, Michael Goldbaum, Wenjia Cai, Carolina CS Valentim, Huiying Liang, Sally L Baxter, Alex McKeown, Ge Yang, Xiaokang Wu, Fangbing Yan, et al. Identifying medical diagnoses and treatable diseases by image-based deep learning. Cell, 172(5):1122–1131, 2018. 2, 6
[5] Jeremy Irvin, Pranav Rajpurkar, Michael Ko, Yifan Yu, Silviana Ciurea-Ilcus, Chris Chute, Henrik Marklund, Behzad Haghgoo, Robyn Ball, Katie Shpanskaya, et al. Chexpert: A large chest radiograph dataset with uncertainty labels and expert comparison. In Proceedings of the AAAI Conference on Artificial Intelligence, volume 33, pages 590–597, 2019. 2, 6

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

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

相关文章

5月19号软件资讯更新合集.....

ohUrlShortener 短链接系统 v2.0 发布 | 指定「打开方式」功能支持 距上一次更新版本差不多两个月,ohUrlShortener 短链接系统与昨天晚上正式发布 v2.0 版本 这个版本主要的变化: 启动性能优化:在短链接数量持续上升之后,启动系…

Halcon 算子 select_shape_std 和 select_shape_xld区别

文章目录 1 select_shape_std 算子介绍2 select_shape_xld算子介绍3 select_shape_std 和 select_shape_xld区别4 Halcon 算子的特征 Features 列表介绍1 select_shape_std 算子介绍 select_shape_std (Operator) Name select_shape_std — Select regions of a given shape.Si…

JavaWeb14 - 数据交换 - 01 - JSON

1. 概述 1.1 官方文档 Json 在线文档:https://www.w3school.com.cn/js/js_json_intro.asp 1.2 JSON 介绍 JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)JSON 是轻量级的文本数据交换格式【老师解读】 JSON 独立于语言 …

Cloud Studio 内核升级之专注体验

前言 Cloud Studio 是基于浏览器的集成式开发环境(IDE),为开发者提供了一个永不间断的云端工作站。用户在使用 Cloud Studio 时无需安装,随时随地打开浏览器就能使用。云端开发体验与本地几乎一样,上手门槛更低&#…

使用Python实现Rest API指南

在今天的数字化世界中,数据的获取、交换和使用已经成为几乎所有行业的核心部分。无论您正在为一个大型公司设计复杂的软件系统,还是只是为了个人项目尝试获得一些公开的数据,理解和利 用API——尤其是RESTful API——都是一项至关重要的技术。…

一道php反序列化题的pop链构造

题目地址为&#xff1a;GitHub - mcc0624/php_ser_Class: php反序列化靶场 点击进入如下题 题目代码如下&#xff0c;其中像套娃一样&#xff0c;多次对魔术方法进行调用&#xff0c;挺烧脑。根据题目&#xff0c;显然目标是echo $flag <?php //flag is in flag.php erro…

Flask send_file函数导致的绝对路径遍历

平时接触到的 python 项目并不多&#xff0c;对 python 的代码审计更是没有接触&#xff0c;偶然朋友发来了一个漏洞 Flask send_file函数导致的绝对路径遍历 &#xff0c;感觉打开了新世界的大门&#xff0c;于是就以一个初学者的角度&#xff0c;进行复现分析一下。详情也可以…

算法:回溯算法套路总结

目录 1、回溯算法最初的模板 2、收获节点包括剪枝、去重等操作需要在模板上加上什么东西 2.1 收获的是否为叶子节点 2.1.1 收获的是叶子节点的数据 2.1.2 收获的节点不是叶子节点的数据 2.2 能否重复选取数据 2.2.1 不能重复选取数据 2.2.2 可以重复选取数据 2.3 剪枝…

Yolov8涨点技巧:BIFPN,加权双向特征金字塔网络,对小目标涨点显著

论文:https://arxiv.org/abs/1911.09070 🏆🏆🏆🏆🏆🏆Yolov8魔术师🏆🏆🏆🏆🏆🏆 ✨✨✨魔改网络、复现前沿论文,组合优化创新

[pgrx开发postgresql数据库扩展]7.返回序列的函数编写(3)多行表序列

前文再续&#xff0c;书接上一回。 上一回我们解析了如何通过pgrx编写srf&#xff0c;返回一个TableIterator&#xff0c;但是在具体应用的时候&#xff0c;我们还是针对一条记录返回了一行数据&#xff08;多个字段的一行&#xff0c;也还是一行&#xff09;&#xff0c;并没…

麒麟V10系统arm版安装g++时,发现的问题及解决方法

在麒麟V10系统&#xff0c;安装Qt时&#xff0c;发现没有g&#xff0c;打算安装一个 1. 用命令直接安装(需要连网) sudo apt-get install g 运行后出现报错&#xff1a;暂不能解析域名 若出现其他问题&#xff1a;https://www.5axxw.com/questions/simple/g7yvfq 2. 为解决报…

朝天椒USB Server登场!EastFax USB Server品牌重塑正式启动

EastFax USB Server是复园科技旗下的第三款toB技术服务产品&#xff0c;诞生于2019年&#xff0c;旨在帮助企业实现加密狗、Ukey、网银U盾等USB的远程调用&#xff0c;拔除卡在数字化转型齿轮里的“USB无法上云”的小石子。 EastFax USB Server的名称直接来自复园科技在十八年…

AIGC 综述 2023:A History of Generative AI from GAN to ChatGPT

GAI&#xff1a;发展历史&#xff0c;核心技术&#xff0c;应用领域以及未来发展 摘要1、引言1.1、主要贡献1.2、组织结构 2、生成式AI的发展历史2.1、NLP领域的发展2.2、CV领域的发展2.3、CV与NLP的融合 3、AIGC的核心技术基础3.1、经典基础模型3.1.1、Transformer3.1.2、Pre-…

面试十分钟不到就被赶出来了,问的实在是太变态了...

从外包出来&#xff0c;没想到算法死在另一家厂子 自从加入这家公司&#xff0c;每天都在加班&#xff0c;钱倒是给的不少&#xff0c;所以也就忍了。没想到8月一纸通知&#xff0c;所有人不许加班&#xff0c;薪资直降30%&#xff0c;顿时有吃不起饭的赶脚。 好在有个兄弟内…

8年开发经验,浅谈 API 管理

随着信息化飞速增长的还有各信息系统中的应用接口&#xff08;API&#xff09;&#xff0c;API作为信息系统内部及不同信息系统之间进行数据传输的渠道&#xff0c;其数量随着软件系统的不断庞大而呈指数型增长&#xff0c;如何管理这些API已经在业界变得越来越重要&#xff0c…

网络管理 - OSPF 动态路由协议

文章目录 1 概述1.1 五种报文1.2 运行原理1.3 区域概念1.4 状态1.5 身份 2 实验配置2.1 网络拓扑图2.2 配置命令 3 扩展3.1 网工软考真题 1 概述 #mermaid-svg-EOOBZo0uztmJLHOT {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#m…

强化学习:贝尔曼最优公式

策略改进案例 强化学习的目的是寻找最优策略。其中涉及两个核心概念最优状态值和最优策略&#xff0c;和一个工具&#xff1a;贝尔曼最优公式。   首先&#xff0c;我们给出一个熟悉的例子&#xff0c;了解贝尔曼方程是如何改进策略的。 根据给出的策略&#xff0c;我们很容…

jsonpath 语法介绍

文章目录 前言 一、对jsonpath的理解 二、补充 三、哪里可以用的到呢&#xff1f; 总结 前言 在使用Python做接口测试中需要获取json中的字段值&#xff0c;因此需要使用jsonpath里面的提取规则&#xff0c;所以特意学习了jsonpath中的语法。 一、对jsonpath的理解 在线运…

ZigBee案例笔记 - 定时器

文章目录 1.片内外设I/O2.定时器简介3.定时器1寄存器4.定时器1操作自由运行模式模模式正计数/倒计数模式 5.16位计数器定时器1控制LED 示例 6.定时器3概述自由运行模式倒计数模式模模式正/倒计数模式 7.定时器3寄存器定时器3控制LED闪烁 1.片内外设I/O 定时器这样的片内外设也…

微信小程序原生开发功能合集十五:个人主页功能实现

本章个人主页功能实现,展示当前登录用户信息、个人主页、修改密码、浏览记录、我的收藏、常见问题、意见反馈、关于我们等界面及对应功能实现。   另外还提供小程序开发基础知识讲解课程,包括小程序开发基础知识、组件封装、常用接口组件使用及常用功能实现等内容,具体如…