眼底图像识别方法及装置和设备转让专利

申请号 : CN202011173393.8

文献号 : CN112001920B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 代黎明姜泓羊杨战波张冬冬

申请人 : 北京至真互联网技术有限公司

摘要 :

本申请涉及一种眼底图像识别方法及装置和设备,包括:获取采集到的眼底图像,并对采集到的眼底图像进行预处理;将预处理后的眼底图像输入至训练好的视盘预测模型,由视盘预测模型对眼底图像进行视盘预测,得到相应的视盘预测图;其中,视盘预测图中标注有一个或多个定位出的视盘候选区域;获取视盘预测图并进行椭圆拟合,得到视盘候选区域的椭圆拟合参数,并基于视盘候选区域的个数以及椭圆拟合参数,确定眼底图像中的视盘区域。其通过视盘预测模块由眼底图像中先定位出可能的多个视盘候选区域,然后再由多个视盘候选区域中进行最终的视盘区域的确定,不仅实现了对各种情况的眼底图像的视盘区域的识别和定位,还有效提高了视盘区域定位的准确性。

权利要求 :

1.一种眼底图像识别方法,其特征在于,包括:

获取采集到的眼底图像,并对采集到的所述眼底图像进行预处理;

将预处理后的所述眼底图像输入至训练好的视盘预测模型,由所述视盘预测模型对所述眼底图像进行视盘预测,得到相应的视盘预测图;其中,所述视盘预测图中标注有一个或多个定位出的视盘候选区域;

获取所述视盘预测图并进行椭圆拟合,得到所述视盘预测图中视盘候选区域的椭圆拟合参数,并基于所述视盘候选区域的个数以及所述椭圆拟合参数,确定所述眼底图像中的视盘区域;

其中,还包括视杯识别的步骤;

获取以视盘中心为图像中心的视盘局部图像,将所述视盘局部图像输入至训练好的视杯检测模型,由所述视杯检测模型对所述视盘局部图像进行视杯预测,得到视杯候选区域;

对所述视杯候选区域进行椭圆拟合,根据拟合结果确定所述视杯候选区域的边界与所述视盘区域的关系;

在确定出所述视杯候选区域的边界超过所述视盘区域时,对所述视杯候选区域进行调整,直至调整后的所述视杯候选区域处于所述视盘区域内后确定视杯位置;

基于所述视盘候选区域的个数以及所述椭圆拟合参数,确定所述眼底图像中的视盘区域,包括:在所述视盘候选区域为两个以上时,根据各所述视盘候选区域对应的椭圆拟合参数,由所述视盘预测图中截取相应的椭圆区域;

对各所述椭圆区域进行边缘检测,得到各所述视盘候选区域的血管像素图;

计算各所述血管像素图中的血管像素数,并根据各所述血管像素数确定最终的视盘区域。

2.根据权利要求1所述的方法,其特征在于,根据各所述血管像素数确定最终的视盘区域,包括:由所述血管像素数中选取数值最大的视盘候选区域作为所述视盘区域。

3.根据权利要求1所述的方法,其特征在于,对各所述椭圆区域进行边缘检测时,采用基于Canny算子的多级边缘检测算法进行检测。

4.根据权利要求1所述的方法,其特征在于,获取所述视盘预测图并进行椭圆拟合,包括:对所述视盘预测图进行二值化处理,将所述视盘预测图转换为二值化图,对二值化图中的视盘候选区域进行椭圆拟合,得到相应的椭圆拟合参数。

5.根据权利要求1所述的方法,其特征在于,对所述视杯候选区域进行调整时,通过将所述视盘局部图像作为掩码,采用掩码大津阈值法对所述视杯候选区域进行调整。

6.根据权利要求5所述的方法,其特征在于,在对所述视杯候选区域进行调整时,还包括:判断当前次调整是否为首次调整;

在当前次调整为首次调整时,对所述视杯候选区域进行扩大处理后作为待调整的视杯候选区域;

在当前次调整不是首次调整时,缩小所述视杯候选区域后作为待调整的视杯候选区域。

7.一种眼底图像识别装置,其特征在于,包括图像预处理模块、视盘定位模块、椭圆拟合模块和视盘区域确定模块;

所述图像预处理模块,被配置为获取采集到的眼底图像,并对采集到的所述眼底图像进行预处理;

所述视盘定位模块,被配置为将预处理后的所述眼底图像输入至训练好的视盘预测模型,由所述视盘预测模型对所述眼底图像进行视盘预测,得到相应的视盘预测图;其中,所述视盘预测图中标注有一个或多个定位出的视盘候选区域;

所述椭圆拟合模块,被配置为获取所述视盘预测图并进行椭圆拟合,得到所述视盘预测图中视盘候选区域的椭圆拟合参数;

所述视盘区域确定模块,被配置为基于所述视盘候选区域的个数以及所述椭圆拟合参数,确定所述眼底图像中的视盘区域;

还包括:视杯定位选取单元;

其中,所述视杯定位选取单元,被配置为获取以视盘中心为图像中心的视盘局部图像,将所述视盘局部图像输入至训练好的视杯检测模型,由所述视杯检测模型对所述视盘局部图像进行视杯预测,得到视杯候选区域;

所述视杯定位选取单元,还被配置为对所述视杯候选区域进行椭圆拟合,根据拟合结果确定所述视杯候选区域的边界与所述视盘区域的关系;在确定出所述视杯候选区域的边界超过所述视盘区域时,对所述视杯候选区域进行调整,直至调整后的所述视杯候选区域处于所述视盘区域内后确定视杯位置;

所述视盘区域确定模块,被配置为基于所述视盘候选区域的个数以及所述椭圆拟合参数,确定所述眼底图像中的视盘区域时,包括:在所述视盘候选区域为两个以上时,根据各所述视盘候选区域对应的椭圆拟合参数,由所述视盘预测图中截取相应的椭圆区域;

对各所述椭圆区域进行边缘检测,得到各所述视盘候选区域的血管像素图;

计算各所述血管像素图中的血管像素数,并根据各所述血管像素数确定最终的视盘区域。

8.一种眼底图像视盘识别设备,其特征在于,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为执行所述可执行指令时实现权利要求1至6中任意一项所述的方法。

说明书 :

眼底图像识别方法及装置和设备

技术领域

[0001] 本申请涉及图像处理技术领域,尤其涉及一种眼底图像识别方法及装置和设备。

背景技术

[0002] 近年来,随着机器学习,尤其是深度学习等技术的不断发展,以及医学成像采集设备的不断完善,越来越多的研究人员投入到人工智能医学领域中,这使得医学图像处理取得了长足的进步。其中,基于深度学习的视盘和视杯定位算法,通过收集足够多的训练数据,以训练深度学习模型来自动学习视盘区的特征。但是,由于深度学习是数据驱动的,而当前公开的数据集都是台式图像,视盘区比较明显。当实际所拍摄出来的眼底图像由于拍摄设备和拍摄手法的影响导致出现漏光、彩虹斑、镜头污点等异常情况时,基于深度学习进行视盘和视杯的识别时,就会经常出现多个视盘和视杯候选区域,从而影响视盘检测结果的准确性。

发明内容

[0003] 有鉴于此,本申请提出了一种眼底图像识别方法,可以有效提高视盘检测结果的准确性。
[0004] 根据本申请的一方面,提供了一种眼底图像识别方法,包括:
[0005] 获取采集到的眼底图像,并对采集到的所述眼底图像进行预处理;
[0006] 将预处理后的所述眼底图像输入至训练好的视盘预测模型,由所述视盘预测模型对所述眼底图像进行视盘预测,得到相应的视盘预测图;其中,所述视盘预测图中标注有一个或多个定位出的视盘候选区域;
[0007] 获取所述视盘预测图并进行椭圆拟合,得到所述视盘预测图中视盘候选区域的椭圆拟合参数,并基于所述视盘候选区域的个数以及所述椭圆拟合参数,确定所述眼底图像中的视盘区域。
[0008] 在一种可能的实现方式中,基于所述视盘候选区域的个数以及所述椭圆拟合参数,确定所述眼底图像中的视盘区域,包括:
[0009] 在所述视盘候选区域为两个以上时,根据各所述视盘候选区域对应的椭圆拟合参数,由所述视盘预测图中截取相应的椭圆区域;
[0010] 对各所述椭圆区域进行边缘检测,得到各所述视盘候选区域的血管像素图;
[0011] 计算各所述血管像素图中的血管像素数,并根据各所述血管像素数确定最终的视盘区域。
[0012] 在一种可能的实现方式中,根据各所述血管像素数确定最终的视盘区域,包括:
[0013] 由所述血管像素数中选取数值最大的视盘候选区域作为所述视盘区域。
[0014] 在一种可能的实现方式中,对各所述椭圆区域进行边缘检测时,采用基于Canny算子的多级边缘检测算法进行检测。
[0015] 在一种可能的实现方式中,获取所述视盘预测图并进行椭圆拟合,包括:
[0016] 对所述视盘预测图进行二值化处理,将所述视盘预测图转换为二值化图,[0017] 对二值化图中的视盘候选区域进行椭圆拟合,得到相应的椭圆拟合参数。
[0018] 在一种可能的实现方式中,还包括视杯识别的步骤;
[0019] 获取以视盘中心为图像中心的视盘局部图像,将所述视盘局部图像输入至训练好的视杯检测模型,由所述视杯检测模型对所述视盘局部图像进行视杯预测,得到视杯候选区域;
[0020] 对所述视杯候选区域进行椭圆拟合,根据拟合结果确定所述视杯候选区域的边界与所述视盘区域的关系;
[0021] 在确定出所述视杯候选区域的边界超过所述视盘区域时,对所述视杯候选区域进行调整,直至调整后的所述视杯候选区域处于所述视盘区域内后确定视杯位置。
[0022] 在一种可能的实现方式中,对所述视杯候选区域进行调整时,通过将所述视盘局部图像作为掩码,采用掩码大津阈值法对所述视杯候选区域进行调整。
[0023] 在一种可能的实现方式中,在对所述视杯候选区域进行调整时,还包括:
[0024] 判断当前次调整是否为首次调整;
[0025] 在当前次调整为首次调整时,对所述视杯候选区域进行扩大处理后作为待调整的视杯候选区域;
[0026] 在当前次调整不是首次调整时,缩小所述视杯候选区域后作为待调整的视杯候选区域。
[0027] 根据本申请的另一方面,还提供了一种眼底图像识别装置,包括图像预处理模块、视盘定位模块、椭圆拟合模块和视盘区域确定模块;
[0028] 所述图像预处理模块,被配置为获取采集到的眼底图像,并对采集到的所述眼底图像进行预处理;
[0029] 所述视盘定位模块,被配置为将预处理后的所述眼底图像输入至训练好的视盘预测模型,由所述视盘预测模型对所述眼底图像进行视盘预测,得到相应的视盘预测图;其中,所述视盘预测图中标注有一个或多个定位出的视盘候选区域;
[0030] 所述椭圆拟合模块,被配置为获取所述视盘预测图并进行椭圆拟合,得到所述视盘预测图中视盘候选区域的椭圆拟合参数;
[0031] 所述视盘区域确定模块,被配置为基于所述视盘候选区域的个数以及所述椭圆拟合参数,确定所述眼底图像中的视盘区域。
[0032] 根据本申请的另一方面,还提供了一种眼底图像视盘识别设备,包括:
[0033] 处理器;
[0034] 用于存储处理器可执行指令的存储器;
[0035] 其中,所述处理器被配置为执行所述可执行指令时实现前面任一所述的方法。
[0036] 本申请实施例的眼底图像识别方法,通过采用训练好的视盘预测模型对眼底图像进行视盘定位,在眼底图像中先定位出视盘候选区域,然后再通过对定位出视盘候选区域进行椭圆拟合后,根据视盘候选区域的个数以及椭圆拟合参数,确定最终的视盘区域,从而对于采集到的成像质量不是很高的眼底图像(即,出现漏光、彩虹斑和镜头污点等情况的眼底图像),仍能够通过视盘预测模块由眼底图像中先定位出可能出现的多个视盘候选区域,然后再由多个视盘候选区域中进行最终的视盘区域的选取确定,不仅实现了对各种情况的眼底图像的视盘区域的识别和定位,同时还有效提高了视盘区域定位的准确性。
[0037] 根据下面参考附图对示例性实施例的详细说明,本申请的其它特征及方面将变得清楚。

附图说明

[0038] 包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本申请的示例性实施例、特征和方面,并且用于解释本申请的原理。
[0039] 图1示出本申请一实施例的眼底图像识别方法的流程图;
[0040] 图2示出本申请另一实施例的眼底图像识别方法的流程图;
[0041] 图3示出本申请一实施例的眼底图像识别方法中识别出多个视盘候选区域后,由多个视盘候选区域中确定最终的视盘区域的流程图;
[0042] 图4示出本申请一实施例的眼底图像识别方法中对采集到的眼底图像进行预处理后得到的眼底灰度图;
[0043] 图5示出本申请一实施例的眼底图像识别方法中所获得的视盘预测图的眼底图;
[0044] 图6示出本申请一实施例的眼底图像识别方法中所识别出的视盘候选区域图;
[0045] 图7示出本申请一实施例的眼底图像识别方法中所识别出的另一视盘候选区域图;
[0046] 图8示出本申请一实施例的眼底图像识别方法中进行视杯识别的流程图;
[0047] 图9示出本申请一实施例的眼底图像识别方法中在进行视杯识别的过程中对视杯候选区域进行调整的流程图;
[0048] 图10示出本申请一实施例的眼底图像识别装置的结构框图;
[0049] 图11示出本申请一实施例的眼底图像视盘识别设备的结构框图。

具体实施方式

[0050] 以下将参考附图详细说明本申请的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
[0051] 在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
[0052] 另外,为了更好的说明本申请,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本申请同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本申请的主旨。
[0053] 图1示出根据本申请一实施例的眼底图像识别方法的流程图。如图1所示,该方法包括:步骤S100,获取采集到的眼底图像,并对采集到的眼底图像进行预处理。此处,需要指出的是,眼底图像的采集可以采用台式眼底相机或手持眼底相机等各种设备,也可以采用其他方式,此处不对眼底图像的采集方式进行限定。同时,对采集到的眼底图像进行的预处理方式可以包括裁剪、灰度转换、限制对比度自适应直方图均衡、γ校正和归一化处理中的至少一种。
[0054] 步骤S200,将预处理后的眼底图像输入至训练好的视盘预测模型,由视盘预测模型对眼底图像进行视盘预测,得到相应的视盘预测图。其中,需要指出的是,采用训练好的视盘预测模型对眼底图像进行视盘预测定位时,由于拍摄设备和拍摄手法的影响,眼底图像的成像质量并不是很高,很有可能出现漏光、彩虹斑、镜头污点等情况。因此,在本申请实施例的眼底图像识别方法中,采用训练好的视盘预测模型对眼底图像中的视盘进行识别定位时,对于成像质量不是非常标准的眼底图像会识别出多个视盘候选区域,所识别出的每一个视盘候选区域均会标注在视盘预测图中。
[0055] 进而再通过步骤S300,获取视盘预测图并对视盘预测图中的各视盘候选区域进行椭圆拟合,得到视盘预测图中各视盘候选区域的椭圆拟合参数,并基于视盘候选区域的个数以及椭圆拟合参数,确定眼底图像中的视盘区域。
[0056] 由此,本申请实施例的眼底图像识别方法,通过采用训练好的视盘预测模型对眼底图像进行视盘定位,在眼底图像中先定位出视盘候选区域,然后再通过对定位出视盘候选区域的图像(即,视盘预测图)进行椭圆拟合后,根据视盘候选区域的个数以及椭圆拟合参数,确定最终的视盘区域,从而对于采集到的成像质量不是很高的眼底图像(即,出现漏光、彩虹斑和镜头污点等情况的眼底图像),仍能够通过视盘预测模块由眼底图像中先预测出可能的多个视盘候选区域,然后再通过图像后处理的方式由多个视盘候选区域中进行最终的视盘区域的选取确定,不仅实现了对各种情况的眼底图像的视盘区域的识别和定位,同时还有效提高了视盘区域定位的准确性。
[0057] 根据前面所述,在本申请实施例的眼底图像识别方法中,对眼底图像进行视盘候选区域的预测定位时,采用的是训练好的视盘预测模型。因此,在执行本申请实施例的方法时,需要先构建视盘预测模型,并对所构建的视盘预测模型进行训练。
[0058] 其中,在一种可能的实现方式中,视盘预测模型可以采用深度学习模型BCDU-Net(Bi-directional ConvLSTM U-Net with Densely connected convolutions,改进的U-Net)。U-Net是一种常用于医疗图像语义分割的神经网络模型,其包含4次上采样和4次下采样过程。BCDU-Net则是在基础的U-Net上添加了双向卷积长短时记忆网络和稠密连接卷积网络,使得模型的分割效果更优。
[0059] 确定好视盘预测模型的网络模型后,即可对视盘预测模型进行模型训练。即,通过设置相应的模型训练模块,由模型训练模块对视盘预测模型进行训练学习。其中,在进行模型训练时,需要采集大量的眼底图像以及相应的标注的视盘分割效果图像作为样本,分别构建训练集和测试集。其中,测试集也作为每轮模型训练结束后的验证集,用于选取保存最佳模型。
[0060] 同时,在采用上述训练集中的眼底图像进行视盘预测模型的训练之前,还需要对眼底图像进行预处理操作。在一种可能的实现方式中,对眼底图图像的预处理操作依次包括:读取完整图像(即,采集到的彩色眼底图像);裁剪黑边,保留眼底区域部分;提取图像的蓝色通道作为灰度图;限制对比度自适应直方图均衡伽玛校正(Gamma Correction)和归一化处理。
[0061] 通过对各样本进行上述预处理操作后,即可输入至视盘预测模型中,对视盘预测模块进行训练。需要指出的是,在本申请中,进行模型训练时,不同于常用的交叉熵,而是使用了DiceLoss作为模型的损失函数,其计算公式如下:
[0062] ;
[0063]
[0064] 其中,A和B分别表示模型的视盘预测图和标注的视盘分割效果图, 表示图像A的以像素计算的面积, 表示A和B的相交部分的图像。
[0065] 对视盘预测模型训练并验证完成之后,即将视盘预测模型训练收敛至最优之后,就可以进行眼底图像的视盘识别。其中,参阅图2,在采集到当前需要识别的眼底图像之后,将所采集到的眼底图像进行预处理。此处,需要指出的是,对眼底图像进行预处理的操作可以采用进行模型训练时相同的预处理操作。
[0066] 对眼底图像进行预处理之后,输入至视盘预测模型进行视盘识别之前,参阅图2,还可以包括步骤S002,对当前采集到的眼底图像进行质量评估。
[0067] 具体的,对眼底图像进行质量评估时可以采用一个二分类的深度学习模型来实现。即,采用二分类的深度学习模型对预处理后的眼底图像进行质量评估,判断该眼底图像是否合格。如果为合格,则表明该眼底图像的视盘区可见,可以进行视盘区域的识别。如果不合格,则表明该眼底图像无视盘区,或者是视盘区模糊不可见,因此此时则通过步骤S200’,输出原图,不对其进行视盘区域的识别。
[0068] 此处,本领域技术人员可以理解的是,对眼底图像的质量评估主要指的是确定眼底图像中的视盘是否可见,不需要对眼底图像的成像质量(即,有无漏光、彩虹斑和镜头污点等情况)进行确定。
[0069] 本申请实施例的眼底图像识别方法,通过将预处理后的眼底图像输入至视盘预测模型进行视盘预测定位之前,先对眼底图像的质量进行评估,以确保在眼底图像中存在视盘的前提下再进行视盘区域的识别定位,从而避免了对视盘模糊或不存在的眼底图像的识别,这也就防止了不必要的运算。
[0070] 进一步的,在评估出眼底图像的质量是合格的(即,眼底图像中的视盘是可见的),即可将预处理后的眼底图像输入至视盘预测模块进行视盘区域的初步识别和定位。其中,在本申请实施例的方法中,采用视盘预测模型对眼底图像进行视盘识别定位时,得到的视盘预测图中,标注有所有可能的视盘候选区域。
[0071] 也就是说,采用上述视盘预测模型对眼底图像进行视盘的定位识别时,对于可能存在漏光、彩虹斑和/或镜头污点等异常情况的眼底图像,只要存在视盘即可进行视盘区域的识别确定,这也就大大降低了对眼底图像的成像质量的要求,从而使得本申请实施例的方法能够适用于各种各样的眼底图像。
[0072] 更进一步的,在将质量合格的眼底图像输入至视盘预测模型得到视盘预测图后,即可对视盘预测图进行后处理,以由多个视盘候选区域中选取确定最终的视盘区域。
[0073] 其中,根据前面所述,在根据视盘预测图进行最终的视盘区域的确定时,包括以下两种情况。
[0074] 一种为,视盘预测图中标注的视盘候选区域存在一个,其对应所采集到的眼底图像的成像质量较高,不存在漏光、彩虹斑和/或镜头污点等情况。在这种情况下,可以直接将视盘预测图中标注的视盘候选区域作为视盘区域,并对该区域进行椭圆拟合,输出相应的椭圆拟合参数。
[0075] 另一种则为,视盘预测图中标注的视盘区域不只一个,此种情况对应采集到的眼底图像可能存在漏光、彩虹斑和/或镜头污点等情况。在这种情况下,则需要由不只一个视盘候选区域中选取一个最匹配的区域作为视盘区域。
[0076] 由此,参阅图2,在本申请实施例的方法中,在通过步骤S200,由视盘预测模型对眼底图像进行视盘定位识别,得到相应的视盘预测图后,即可通过步骤S310,判断视盘预测图中标注的视盘候选区域的个数是否只有一个。若不是,则通过步骤S320,由视盘预测图中选取最终的视盘区域。若是,则直接执行步骤S330,将视盘预测图中标注的视盘候选区域作为视盘区域,并输出相应的椭圆拟合参数。
[0077] 其中,在一种可能的实现方式中,在执行步骤S310,判断视盘预测图中的视盘候选区域的个数是否大于1之前,还包括获取视盘预测图并进行椭圆拟合,得到相应的椭圆拟合参数的步骤。
[0078] 即,参阅图3,在通过步骤S301,读取视盘预测模型的输出结果,获得视盘预测图后,首先执行步骤S302,对视盘预测图进行闭运算(先膨胀后腐蚀),接着执行步骤S303,对视盘预测图(为灰度图)进行二值化处理,将视盘预测图转换为二值化图之后,再通过步骤S304,对二值化图中的视盘候选区域进行椭圆拟合,得到相应的椭圆拟合参数。
[0079] 此处,需要指出的是,在进行椭圆拟合时,是对每一个视盘候选区域进行的拟合,相应的,得到的椭圆拟合参数中包括每一个视盘候选区域的椭圆拟合参数。
[0080] 更加具体的,在进行椭圆拟合时,可以使用OpenCV的fitEllipse() 函数,其拟合椭圆时的一般形式为:
[0081] ;
[0082] 其中,a表示待求解的椭圆拟合参数:
[0083] ;
[0084] X表示所有待拟合的椭圆点:
[0085] ;
[0086] 此函数使用基于L2范数的代数距离作为目标函数,求解椭圆拟合参数。
[0087] 其中,根据前面所述,在视盘候选区域只有一个时,结合之前的质量评估结果,可以确定该候选区域即为眼底图像的视盘区域,此时可直接在眼底图像对应位置上标注出视盘区域,并输出相应的椭圆拟合参数及标注后的眼底图像。
[0088] 在视盘候选区域大于1个时,即,通过步骤S310,判断出视盘候选区域的个数大于1(视盘候选区域的个数不只一个)时,则需要由多个视盘候选区域中确定出一个最佳的区域作为眼底图像的视盘区域。
[0089] 在一种可能的实现方式中,由两个以上的视盘候选区域中选取确定最终的视盘区域可以通过基于候选区域内血管像素点的方式来进行确定。
[0090] 即,首先,根据各视盘候选区域对应的椭圆拟合参数,由视盘预测图中截取相应的椭圆区域。然后,对椭圆区域进行边缘检测,得到视盘候选区域的血管像素图。进而,再计算各血管像素图中的血管像素数,并根据各血管像素数确定最终的视盘区域。
[0091] 其中,对椭圆区域进行边缘检测时,可以采用基于Canny算子的多级边缘检测算法进行检测。
[0092] 更加具体的,参照图4、图5、图6和图7,首先根据前面得到的椭圆拟合参数,在视盘预测图(如图4)中截取相应的椭圆区域。其中,为了减少椭圆轮廓带来的影响,本申请实施例的方法中,将椭圆轮廓绘制为背景色。
[0093] 然后,对于每个视盘候选区域,分别使用Canny算子做边缘检测,得到每个视盘候选区域的内部血管像素图(如图6和图7)。其中,视盘是眼底血管汇合的位置,其余区域内的血管都相对较少,因此可以通过计算每个区域内血管像素的计数,从中选取最大的作为最终的视盘区域。
[0094] 其中,基于Canny算子的多级边缘检测算法的主要计算步骤如下:
[0095] 首先,使用高斯滤波对视盘候选区域进行滤波处理以消除图像中的噪声;
[0096] 然后,计算视盘候选区域的梯度幅值和方向,其中,用于计算x轴方向的卷积阵列为:
[0097]
[0098]          y轴方向的卷积阵列为:
[0099]
[0100] 接着,通过以下公式计算梯度幅值为:
[0101]
[0102] 方向为:
[0103] 接着,对视盘候选区域进行非极大值抑制,排除非边缘像素的影响;
[0104] 最后,滞后阈值,筛选需保留的像素值。
[0105] 由此,通过上述由视盘预测模型对眼底图像进行视盘区域的初步识别和定位,得到标注有一个或两个以上的视盘候选区域的视盘预测图,然后再基于视盘预测图进行后处理,由视盘预测图中选取确定出最终的视盘区域,有效保证了视盘识别定位的准确性。同时,对于成像质量不是很高的眼底图像(即,存在漏光、彩虹斑和镜头污点等异常情况的)仍能够进行视盘区域的准确识别,从而有效降低了对眼底图像的成像质量的要求,这也就大大降低了视盘识别的难度。
[0106] 更进一步的,本申请实施例的方法还包括有视杯识别的步骤。其中,需要指出的是,在进行视杯识别时,需要基于前面所识别出来的视盘进行。也就是说,在采用前面任一所述的方式将眼底图像中的视盘区域定位出来之后,即可获取以所定位出来的视盘区域为中心的视盘局部图像,在该视盘局部图像的基础上进行视杯的识别。
[0107] 在一种可能的实现方式中,在进行视杯识别时,首先需要对以视盘为中心的视盘局部图像进行预处理。此处,本领域技术人员可以理解的是,对视盘局部图像所进行的预处理操作与前面进行视盘识别时对眼底图像进行的预处理操作相同或相似,因此此处不再进行赘述。
[0108] 同时,在基于前面进行视盘识别时所得到的视盘识别结果来获取相应的视盘局部图像时,可以根据视盘预测模型所输出的视盘中心坐标裁剪出以视盘中心为图像中心的视盘局部图像,作为本申请实施例中进行视杯识别时的感兴趣区域。
[0109] 此外,在本申请实施例中,在进行视杯识别时,同样采用深度学习的方式对视杯候选区域进行初步的定位。即,采用训练好的视杯检测模型对获取的视盘局部图像进行视杯预测,以确定视盘局部图像中的视杯候选区域。
[0110] 其中,本领域技术人员可以理解的是,在采用深度学习的方式进行视杯候选区域的预测定位时,同样需要对所构建的视杯预测模型进行训练,以使所构建的视杯预测模型收敛为最佳的网络结构。
[0111] 此外,在对视杯预测模型进行训练时,所采用的训练样本与视盘预测模型训练时所采用的样本相类似,并且在将样本输入至视杯预测模型之前,也可以对样本图像进行预处理。
[0112] 其中,在视杯预测模型的训练过程中,对样本图像的预处理具体包括以下步骤:读取裁过黑边的样本图像,根据视盘预测模型输出得到视盘中心裁剪出以视盘中心为图像中心的视盘局部图像,作为感兴趣区域。然后再采用进行视盘预测模型训练时的图像预处理操作方式进行处理即可。
[0113] 同时,还需要说明的是,在本申请实施例的方法中,采用训练好的视杯预测模型对视盘局部图像进行视杯预测以确定视杯候选区域时,视杯候选区域的个数可能为一个,也可能为两个以上。在视杯候选区域的个数为两个以上时,选取最靠近视盘局部图像中心的候选位置作为最终的视杯候选区域。
[0114] 在由视盘局部图像中定位出视杯候选区域后,对视杯候选区域进行椭圆拟合,根据拟合结果确定视杯候选区域的边界与视盘区域的关系。具体的,参阅图8,在通过步骤S400,获取视盘局部图像和步骤S500,采用视杯预测模型对视盘局部图像进行视杯预测,确定相应的视杯候选区域后,再通过步骤S600,检测所确定的视杯候选区域的边界是否超出视盘区域。在检测出视杯候选区域的边界超出视盘区域时,则执行步骤S700,对视杯候选区域进行调整,将视杯候选区域调整至视盘区域内之后即可确定视杯位置。在检测出视杯候选区域的边界未超出视盘区域时,则可以确定该视杯候选区域即为视盘位置,因此可直接执行步骤S800,根据所确定的视杯候选区域在视盘局部图像中标注出视杯位置。
[0115] 其中,在一种可能的实现方式中,在步骤S700,对视杯候选区域进行调整时,可以通过将视盘局部图像作为掩码,采用掩码大津阈值法对视杯候选区域进行调整。
[0116] 具体的,参阅图9,在进行视杯调整之前,还包括步骤S007,对图像进行预处理的步骤。此处,需要指出的是,对视盘局部图像所进行的预处理操作包括高斯滤波和灰度转换等。
[0117] 进一步的,在一种可能的实现方式中,进行视杯调整时,可以先通过步骤S710,判断当前次调整是否为首次调整。如果为首次调整的话,则执行步骤S720,对视杯候选区域进行扩大处理,然后将扩大后的视盘候选区域作为待调整的视杯候选区域。
[0118] 其中,在进行扩大处理时,先计算椭圆拟合参数中尺寸的最大值,然后以该最大值作为初始值向外扩大预设像素值(如:30个像素)后作为调整视杯的候选区域。此处,需要指出的是,扩大处理时的预设像素值的取值可以根据实际情况灵活设置。如:预设像素值的取值范围为:20—40。如果不是首次调整(即,首次调整后仍然出界),则需要通过步骤S730,缩小视杯候选区域,将缩小后的视杯候选区域作为待调整的视杯候选区域。其中,在进行视杯候选区域的缩小处理时,其操作方式与扩大出来的方式相同或相似,此处不再进行赘述。
[0119] 在对视杯候选区域进行扩大或缩小处理后,即可将扩大或缩小后的视杯候选区域作为掩码,然后在视盘局部图像上应用掩码大津阈值法进行视杯候选区域的位置调整。
[0120] 其中,应用掩码大津阈值法进行视杯候选区域的位置调整具体包括以下步骤:
[0121] 获取掩码部分的视盘局部图像,并计算该视盘局部图像的直方图以及全局的平均灰度;
[0122] 设置二值化阈值t的取值:1—254,依次遍历该阈值t,并根据该阈值t区分前景和背景,计算两部分之间的类间方差。
[0123] 其中,计算公式为:
[0124]
[0125] 其中,Var(t)表示类间方差,Cf和Lf分别表示前景的像素个数占比和平均灰度,Cb和Lb分别表示背景的像素个数占比和平均灰度,Lall表示全局的平均灰度。
[0126] 根据类间方差最大值由预设的上述二值化阈值中确定最佳阈值。即,使得类间方差最大的t即为算法输出的最佳二值化阈值。
[0127] 根据所确定的最佳二值化阈值,将视盘局部图像中当前的视杯候选区域(即,进行扩大或缩小处理后的视杯候选区域)进行二值化处理,然后通过步骤S750,进行椭圆拟合,得到视杯尺寸。然后执行步骤S760,判断当前得到的视杯尺寸是否小于预设视杯尺寸。在判断出当前得到的视杯尺寸小于预设视杯尺寸时,直接执行步骤S770,输出默认的椭圆拟合参数。在判断出当前得到的视杯尺寸大于或等于预设视杯尺寸时,则执行步骤S780,输出调整后的椭圆拟合参数。
[0128] 当通过上述步骤完成当前次对视杯候选区域的调整之后,再次执行步骤S600,判断调整后的视杯候选区域的边界是否超出视盘区域。如果仍然超出,则重复上述步骤,继续对视杯候选区域进行调整,其调整方式此处不再赘述。如果不再超出视盘区域,则表明此时调整后的视杯候选区域符合医学常识,可将调整后的视杯候选区域作为最终的视杯区域,因此可直接输出对该调整后的视杯候选区域进行椭圆拟合后的椭圆拟合参数,并返回标注后的眼底图像,从而完成对眼底图像的视盘和视杯的识别。
[0129] 由此,本申请实施例的眼底图像识别方法,通过识别定位出眼底图像中的视盘区域后,再进行视杯区域的识别。其中,在进行视杯区域的识别时,通过对预测出的视杯候选区域的边界与视盘区域的关系,进行视杯候选区域的调整,保证了最终识别出的视杯区域的准确性。
[0130] 并且,在进行视杯调整的过程中,根据掩码大津阈值法来确定对视盘局部图像进行二值化处理时的阈值取值,从而在保证识别出的视杯的准确性的同时,还有效保证了算法的时效性。
[0131] 更进一步的,在通过上述方式分别获取视盘区域的椭圆拟合参数(即,视盘拟合参数)和视杯区域的椭圆拟合参数(即,视杯拟合参数)后,还可以根据所获取到的视盘拟合参数和视杯拟合参数,分别计算视盘的纵向直径和视杯的纵向直径。进而再对视盘的纵向直径和视杯的纵向直径进行比值的计算得到纵向杯盘比。然后根据计算得到的纵向杯盘比确定当前识别的这张眼底图像的视盘区是否异常。
[0132] 相应的,基于前面任一所述的眼底图像识别方法,本申请还提供了一种眼底图像识别装置。由于本申请提供的眼底图像识别装置的工作原理与本申请提供的眼底图像识别方法的原理相同或相似,因此重复之处不再赘述。
[0133] 参见图10,本申请提供的眼底图像识别装置100,包括图像预处理模块110、视盘定位模块120、椭圆拟合模块130和视盘区域确定模块140。其中,图像预处理模块110,被配置为获取采集到的眼底图像,并对采集到的眼底图像进行预处理。视盘定位模块120,被配置为将预处理后的眼底图像输入至训练好的视盘预测模型,由视盘预测模型对眼底图像进行视盘预测,得到相应的视盘预测图;其中,视盘预测图中标注有一个或多个定位出的视盘候选区域。椭圆拟合模块130,被配置为获取视盘预测图并进行椭圆拟合,得到视盘预测图中视盘候选区域的椭圆拟合参数。视盘区域确定模块140,被配置为基于视盘候选区域的个数以及椭圆拟合参数,确定眼底图像中的视盘区域。
[0134] 此外,还需要指出的是,由于在本申请实施例的眼底图像识别装置100中,在进行眼底图像的视盘预测时,采用的是训练好的视盘预测模型。即,采用神经网络进行视盘候选区域的预测。因此,在本申请实施例的装置中,还包括有模型训练模块。该模型训练模块用于对视盘预测模型进行训练,以使视盘预测模型收敛至最佳的网络结构。此处,还需要指出的是,该模型训练模块还用于对视杯预测模型进行训练,以使视杯预测模型收敛至最佳的网络结构。
[0135] 同时,还需要指出的是,在一种可能的实现方式中,本申请实施例的装置主要分为四部分,一部分为包括前面所述的图像预处理模块110、视盘定位模块120、椭圆拟合模块130和视盘区域确定模块140这四个模块的用于实现视盘定位选取单元(图中未示出),一部分为包括有模型训练模块的训练单元(图中未示出),还有一部分则是用于进行视杯预测和调整的视杯定位选取单元(图中未示出),另外还包括有用于根据视盘拟合参数和视杯拟合参数进行眼底图像的视盘区是否异常的判断的指标量化模块(图中未示出)。
[0136] 通过采用上述眼底图像识别装置100对眼底图像的视盘和视杯进行识别,在进行视盘识别的过程中,通过训练好的视盘预测模型先进行视盘候选区域的预测,然后再采用所设计的基于视盘区域内血管像素计数的方式由视盘候选区域中选取最终的视盘区域,不仅有效提高了视盘检测识别结果的准确性,还达到了提高算法时效性的效果。在进行视杯识别的过程中,则通过根据预测出来的视杯候选区域的边界与视盘区域的关系,进行视杯候选区域的调整,以保证最终识别定位的视杯区域的准确性。并且,在进行视杯调整时,通过所设计的掩码大津阈值法来确定进行图像二值化处理的阈值,这就在保证检测结果的准确性的同时,还更进一步地提高了算法的时效性。
[0137] 更进一步地,根据本申请的另一方面,还提供了一种眼底图像识别设备200。参阅图11,本申请实施例的眼底图像识别设备200包括处理器210以及用于存储处理器210可执行指令的存储器220。其中,处理器210被配置为执行可执行指令时实现前面任一所述的眼底图像识别方法。
[0138] 此处,应当指出的是,处理器210的个数可以为一个或多个。同时,在本申请实施例的眼底图像识别设备200中,还可以包括输入装置230和输出装置240。其中,处理器210、存储器220、输入装置230和输出装置240之间可以通过总线连接,也可以通过其他方式连接,此处不进行具体限定。
[0139] 存储器220作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序和各种模块,如:本申请实施例的眼底图像识别方法所对应的程序或模块。处理器210通过运行存储在存储器220中的软件程序或模块,从而执行眼底图像识别设备200的各种功能应用及数据处理。
[0140] 输入装置230可用于接收输入的数字或信号。其中,信号可以为产生与设备/终端/服务器的用户设置以及功能控制有关的键信号。输出装置240可以包括显示屏等显示设备。
[0141] 以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。