本发明涉及肺结节检测技术领域,具体地,涉及基于跨模态的肺结节检测方法。
背景技术
在社会文明几千年的发展历史中,疾病一直是人类生命健康的一大威胁。肺癌是目前在世界范围内发病率最高的肿瘤,同时也是癌症的死因之首。由于缺乏早期诊断的有效措施,肺癌的治疗效果一直不是很理想,以致从上个世纪末开始死亡率明显超过其他各类癌症。目前,一期肺癌的5年生存率大约可达到60%到80%,而二期肺癌的5年生存率在40%到50%之间,如果肺癌能够在早期确诊,其治愈率并不低。计算机辅助检测(computer-aideddetection,cad)系统的开发可以用来帮助放射学家阅片,使得肺癌筛查更具成本效益。肺结节cad系统的开发给放射科医生的阅读过程带来了极大的便利,使得肺癌筛查计划更具成本效益。现有的cad系统主要包含肺结节候选区域检测和假阳性消除两个阶段。
肺结节候选区域的初步检测算法对提高整个系统的性能有重要意义。肺结节因其形状、大小以及类别之间差异较大,给初步检测带来了极大的困扰。针对不同的结节类型,发展出了不同的cad系统。实性结节的内部有填充物,边界明确、形状固定,与其他人体结构的差异明显,比较容易检测。2009年,murphy等人在《medicalimageanalysis》(医学图像分析)上发表的“alarge-scaleevaluationofautomaticpulmonarynoduledetectioninchestctusinglocalimagefeaturesandk-nearest-neighbourclassification”论文中提出一种基于三维手工特征的检测算法,对实性结节进行检测。他们先计算出每个体素的形状指数和曲率,利用阈值分类筛选出可能的种子点,而后利用k近邻(k-nearestneighbors,knn)算法,对结节候选区域进行分类。然而,亚实性结节灰度偏低,且过于松散,无法计算其形状指数,继而于2014年,jacobs等人在同本杂志中发表的“automaticdetectionofsubsolidpulmonarynodulesinthoraciccomputedtomographyimages”一文中利用灰度特性来进行结节候选区的检测,设定-350和-750亨氏单位(housefieldunit,hu)的上下阈值,获得兴趣区域,然后利用形态分割算法从候选区域中获得结节检测结果。随后,他们又发现大的实性结节和较小的实性结节在局部位置上形状指数不一致,同时灰度范围也无法被亚实性结节检测算法捕捉到,因此就引入了肺部分割步骤,来进一步缩小检测范围,提高正确率。由于一些大的实性结节往往贴近肋膜,且在灰度上与边缘差距较小,算法中采用了滚球法进行肺部分割,保证附着在边缘的结节能够充分保留。
卷积神经网络(convolutionalneuralnetwork,cnn)可以有效地学习出具有高分辨性的特征表达,常被应用到cad系统的假阳性消除步骤中。lo等人于1995年在《neuralnetworks》(神经网络)发表的“artificialconvolutionneuralnetworkformedicalimagepatternrecognition”一文中首次在检测中肺结节候选区域后,加入cnn网络作为最后的检测分类器。2016年,arnaud等人在《ieeetransactionsonmedicalimaging》(ieee医学影像会刊)“pulmonarynoduledetectioninctimages:falsepositivereductionusingmulti-viewconvolutionalnetworks”中提出了一种基于多视角的cnn进行假阳性消除,将结节候选区域从不同的视角切成二维切片,输入分类网络,将不同角度的结果进行融合得到最终的分类结果。
综上所述,现有的肺结节检测方法,不仅在特征提取方面还停留在手动设计特征方面,无法有效表征各种不同形态、大小的结节;另外,假阳性消除网络多使用二维深度网络进行分类,无法结合空间特征,检测精度不佳。
技术实现要素:
针对现有技术中的缺陷,本发明的目的是提供一种基于跨模态的肺结节检测方法。
根据本发明提供的一种基于跨模态的肺结节检测方法,包括:
从不同的数据集中获取原始ct图像,分割原始ct图像中的肺腔内部区域,得到肺腔内部区域图像;其中,不同数据集中的原始ct图像对应不同的模态;
通过循环一致生成对抗网络cyclegan对来自不同数据集的肺结节区域图像进行转换处理,得到统一模态的肺结节区域图像;
通过经过训练的3dunet网络对所述候选肺腔内部区域图像进行分割,提取出所述候选肺腔内部区域图像中的候选肺结节块;
通过经过训练的3ddensenet网络对所述候选结节块进行分类处理,删除假阳性的候选肺结节块,得到包含阳性肺结节的目标肺结节块。
可选地,所述分割原始ct图像中的肺腔内部区域,得到肺腔内部区域图像,包括:
根据预设的肺部组织ct值范围来分割出包含肺结节的肺腔内部区域图像。
可选地,所述根据预设的肺部组织ct值范围来分割出包含肺结节的肺腔内部区域图像,包括:
设置预设的肺部组织ct值为-350,对原始ct图像进行二值化处理,将灰度值高于阈值的部分划分为前景,以使得原始ct图像中的背景图像与前景图像分离;其中,二值化后的前景图像中包含有肺腔腔壁组织,背景图像中包含有肺腔内部区域和无用背景区域;
对所述前景图像进行孔洞填充,得到填充后包含整个肺腔的前景图像;
对所述填充后的前景图像进行形态腐蚀操作,得到去除设备噪声干扰的前景掩膜图像;
将所述前景的掩膜图像与原始ct图像进行内积运算,去除所述原始ct图像中的背景干扰,得到去干扰后的ct图像;
置预设的肺部组织ct值为-350,对去干扰后的ct图像进行二值化处理,将灰度值低于阈值的部分划分为前景,以使得去干扰后的ct图像中的目标背景图像与目标前景图像分离;其中,二值化后的目标前景图像中包含有目标肺腔内部区域;
对所述二值化后的目标前景图像进行膨胀处理,得到包含肺结节的肺腔内部区域图像。
可选地,来自不同数据集的候选肺结节区域图像对应的模态包括:原始模态a、目标模态b、负面模态c,其中:原始模态a是指包含了设备成像噪音、注射药剂的增强ct图像;目标模态b是指成像清晰的普通ct图像;负面模态c是指类似于小结节的非结节图像。
可选地,通过循环一致生成对抗网络cyclegan对来自不同数据集的候选肺结节区域图像进行转换处理,得到统一模态的候选肺结节区域图像,包括:
构建循环一致生成对抗网络cyclegan,所述cyclegan包括:分类器、第一生成对抗网络、第二生成对抗网络;所述第一生成对抗网络中包括:正向生成器、正向判别器;所述第二生成对抗网络中包括:逆向生成器、逆向判别器;其中:
分类器用于识别出目标模态b与负面模态c;
第一生成对抗网络用于将原始模态a转化为目标模态b;
第二生成对抗网络用于将目标模态b转化为原始模态a。
可选地,在通过循环一致生成对抗网络cyclegan对来自不同数据集的肺腔内部区域图像进行转换处理之前,还包括:
构建循环一致生成对抗网络cyclegan,并对所述cyclegan进行训练;其中,所述cyclegan的目标方程如下:
式中:
可选地,在通过经过训练的3dunet网络对所述候选肺腔内部区域图像进行分割,提取出所述候选肺腔内部区域图像中的候选肺结节块之前,还包括:
获取训练3dunet网络的正样本、负样本;其中:
正样本是根据标注的csv文件中的肺结节区域得出的,以标注的结节中心为提取的区域中心,提取大小为范围为(128,128,128)的区域块;然后对所述区域块进行旋转、翻转、平移的随机操作,取出数据增强后的区域中心处(64,64,64)的图像块作为最终的正样本;
负样本是在整个分割出的肺腔内部,按照步长进行打点,将打点位置作为候选负样本的区域中心,提取预设范围大小的图像块;并根据正样本数量,随机提取负样本,使得正负样本的数量比为1:1;
通过正样本、负样本对3dunet网络进行训练后,得到3dunet网络的权值分布,其中,3dunet网络的分割损失函数ldice为:
式中,nt为预测图像和实际值重合的部分,nx为预测图像中值为1的部分,而ny则为实际值为1的部分。
可选地,通过经过训练的3ddensenet网络对所述候选结节块进行分类处理,删除假阳性的候选肺结节块,得到包含阳性肺结节的目标肺结节块之前,还包括:
获取训练3ddensenet网络的正样本、负样本;其中:
正样本是根据标注的csv文件中的肺结节区域得出的,以标注的结节中心为提取的区域中心,提取大小为范围为(128,128,128)的区域块;然后对所述区域块进行旋转、翻转、平移的随机操作,取出数据增强后的区域中心处(64,64,64)的图像块作为最终的正样本;以及将推断出的与正样本重复度达到0.8以上的样本也作为最终的正样本;
负样本是在整个分割出的肺腔内部,按照步长进行打点,将打点位置作为候选负样本的区域中心,提取预设范围大小的图像块;
通过负样本、正样本训练3ddensenet网络,得到初步训练后的3ddensenet网络;
通过误判为假阳性的样本对初步训练后的3ddensenet网络进行迭代训练,直到假阳性的样本全部被正确识别时结束迭代训练,得到最终的单尺度3ddensenet网络。
可选地,通过经过训练的多个尺度3ddensenet网络对所述候选结节块进行分类处理,删除假阳性,还包括:
获取不同尺度3ddensenet网络模型的正负样本;其中:
正负样本的尺度分别为(48,36,32,24),不同大小的候选块训练出不同的3ddensenet网络模型;
在3ddensenet网络进行分类时,经过不同尺度的3ddensenet网络模型,分别产生不同的候选结节块,将不同网络模型的结果进行投票,将票数最高的候选结节块作为目标肺结节块。
与现有技术相比,本发明具有如下的有益效果:
本发明提供的基于跨模态的肺结节检测方法,通过循环一致生成对抗网络cycleconsistentgenerativeadversarialnetwork,cyclegan)进行图像转换,消除了设备的噪声,以及成像药剂引起的成像不同,从而减少了模态差异给模型训练带来的负面影响,实现跨模态对齐,对训练数据进行数据增强,从而提高了训练的多样性和有效性。利用3dunet进行肺结节预检测,基于分割的算法对肺结节进行概率估计,缩小候选的范围;有效提高了候选肺结节的检测精度,降低误检率。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1是检测算法的整体框架图。
图2是肺部分割流程示意图。
图3是cyclegan的网络框架图。
图4是cyclegan中生成网络结构图。
图5是3dunet网络结构图。
图6是denseblock的结构图。
图7是验证集上的检测结果示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
本实施例提供了一种基于跨模态对齐的增强肺结节检测方法,是一个利用深度卷积网络的系统检测方案,实现更敏感的结节检测的同时减少假阳性的数量。
本实施例是通过以下技术方案实现的。本实施例方法从数据增强和特征提取两个方面对系统框架进行性能增强。首先利用对抗生成网络对不同特性的图像进行模态转换,实现数据增强;而后利用3dunet网络提取结节特性,完成肺结节预检测;最后,利用3ddensenet更精细地提取结节和难例负样本的特征,实现假阳性删除。
步骤1:ct图像肺部分割
肺结节大小相对于整个肺部ct图像,所占比例很小,利用一系列形态操作可以分割出肺结节出现的肺腔内部结构,可以减少1/3的搜索空间,提高检测速度。
输入原始肺部ct图像,设置阈值为-350,进行图像二值化操作,使得背景与前景分离;由于肺腔内部的灰度值较低,也被划分为背景,对二值化结果进行优化,利用形态操作进行孔洞填充;优化后的二值图中仍然存在不少无效信息,利用腐蚀操作去除一些设备成像过程中带来的噪声,得到了前景的掩膜(mask);将得到的mask与原始输入ct图像进行内积运算,去除原图的背景干扰;设置阈值为-350,将得到的肺腔图像进行新一轮的二值化操作,将灰度值低于阈值的部分划分为前景;为了保留边界的一些结节,对二值图进行了膨胀操作,既能够填充mask中的一些小孔,又避免了过度分割造成的结节的丢失。
步骤2:图像跨模态对齐
为了提高模型性能,训练过程中,使用多个数据集中的数据进行训练。将来自不同数据集中的ct图像视为不同的图像模态,具体是指:原始模态a,包含了设备成像噪音、注射药剂的增强ct图;目标模态b,成像清晰的普通ct图像;负面模态c,类似于小结节的非结节图图像。不同数据集中的ct图像之间存在模态差异,这些差异消除了数据增强给模型训练带来的积极作用,甚至降低了模型性能,因此需要进行跨模态对齐。
针对不同模态的图像,引入两组生成对抗网络,进行图像变换,实现模态对齐。正向生成对抗网络包含了生成器g和判别器da,实现从原始模态a到目标模态b的变换映射;相对应的,逆向对抗生成网络包含了生成器gi和对应的判别器db,实现从目标模态b到原始模态a的变换映射。同时,为了避免生成类似于负样本的非结节,引入辅助分类器d,用于辨别目标模态与负面模态。
使用的cyclegan结构的目标方程包括三个部分:
a.对抗损失
两组生成对抗网络,给定的训练样本
其中,e*()是指针对数据分布*的数据期望值计算操作,log()是指对数操作,则正向生成对抗网络的优化目标为:
相对应的,逆向生成对抗网络的对抗损失可以表示为:
且网络的优化目标为:
b.循环一致性损失
任意一张图片a连续经过正向变换和反向变换,应该与原图相同,即具有循环一致性:a→g(a)→gi(g(a))≈a,此时,则可以利用距离函数计算两张图片之间的误差。同样的,反向的循环一致性为:b→gi(b)→g(gi(b))≈b,则循环一致损失可以定义为:
其中,||||1是计算l1损失。
c.辅助分类损失
辅助分类器d用来分辨目标模态b与负面模态c,辅助分类器d的加入可以对正向生成器g进行监督,保证每次生成的图片尽可能地远离负面模态c,损失方程为:
d.最终的目标方程
综合三个部分的损失,得到最终的目标方程为:
此时的优化目标为:
步骤3:肺结节预检测
基于分割网络3dunet进行肺结节预检测,从而得到结节的概率分布图。为了提升模型性能,对提取出的正样本增进数据增强,并将随机采用的负样本进行1:1训练。正样本是根据标注的csv文件中的肺结节区域得出,以标注的结节中心为提取的区域中心,提取大小为(128,128,128)的区域;将初步提取出的正样本块进行旋转、翻转、平移的随机操作,取出数据增强后的区域中心处(64,64,64)的图像块作为最终的正样本;相对于尺寸较小的正样本,整个肺部ct中存在大量的负样本,为了保证样本的平衡性,在负样本提取过程中,在整个分割出的肺腔内部,按照步长进行打点,作为候选负样本的区域中心。根据已有正样本数量,随机提取负样本,保证正负样本的比例为1:1.
采用基于分割网络的检测算法,可以提高检测精度,同时减少训练时间,其损失函数为:
其中,nt表示预测图像和实际值重合的部分,nx为预测图像中值为1的部分,而ny则为实际值为1的部分。
步骤4:假阳性删除
利用3ddensenet对步骤s2中提取出的候选结节块进行分类,引入denseblock增强了网络结构的紧致度,提升了网络的分类性能。训练过程中,正样本既包括根据标注文件提取出的正样本,也包含了预检测网络推断出的与正样本重复度达到0.8以上的样本;整个迭代过程中,先采用随机打点的方式提取负样本,而后利用随机负样本训练出的模型进行推断,将误判的假阳性作为难例负样本加入模型迭代训练中。
训练与推断过程中还采用了多尺度融合的策略。训练过程中,提取出大小为48,36,32,24的候选块分别进行模型训练,而推断过程中,利用模型投票的方式得出最终的推断结果。
下面结合具体实例对本实施例进一步描述。
实施例中采用的数据集由自行整理的胸科医院数据集和公开数据集luna16组成,分别包含1942例和888例病人数据。数据集提供了所有结节的标注信息,即结节的区域中心(x,y,z)和结节半径r。所有的ct图像均为512x512大小。
训练过程中,使用了4/5的数据,其中的3/4进行训练,另外1/4用于训练过程中的验证。而整个数据中的1/5用于模型测试。
实施效果
最终的检测系统平均每个病人检出7.43个结节。当允许8个假阳性时,可以检出93%的结节;而允许4个假阳性时,可以检出91%的结节。
本发明实施例还提供一种跨模态的肺结节检测系统,用于执行上述所述的跨模态的肺结节检测方法中的步骤。
需要说明的是,本发明提供的所述跨模态的肺结节检测方法中的步骤,可以利用所述跨模态的肺结节检测系统中对应的模块、装置、单元等予以实现,本领域技术人员可以参照所述系统的技术方案实现所述方法的步骤流程,即,所述系统中的实施例可理解为实现所述方法的优选例,在此不予赘述。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。