论文阅读:CcNet:A cross-connected convolutional network for segmenting retinal vessels using multi-scale
CcNet
时间:2019/5
视网膜血管分割有助于帮助诊断糖尿病视网膜病变。目前RVS的自动分割面临着模型精度、鲁棒性及分割速度的限制。本文提出了一种交叉连接的RVS分割网络叫做CcNet。在CeNet中卷积层用于提取图像特征并对像素点进行分类,本模型在图像的绿色通道上进行了训练和测试,交叉连结体现在将主路径和二级路径提取的多级特征进行了融合。最终在DRIVE数据集上取得了0.9528,STARE数据集上取得了0.9633的准确率。除此之外本算法的计算速度更快(0.063s),因此本算法在分割精度、鲁棒性及处理速度方面更适合实际应用中。
Section I:Introduction糖尿病视网膜病变的确诊人数越来越多,已经成为世界范围内致盲的一大原因,而临床上常通过分析视网膜图片进行诊断,因为借助查看血管的损伤可以帮助诊断糖尿病视网膜病变,但由于人工视网膜血管分割过程费时费力限制了RVS的大规模应用,因此完成视网膜血管的自动分割算法很有意义。主要方法有两类:监督和无监督方式。
无监督学习方法:常依赖于阈值滤波,常采用的方法可分为5类:匹配滤波、图像形态学操作、血管追踪、多级分析及模型化的算法。匹配滤波通过高斯滤波提取出血管轮廓但容易在分割病变血管时出错;在形态学操作中长使用中心线检测及曲线预测来检测血管;血管追踪常通过局部信息寻找血管匹配的最佳路径。上述方法都可对血管的宽度精确探测但都需要初始化种子点。而在多级分析系统中可以同时完成健康和病变视网膜的分割。
而监督学习的方式往往检测效果更好,特征的提取分为人工和自动两种,人工特征的提取十分依赖与特征提取者积累的经验;而借助于ANN、CNN等的自动特征提取效率更高。
虽然大部分CNN网络都取得了较好的分割结果,但仍存在一些挑战。一是现有的方法中对于数据预处理包含大量超参数,二是跟多深度学习的框架忽视了“模型的稳定性”这一特征;三是尽管大部分框架使用了GPU进行了加速但进行预测时仍然需要较长的时间。
为了解决前文提及的问题,本文提出了交叉连结的CcNet用于视网膜血管分割。基于其交叉连接的方式,CcNet可以自动高效的学习多级特征。
本文的主要贡献有
(1)设计了一种融合多级特征的框架用于RVS问题
(2)预处理阶段没有过多超参数,因此降低了主观因素的影响
(3)本文提出的框架性能超过了目前提出的绝大多数框架同时在保证准确率的前提下拥有更佳的鲁棒性及实时性
Section II主要介绍网络框架,Section III介绍实验及结果讨论 Section IV进行总结及未来展望。
PartA 网络结构
CNN深层网络提取的特征往往更抽象,对于视网膜血管分割,深层次的特征往往有助于检测血管结构,而浅层特征学习到的是血管细节。因此将浅层次与深层次的特征结合可以提高网络的性能。UNet结构通过skip connection的跳层连接将深浅层次的特征有效的进行了融合。我们的网络结构与UNet相比有两点不同:
第一点:UNet使用了下采样学习深层次特征,但随着下采样的进行丢失了部分血管的细节特征,因此CcNet中每一层特征尺寸都一样大,不仅保留了图像细节也有助于特征的融合;
二是UNet中每级仅将收缩路径中的一层卷积通过skip connection连接到扩展路径上。在CcNet中主路径上的所有卷积层都与次级路径相连。这种模式有助于图像信息及梯度在网络中的流动,也更有利于深层网络的训练。
网络结构如Fig1所示,第一行代表主路径,第二行代表二级路径。为了学习到多样化的特征主路径中使用了更多的卷积核;而为了减少网络的参数,每一次交叉连结都会经过CRM模块的处理(CRM=conv-RuLU-maxpooling),因为CRM中kernel更少。主路径的输出经过CRM处理后会与二级路径的每一级输出进行级联(concatenate)
Part B 预处理
大部分研究在绿色通道上开展,因为绿色通道中血管与背景的对比度是最大的直接将绿色通道的图片喂如入网络而没有用高斯滤波及HE、切patch等一系列的预处理操作,这样最大限度避免了主观因素的影响。和其他工作相比,本文采取的预处理方法是最简单也最好达到的。
PartC 后处理
最终输出的像素点超过255的灰度值像素。被限制在255以内。随后根据输出的二值图像计算ROC,AUC等常规指标。
PartD training set
预训练有助于加速网络的收敛,因此我们准备了预训练的数据集,包括镜像、旋转、绿色通道的提取。实验中我们还发现最终的收敛精度受预训练图像尺寸的影响很小,因此我们将图片设置为80*80的规格,与其他网络设置的patch大小相近。该数据集用于网络的预训练,训练参数会作为网络的初始值继续进行训练。
Dataset
DRIVE: 40 images 565 * 584 pixels
STARE:20 images 700 * 605 pixels
实验平台:Caffe框架 on a GeForce GTX 1070
性能比较:最终输出的二值图每一个像素点被分成2类:血管区域和非血管区域。每张图有4种输出:
TP:真阳性
FN:假阴性
TN:真阴性
FP:假阳性
根据此可以计算出敏感度Sensitivity,特异性Soecificity以及准确度Accuracy和AUC曲线。
最终性能如Table 1所示。
与其他网络的对比
DRIVE
STARE
CcNet分割效果的可视化对比:
列从左至右分别代表原图、GT、对比工作1Niemeijer、对比2Fu、本文
行从上至下依次为受损区域、毛细血管、视神经盘的分割结果
其中Niemeijer分割效果最差,Fu分割效果提升了但是对于视神经盘的分割出现了错误(row 3 column4)
而本文提出的方法在受损区域、细微血管、视神经盘区域的分割效果更好,更具有实际应用的意义。
交叉训练
本文还进行了交叉训练,在A数据集上训练好后在B数据集上进行验证,来看Acc的波动性。本文的CcNet具有最佳的鲁棒性。
本文的亮点有三处:
(1)交叉连接的方式(个人感觉看起来更像DenseNet的连接方式)
(2)没有对数据进行过多的预处理
(3)具有更佳的鲁棒性及分割速度
不足:对lesion area的分割效果不是最佳的
连接方式的不同:
UNet:skip connection
CcNet:cross-connection between primary path and secondary path
还可以通过更深层次的网络,引入CRF进一步提升performance