【技术追踪】DiffMIC:用于医学图像分类的双引导扩散网络(MICCAI-2024)

  似乎是第一个用于医学图像分类的扩散模型嗷~


论文:DiffMIC: Dual-Guidance Diffusion Network for Medical Image Classification
代码:https://github.com/scott-yjyang/DiffMIC


0、摘要

  扩散概率模型最近在生成式图像建模中表现出了显著的性能,引起了计算机视觉界的广泛关注。(顶流,绝对的顶流~)然而,大量的基于扩散的研究集中在生成任务上,很少有研究将扩散模型应用于一般的医学图像分类。(我偏要剑走偏锋~

  本文提出了第一个基于扩散的模型(称为 DiffMIC)来实现医学图像分类,DiffMIC 能够消除医学图像中的意外噪声和扰动,并稳健地捕获语义表示。

  为此,本文设计了一种双重条件引导策略,通过多个粒度对每个扩散步骤进行条件化,以改善逐步区域注意力。此外,提出了通过在扩散前向过程中执行最大均值差异正则化来学习每个粒度中的互信息。

  本文评估了 DiffMIC 在三种不同图像类型的医学分类任务上的有效性,包括胎盘成熟度分级(超声),皮肤病变分类(皮肤镜),糖尿病视网膜病变分级(眼底照相),具有 SOTA 结果。


1、引言

1.1、现有分类方法挑战

  (1)不同类型医学图像存在各种模糊的病变和细粒度组织;
  (2)硬件限制下生成医学图像会产生噪声和模糊效应,降低图像质量,故需要更有效的特征表示建模来进行鲁棒分类;

1.2、本文贡献

  (1)提出了基于扩散模型的医学图像分类模型;(第一个!
  (2)引入一种双粒度条件引导(DCG)策略来指导去噪过程,在扩散过程中同时使用全局和局部先验来调节每个 step;
  (3)引入特定条件的最大平均差异(MMD)正则化来学习每个粒度在潜在空间中的互信息;
  (4)评估了 DiffMIC 在 3 个 2D 医学图像分类任务上的有效性;


2、方法

  图1 为 DiffMIC 的示意图。给定输入图像 x x x,将其传入图像编码器获得图像特征嵌入 ρ ( x ) {ρ(x)} ρ(x),利用双粒度条件引导(DCG)模型来生成全局先验 y ^ g {\hat y_g} y^g 和局部先验 y ^ l {\hat y_l} y^l

  训练时,对 ground truth y 0 {y_0} y0 和不同的先验进行扩散过程,得到三个噪声变量:全局先验 y t g {y^g_t} ytg,局部先验 y t l {y^l_t} ytl,双先验 y t {y_t} yt。随后,将三个噪声变量及其各自的先验相结合,并将它们分别投影到一个潜在空间中。进一步将三种投影嵌入与图像特征嵌入 ρ ( x ) {ρ(x)} ρ(x) 相结合,并预测了从 y t g {y^g_t} ytg y t l {y^l_t} ytl y t {y_t} yt 采样的噪声分布。

  本文针对预测的噪声 y t g {y^g_t} ytg y t l {y^l_t} ytl 设计了特定条件的最大均值差异(MMD)正则化损失,并采用均方误差(MSE)衡量噪声估计损失,3 个损失进行协同训练,以优化 DiffMIC 网络。

  
Figure 1 | DiffMIC 框架概述:(a)训练和(b)推理过程(颜色越深,特征嵌入的噪声就越大),(c)DCG 模型通过来自原始图像和 ROI 的双重先验来指导扩散过程;

在这里插入图片描述

2.1、双粒度条件引导(DCG)策略

  (1)DCG模型
  在大多数条件 DDPM 中,条件先验将是一个唯一的给定信息。然而,由于对象的模糊性,医学图像分类尤其具有挑战性,很难从背景中区分病变和组织,特别是在低对比度的图像模式中,如超声图像。
  此外,在感兴趣的区域(ROI)中可能存在意外的噪声或模糊效应,从而阻碍了对高级语义的理解。在每个扩散步骤中,只取一个原始图像 x x x 作为条件,将不足以稳健地学习细粒度信息,从而导致分类性能下降。

  为缓解该问题,本文设计了一个双粒度条件引导(DCG)来编码每个扩散步骤。具体而言,引入了一个 DCG 模型 τ D τ_D τD 来计算扩散过程的全局和局部条件先验。与放射科医生的诊断过程类似,可以从全局先验中获得一个整体的理解,在消除负噪声影响时,也可以集中于局部先验中病变对应的区域。
  如 图1(c) 所示,对于全局流,将原始图像数据 x x x 输入全局编码器 τ g τ_g τg ,然后输入 1×1 的卷积层,生成整个图像的显著性映射。然后通过平均池化,从整个显著性映射中预测全局先验 y ^ g {\hat y_g} y^g。对于局部流,进一步裁剪在整个图像的显著性映射中响应显著的 ROI。每个 ROI 被输入局部编码器 τ l τ_l τl,以获得一个特征向量。然后利用门控注意机制,融合 ROI 中的所有特征向量,得到一个加权向量,利用该向量通过一个线性层计算局部先验 y ^ l {\hat y_l} y^l

  (2)去噪模型
  基于 DCG 模型计算的全局和局部先验,在扩散过程中对噪声变量 y t {y_t} yt 进行如下采样:
在这里插入图片描述
  其中, ϵ ∼ N ( ϵ ; 0 , I ) {ϵ \sim \mathcal N(ϵ; 0, I)} ϵN(ϵ;0,I) α ˉ t = ∏ t α t {{\bar \alpha _t} = \prod _{t}{\alpha _t}} αˉt=tαt α t = 1 − β t {{\alpha _t} = 1 - {\beta _t}} αt=1βt 具有线性噪声调度 { β t } t = 1 : T ∈ ( 0 , 1 ) T {\{ \beta _t \}_{t=1:T} \in (0,1)^T} {βt}t=1:T(0,1)T。随后,将噪声变量 y t y_t yt 和双先验的连接向量输入去噪模型 UNet ϵ θ ϵ_θ ϵθ 来估计噪声分布,其公式为:
在这里插入图片描述
  式中, f ( ⋅ ) {f(·)} f() 为对潜在空间的投影层。 [ ⋅ ] {[·]} [] 是连接操作。 E ( ⋅ ) {E(·)} E() D ( ⋅ ) {D(·)} D() 是 UNet 的编码器和解码器。需要注意的是,图像特征嵌入 ρ ( x ) {ρ(x)} ρ(x) 与 UNet 中的投影噪声嵌入进一步集成,使模型关注高级语义,从而获得更鲁棒的特征表示。在前向过程中,利用最小化噪声估计损失 L ϵ {\mathcal L_ϵ} Lϵ
在这里插入图片描述
  本文的方法通过结合从原始图像和感兴趣区域(ROIs)中提取的信息作为先验条件,来优化每一步的估计函数,从而改进了基本的扩散模型。

2.2、条件特异性 MMD 正则化

  最大均值差异(MMD)是通过比较两个分布的所有矩来衡量它们之间的相似性,这可以通过核函数有效地实现。受 InfoVAE 启发,本文引入了一对额外的条件特定最大均值差异(MMD)正则化损失,以学习采样噪声分布与高斯分布之间的互信息。
  具体而言,从时间步长 t {t} t 的扩散过程中采样噪声变量 y t g {y_t^g} ytg,然后计算一个 MMD 正则化损失为:
在这里插入图片描述
  其中, K ( ⋅ , ⋅ ) {\mathbb K(·, ·)} K(⋅,⋅)是一个正定核函数,用于在希尔伯特空间中再生分布。特定条件的 MMD 正则化也应用于局部先验,如 图1(a)所示。一般的噪声估计损失 L ϵ {\mathcal L_ϵ} Lϵ 从两个先验中捕获互补信息,而特定条件的 MMD 正则化保持了每个先验和目标分布之间的互信息。这有助于网络更好地建模双先验共享的鲁棒特征表示,并以稳定的方式更快地收敛。

2.3、训练和推理方案

  (1)总损失
  通过添加噪声估计损失和 MMD 正则化损失,去噪网络的总损失 L d i f f {\mathcal L_{diff}} Ldiff 如下:
在这里插入图片描述
  其中 λ {λ} λ 是一个平衡超参数,根据经验设置为 λ = 0.5 {λ=0.5} λ=0.5

  (2)训练细节
  ①采用标准的 DDPM 训练过程,扩散时间步长 t {t} t [ 1 , T ] {[1,T]} [1,T] 的均匀分布中选择,噪声用 β 1 = 1 × 1 0 − 4 {β_1=1×10^{−4}} β1=1×104 β T = 0.02 {β_T=0.02} βT=0.02 进行线性调度;
  ②采用 ResNet18 作为图像编码器 ρ ( ⋅ ) {ρ(·)} ρ()
  ③连接 y ^ g {\hat y_g} y^g y ^ l {\hat y_l} y^l y t {y_t} yt,并应用一个输出维数为 6144 的线性层,得到潜在空间中的融合向量;
  ④为了根据时间步长对响应嵌入进行条件化处理,本文对融合向量和时间步长嵌入执行哈达玛积。然后,对图像特征嵌入和响应嵌入再次执行哈达玛积,将它们整合在一起;输出向量被依次传递通过两个全连接层,每个全连接层之后都与一个时间步长嵌入执行哈达玛积。最后,使用一个全连接层来预测噪声,该层的输出维度等于类别数。值得注意的是,除了输出层之外,所有全连接层都伴随着一个批量归一化层和一个Softplus非线性激活函数。
  ⑤对于 DCG 模型 τ D τ_D τD,其全局和局部流的主干是 ResNet,采用标准的交叉熵损失作为 DCG 模型的目标。对 DCG 模型进行 10 个 epoch 的预热预训练后,联合训练去噪扩散模型和 DCG 模型,从而得到一个用于医学图像分类的端到端 DiffMIC。

  (3)推理阶段
  如 图1(b)所示,给定一个输入图像 x x x,首先将其输入到 DCG 模型中,以获得双先验 y ^ g {\hat y_g} y^g y ^ l {\hat y_l} y^l。随后,根据 DDPM 的 pipeline,将先验 y ^ g {\hat y_g} y^g y ^ l {\hat y_l} y^l 和图像特征嵌入 ρ ( x ) ρ(x) ρ(x) 输入训练好的条件 UNet,从随机预测 y T y_T yT 中迭代去噪得到最终的预测 y ^ 0 {\hat y_0} y^0


3、实验

3.1、数据集

  (1)PMG2000:胎盘成熟度分级(4类),2098 张超声图像,8:2 划分;
  (2)HAM10000:皮肤病变分析(7类),10015 张皮肤病变图像,7:3 划分;
  (3)APTOS2019:糖尿病视网膜病变分析(5类),3662 张眼底图像,7:3 划分;

3.2、实施细节

  (1)PyTorch框架,NVIDIA RTX 3090 GPU;
  (2)中心裁剪 224×224,随机翻转和旋转,6 个 ROI 区域 32×32;
  (3)Adam 优化器,batch size=32;
  (4)UNet 初始学习率 1 × 1 0 − 3 {1×10^{−3}} 1×103,DCG 训练整个网络的学习率 2 × 1 0 − 4 {2×10^{−4}} 2×104
  (5)三个数据集训练 epoch=1000;
  (6)推理的总扩散时间步长 T T T,PMG2000: T = 100 T =100 T=100,HAM10000: T = 250 T =250 T=250, APTOS2019 : T = 60 T =60 T=60,对空间分辨率为 224×224 的图像进行分类,DiffMIC 的平均运行时间约为 0.056 秒;

3.3、实验结果

  (1)与先进方法比较
  HAM10000 和 APTOS2019 都存在类不平衡问题。因此,本文将 DiffMIC 与最先进的长尾医学图像分类方法进行了比较;
  
Table 1 | 与 SOTA 方法在三个分类任务上的定量比较:

在这里插入图片描述

   (2)消融实验
   basic 为经典的 ResNet18,C1 为添加基本扩散过程,C2为进一步添加双粒度条件引导;
  
Table 2 | DiffMIC 中每个模块在 PMG2000 数据集上的有效性:

在这里插入图片描述

   (3)扩散过程可视化
  随着时间步长编码的进行,去噪扩散模型逐渐从特征表示中去除噪声,从而使得类别从高斯分布中的分布更加清晰;
  
Figure 2 | 在三个数据集的推理中,通过扩散反向过程去噪特征嵌入得到 t-SNE:
在这里插入图片描述


  感觉还可以做大做强,再创辉煌~

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Deepseek v3R1 学习笔记

o1 o1 模型在训练过程中混合了多种奖励函数的设计方法,并且尝试从结果监督转向过程监督,在中间过程进行打分 使用的搜索策略:基于树的搜索和基于顺序修改的搜索 R1 R1-Zero 是从基础模型开始,完全由强化学习驱动,不…

技术书籍写作与编辑沟通指南

引言 撰写技术书籍不仅仅是知识的输出过程,更是与编辑团队紧密合作的协同工作。优秀的技术书籍不仅依赖作者深厚的技术背景,还需要精准的表达、流畅的结构以及符合出版要求的编辑润色。因此,如何高效地与编辑沟通,确保书籍质量&a…

DeepSeek+Ollama+AnythingLLM 本地部署完全指南,打造专属知识库

DeepSeekOllamaAnythingLLM 本地部署完全指南,打造专属知识库 1 Ollama 本地化部署DeepSeek R1 Ollama 是一个用于本地运行大语言模型(LLMs)的开源工具,提供简单的界面和优化的推理引擎 ,使用户能够在个人设备上高效…

更换IP属地会影响网络连接速度吗

在数字化时代,网络连接速度对于个人用户和企业来说都至关重要。无论是日常浏览网页、观看视频,还是进行在线办公、游戏娱乐,网络速度都直接影响着我们的体验。而IP属地,作为网络连接中的一个重要元素,其变动是否会引发…

2025 持续防范 GitHub 投毒,通过 Sharp4SuoExplorer 分析 Visual Studio 隐藏文件

在2024年底的网络安全事件中,某提权工具被发现植入后门,攻击者利用 .suo 文件作为隐蔽的攻击方式。由于 .suo 文件是 Visual Studio 项目的隐藏配置文件,通常不为安全研究人员所关注,因此为攻击者提供了潜在的攻击渠道。 初步调查…

每日Attention学习19——Convolutional Multi-Focal Attention

每日Attention学习19——Convolutional Multi-Focal Attention 模块出处 [ICLR 25 Submission] [link] UltraLightUNet: Rethinking U-shaped Network with Multi-kernel Lightweight Convolutions for Medical Image Segmentation 模块名称 Convolutional Multi-Focal Atte…

【自然语言处理(NLP)】NLP实战:IMDB影评情感分析项目

文章目录 介绍IMDB影评情感分析项目数据集项目实现1. 导包2. 加载IMDB数据3. 查看部分数据4. 分词5. 加载数据整合6. 构建模型7. 词嵌入8. 初始化模型和权重9. glove词向量10. 训练和评估11. 预测 个人主页:道友老李 欢迎加入社区:道友老李的学习社区 介…

企业高效管理策略中的关键一环:WorkWin 监控上网时间的软件的效能剖析

在企业日常运营体系中,员工工作效率与网络资源的合理配置,始终是企业管理者重点关注的核心议题。伴随互联网的广泛普及,员工在工作时段内的网络使用行为日益常态化。然而,若缺乏行之有效的上网时间管控机制,极易导致员…

Spring AI 智能体通过 MCP 集成本地文件数据

作者:刘军 Model Context Protocol(MCP)简介 模型上下文协议(即 Model Context Protocol,MCP) [ 1] 是一个开放协议,它规范了应用程序如何向大型语言模型(LLM)提供上下…

DIY Shell:探秘进程构建与命令解析的核心原理

个人主页:chian-ocean 文章专栏-Linux 前言: Shell(外壳)是一个操作系统的用户界面,它提供了一种方式,使得用户能够与操作系统进行交互。Shell 是用户与操作系统之间的桥梁,允许用户通过命令行…

新春贺岁,共赴AGI之旅

点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 往期精彩文章推荐 季姮教授独家文字版干货 | 面向知识渊博的大语言模型 关于AI TIME AI TIME源起于2019年,旨在发扬科学思辨精神,邀请各界人士对人工智能理论、算法和场景应用的本质问题…

FastAPI之参数传递和参数校验

FastAPI之参数传递 一、请求URL传参1、URL传参2、一个参数名,多个值3、参数校验3.1、默认值设置,和参数接口描述3.2、字符串长度校验3.3、正则表达式校验3.4、数值大小校验 二、请求体传参1、请求体单个传参 一、请求URL传参 1、URL传参 url请求参数是…

Vue Dom截图插件,截图转Base64 html2canvas

安装插件 npm install html2canvas --save插件使用 <template><div style"padding: 10px;"><div ref"imageTofile" class"box">发生什么事了</div><button click"toImage" style"margin: 10px;&quo…

C语言:深入了解指针3

1.回调函数是什么&#xff1f; 基本概念 回调函数就是⼀个通过函数指针调⽤的函数。 如果你把函数的指针&#xff08;地址&#xff09;作为参数传递给另⼀个函数&#xff0c;当这个指针被⽤来调⽤其所指向的函数 时&#xff0c;被调⽤的函数就是回调函数。回调函数不是由该函…

llama.cpp GGUF 模型格式

llama.cpp GGUF 模型格式 1. Specification1.1. GGUF Naming Convention (命名规则)1.1.1. Validating Above Naming Convention 1.2. File Structure 2. Standardized key-value pairs2.1. General2.1.1. Required2.1.2. General metadata2.1.3. Source metadata 2.2. LLM2.2.…

【C++】STL——vector底层实现

目录 &#x1f495; 1.vector三个核心 &#x1f495;2.begin函数&#xff0c;end函数的实现&#xff08;简单略讲&#xff09; &#x1f495;3.size函数&#xff0c;capacity函数的实现 &#xff08;简单略讲&#xff09; &#x1f495;4.reserve函数实现 &#xff08;细节…

Pinia状态管理

1、为什么要使用Pinia&#xff1f; Pinia 是 Vue 的存储库&#xff0c;它允许跨组件/页面共享状态 Pinia 最初是为了探索 Vuex 的下一次迭代会是什么样子&#xff0c;结合了 Vuex 5 核心团队讨论中的许多想法。最终&#xff0c;我们意识到 Pinia 已经实现了我们在 Vuex 5 中想…

TCP | RFC793

注&#xff1a;本文为 “ RFC793” 相关文章合辑。 RFC793-TCP 中文翻译 编码那些事儿已于 2022-07-14 16:02:16 修改 简介 翻译自&#xff1a; RFC 793 - Transmission Control Protocol https://datatracker.ietf.org/doc/html/rfc793 TCP 是一个高可靠的主机到主机之间…

VMware Workstation Pro安装了Ubuntu 24.04实现与Windows10之间的复制粘贴

windows10安装了VMware Workstation Pro&#xff0c;虚拟机上安装Ubuntu 24.04&#xff0c;想Ubuntu和windows之间实现复制粘贴&#xff0c;便于互相执行下面命令&#xff1a; sudo apt-get autoremove open-vm-tools //卸载已有的工具 sudo apt-get install open-vm-tools …

idea分析sql性能

idea对sql进行解析&#xff0c;可有效展示sql的性能问题&#xff0c;比直接看命令好。&#xff08;专业版才有数据库功能&#xff0c;可以在淘宝买&#xff0c;10块就好了&#xff09; 如下&#xff1a; 发现一个全表扫描&#xff0c;耗时6s&#xff0c;对应sql语句可以查看&…