基于深度学习的泪河高度检测
2022-04-29王崇阳
王崇阳
关键词:泪河高度;干眼;深度学习;卷积神经网络
1引言
如今,越来越多的人受到干眼症的困扰,相关流行病学调查[1-2]表明,国外30-40岁的人群中,患干眼症的比例超过20%,而70岁以上高龄人群的患病率高达36%。干眼症是一种眼表受到损害且眼部出现不适的疾病,主要病因是泪液分泌不足或泪液蒸发过度。并且干眼症可分为“泪液缺乏型干眼”“蒸发过强型干眼”以及混合型干眼三类[3]。泪河高度是评估患者是否患有干眼症的一个可靠指标,与患者主观感受、泪膜破裂时间、泪液分泌试验等具有良好的相关性。在人眼图像中,由泪液与上下眼睑和结角膜形成的平面高度称为泪河高度,它可以反映泪腺的分泌量。更重要的是,它能够为眼表泪膜的更新提供需要的泪液,且能够调节泪液排除功能障碍引起的泪液过多的问题[4]。因此,为了诊断病人是否患有干眼症,对泪河高度进行准确测量是十分必要的。
常见的泪河高度检测可分为基于泪河图像的纯人工手动测量以及基于数字图像处理技术的泪河高度测量。其中,人工手动测量采用裂隙灯检查法,首先进行荧光染色剂染色,然后利用裂隙灯观察在角结膜表面的光带和下睑睑缘光带的交界处泪液的液平面高度,且该高度可以在某种程度上反映泪液的分泌量。通常而言,高度小于0.35毫米的可以诊断为干眼症[5]。文献[6]使用视频形式将泪河记录下来,然后通过研究人员的手动标记去进行泪河位置的对齐,最终采用离线分析的方式测定泪河高度。此外,DOUCHTY等[7]在实验过程中,从具有停帧功能的视频录像机中提取视频,再通过纯人工找出泪河图像,之后由研究人员手动测量泪河高度。基于泪河图像的纯人工手动测量的方法,存在增加人力和时间成本的问题,影响工作效率,并且测量精度会因检测人员的操作而出现误差。
近年来,随着数字图像处理技術及光学成像技术的发展,医学领域的影像技术应用愈来愈成熟。通过使用数字图像处理技术对泪河图像进行分析,可以降低使用人工带来的附加成本.同时能提高泪河高度检测的准确性和鲁棒性。针对基于数字图像处理技术的泪河高度测量方法,首先需要获取由测量仪器得到的人眼泪河图像,然后利用相关数字图像处理技术对此进行分析,进而得到人眼图像的泪河高度。其中,数字图像处理技术在泪河高度检测过程中,常应用自适应平滑滤波增强图像,提取泪河边缘,最终得到泪河实际高度。文献[8]为了测量泪河高度,先使用灰度相关性配准法对在视频序列中得到的图像参考帧进行图像配准,然后基于色彩空间转换进行泪河图像处理,使用k-means算法和Otsu法得到泪河对应的分割部分,最终估算人眼图像中的泪河高度。尽管基于数字图像处理技术的泪河高度检测方法可以一定程度上降低人工因素的影响,提高检测准确率以及实验结果的鲁棒性。但是,这种方法仍存在易受其他眼睛组织干扰、拍摄角度、光源、眨眼等因素影响的问题。
为了更准确地检测泪河高度,考虑到上文所提方法的缺点和劣势,本文提出一种基于深度学习的泪河高度检测方法。深度学习技术是在机器学习的基础上发展而来的,因其在人工智能领域中取得了巨大的进展和成果而受到越来越多研究人员的关注。随着深度学习技术在图像识别、目标检测[9]、机器翻译等多个领域的成功应用,近年来在医学领域中,深度学习模型也得到了更多的研究与应用[10-12]。HOWARD等[13]提出MobileNetV3版本的卷积神经网络,该网络是MobileNet网络系列的最新之作,主要用于解决深度模型在移动端部署时,因参数量大以及与模型性能精度权衡的问题而提出的轻量化骨干网络。MobileNetV3网络在物体识别、目标检测等领域不仅有着优异的网络性能精度,而且在移动端部署时更能满足实时的要求。DFANet是LI等[14]于2019年提出的,用于实时语义分割的卷积神经网络。DFANet由一个轻量化骨干网络以及子网络和子阶段级联聚合判别特征模块组成,并且在公共数据集上取得了优异的网络性能以及更快的语义分割速度。
本文提出的泪河高度检测方法充分利用了MobileNetV3和DFANet两个深度卷积神经网络的优势和优异的网络性能,并基于深度模型设计了一种新的泪河高度检测方法。该方法通过输入人眼图像自动识别判断图像是否有效,并能够对有效图像自动检测泪河高度。具体而言,基于深度模型的泪河高度自动检测算法包括基于MobileNetV3的睁闭眼识别网络、以MobileNetV3为骨干网络的泪河区域粗定位网络、基于DFANet的泪河区域快速分割网络、泪河边缘修正模块以及泪河高度计算模块。相较于传统数字图像处理方法,这种方法对眨眼、变形、光照、噪声等情况鲁棒性更强,且可代替人工自动检测泪河高度,大大提高了算法的执行效率。本文方法在实验测试中取得了优异效果,并且实验结果显示,无论在时间还是算法方面,各模块的指标性能均优于传统方法。
2方法
本节主要介绍本文提出的基于深度卷积网络的泪河高度检测方法,其中包括由睁闭眼分类识别网络、泪河区域粗定位网络、泪河区域分割网络、泪河边缘修正模块和泪河高度计算模块组成的总体框架及各组成部分的细节描述。
2.1泪河高度检测的总体框架
本文提出的基于深度模型的泪河高度检测方法的总体框架如图1所示。获取到的人眼图像,首先输入到基于MobileNetV3的睁闭眼识别网络,通过分类网络对人眼图像进行筛选,筛选出有效的睁眼图像,从而用于下一步泪河区域粗定位。为了能更加准确分割出泪河区域,对有效人眼图像先用以MobileNetV3为骨干网络的泪河粗定位网络进行回归定位,之后裁剪出泪河区域图像,随后将裁剪图像输入基于DFANet的快速分割网络,得到更加精细的泪河区域分割图。最后,利用泪河边缘修正模块和泪河高度计算模块,对泪河区域分割图进行后处理,并结合原人眼图像检测泪河实际高度。
2.2睁闭眼分类识别网络
由于待检测的人眼图像分为闭眼和睁眼两类,因此在检测泪河高度之前,需有效识别睁眼图像,从而降低不必要的无效操作,提高算法执行效率。考虑到MobileNetV3深度网络的轻量化以及网络性能与速度之间的权衡,本文利用MobileNetV3深度网络来设计睁闭眼分类识别网络。睁眼图像如图2所示,闭眼图像如图3所示。因本文针对睁眼和闭眼进行二分类识别,所以在MobileNetV3网络结构的基础上,将使保持骨干网络不变,修改最后的输出层,即将全连接层的输出结点数设为2。故本部分使用的睁闭眼识别网络,使用具有3通道的人眼彩色图像作为输入图像,通过基于MobileNetV3的深度卷积网络,最终有效识别是否为睁眼图像。
2.3泪河区域粗定位网络
为了更加准确地分割出泪河区域图像,从而便于计算泪河高度,先对有效人眼输入图像进行泪河区域的粗定位,之后进行图像裁剪。得到的泪河区域不仅可以提高分割网络输入图像的有效区域占比,减少分割网络的输入分辨率,也可以使分割网络的样本空间更小,所需训练样本更少,从而使分割网络参数学习更充分高效,达到快速推理的目的。
粗定位网络所实现的功能是通过对泪河区域的左右两端进行回归定位,定位结果如图4所示。之后,通过左右两端位置分别由水平方向以这两端点为起始位置和终止位置,竖直方向以两端点向上扩30个像素,向下扩70个像素为基准,最终裁剪出泪河的粗定位图像。其中,回归定位网络仍然以MobileNetV3为主干网络,将网络最后输出层的输出结点数修改为泪河图像左右两端的位置坐标,最终定位网络可以实现自动对有效人眼图像进行裁剪,裁剪示意图如图5所示。
2.4泪河区域分割网络
相较于传统泪河高度检测方法,本方法基于深度分割网络,输入裁剪后的泪河区域有效占比的更小图像,进行泪河的自动分割。此方法实行逐像素自动分类,可以避免人工识别带来的人为误差,同时使用深度网络充分学习训练样本的属性特征,可以快速而准确地分割出期望的泪河二值图。本文采用用于实时语义分割的DFANet模型搭建所需的泪河区域分割网络,如图6所示。
正如图6所示,将定位网络输出裁剪后的泪河区域图像作为DFANet网络的输入对象,DFANet由单个轻量化骨干网络、用于聚合判别特征的子网络以及子阶段级联构成,最终输出泪河二值化图像。由于DFANet将输入的图像进行多尺度特征传播,因此大幅减少了参数量,同时仍获得了足够的感受野,增强了模型学习能力,并在速度和分割性能之间有更好的平衡。考虑到本文的设计要求,将DFANet网络的输出通道设置为2,最终获得基于背景和泪河的二值化图。其中,“conv”指卷积核大小为3的卷积;“enc”指卷积层块:“FC attention”指获取语义信息和类别信息的注意力模块:“C”指按通达维度进行拼接:“xN”指N倍数的上采样操作。
2.5泪河边缘修正模块
为了能通过泪河分割图准确地计算泪河高度,边缘修正模块将泪河区域分割网络输出的泪河二值化图利用Canny算法提取泪河区域的边缘。对于获取到的泪河上下边缘,在每个位置竖直方向的10个像素范围内寻找梯度最大的位置,并用此位置修正原泪河边缘。修正后的泪河边缘如图7所示。
2.6泪河高度计算模块
本模块用于计算人眼图像中的泪河高度,得到的人眼图像泪河高度如图8所示。泪河边缘经过修正后,可以得到更准确的边缘界限,该模块会计算泪河下边缘的每个位置和径向方向,并寻找此方向与泪河上边缘的交点。如此,泪河高度便定义为下边缘位置点与上边缘交点之间的距离。
2.7损失函数
对于本文所设计的睁闭眼分类识别网络、泪河区域粗定位网络以及泪河区域分割网络,为了优化深度网络中的模型参数,本文引入了二分类交叉熵损失函数用于分类网络和分割网络,又引入了均值平方差函数用于粗定位网络中的回归损失计算。
3实验和分析
为了验证本文提出的基于深度学习的泪河高度检测方法,本节进行对比实验和分析以验证本文方法的优势和有效性。此部分先介绍本文使用的数据集以及相关预处理等操作,之后详细介绍基于深度模型的超参数设置以及运行环境,最后进行实验分析与讨论。
3.1数据集及预处理
为了搜集人眼数据集对本文深度学习模型进行训练,采集机器选用上海美沃精密仪器股份有限公司的裂隙灯显微镜S390,该设备具有宽动态范围、高分辨率、高灵敏度、自动曝光、自动白平衡等特点,能够很好地拍摄高画质图像。搜集到人眼图片总共7470张,其中睁眼图像有5790张,闭眼图像有1680张,分辨率达到2592x1944。
泪河区域粗定位网络使用平移、缩放、灰度拉伸、随机模糊等预处理,而睁闭眼分类识别网络和泪河区域分割网络在预处理的基础上,另外加上旋转操作,构成了实验中使用的数据增强操作。
3.2训练参数设置和评价指标
睁闭眼分类识别网络和泪河区域粗定位网络使用相同的实验设置:将搭建的MobileNetV3模型在IMAGENET数据集上的训练权值作为初始权值,然后做微调训练。数据集按6:2:2比例分成训练集、验证集和测试集,迭代训练60轮,初始学习率0.01,在第20轮、第40轮分别将学习率降低10倍。最终选取训练集和验证集loss值相差最小的训练权值作为训练结果。泪河区域分割网络所使用的实验设置:DFANet在Cityscapes数据集上的训练权值作为初始权值,然后做微调训练。数据集按6:2:2比例分成训练集、验证集和测试集,迭代训练80轮,初始学习率为0.01,在第30轮,第60轮分别将学习率降低10倍。最终选取训练集和验证集loss值相差最小的训练权值作为训练结果。所有实验均运行在单卡GTX2080TI CPU上。
考虑到算法的实效性,实验对睁闭眼分类识别网络、泪河区域粗定位网络和泪河区域分割网络均使用了时间指标。此外,睁闭眼分类网络使用睁眼的精度、召回指标;泪河粗定位网络使用欧式距离指标;泪河分割网络使用交并比即IOU指标。所有评价指标是在测试集上运行统计的。
3.3实验结果和分析
睁眼闭眼分类评价结果如图9所示,横坐标为概率阈值,纵坐标为百分比,一条线是精度曲线,另一条线是召回曲线。最终睁眼闭眼概率阈值选取0.7,睁眼概率大于0.7则判断为睁眼,否则为闭眼。当阈值为0.7时,睁眼类的精度为99.5%,召回为99.1%。通过这两个指标可知,该分类模型能够准确地分辨出是否为睁眼状态。并且该分类器在一般Intel 15处理器上的单张图像运行时间为25ms。
对睁眼图像,泪河区域粗定位网络预测泪河左右两个端点,计算预测点和真值点的平均欧式距离,该值为5.3个像素,说明预测点能够很好地指示泪河左右两个端点,满足实际使用需求。该粗定位模块在一般Intel 15处理器上单张图像运行时间为23ms。
对粗定位裁剪的泪河区域图像,泪河区域分割网络会对图像中泪河区域进行预测。计算得出预测区域和真值区域的IOU为91.6%,说明预测区域和实际位置基本一致,可以满足泪河高度计算要求。该粗定位模块在一般Intel 15处理器上的单张图像运行时间为31ms。
最后,对泪河修正后的泪河边缘,泪河高度计算模块得到边缘上每个点的径向高度,通过比较泪河图像中间位置处的计算高度和人工手动测量高度,平均绝对误差为0.8个像素,该结果和人工测量结果基本一致,说明本文方法的准确性高。所涉及的计算模块在一般Intel 15處理器上单张图像运行时间共为90ms,说明了本文方法时效性较好。
4结束语
本文应用先进的深度学习方法分析计算泪河高度,并将其作为干眼症的重要评价指标之一。通过睁闭眼分类识别网络、泪河区域粗定位网络、泪河区域分割网络、泪河边缘修正模块和泪河高度计算模块等系列的操作,得到的计算结果和人工手动测量结果只相差0.8个像素,并且总运行时间只有90ms,验证了本文方法的准确性和时效性。本文基于深度学习的泪河高度计算方法实现了全自动辅助测量,可替代人工手动标记,提高工作效率。