论文:RTNet: Relation Transformer Network for Diabetic Retinopathy Multi-lesion Segmentation
目录
一、背景和出发点
二、创新点
三、方法实现
A. 概述
B. 全局transformer模块(GTB)
C. 关系transformer模块(RTB)
1. 自注意头部分
2. 交叉注意头部分
四、损失函数
五、实验
1. 对比实验
2. 消融实验
3. 定性结果
六、结论
一、背景和出发点
研究背景:糖尿病视网膜病变(DR)的自动分割对于辅助眼科医师诊断具有重要意义。虽然对这一课题进行了许多研究,但以往的工作大多过于关注网络的设计,而没有考虑病变的病理关联。
出发点:作者通过调查视网膜病变的致病原因,发现某些病变与特定的血管闭合有着某种关联性。因此作者希望通过提取多病变之间的类内依赖关系和多病变与血管的类间关系,以提高视网膜病变分割效果。
主要工作:作者提出了RTNet,采用双分支结构的GTB模块和RTB模块来同时分割四种视网膜病变。其中,GTB(全局Transformer模块)用于提取病变和血管的全局特征,RTB(关系transformer模块)用于提取病变特征之间的全局依赖以及融合病变特征和血管特征。
研究成果:在IDRiD和DDR数据集上进行的综合实验很好地证明了我们的方法的优越性,它实现了与最先进技术相比的具有竞争力的性能。
二、创新点
1. 提出了一种双分支结构来获取血管信息,有助于定位DR病变的位置。为了在多病灶分割中有效利用血管信息,设计了一种基于transformer机制的关系转换器模块(RTB)。据我们所知,这是第一次在眼底医学图像中使用多头transformer结构进行病灶分割。
2. 提出了全局转换模块(GTB)和关系转换模块(RTB)用于检测小尺寸或边界模糊的特殊医学图像。该设计探索了DR(糖尿病性视网膜)病变之间的内在关系,从而提高了捕获感兴趣区域细节的性能。
3. 在IDRiD数据集上的实验表明,提出的方法在DR多病变分割效果上名列前茅。具体来说,我们的方法在DR多病变分割中表现最好,在HE病变分割中排名第二。在DDR数据集上的实验表明,该方法在EX、MA和SE分割任务上优于其他方法,在HE分割任务上排名第二。
三、方法实现
A. 概述
其总体架构如图所示,由主干、全局transformer模块(GTB)、关系transformer模块(RTB)和分割头四个关键部件组成。
总体流程:
1. 首先眼底图像经过主干得到特征图 。
2. 然后,引入由两个平行分支组成的全局transforme模块(GTB),以利用 中像素之间的长距离依赖关系,分别生成带有全局上下文信息的特定血管特征 和病变特征 。
3. 在提供病变特征的分支上,进一步整合了一个关系transformer模块(RTB),使用自注意力和交叉注意力头来构建血管和病变之间的空间关系:自注意力头仅输入病变特征 ,并通过自注意力机制利用长程上下文信息生成自注意力特征 。交叉注意力头同时输入病变和血管特征 、,并将有益的细粒度血管结构信息合并到 中,产生交叉注意力特征 。得到的 和 连接在一起形成RTB模块的输出 。
4. 最后,使用两个包含norm层和1×1卷积的兄弟头,分别根据血管特征和连接的病变特征来预测血管和病理掩模。
B. 全局transformer模块(GTB)
目的:是通过注意力机制生成带有全局上下文信息的特定血管特征 和病变特征 。
主体结构: GTB是一个多头注意力模块,架构参考GCNet中的GC模块和NLNet中的NL模块。
输入:以主干神经网络(unet)生成的 为输入。
输出:经过注意力提炼的特征图 ,。
步骤:
(1) 获取查询、键和值:输入特征图 ,采用表示为 、 和 的三个生成器来将输入 分别转换为查询、键和值。在GTB中,生成器 由3×3卷积和全局平均池实现,输出查询向量,其中通道数为C'=C/8。生成器 和 具有与 相同的架构,除了将全局平均池化替换为reshape操作,输出键和值。
(2)在获得键和值之后,将query和key通过矩阵乘法得到。很明显,这里得到的是一个空间注意力向量。算子公式如下:
其中,上标T表示矩阵的转置算子。
(3) 接下来,考虑全局变换操作,将 与softmax处理后的进行矩阵乘法,得到,其被定义为:
其中softmax是 的一个softmax函数。
(4)然后,通过1×1卷积,将 的通道数从C'转换回C。再将获得的具有注意特征的 作为输入 的残差项,线性嵌入 中(本质上是乘以权重参数再相加),获得最终输出 和 ,对应的算子公式如下:
,,
其中,+运算表示广播元素级求和运算,W是线性嵌入。
总结:GTB先融合通道加权特征,再融合空间加权特征与原输入信息。其中,是一个通道注意力向量,与进行矩阵乘法,融合了通道信息的同时,提取出了一个空间注意力向量,通过softmax归一化处理,再通过卷积恢复原通道数,再与原输入信息 进行线性加权求和,最终融合了空间上下文信息。
Q1:步骤3中softmax的作用是什么?为何使用?
A:为了归一化,因为在提取到每个像素对其他像素的影响大小的数值后,我们希望遵从统计学的规则,以概率[0-1]的形式表示某个像素对其他像素的影响权重。
在NLNet中以矩阵形式表示两个元素之间的依赖关系,而GTB模块中只是一个向量,这引发了对问题4的思考。下图为NL模块:
Q2:每次进行矩阵相乘的目的是什么?
A:第一次进行矩阵乘法,如下图所示,是为了融合通道注意力,feature map中每一行像素都与通道向量相乘再相加,通过通道权重的筛选,最终得到一个融合了通道注意力的空间向量;第二次进行矩阵乘法,feature map与空间向量相乘,注意这里的feature map与空间向量虽然通道数不一样,但是空间大小相同,因此通过矩阵乘法使得每一个像素都关联到其他像素,最终提取到全局上下文信息。
Q3:GTB模块最后为什么进行残差相加?
A:与NL模块相同,是为了能让GTB模块可以作为一个组件直接插入任意的神经网络中,把模块设计成residual block的形式。
Q4:GTB模块获取全局上下文信息的过程,经历过了平均池化,而且query和key、value的各维度大小都不一致,提取的空间信息是否还关联上下文?
A:可以,这个问题通过仔细思考问题2,即可得到解答。
C. 关系transformer模块(RTB)
目的:用于捕获病变间的类内依赖关系和病变与血管间的类间关系。
结构:由自注意头和交叉注意头组成。
输入:GTB模块的输出 。
输出:串联了病变区域的自注意力特征和血管、病变区域交叉注意力特征的。
步骤:
GTB模块由两部分构成,自注意部分和交叉注意部分。
1. 自注意头部分
(1)输入的 经过三个生成器Q、K、V(都由一个3 × 3卷积和一个reshape操作构成)得到。
(2) 经过一个矩阵乘法操作,得到一个关联到全局上下文的特征。(观察结构图,毫无疑问,中的每个像素都关联到了其他像素。)
(3) 再经过一个softmax操作进行归一化,再与 进行矩阵乘法操作,得到特征,这个特征由 融合了病变区域的全局信息得来。
(4) 再经过一个1x1卷积和reshape操作,将feature map大小还原为CxHxW,再与原特征图 进行残差计算(加权之后逐元素相加)得到特征 ,这个特征得到病变区域的类内依赖关系。
2. 交叉注意头部分
(1)输入的 经过生成器Q得到,输入的 经过生成器K、V得到。
(2) 经过一个矩阵乘法操作,得到一个关联到病变区域和血管区域的特征。
(3) 再经过一个softmax操作进行归一化,再与 进行矩阵乘法操作,得到特征,这个特征由 融合了病变区域和血管区域的交互信息得来。
(4) 再经过一个1x1卷积和reshape操作,将feature map大小还原为CxHxW,再与原特征图 进行残差计算(加权之后逐元素相加)得到特征 ,这个特征融合了病变区域和血管区域的类间关系。
3. 最后,将特征 和特征 在通道方向进行拼接操作,得到最终的输出特征 ,这个特征同时融合了病变区域和血管区域的类间关系和病变区域的类内依赖关系。
四、损失函数
RTNet的损失函数主要有交叉熵损失构成:
其中,为病变区域的五类交叉熵损失,为血管区域的二类交叉熵损失,参数用于调整、的占比。
五、实验
RTNet主要进行了两个实验分别是对比实验和消融实验。
数据集:IDRiD和DDR数据集。
评估指标:precision,recall (PR) 和receiving operating characteristic (ROC)的曲线下面积(AUC)。
1. 对比实验
RTNet在EX、MA和SE(三种病变)的AUC_ROC(ROC的下曲线面积)以及EX和SE的AUC_PR(召回率下曲线面积)中排名第一,在HE(一种病变)的AUC_ROC 和AUC_PR中排名第二。
2. 消融实验
与各种软注意力模块对比所提出的GTB模块的效果。
进行模块消融实验,验证各模块的效果。
3. 定性结果
六、结论
在本文中,作者提出了一种新颖的网络结构,采用双分支结构的GTB 和RTB来同时分割四个DR病变。该网络的优秀实验结果可以归功于GTB和RTB,它们研究了多病变之间的类内依赖关系和多病变与血管的类间关系。此外作者提到由于受到数据集的局限(专家像素级标注的成本过高),导致该网络的不足。因此一个像素级别的视网膜病变数据集是一个可改进的方向。