一种基于深度学习的尘肺检测方法与系统与流程

文档序号:15389707发布日期:2018-09-08 00:59阅读:261来源:国知局

本发明涉及针对ct图像的尘肺检测技术,特别是涉及一种基于深度学习的尘肺结节检测技术。



背景技术:

随着人口数量、肺部医疗需求的不断增加,迫切需要在肺部医疗方面加快结节检测速度与质量。而其中尘肺的诊断鉴别问题尤为突出。传统的尘肺鉴别诊断方法需要对患者进行肺穿刺活检、需要参考患者历次x光线胸片、病例摘要等。

由于尘肺的诊断鉴别需要医生进行多角度、长时间的观察,所以其存在以下缺陷:(1)病人无法立马得到确切的诊断结果,影响生活和工作以及后续的治疗;(2)传统的方法过程复杂,需要医生花费大量的精力;(3)诊断结果主观依赖性强,不同的医生可能有不同的诊断结果。



技术实现要素:

本发明的目的在于提供一种基于深度学习的尘肺结节检测技术,能自动根据肺部的ct图像进行诊断,减少医生的负担。

为了实现上述目的,本发明提供了以下技术方案:

本发明提供一种尘肺结节的检测方法,包括以下步骤:

s1、转化dicom格式的ct图像为numpy数组格式的肺部图像并读取该ct图像数据信息;

s2、进行形态学操作得到只保留肺部实质的实质图像;

s3、将实质图像分割成若干个小块的小块图像;

s4、将这些小块图像送入卷积神经网络进行尘肺结节的筛选及诊断,并得到检测结果;

s5、将检测结果保存为csv格式。

其中,步骤s1中,numpy数组的各个维度为n、h、w,n代表图像的通道,h代表图像的高度,w代表图像的宽度;ct图像数据信息指的是dicom格式数据中的病人信息及ct图像的长和宽及图片像素之间的间隔信息。

步骤s2中,形态学操作的具体操作步骤如下:

s2.1、使用大小为450的阈值,得到肺部图像的二值图像;

s2.2、清除二值图像中的连接到边缘的点;

s2.3、只保留步骤s2.2所得到的图像中的两大轮廓,即左右肺部实质;具体为,找到并保留该图像中面积最大的两个区域,该区域由相邻的值为1的像素点构成;

s2.4、对步骤s2.3所得到的图像进行腐蚀操作,再进行闭运算,再进行填充空洞;然后,以得到的图像作为掩膜,处理未进行步骤s2的肺部图像输出相应的实质图像;其中,采用掩膜处理肺部图像的过程为,将掩膜与肺部图像中的每个像素一一对应,若掩膜中的某像素点值为0,则将图像中的这个像素点的值置为0。

步骤s3中,实质图像分割的具体分割步骤如下:

s3.1、对实质图像进行填充使得宽和高符合分割标准;

s3.2、按照每一小块边长64及步长64进行分割;

s3.3、返回分割好的小块图像数组,得到小块图像。

步骤s4中,卷积神经网络的模型包括特征图产生、模块筛选模块和尘肺诊断模块,具体内容如下:

特征图产生模块使用残差神经网络,输出的特征图f1的通道为512,该特征图f1的宽和高均为送入神经网络的小块图像的宽和高的1/8;

筛选模块的输入为特征图产生模块的输出,进行一次卷积,得到通道为512、宽高为分割后的小块图片1/16的特征图f2,从中得到h/16*h/16个512维的特征向量送入分类器进行分类,每一个512维特征向量对应分割后的小块图片的的1/16的信息,进而,分类器判断特征图f2区域中是否有尘肺结节,若有尘肺结节则对特征图产生模块的输出进行标注,将含尘肺结节的特征图f2区域标注在特征图f1中;

尘肺诊断模块的输入是被筛选模块标注的特征图产生模块的输出,进行一次卷积操作,得到维度为512维长和宽为1的特征图f3,行一次全卷积,输出特征图f3区域中的尘肺结节的个数以及其在肺部图像中的坐标区域。

与现有技术相比,本发明具有以下优点:

1、本发明通过对ct图像进行转化、形态学操作、筛选,检测尘肺结节的个数以及所在的坐标区域,实现尘肺症状的自动诊断,减少了尘肺鉴别需要大量医疗资源的问题。

2、本发明可以在较短时间内根据胸部ct图像进行诊断,减少了患者的等待时间,为后续的治疗争取了时间。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

图1为本发明的实施例的检测方法的流程图;

图2为本发明的实施例的检测系统的结构框图;

图3为本发明的实施例的残差块的示意图;

图4为本发明的实施例的pre模块的示意图;

图5为本发明的实施例的layer1的示意图;

图6为本发明的实施例的神经网络模型的示意图。

具体实施方式

以下结合附图对本发明的实施例进行说明,应当理解,此处所描述的实施例仅用于说明和解释本发明,并不用于限定本发明。

实施例1

如图1所示,本实施例1提供的一种基于深度学习的尘肺结节检测方法,包括以下步骤:

步骤s1、ct机扫描出一个患者完整的胸部图像,启动图像转化程序,转化dicom格式的ct图像为numpy数组格式的肺部图像并读取该ct图像数据信息。

步骤1中,ct图像信息指的是dicom格式数据中的病人信息及ct图的长和宽及图片像素之间的间隔。numpy数组的各个维度为n,h,w。n代表图像的通道,h代表图像的高度,w代表图像的宽度。

步骤s2、进行形态学操作得到只保留肺部实质的实质图像。

步骤2中,形态学操作具体操作步骤如下:

s2.1、使用大小为450的阈值,得到肺部图像的二值图像。其中,二值图像的含义为:图像中某一像素点的值若大于450则将其重新置为0,若小于450则重新置为1。

s2.2、清除二值图像中的连接到边缘的点。其中,连接到边缘的点的含义为:此点处于图像的某一边且值为1。

s2.3、只保留步骤s2.2所得到的图像中两大轮廓,即左右肺部实质。其中,保留两大轮廓的具体过程是:找到二值图像中面积最大的两个区域,该区域由相邻的值为1的像素点构成。

s2.4、对s2.3中得到的图像进行腐蚀操作,再进行闭运算,再进行填充空洞;得到的图像作为掩膜,处理未进行步骤2的肺部图像,具体过程为将掩膜与该图像中的每个像素一一对应,若掩膜中的某像素点值为0,则将该图像中的这个像素点的值置为0;处理后的图像作为步骤2的输出。其中,腐蚀操作使用一个半径为2的平整的盘形结构作为掩膜,闭运算使用一个半径为10的平整的盘形结构作为掩膜,填充空洞使用罗伯茨交叉算子(robertscrossoperator)。

步骤s3、将图像送如分割程序,将实质图像分割成若干个小块的小块图像。

步骤3中,实质图像分割的分割方法如下:

s3.1、对实质图像进行填充使得宽和高符合分割标准;

s3.2、按照小块边长64、步长64进行分割;

s3.4、返回分割好的小块图像数组,得到小块图像。

步骤s4、将这些小块图像送入卷积神经网络进行尘肺结节的筛选及诊断,并得到检测结果。

步骤4中,卷积神经网络的模型内容大致如下:

特征图产生模块使用残差神经网络,输出的特征图f1的通道为512,宽和高为送入神经网络的小块图片的宽和高的1/8;

筛选模块的输入为特征图产生模块的输出,进行一次卷积,得到通道为512、宽高为分割后的小块图片1/16的特征图f2,从中得到h/16*h/16个512维的特征向量送入分类器进行分类,所述的每一个512维特征向量对应分割后的小块图片的的1/16的信息。分类器判断区域中是否尘肺结节,并将特征图产生模块的输出进行标注。

尘肺诊断模块的输入是被筛选模块标注的特征图产生模块的输出,包括一次卷积操作,得到维度为512维长和宽为1的特征图f3,行一次全卷积,全连接网络输出这个区域中的尘肺结节的个数以及其在肺部图像中的坐标区域。

步骤s5、将检测结果保存为csv格式,即,将包括尘肺结节个数以及其所在的坐标区域的检测结果保存到csv格式文件中。

实施例2

如图2所示,本实施例2提供的一种基于深度学习的尘肺结节检测系统,包括ct机1、ct图像转化模块2、肺部实质分割模块3、尘肺病灶区域分割和判定模块4和检测结果保存模块(检测结果保存模块保存数据的csv文件)5,ct图像转化模块2、肺部实质分割模块3、尘肺病灶区域分割和判定模块使用python语言编程;ct机扫描到的ct图像输入ct图像转化模块2,肺部实质分割模块3的输入为ct图像转化模块2的输出,尘肺病灶区域分割和判定模块4的输入为肺部实质分割模块3的输出,检测结果保存模块5保存到数据库中的数据为尘肺病灶区域分割和判定模块4的输出;具体内容如下:

ct图像转化模块:用于转化dicom格式的ct图像为numpy数组格式的肺部图像并读取该ct图像数据信息;

肺部实质分割模块:用于进行形态学操作得到只保留肺部实质的实质图像;

尘肺病灶区域分割及判定模块:其包括图像分割模块和尘肺结节检测模块,图像分割模块用于将实质图像分割成若干个小块的小块图像;尘肺结节检测模块用于将这些小块图像送入卷积神经网络进行尘肺结节的筛选及诊断,并得到检测结果;

检测结果保存模块:用于将检测结果保存为csv格式。

其中,numpy数组的各个维度为n、h、w,n代表图像的通道,h代表图像的高度,w代表图像的宽度。

ct图像数据信息指的是dicom格式数据中的病人信息及ct图像的长和宽及图片像素之间的间隔信息。

形态学操作的具体操作步骤如下:

a1、使用大小为450的阈值,得到肺部图像的二值图像;

a2、清除二值图像中的连接到边缘的点;

a3、只保留步骤a2所得到的图像中的两大轮廓,即左右肺部实质;具体为,找到并保留该图像中面积最大的两个区域,该区域由相邻的值为1的像素点构成;

a4、对步骤a3所得到的图像进行腐蚀操作,再进行闭运算,再进行填充空洞;然后,以得到的图像作为掩膜,处理未进行肺部实质分割的肺部图像输出相应的实质图像;其中,采用掩膜处理肺部图像的过程为,将掩膜与肺部图像中的每个像素一一对应,若掩膜中的某像素点值为0,则将图像中的这个像素点的值置为0。

实质图像分割的具体分割步骤如下:

b1、对实质图像进行填充使得宽和高符合分割标准;

b2、按照每一小块边长64及步长64进行分割;

b3、返回分割好的小块图像数组,得到小块图像。

卷积神经网络的模型包括特征图产生、模块筛选模块和尘肺诊断模块,具体内容如下:

特征图产生模块使用残差神经网络,输出的特征图f1的通道为512,该特征图f1的宽和高均为送入神经网络的小块图像的宽和高的1/8;

筛选模块的输入为特征图产生模块的输出,进行一次卷积,得到通道为512、宽高为分割后的小块图片1/16的特征图f2,从中得到h/16*h/16个512维的特征向量送入分类器进行分类,每一个512维特征向量对应分割后的小块图片的的1/16的信息,进而,分类器判断特征图f2区域中是否有尘肺结节,若有尘肺结节则对特征图产生模块的输出进行标注,将含尘肺结节的特征图f2区域标注在特征图f1中;

尘肺诊断模块的输入是被筛选模块标注的特征图产生模块的输出,进行一次卷积操作,得到维度为512维长和宽为1的特征图f3,行一次全卷积,输出特征图f3区域中的尘肺结节的个数以及所在的坐标区域。

下述将对本发明实施例1及实施例2所使用的卷积神经网络作具体说明。

先使用深度学习框架pytorch构建起的神经网络模型,即图1中的尘肺病灶分割和检测模块4,也即图2中的产生特征图5、筛选6、尘肺诊断7所使用的模型,使用标注的数据进行学习参数。

神经网络的大致组成见图5,由pre模块、layer1模块、layer2模块、layer3模块、layer4模块、分类器、layer5模块以及全卷积模块组成。

pre模块、layer1模块、layer2模块、layer3模块对应本尘肺检测系统流程图2中产生特征图5;layer4、分类器对应尘肺检测系统流程图2中筛选6;layer5、全卷积对应尘肺诊断7。

神经网络模型具体组成如下:

pre模块见图3的具体参数为:卷积1、2中的卷积核个数为64,卷积核大小为3,步长为1,输入的每一条边补充0的层数(padding)为1。relu为线性整流函数(rectifiedlinearunit,relu),表达式为f(x)=max(0,x)。

layer1模块见图5,两个残差块中的卷积核的个数都为128,卷积核大小都为3,步长都为1,输入的每一条边补充0的层数都(padding)为1;最大池化中卷积核大小为2。

layer2模块结构与layer1模块结构相仿,不同之处在于每一次卷积的卷积核个数为256。

layer3模块结构与layer1模块结构相仿,不同之处在于layer3中有3个残差块,每一次卷积的卷积核个数为512。

layer4模块只包含一个卷积层,卷积核个数为512,卷积核大小为3,步长为1,输入的每一条边补充0的层数(padding)为1。

分类器由一次卷积构成,卷积核个数为1,大小为1,步长为1,输入的每一条边补充0的层数(padding)为0。

layer5模块只包含一个卷积层,卷积核个数为卷积核个数为512,卷积核大小为3,步长为1,输入的每一条边补充0的层数(padding)为1。

最后的全卷积由一次卷积构成,卷积核个数为1,大小为1,步长为1,输入的每一条边补充0的层数(padding)为0。

应当理解,本发明上述实施例及实例,是出于说明和解释目的,并非因此限制本发明的范围。本发明的范围由权利要求项定义,而不是由上述实施例及实例定义。

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