Cap2Seg
Cap2Seg: leveraging caption generation for enhanced segmentation of COVID-19 medical images
Frontiers in Physics 2024
Cap2Seg:基于文本描述生成的 COVID-19 医学图像分割性能提升方法
Cap2Seg 不在推理时接收医生报告,而是根据图像自己生成一段医学描述,再利用这段"内部生成文本"辅助病灶分割。
现有语言引导医学分割存在两个问题:
-
推理阶段依赖图像---文本对 例如 LViT 训练和测试时都需要图像及对应报告。如果测试时没有报告,性能会下降。
-
文本可能不准确 医疗报告或模型生成的文本可能包含错误、无关或误导信息,直接融合可能损害分割结果。
Cap2Seg 的解决思路是:
医学图像
↓
同时提取视觉特征并生成医学描述
↓
根据图像判断生成文本中哪些词可信
↓
用筛选后的文本特征辅助图像分割
所以它的输入只有图像,输出同时包括:
-
病灶分割掩码;
-
对应的医学文本描述。
Cap2Seg 主要由四个模块组成:
-
MSDFE:双流编码器
它包含两个并行分支:
-
CNN分支:提取纹理、边缘、局部病灶信息;
-
Transformer分支:提取全局结构和长距离依赖。
前两个编码阶段两个分支独立工作,后两个阶段开始交互和融合。其作用类似于混合 CNN-Transformer 编码器,为文本生成和分割同时提供特征。
-
-
MSECM:语义增强与文本生成
它把编码特征分成两个方向:
-
VSE:利用不同膨胀率卷积提取多尺度视觉特征,服务于分割;
-
TSE:使用 Transformer 优化语义特征,再通过 LSTM 逐词生成医学描述
生成文本的监督来自数据集中的真实文本,使用交叉熵损失训练
-
-
SATaM:抗误导文本的核心模块
它用不同尺度的图像特征给文本中的词分配权重:
-
与病灶区域匹配的词获得高权重;
-
无关或可能错误的词获得低权重;
-
不同编码尺度分别产生一个视觉感知的句子特征。
本质上是计算"每个词和每个图像位置的相关性",再根据整幅图像的响应重新加权文本
论文还设计了 Semantic Consistency Loss,约束不同尺度产生的句子特征保持一致:
浅层图像特征关注的文本语义 ≈ 中层图像特征关注的文本语义 ≈ 深层图像特征关注的文本语义这样可以避免某个尺度受到错误生成词的过度影响
-
-
LAVD:语言感知分割解码器
-
视觉特征作为 Query;
-
经过 SATaM 处理的语言特征作为 Key 和 Value;
-
通过跨模态注意力为每个像素寻找相关文本信息。
融合后的特征经过四级上采样,输出最终病灶掩码。
-
损失函数:
总损失由两部分组成:
Ltotal = αLseg + βLgen
其中分割损失为:
Lseg = 0.5 × BCE + 0.5 × Dice Loss + λ × Semantic Consistency Loss
因此,它属于"图像分割 + 医学文本生成"的多任务学习框架
实验结果:
使用两个数据集:
-
QaTa-COV19:5,716训练、1,429验证、2,113测试;
-
MosMedData+:2,183训练、273验证、273测试。
| 数据集 | mIoU | Dice |
|---|---|---|
| QaTa-COV19 | 71.61% | 81.32% |
| MosMedData+ | 63.02% | 75.87% |
在 QaTa-COV19 上:
-
LViT 使用真实文本:Dice 83.66%
-
LViT 使用生成文本:Dice 78.17%
-
Cap2Seg 不需要外部文本:Dice 81.32%
所以 Cap2Seg 没有超过"使用真实文本的 LViT",但明显优于 LViT 使用生成文本或不使用文本的情况。
在 MosMedData+ 上,Cap2Seg 的 Dice 75.87%,高于 LViT 使用真实文本的74.57%。
| 结构 | Dice |
|---|---|
| 基础模型 | 72.83% |
| 加 MSDFE | 74.18% |
| 加 MSECM | 74.86% |
| 完整模型 | 75.87% |
| 完整模型去掉 SCloss | 74.92% |
摘要
引入医学文本标注可以弥补图像数据在质量上的不足,从而有效缓解医学图像分割所面临的局限。现有许多方法通过将文本信息融入图像模态来获得高质量的分割结果。然而,为了维持模型性能,这些方法在推理阶段通常需要相互匹配的图像---文本对;当缺少对应的文本标注时,模型性能便会下降。
此外,这些方法通常假设输入的文本标注是理想且准确的,而忽略了在实际应用场景中,低质量文本可能对模型性能造成的不利影响。
为解决上述问题,我们提出了一种新的生成式 医学图像分割模型 Cap2Seg,即"利用文本描述生成提升 COVID-19 医学图像分割性能"。Cap2Seg不仅能够对病灶区域进行分割,还能生成相关的医学文本描述,并利用这些描述引导分割过程。得益于这种设计,模型在推理阶段无需输入文本,也能获得良好的分割性能。
为了减轻不准确文本对模型性能的影响,我们考虑了生成文本特征与视觉特征之间的一致性,并提出尺度感知文本注意力模块(Scale-aware Textual Attention Module,SATaM)。该模块能够降低模型对无关或误导性文本信息的依赖。
随后,我们设计了一种词---像素融合解码机制,将文本特征有效地融入视觉特征,确保文本信息能够对图像分割任务形成有效补充,从而提升分割性能。
在 MosMedData+ 和 QaTa-COV19 两个公开数据集上的大量实验表明,在相同实验条件下,本文方法优于当前最先进的模型。此外,我们还通过消融实验验证了各个所提模块的有效性。
代码地址:
https://github.com/AllenZzzzzzzz/Cap2Seg
图一
图1 当前医学图像分割模型。(A) 传统医学图像分割方法。(B) 视觉-语言多模态医学图像分割方法。(C) 本文提出的模型。

三种医学图像分割范式:
-
传统医学图像分割
医学图像 → 视觉编码器 → 视觉解码器 → 分割掩码-
输入只有CT等医学图像;
-
视觉编码器提取病灶特征;
-
视觉解码器恢复空间分辨率;
-
最终输出病灶区域的二值掩码。
优点是结构简单,不需要文本;缺点是只利用图像信息,图像模糊或病灶边界不明显时,缺少额外语义信息辅助判断。
-
-
普通视觉---语言多模态分割
医学图像 → 视觉编码器 ┐ ├→ 多模态解码器 → 分割掩码 医疗文本 → 语言编码器 ┘输入包括:
-
医学图像;
-
与这张图像匹配的医疗文本描述。
视觉编码器提取图像特征,语言编码器提取文本特征,多模态解码器融合两种特征后输出病灶掩码。
问题在于,推理时必须同时提供图像和对应文本。如果没有报告、文本与图像不匹配或者文本中存在错误,分割性能可能下降。
-
-
Cap2Seg
┌→ 文本描述生成器 → 生成医学描述 医学图像 → 多模态编码器 └→ 多模态解码器 → 分割掩码 ↑ 生成文本Cap2Seg推理时只输入医学图像,不需要外部提供文本。
模型内部完成两个任务:
-
根据图像生成医学文本描述;
-
利用图像特征和生成的文本特征共同完成病灶分割。
图中橙色向上的箭头表示:文本生成器产生的语言信息被送入多模态解码器,用来辅助图像分割。
因此,Cap2Seg最终输出两个结果:
-
病灶分割掩码;
-
模型生成的医学文本描述。
-
训练阶段,Cap2Seg仍然需要真实文本标注来监督文本生成器;但模型训练完成后,推理阶段只需要输入图像。
图二
图2 所提方法的整体框架。(A) 主导网络包含以下组件:(B) 多模态协同DualFlow编码器(MSDFE)模块;(C) 多模态语义增强与文本描述生成模块(MSECM),以及尺度感知文本注意力模块(SATaM);(D) 视觉解码器(LAVD)。

图像编码
↓
生成医学描述
↓
用不同尺度的图像证据筛选文本信息
↓
融合图像与文本特征
↓
输出病灶掩码
A:Cap2Seg整体流程
输入图像首先经过4个连续的 MSDFE 编码模块:
输入图像
↓
MSDFE1 → MSDFE2 → MSDFE3 → MSDFE4
随着编码逐渐深入:
-
图像尺寸不断减小;
-
特征通道增加;
-
浅层主要提取边缘、纹理等细节;
-
深层主要提取病灶位置、范围和整体语义。
最深层特征被送入 MSECM:
深层图像特征
├→ 强化分割所需的视觉特征
└→ 生成医学文本描述
生成的文本经过词嵌入后,通过图中的橙色路线传递给不同尺度的 SATaM。
SATaM利用各层图像特征判断文本中哪些词可信,然后将处理后的语言特征传入对应尺度的 LAVD。
最终,4个 LAVD逐级上采样,输出病灶分割掩码。
因此,整个模型有两个输出:
-
Output_seg:病灶分割掩码; -
Output_cap:生成的医学文本描述。
B:MSDFE双流编码器,多模态协同双流编码器
它内部有两条分支:
-
Transformer分支
TransBlock:
LayerNorm ↓ 多头自注意力 MSA ↓ 残差连接 ↓ LayerNorm ↓ MLP ↓ 残差连接它主要负责提取:
-
全局病灶结构;
-
长距离区域关系;
-
左右肺之间的整体信息。
-
-
CNN分支
ResBlock:
-
使用:
3×3卷积;
Batch Normalization;
ReLU;
残差连接。
-
它主要负责提取:
-
病灶边缘;
-
局部纹理;
-
小范围细节。
-
-
-
两个分支融合后,模型同时拥有局部和全局视觉信息。
论文使用4级 MSDFE。前两级两个分支相对独立,后两级开始相互融合。
MSECM:语义增强与描述生成
它把深层特征分成两个方向:
-
VSE:视觉语义增强
VSE使用膨胀率分别为1、3、6、9的卷积
不同膨胀率对应不同感受野,用于提取不同大小的病灶:
-
小感受野关注局部边界;
-
大感受野关注整体感染范围。
这些特征最终用于分割。
-
-
TSE:文本语义增强
TSE先用 Transformer 整理视觉语义,再将其送入 LSTM,逐词生成医学描述:
深层图像特征 ↓ Transformer ↓ LSTM ↓ “Bilateral pulmonary infection...”生成的句子随后转换成词嵌入,供 SATaM 和 LAVD 使用。
SATaM:尺度感知文本注意力
SATaM位于每一级编码器和解码器之间。
同一句文本在不同图像尺度上的作用不同,例如:
-
浅层图像特征适合判断边缘和局部细节;
-
深层图像特征适合判断左右肺、病灶数量和整体位置。
SATaM用当前尺度的图像特征给文本中的词分配权重:
“bilateral” → 图像确实显示双侧感染 → 高权重
“two areas” → 图像支持两个区域 → 高权重
“upper left” → 图像证据不明显 → 低权重
因此,它试图降低无关或错误生成词对分割结果的影响。
橙色箭头表示语言特征流:生成文本被送到不同尺度的 SATaM 和 LAVD。
C:LAVD语言感知视觉解码器
它接收三类输入:
-
上一级解码器输出的视觉特征;
-
当前尺度的编码器跳跃连接特征;
-
SATaM处理后的语言特征。
其注意力计算可以简单理解为:
视觉特征作为 Query
语言特征作为 Key 和 Value
模型针对每个图像位置寻找最相关的词。例如肺部某一区域可能主要关注:
-
left lung -
upper -
infected area
得到语言增强的视觉特征后,再与编码器的跳跃连接特征拼接,经过残差卷积和上采样,逐步恢复到原始图像尺寸。
Cap2Seg首先用 CNN和Transformer联合分析图像,根据深层图像特征生成医学描述;随后利用不同尺度的图像证据筛选文本中的有效信息,并将这些语言信息注入分割解码器,最终同时输出病灶掩码和医学描述。
图三
图 3:具有尺度感知功能的文本注意力模块架构

SATaM 尺度感知文本注意力模块
根据图像内容给文本中的每个词分配权重,增强与病灶相关的词,削弱无关或可能误导的词。
-
模块的两个输入
-
图像特征

表示第 (i) 层编码器输出的视觉特征
浅层特征分辨率较高,主要保留边缘和局部纹理;深层特征分辨率较低,主要表达病灶位置和整体语义。
-
文本特征

表示模型生成文本的词特征。
-
-
图像---词语相关性计算
视觉特征和文本特征分别经过线性层,投影到相同的特征空间,然后进行矩阵乘法:

它表示每个图像位置与每个文本词之间的相关性
-
计算每个词的注意力权重
模型把一个词在所有图像位置上的响应汇总,得到:

这就是图中间的彩色竖条,每个格子代表一个词的权重
颜色越深,表示该词与当前尺度的图像特征越相关。
因此,如果模型生成了一个与图像不太匹配的词,理论上该词会得到较低权重。
-
生成尺度感知句子特征
词权重与原始文本特征再做加权求和

它是整句话在当前图像尺度下的综合语义表示
所以叫"尺度感知":同一句文本在不同层级会产生不同的注意力权重
-
将句子特征加入原始词序列
尺度感知句子特征经过一个1x1卷积,然后与原始文本特征 (L) 拼接。
原来有 (T) 个词特征,加入一个句子级特征后变成:

可以将其理解为在文本序列前加入一个特殊的视觉语义 token:
[当前尺度的整体句子特征] bilateral pulmonary infection two areas ... -
Self-Attention 更新文本特征
拼接后的特征进入 Self-Attention。
Self-Attention让每个词与尺度感知句子特征交互
Self-Attention输出再与原始文本特征通过残差连接相加。图中的圆圈"+"就是逐元素相加。
最后经过1x1卷积,得到:

这就是经过当前尺度图像信息增强后的语言特征,会被送入 LAVD 分割解码器
当前尺度图像特征 ─→ 线性映射 ─┐
├→ 图像—词语相关性
原始文本特征 ─────→ 线性映射 ─┘
↓
每个词的注意力权重
↓
加权得到句子特征
↓
与原始词特征拼接并自注意力融合
↓
当前尺度的视觉增强文本特征
表一
表1比较了基于mosmeddata+数据集的当前最先进的分割方法。灰色阴影标注的方法排除文本输入,而其他方法则包含文本输入。

三组实验条件:
-
w/o Text:不输入文本
CT图像 → 分割模型 → 病灶掩码U-Net、UNet++、TransUNet等灰色阴影方法本身是纯视觉模型,不支持文本输入,所以只有这一栏有结果,其他栏用"--"表示不适用。
非灰色的多模态模型也在无文本条件下进行了测试,用于观察缺少文本时的性能。
-
Generated Text:输入生成文本
这里使用的不是医生提供的真实标注,而是 Cap2Seg根据图像生成的医学描述。
对于 ConTEXTualNet、LAVT、TGANet和LViT-T,作者将这种生成文本作为其语言输入,然后观察分割性能。
这项实验主要回答:当只有自动生成的、可能存在误差的文本时,多模态分割模型表现如何?
-
Ground Truth Text:输入真实文本
这里输入的是数据集中人工标注的正确医学描述。
理论上,这是文本质量最高的条件:
医学图像+真实文本 → 多模态模型 → 分割掩码它可以反映文本完全正确时,多模态模型能够达到的性能上限。
表格反映的结果:
-
与纯视觉模型比较
纯视觉方法中表现最好的是 COPLE-Net:
-
mIoU:60.93%
-
Dice:74.08%
Cap2Seg:
-
mIoU:63.02%
-
Dice:75.87%
因此,Cap2Seg相对最佳纯视觉模型提升:
-
mIoU:2.09个百分点;
-
Dice:1.79个百分点。
这说明生成文本辅助可能提供了额外的病灶语义信息。
-
-
生成文本条件
其他模型使用 Cap2Seg生成的文本时:
模型 Dice ConTEXTualNet 70.08% LAVT 69.86% TGANet 71.81% LViT-T 73.41% Cap2Seg 75.87% Cap2Seg表现最好。
-
真实文本条件
使用真实文本时,表现最好的是 LViT-T:
-
mIoU:61.33%
-
Dice:74.57%
Cap2Seg不使用外部真实文本,但仍获得:
-
mIoU:63.02%
-
Dice:75.87%
也就是说,在这个数据集上,Cap2Seg仅依靠图像和内部生成文本,就超过了部分使用真实文本的多模态方法。
-
-
它主要说明:
-
Cap2Seg推理时不需要外部医疗报告;
-
内部生成文本可以辅助分割;
-
普通多模态模型在生成文本条件下可能性能下降;
-
Cap2Seg对其自身生成文本具有一定适应能力。
-
表二
表2比较了QaTa-COV19数据集上最先进的分割方法。灰色阴影标注的方法均排除文本输入,而其他方法则包含文本输入。

图四
图4 所提方法与不同分割方法的可视化对比

表三
表3:基于mosmed数据集的消融研究。"基线"表示使用CNN作为编码器;"基线*"表示采用本文提出的 MSDFE 作为编码器;"SATaM∕SCloss"表示从SATaM模型中移除了SCloss损失函数。

| 对比 | mIoU提升 | Dice提升 | 说明 |
|---|---|---|---|
| Baseline → Baseline* | +1.72 | +1.35 | MSDFE有效 |
| Baseline* → +MSECM | +0.74 | +0.68 | 语义增强和文本生成有效 |
| Baseline* → +SATaM | +0.60 | +0.41 | 文本注意力有效 |
| 去掉SCloss → 完整模型 | +0.79 | +0.95 | 跨尺度一致性约束有效 |
| Baseline → 完整模型 | +3.78 | +3.04 | 所有模块综合有效 |
图五
图5 不同组件效能的视觉对比

表四
表4 编码阶段不同 MSDFE 模块中两个子模块间相互作用的影响。'✓'表示当前 MSDFE 模块内的相互作用。

MSDFE内部的 CNN分支(ResBlock)和 Transformer分支(TransBlock)应该从第几层开始融合?
图像
↓
MSDFE1 → MSDFE2 → MSDFE3 → MSDFE4
浅层 深层
| 融合方式 | mIoU | Dice |
|---|---|---|
| MSDFE1--4全部融合 | 61.89 | 74.78 |
| 从MSDFE2开始融合 | 61.43 | 74.54 |
| 从MSDFE3开始融合 | 63.02 | 75.87 |
| 只在MSDFE4融合 | 61.02 | 74.06 |