基于卷积神经网络与随机森林组合的白内障自动分级方法与流程

文档序号:16437298发布日期:2018-12-28 20:35阅读:379来源:国知局
基于卷积神经网络与随机森林组合的白内障自动分级方法与流程

本发明涉及神经网络技术领域,特别是涉及一种基于卷积神经网络与随机森林组合的白内障自动分级方法。

背景技术

白内障属于较常见的老年病,由于我国人口基数大且老龄化程度越来越严重,使得我国白内障患者数量较多。为了提高白内障的诊疗效率,可以先根据白内障患者的病情进行分级,再根据分级结果进行诊断和治疗,比如,白内障的分级级别共为三级,一级为基本不影响视力,二级为有程度不等的视力障碍,三级为有严重的视力障碍,然后,根据分级结果,对患者进行病情诊断,进而再进行有针对性的治疗,比如,对分级结果为一级的白内障患者,诊断白内障病情为初期,可以通过纠正日常生活习惯来改善和延缓白内障病情,对分级结果为二级的白内障患者,诊断白内障病情为中期,可以通过药物手段来改善和延缓白内障病情,对分级结果为三级的白内障患者,诊断白内障病情为晚期,可以通过手术手段来改善白内障病情。

目前,对白内障病情的分级完全依赖于眼科医生的人工判断,需要花费较长时间。这样,由于眼科医生的资源有限,对白内障病情的分级会占用眼科医生较多时间,挤占眼科医生为患者治疗白内障的时间,导致部分白内障患者无法得到及时治疗,此外,还可能出现由于眼科医生的专业水平较差而造成的分级失误的问题。



技术实现要素:

本发明实施例的目的在于提供基于卷积神经网络与随机森林组合的白内障自动分级方法,以实现不依赖眼科医生,对白内障病情进行自动分级。具体技术方案如下:

本发明实施例提供了一种基于卷积神经网络与随机森林组合的白内障自动分级方法,所述方法包括:

采集白内障眼部影像;

将白内障眼部影像输入预设的卷积神经网络模型;

从预设的卷积神经网络模型的第一层全连接层,获取白内障眼部影像的特征向量,预设的卷积神经网络模型包括第一层全连接层和第二层全连接层,第二层全连接层用于在使用白内障眼部影像样本,训练预设的卷积神经网络模型时,输出白内障眼部影像样本对应的识别分级结果,以便基于所述识别分级结果与所述白内障眼部影像样本对应的预设分级结果的差异,构建用于训练预设的卷积神经网络模型的损失函数;

将所述特征向量输入预设的随机森林分类模型,得到白内障眼部影像对应的白内障分级结果。

可选的,在所述将白内障眼部影像输入预设的卷积神经网络模型的步骤之前,所述方法还包括:

按照预设的尺寸要求,对白内障眼部影像进行尺寸变换处理。

可选的,预设的卷积神经网络模型通过如下步骤训练得到:

将预设数量的白内障眼部影像样本,以及各白内障眼部影像样本对应的预设分级结果,输入原始的卷积神经网络模型;

从原始的卷积神经网络模型的第二层全连接层,获取各白内障眼部影像样本对应的识别分级结果;

将所述识别分级结果与所述预设分级结果的差异,确定为损失函数;

对损失函数进行最小化处理,得到最小化损失函数;

根据最小化损失函数,确定预设的卷积神经网络模型中各层的权重参数;

将所述权重参数,写入原始的卷积神经网络模型,得到训练好的预设的卷积神经网络模型。

可选的,在所述将预设数量的白内障眼部影像样本,以及各白内障眼部影像样本对应的预设分级结果,输入原始的卷积神经网络模型的步骤之前,所述方法还包括:

按照预设的尺寸要求,对预设数量的白内障眼部影像样本进行尺寸变换处理;

按照预设的红绿蓝rgb值要求,对预设数量的白内障眼部影像样本进行rgb值调整处理。

可选的,所述按照预设的红绿蓝rgb值要求,对预设数量的白内障眼部影像样本进行rgb值调整处理的步骤,包括:

计算各白内障眼部影像样本的第一r通道均值、第一g通道均值以及第一b通道均值;

分别计算所有的白内障眼部影像样本的第一r通道均值之和、第一g通道均值之和、第一b通道均值之和,再将第一r通道均值之和、第一g通道均值之和、第一b通道均值之和分别除以白内障眼部影像样本的预设数量,得到预设数量的白内障眼部影像样本的第二r通道均值、第二g通道均值、第二b通道均值;

将各白内障眼部影像样本中的各像素点的r通道值、g通道值和b通道值,分别加上第二r通道均值与第一r通道均值的差值、第二g通道均值与第一g通道均值的差值、第二b通道均值与第一b通道均值的差值,得到各白内障眼部影像样本中的各像素点的r通道调整值、g通道调整值和b通道调整值:

将各白内障眼部影像样本中的各像素点的r通道值、g通道值和b通道值,分别调整为r通道调整值、g通道调整值和b通道调整值。

可选的,所述将各白内障眼部影像样本中的各像素点的r通道值、g通道值和b通道值,分别加上第二r通道均值与第一r通道均值的差值、第二g通道均值与第一g通道均值的差值、第二b通道均值与第一b通道均值的差值,得到各白内障眼部影像样本中的各像素点的r通道调整值、g通道调整值和b通道调整值的步骤,包括:

根据如下三个公式,将各白内障眼部影像样本中的各像素点的r通道值、g通道值和b通道值,分别加上第二r通道均值与第一r通道均值的差值、第二g通道均值与第一g通道均值的差值、第二b通道均值与第一b通道均值的差值,得到各白内障眼部影像样本中的各像素点的r通道调整值、g通道调整值和b通道调整值;

r′k,j=rk,j-ri_mean+r_mean

在公式中,r′k,j为白内障眼部影像样本i中各像素点的r通道调整值;rk,j为白内障眼部影像样本i中各像素点的r通道值;r_mean为预设数量的白内障眼部影像样本的第二r通道均值;ri_mean为各白内障眼部影像样本的第一r通道均值;

g′k,j=gk,j-gi_mean+g_mean

在公式中,g′k,j为白内障眼部影像样本i中各像素点的g通道调整值;gk,j为白内障眼部影像样本i中各像素点的g通道值;g_mean为预设数量的白内障眼部影像样本的第二g通道均值;gi_mean为各白内障眼部影像样本的第一g通道均值;

b′k,j=bk,j-bi_mean+b_mean

在公式中,b′k,j为白内障眼部影像样本i中各像素点的b通道调整值;bk,j为白内障眼部影像样本i中各像素点的b通道值;b_mean为预设数量的白内障眼部影像样本的第二b通道均值;bi_mean为各白内障眼部影像样本的第一b通道均值。

可选的,所述从原始的卷积神经网络模型的第二层全连接层,获取各白内障眼部影像样本对应的识别分级结果的步骤,包括:

从原始的卷积神经网络模型的第一层全连接层,获取各白内障眼部影像样本的特征向量;

将所述各白内障眼部影像样本的特征向量,输入原始的卷积神经网络模型的第二层全连接层,得到各白内障眼部影像样本对应的n维分类向量,n为分级结果对应的总级别数,n维分类向量中的每个元素均对应一个分级级别;

将各所述n维分类向量中,最大元素对应的分级级别,确定为各白内障眼部影像样本对应的识别分级结果。

本发明实施例还提供了一种基于卷积神经网络与随机森林组合的白内障自动分级装置,所述装置包括:

摄像头,用于采集白内障眼部影像,并将采集到的白内障眼部影像发送至处理器;

处理器,用于将摄像头发送的白内障眼部影像输入预设的卷积神经网络模型;从预设的卷积神经网络模型的第一层全连接层,获取白内障眼部影像的特征向量,预设的卷积神经网络模型包括第一层全连接层和第二层全连接层,第二层全连接层用于在使用白内障眼部影像样本,训练预设的卷积神经网络模型时,输出白内障眼部影像样本对应的识别分级结果,以便基于所述识别分级结果与所述白内障眼部影像样本对应的预设分级结果的差异,构建用于训练预设的卷积神经网络模型的损失函数;将所述特征向量输入预设的随机森林分类模型,得到白内障眼部影像对应的白内障分级结果。

可选的,所述处理器,还用于按照预设的尺寸要求,对白内障眼部影像进行尺寸变换处理。

可选的,所述处理器,还用于训练得到预设的卷积神经网络模型:

将预设数量的白内障眼部影像样本,以及各白内障眼部影像样本对应的预设分级结果,输入原始的卷积神经网络模型;

从原始的卷积神经网络模型的第二层全连接层,获取各白内障眼部影像样本对应的识别分级结果;

将所述识别分级结果与所述预设分级结果的差异,确定为损失函数;

对损失函数进行最小化处理,得到最小化损失函数;

根据最小化损失函数,确定预设的卷积神经网络模型中各层的权重参数;

将所述权重参数,写入原始的卷积神经网络模型,得到训练好的预设的卷积神经网络模型。

可选的,所述处理器,还用于

按照预设的尺寸要求,对预设数量的白内障眼部影像样本进行尺寸变换处理;

按照预设的红绿蓝值要求,对预设数量的白内障眼部影像样本进行rgb值调整处理。

可选的,所述处理器,具体用于

计算各白内障眼部影像样本的第一r通道均值、第一g通道均值以及第一b通道均值;

分别计算所有的白内障眼部影像样本的第一r通道均值之和、第一g通道均值之和、第一b通道均值之和,再将第一r通道均值之和、第一g通道均值之和、第一b通道均值之和分别除以白内障眼部影像样本的预设数量,得到预设数量的白内障眼部影像样本的第二r通道均值、第二g通道均值、第二b通道均值;

将各白内障眼部影像样本中的各像素点的r通道值、g通道值和b通道值,分别加上第二r通道均值与第一r通道均值的差值、第二g通道均值与第一g通道均值的差值、第二b通道均值与第一b通道均值的差值,得到各白内障眼部影像样本中的各像素点的r通道调整值、g通道调整值和b通道调整值:

将各白内障眼部影像样本中的各像素点的r通道值、g通道值和b通道值,分别调整为r通道调整值、g通道调整值和b通道调整值。

可选的,所述处理器,具体用于

根据如下三个公式,将各白内障眼部影像样本中的各像素点的r通道值、g通道值和b通道值,分别加上第二r通道均值与第一r通道均值的差值、第二g通道均值与第一g通道均值的差值、第二b通道均值与第一b通道均值的差值,得到各白内障眼部影像样本中的各像素点的r通道调整值、g通道调整值和b通道调整值;

r′k,j=rk,j-ri_mean+r_mean

在公式中,r′k,j为白内障眼部影像样本i中各像素点的r通道调整值;rk,j为白内障眼部影像样本i中各像素点的r通道值;r_mean为预设数量的白内障眼部影像样本的第二r通道均值;ri_mean为各白内障眼部影像样本的第一r通道均值;

g′k,j=gk,j-gi_mean+g_mean

在公式中,g′k,j为白内障眼部影像样本i中各像素点的g通道调整值;gk,j为白内障眼部影像样本i中各像素点的g通道值;g_mean为预设数量的白内障眼部影像样本的第二g通道均值;gi_mean为各白内障眼部影像样本的第一g通道均值;

b′k,j=bk,j-bi_mean+b_mean

在公式中,b′k,j为白内障眼部影像样本i中各像素点的b通道调整值;bk,j为白内障眼部影像样本i中各像素点的b通道值;b_mean为预设数量的白内障眼部影像样本的第二b通道均值;bi_mean为各白内障眼部影像样本的第一b通道均值。

可选的,所述处理器,具体用于

从原始的卷积神经网络模型的第一层全连接层,获取各白内障眼部影像样本的特征向量;

将所述各白内障眼部影像样本的特征向量,输入原始的卷积神经网络模型的第二层全连接层,得到各白内障眼部影像样本对应的n维分类向量,n为分级结果对应的总级别数,n维分类向量中的每个元素均对应一个分级级别;

将各所述n维分类向量中,最大元素对应的分级级别,确定为各白内障眼部影像样本对应的识别分级结果。

本发明实施例再提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现上述任一所述的基于卷积神经网络与随机森林组合的白内障自动分级方法。

本发明实施例提供的基于卷积神经网络与随机森林组合的白内障自动分级方法,首先,采集白内障眼部影像;接下来,可以将白内障眼部影像输入预设的卷积神经网络模型;然后,从预设的卷积神经网络模型的第一层全连接层,获取白内障眼部影像的特征向量,其中,预设的卷积神经网络模型包括第一层全连接层和第二层全连接层,第二层全连接层用于在使用白内障眼部影像样本,训练预设的卷积神经网络模型时,输出白内障眼部影像样本对应的识别分级结果,以便基于所述识别分级结果与所述白内障眼部影像样本对应的预设分级结果的差异,构建用于训练预设的卷积神经网络模型的损失函数;最后,将所述特征向量输入预设的随机森林分类模型,得到白内障眼部影像对应的白内障分级结果。

这样,本发明实施例可以通过预设的卷积神经网络模型和预设的随机森林分类模型,实现根据白内障眼部影像确定白内障分级结果,不再依赖眼科医生的人工诊断。不仅可以节约眼科医生的时间,以使眼科医生能够花费更多的时间治疗白内障患者,而且白内障分级结果不再依赖于眼科医生的专业水平,避免出现由于眼科医生的专业水平较差而造成的分级失误的问题。

当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例的基于卷积神经网络与随机森林组合的白内障自动分级方法的一种流程图;

图2为本发明实施例中的残差模块的处理流程示意图;

图3为本发明实施例中训练预设的卷积神经网络模型的流程图;

图4为本发明实施例中rgb值调整处理的具体流程图;

图5为本发明实施例的基于卷积神经网络与随机森林组合的白内障自动分级装置的结构示意图;

图6为本发明实施例的电子设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

由于我国白内障患者数量较多。为了提高白内障的诊疗效率,可以先根据白内障患者的病情进行分级,再根据分级结果进行诊断和治疗。目前,对白内障病情的分级完全依赖于眼科医生的人工判断,需要花费较长时间。由于眼科医生的资源有限,对白内障病情的分级会占用眼科医生较多时间,挤占眼科医生为患者治疗白内障的时间,导致部分白内障患者无法得到及时治疗,此外,还可能出现由于眼科医生的专业水平较差而造成的分级失误的问题。

为了解决上述问题,本发明实施例提供了基于卷积神经网络与随机森林组合的白内障自动分级方法,能够实现不依赖眼科医生,对白内障病情进行自动分级。

本发明实施例提供了基于卷积神经网络与随机森林组合的白内障自动分级方法。参见图1,图1为本发明实施例的基于卷积神经网络与随机森林组合的白内障自动分级方法的一种流程图,包括如下步骤:

步骤101,采集白内障眼部影像。

在本步骤中,可以通过摄像头、摄像机等具有拍照功能的机器采集白内障眼部影像,以根据采集到的白内障眼部影像对该白内障病情进行分级。

在实际应用中,可以从白内障患者的眼部直接拍照获取,也可以从白内障患者的眼部照片中获取。

一种实现方式中,在步骤101之后,基于卷积神经网络与随机森林组合的白内障自动分级方法还可以包括:

按照预设的尺寸要求,对白内障眼部影像进行尺寸变换处理。

具体的,在采集白内障眼部影像之后,可以按照预设的卷积神经网络模型对输入图片的尺寸要求,对采集到的白内障眼部影像进行尺寸变换处理,得到尺寸大小符合预设的卷积神经网络模型要求的白内障眼部影像。

在实际应用中,预设的尺寸要求可以是256×256像素。

步骤102,将白内障眼部影像输入预设的卷积神经网络模型。

在本步骤中,可以将步骤101采集到的白内障眼部影像输入预设的卷积神经网络模型,以使用该预设的卷积神经网络模型获取白内障眼部影像的特征向量,其中,预设的卷积神经网络模型是事先训练好的。

需要说明的是,预设的卷积神经网络模型包括第一层全连接层和第二层全连接层,第二层全连接层用于在使用白内障眼部影像样本,训练预设的卷积神经网络模型时,输出白内障眼部影像样本对应的识别分级结果,以便基于所述识别分级结果与所述白内障眼部影像样本对应的预设分级结果的差异,构建用于训练预设的卷积神经网络模型的损失函数。

具体的,预设的卷积神经网络模型包括至少一层卷积层、至少一层池化层和至少两层全连接层。预设的卷积神经网络模型用于提取白内障眼部影像的特征向量,该特征向量可以代表白内障眼部影像的特征信息。其中,池化层可以对白内障眼部影像的特征向量进行聚合统计,减少冗余信息,防止过拟合;全连接层可以对白内障眼部影像的特征进行整合,使最终得到的特征向量具有高层含义。

还需要说明的是,预设的卷积神经网络模型中的第二层全连接层输出的是白内障眼部影像的分级结果,仅在训练时使用,在预设的卷积神经网络模型训练完成后,可以直接从预设的卷积神经网络模型中的第一层全连接层获取白内障眼部影像的特征向量,由预设的随机森林分类模型根据白内障眼部影像的特征向量得到白内障眼部影像的分级结果,而无需再关注第二层全连接层的输出结果。因为预设的随机森林分类模型能提高最终分集的准确性,所以,相较于由全连接层根据白内障眼部影像的特征向量得到的白内障眼部影像的分级结果,本发明实施例利用预设的随机森林分类模型根据白内障眼部影像的特征向量得到的白内障眼部影像的分级结果更加准确。

关于预设的卷积神经网络模型的卷积层的说明如下:

假设第k层卷积层中的卷积核种类为r个,r个卷积核的权重向量为h(1),...h(r),...,h(r),输入的白内障眼部影像信息为向量x,那么,第r个卷积核h(r)可以输出白内障眼部影像的第r个特征向量y(r)中的元素可以通过x和h(r)卷积得到,具体的,如公式(1)所示:

在公式(1)中,为第r个卷积核h(r)可以输出白内障眼部影像的第r个特征向量y(r)中的元素;为权重向量h(r)中的元素;xi+m,j+n为白内障眼部影像信息的向量x中的元素;为偏置项;f(·)为激活函数。

需要说明的是,关于激活函数f(·)的详细说明可以参考现有技术,在此不在赘述。

关于预设的卷积神经网络模型的池化层的说明如下:

假设第k层池化层输入为白内障眼部影像的特征向量y,且池化窗口大小为p×q,那么,池化层先按照从左到右,从上到下的顺序,依次从特征向量y中取出i×j个大小为p×q的部分向量然后,通过对每个部分向量进行池化操作,得到池化层输出的白内障眼部影像的特征向量c;其中,池化操作可以为最大池化、平均池化等池化方式。最大池化是指从每个中选出最大的元素,平均池化是指计算每个中所有元素的平均值。具体的,池化层输出的白内障眼部影像的特征向量c如公式(2)所示:

在公式(2)中,ci,j为白内障眼部影像的特征向量c中的元素;g(·)为池化操作;为从特征向量y中取出的大小为p×q的部分向量。

关于预设的卷积神经网络模型的全连接层的说明如下:

假设第k层全连接层的输入为白内障眼部影像的特征向量c,且全连接层向量为w,偏置项为bf,那么,全连接层输出的白内障眼部影像的特征向量如公式(3)所示:

在公式(3)中,wm,n为全连接层向量w中的元素;ci+m,j+n为白内障眼部影像的特征向量c中的元素;f(·)为激活函数。

需要说明的是,全连接层向量w是在训练预设的卷积神经网络模型时得到的,详细说明可以参考后文图3所述的训练预设的卷积神经网络模型的步骤303,在此不在赘述。

在实际应用中,预设的卷积神经网络模型可以为残差网络模型(residualnetwork,resnet)。resnet可以包括卷积层、池化层、批归一化(batchnormalization)操作、激活函数操作、残差模块、全连接层等各种卷积神经网络结构,其中,batchnormalization操作可以将输入的参数进行归一化,得到均值为0、方差为1的输入数据,从而可以加速resnet在训练中的收敛速度,并且,batchnormalization操作还具有一定的正则化效果,可以防止resnet过拟合。此外,激活函数可以加入非线性因素,解决线性模型所不能解决的问题。

关于batchnormalization操作的说明如下:

batchnormalization操作是对待输入到下一层网络中的输入数据进行归一化操作,具体如公式(4)至公式(7)所示:

在公式(4)至公式(7)中,xi,i=1,2,...,m为输入数据;yi,i=1,2,...,m为对输入数据进行batchnormalization操作后的输出数据;γ和β为在resnet训练时学习得到参数。

特别地,resnet中必须至少包括一个残差模块,参考图2,图2为本发明实施例中的残差模块的处理流程示意图。在图2中,残差模块包含一条主支和一条分支,主支上可以包括多层卷积层、batchnormalization操作和激活函数,其中,x为残差模块的输入,f(·)为残差模块主支上所有操作步骤的函数式,h(·)为残差模块分支上所有操作步骤的函数式,f(x)为主支上的输出,h(x)为分支上的输出,那么,每一个残差模块总输出为y=f(x)+h(x)。

步骤103,从预设的卷积神经网络模型的第一层全连接层,获取白内障眼部影像的特征向量。

在本步骤中,将白内障眼部影像输入到预设的卷积神经网络模型之后,预设的卷积神经网络模型的第一层全连接层可以输出白内障眼部影像的特征向量,以便由预设的随机森林分类模型根据白内障眼部影像的特征向量得到白内障眼部影像对应的白内障分级结果。

步骤104,将白内障眼部影像的特征向量输入预设的随机森林分类模型,得到白内障眼部影像对应的白内障分级结果。

在本步骤中,可以将白内障眼部影像的特征向量输入预设的随机森林分类模型,得到白内障眼部影像对应的白内障分级结果,其中,预设的随机森林分类模型是事先训练好的。

具体的,预设的随机森林分类模型的训练过程为:

第一步,抽取训练所需的白内障眼部影像样本。

假设白内障眼部影像样本集中的白内障眼部影像样本的数量为p,从该白内障眼部影像样本集中有放回的随机抽取p次,得到训练决策树所需的白内障眼部影像样本。

第二步,确定每棵决策树上分裂点的特征量。

具体的,可以根据图1所示的基于卷积神经网络与随机森林组合的白内障自动分级方法中的步骤103获取到的白内障眼部影像的特征向量的大小,确定每棵决策树上分裂节点在白内障眼部影像的特征向量中随机抽取的特征个数。假设获取到的白内障眼部影像的特征向量为t维特征向量,那么,每个分裂节点随机选择t个特征量(t>t),t的大小可以有很多选择方式,比如t=log2t、根据预设的策略,比如基尼系数测量或信息增益策略,从t个特征量中确定一个最具代表性的特征量作为该分裂节点所选的分裂特征量。

通过第一步和第二步中的两次随机抽取,可以避免预设的随机森林分类模型过拟合,同时可以提高预设的随机森林分类模型的抗噪声能力。

第三步,获取决策树。

具体的,决策树上的每一个分裂节点都按照第二步中的分裂方式进行分裂,直到决策树不能够继续分裂或者树的深度达到预设值为止,就可得到一棵决策树。

第四步,生成预设的随机森林分类模型。

具体的,第一步到第三步每执行一次,就可以得到一个决策树。可以理解的,执行l次,可以得到l棵决策树,l棵决策树就可以组成预设的随机森林分类模型。至此,预设的随机森林分类模型就训练好了。

第五步,输出白内障分级结果。

将白内障眼部影像的特征向量输入训练好的预设的随机森林分类模型,根据预设的投票机制,统计每棵决策树根据白内障眼部影像的特征向量得到的分级结果,最终得到白内障眼部影像对应的白内障分级结果。

其中,投票机制可以包括少数服从多数投票制等机制。在少数服从多数投票制中,统计每棵决策树分级结果,分级结果得票数最多的作为最终分级结果。

由于预设的随机森林分类模型是由具有弱分类效果的决策树组成的,因此,预设的随机森林分类模型输出的白内障分级结果具有很强的分类效果。所以,使用预设的随机森林分类模型根据白内障眼部影像的特征向量得到白内障眼部影像对应的白内障分级结果,可以提高白内障分级结果的准确性。

需要说明的是,在训练好预设的随机森林分类模型后,首先,将白内障眼部影像的特征向量输入预设的随机森林分类模型,预设的随机森林分类模型中的每棵决策树均可以得到白内障眼部影像对应的白内障分级结果;然后,使用投票机制,根据所有的决策树得到的白内障眼部影像对应的白内障分级结果,得到最终的白内障眼部影像对应的白内障分级结果。

比如,预设的随机森林分类模型中共有十棵决策树,其中,三棵决策树得到的白内障分级结果为2级,一颗决策树得到的白内障分级结果为4级,六棵决策树得到的白内障分级结果为3级,那么,可以确定最终的白内障眼部影像对应的白内障分级结果为3级。

可见,本发明实施例提供的基于卷积神经网络与随机森林组合的白内障自动分级方法,可以通过预设的卷积神经网络模型和预设的随机森林分类模型,实现根据白内障眼部影像确定白内障分级结果,不再依赖眼科医生的人工诊断。不仅可以节约眼科医生的时间,以使眼科医生能够花费更多的时间治疗白内障患者,而且分级结果不再依赖于眼科医生的专业水平,避免出现由于眼科医生的专业水平较差而造成的分级失误的问题。

在具体实施过程中,图1所示的基于卷积神经网络与随机森林组合的白内障自动分级方法中使用的预设的卷积神经网络模型是事先训练好的,下面对预设的卷积神经网络模型的训练过程进行详细说明。参见图3,图3为本发明实施例中训练预设的卷积神经网络模型的流程图,包括如下步骤:

步骤301,将预设数量的白内障眼部影像样本,以及各白内障眼部影像样本对应的预设分级结果,输入原始的卷积神经网络模型。

在本步骤中,可以将预设数量的白内障眼部影像样本,以及各白内障眼部影像样本对应的预设分级结果,输入原始的卷积神经网络模型。

其中,各白内障眼部影像样本对应的预设分级结果是指白内障眼部影像样本对应的正确的分级结果,预设分级结果可以以标签的形式标注出来。

需要说明的是,关于原始的卷积神经网络模型的详细说明,可以参见图1所示的基于卷积神经网络与随机森林组合的白内障自动分级方法中的步骤102下关于预设的卷积神经网络模型的说明。

步骤302,从原始的卷积神经网络模型的第二层全连接层,获取各白内障眼部影像样本对应的识别分级结果。

在本步骤中,在将预设数量的白内障眼部影像样本,以及各白内障眼部影像样本对应的预设分级结果,输入原始的卷积神经网络模型之后,原始的卷积神经网络模型的第二层全连接层可以输出各白内障眼部影像样本对应的识别分级结果。

需要说明的是,原始的卷积神经网络模型的第一层全连接层可以输出白内障眼部影像样本的特征向量,将第一层全连接层输出的白内障眼部影像样本的特征向量再输入原始的卷积神经网络模型的第二层全连接层,这样就可以得到各白内障眼部影像样本对应的识别分级结果。

可以理解的,还未训练好的卷积神经网络模型输出的各白内障眼部影像样本对应的识别分级结果是不准确的,当卷积神经网络模型输出的各白内障眼部影像样本对应的识别分级结果与各白内障眼部影像样本对应的预设分级结果之间的差异较小时,就可以认为训练完成,得到训练好的卷积神经网络模型。

一种实现方式中,步骤302可以包括:

第一步,从原始的卷积神经网络模型的第一层全连接层,获取各白内障眼部影像样本的特征向量。

第二步,将所述各白内障眼部影像样本的特征向量,输入原始的卷积神经网络模型的第二层全连接层,得到各白内障眼部影像样本对应的n维分类向量,n为分级结果对应的总级别数,n维分类向量中的每个元素均对应一个分级级别。

第三步,将各所述n维分类向量中,最大元素对应的分级级别,确定为各白内障眼部影像样本对应的识别分级结果。

具体的,首先,原始的卷积神经网络模型的第一层全连接层可以输出各白内障眼部影像样本的特征向量;然后,将输出的各白内障眼部影像样本的特征向量再输入到原始的卷积神经网络模型的第二层全连接层,得到各白内障眼部影像样本对应的n维分类向量,比如白内障的分级一共为三个级别,那么,各白内障眼部影像样本对应的分类向量就为三维;最后,将各白内障眼部影像样本对应的分类向量中,最大元素对应的分级级别,确定为各白内障眼部影像样本对应的识别分级结果。

步骤303,将获取到的各白内障眼部影像样本对应的识别分级结果与各白内障眼部影像样本对应的预设分级结果的差异,确定为损失函数。

在本步骤中,可以将从原始的卷积神经网络模型的第二层全连接层获取到的各白内障眼部影像样本对应的识别分级结果,与各白内障眼部影像样本对应的预设分级结果的差异,确定为损失函数。损失函数的具体形式可以如公式(8)所示:

σ=j(yi,f(xi;h,b))(8)

在公式(8)中,σ为损失函数值;h=h1,...hl,...hl,b=b1,...bl,...bl,hl为原始的卷积神经网络模型在第l层的权重参数,bl为原始的卷积神经网络模型在第l层的偏置项;j(·)为损失函数;f(xi;h,b)为原始的卷积神经网络模型中各层的权重参数为h和b时,原始的卷积神经网络模型的第二层全连接层输出的各白内障眼部影像样本对应的识别分级结果;yi为各白内障眼部影像样本对应的预设分级结果。其中,当hl为全连接层的权重参数时,hl是全连接层向量w。

步骤304,对损失函数进行最小化处理,得到最小化损失函数。

在本步骤中,可以利用梯度下降法,对上述损失函数进行最小化处理。具体的,通过误差反向传播算法不断迭代更新卷积神经网络模型中各层的权重参数,以逐步减小损失函数值。

权重参数h和b的迭代更新公式如公式(9)和公式(10)所示:

在公式(9)和公式(10)中,h和b为卷积神经网络模型的权重参数;η为卷积神经网络模型的学习率;为求偏导数;公式(9)和公式(10)中向左的箭头表示使用箭头右边的表达式的值,更新箭头左边的参数的值。

直到迭代次数达到预设的迭代次数时,可以认为误差函数实现最小化,也即卷积神经网络模型收敛。

需要说明的是,利用梯度下降法,对损失函数进行最小化处理的详细过程可以参考现有技术,在此不再赘述。

步骤305,根据最小化损失函数,确定预设的卷积神经网络模型中各层的权重参数。

在本步骤中,在由步骤304得到的最小化损失函数之后,可以确定当损失函数最小化时对应的预设的卷积神经网络模型中各层的权重参数,具体可以为h和b,以根据确定好的预设的卷积神经网络模型中各层的权重参数得到训练好的预设的卷积神经网络模型。

步骤306,将该权重参数,写入原始的卷积神经网络模型,得到训练好的预设的卷积神经网络模型。

在本步骤中,可以将当损失函数最小化时对应的预设的卷积神经网络模型中各层的权重参数,写入原始的卷积神经网络模型,得到训练好的预设的卷积神经网络模型,以使用训练好的预设的卷积神经网络模型提取白内障眼部影像的特征向量。

可见,本发明实施例可以事先对预设的卷积神经网络模型进行训练,得到训练好的预设的卷积神经网络模型,进而通过预设的卷积神经网络模型和预设的随机森林分类模型,实现根据白内障眼部影像确定白内障分级结果,不再依赖眼科医生的人工诊断。不仅可以节约眼科医生的时间,以使眼科医生能够花费更多的时间治疗白内障患者,而且分级结果不再依赖于眼科医生的专业水平,避免出现由于眼科医生的专业水平较差而造成的分级失误的问题。

一种实现方式中,在图3所示的训练预设的卷积神经网络模型的流程图中的步骤301之前,基于卷积神经网络与随机森林组合的白内障自动分级方法还可以包括:

第一步,按照预设的尺寸要求,对预设数量的白内障眼部影像样本进行尺寸变换处理。

具体的,可以按照预设的尺寸要求,对预设数量的白内障眼部影像样本进行尺寸变换处理,得到尺寸相同的白内障眼部影像样本。

第二步,按照预设的红绿蓝rgb值要求,对预设数量的白内障眼部影像样本进行rgb值调整处理。

具体的,可以按照预设的rgb值要求,对预设数量的白内障眼部影像样本进行rgb值调整处理,得到亮度相同的白内障眼部影像样本。

又一种实现方式中,参考图4,图4为本发明实施例中rgb值调整处理的具体流程图,上述“按照预设的红绿蓝rgb值要求,对预设数量的白内障眼部影像样本进行rgb值调整处理”的步骤可以包括:

子步骤41,计算各白内障眼部影像样本的第一r通道均值、第一g通道均值以及第一b通道均值。

在本步骤中,计算各白内障眼部影像样本的r通道均值、g通道均值以及b通道均值,为了方便说明,将计算出的各白内障眼部影像样本的r通道均值、g通道均值以及b通道均值分别作为第一r通道均值、第一g通道均值以及第一b通道均值。

子步骤42,分别计算所有的白内障眼部影像样本的第一r通道均值之和、第一g通道均值之和、第一b通道均值之和,再将第一r通道均值之和、第一g通道均值之和、第一b通道均值之和分别除以白内障眼部影像样本的预设数量,得到预设数量的白内障眼部影像样本的第二r通道均值、第二g通道均值、第二b通道均值。

在本步骤中,首先,将各白内障眼部影像样本的第一r通道均值加起来,得第一r通道均值之和,将各白内障眼部影像样本的第一g通道均值加起来,得第一g通道均值之和,以及将各白内障眼部影像样本的第一b通道均值加起来,得第一b通道均值之和。

然后,将计算出的第一r通道均值之和、第一g通道均值之和、第一b通道均值之和,均除以白内障眼部影像样本的预设数量,得到预设数量的白内障眼部影像样本的r通道均值、g通道均值和b通道均值,为了方便说明,将得到的预设数量的白内障眼部影像样本的r通道均值、g通道均值和b通道均值,分别作为第二r通道均值、第二g通道均值和第二b通道均值。

一种实现方式中,针对子步骤42中的“将第一r通道均值之和、第一g通道均值之和、第一b通道均值之和分别除以白内障眼部影像样本的预设数量,得到预设数量的白内障眼部影像样本的第二r通道均值、第二g通道均值、第二b通道均值”,可以通过公式(11)至公式(13)实现:

在公式(11)中,r_mean为预设数量的白内障眼部影像样本的第二r通道均值;ri_mean为各白内障眼部影像样本的第一r通道均值,m为白内障眼部影像样本的预设数量;

在公式(12)中,g_mean为预设数量的白内障眼部影像样本的第二g通道均值;gi_mean为各白内障眼部影像样本的第一g通道均值,m为白内障眼部影像样本的预设数量;

在公式(13)中,b_mean为预设数量的白内障眼部影像样本的第二b通道均值;bi_mean为各白内障眼部影像样本的第一b通道均值,m为白内障眼部影像样本的预设数量;

这样,就可以得到预设数量的白内障眼部影像样本的第二r通道均值、第二g通道均值和第二b通道均值,以便根据第二r通道均值、第二g通道均值和第二b通道均值,对各白内障眼部影像样本进行rgb值调整。

子步骤43,将各白内障眼部影像样本中的各像素点的r通道值、g通道值和b通道值,分别加上第二r通道均值与第一r通道均值的差值、第二g通道均值与第一g通道均值的差值、第二b通道均值与第一b通道均值的差值,得到各白内障眼部影像样本中的各像素点的r通道调整值、g通道调整值和b通道调整值。

在本步骤中,首先,计算子步骤42得到的第二r通道均值与第一r通道均值的差值,第二g通道均值与第一g通道均值的差值,以及第二b通道均值与第一b通道均值的差值;然后,将各白内障眼部影像样本中的各像素点的r通道值、g通道值和b通道值,分别加上计算出的第二r通道均值与第一r通道均值的差值、第二g通道均值与第一g通道均值的差值,以及第二b通道均值与第一b通道均值的差值,可以得到各白内障眼部影像样本中的各像素点的r通道调整值、g通道调整值和b通道调整值,以通过将各白内障眼部影像样本中的各像素点的r通道值、g通道值和b通道值调整为r通道调整值、g通道调整值和b通道调整值,实现对各白内障眼部影像样本的rgb值调整。

再一种实现方式中,子步骤43可以包括:

根据公式(14)至公式(16),将各白内障眼部影像样本中的各像素点的r通道值、g通道值和b通道值,分别加上第二r通道均值与第一r通道均值的差值、第二g通道均值与第一g通道均值的差值、第二b通道均值与第一b通道均值的差值,得到各白内障眼部影像样本中的各像素点的r通道调整值、g通道调整值和b通道调整值;

r′k,j=rk,j-ri_mean+r_mean(14)

在公式(14)中,r′k,j为白内障眼部影像样本i中各像素点的r通道调整值;rk,j为白内障眼部影像样本i中各像素点的r通道值;r_mean为预设数量的白内障眼部影像样本的第二r通道均值;ri_mean为各白内障眼部影像样本的第一r通道均值;

g′k,j=gk,j-gi_mean+g_mean(15)

在公式(15)中,g′k,j为白内障眼部影像样本i中各像素点的g通道调整值;gk,j为白内障眼部影像样本i中各像素点的g通道值;g_mean为预设数量的白内障眼部影像样本的第二g通道均值;gi_mean为各白内障眼部影像样本的第一g通道均值;

b′k,j=bk,j-bi_mean+b_mean(16)

在公式(16)中,b′k,j为白内障眼部影像样本i中各像素点的b通道调整值;bk,j为白内障眼部影像样本i中各像素点的b通道值;b_mean为预设数量的白内障眼部影像样本的第二b通道均值;bi_mean为各白内障眼部影像样本的第一b通道均值。

子步骤44,将各白内障眼部影像样本中的各像素点的r通道值、g通道值和b通道值,分别调整为r通道调整值、g通道调整值和b通道调整值。

在本步骤中,可以使用子步骤43计算出的r通道调整值、g通道调整值和b通道调整值,分别替换各白内障眼部影像样本中的各像素点的r通道值、g通道值和b通道值,以达到亮度统一的效果。

在实际应用中,通过对各白内障眼部影像样本进行rgb值调整处理来使各白内障眼部影像样本的亮度相同,也即使各白内障眼部影像样本的亮度统一,使各白内障眼部影像样本的亮度统一能够排除环境因素对识别分级结果的影响,比如不同拍摄环境的影响、不同拍摄人员的影响等,从而使识别分级结果更加准确,更加接近预设分级结果。

需要说明的是,rgb值调整处理的效果跟白内障眼部影像样本的图像质量有关。若白内障眼部影像样本的图像质量较差,比如,白内障眼部影像样本的明暗不均匀,则rgb值调整处理可能会提升识别分级结果的准确性;若白内障眼部影像样本的图像质量较好,则rgb值调整处理对识别分级结果的准确性的提升幅度可能较小。

本发明实施例还提供了基于卷积神经网络与随机森林组合的白内障自动分级装置,参考图5,图5为本发明实施例的基于卷积神经网络与随机森林组合的白内障自动分级装置的结构示意图,所述装置包括:

摄像头501,用于采集白内障眼部影像,并将采集到的白内障眼部影像发送至处理器502;

处理器502,用于将摄像头501发送的白内障眼部影像输入预设的卷积神经网络模型;从预设的卷积神经网络模型的第一层全连接层,获取白内障眼部影像的特征向量,预设的卷积神经网络模型包括第一层全连接层和第二层全连接层,第二层全连接层用于在使用白内障眼部影像样本,训练预设的卷积神经网络模型时,输出白内障眼部影像样本对应的识别分级结果,以便基于所述识别分级结果与所述白内障眼部影像样本对应的预设分级结果的差异,构建用于训练预设的卷积神经网络模型的损失函数;将所述特征向量输入预设的随机森林分类模型,得到白内障眼部影像对应的白内障分级结果。

可选的,所述处理器502,还用于按照预设的尺寸要求,对白内障眼部影像进行尺寸变换处理。

可选的,所述处理器502,还用于训练得到预设的卷积神经网络模型:

将预设数量的白内障眼部影像样本,以及各白内障眼部影像样本对应的预设分级结果,输入原始的卷积神经网络模型;

从原始的卷积神经网络模型的第二层全连接层,获取各白内障眼部影像样本对应的识别分级结果;

将所述识别分级结果与所述预设分级结果的差异,确定为损失函数;

对损失函数进行最小化处理,得到最小化损失函数;

根据最小化损失函数,确定预设的卷积神经网络模型中各层的权重参数;

将所述权重参数,写入原始的卷积神经网络模型,得到训练好的预设的卷积神经网络模型。

可选的,所述处理器502,还用于

按照预设的尺寸要求,对预设数量的白内障眼部影像样本进行尺寸变换处理;

按照预设的红绿蓝rgb值要求,对预设数量的白内障眼部影像样本进行rgb值调整处理。

可选的,所述处理器502,具体用于

计算各白内障眼部影像样本的第一r通道均值、第一g通道均值以及第一b通道均值;

分别计算所有的白内障眼部影像样本的第一r通道均值之和、第一g通道均值之和、第一b通道均值之和,再将第一r通道均值之和、第一g通道均值之和、第一b通道均值之和分别除以白内障眼部影像样本的预设数量,得到预设数量的白内障眼部影像样本的第二r通道均值、第二g通道均值、第二b通道均值;

将各白内障眼部影像样本中的各像素点的r通道值、g通道值和b通道值,分别加上第二r通道均值与第一r通道均值的差值、第二g通道均值与第一g通道均值的差值、第二b通道均值与第一b通道均值的差值,得到各白内障眼部影像样本中的各像素点的r通道调整值、g通道调整值和b通道调整值:

将各白内障眼部影像样本中的各像素点的r通道值、g通道值和b通道值,分别调整为r通道调整值、g通道调整值和b通道调整值。

可选的,所述处理器502,具体用于

根据如下三个公式,将各白内障眼部影像样本中的各像素点的r通道值、g通道值和b通道值,分别加上第二r通道均值与第一r通道均值的差值、第二g通道均值与第一g通道均值的差值、第二b通道均值与第一b通道均值的差值,得到各白内障眼部影像样本中的各像素点的r通道调整值、g通道调整值和b通道调整值;

r′k,j=rk,j-ri_mean+r_mean

在公式中,r′k,j为白内障眼部影像样本i中各像素点的r通道调整值;rk,j为白内障眼部影像样本i中各像素点的r通道值;r_mean为预设数量的白内障眼部影像样本的第二r通道均值;ri_mean为各白内障眼部影像样本的第一r通道均值;

g′k,j=gk,j-gi_mean+g_mean

在公式中,g′k,j为白内障眼部影像样本i中各像素点的g通道调整值;gk,j为白内障眼部影像样本i中各像素点的g通道值;g_mean为预设数量的白内障眼部影像样本的第二g通道均值;gi_mean为各白内障眼部影像样本的第一g通道均值;

b′k,j=bk,j-bi_mean+b_mean

在公式中,b′k,j为白内障眼部影像样本i中各像素点的b通道调整值;bk,j为白内障眼部影像样本i中各像素点的b通道值;b_mean为预设数量的白内障眼部影像样本的第二b通道均值;bi_mean为各白内障眼部影像样本的第一b通道均值。

可选的,所述处理器502,具体用于

从原始的卷积神经网络模型的第一层全连接层,获取各白内障眼部影像样本的特征向量;

将所述各白内障眼部影像样本的特征向量,输入原始的卷积神经网络模型的第二层全连接层,得到各白内障眼部影像样本对应的n维分类向量,n为分级结果对应的总级别数,n维分类向量中的每个元素均对应一个分级级别;

将各所述n维分类向量中,最大元素对应的分级级别,确定为各白内障眼部影像样本对应的识别分级结果。

可见,本发明实施例提供的基于卷积神经网络与随机森林组合的白内障自动分级装置,可以通过预设的卷积神经网络模型和预设的随机森林分类模型,实现根据白内障眼部影像确定白内障分级结果,不再依赖眼科医生的人工诊断。不仅可以节约眼科医生的时间,以使眼科医生能够花费更多的时间治疗白内障患者,而且分级结果不再依赖于眼科医生的专业水平,避免出现由于眼科医生的专业水平较差而造成的分级失误的问题。

本发明实施例又提供了一种电子设备,参考图6,图6为本发明实施例的电子设备的结构示意图。如图6所示,电子设备包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,

存储器603,用于存放计算机程序;

处理器601,用于执行存储器603上所存放的程序时,实现如下步骤:

采集白内障眼部影像;

将白内障眼部影像输入预设的卷积神经网络模型;

从预设的卷积神经网络模型的第一层全连接层,获取白内障眼部影像的特征向量,预设的卷积神经网络模型包括第一层全连接层和第二层全连接层,第二层全连接层用于在使用白内障眼部影像样本,训练预设的卷积神经网络模型时,输出白内障眼部影像样本对应的识别分级结果,以便基于所述识别分级结果与所述白内障眼部影像样本对应的预设分级结果的差异,构建用于训练预设的卷积神经网络模型的损失函数;

将所述特征向量输入预设的随机森林分类模型,得到白内障眼部影像对应的白内障分级结果。

上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1