点击下方卡片,关注“CVer”公众号

AI/CV重磅干货,第一时间送达

点击进入—>【Mamba/多模态/扩散】交流群

添加微信号:CVer111,小助手会拉你进群!

扫描下方二维码,加入CVer学术星球可以获得最新顶会/顶刊上的论文ideaCV从入门到精通资料,及最前沿应用!发论文/搞科研/涨薪,强烈推荐!


近日,
HKUST Smart Lab的一项关于医学视觉语言模型的研究将在International
Conference on Medical Image Computing and Computer Assisted Intervention
MICCAI 2024发表。该论文是MICCAI2024第一批接收的文章(early
accept
),被评为香港科技大学计算机科学与工程系2024最佳毕业论文(CSE Best
FYP Award
)。研究提出了基于大语言模型的视觉症状引导提示学习框架,用于增强视觉语言模型的泛化性和可解释性。

摘要

类似CLIP这样的预训练视觉语言模型(VLMs)彻底革新了使用自然语言作为监督的视觉表征学习,并展示了良好的泛化能力。在这项工作中,我们提出了 Visual symptom-guided Prompt learning
framework
ViP),一种用于医疗影像分析的视觉症状引导提示学习框架,促进了CLIP的知识迁移。ViP由两个模块组成:视觉症状生成器(Visual
Symptom Generator
)和双提示网络(Dual-Prompt Network)。具体而言,视觉症状生成器旨在从预训练的大型语言模型中提取可解释的视觉症状,而双提示网络利用这些视觉症状来指导两个可学习的提示模块的训练,即语境提示(Context Prompt)和融合提示(Merge Prompt)。这两个模块结合VLMs有效地将我们的框架应用于医疗影像分析。实验结果表明,ViPDerm7ptPneumonia两个数据集上的表现优于最先进的方法。代码可在以下网址获取: https: //github.com/xiaofang007/ViP

1. 引言

医疗影像分析在医疗保健中发挥着至关重要的作用。随着深度学习技术的发展,计算机辅助医疗影像分析在众多场景中取得了显著的成功。当前的方法一般采用监督学习范式,需要大量有标记的数据用于模型训练。然而,该范式依赖于医疗影像的手动标注,耗时费力。

随着视觉语言模型(VLMs)的出现,使得将大规模预训练模型中的知识迁移到数据量有限的特定任务医疗影像分析模型中成为可能。例如CLIP是在4亿个图像文本对上使用对比学习进行预训练。虽然CLIP已经在多种任务上展现出迁移学习的巨大潜力,但将其直接应用于医学领域仍面临挑战。这是因为CLIP主要是在网页上抓取的数据上进行预训练的,这些数据主要包含自然图像文本对,而医疗影像的类别往往是抽象的医学词汇,CLIP可能难以进行有效的文本编码。受近期工作的启发,我们提出通过将抽象的医学词汇转换为自然和医学领域共有的视觉症状(如颜色、形状和纹理)来解决解释性挑战。这样,VLMs可以学会将图像特征与易于解释的视觉特征对齐。这一过程也与医生的诊断方法类似,他们往往根据在医疗影像中观察到的相关视觉特征来诊断疾病。

在这篇论文中,我们提出了Visual symptom-guided Prompt learning
framework
ViP),一种新颖的视觉症状引导提示学习框架,以促进CLIP的知识迁移。该框架包含两个模块:视觉症状生成器(Visual Symptom Generator)和双提示网络Dual-Prompt Network)。视觉症状生成器通过查询预训练的大型语言模型(LLMs)以生成视觉症状,这些视觉症状作为文本输入提供给双提示网络。双提示网络通过训练两个可学习的提示模块,即语境提示(Context Prompt)和融合提示(Merge Prompt),来增强CLIP的泛化能力。语境提示通过融入医学任务的语境信息来精炼视觉症状,而融合提示则聚合视觉症状的文本特征。我们在公开数据集PneumoniaDerm7pt上对框架进行了评估。实验结果表明,ViP优于最先进的方法,凸显了我们框架中每个模块的有效性。

2. 方法

2.1 视觉症状引导提示学习框架

1. 视觉症状引导提示学习框架。它由视觉症状生成器(Visual Symptom Generator)和双提示网络(Dual-Prompt
Network)组成。视觉症状生成器预测的视觉症状被用作下游双提示网络(由蓝色虚线标出)的输入。

视觉症状引导提示学习框架的流程如图1所示。我们考虑一个输入图像x和一组疾病标签。令N表示疾病类别的总数,且N=n。整个流程首先将输入图像通过双提示网络(Dual
Prompt Network
)中的预训练视觉编码器来得到特征向量x。与此同时,对于每个疾病类别,视觉症状生成器(Visual Symptom Generator)会生成多个视觉症状。这些视觉症状随后在语境提示模块(Context Prompt)中进行转换,以创建双提示网络的文本输入。这些文本输入通过预训练的文本编码器处理,以计算每个视觉症状的文本特征。接下来,融合提示模块(Merge Prompt)将文本特征聚合,以获得疾病类别c的视觉症状代表性特征。遍历所有疾病类别,我们可以得到所有疾病的视觉症状代表性特征集。最后,我们预测的疾病类别是其视觉症状代表性特征与输入图像特征f具有最高的余弦相似度。

2.2 视觉症状生成器

视觉症状生成器旨在为每个疾病类别生成一套全面的视觉症状。受大型语言模型(LLMs)所拥有广泛知识以及可以方便地进行查询的启发,我们提出了一个两阶段过程,通过提示大型语言模型(如GPT-4)来构建此集合。首先,我们使用纯文本提示来获取一组粗略的视觉症状。我们向语言模型输入以下文本:

Q: I am going to use CLIP, a vision-language
model to detect {category} in {modality}. What are useful medical visual
features for diagnosing {category}? Please list in bullet points and explain in
plain words that CLIP understands. Avoid using words such as {category}.

在这里,{category}需要被替换为疾病类别,{modality}需要被替换为图像模态,例如皮肤镜图像。设计此提示是为GPT-4提供足够的背景信息,并确保其答案能够被CLIP理解。接下来,我们利用GPT-4的视觉问答功能对集合进行精炼。我们针对每个疾病类别,使用以下文字查询并附带少量图像样本向GPT-4提问:

Q: Please provide visual features regarding
color, shape, and texture of this {category} image, which contains 16
sub-images.

这样可以得到图像中的视觉特征集合。通过将第一阶段得到的粗略的视觉症状集合与第二阶段得到的图像中的视觉特征集合进行交集运算,即可获得精炼的视觉症状集合。

2.3 双提示网络

双提示网络基于CLIP搭建。我们冻结CLIP的图像编码器和文本编码器,以保留大规模预训练数据中的通用知识。与传统的基于CLIP的依赖于类别名称作为文本提示的方法不同,我们使用从视觉症状生成器生成的视觉症状,使模型能够促进图像特征与视觉描述特征的对齐。然而,这个框架的泛化能力仍然有限。这一局限性是由于大型语言模型(LLMs)生成的症状描述可能偏离CLIP的文本输入格式,以及如何将多个视觉症状有效聚合为疾病表征。因此,我们进一步提出了两个可学习的提示模块:语境提示(Context Prompt)和融合提示(Merge Prompt),以增强模型的泛化能力。

语境提示模块:在CLIP的文本输入中,除了类别名称外,图像的语境也起着至关重要的作用。例如,CLIP会在类别名称前加上{a photo of a}的语境提示。类似地,为了捕捉医疗任务的语境,我们也希望在视觉症状前添加语境信息。然而,由于LLMs生成的视觉症状的句式结构更为复杂,因此很难为其人工设计模板。我们在视觉症状前引入了一组可学习的参数,其中,是文本嵌入的维度,以数据驱动的方式自动学习医疗任务的语境。具体来说,给定一个类别和一个视觉症状的文本嵌入,文本编码器的最终文本嵌入T是可学习参数和视觉症状的文本嵌入的粘连,可以表示为

融合提示模块: 在文本编码器处理视觉症状后,下一步是将多个视觉症状融合为一个单一的表示。我们为每个疾病类别引入了可学习的参数,以学习疾病的代表性特征。具体来说,给定一个类别,通过文本编码器处理视觉症状得到的文本特征矩阵,其中是文本嵌入的维度,和可学习的参数,我们首先将g和T通过不同的权重投影到查询向量和键值向量,用公式可以表示为:

视觉症状代表性特征可以通过可学习参数g和文本特征矩阵T计算用公式可以表示为:

在获得所有疾病类别的视觉症状代表性特征后,我们采用交叉熵损失联合优化语境提示模块和融合提示模块,用公式可以表示为:

其中表示真实的疾病类别,是温度参数。

3. 实验

3.1 可解释的视觉症状的有效性

我们在两个公开数据集: PneumoniaDerm7pt上进行实验。关于上述数据集的详细信息可查阅我们的论文。

2. I)零样本CLIP分别使用类别名称或视觉症状作为文本输入。(II)基于图像特征与视觉症状特征之间余弦相似度的诊断过程。

我们进行了一项零样本实验,以评估视觉症状在疾病诊断中的有效性,并同时提供了决策的解释。如图2(I)所示,与零样本CLIP模型相比,ViPPneumoniaDerm7pt上分别实现了0.44%18.73%的准确率提升,以及1.58%10.98%F1分数增益。这表明大型语言模型(LLMs)能够为医疗领域提供有用的知识。同时,我们分析了我们的框架正确预测疾病类别而CLIP模型失败的案例,如图2(II)所示。我们的框架提高了诊断的准确性,原因在于图像与正确类别的视觉症状之间的相似性相对较高。

3.2与其他方法的比较

1. PneumoniaDerm7pt数据集上与其他方法的比较。

我们进一步将ViP与几种基于提示学习的模型进行比较,以评估其泛化能力。如表1所示,ViPPneumoniaDerm7pt上分别达到了86.69%81.11%的最高准确率和84.94%77.3%F1分数,这表明我们的方法具有很强的泛化能力。此外,与完全监督学习模式相比,ViPPneumonia上取得了具有竞争力的结果,但在训练数据较少的Derm7pt上表现更为出色,这证明了ViP在低资源设置下强大的泛化能力。

3.3 每个模块的有效性

2. 消融实验结果。’Context’ ’Merge’ 分别表示语境提示模块和融合提示模块。’Max’ ’Mean’ 分别表示我们在聚合视觉症状特征时取图像特征与视觉症状特征相似度的最大值和平均值。

我们探索了ViP中每个模块的有效性,如表2所示。与零样本基线相比,语境提示模块和融合提示模块的集成均显示出相当大的改进,这证明了学习医疗任务语境和有效聚合视觉症状的重要性。此外,与平均和最大值函数等非参数聚合的方法相比,我们提出的融合提示模块在两个数据集上的表现均更优。这一结果进一步验证了我们方法的有效性。

3.4 知识可靠性

3. 消融实验比较不同类型的知识。

我们进行了另一项实验来验证LLMs生成的视觉症状为视觉语言模型(VLMs)向医学领域的泛化提供了有用的知识。如图3所示,我们将痣的视觉症状替换为三种类型的知识:1)域外知识,涉及与医学领域无关的视觉特征,如食物描述。2)无用知识,指与我们的目标疾病相关但不提供诊断有用视觉特征的描述,如皮肤结构的描述。3)错误知识,提供错误的视觉症状。在此实验中,我们将描述中的某些词汇替换为其反义词,以建立对痣的视觉症状的误导性描述。与其他类型相比,LLMs生成的知识取得了最佳性能,这表明准确的视觉症状有助于在医学领域的泛化。

4. 结论

本文提出了一种新颖的视觉症状引导提示学习框架,称为ViP,该流程有效地将视觉语言模型(VLMs)的知识转移到医疗影像分析中。我们利用预训练的大型语言模型(LLMs)生成视觉症状来引导CLIP将图像特征与视觉特征对齐。此外,ViP还集成了两个可学习的提示模块,即语境提示和融合提示,以进一步增强泛化能力。实验结果显示了每个模块的有效性,以及我们的框架的优越性能。

参考文献

Fang X, Lin Y, Zhang D, Cheng K T, Chen H.   Aligning Medical Images with General Knowledge from Large Language Models. MICCAI, 2024.

何恺明在MIT授课的课件PPT下载

ECCV 2024 论文和代码下载

CVPR 2024 论文和代码下载

Mamba、医学图像分割交流群成立

一定要备注:研究方向+地点+学校/公司+昵称(如Mamba、医学图像分割+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群

▲扫码或加微信号: CVer111,进交流群

CVer计算机视觉(知识星球)来了!想要了解最新最快最好的CV/DL/AI论文速递、优质实战项目、AI行业前沿、从入门到精通学习教程等资料,欢迎扫描下方二维码,加入CVer计算机视觉(知识星球),已汇集上万人!

扫码加入星球学习

▲点击上方卡片,关注CVer公众号

整理不易,请赞和在看

微信扫码关注该文公众号作者

Source

 
 
 
 
Visited 1 times, 1 visit(s) today
Subscribe
Notify of
guest
0 Comments
Most Voted
Newest Oldest
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x