基于提示驱动的潜在领域泛化的医学图像分类方法(Python实现代码和数据分析)

摘要
医学图像分析中的深度学习模型易受数据集伪影偏差、相机差异、成像设备差异等导致的分布偏移影响,导致在真实临床环境中诊断不可靠。领域泛化(Domain Generalization, DG)方法旨在通过多领域训练提升模型在未知领域的性能,但其依赖精确的领域标签,而医学数据通常缺乏此类标签。为此,我们提出一种无需领域标签的领域泛化框架——提示驱动的潜在领域泛化(Prompt-driven Latent Domain Generalization, PLDG)。该框架包含无监督领域发现与提示学习:首先通过聚类与偏差相关的风格特征生成伪领域标签,随后利用协作式领域提示引导视觉变换器(ViT)从多样化的潜在领域学习知识。通过领域提示生成器实现跨领域知识共享,并采用领域混合策略缓解伪标签噪声问题。在皮肤癌分类、糖尿病视网膜病变分类和组织病理学癌症检测等任务上的实验表明,PLDG无需领域标签即可达到或超越传统DG方法的性能。

关键词:领域泛化,提示学习,皮肤病学,皮肤癌,糖尿病视网膜病变

I. 引言

深度学习在医学图像分析中取得了显著进展,但其性能易受分布偏移的影响。例如,皮肤镜图像分类模型可能过度依赖标尺、凝胶气泡等伪影而非实际病灶特征;糖尿病视网膜病变(Diabetic Retinopathy, DR)分类模型可能过拟合特定相机的成像风格。此类偏差导致模型在真实临床场景中的泛化能力受限。传统领域泛化方法旨在通过多领域训练提升模型对未知领域的适应性,但其依赖预定义的领域标签。然而,医学数据中领域标签常面临以下挑战:

  1. 获取成本高:领域标签需人工标注,耗时费力;

  2. 定义模糊:医学图像的领域划分(如伪影类型、医院来源)缺乏统一标准,不同专家可能存在分歧;

  3. 任务依赖性:领域划分与下游任务强相关,难以跨任务迁移。

现有方法存在两大局限性:

  1. 数据集层面:依赖领域标签的假设不切实际;

  2. 算法层面:领域不变特征学习可能忽略对未知领域有用的信号,而集成学习方法未充分利用跨领域信息。

为此,我们提出潜在领域泛化(Latent Domain Generalization, LDG),通过无监督方式自动发现潜在领域并实现模型泛化。本文的核心贡献如下:

  1. 无需领域标签的框架:提出PLDG,通过聚类ViT浅层风格特征生成伪领域标签,结合提示学习实现跨领域知识迁移;

  2. 领域提示生成器:通过低秩分解促进领域提示间的知识共享;

  3. 领域混合策略:缓解伪标签噪声问题,增强决策边界灵活性;

  4. 广泛验证:在皮肤病变、DR分类、癌症检测及去偏任务中验证有效性,性能超越传统DG方法。


II. 相关工作

A. 领域泛化

传统方法包括:

  • 领域对抗训练:如DANN通过对抗损失对齐特征分布;

  • 统计对齐:如CORAL匹配二阶统计量;

  • 元学习:通过模拟领域偏移优化模型鲁棒性。
    近期研究表明,ViT因其对纹理偏差的弱敏感性,在DG任务中表现优于CNN。然而,现有方法仍依赖领域标签,且医学图像领域泛化研究较少。

B. 医学图像中的领域泛化

现有工作多依赖人工标注的伪影标签或数据集差异作为领域标签,但存在噪声和定义不准确问题。例如,Bissoto等人通过二元分类器标注皮肤数据集的伪影标签,但标注结果可能存在误差;Mohammad等人将不同DR数据集直接视为不同领域,忽略了数据集内部相机多样性。本文首次提出基于ViT风格特征的无监督领域发现方法,摆脱对预定义标签的依赖。

C. 提示学习

提示学习通过添加可学习向量适配预训练模型至下游任务。例如,VPT在ViT中插入可学习提示以微调模型;Doprompt为不同领域设计独立提示以捕获领域特定知识。与现有方法不同,PLDG引入领域提示生成器,通过共享提示与低秩分解实现跨领域协作学习。


III. 方法

A. 问题定义

B. 整体框架

PLDG框架如图1所示,包含以下步骤:

  1. 无监督领域发现:基于ViT浅层CLS令牌的风格特征聚类生成伪领域标签;

  2. 领域提示学习:通过领域提示生成器与混合策略优化模型,提升跨领域泛化能力。


C. 基于简约性偏差的伪领域标签聚类

深度学习模型存在简约性偏差(Simplicity Bias),即倾向于学习简单特征(如背景伪影)而非复杂语义特征。本文利用该特性,从ViT浅层(如第1层)提取CLS令牌风格特征,通过k-means聚类生成伪领域标签。风格特征对齐损失定义为:


D. 基于ViT的领域提示学习


2. 损失函数


IV. 实验结果

A. 实验设置


B. 对比实验

1. 皮肤癌分类(表I)

PLDG在Derm7pt_derm和PAD数据集上分别提升3.46%和14.18%,平均ROC-AUC达84.32%,优于DANN、CORAL等传统方法。

2. DR分类(表II)

PLDG平均准确率达75.6%,显著高于依赖领域标签的方法(如ERM++:72.1%),表明其在领域标签噪声场景下的优势。

3. 癌症检测(表III)

PLDG在Camelyon17-WILDS上准确率为89.7%,仅次于使用领域标签的EPVT(90.2%),验证其实际应用价值。


C. 消融实验(表IV、V)

逐步添加提示(P)、适配器(A)、混合(M)、生成器(G)组件,结果显示:

  • +P:平均ROC-AUC提升3.39%;

  • +P+A+M:进一步提升0.87%;

  • +P+A+M+G:最终提升1.26%,验证各模块的有效性。


D. 超参数分析(图4)

  • 提示长度:4时性能最优;

  • 聚类数:4时平均ROC-AUC最高,且对聚类数不敏感(2~5均表现良好)。


E. 领域提示权重分析(图5)

领域距离(Fr'echet距离)与提示权重呈负相关,表明模型能自适应关注与目标领域相似的源领域。


F. 聚类分析(图6、7)

  • ViT浅层(L1)CLS令牌聚类结果与类别标签无关(NMI=0.12),主要反映风格特征;

  • t-SNE可视化显示伪领域对应“墨水标记”、“暗角”、“深肤色”等医学相关偏差。


G. 去偏评估(图8)

在陷阱数据集中,PLDG在最高偏差等级(Bias=1)时ROC-AUC为68.5%,显著优于ERM(62.37%),表明其对分布偏移的鲁棒性。


V. 结论

本文提出PLDG框架,首次在医学图像分类中实现无需领域标签的潜在领域泛化。实验表明:

  1. 领域标签非必要:通过伪标签发现,PLDG性能媲美甚至超越传统DG方法;

  2. 跨领域知识共享:领域提示生成器有效促进知识迁移;

  3. 鲁棒性:领域混合策略缓解伪标签噪声,提升模型泛化能力。未来工作将扩展至多模态医学数据与实时部署场景。(代码QQandweichat)


参考文献

[1] P. Schramowski, W. Stammer, S. Teso, A. Brugger, F. Herbert,
X. Shao, H. Luigs, A. Mahlein, and K. Kersting, “Making deep neural
networks right for the right scientific reasons by interacting with their
explanations,” Nat. Mach. Intell. , vol. 2, no. 8, pp. 476–486, 2020.
[Online]. Available: https://doi.org/10.1038/s42256-020-0212-3
[2] A. S. Ross, M. C. Hughes, and F. Doshi-Velez, “Right for the
right reasons: Training differentiable models by constraining their
explanations,” in Proceedings of the Twenty-Sixth International Joint
Conference on Artificial Intelligence, IJCAI 2017, Melbourne, Australia,
August 19-25, 2017 , C. Sierra, Ed. ijcai.org, 2017, pp. 2662–2670.
[Online]. Available: https://doi.org/10.24963/ijcai.2017/371
[3] A. Bissoto, C. Barata, E. Valle, and S. Avila, “Artifact-based domain
generalization of skin lesion models,” in ECCV Workshops , 2022.
[4] A. Bissoto, M. Fornaciali, E. Valle, and S. Avila, “(de) constructing
bias on skin lesion datasets,” 2019 IEEE/CVF Conference on Computer
Vision and Pattern Recognition Workshops (CVPRW) , pp. 2766–2774,
2019.
[5] S. Yan, Z. Yu, X. Zhang, D. Mahapatra, S. S. Chandra, M. Janda,
P. Soyer, and Z. Ge, “Towards trustable skin cancer diagnosis via rewrit
ing model’s decision,” in Proceedings of the IEEE/CVF Conference
on Computer Vision and Pattern Recognition (CVPR) , June 2023, pp.
11 568–11 577.
[6] M. Atwany and M. Yaqub, “Drgen: Domain generalization in diabetic
retinopathy classification,” in Medical Image Computing and Computer
Assisted Intervention – MICCAI 2022 , L. Wang, Q. Dou, P. T. Fletcher,
S. Speidel, and S. Li, Eds. Cham: Springer Nature Switzerland, 2022,
pp. 635–644.
[7] D. M. Nguyen, T. T. Mai, N. T. Than, A. Prange, and D. Sonntag,
“Self-supervised domain adaptation for diabetic retinopathy grading
using vessel image reconstruction,” in KI 2021: Advances in Artificial
Intelligence: 44th German Conference on AI, Virtual Event, September
27–October 1, 2021, Proceedings 44 . Springer, 2021, pp. 349–361.

图1 传统领域泛化与潜在领域泛化对比

图2 PLDG算法流程
图3 领域提示生成器与混合策略示意图


图4 提示长度与聚类数对性能的影响


图5 领域提示权重与领域距离的关系
图6 伪领域标签与类别/领域标签的标准化互信息(NMI)


图7 伪领域标签的t-SNE可视化


图8 陷阱数据集去偏性能对比

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

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

相关文章

C#—Settings配置详解

C#—Settings配置详解 在C#项目中,全局配置通常指的是应用程序的设置(settings),这些设置可以跨多个类或组件使用,并且通常用于存储应用程序的配置信息,如数据库连接字符串、用户偏好设置等。 Settings配置…

国自然面上项目|基于多模态MR影像的胶质母细胞瘤高危区域定位及预后预测研究|基金申请·25-02-28

小罗碎碎念 今天和大家分享一个面上项目,执行年限为2019.01~2022.12,直接费用为57万元。 胶质母细胞瘤(GBM)预后差且差异大,异质性是重要因素,临床手段难评价。影像组学为异质性研究提供方法&am…

Nat Mach Intell | AI分子对接算法评测

《Nature Machine Intelligence》发表重磅评测,系统评估AI与物理方法在虚拟筛选(VS)中的表现,突破药物发现效率瓶颈。 核心评测体系:三大数据集 研究团队构建了三个新型测试集: TrueDecoy:含14…

安路FPGA开发入门:软件安装与点灯与仿真(TangDynasty ModelSim)

文章目录 前言软件安装开发软件仿真软件 点灯测试代码编写与编译引脚分配固件下载 仿真测试ModelSim添加仿真库TangDynasty仿真设置进行仿真 后记 前言 最近因为工作需要用安路的FPGA,这里对安路FPGA开发相关流程做个记录。作为测试只需要一个核心板(我这…

千峰React:外部库引用

flushSync强制刷新 如果不强制刷新是这样:每次count在下一轮才更新 import { useState, useRef } from react import { flushSync } from react-domfunction App() {const [count, setCount] useState(0)const refuseRef(null)const handleClick () > { setCo…

防火墙旁挂组网双机热备负载均衡

一,二层交换网络: 使用MSTPVRRP组网形式 VLAN 2--->SW3为主,SW4 作为备份 VLAN 3--->SW4为主,SW3 作为备份 MSTP 设计 --->SW3 、 4 、 5 运行 实例 1 : VLAN 2 实例 2 : VLAN 3 SW3 是实例 1 的主根,实…

结合PyMuPDF+pdfplumber,删除PDF指定文本后面的内容

🚀 一、需求场景解析 在日常办公中,我们经常会遇到这样的痛点: 合同处理:收到上百份PDF合同,需要找到"签署页"之后的内容并删除报表加工:批量移除财务报表中的敏感数据区域文档归档:快速提取技术文档的关键章节传统的手动操作方式存在三大致命缺陷: ❗ 耗时…

二、QT和驱动模块实现智能家居----2、编译支持QT的系统

因为我们的Linux内核文件不支持QT系统(当然如果你的支持,完全跳过这篇文章),所以我们要从网上下载很多软件包,这里直接用百问网的软件包,非常方便。 一:Ubuntu 配置 1 设置交叉编译工具链 以…

el-select的下拉选择框插入el-checkbox

el-check注意这里要使用model-value绑定数据 <el-selectv-model"selectDevice"multiplecollapse-tags:multiple-limit"5"style"width: 200px"popper-class"select-popover-class" ><el-optionv-for"item in deviceList…

UNION 和 UNION ALL 的区别:深入解析 SQL 中的合并操作

在 SQL 的世界里&#xff0c;当我们需要合并多个查询结果集时&#xff0c;UNION和UNION ALL是两个常用的操作符。虽然它们的功能看起来相似&#xff0c;但实际上有着重要的区别&#xff0c;这些区别在不同的应用场景中会对查询结果和性能产生显著影响。本文将详细探讨UNION和UN…

5.Linux配置虚拟机

步骤一 步骤二 步骤三 步骤四 finalshell

2024华为OD机试真题-热点网站统计(C++)-E卷-100分

2024华为OD机试最新E卷题库-(C卷+D卷+E卷)-(JAVA、Python、C++) 目录 题目描述 输入描述 输出描述 用例1 用例2 考点 题目解析 代码 c++ 题目描述 企业路由器的统计页面,有一个功能需要动态统计公司访问最多的网页 URL top N。 请设计一个算法,可以高效动态统计 …

SOUI基于Zint生成EAN码

EAN码广泛应用与欧洲的零售业。包括EAN-2、EAN-5、EAN-8和EAN-12码。分别编码 2、5、7 或 12 位数字。此外&#xff0c;可以使用 字符将 EAN-2 和 EAN-5 附加符号添加到 EAN-8 和 EAN-13 符号中&#xff0c;就像 UPC 符号一样。 EAN-8校验码计算&#xff1a; 从左往右奇数位的…

QT实现简约美观的动画Checkbox

*最终效果: * 一共三个文件: main.cpp , FancyCheckbox.h , FancyCheckbox.cpp main.cpp #include <QApplication> #include "FancyCheckbox.h" #include <QGridLayout> int main(int argc, char *argv[]) {QApplication a(argc, argv);QWidget* w new…

arm | lrzsz移植记录

1 我的使用场景 开发板无网络, 无奈只得用U盘拷贝文件 文件不大, 每次都插拔U盘, 很繁琐 原来的环境不支持rz等命令 就需要移植这个命令来使用 下载地址 https://ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz 2 编译脚本 # 主要内容在这里 configure_for_arm(){mkdir -p $PA…

Hadoop之01:HDFS分布式文件系统

HDFS分布式文件系统 1.目标 理解分布式思想学会使用HDFS的常用命令掌握如何使用java api操作HDFS能独立描述HDFS三大组件namenode、secondarynamenode、datanode的作用理解并独立描述HDFS读写流程HDFS如何解决大量小文件存储问题 2. HDFS 2.1 HDFS是什么 HDFS是Hadoop中的一…

矩阵 trick 系列 题解

1.AT_dp_r Walk&#xff08;矩阵图论&#xff09; 题意 一个有向图有 n n n 个节点&#xff0c;编号 1 1 1 至 n n n。 给出一个二维数组 A 1... n , 1... n A_{1...n,1...n} A1...n,1...n​&#xff0c;若 A i , j 1 A_{i,j}1 Ai,j​1 说明节点 i i i 到节点 j j j …

使用AoT让.NetFramework4.7.2程序调用.Net8编写的库

1、创建.Net8的库&#xff0c;双击解决方案中的项目&#xff0c;修改如下&#xff0c;启用AoT&#xff1a; <Project Sdk"Microsoft.NET.Sdk"><PropertyGroup><OutputType>Library</OutputType><PublishAot>true</PublishAot>&…

Goby 漏洞安全通告| Ollama /api/tags 未授权访问漏洞(CNVD-2025-04094)

漏洞名称&#xff1a;Ollama /api/tags 未授权访问漏洞&#xff08;CNVD-2025-04094&#xff09; English Name&#xff1a;Ollama /api/tags Unauthorized Access Vulnerability (CNVD-2025-04094) CVSS core: 6.5 风险等级&#xff1a; 中风险 漏洞描述&#xff1a; O…

端到端自动驾驶——cnn网络搭建

论文参考&#xff1a;https://arxiv.org/abs/1604.07316 demo 今天主要来看一个如何通过图像直接到控制的自动驾驶端到端的项目&#xff0c;首先需要配置好我的仿真环境&#xff0c;下载软件udacity&#xff1a; https://d17h27t6h515a5.cloudfront.net/topher/2016/November…