一种基于深度学习3D目标检测的肺部CT图像识别方法与流程

文档序号:21369399发布日期:2020-07-04 04:45阅读:865来源:国知局
一种基于深度学习3D目标检测的肺部CT图像识别方法与流程

本发明涉及计算机图像处理技术领域,尤其是涉及一种基于深度学习3d目标检测的肺部ct图像识别方法。



背景技术:

随着大数据时代的到来,各医院中产生了海量的肺部ct图像数据,对这些肺部ct图像的筛查处理,可以实现对肺部异常的检测识别,以肺结节的检测为例,检测肺结节可以辅助早期肺癌的发现,利用医院数据库中的肺部ct图像数据,可以通过基于深度学习的图像处理,筛查出结果为阳性的ct图像,通过筛查,可以确定哪些样本需要采取其他医疗手段进行后续肺癌的确诊及治疗。

传统肺部ct图像识别算法的候选区提取算法有几类,一类是基于阈值简单寻找图像中所有高ct值区域,但是由于肺部包含大量血管、气管等其他组织,这种做法会大大提高候选区数量,从而降低算法整体的效率和准确率,另一类方法基于待识别物的形态学特征,但是这类方法往往会漏检具有非常规形状的待识别物,以肺结节检测为例,虽然大部分肺结节为圆形,但仍会存在具有空洞、毛刺、磨玻璃结构的肺结节,且这类结节具有比较高的恶性风险,所以这样的漏检必须避免。第三种方法是基于深度学习的卷积神经网络的方法,但是大部分是以2d卷积为主,由于肺部ct数据是3d图像,若用2d卷积或者循环网络,则会丢失深度信息使之检测出来的结果会将部分血管及其分支、肺壁等被误判为待识别物,造成假阳性比较多的现象。为了降低假阳率,很多方法是另外设计一个深度卷积网络解决假阳性问题,其缺点是严重的拖慢整个肺部ct图像识别的速度,并且gpu占比较高,可落地实用性和可拓展性不大。



技术实现要素:

本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种假阳性率较低且鲁棒性强的基于深度学习3d目标检测的肺部ct图像识别方法。

本发明的目的可以通过以下技术方案来实现:

一种基于深度学习3d目标检测的肺部ct图像识别方法,包括以下步骤:

s1:ct图像预处理;

s2:生成图像样本,构建设定尺寸数据块的训练集;

s3:构建3d目标检测模型;

s4:训练3d目标检测模型;

s5:利用训练好的3d目标检测模型,识别ct图像中是否存在待识别物,若存在,则输出待识别物的坐标和尺寸。

进一步地,所述的步骤s2具体包括:

s201:提取预处理过后的ct图像;

s202:以待识别物为中心,在平面上选取设定尺寸大小,在厚度上选取设定层数;

s203:将超过肺部区域部分的骨质hu值补全为180,图像样本;

s204:选取80%的正样本和20%负样本,所述的正样本为至少包含一个待识别物的图像样本,所述的空样本为正常的图像样本;

s205:对包含不同尺寸的待识别物图像样本,按照相同的比例进行采样,得到数据块,并进行归一化操作,得到包含设定尺寸数据块的训练集。

进一步地,所述的步骤s3具体包括:

s301:构建编码器中的widegroupattentionblock聚合块;

s302:构建编码器;

s303:构建解码器;

s304:构建filterrpn模块;

s305:构建rpn模块。

更进一步地,所述的widegroupattentionblock聚合块中,各分组之间采用不同的膨胀卷积率。

更进一步地,所述的解码器和编码器之间的侧连接为级联。

进一步地,所述的步骤s4具体包括:

s401:生成filterrpn模块的标签值,以待识别物位置为圆心,并以待识别物直径的0.8倍为半径,在3d层面构建一个球体,球内像素点设为1,球外像素点设为0。

s402:构建损失函数;

s403:预训练设定轮次后,使用步骤s302中构建的编码器进行训练;

s404:训练达到设定轮次后,计算最后设定个数轮次的参数平均值,作为最后的参数取值,完成训练。

更进一步地,构建损失函数时,首先对坐标值进行处理,其表达式为:

其中,(x,y,z)为待识别物的坐标,r为待识别物的直径,dx为x的要回归的坐标变换,dy为y的要回归的坐标变换,dz为z的要回归的坐标变换,dr为r的要回归的半径变换,gx为待识别物的x坐标,ax为对应位置的锚框的x坐标,gy为待识别物的y坐标,ay为对应位置的锚框的y坐标,gz为待识别物的z坐标,az为对应位置的锚框的半径,gr为待识别物的半径,ar为对应位置的锚框的半径。

更进一步地,所述的损失函数loss的表达式为:

loss=lreg+λlcls+γlfilterrpn

lfilterrpn=αlpos+(1-α)lneg

其中,lreg为坐标回归损失,lcls为二类交叉熵函数,lfilterrpn为二类交叉熵函数,λ为平衡因子,γ为平衡因子,s损失函数为smoothl1损失函数,为预测值,dk为回归的目标值,α为平衡因子,lpos为正样本的损失值,lneg为负样本的损失值,p为预测的概率值。

进一步地,所述的步骤s5中,采用滑窗拼接式进行预测,其中步长为12。

进一步地,所述的步骤s1具体包括:

s101:将ct图像转化为8位256级的灰度图,并对所有切片重新采样成1×1×1大小;

s102:对切片数据进行成像并利用高斯滤波对切片进行高斯平滑,所述的高斯平滑过程为:

s103:设定hu阈值为-604,对肺部切片二值化,将最大连通域小于30mm2的部分剔除并去除离心率大于0.99的部分,得到两个连通域最大的部分;

s104:腐蚀孔洞并进行孔洞填充;

s105:生成包围两个肺部的凸包,并膨胀形成一个连通域;

s106:将生成的二值化图像和原图像进行叠加得到肺部图像。

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

1)采用3d的卷积神经网络来构建编码器和解码器,利用了encoder-decoder的模型架构,通过对编码器设计特殊的widegroupattentionblock聚合块,可以考虑不同场景需求下的各个应用,使得网络在小批量样本有很多的噪音的情况下仍可以得到比较好的效果,从而得到有更高的精准性和鲁棒性的模型,有效降低检测结果的假阳性率,不需要另外设计网络去除假阳性;

2)本发明的目标检测模型中,利用编码器和解码器结构,通过编码器提取语义特征,解码器进行细节修补,并且通过侧连接进行细节补全,同时通过fiterrpn模块进行加速训练和推断,可以很好地完成肺部ct图像的识别,对其中待识别物的位置和类型进行检测,同时能够提高检测精度和速度;

3)本发明通过对ct图像进行重采样后,切取1283大小的数据块,使得分布和每个医院数据库中的数据分布大体一致,从而得到更加精准的检测结果;

4)由于医院的算力不足,从而只能小批量数据训练算法,然而小批量数据对模型的性能产生很大的影响,本发明通过特殊设计编码器,加入filterrpn模块,降低由于小批量数据对模型的影响;

5)本发明中,大小尺寸不同的待识别物的检测识别由不同膨胀卷积率负责,并且自主进行监督训练,这样会使得尺寸方差很大的肺结节以高召回率检出。

附图说明

图1为ct切片进行图像预处理的流程图,其中,图(1a)为,二值化之后的图像,图(1b)为去除边缘之后的图像,图(1c)为保存最大连通域之后的图像,图(1d)为腐蚀操作之后的图像,图(1e)为填充孔洞之后的图像,图(1f)为生成凸包之后的图像;

图2为目标检测模型的结构流程图;

图3为编码器中的聚合块的组成结构示意图;

图4为filterrpn的标签示意图。

具体实施方式

下面结合附图和具体实施例对本发明进行详细说明。显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。

实施例

本发明提供一种基于深度学习3d目标检测的肺部ct图像识别方法,该方法可以用于对肺部ct图像中3d立体的异常物进行识别和检测,并输出其位置和尺寸等相关信息,本实施例中以肺部ct图像中肺结节的检测为例,该方法具体包括以下步骤:

1.ct图像数据预处理:包括ct序列重采样、高斯滤波去除噪音点、剥离无关组织、分割肺部掩模和曲率调整等;

2.生成图像样本,形成训练集:该步骤是为了适配深度卷积网络,进行固定尺寸数据块的生成;

3.搭建目标检测模型:包括卷积层主干网络部分的搭建、反卷积层解码器部分的搭建和聚合块(widegroupattentionblock)的搭建,其中卷积层的主干网络部分用作编码器提取特征,反卷积层的解码器部分用作肺结节区域的检测,聚合块(widegroupattentionblock)是为了解决小批量带来的噪音问题;

4.模型训练;

5.采用滑窗拼接式预测得到肺结节的坐标和尺寸。

每个步骤的具体过程如下:

1.ct图像数据预处理

(1)将ct图像转化为8位256级灰度图,同时为了保持同构,需要将所有切片全部重新采样成1mm×1mm×1mm大小。采样的方法只需要求出原间隔要素与新采样间隔要素之间的放缩因子,然后将利用该放缩因子对原图像进行插值采样即可;

(2)由机器所产生的切片数据进行成像后,需要用高斯滤波对切片进行高斯平滑:

(3)设定hu阈值为-604,二值化肺部切片,将最大连通域小于30平方毫米的部分进行剔除,去除离心率大于0.99的部分,得到两个连通域最大的部分;

(4)腐蚀孔洞后,进行孔洞填充,使得只保持两个最大的连通域;

(5)寻找包含两个最大连通域的凸包,即包围两个肺部的凸包,并且使之膨胀得到一个连通域;

(6)将生成的二值图像和原图像进行叠加,得到肺部图像的感兴趣区域;

2.生成图像样本,形成训练集

在训练模型之前需要将数据采取固定的组织方式进行生成训练集,其具体过程如下:

(1)以肺结节为中心,平面上大小选取128×128,厚度上选取128层;

(2)如果肺结节是属于肺壁边缘处或者距离肺壁边缘不远处,在进行裁剪时,就可能超过肺部区域,因此需要将超过的部分进行骨质hu值补全,hu值取180;

(3)挑选正负样本,挑选80%的正样本和20%的负样本组成训练集,其中正样本至少包含一个肺结节,20%为负样本则不包含任何结节;

(4)进行均衡抽样,即对包含不同尺寸的肺结节数据样本,按照相同的比例进行采样,得到数据块;

(5)得到数据块后,根据统计灰度值的均值和方差进行归一化操作。

3.目标检测模型的搭建

模型的搭建按照下述过程进行:

(1)构建编码器中的聚合块,并且分组之间采用不同的膨胀卷积率,主要分为1x1和3x3膨胀率,其中在降采样之前,需要进行一定倍数的上采样,增加滤波器数目,从而将特征进行高维稀疏,采用不同的膨胀率以适应不同大小的肺结节,从而可以更好的获取尺寸方差大的肺结节的图像特征,如图3所示;

(2)构建编码器直到下采样16倍,下采样16倍可以获得足够好的语义特征。如下表所示,其中gd表示的是分组膨胀卷积;

(3)构建解码器,解码器和编码器之间的侧连接采用级联的方式进行结合,级联的方式结合特征,有助于梯度的流动,容易训练。如下表所示;

(4)构建rpn和filterrpn,主要是由一层卷积层生成的单通道的特征图,其中filterrpn可以过滤无效的锚框计算,从而加速训练以及前向推断的过程,并且在计算的时候可以起到不用减少计算参数进行加速。;

(5)整体的流程如图2所示,本发明的编码器采用特殊设计,加入filterrpn模块,由于高维打散特征以及不同膨胀率的引入,使得在小批量数据训练中,模型仍能保持高召回的性能,以及可以多尺寸多角度的获取肺结节特征,使得模型对于噪音更加的鲁棒。其中数据的处理以及输入输出的过程和普通卷积网络算法相同;

4.模型的训练

(1)生成filterrpn模块的标签值,以肺结节位置为圆心,按照肺结节直径的0.8倍当作半径画圆,其形状在3d层面上呈现为一个球体,但是在平面上呈现为一个圆。球内的像素点为1,球外的像素点为0,如图4所示;

(2)构建损失函数,首先对坐标值进行处理:

其中,(x,y,z)为肺结节的坐标,r为肺结节的直径,dx为x的要回归的坐标变换,dy为y的要回归的坐标变换,dz为z的要回归的坐标变换,dr为r的要回归的半径变换,gx为肺结节的x坐标,ax为对应位置的锚框的x坐标,gy为肺结节的y坐标,ay为对应位置的锚框的y坐标,gz为肺结节的z坐标,az为对应位置的锚框的r半径,gr为肺结节的r半径,ar为对应位置的锚框的半径。

训练模型时的目标函数loss的表达式为:

loss=lreg+λlcls+γlfilterrpn

lfilterrpn=αlpos+(1-α)lneg

其中,lreg为坐标回归损失,lcls为二类交叉熵函数,lfilterrpn为二类交叉熵函数,λ为平衡因子,γ为平衡因子,s损失函数为smoothl1损失函数,为预测值,dk为回归的目标值,α为平衡因子,lpos为正样本的损失值,lneg为负样本的损失值,p为预测的概率值。

(3)为了使用预训练权重即平滑过渡参数,先将解码器按照编码器结构进行构造,将解码器(decoder)构建成和编码器(encoder)相对称的结构,逆向生成ct数据块,进行预训练数个轮次,预训练时,损失函数为原图和生成图像的均方差,随后再改用步骤3中构建的编码器,并采用已经预训练的权重进行接下来的模型训练;

(4)进行训练100轮次后,计算最后5个轮次的参数的平均值,作为最后的权重。

4.预测得到肺结节的坐标和尺寸

将训练好的模型用于实例推断,过程如下:

(1)将图像按照数据预处理的步骤得到肺部实质;

(2)按照三维大小为128x128x128的数据组织以及步长为12pixel大小进行滑动预测,两个数据块在同一位置处得到肺结节的预测概率进行取平均,得到最终的预测概率。

本发明方法的敏感性在luna16数据集上达到97.20%。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的工作人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

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