LViT
LViT: Language meets Vision Transformer in Medical Image Segmentation
LViT:语言和视觉Transformer在医学图像分割中的融合
来源:[IEEE Transactions on Medical Imaging/TMI 2023]
代码:https://github.com/HUANGLIZI/LViT
论文:https://arxiv.org/abs/2206.14718
关键词:视觉-语言,医学图像分割,半监督学习
这是上一篇MedCLIPSeg的引用文章,几乎是相同类型,可以参考思路。输入输出基本上为相同一个模式,即将一个文本描述“双肺感染,两个感染区域,左下肺和右下肺。”这一类的医生常用的描述类的语句和一个CT图为输入,一个医学分割为输出。
由于是2023年的论文,还是使用的Transformer类的架构。
创新
- 获取高质量图像的难度
- 数据标注成本高
- 纯CNN模型缺乏全局特征建模能力,而纯Transformer模型计算成本高且忽略局部细节,而医学数据集容易出现模糊的标注,即边界是模糊的,这一点Transformer无法解决,因为缺乏局部信息的表示。
更可行的方法是利用易于获取的补充信息来弥补医学图像的质量缺陷。因此,可以使用和医学图像匹配的书面医疗记录替换逐像素的图像标注,这一项是治疗过程中自带的,无需额外成本,医学文本记录数据和图像CT数据天然适配,因此,可以弥补医学图像数据的质量缺陷。
具体实施方法
- 文本编码模块首先经过一个BERT-Embed模块,再输入类U-net的ViT模型,按照图中箭头方向与图像特征连接。
- 图像:经过一个类U-net结构,中间模块为ViT,在这个过程中融合文本特征。
解决伪标签问题
与自然图像不同,医学图像中不同区域之间的边界往往模糊,且边界附近的小灰度值差异使得难以提取高度准确的分割边界,这就是医学图像中的伪标签现象,即边界是模糊的。
这篇文章提供了两个解决方法,
像素级注意力模块(PLAM)模块:通过全局平均池化(Global Average Pooling)和全局最大池化(Global Max Pooling)生成两个不同视角的特征图和原特征进行拼接和相加操作,再输入MLP多层感知机。就是用CNN来补足ViT的局部特征缺陷。
指数伪标签迭代机制(EPI):以往的半监督学习直接简单的 将某一代模型预测的伪标签作为真GT使用;EPI机制使用的为平滑过渡的模式,即将上一阶段的预测和本阶段的预测加权相加。可以避免伪标签质量的急剧下降。
Pt = βPt − 1 + (1 − β)Pt, β = 0.99
这是EPI的证明,我感觉这个证明没什么实际意义,有点蠢了。
![]()
LV损失:直接利用文本进行监督
- 它的设计目的是直接使用文本信息来监督未标记图像的训练。
- 在训练过程中,模型会同时接收图像和对应的文本描述(如诊断报告)。LV损失函数会计算模型预测的分割结果与文本信息所蕴含的语义之间的一致性,并以此作为监督信号来更新模型参数。这相当于为没有精确像素级标注的图像提供了一个“软性”但非常有力的指导。
- 当面对无标注数据时,模型会给出伪监督的预测,计算这个分割结果和给定的文本描述的语义一致性(使用余弦相似度计算)。
LLV = 1 − ImgSim(xp, xc)
- 与此同时,无标签的医学图像通过模型的主干网络(即U形CNN和Transformer分支)进行处理,提取出图像的视觉特征表示。LV损失的关键在于,它会将上一步生成的文本特征向量与图像的视觉特征进行融合或关联。这通常意味着将文本向量投影到与图像特征相同的语义空间中,以便进行比较。
- 也就是说,Xp表示的是接近输出的某一个特征,Xc表示BERT输出的Text特征。限制这两个的特征要相似。在他的源码里面我是没有看见这个函数的实现啦。
结果




