【翻译ver】LesaNet论文阅读(CVPR2019)——医学影像

Holistic and Comprehensive Annotation of Clinically Significant Findings on Diverse CT Images: Learning from Radiology Reports and Label Ontology论文阅读
在这里插入图片描述

0 Links

Abstract

目的:根据给定的病变图像,预测出一套全面的相关标签。如病变部位、类型及属性,这些可能对下游的细粒度诊断有帮助。

解决:

  • 设计了一个深度学习模块 => 从与病变图像相关的放射学报告中提取相关的语义标签。
  • 借助上述图像和文本挖掘的标签 => 提出了基于多标签的卷积神经网络——LesaNet(病变注释网络)=> 这个网络有助于全面了解所有标签。
  • 标签扩展策略及复杂关系挖掘算法 => 借助这些标签间的层次关系及互斥关系 => 提高标签预测的准确性。
  • 其他,在LesaNet上附加了一个Score Propagation Layer(分数传播层)=> 增强召回率、并探索标签之间的隐式关系。

1.Introduction

病变分类是CAD中最重要的主题之一。典型的应用包括使用医学影像对肝脏病变和肺组织的类型分类,描述肺结节和乳腺肿块的细粒度属性,并预测其恶性程度。

但是,现有的研究都局限于某些身体部位(肺、乳房、肝脏等),并区分一些有限的标签。另外,在临床中,可以为每个病变分配多个标签,并且这些标签通常相互关联

因此,本文旨在通过计算机识别出病变的位置、属性和它是如何形成的 => 帮助用户全面地了解病变。作者称其为“病变标注”任务,这个任务被视为多标签图像分类问题。

为了学习对病变进行标注,需要大规模且多样的病变图像标注的数据集。原有的数据集通常太小或多样性太差,但最近发布的DeepLesion数据集在很大程度上减轻了这一限制。但是,DeepLesion数据集并没有为每个病变提供细粒度的语义标签。而且手动标注显得繁琐、昂贵且可扩展性不强,因此,作者提出一种自动数据挖掘的方法,即在报告中找到涉及病变的带有书签(在报告中指向标注的超链接)的句子,然后从句子中提取标签。

另外,提出一个LesaNet(Lesion Annotation Network),即在给定病变图像的情况下预测语义标签。

当前问题有挑战性的原因:

  • 放射学报告通常采用自由文本格式,因此提取的标签可能嘈杂且不完整。
  • 有些标签很难区分或学习,例如相邻的身体部位,相似的类型和微妙的属性。
  • 标签高度不平衡且具有长尾分布的特点。

针对这些难点,作者提出了一个框架:

在这里插入图片描述
首先,是橘色的梯形色块,代表文本挖掘模块,这个模块分析报告以查找与所关注病变相关的标签,可减少训练标签中的噪音。

其次,是绿色本体模块,它包括标签间的上下层次关系和互斥关系。通过层次关系,应用标签扩展策略来推断丢失掉的父标签;而互斥关系用于RHEM算法中,以帮助学习困难的标注以提高精度。

第三,附加了一个分数传播层,以增强召回率,尤其是对于那种稀有的标签。

最后,将度量学习整合到蓝色LesaNet中,这个网络不但可以提高分类的准确性,还能使预测具有可解释性。

2.Related Work

  • 医学图像报告分析:由于人工标注医学图像很繁琐且需要大量的医学知识。为了减轻人工标注的负担,研究人员从X射线和CT图像的相关报告中获得了疾病的相关标签,这样能增加数据集和标签集的大小。但是,目前的研究只能提取图像级别的标签,这些标签并不能准确地映射到图像上的特定病变。
  • DeepLesion数据集是由各种身体部位病变的CT图像组成。它已被用来训练通用病变检测、检索、分割和测量算法。这篇文章是用该数据集研究它在病变级语义标注中的用法。
  • 多标签图像分类:一个直接的想法是独立对待每个标签,并对每个标签使用二进制交叉熵损失。其他的做法有使用 pairwise ranking loss (成对排名损失),以使每个样本的正标签得分大于负标签的得分;CNN框架使用的是递归模型来预测多个标签,这样做的好处是可以隐式地对标签依赖性进行建模,并避免得分阈值问题。还有的是利用深度度量学习和复杂实例挖掘相结合相结合来处理不平衡的标签。
  • 不论是从数据集中还是报告中提取标签,这些标签都是有噪声且不算完整。一般的策略包括数据过滤( data filtering ), 噪声鲁棒损失 ( noise-robust losses ),噪声建模( noise modeling ), 发现可靠的负样本 ( finding reliable negative samples )等。这篇文章是通过文本挖掘模块过滤有噪声的正标签, 并利用标签关系找到可靠的负标签。 且应用标签扩展策略RHEM策略来显式地使用标签关系,同时采用分数传播层来隐式地学习它们。

3.Label Mining and Ontology

3.1.Ontology Construction

作者基于RedLex词典构建了病变本体(lesion ontology)。RedLex词典是用于标准化索引和检索放射信息资源的全面的词典。病变本体中的标签可分为三类:1.身体部位,包含粗略的身体部位(如,胸部、腹部)、器官(如肺、淋巴结)、细分的身体部位(如右下叶、气管淋巴结)和其他身体部位(如肝门、脊柱旁);2.类型,包含一般的术语(如结节、肿块)和更具体的术语(腺瘤、肝脏肿块);3.属性,即描述病变的强度、形状和大小(如低密度、尖刺、大)。

病变本体中的标签是按照层次结构组织的。如下图:

(图中,蓝色、红色和绿色标签分别对应于身体部位、类型和属性,单箭头从父母指向孩子,双箭头表示专有标签)

在这里插入图片描述

如,

细分的身体部位左肺(Left lung)可以是粗分的身体部位肺(Lung)的一部分。

一种类型的病变(如血管瘤, hemangioma )可以是另一种类型病变( 肿瘤,neoplasm )的亚型。

一个病变类型(如肺结节, lung nodule )可以位于一个身体部位(肺,lung)。

另外,这些关系形成的是有向图而不是树,因为一个孩子(如肺结节, lung nodule )可能有多个父母(肺、结节, lung、nodule )。

一些标签是互斥的。这表明一个标签的存在表示其他标签的缺失(如左肺和右肺, left and right lungs )。

然而,在上图中,胸部(Chest)和淋巴结(Lymph)并不互斥,因为它们可能在身体上重叠。

肺结节(lung node)和毛玻璃样征(ground-glass opacity)也不是唯一的,因为它们可能共存于一个病变中。

所以作者设定了一个规则如果标签a和b是互斥的,则a的任何子代和b的任何子代也都是互斥的。这个规则有助于标注专有标签。

3.2.Relevant Label Extraction

构建了病变本体之后,作者从Deeplesion数据集的相关放射学报告中提取了标签。在这些报告中,放射科医师描述了病变并且有时在句子中插入超链接、尺寸测量值和切片编号(称作书签)以表示感兴趣图像。在本文的研究中,仅将带有书签的句子用于文本挖掘出与病变相关的标签

方法是,首先使用NLTK标记该句子并对其进行词性化以获得其基本形式,然后,将预处理句子中的命名实体提到的匹配,并根据它们的同义词将他们标准化为标签。

带书签的句子通常混有复杂的标签,因为它们不仅描述带书签的病变,还描述其他相关的病变和无关的其他事物。如下图的示例句子:
在这里插入图片描述

其中,单词“BOOKMARK”是另一个病变的超链接。根据病变本体的匹配有四个标签,即large、nodule、right lower lobe和right middle lobe,而right lower lobe无关紧要,因为这是另一个病变。出于这种状况,作者提出了文本挖掘模块将这些不相关和不确定的标签与相关标签区别开来。

这个模型基于Peng等人的CNN模型,它的输入包括两个部分:带有提到的标签和书签的单词序列,以及句子嵌入输出的是与标签和书签之间的关系类型(不相关、不确定和相关)相对应的概率向量。

4.Lesion Annotation Network(LesaNet)

在这里插入图片描述
如图所示是本文提出的病变标注网络(LesaNet)的网络结构。

4.1.Multiscale Multilabel CNN

  • 这个网络的backbone是具有批量标准化的VGG-16。在该任务中,最好是使用不同级别的特征构建不同的标签。(如,身体部位需要高级的上下文特征,而许多属性则描述了低级的细节)所以,这里使用类似多尺度特征的表示。

  • Region of interest pooling layers (RoIPool,感兴趣区域池化层)用于每个卷积块中将特征图池化到5×5

  • 对于Conv1_2,Conv2_2,Conv3_3RoI是在patch中用于专注于病变细节的边界框(boundingbox)。

  • 对于Conv4_3,Conv5_3RoI是为获取上下文信息的完整的patch

  • 然后,将每个池化的特征图通过全连接层(FC投影到256维的向量中,并将它们连接在一起。

  • 另一个FC层之后,网络会输出分数矢量s ∈ RC,其中C是标签数

  • 由于大多标签正例较少,因此对每个标签采用加权交叉熵损失(Cross-Entropy Loss)。公式如下:
    在这里插入图片描述
    其中,

    B表示小批量病变图像的数量。

    σi,c = sigmoid(si,c)表示具有标记c的病变i的置信度,也即预测值

    yi,c∈{0,1}表示ground-truth
    在这里插入图片描述
    表示的是损失权重。Pc,Nc分别是训练集中标签c的正例和负例数。

4.2.Leveraging Label Relations

  • Label expansion: 由于从报告中提取的标签不完整,因此提出了标签扩展策略(Label Expansion)。其中,标签的层次关系有助于推出缺失的父标签,且如果子标签为真,则其所有父母也为真。如可以在训练和推论的基础上,根据现有的“right mid lung”标签在上述一个图中找到“right lung”、“lung”和“chest”标签。

  • RHEM( Relational hard example mining ):如果在报告中没有提到其子标签,则标签扩展策略对其他的丢失标签也束手无策。这时,可以利用标签间的互斥关系找到可靠的负标签。换句话说,也就是若病变的可扩展标签可靠地为1,则其专有标签应可靠地为0。由于有些标签很难学习,所以作者通过设计损失函数自动地强调它们。受OHEM(online hard example mining)的启发,将病变i的标签c的online difficulty定义如下:在这里插入图片描述
    其中,γ > 0,它是类似于focal loss中的focusing超参数,γ越大,即会更多地关注较难地实例。然后,根据小批量中的δi,c 采集S个病变-标签对,并计算它们地平均交叉熵损失。δi,c 越高,意味着被采样地次数越多。这样,就达到了想要的效果(对难标签多采样)。在实验中,这种随机采样的策略效果要优于OHEM中的选择策略和focal loss中的加权策略。需要注意的是,只对可靠的病变-标签对采样,以免将缺失的正标签视作较难的负例。另外,RHEM还可以作为不平衡标签的动态加权机制,所以无需将权重施加到等式一的β中。作者将RHEM的交叉熵损失与等式一结合而不是直接替换它,因为有些标签没有对应的互斥关系的标签,必须先公式一中学习。

4.3.Score Propagation Layer

Score Propagation Layer(SPL,分数传播层)连在LesaNet的末尾。这是一个简单的全连接层,它使用线性变换矩阵W定义了预测分数,然后接着是公式一中加权的CE损失。其中,W用一个单位矩阵初始化,用来学习标签间的一阶相关性

尽管已经通过标签扩展策略和RHEM明确表示了标签的层次关系和互斥关系,但是SPL仍然在增强正相关标签的得分、并抑制负相关标签与清楚分离的标签得分上发挥作用。

另外,有些互斥标签的位置和外观可能非常相似(如血管瘤和肝转移),当SPL看到较高的血管瘤分数时,它会猜测这也可能是转移灶,因为某些情况下它们很难区分。因此,SPL会稍微增加转移灶的分数,而非抑制转移灶。这样的机制尤其有利于提高预测分数较低的稀有标签的召回率

这个原理将SPL与先前的知识传播方法区别开来,因为后者是在专有标签上施加负权重,这会导致任务性能降低。而且,还能通过观察学习到的W,发现更多的标签相关性,并将它们与现有知识进行比较。

4.4.Multilabel Triplet Loss

对于CAD任务,可解释性很重要,作者希望这个算法为其预测提供证据。理想状况下,在对病变进行分类之后,LesaNet可以在数据库中显示具有相似标签的病变,这将有助于用户更好地了解预测值及病变本身,这是一个联合病变标注和检索的问题。本文中,作者使用从报告中提取的综合标签来学习嵌入特征,以对病变之间的相似性进行建模。如网络结构图所示,应用FC层将多尺度特征投影到256维向量上,然后接着是三重态损失(Multilabel Triplet Loss)。由于每个病变可能具有不同数量的标记,因此不相交的正标签数量也很重要。

假设X和Y是比病变A和B的正标签集,使用以下相似性标准
在这里插入图片描述
训练时,首先从小批量中随机抽取一个标记病变A,然后从小批量中找到一个相似的病变B,以使sim(A,B)≥θ,最后找到一个不同的病变C以使sim(A,C)<sim(A,B)。其中, θ相似度阈值。

小批量中抽取T个这样的三个值并计算三重态损失
在这里插入图片描述
其中,d(A,B)A和B的embeddings的L2距离μ边距Ltriplet能使得具有相似标签对的病变在embedding空间中离得更近。

因此,LesaNet的最终损失包括四个部分:
在这里插入图片描述

5. Experiments

5.1.Dataset

从DeepLesion中及其相关报告中,共收集了 19,213个带有句子的病变作为训练集,1,852个作为验证集,1,759个作为测试集。每个患者仅被分到其中一个子集里。因为并非所有病变在报告中都有书签,所以提取的总数小于DeepLesion中的数量。

作者使用3.2节的方法提取标签,然后让标签至少在训练集中出现10次,在验证集和测试集中至少出现2次,最终产生唯一的171个标签的列表。其中,有115个身体部位、27种类型和29种属性。作者从RedLex中提取了带有层次结构的标签关系,然后手动检查得到了137对父子对。作者还请放射科医生对互斥标签进行标注,得到了4,461对互斥标签。

另外,由两名放射科专家在验证和测试集中手动标注了标签的相关性(相关/不确定/不相关),得到测试集中有4,648个相关标签,443个不确定标签以及1,167个不相关标签。

文本挖掘模块验证集上训练应用于训练集上,然后使用被预测为相关或不确定的标签训练LesaNetLesaNet在测试集中相关标签上进行评估。因为在报告中带有书签的句子可能并没有包含病变得所有信息,所以仅靠句子时,测试集中可能缺少标注。因此,两名放射科医生进一步手动标注了测试集中的500个随机的病变。平均来说,原始测试集中每个病变有4.2个标签,手工标注测试集中有每个病变有5.4个标签,每个带有书签的句子平均缺少1.2个标签。将原始测试集称为"文本挖掘测试集",因为标签是从报告中提取的,第二个手工标注的测试集也用于评估LesaNet

5.2.Implementation Details

对于每个病变,在其周围裁剪了一个120mm2的patch作为LesaNet的输入。为了对3D信息进行编码,使用了3个相邻切片来组成三通道的图像

对于加权的CE损失,将权重β的最大值限制为300以确保训练的稳定性

对于RHEMγ=2,S=104

对于三重态损失,根据经验设置θ=1,μ=0.1,T=5000损失的权重λ=5,因为该损失项小于其他损失项。

LesaNet是使用Pytorch实现的, 并从头进行训练,具有至少一个正标签的病变用于训练,batch-size=128,使用随机梯度下降(SGD)对LesaNet训练,其学习率前10个epochs为0.01,后5个epochs为0.001。

5.3.Evaluation Metric

AUC,即ROC曲线下方的面积,是CAD任务中常用的指标。但是,AUC是基于等级的度量标准,并不涉及标签决策,因此无法评估多标签情况下最终预测标签集的质量。因此,作者还计算了每个标签的精度(prediction),召回率(recall),和F1分数(F1 score),这些分数经常在多标签图像分类任务中使用,每个指标在权重相等的标签上取平均(每个类别平均),没有采用总体平均,因为它偏向于信息较少的频繁标签(如胸部、腹部等)。为了将置信度分数化为标签决策,作者为验证集上产生最佳F1分数的每个标签进行了阈值的校准,然后将其应用于测试集。

5.4.Lesion Annotation Results

在这里插入图片描述
在这里插入图片描述
如表1中,显示了不同算法的比较以及本文方法的消融研究,baseline是4.1节中介绍的多尺度多标签CNN加权近似成对排名损失(Weighed Approximate Ranking Pairwise Loss,WARP)是一种广泛使用的多标签损失,旨在使正标签的排名大于负标签的排名。作者将该**损失应用于多尺度多标签CNN,并定义如果细粒度标签全部为正的话,则排名应高于粗略的标签。在DeepLesion上病灶嵌入(Lesion Embedding)基于身体的粗略部位、病灶大小和位置进行了训练。**这四种方法中,LesaNet在两个测试集中获得了最佳的AUC和F1分数。

表1中,AUC较高,该算法能正确地将正例可能最大的情况排在比负例高的位置,证明了该算法的有效性。但是,F1分数较低。主要有两个原因1)数据集中有许多稀有标签,导致数据集高度不平衡。(文本挖掘测试集中共有78个标签的正例少于10个,测试时,这些标签的FP可能比TP多,导致F1低。)2)测试集缺少标注,这也是为什么手工标记的测试集的准确性(尤其是精度)显著高于文本挖掘测试集的原因。

表2表明了文本挖掘测试集上某些典型标签的准确性。身体部位、类型和属性的平均AUC分别是0.9656、0.9044和0.8384。身体部位通常更规则,因此更容易预测;而有些标签(如椎旁,结节)的视觉特征是可变的,因此较难学习。“脊椎旁”的高AUC和低F1可能是缺少正例的原因。通过合并其他先验知识和推理,可以更好地预测某些类型(如转移)。属性具有较低地AUC,一方面是因为某些属性是主观、微妙的。此外,放射科医生通常不会在报告中描述病变的每个属性,因此测试集中缺少标注。
在这里插入图片描述
图4是预测的示例,LesaNet可以准确预测出许多病变的标签。如在图(a)和(b)中,确定了两个细粒度的身体部位(右肺门和气管前淋巴结);在图©和(d)中,是毛玻璃样征和肺空洞;在图(g)和(h)中,是血管瘤和肝转移;LesaNet还可以正确预测一些属性。如图(e)中的钙化,图(h)中的小叶,图(i)中的微小。在某些相似的身体部位和类型上可能会发生错误。如,在图©中,尽管“左下肺叶”的分数很高,但由于两个身体部位很近,因此也可以预测为“左上肺叶”;在图(g)中,"转移"被预测错了,因为在某些情况下可能难以与血管瘤区分开来。一些罕见的and/or的可变标签没有被很好地学习,如图(b)中的“聚合”和“坏死”。

整体地共同学习所有标签是有效的,且实验表明它不会影响单个标签的准确性。作者做了一项在标签子集上训练和测试LesaNet的实验。如,子集1由训练集中出现次数超过1000次的标签组成(ntr > 1000);子集2由ntr>500的标签组成。在对子集2进行训练后,可以对子集1和2测试,以查看子集1的准确性是否下降了。结果如下:
在这里插入图片描述
可以看到,对于相同的测试集,随着训练标签数量的增加,F1分数没有明显的变化。因此,随着收集到更多的数据,可以更好地在训练中添加更多具有临床意义的标签。另一方面,随着更多稀有标签被添加到测试集中,F1变得更低。这是因为细粒度的身体部位、类型和许多属性很少见缺少训练的样本,就很难学习。可行的解决方案包括自动收集更多的数据和使用小样本学习

5.5. Ablation Study and Analysis

分数传播层(SPL):从表1的消融实验发现,去除SPL会使每个类的平均召回率降低3%,频繁出现的标签(ntr>1000)的召回率下降0.4%,这表明SPL对稀有标签的召回率很重要,但代价是很小的精度损失。

SPL中的学习变换矩阵W
在这里插入图片描述
可以发现, W(liver, hemangioma) 和W(enhancing, hemangioma) 很高,这说明SPL发现了:在DeepLesion中,如果一个病变是hemangioma(血管瘤),那么它也很有可能在肝脏(liver)中并且加重(enhancing)。因此SPL增加了“liver”和“enhancing”的分数。反过来,“liver”和“enhancing”的分数对血管瘤的最终评分也有积极的贡献。注意,标签”chest“与“abdomen”和“liver”互斥,因此它们之间的学习权重为负。

正如4.3节中所说的,这个算法难以区分肝脏中的血管瘤和转移,因此SPL也学习了它们之间的正权重。 将来,作者可能会使用我们综合而全面的预测框架,尝试将更多的人类知识整合到模型中,如“类型a位于身体部位b,并具有属性c”,“类型d与类型e类似,除了属性f”。

复杂关系挖掘算法(RHEM): 与SPL相反,RHEM对于提高精度至关重要(表1),这可能是因为它**以略微降低的召回率为代价抑制了可靠的较难阴性标签的得分。**在RHEM中,病变的较难阴性标记是从现有阳性真实的专有标记中选择的。如果丢弃“可靠”要求并从所有非阳性标签中选择阴性标签,则由于我们抑制了更多的阴性标签,因此精度将提高1.5%,而由于许多抑制的阴性标签实际上是阳性的(缺少标注),召回率将下降4%。

标签扩展策略( Label expansion ): 没有标签扩展策略,训练集将丢失40%(父)标签,从而导致准确性不高。

文本挖掘模块( Text-mining module ):不使用此模块时,由于不相关的训练标签会带来噪音,因此总体准确性会下降。但是,性能并未显着降低,这表明模型能够在一定程度上宽限有噪声的标签。我们还发现使用相关+不确定标签的训练比仅使用相关标签更好,这是因为大多数不确定标签都是放射科医生的推论,很可能是真实的,尤其是仅考虑病变的外观时。

三重态损失( Triplet loss ):三重态损失也对分类精度有轻微的贡献。从三重态损失中获悉的256维向量可用于从数据库中检索出类似的病灶(给定一个查询)。在下图中,LesaNet不仅可以正确预测查询病变的标签,而且可以使用相同的标签检索病变,尽管它们的外观并不相同。检索到的病变和报告可以为预测的标签提供证据,并帮助用户理解查询病变。
在这里插入图片描述

6. Conclusion and Future Work

本文研究了整体病变标注问题,并提出了一个从放射学报告和标签本体中自动学习具有临床意义的标签的框架。提出了具有有效策略的病变注释网络,该策略既可以提高准确性,也可以带来知识和解释。作者未来的工作可能包括收集更多数据,以更好地学习稀有标签和较难标签,并尝试整合更多的人类知识。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值