区域特征融合的高血压视网膜病变分类方法

2022-04-21 05:22浦一雯
计算机工程与应用 2022年8期
关键词:交叉点动静脉病灶

王 伟,浦一雯

1.辽宁工程技术大学 基础教学部,辽宁 葫芦岛 125105

2.辽宁工程技术大学 电子与信息工程学院,辽宁 葫芦岛 125105

高血压是一种长期医学疾病,是其他重大疾病(例如脑卒中、冠心病、肾衰竭等)的主要危险因素[1]。这一疾病影响着全球16%~37%的人口,在2010年,高血压被认为是所有死亡人数的18%,因此对高血压的预防和治疗尤其重要。医学研究[2]认为使用眼科镜对高血压性视网膜病变(hypertensive retinopathy,HR)进行检测是高血压患者评估标准的一部分,通过眼底检测能够及早发现高血压疾病,达到对高血压防治的目的。然而,对HR的检测耗时耗力,因此在早期筛查中开发出一种HR检测系统来改善医疗效果是非常必要的。

HR是高血压引起的视网膜血管损伤,根据2004年提出的HR分级[3]将HR分为三等级:轻度、中度、重度。轻度对应的症状表现为小动脉普遍狭窄、动静脉交叉压迫和小动脉中央光反射变宽和增强;中度在轻度的基础上出现了微动脉瘤、视网膜出血、硬性渗出液和棉絮斑状渗出等症状;重度则出现了视盘水肿症状,具体如图1所示。其中,图1(a)表示轻度HR,下方黑色箭头为动静脉交叉压迫,白色箭头为动脉成铜丝症状;图1(b)表示中度HR,白色箭头为出现棉絮斑点,黑色箭头表示出现严重的动静脉交叉压迫;图1(c)表示重度HR,白色箭头代表出现很多棉絮斑点,黑色箭头代表视网膜出血,黑色矩形框代表出现了视盘水肿。

图1 高血压视网膜病变分级病灶示意图Fig.1 Schematic diagram of grading lesions of hypertensive retinopathy

根据研究表明,HR病灶特征不明显,肉眼难以对病变进行分级,并且中重度HR不常见,病例样本很少。Kiruthika等[4]使用Radon血管跟踪算法获得不同特征向量对动静脉进行分类,进而计算动静脉比率(artery vein ratio,AVR)实现HR检测;Khitran等[5]提出使用新的特征向量和混合分类器算法对动静脉进行分类,计算血管宽度进而得出AVR实现对HR识别与检测;Ahmad等[6]提出使用不同分类器对视网膜血管进行自动分类的方法,计算AVR达到检测HR的目的。以往的研究多是通过计算AVR对HR进行识别与检测,没有依照其他病灶特征,识别依据单一。受Kuan等[7]提出的两阶段肺部结节3D检测算法的启发,将局部特征分类模型和整体分类模型结合应用到HR分类中,经过查阅文献[8]并与临床医生进行交流得出,人眼可见的动静脉交叉压迫(arteriovenous nicking,AVN)这一病灶特征可以表示HR的严重程度,因此选择将AVN分类作为局部特征分类模型。

当静脉受到动脉压迫呈现出梭型时,这一形态称为AVN。AVN不仅与当前的血压有关,而且与过去的血压有关,这表明它是长期高血压疾病的评估指标,因此对AVN的检测和分类是一个值得研究的方向。Roy等[9]利用随机森林分类器对动静脉交叉点附近静脉各个部分的宽度进行分类,以达到AVN严重程度分级的目的;Nguyen等[10]对检测的交叉点附近区域进行动静脉分类,提取出两个静脉段,并计算出两个静脉段宽度来检测AVN;马志扬等[11]采用血管分割、血管细化、特征点识别等算法实现AVN特征自动提取,完成AVN的检测与识别。从以往的研究看,基于机器学习的AVN检测与分类偏多,很少用到深度学习。实际上,深度学习在病灶检测这方面具有一定的优势,王嘉良等[12]通过改进R-FCN[13]结构来对糖尿病眼底图像进行病灶检测;鞠维欣等[14]利用改进的GoogleNet[15]神经网络,结合迁移学习对肝硬化进行识别和检测。通过分析发现,因为AVN病灶特征微小,普通的深度学习目标检测框架(Faster-RCNN[16]等)无法精准识别检测,因此采用交叉点附近区域ROI提取进行分类,可解决病灶特征微小不易识别检测的问题。在提取交叉点方面,利用SeqNet网络[17]对眼底图像进行血管分割和动静脉分类,再将分类好的动静脉进行逻辑与运算来得到视网膜图像中所有交叉点位置。与传统机器学习相比,提高了交叉点识别检测的精度。

本文主要做的工作有:(1)提出了基于区域特征融合的高血压性视网膜病变分类方法,该方法分为两个阶段,通过结合局部AVN分类模型和整体HR分类模型的特征达到增强HR分类的目的。两类模型都进行图像预处理,在AVN分类阶段,通过对HR原始图像进行血管分割、动静脉分类、交叉点监测和感兴趣区域提取等算法从HR图像中提取出局部AVN图像块,再将局部AVN图像块作为一个新的数据集送入改进的SeqNet进行分类;在HR分类阶段是将预处理的眼底图像直接送入神经网络中进行分类,最后将两个模型的特征进行融合,作为神经网络的输入来提高HR分类效果。在私有数据集上评估模型,并与其他方法进行比较,验证本文模型的效果。(2)提出了一个新型的动静脉交叉点检测方法,在SeqNet网络模型的基础上添加逻辑规则将分类出的动静脉进行逻辑与运算,即可求出动静脉交叉点的位置,在私有数据集上评估该算法,并与现有的研究进行比较,验证本文方法效果较好。

1 区域特征融合模型

本文框架分为2个独立神经网络,分别为:AVN分类模型、HR分类模型。具体框架图如图2所示。

图2 模型框架图Fig.2 Model frame diagram

将输入的眼底图像经过图像预处理之后分别送入两个模型进行分类。AVN分类的过程是首先利用SeqNet网络对眼底图像进行血管分割和动静脉分类,其次对血管进行分割和动静脉分类,然后添加逻辑与运算找出动脉和静脉交叉点并对交叉点附近区域进行ROI感兴趣区域提取,最后将提取出来的图像块送入改进的ResNet50[18]神经网络进行AVN分类;HR分类的过程是直接将图像送入VGG19[19]神经网络进行分类,最后通过平均两个模型的输出进行融合,进而实现HR分类。

1.1 AVN分类模型

AVN分类模型作为本文两阶段模型的其中一个模块,包含6个部分,即输入图像的预处理、血管分割、动静脉分类、动静脉交叉点检测、ROI提取、最后将提出来的图像块送入卷积神经网络模型进行分类。

1.1.1图像预处理

进行图像预处理可以改善图像的对比度,增强感兴趣信息的强度,在图像识别、检测、分割中起重要作用。本实验所用的数据集是本地医院提供的眼底图像数据。图像预处理包含去除黑色边框、调整图片分辨率、数据归一化和数据扩增4个部分。去除黑色边框首先遍历图像像素,找到至少具有一个像素大于设置黑色区域阈值,再通过广播索引提取有效边框,见图3(a)。为了后续网络需求,选择把图片分辨率调整为576×576。数据归一化采用减去局部均值[20]的方法,计算步骤如公式(1)所示:

其中,α=4,β=-4,γ=128,Iout为输出图像,Iin为输入图像,IGaussian为输入图像经过高斯滤波处理后得到的图像,归一化效果如图3(b)所示。由于数据量不足,对训练效果有很大影响,因此采用旋转、镜像、缩放等方法对已有数据集进行数据扩增。

图3 HR眼底图像预处理效果图Fig.3 HR fundus image preprocessing renderings

1.1.2血管分割和动静脉分类

视网膜血管提取和动静脉分类在检测各种疾病有重大作用。血管分割和动静脉分类是AVN检测的重要步骤,对于血管分割,梅旭璋等[21]提出了基于密集注意力网络的血管分割模型,将注意力机制与密集连接网络相结合以充分提取特征,提高视网膜血管的分割精度;对于动静脉分类,以往的研究通过Radon血管跟踪算法对动静脉进行分类。然而,先前的工作都是将以上两类任务分开研究,没有一个整体模型。本文采用Li等提出的SeqNet模型,能够同时进行血管分割和动静脉分类,该模型已在文献[17]中进行详细描述,本节简要介绍该模型的算法原理。

SeqNet主要由两个部分组成,第一部分采用Iter-Net[22]完成血管分割。IterNet由小型U-net[23]多次迭代组成,其深度比普通U-net大4倍,可仅从少量的标签进行学习且无需预训练和任何先验知识,血管分割效果图如图4(a)所示。第二部分采用另一个尺寸的U-net完成动静脉分类,并将输入图像中的背景像素进行遮罩,见公式(2)如下:

其中,xout为遮罩后的图像,xin为视网膜原图像,v为细化后的血管图像。将视网膜原图与细化后的血管图像进行逐元素相乘,这样能够降低输入图像的复杂性,从而可使分类网络完全集中于发现血管的颜色、形状、厚度等方面的差异,动静脉分类效果图如图4(b)所示,具体网络结构如图5所示。本文利用DRIVE[24]、LES_AV[25]、HRF[26]数据集训练SeqNet网络,并将训练好的模型应用到HR数据集进行血管分割和动静脉分类。

图4 血管分割和动静脉分类效果图Fig.4 Effect picture of blood vessel segmentation and arteriovenous classification

图5 SeqNet模型网络结构图Fig.5 SeqNet model network structure diagram

1.1.3动静脉交叉点检测

血管结构主要是由分叉和交叉两个部分组成。分叉是一个血管分裂成两个血管,分叉点即为血管分裂的位置,而交叉是两个血管(动脉和静脉)相互交叉,交叉点即为血管交叉的位置,如图6所示。

图6 眼底图像血管交叉点分叉点示意图Fig.6 Schematic diagram of blood vessel intersection and bi-furcation point in fundus image

已知AVN出现在动静脉交叉的位置上,因此首先需要检测视网膜眼底图像内的所有交叉点。本文在SeqNet网络结构的基础上添加逻辑规则,将分类后的动静脉进行逻辑与运算,具体网络模型如图7所示。

图7 改进的SeqNet交叉点检测网络结构图Fig.7 Improved SeqNet intersection detection network structure diagram

由图7可知,SeqNet将动静脉分类后各输出动脉和静脉的分类向量。由于已知的先验知识,动脉和静脉交叉部分即为动静脉交叉点,因此,本文制定了一个逻辑规则与运算,将输出的动脉和静脉的向量进行逻辑与运算,最后得到一个向量,将此向量映射回图中即为动静脉交叉的位置。具体计算方式如公式(3)所示:

其中,A代表分类后动脉的向量,B代表分类后静脉的向量,∧代表逻辑与运算,C代表动脉和静脉进行与运算之后得到的向量。

1.1.4ROI提取

通过分析医院数据集,发现AVN病灶大小普遍分布于30~40像素之间,传统的目标检测算法无法精准检测与分类,因此采用滑窗法对已经检测到交叉点的图像进行分块,图像块大小设置为224×224像素,并对图像块进行筛选,确保每个图像块都具有一个交叉点。

1.1.5基于改进的ResNet50的AVN分类

提取了124张具有AVN的图像块,并由专业的医生对这些图像块标注分级标签,之后把预处理好的图像块送入改进的ResNet50网络中进行分类,网络结构图如图8所示。

由图8可以看出,将ResNet50网络中的Flatten层换为GlobalAveragePooling2D层,这种改进能够减少参数的使用量,避免过拟合。添加L2正则化,其具体公式如公式(4)所示:

图8 改进ResNet50网络结构图Fig.8 Improved ResNet50 network structure diagram

其中,L(θ)为损失函数,λ为正则化系数,设为0.001,θ为权重参数。添加L2正则化的目的就是约束参数的范数从而达到减少过拟合的效果。添加BatchNorm层的目的是提高模型收敛速度,弱化过拟合。本文模型优化器为SGD优化器,学习率为0.001,损失函数为binary_crossentropy交叉熵损失函数,分类器为sigmoid。

1.2 HR分类模型

HR分类模型作为本文两阶段模型中另外一个模型,将输入的眼底图像经过1.1.1节提出的算法进行图像预处理,并将预处理的图像直接送入VGG19网络进行分类。优化器设置为SGD优化器,学习率为0.001,损失函数为binary_crossentropy交叉熵损失函数,分类器为sigmoid。

1.3 模型融合

将HR分类模型的总体病灶特征与AVN分类模型的局部病灶特征进行特征平均加和。将局部AVN分类模型的输出进行加权平均操作后与整体HR分类模型的输出进行加和,最终得到的结果作为一个简单神经网络的输入。该神经网络由两个全连接层和Dropout层组成,最后由sigmoid分类器输出眼底图像存在HR的概率值。

2 实验结果分析

本文的实验环境为以Tensorflow为后端的Keras开源框架,对应版本为Tensorflow1.15.0和Keras2.3.1。GPU版本为GeForce GTX 1080 Ti。操作系统为Ubuntu16.04。

2.1 数据集

本实验所用的数据集是本地医院提供的眼底图像数据集,包括HR眼底图像和正常眼底图像各48张,分辨率为2 592×1 728,代表图像如图9所示。

图9 数据集代表图像显示Fig.9 Data set representative image display

其中轻度高血压和中度高血压数据较少,重度高血压眼底数据较多,分析原因是由于早期高血压症状不明显,体检的患者很少进行眼底筛查。通过统计发现该数据集年龄大量分布在50~70岁之间,男性患者居多。

两类模型分别采用不同的数据集,HR分类模型所采用的数据集为经过数据扩增之后的HR眼底图像1 276张,其中训练集1 012张,测试集264张,并由眼科医生对HR眼底图像进行标注,标注为存在HR眼底和正常眼底;AVN分类模型所采用的数据集是由HR分类模型数据集经过1.1.4节的ROI提取之后的区域图像集,总共124张,经过数据扩增之后图像块为1 364张,其中训练集1 090张,测试集为274张。由眼科医生对数据集进行标注,标注为0和3,分别代表无AVN、存在AVN(包括轻度AVN、中度AVN、重度AVN)。AVN分类示意图如图10所示。

图10 AVN分类示意图Fig.10 AVN classification diagram

2.2 模型性能分析

本文采用准确率(accuracy,ACC)、敏感性(sensitivity,SENS)、特异性(specificity,SPEC)三个评价指标评估本文提出方法的性能。ACC为检测病灶分类正确的识别率;SENS又称真阳性率,即实际具有病灶特征且被诊断为有病的概率,是衡量本文正确判断眼底图像病变的标准;SPEC又称真阴性率,即实际未患病且被诊断为无病的概率,具体如公式(5)~(7)所示:

其中,TP表示本文方法正确识别出实际具有病灶特征的眼底图像,FP表示本文将实际为正常眼底图像识别为病变图像,FN表示本文将实际是病变眼底图像错误识别为正常眼底图像,TN表示本文正确识别出实际为正常眼底图像。

为了说明改进的ResNet50网络基于本文数据集的分类性能,将原始的ResNet50与改进后的模型进行对比,所采用的数据集为AVN数据集,评价指标选用训练集准确率(train_acc)和测试集准确率(test_acc),如表1所示。

表1 本文模型与原始ResNet分类性能对比Table 1 Comparison of classification performance between model in this article and original ResNet %

从表1可以看出,原始ResNet网络训练集准确率很高,但是测试集准确率不高。通过分析数据与模型得知,这是因为本文数据集小且有噪声,训练模型容易出现过拟合。因此本文对原始网络进行了改进,将原始的Flatten层改为GlobalAveragePooling2D层,并增加了一个密集连接层,同时添加L2正则化和BatchNorm来减弱过拟合。实验结果对比发现改进模型在本文数据集的分类效果较好。

为了探究所选区域的大小对本文AVN分类模型的影响,将选取多个区域进行AVN分类,如表2所示。

表2 不同区域大小的AVN分类性能对比Table 2 Comparison of AVN classification performance of different area sizes

由表2可知,当ROI大小选取为224×224时,模型准确率、敏感性和特异性结果是最高的。由表可知,当区域大小为576×576时每张图存在多个交叉点时,网络分类性能不好,分析原因是因为当图像特征被缩小了之后,交叉点的特征变得微小不易识别,使得神经网络无法准确分辨出该眼底图像是否具有AVN;而区域大小为50×50时,网络分类性能也不是很好,分析原因在于当图像特征放大了一定程度后,血管特征可能存在失真模糊的情况,神经网络依旧无法准确识别。因此可以得出结论,选取不同区域大小的图像块对AVN分类有一定影响,经实验证明,区域大小选择224×224时,模型效果最好。

为了说明本文提出的AVN分类方法的性能,将本文方法与近年来代表性AVN分类方法进行对比,实验结果如表3所示。

表3 本文方法与其他AVN分类方法性能对比Table 3 Performance comparison of this method with other AVN classification methods %

从表3数据中可以看出本文提出的方法在准确率和敏感性方面比其他方法有一定的提升,特异性略低于其他方法。在医学领域中,高敏感性代表漏诊率低,高特异性代表误诊率低,由于AVN的分级代表HR的严重程度,因此具有高特异性和高敏感性代表模型能够有效识别出该眼底图像是否具有AVN病灶特征,进而推断出该病人的HR严重程度。根据以上分析说明本文方法较其他方法相比具有很大优势。

为了验证本文提出的两阶段HR分类模型的性能,将本文方法与单阶段基于VGG19的HR眼底图像分类方法和基于ResNet50的AVN分类方法进行对比。实验对比结果如表4所示。

表4 本文方法与普通HR分类对比Table 4 Comparison of method in this paper with ordinary HR classification %

从表4数据可知,将预处理好的HR图像直接送入神经网络中可以得到75.01%的准确率,说明神经网络能够识别出HR病灶特征,但是分类效果不够好。单独的AVN分类算法显示准确率为84.02%,说明该网络对局部特征敏感。本文提出的将整体特征与局部特征进行融合的方法达到了准确率93.50%、敏感性69.83%、特异性98.33%的效果。说明模型融合算法能够增强病灶特征,提高HR的分类性能。本文方法在准确率、敏感性和特异性优于单阶段模型HR眼底图像分类,说明添加AVN分类模型进行特征融合可以有效增加整体HR分类效果,为了更直观地体现出本文模型的效果,将随机采取6张眼底图像对模型进行测试,可视化如图11所示。

由图11可知,随机抽取的6张眼底图像经由专业人员认证,本文模型对这个6张图像全部分类正确,分类结果为2张HR眼底图像和4张正常眼底图像。由此可以证明本文模型不单单只能识别出本地医院的高血压数据集,还能够识别出其他的眼底图像是否具有HR,说明模型具有一定的泛化性和健壮性。

图11 HR分类可视化Fig.11 HR classification visualization

3 结束语

本文提出了区域特征融合的HR分类模型,该模型分为两个部分,分别为HR分类模型和AVN分类模型。针对这两类模型,都对HR眼底图像进行去除黑色边框、减局部均值和数据扩增等预处理得到预处理图像。HR分类模型是将预处理好的眼底图像直接送入VGG19网络进行分类;AVN分类模型是将图像送入SeqNet网络进行血管分割和动静脉分类,利用交叉点检测方法检测出图像内的所有动静脉交叉点,提取交叉点附近区域的图像块,将提取出来的图像块送入改进的ResNet50网络中进行分类。最后将二者的特征加权平均作为一个整体送入一个简单的神经网络进行分类。本文在每一步流程中都支持可视化,确保模型效果的直观性。将该模型在准确率、敏感性和特异性三个指标方面进行了评估,并与其他方法进行对比,实验结果证明区域特征融合的分类可以提供更好的效果。下一步将利用高级的模型融合算法对两类模型进行融合,提升模型的分类效果。

猜你喜欢
交叉点动静脉病灶
动静脉联合溶栓及机械取栓治疗急性脑梗死临床观察
数字化断层融合(DBT)与全视野数字X线摄影(FFDM)引导乳腺病灶定位对比
分析精准化干预在动静脉内瘘皮下血肿中的应用效果
Optimal UAV deployment in downlink non-orthogonal multiple access system: a two-user case
Diagnostic accuracy and clinical utility of non-English versions of Edinburgh Post-Natal Depression Scale for screening post-natal depression in lndia:A meta-analysis
巧移硬币
能谱CT 成像对非小细胞肺癌患者淋巴结转移的诊断价值分析
脑脓肿并肺动静脉瘘2例及文献复习
围棋棋盘的交叉点
CEUS与平面波超敏感血流显像分析甲状腺乳头状癌