Retinal Vessel Segmentation via a Semantics and Multi-Scale Aggregation Network
from ICASSP 2020
Abstract
对于视网膜血管进行精确分割对于眼底图像的自动化诊断至关重要,但是由于特征尺度变化较大、对毛细血管分割不佳,使得精细的视网膜血管分割一直是一项极具挑战的任务。
本文提出了基于语义和多尺度聚合模块的分割模型来解决这一难题。
首先通过语义聚合模块汇聚表征能力更强的高阶语义信息,进而获得强有力的特征表述,来精确分割毛细血管和血管连接处。
此外还设计了一个多尺度聚合模块,采用并行的不同膨胀率的分支来提取多尺度信息。
最终本文在两个公共的开源数据集(CHASE_DB1和HRF)测试了视网膜血管分割性能,均达到了SOTA。
Section I Introduction
眼部疾病,如糖尿病视网膜病变、青光眼是导致失明的主要原因。随着生活习惯的变化、人口老龄化以及其他因素使得眼部疾病发生率逐年攀升。这就推动了一些计算机辅助诊断系统以自动诊断视网膜病变,前提是能够对眼底图像进行精确定位。尽管对于视网膜血管分割已经进行了诸多研究,但是对整个血管树进行精确分割仍然十分具有挑战性。因为一些毛细管血管的直径仅有几个像素而整个血管是其的数十倍宽,这种尺度上的跨越使得精确分割血管变得更加困难,此外 由于非均匀的光照和病理的影响,毛细血管很容易与主血管连接处发生断裂。这些问题难以通过传统的方法如CRF等解决。
而深度神经网络也已经用于视网膜血管分割。UNet就是广泛用于医学图像的分割模型,虽然UNet比常规的模型性能更好,但还不是专门设计用于视网膜血管分割的模型。
也有一些研究针对视网膜血管分割进行了改进,如通过选择性的融合特定层的特征以及加入guided supervision有效利用多尺度信息;还有通过两个并行的分支来学习多尺度信息,并且在分割网络后增加一个额外的网络来细化毛细血管。虽然都对血管分割精度有一定提升但还无法满足实际应用要求。
因此本文设计了一个基于语义和多尺度聚合模块的分割网络来提升分割精度。
本文的不同之处在于,不在于进一步提升网络对毛细血管的精炼程度,而是尝试使用更强大的特征表示来辅助分割。
在深度神经网络中,浅层往往包含更多空间信息,有助于精确进行物体定位;而较高层次往往包含更多语义信息,有助于物体的识别。为了更好地利用全部信息,本文设计了一个编解码网络,在其中增加了语义聚合模块,横向连接到同层的编码模块,并且通过skip connection连接到所有的解码模块中。同时利用各尺度的特征以及详细的空间信息,可以更好的识别毛细血管,也不易分割出破碎的血管树。此外,本文还插入了多尺度聚合模块来利用多尺度信息,这一模块使用了不同膨胀率的空洞卷积,因此每一条filter学习的都是特定尺度的特征,融合后可以获得多尺度信息。
本文的主要工作总结如下:
(1)为了提升毛细血管的分割精度,设计了能够汇集所有高层语义信息的深层网络;
(2)通过引入多尺度聚合模块本文的网络解决了视网膜血管尺度变化大的难题;
(3)本文提出的方法在CHASE_DB1和HRF数据集上充分验证了有效性,达到了SOTA。
Section II Proposed Method for retinal vessel segmentation
与自然图像数据集相比,视网膜血管分割的数据集通常仅包含极其有限的训练和验证数据,因此本文将输入图像裁剪成image patch作为输入;测试则是通过垂直和水平扫描过分割的图像后计算重叠区域的平均分割分数。
Part A Network Architecture
Fig 1展示了本文提出的网络结构框图,主要包括一个编解码到的网络后面跟着一个多尺度聚合模块。将裁剪后的image patch输入网络编码部分,每一层编码经过两次卷积->BN->ReLU,随后经过maxpool后送入下一层,越深层提取的语义特征越有助于正确识别毛细血管;而低层次特征包含丰富的空间信息有助于精确定位毛细血管所在的位置。
与常规的UNet不同之处在于本文探索了一种新的解码网络来融合以上信息。解码部分由不同层次的语义聚合模块构成,每一个聚合模块都包含一个横向连接利用空间信息,以及包含几个skip connection连接嵌入在深层的语义信息。由于语义信息对光照以及病理变化具有更好的鲁棒性,因此借助深层次上聚合的语义信息可以提升识别毛细血管和血管连接的好处。
此外本文还在最后引入了一个多尺度聚合模块来解决大范围的尺度变化问题,通过将不同尺度特征聚合,为视网膜血管生成强大的特征表示。
Semantics Aggregation Block
Fig 2(a)展示了语义聚合模块的结构,包含两个卷积以及进行级联的concatination node,concatenation node会与横向同层的编码模块相连,同时还会通过skip connection与解码模块所有层次相连。在连接过程中通过1x1卷积完成尺度的匹配;级联的特征还会通过1x1 conv进行通道压缩,随后经过两个3x3卷积用于学习更具表征能力的特征。
Multi-Scale Aggregation Block
Fig 2(b)展示了多尺度聚合模块的结构,主要包含并行的不同膨胀率的多分支卷积来学习不同尺度的信息,最上面分支仅包含1x1卷积压缩通道至d维,后面的分支经过1x1conv后还会经过不同膨胀率的空洞卷积,最后将不同分支的输出进行concatenate并与input相加add作为输出。
Part B Network Training & Implementation
本文提出的网络支持端到端的训练,除了主损失函数Lm还增加了5个辅助损失函数L1-L5进行深度监督,因此总的损失函数是以上损失函数的线性组合;
此外对于多尺度聚合模块,设置分支数为4,维度d = 10,膨胀率依次为(0,2,4,6,8)。
Section III Experiments
Part A Database & Evaluation Protocol
本文选用在CHASE_DB1和HRF数据集上进行测试。
CHASE_DB1采集了14名学龄儿童共28张眼底图像,分辨率为999x960,train:test = 20:8,patch = 48x48共400,000。
HRF数据集包含45张眼底图像,分别包含15张无病理图像、15张糖尿病视网膜病变以及15张青光眼视网膜病变,分辨率为2336x3504,train:test = 30:15 ,patch = 128x128,共150000.
实验中所有训练数据经过以下预处理步骤:
(1)灰度变换
(2)CLAHE
(3)伽马变换
评价指标:AUC,PR,ACC
Part B网络消融实验
Table I展示了消融实验的结果基线模型是5层深度的UNet模型,依次探究语义聚合模块和多尺度聚合模块的作用。
语义聚合模块有效聚合了嵌入在深层次的语义信息,有助于识别弱的毛细血管和血管连接;多尺度聚合模块可以有效将多尺度信息组合在一起,有助于解决视网膜血管尺度跨越大的问题。通过消融实现可以看出任意一种模块都有助于提升分割性能;将两种模块结合在一起,本文可以将分割性能进一步提高。
Fig 3展示了CHASE_DB1和HRF上血管分割的结果,从左至右依次为原图、GT,UNet分割结果和本文的分割结果。
可以看到本文的分割方法可以提取出更多的毛细血管,同时对一些较大血管的分割效果也很明显,这些可视化结果充分展示了本文提出的语义聚合模块和多尺度聚合模块的有效性,有助于增强毛细血管和大血管的分割效果。
Part C Comparison to the SOTA
Table II展示了与目前一些SOTA结果的比较,可以看到与这些方法相比,本文提出的网络在两个数据集的这三个评价指标上均取得了最高的分数。
因此,可以得出结论:本文提出的深层网络在视网膜血管分割CHASE_DB1和HRF公共数据集上已经达到了最先进的性能。
Section IV Conclusion
本文提出了通过语义和多尺度聚合模块用于视网膜血管分割,其中语义聚合模块汇聚所有高级语义信息,多尺度聚合模块则充分利用了不同尺度的特征。这一设计精巧的网络有效解决了视网膜血管分割问题,并在CHASE_DB1和HRF数据集上取得了最先进的性能。