一种基于深度学习的肾小球球囊基膜增厚的检测方法、计算机设备及计算机可读存储介质与流程

文档序号:29077932发布日期:2022-03-01 23:15阅读:100来源:国知局
一种基于深度学习的肾小球球囊基膜增厚的检测方法、计算机设备及计算机可读存储介质与流程

1.本发明具体涉及一种基于深度学习的肾小球球囊基膜增厚的检测方法、计算机设备及计算机可读存储介质。


背景技术:

2.肾小球(glomerulus)是血液过滤器,肾小球毛细血管壁构成过滤膜。循环血液经过肾小球毛细血管时,血浆中的水和小分子溶质,包括少量分子量较小的血浆蛋白,可以滤入肾小囊的囊腔而形成滤过液,用微穿刺法实验证明,肾小球的滤过液就是血浆中的超滤液。
3.肾小球基膜是肾小球滤过膜的组成结构之一,是维持肾脏正常滤过功能的主要结构。肾小球基膜结构成分及厚度的改变可影响多种肾脏疾病的发生和发展。
4.肾小球基膜没有细胞,厚240~370nm,电镜下从内至外可分为三层,即内疏松层、致密层及外疏松层。肾小球基膜是控制滤过分子大小的主要部分,也是机械屏障的主要部分。
5.肾小球基膜受损参与糖尿病肾病、基膜肾病、遗传性肾病和iga肾病等疾病的发生和发展。奥尔波特综合征(alport综合征)和薄基底膜肾病是与肾小球基膜密切相关的遗传性肾病。另外,足细胞在肾小球基膜重塑过程中具有重要作用,同样肾小球基膜结构异常亦能影响足细胞功能,因此与肾小球基膜相关的肾脏疾病或许可以归结为“基膜-足细胞肾病”,这些疾病可能存在多种共同的致病机制。
6.现有技术中,主要通过经验来进行确定,该方法诊断效率低,误检率高,花费成本高。


技术实现要素:

7.针对上述情况,为克服现有技术的缺陷,本发明提供一种基于深度学习的肾小球球囊基膜增厚的检测方法、计算机设备及计算机可读存储介质。
8.为了实现上述目的,本发明提供以下技术方案:
9.一种基于深度学习的肾小球球囊基膜增厚的检测方法,包括以下步骤:
10.(1)将病理图片裁切成为小图;
11.(2)将裁切后的小图输入到训练好的深度学习分割网络模型中,模型会返回输入图片的分割掩码图;掩码图有两个通道,分别对应球囊基膜增厚的级别;
12.(3)计算肾小球轮廓上每个前景像素点到分割区域的前景像素点的欧氏距离,保留欧氏距离小于20像素的肾小球轮廓点,最终只对该范围对应的分割区域进行处理;
13.(4)计算步骤(3)得到的分割区域前景像素点到背景像素点的最大欧氏距离,根据最大欧氏距离判断球囊基膜的增厚程度。
14.进一步地,步骤(1)中,将病理图片裁切成为小图的过程:
15.先获得肾小球轮廓左上角坐标(l,t)和右下角坐标(r,b),用右下角坐标减去左上角坐标获得肾小球轮廓最小外接矩形的宽、高分别为w=r-l,h=b-t;取宽和高最大的一条边作为裁剪窗口的尺寸,轮廓的中心位置center=(l+r)/2,(t+b)/2;
16.利用肾小球轮廓和裁切中心以及旋转角度获得旋转后的肾小球的轮廓;从而获得裁切图片的裁切窗口坐标和对应轮廓。
17.进一步地,步骤(4)中,在第一个级别中球囊基膜增厚的阈值分别为5,8,10;第二个级别中阈值为15。
18.进一步地,步骤(2)中,深度学习分割网络模型采用u2net网络模型。
19.进一步地,步骤(2)中,深度学习分割网络模型训练过程中,设置参数:batch size=4,初始学习率为0.001,dropout比率0.5。
20.一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器在执行所述计算机程序时能够实现以上所述的对基于深度学习的肾小球球囊基膜增厚的检测方法中的步骤。
21.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时能够实现以上所述的对基于深度学习的肾小球球囊基膜增厚的检测方法中的步骤。
22.本发明的有益效果是:
23.本发明方法可以被用于检测肾小球球囊基膜及其增厚,本发明方法检测准确度高,效率高;本发明方法可以为后续相关疾病的诊断与治疗提供了准确的依据。本技术基于深度学习的方法,使得模型具有更好的鲁棒性和泛化能力,相比现有的检测法能够获得较好的准确性,并能提高就检测效率。
附图说明
24.图1是基于深度学习的肾小球球囊基膜增厚的检测方法流程图。
25.图2是计算机设备示意图。
26.图3是输入模型的病理图片。
27.图4是模型输出的第一通道的掩码图示例。
28.图5是模型输出的第二通道的掩码图示例。
29.图6是图5中a区域的掩码图片。
具体实施方式
30.以下结合附图对本发明的技术方案做进一步详细说明,应当指出的是,具体实施方式只是对本发明的详细说明,不应视为对本发明的限定。
31.实施例1
32.一种基于深度学习的肾小球球囊基膜增厚的检测方法,包括以下步骤:
33.(1)输入一张病理图片,用已知的肾小球轮廓,将大图裁切成为小图;
34.(2)将裁切后的小图输入到训练好的深度学习分割网络模型中,模型会返回输入图片的分割掩码图;掩码图有两个通道,分别对应球囊基膜增厚的两个级别。第一个级别可以用于判断基底膜增厚程度,第二个级别可以用于判断分层纤维化程度。基底膜(即基膜)增厚到一定程度就会发生分层,达到了分层纤维化这种病变后,再判断分层纤维化的严重
程度。所述分割网络模型可以用于分割基底膜和分层纤维化区域。
35.(3)计算肾小球轮廓上每个前景像素点到分割区域的前景像素点的欧氏距离,保留欧氏距离小于20像素的肾小球轮廓点,最终只对该范围对应的分割区域进行处理;
36.(4)然后计算步骤(3)得到的分割区域前景像素点到背景像素点的最大欧氏距离,根据最大欧氏距离判断两个级别中球囊基膜的增厚程度。
37.在一些优选的方式中,步骤(1)中,将大图裁切成小图的过程:
38.先获得肾小球轮廓左上角坐标(l,t)和右下角坐标(r,b),用右下角坐标减去左上角坐标获得肾小球轮廓最小外接矩形的宽、高分别为w=r-l,h=b-t;取宽和高最大的一条边作为裁剪窗口的尺寸,轮廓的中心位置center=(l+r)/2,(t+b)/2;利用肾小球轮廓、裁切中心以及旋转角度获得旋转后的肾小球的轮廓;从而获得裁切图片的裁切窗口坐标和裁切后的肾小球的轮廓。
39.在一些优选的方式中,步骤(2)中,深度学习分割网络模型的训练主要包括数据预处理和模型搭建两部分。
40.数据预处理阶段:主要剔除一些异常的数据集(也即会影响模型训练的数据集),然后制作分割掩码图片,分割掩码图片的制作过程为:先利用np.zeros()函数生成一张与训练图片一样大小的图片。然后根据标注的json文件,将肾小球内部的轮廓画在上面的掩码图片中,这样就得到训练图片的掩码图片。所述json文件里面存储了整张病理图片的信息(图片名称,肾小球轮廓信息,标签等信息)。
41.第二步搭建网络,使用u2net网络模型,该模型来源于一种开源的模型,基于unet结构。
42.将数据输入到搭建好的网络模型中,输入模型的值进行上采样得到一张预测掩码,然后预测掩码和上面制作的掩码图片用交叉熵损失函数进行误差计算,得到的误差通过反向传播算法进行传播并更新权重和偏置参数。按照这样的方式迭代预设的轮次后(这里设置的轮次是200轮)停止。
43.在模型的训练中主要设置参数:batch size=4,初始学习率为0.001,dropout比率0.5。
44.在一些优选的方式中,步骤(3)中,利用opencv函数distancetransform()计算欧氏距离,可用于判断肾小球轮廓上每个前景像素点到分割区域的前景像素点的欧氏距离小于20像素的肾小球轮廓点,最终只对该范围对应的分割区域进行处理。
45.如果肾小球轮廓上的前景像素点到最近的分割区域的前景像素点的距离大于肾小球轮廓线宽度20像素点,那么就认为该点远离分割得到的区域,也即分割得到的区域不是该点附近的基膜,此处判断的目的是为了确定分割得到的区域相对肾小球轮廓的有效位置,如果离肾小球轮廓边界太远了,那说明就不是基底膜。
46.按这种方法将肾小球轮廓中的所有点都进行一次判断,最终可以判断出靠近肾小球轮廓边界附近的分割区域,这样可以减少计算量,不用去计算跟轮廓边界距离太远的部分。
47.在一些优选的方式中,步骤(4)中,利用opencv函数distancetransform计算分割区域前景像素点到背景像素点的最大欧氏距离。
48.在第一个级别中球囊基膜增厚的阈值分别为5,8,10,这3个阈值对应4种增厚程
度,也即4个类别的增厚标签。第二个级别中阈值为15,将增厚程度分为两个类别。
49.在一些优选的方式中,利用opencv函数distancetransform计算出一批数据(1000多张图片)中最大欧氏距离,然后根据kmeans聚类得到阈值。
50.此处阈值的判断:先计算每一个前景像素点与其最近的背景像素点之间的距离dist。然后取它们中最大的距离dist
max
,这个距离分别与阈值thresh=[5,8,10,15]进行比较,第一个满足dist
max
《thresh[i]的阈值,那么取该阈值对应的标签作为基膜增厚程度的标签,其中i表示标签的索引;具体实施过程中标签分别用['kg1_bt1','kg1_bt2','kg1_bt3','kg1_bt4','kg1_bt5']表示。
[0051]
dist
max
小于5:说明肾小球球囊基膜正常无增厚;
[0052]
dist
max
大于等于5小于8:说明肾小球球囊基膜非常轻微增厚,
[0053]
dist
max
大于等于8小于10:说明肾小球球囊基膜轻度增厚;
[0054]
dist
max
大于10:说明肾小球球囊基膜中度增厚;
[0055]
除了这些情况判断为非常严重增厚。
[0056]
第二个级别中,阈值为15,
[0057]
dist
max
小于15:表示肾小球球囊基膜轻微分层纤维化;
[0058]
dist
max
大于等于15,说明肾小球球囊基膜严重分层纤维化。
[0059]
最终得到分割后的球囊基膜的轮廓、球囊基膜增厚类别和得分。所述得分指的是:掩码图片中非零元素位置的平均值。掩码图片中非零元素的位置可以采用numpy.nonzero()得到,本发明不对其进行改进。
[0060]
本实施例中,图4是模型输出的第一通道的掩码图示例,根据dist
max
的值判断出此图中肾小球球囊基底膜轻度增厚。图5是模型输出的第二通道的掩码图示例。图6是图5中a区域的掩码图片,单独对a区域进行分析,根据dist
max
的值判断得到基底膜严重分层纤维化。
[0061]
本实施例中,从输入图片到得到检测结果,使用的时间为:0.3844ms,准确率:98.21%。
[0062]
实施例2,参照附图2。
[0063]
在本实施例中,提供了一种计算机设备100,包括存储器102、处理器101及存储在存储器102上并可在处理器101上运行的计算机程序103,处理器101执行计算机程序103时能够实现上述实施例1所提供的基于深度学习的肾小球球囊基膜增厚的检测方法中的步骤。
[0064]
实施例3
[0065]
在本实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时能够实现上述各个实施例所提供的基于深度学习的肾小球球囊基膜增厚的检测方法中的步骤。
[0066]
在本实施例中,所述计算机程序可以是实施例2中的计算机程序。
[0067]
在本实施例中,所述计算机可读存储介质可以被实施例2中的计算机设备所运行。
[0068]
本领域普通技术人员可以理解实现上述实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所
提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0069]
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例的所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0070]
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对保护范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1