【论文阅读笔记】Towards Universal Unsupervised Anomaly Detection in Medical Imaging

Towards Universal Unsupervised Anomaly Detection in Medical Imaging

arxiv,19 Jan 2024 【开源】

【核心思想】

本文介绍了一种新的无监督异常检测方法—Reversed Auto-Encoders (RA),旨在提高医学影像中病理检测的准确性和范围。RA通过生成类似健康的重建图像,能够检测到更广泛的病理类型,这在现有技术中是一个挑战。RA方法在多种医学成像模态(如脑部磁共振成像、儿童腕部X光片和胸部X光片)中展示了卓越的检测性能,与现有最先进的方法相比,RA在检测各种病理、解剖结构和成像模态方面都表现出更高的准确性和稳健性。此外,RA的自动异常检测能力在缺乏放射学专业知识的环境中特别有价值。然而,该研究也指出了在检测极其微妙的异常方面的限制,强调了需要改进异常图计算和开发更为复杂的评估指标,以满足临床诊断的精细需求。总的来说,RA框架在医学成像领域展现出巨大潜力,其能够准确地检测广泛的异常,对于推动医学成像与人工智能的结合、提高诊断过程的准确性具有重要意义。

【医学影像中的异常检测的常用方法概述】

  1. 自监督方法:这些方法通过数据增强或预文本任务生成替代监督信号,利用数据固有特征和有限注释来识别异常。但这些方法可能会在预期的异常分布中引入偏见,尤其是当噪声或人工改变作为真实病理特征的代理时。例如,去噪自编码器(DAE)学习消除人工添加的粗糙高斯噪声,这种方法可能对特定异常(如脑肿瘤)有效,但对更广泛的异常检测应用有限。
  2. 无监督异常检测:无监督方法旨在从正常人群中学习标准分布,然后将这些知识应用于异常检测。传统的自编码器(AE)和变分自编码器(VAE)在此领域起到了基础性作用。AEs通过编码解码架构捕捉和重建输入数据,假设异常将表现为显著的重建错误。然而,AEs常常难以学习详细的正常解剖特征,并不适合泛化到病理。VAEs通过规范化潜在空间并将其视为概率分布来解决AE的一些局限性。这种规范化允许更受约束的学习过程,使VAEs能更紧密地遵循标准分布。然而,这种规范化经常导致重建的图像模糊,这在识别微妙异常时可能是一个缺点。
  3. 遮蔽自编码器(MAEs):这些方法也利用了先进的神经网络架构的优势,但从不同的角度来处理异常检测问题。MAEs通过选择性地遮蔽输入数据的部分,并让模型预测这些遮蔽部分来工作。
  4. 生成对抗网络(GANs):GANs引入了对抗性训练方法,能够生成高度真实的图像。然而,它们可能会遭受模式崩溃,或生成与输入数据不一致的图像。为解决这些挑战,像软内省变分自编码器(SI-VAEs)等进步技术已经出现,它们融合了VAEs和GANs,旨在克服GANs在异常检测中的特定局限性。
  5. 去噪扩散概率模型(DDPMs):DDPMs采用一种迭代方法,涉及在图像空间中添加和随后去除噪声。然而,DDPMs的一个关键方面在于精心选择噪声水平,这一决策极大地影响它们的性能。

【方法】

1.方法提出的背景

在训练阶段(左),使用多尺度反向嵌入损失 L Reversed  \mathcal{L}_{\text {Reversed }} LReversed  ,结合证据下界(ELBO)和对抗优化,对编码器和解码器网络进行优化。在此过程中,解码器从随机噪声中生成合成图像,目的是欺骗编码器将其视为真实图像 x fake  x_{\text {fake }} xfake  。在推理阶段(右),RA模型处理一个新的输入 x x x ,将其编码并重建为伪健康图像 x p h x_{\mathrm{ph}} xph 。异常检测是通过计算 x x x x p h x_{\mathrm{ph}} xph 之间的 L1 范数和感知差异来进行的,从而得到突出显示病理区域的异常图。

image-20240125150148636

将“正常”称为没有病理。给定一组正态样本 x ∈ X ⊂ R N x \in X \subset \mathbb{R}^{N} xXRN ,AE的目标是找到函数 f : R N → R D f: \mathbb{R}^{N} \rightarrow \mathbb{R}^{D} f:RNRD g : R D → R N g: \mathbb{R}^{D} \rightarrow \mathbb{R}^{N} g:RDRN 使得 x ≈ g ( f ( x ) ) x \approx g(f(x)) xg(f(x)) f f f 分别 g g g 称为编码器和解码器,将 f f f 输入映射到较低维的表示形式。无监督异常检测(UAD)的基本假设是,这些学习的表示包含描述规范分布的特征,即使对于异常样本 x ˉ ∉ X \bar{x} \notin X xˉ/X 也是如此。因此, x p h = ( g ( f ( x ˉ ) ) ) ∈ X x_{p h}=(g(f(\bar{x}))) \in \mathcal{X} xph=(g(f(xˉ)))X 表示 x ˉ \bar x xˉ 的伪健康重建。异常分数通常来自输入与其重建之间的像素差异: s ( x ) = ∣ x − g ( f ( x ) ) ∣ s(x)=|x-g(f(x))| s(x)=xg(f(x))​ 。

在变分推理框架中,目标是通过最大化观测样本 x x x 的对数似然 log ⁡ p θ ( x ) \log p_{\theta}(x) logpθ(x) 来优化潜在变量模型 ��⁢(�) p θ ( x ) p_{\theta}(x) pθ(x) 的参数 θ \theta θ 。为了解决这个问题,真正的后验 p θ ( z ∣ x ) p_{\theta}(z \mid x) pθ(zx) 通过使用证据下限 (ELBO) 的提议分布 q ϕ ( z ∣ x ) q_{\phi}(z \mid x) qϕ(zx) 来近似: log ⁡ p θ ( x ) ≥ E q ( z ∣ x ) [ log ⁡ p θ ( x ∣ z ) ] − KL ⁡ [ q ϕ ( z ∣ x ) ∣ ∣ p ( z ) ] = ELBO ⁡ ( x ) \log p_{\theta}(x) \geq \mathbb{E}_{q(z \mid x)}\left[\log p_{\theta}(x \mid z)\right]-\operatorname{KL}\left[q_{\phi}(z \mid x)|| p(z)\right]=\operatorname{ELBO}(x) logpθ(x)Eq(zx)[logpθ(xz)]KL[qϕ(zx)∣∣p(z)]=ELBO(x)

p θ ( x ∣ z ) p_{\theta}(x \mid z) pθ(xz) q ϕ ( z ∣ x ) q_{\phi}(z \mid x) qϕ(zx)分别是解码器 D θ D_{\theta} Dθ和编码器 E ϕ E_{\phi} Eϕ,AE 通常使用正态分布作为先验分布 p ( z ) = N ( μ , σ ) p(z)=\mathcal{N}(\mu, \sigma) p(z)=N(μ,σ) ,并采用重参数化技巧来最大化 ELBO。为了将 VAE 的潜在特性与 GAN 的图像合成能力相结合,SI-VAE为 VAE 训练引入了对抗性损失。关键的创新是以对抗方式利用VAE的编码器和解码器,而无需外部鉴别器。该编码器旨在通过最小化真实样本和先验样本的潜在分布的KL散度来区分真实样本和生成样本,同时最大化生成样本的KL散度。相反,解码器通过使用标准ELBO重建真实数据样本并最小化编码器压缩的生成样本的KL散度来训练来“欺骗”编码器。编码器和解码器的优化目标如下:

L E ϕ ( x , z ) = ELBO ⁡ ( x ) − 1 α ( exp ⁡ ( α ELBO ⁡ ( D θ ( z ) ) ) ) , L D θ ( x , z ) = ELBO ⁡ ( x ) + γ ELBO ⁡ ( D θ ( z ) ) , \begin{array}{l} \mathscr{L}_{E_{\phi}}(x, z)=\operatorname{ELBO}(x)-\frac{1}{\alpha}\left(\exp \left(\alpha \operatorname{ELBO}\left(D_{\theta}(z)\right)\right)\right), \\ \mathscr{L}_{D_{\theta}}(x, z)=\operatorname{ELBO}(x)+\gamma \operatorname{ELBO}\left(D_{\theta}(z)\right), \end{array} LEϕ(x,z)=ELBO(x)α1(exp(αELBO(Dθ(z)))),LDθ(x,z)=ELBO(x)+γELBO(Dθ(z)),

2.RA: Reversed Autoencoders

RA的主要创新在于其复杂的训练机制,旨在学习和准确重建正常的解剖模式。通过三种不同训练策略的独特组合来实现:首先,利用ELBO对平滑潜在空间进行正则化处理,使模型能够有效地捕捉正常解剖特征的潜在分布;其次,实现了RA的编码器和解码器组件之间的内省对抗相互作用。这种相互作用确保了规范分布的高保真表示的生成,因为编码器和解码器相互挑战以优化其输出。最后,为了增强输入与其重建之间的连贯性——这在可能发生重大分歧的恢复阶段尤其重要——我们引入了“反向损失”。该损失函数旨在最大限度地减少原始图像与其重建版本之间的差异,从而确保 RA 在重建正常解剖结构时保持高度准确性,同时突出显示异常。

  • Reversed Embedding Similarity

在编码器中实现反向多尺度嵌入相似性损失。这种方法确保输入表示与其生成的重建的嵌入紧密对齐,在多个尺度上执行:

L Reversed  ( x ) = ∑ l = 0 L [ ( 1 − L Sim  ( E ϕ l ( x ) , E ϕ l ( x rec  ) ) ) + 1 2 MSE ⁡ ( E ϕ l ( x ) , E ϕ l ( x rec  ) ) ] , \begin{array}{r} \mathcal{L}_{\text {Reversed }}(x)=\sum_{l=0}^{L}\left[\left(1-\mathcal{L}_{\text {Sim }}\left(E_{\phi}^{l}(x), E_{\phi}^{l}\left(x_{\text {rec }}\right)\right)\right)\right. \\ \left.+\frac{1}{2} \operatorname{MSE}\left(E_{\phi}^{l}(x), E_{\phi}^{l}\left(x_{\text {rec }}\right)\right)\right], \end{array} LReversed (x)=l=0L[(1LSim (Eϕl(x),Eϕl(xrec )))+21MSE(Eϕl(x),Eϕl(xrec ))],

其中 E ϕ l E_{\phi}^{l} Eϕl 表示 L L L 个编码器层的第 l l l 个嵌入, x rec  = D θ ( E ϕ ( x ) ) , L Sim  x_{\text {rec }}=D_{\theta}\left(E_{\phi}(x)\right), \mathcal{L}_{\text {Sim }} xrec =Dθ(Eϕ(x)),LSim  是余弦相似度, M S E MSE MSE​ 是均方误差。编码器的目标函数结合了反向相似性的概念,定义为:

L E ϕ ( x , z ) = ELBO ⁡ ( x ) − 1 α ( exp ⁡ ( α ELBO ⁡ ( D θ ( z ) ) ) + λ L Reversed  ( x ) \mathcal{L}_{E_{\phi}}(x, z)=\operatorname{ELBO}(x)-\frac{1}{\alpha}\left(\exp \left(\alpha \operatorname{ELBO}\left(D_{\theta}(z)\right)\right)+\lambda \mathcal{L}_{\text {Reversed }}(x)\right. LEϕ(x,z)=ELBO(x)α1(exp(αELBO(Dθ(z)))+λLReversed (x)

  • 异常分数计算

    除了重建之外,准确检测异常还需要强大的异常评分计算方法。传统的基于残差的方法由于依赖于强度差异而经常面临局限性。为了解决这个问题,在计算残差之前应用自适应直方图均衡 。此外,还整合了感知差异,以增强异常检测的鲁棒性: s ( x ) = ∣ e q ( x p h ) − e q ( x ˉ ) ∣ × ( S lpips  ( x p h , x ˉ ) × S lpips  ( e q ( x p h ) , e q ( x ˉ ) ) ) s(x)=\left|\mathrm{eq}\left(x_{p h}\right)-\mathrm{eq}(\bar{x})\right| \times\left(\mathcal{S}_{\text {lpips }}\left(x_{p h}, \bar{x}\right) \times \mathcal{S}_{\text {lpips }}\left(\mathrm{eq}\left(x_{p h}\right), \mathrm{eq}(\bar{x})\right)\right) s(x)=eq(xph)eq(xˉ)×(Slpips (xph,xˉ)×Slpips (eq(xph),eq(xˉ)))

其中 S lpips  \mathcal{S}_{\text {lpips }} Slpips ​ 表示学习的感知图像贴片相似度指标。

Perceptual Image Patch Similarity (PIPS)度量是一种用于评估图像之间相似性的方法,特别关注于感知特征。这种度量通常基于深度卷积神经网络(CNN)的特征,利用这些网络提取的特征来判断图像片段(patch)之间的相似度。PIPS度量的关键在于它不仅考虑像素级别的差异,而且还着眼于图像的感知特性,如结构和纹理。这使得PIPS度量能够更好地与人类视觉系统的感知一致,特别是在处理具有复杂纹理和结构的图像时。

【应用】

  • 脑 MRI 异常定位

    image-20240125152605722

  • 儿科手腕 X 光异常定位

    image-20240125152632979

  • 胸部 X 光异常检测

    image-20240125152712100

image-20240125152721669

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C语言关键字

关键字的分类 C语言一共多少个关键字呢?一般的书上,都是32个,但是这个都C90(C89) 的标准。其实 C99 后又新增了5个关键字。不过,目前主流的编译器,对 C99 支持的并不好,默认使用 C90 ,即,认为3…

【大数据】Flink 中的数据传输

Flink 中的数据传输 1.基于信用值的流量控制2.任务链接 在运行过程中,应用的任务会持续进行数据交换。TaskManager 负责将数据从发送任务传输至接收任务。它的网络模块在记录传输前会先将它们收集到 缓冲区 中。换言之,记录并非逐个发送的,而…

活字格V9获取图片失败bug,报错404,了解存储路径,已改为批量上传和批量获取

项目场景: 问题描述 原因分析: 解决方案: 完成了批量上传功能,这插件真的很方便 于是写了个批量获取附件的js代码,我真厉害 项目场景: 活字格V9版本获取图片链接Upload 【9.0.103.0】图片上传的存储路…

java web 研究生信息管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java Web研究生信息管理系统是一套完善的java web信息管理系统 ,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境 为TOMCAT7.0,Myeclipse8.5开发,数据库为My…

Keycloak - docker 运行 前端集成

Keycloak - docker 运行 & 前端集成 这里的记录主要是跟我们的项目相关的一些本地运行/测试,云端用的 keycloak 版本不一样,不过本地我能找到的最简单的配置是这样的 docker 配置 & 运行 keycloak keycloak 有官方(Red Hat Inc.)的镜像&#…

助力工业产品质检,基于YOLOv7【tiny/l/x】不同系列参数模型开发构建智能PCB电路板质检分析系统

AI助力工业质检智能生产制造已经有很多成功的实践应用了,在我们前面的系列博文中也有很多对应的实践,感兴趣的话可以自行移步阅读前面的博文即可: 《助力质量生产,基于目标检测模型MobileNetV2-YOLOv3-Lite实现PCB电路板缺陷检测…

python:socket基础操作(4)-《tcp客户端基础》

tcp就和udp不一样了,tcp是客户端和服务器端,如果想通过tcp发送数据,要先让tcp进行连接服务器端 tcp客户端 先让服务器端进行启动 import socketdef main():# 创建套接字tcp_client_socket socket.socket(socket.AF_INET,socket.SOCK_STREAM…

【原理图PCB专题】OrCAD Capture CIS关闭开始界面

17.4版本 在打开OrCAD Capture CIS时会发现打开Start Page页面,那么如何将他关闭再也不看这个界面呢? 在窗口中输入SetOptionBool EnableStartPage 0 回车 重启软件后就再也不会弹出Start Page页面 如果没有发现Command Window那么将菜单栏view->C…

Cesium绘制流动管线

目录 一、第一种方式 二、第二种方式 1.安装gsap 2.引入 一、第一种方式 使用viewer.clock Clock文档 viewer.clock文档 vec4 colorImage texture2D(image, vec2(fract(st.s - time), st.t));这里,因为使用的是高版本的cesium1.108,直接写texture2D会报错&am…

计数指针:shared_ptr (共享指针)与函数 笔记

推荐B站视频: 4.shared_ptr计数指针_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV18B4y187uL?p4&vd_sourcea934d7fc6f47698a29dac90a922ba5a3 5.shared_ptr与函数_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV18B4y187uL?p5&vd_sourcea…

JavaScript基础之输入输出与变量常量详解

输入和输出 输出和输入也可理解为人和计算机的交互,用户通过键盘、鼠标等向计算机输入信息,计算机处理后再展示结果给用户,这便是一次输入和输出的过程。 举例说明:如按键盘上的方向键,向上/下键可以滚动页面&#x…

C语言实现插入排序算法(附带源代码)

插入排序 插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常…

opencv012 滤波器04 中值滤波,双边滤波

中值滤波 取中位数,可以处理椒盐噪音 CV自带medianBlur函数dst cv2.medianBlur(src, ksize) 参数说明:1.src: 需要滤波的图片;2.ksize:核大小,必须是比1大的奇数【举个例子:3,5,7……

【RT-DETR有效改进】 | 主干篇 | RevColV1可逆列网络(特征解耦助力小目标检测)

前言 大家好,这里是RT-DETR有效涨点专栏。 本专栏的内容为根据ultralytics版本的RT-DETR进行改进,内容持续更新,每周更新文章数量3-10篇。 专栏以ResNet18、ResNet50为基础修改版本,同时修改内容也支持ResNet32、ResNet101和PP…

JDBC(Java DataBase Connectivity )

图片来源:动力节点老杜的JDBC视频讲解 JDBC(Java DataBase Connectivity ) 一、JDBC 的本质二、开始前的准备工作三、关于 JDBC 中的事务四、JDBC 编程六步1.注册驱动2.获取连接3.获取数据库操作对象4.执行SQL语句5.处理结果查询集6.释放资源…

SpringBoot_基础

学习目标 基于SpringBoot框架的程序开发步骤 熟练使用SpringBoot配置信息修改服务器配置 基于SpringBoot的完成SSM整合项目开发 一、SpringBoot简介 1. 入门案例 问题导入 SpringMVC的HelloWord程序大家还记得吗? SpringBoot是由Pivotal团队提供的全新框架&…

docker指令存档

目录 Docker 1、概念 2、架构图 3、安装 4、Docker怎么工作的? 5、Docker常用命令 帮助命令 镜像命令 1、查看镜像 2、帮助命令 3、搜索镜像 4、拉取镜像 5、删除镜像 容器命令 1、启动 2、查看运行的容器 3、删除容器 4、启动&停止 其他命令…

苹果Find My市场需求火爆,伦茨科技ST17H6x芯片助力客户量产

苹果发布AirTag发布以来,大家都更加注重物品的防丢,苹果的 Find My 就可以查找 iPhone、Mac、AirPods、Apple Watch,如今的Find My已经不单单可以查找苹果的设备,随着第三方设备的加入,将丰富Find My Network的版图。产…

蓝桥杯备战——3.定时器前后台

1.STC15F2k61S2的定时器 阅读STC15系列的手册,我们可以看到跟STC89C52RC的定时器还是有不同之处的: 由上图可以看到我们可以通过AUXR寄存器直接设置定时器的1T/12T模式了 在定时器0/1模式上也可以设置为16位自动重装载。 另外需要注意IAP15F2K61S2只有…

python 学习之 re库的基本使用(正则匹配)上

目录 一、基本用法 二、函数介绍 1、match函数 2、search 函数 3、compile 函数 4、findall 和 finditer 函数 5、sub 函数和 subn 函数 6、split 函数 一、基本用法 首先我们需要引入 re 库 代码基本框架使用两行代码实现 测试代码: import reret re.m…