U-Net与自适应阈值脉冲耦合神经网络相结合的眼底血管分割方法
2022-04-12徐光柱林文杰陈莎匡婉雷帮军周军
徐光柱,林文杰,陈莎,匡婉,雷帮军*,周军
(1.三峡大学计算机与信息学院,湖北宜昌 443002;2.湖北省水电工程智能视觉监测重点实验室(三峡大学),湖北宜昌 443002;3.宜昌市中心人民医院超声科,湖北宜昌 443003)
0 引言
近年来,青光眼、糖尿病性视网膜病变等眼科疾病的发病率不断升高,严重威胁着人们的健康。眼底血管分割可为眼底图像自动化分析提供重要的图像配准及多种眼疾判断所需的参考信息。由于眼底血管结构复杂、采集时易受噪声干扰,使得手动分割血管图像困难且工作量大,因此,自动化的眼底血管分割技术具有重要的研究及应用价值。
许多学者提出了不同的眼底血管分割方法,可分为无监督学习和有监督学习两大类[1]。基于无监督学习的眼底血管分割方法包括基于匹配滤波、血管追踪、形态学的方法[2-4];基于监督学习的眼底血管分割方法通常将其视为像素级图像分类问题[5-7]。无监督学习和浅学习的监督学习方法需要人为制定学习规则来提取血管特征,结果的好坏完全取决于规则的制定,难以应对复杂多变的现实情况。
深度学习在图像处理领域表现出了强大的优势,被广泛应用于眼底图像的分割任务。Fu 等[8]视眼底血管分割为边界检测问题,将卷积神经网络(Convolutional Neural Network,CNN)和条件随机场集成为深度网络来分割眼底血管,首先利用多尺度、多层次CNN 获得多尺度信息,再利用条件随机场对像素间的长距离相互作用进行建模;Oliveira 等[9]提出了基于全卷积网络(Fully Convolutional Network,FCN)的眼底血管分割方法,并将平稳小波变换引入FCN 来提高分割准确率;Jin 等[10]提出了一种可变形U-Net 算法,利用眼底血管的局部特征进行眼底血管分割;徐光柱等[11]在原始U-Net 中引入密集链接思想;Pan 等[12]在原始U-Net 结构中加入残差模块。这些方法都是为了解决U-Net 在极深条件下网络性能下降的问题。
深度学习网络模型在眼底图像自动分割任务的结果通常优于无监督学习和一般的监督学习方法。研究人员通常将深度学习方法得的灰度特征图像直接使用硬阈值方法进行血管分割,导致丢失部分微小血管和粗血管壁信息,造成血管不全与过细等问题。Soomro 等[13]针对这个问题使用双阈值与形态学技术进行血管二值化,但效果依然不佳。若将深度学习网络提取的眼底血管特征视作灰度图像,再结合基于阈值的图像分割方法进一步处理,则可取长补短,既解决传统方法泛化能力差、语义感知能力弱的问题,又克服深度学习网络输出分割结果精度低的缺点。
在基于灰度图像阈值分割算法中,脉冲耦合神经网络(Pulse Coupled Neural Network,PCNN)具有动态阈值特性,适合图像分割。Dona[14]将预处理后的眼底图像输入PCNN进行血管分割,最后使用形态学操作进行后续处理;徐光柱等[15]将高斯滤波、Gabor 匹配滤波、PCNN 和区域生长相结合,处理视网膜血管分割问题,但预处理过程没有达到理想情况,血管与背景的对比度仍然较低,而且PCNN 作为无监督方法提取特征的泛化性完全依赖手工设置的参数。
基于上述考虑,本文提出了改进的U-Net 模型与自适应阈值PCNN 模型相结合的眼底血管分割方法。首先利用改进的U-Net 模型进行初次血管增强,得到眼底血管的灰度特征图像;然后将其与原图融合,再经过对比度受限自适应直方图均衡化方法(Contrast Limited Adaptive Histogram Equalization,CLAHE)处理;接着输入改进的U-Net 模型进行二次血管增强;最后通过自适应阈值PCNN 模型对眼底血管进行精准分割。实验结果表明,该方法能提取更多的微小血管,提高了血管分割准确率。
1 本文方法相关技术
1.1 U形全卷积神经网络U-Net
U-Net 是具有对称的类似U 形结构的全卷积神经网络[16],其包含捕获上下文的收缩路径和实现精确定位的扩张路径。因为医学图像数据库普遍存在数量少、规模小的问题,而U-Net 有跳级连接,不需要大量数据集也有较高准确率,非常适合医学图像分割;而且CNN 可以有效降低网络的复杂度、减少训练参数的数量。
1.2 脉冲耦合神经网络(PCNN)标准模型
PCNN 是基于Eckhorn 提出的原始模型改进得来[17]。PCNN 在图像分割方面具有显著的优点,分割后的图像具有旋转不变性、强度不变性、尺度不变性和畸变不变性等优点。图1 给出了一个PCNN 神经元的组成框图,PCNN 神经元由输入单元、连接单元、脉冲产生单元组成,输入单元由连接输入Lij和反馈输入Fij组成,其中i、j为第ij个神经元;连接单元主要是产生内部活动项Uij,其中β为连接系数;脉冲产生单元由比较器、阈值调节器、脉冲发生器组成,当内部活动项Uij大于动态门限Tij时,神经元便产生输出Yij。
图1 PCNN模型Fig.1 PCNN model
2 U⁃Net与PCNN相结合的眼底血管分割
为了能有效利用U-Net 模型与PCNN 模型的血管分割性能,本文提出一种基于改进的U-Net 模型与自适应PCNN 的眼底血管分割方法,流程如图2 所示。第一部分是预处理,实现血管初级增强与数据增广;第二部分是改进的U-Net 结合CLAHE 进行迭代式血管增强,此时得到的灰度图像的灰度值是该像素属于血管的概率;第三部分是自适应PCNN,实现眼底血管的分割。
图2 本文方法流程Fig.2 Flowchart of the proposed method
2.1 数据预处理
医学图像数据集存在数量少、规模小的问题,使得网络过拟合,不利于模型的泛化性和鲁棒性。本文首先通过水平翻转、垂直翻转和gamma 变换对数据集图像进行数据增广,将图片数量增至原来的4 倍;然后对数据集进行灰度变换以CLAHE 来增加图像中血管与背景的对比度,其效果如图3所示。
图3 对比度受限的直方图均衡化结果对比Fig.3 Contrast limited histogram equalization results comparison
为进一步增加数据量,本文将增强后的图像进行分块处理。随机从均衡化后的灰度图像中取出若干48×48 的图像块,如图4 所示。图像块的局部血管结构类似、亮度均匀,更便于提取图像特征。
图4 图像分块处理Fig.4 Image block processing
2.2 用于血管区域增强的U-Net改进模型
为使得提取的特征既能包含血管的整体结构,又具有微小血管的细节信息,在构建U-Net 时,本文使用了具有3 次卷积操作的下采样或者上采样循环单元。本文在每个卷积层后加入了批标准化(Batch Normalization,BN)层[18]和Dropout正则化层[19]。这样做的优势在于:
1)引入BN 层,使得激活函数的输入集中在均值为0、方差为1 的正态分布上,使得网络能更快完成训练任务,提高收敛速度。
2)Dropout 层让神经元按照一定的概率丢弃激活值,减少各层神经元之间的相互作用,缓解由于引入BN 层而愈加严重的过拟合问题,使得网络不会太依赖于局部特征,增强网络模型的泛化能力。
U-Net 上改进后的网络结构如图5 所示,其中,下采样循环单元由卷积层、批标准化层、激活层、正则化层、最大池化层组成,如图6(a)所示;上采样循环单元由上采样层、卷积层、批标准化层、激活层、正则化层组成,如图6(b)所示。卷积计算时使用的卷积核大小为3×3。
图5 本文U-Net结构Fig.5 Structure of U-Net in this paper
图6 下采样和上采样分解图Fig.6 Decomposition diagrams of subsample and upsampling
U-Net 网络层参数如表1 所示。
表1 U-Net网络层参数Tab.1 Network layer parameters of U-Net
模型的损失函数是二元交叉熵函数,如式(1)所示:
其中:y代表标签,p代表U-Net 输出结果。
2.3 基于改进的U-Net模型的血管区域二次增强
为了进一步凸显血管区域以便于后续自适应阈值PCNN精准分割血管,本文基于改进的U-Net 模型进行迭代式血管增强,增加血管与背景的对比度。
首先,U-Net 网络训练时,每一轮训练中选取其中90%的数据用于训练,将剩余10%的数据用作验证,分批次地将数据输入到模型当中以减少训练时长。测试过程中,先在血管图像上隔5 个像素取一个48×48 图像块,图像存在重叠部分,不够的长或者宽对图像作补0 处理。将图像块输入训练好的网络进行初次增强血管,得到特征灰度图像,然后将其恢复原图大小并除去补0 部分,得到U-Net 初次增强结果,如图7(a)所示。
将U-Net 初次增强的血管特征图与原图进行融合,融合公式为:
其中:G1 为绿色通道G和提取的特征灰度图Gray融合结果,G2 为融合结果。绿色通道G和提取的特征灰度图Gray所占的比率也是通过反复实验得来的。将融合图像G2 再进行CLAHE 处理。
最后,直接将融合图像输入训练完成的改进的U-Net 进行血管的二次增强。实验结果发现这种方式能有效增强上一阶段的特征灰度图像、凸显更多微小型血管信息,实验结果如图7(b)所示。
图7 U-Net两次增强结果对比Fig.7 Comparison of two enhancement results of U-Net
2.4 基于自适应阈值PCNN模型的血管分割
改进的U-Net 模型输出的是灰度图像,若直接使用硬阈值进行二值化会丢失部分微小血管信息。针对这一问题,本文充分利用自适应阈值PCNN 动态阈值的特性分割血管图像,其计算公式如下:
其中:W为3×3 大小的连接权重矩阵,k、l为矩阵内的坐标,αT为阈值衰减系数,VT为脉冲调制系数,n为迭代次数。
由于血管背景强度对比度不同或噪声水平不同,使用全局的值初始点火阈值T0和连接系数β使得图像分割效果较差。因此,本文使用了一种参数局部化方法,即首先根据特征灰度图像的血管分布将图像分为4 个相等大小的块;然后对每个图像块使用OSTU 方法初步计算各图块目标背景分割阈值θ;最后根据Raya 等[20]提出的方法计算初始点火阈值和连接系数。初始点火阈值T0和连接系数β如下得到:
其中:mo、σo分别为图像中目标像素点平均灰度值和平均方差,k1、k2分别为常数系数。通常k1∈[1,2],k2∈[0,1]。
3 实验结果与分析
3.1 数据集
为了验证本文方法的性能,选择在DRIVE、STARE、CHASE_DB1 公开数据集进行实验。DRIVE[21]包含40 幅图片,图像分辨率为565×584;STARE[22]有20 幅眼底图像,图像分辨率为605×700;CHASE_DB1 图像库[23]是从儿童心脏与健康研究中心(CHASE)提取的视网膜图像的子集,图像分辨率为999×960,共28 幅图像,3 个数据集总共有88 张原始眼底图像,每幅图像都有2 个专家手动标签。本实验在配置为Intel Core i7-7700K CPU @ 4.20 GHz,4200 MHz 的Windows 10 平台下进行。
预处理阶段已将DRIVE、STARE、CHASE_DB1 数据集中原有图像增广到了原来的4 倍,且进行了分块处理。DRIVE、STARE、CHASE_DB1 数据集所用的训练、测试图像块数量如表2 所示。
表2 各阶段所用图像块数量Tab.2 Number of image blocks used in each stage
3.2 性能评价指标
为了判断血管分割性能的好坏与否,需要有效的性能评价指标。将图像分割结果与标签进行比较,图像中每个像素点的分类情况有以下四种:真阳性(True Positive,TP)、假阳性(False Positive,FP)、真阴性(True Negative,TN)以及假阴性(False Negative,FN)。
通过像素点分类情况可以计算出准确度(Accuracy,Acc)、灵敏度(Sensitivity,Se)和特异性(Specificity,Sp),这3个常用性能指标计算方法如下所示:
ROC 曲线常用于衡量二分类问题准确率,其是以特异性为横坐标、灵敏度为纵坐标的曲线。AUC(Area Under the Curve)是ROC 曲线下面积大小,也是判断血管分割方法性能的重要指标。
3.3 BN和Dropout有效性分析
相较于原始的U-Net 模型,本文为了削弱过拟合、提高训练速度,在U-Net 模型中引入了BN 与Dropout。BN 把每层神经元输入值的分布强行拉到标准正态分布,使得神经元输入值落在激活函数对输入较敏感的范围,减少训练时间;Dropout 不仅可以使网络具有较好表达能力,更重要的是能缓解网络过拟合的问题。如图8 所示,加入Dropout 之前,验证集的loss、准确率与训练集的loss、准确率有明显差异,说明存在过拟合问题;加入Dropout之后,这种情况得到极大缓解。
图8 BN与Dropout结合训练对比Fig.8 Training contrast between BN and Dropout layers
以DRIVE 数据集为例,训练轮次为25,如图9 所示,在训练的初始阶段,网络的训练曲线收敛速度较快,说明模型的学习效率较高。本文方法在15 个训练周期之后分割准确率趋于稳定,而原始U-Net 训练120 个训练周期之后分割准确率趋于稳定。如表3 所示,本文方法实际训练时间大约是原始U-Net 的1/10。可见本文方法大幅减少了训练时长,说明引入BN 与Dropout 后效果明显。
图9 训练周期-准确率曲线Fig.9 Training cycle-accuracy curve
表3 训练周期时间对比Tab.3 Training cycle time comparison
3.4 自适应阈值PCNN分块区域对比
为了更完整地提取血管特征、保留微小血管信息,实验在DRIVE 数据集对比了将图片分为4 个区域和9 个区域的结果。由图10 可以看出,将图像分成的区域太多会使得图像更注重于局部特征,分割结果中出现较多的错误血管点。
图10 标签与4区域、9区域分割结果对比Fig.10 Comparison of label and segmentation results with 4 regions and 9 regions
本文通过计算灵敏度、特异性和准确率等参数进行比较,如表4 所示,4 区域的分割结果的准确率与特异性高于9区域的指标,这也证明分成的区域太多会导致误判,降低准确率。综合考虑,选择将图像分成4 个区域。
表4 4区域、9区域分割结果对比Tab.4 Segmentation results of 4 regions and 9 regions
3.5 改进的U-Net迭代血管增强结果
由于预处理过程中的初级血管增强达不到理想效果,微小血管与背景对比度低,本文为了利于后续自适应阈值PCNN 精准分割血管,使用改进的U-Net 进行迭代式血管增强。将U-Net 初次血管增强的特征灰度图与原图进行融合,再经过CLAHE 处理,输入到U-Net 进行二次血管增强。CLAHE 操作通过改变灰度图像的直方图分布凸显血管,有利于U-Net 网络提取血管特征,得到较好的预测结果。实验结果证明,在3 个数据集上准确率、灵敏度和特异性都有提升,U-Net 迭代式增强方法能有效增强上一阶段得到的特征灰度图像,如表5 所示。
表5 U-Net迭代增强结果对比Tab.5 Comparison of U-Net iterative enhancement results
3.6 自适应阈值PCNN与硬阈值
原始U-Net 在进行分割任务时,通常将得到的特征灰度图像利用硬阈值进行分割,这会导致微小血管信息的丢失,从而降低了血管分割的准确率。针对这一问题,本文充分利用PCNN 软阈值自动捕捉的优势,结合自适应阈值方法,对改进的U-Net 得到的灰度特征图像进行精细分割,在一定程度上提高了眼底血管分割的准确率。自适应阈值PCNN 与硬阈值方法在DRIVE 数据集上的分割结果对比如表6 所示,灵敏度有明显提升。
表6 自适应阈值PCNN与硬阈值分割结果对比Tab.6 Comparison of adaptive threshold PCNN and hard threshold segmentation results
3.7 分割结果及对比分析
为了验证本文方法的性能,在DRIVE、STARE、CHASE_DB1 这3 个数据集上使用灵敏度、特异性、准确率、AUC 作为评价指标。本文方法与目前主流方法相比,虽然在部分指标上不是最佳结果,但在整体性能方面占有极大优势,如表7~9 所示(黑色加粗数据代表最好结果)。本文方法在数据集DRIVE 和STARE 整体评价指标具有较大优势:在DRIVE 数据集上,虽然只有AUC 不是最优的,但与基准方法相比,各指标都有提升,尤其是灵敏度提升了3.75%,说明本文方法能将大部分背景与血管像素正确分类;在STARE 数据集上,虽然灵敏度表现不佳,但是特异性、准确度及AUC 均为最优结果,与基准方法(表中base 所示)相比,AUC 的提升达到了3.59%。在CHASE_DB1 数据集上,本方法表现一般,说明CHASE_DB1 数据集血管分割难度是三者中最大的,但特异性与AUC 仍为最优结果,都在98%以上,与基准方法相比,分别提升2.32%、0.64%。AUC值越高,说明算法分类效果越好,数值在0.85~0.95 代表分类效果很好,从数据结果看算法对于3 个数据集都是效果较好的分类器,在CHASE_DB1 数据集上表现最佳。由以上结果可知本方法的有效性。另外,本文方法在STARE 数据集上整体分割结果要比DRIVE 和CHASE_DB1 好,主要是因为STARE 图像中目标与背景像素点对比度较高,亮度较均匀。
表7 在DRIVE数据集上的性能表现对比Tab.7 Performance comparison of different methods on DRIVE dataset
表8 在STARE数据集上的性能表现对比Tab.8 Performance comparison of different methods on STARE dataset
对从图11~13 分割结果可以看出,健康图像分割准确率较高,病灶图像和对比度不均匀的图片分割结果稍差,出现大量误判。从血管粗细来说,对于较粗血管,本文分割结果与专家手动标签基本一致;对于微小血管,本文方法利用改进的U-Net 二次迭代提取图像灰度特征图像,再结合自适应阈值PCNN 对图像中眼底血管进行分割,得到了较多的微小血管信息。这说明改进U-Net 模型对于微小血管特征的提取能力较强,且自适应阈值PCNN 模型对于微小血管分割表现力较好;但同时也带来了部分微小血管噪声,将非血管的背景像素误分类为微小血管。与DRIVE 和CHASE_DB1 数据集相比,STARE 数据集中粗血管较多,微小血管分支较少,这也是STARE 数据集分割准确率较高的原因。
表9 在CHASE_DB1数据集上的性能表现对比Tab.9 Performance comparison of different methods on CHASE_DB1 dataset
图11 DRIVE数据库分割结果Fig.11 Segmentation results on DRIVE dataset
图12 STARE数据集眼底血管分割结果Fig.12 Segmentation results on STARE dataset
3.8 数据集交叉验证
本文方法继承了U-Net 适用于小样本数据的优点,并结合Dropout 操作,在很大程度上削弱过拟合问题的影响。为了进一步验证本文方法的泛化性能,在DRIVE、STARE 和CHASE_DB1 数据集进行了交叉验证,如表10 所示。结果表明,交叉验证时准确率都有不同程度的下降,在其他数据集与CHASE_DB1 数据集进行交叉验证时,灵敏度指标下降尤其明显,但特异性变化不大,这变化的原因是CHASE_DB1 数据集图片是以视盘为中心选取的眼底图片,与其他两个数据集特征相差较大,而且其质量相对其他两个数据集较差,普遍偏暗;但整体下降幅度在正常变化范围之内,证明本文算法泛化性能较强。
图13 CHASE_DB1数据集眼底血管分割结果Fig.13 Segmentation results on CHASE_DB1 dataset
表10 数据集交叉验证性能Tab.10 Dataset cross validation
4 结语
临床上,眼底血管的准确分割对于计算机辅助诊断眼科疾病有着至关重要的作用,但由于眼底图像亮度不均、病灶、微小血管对比度低等因素的影响,眼底血管分割方法普遍准确率不高。因此,结合改进的U-Net 模型与自适应阈值PCNN,提出一种眼底血管分割方法。该方法先将预处理过的图片输入到改进的U-Net 中进行迭代式血管增强:将UNet 初次血管增强特征图像与原始图像融合,再次输入到改进的U-Net 中得到经过二次增强的特征灰度图像。最后将二次增强的特征灰度图像分为4 个不同的区域,每个区域根据不同的阈值和衰减系数使用自适应阈值PCNN 分割血管,得到视网膜血管二值图像。另外,本文把BN 与Dropout 引入U-Net 模型来提高训练速度、削弱过拟合的影响。实验结果表明,该方法可以分割出更多的微小血管,在一定程度上提高了眼底血管分割的准确率,具有良好的应用前景。该方法将所有血管分块都无差别地输入到U-Net 中进行训练,但这些分块都是原始图像中很小的局部特征,不同的分块之间特征差异较大。后续可将图像块根据标签中血管所占比率进行分类之后再输入到U-Net 中进行训练,以此提高小血管准确率。