本发明涉及一种乳腺良恶性肿瘤分类方法。
技术背景
近半个世纪以来,乳腺癌的发病率和死亡率不断上升。在我国,女性乳腺癌每年新增病例约21万年平均增长率以达到3.5%,发病率增速是全球平均增速的两倍,全球排名第一。乳腺癌是没有任何征兆的。有可能只是发现肿块但没有任何不适的地方,只有通过每年的体检,才能排查出患癌因素。在乳腺癌的诊疗过程中,主要有超声,乳腺钼靶x线摄影检查,核磁共振(mri),ct检查,病理和基因等医学手段用于辅助诊断和治疗。其中超声和钼靶主要用于乳腺癌的初筛,mri用于治疗效果的评估,病理用于癌症的确诊以及治疗方案的评估。
乳腺钼靶x线摄影检查是目前诊断乳腺疾病的首选和最简便、最可靠的无创性检测手段,痛苦相对较小,简便易行,且分辨率高,重复性好,留取的图像可供前后对比,不受年龄、体形的限制。其具有较高的诊断参考性,并大大提高了欧美国家的乳腺癌早期发现率。随着,计算机技术的发展,越来越多的计算机辅助诊疗手段被运用到癌症的早期诊断中。医疗人员可以通过计算机图像分割技术,从检查的图像中获取病灶信息,提升诊断和治疗的准确性。
深度学习的方法被运用到医学图像分割领域,帮助医生更加精确地、省时、省力地去诊断各种疾病,成为了一种新型的计算机辅助诊断方法。乳腺良恶性肿瘤分类需要通过深度学习的方法,准确地分割目标的病灶信息,并根据病灶信息对肿瘤进行分类。但目前在该领域,缺乏大量的训练数据集,对乳腺肿瘤的识别仍存在巨大的困难。因此,本发明提出了一种多视角信息协作的乳腺良恶性肿瘤分类方法,利用有限的乳腺钼靶x线图像数据来利用深度学习对乳腺良恶性肿瘤进行分类。使用本发明对一个乳腺钼靶x线图像的四个视角的图像进行学习,可以有效减少对庞大数据量的依赖,并且提高乳腺良恶性肿瘤分类的准确度。
技术实现要素:
为解决上述现有技术的不足,本发明提出一种基于多视角信息协作卷积神经网络的乳腺肿瘤分类方法。
本发明方法将每例乳腺钼靶x线图像的四个视角的图像,分别构建了一个信息协作子模型。每个子模型中存在一个微调预训练好的densenet网络分别从该视角的乳腺钼靶x线图像中分割病灶信息。最后,四个信息协作模型同时在误差反向转播过程中,使用自适应加权方案对乳腺肿瘤进行分割,并根据病灶信息对乳腺肿瘤进行分类。此外,本发明还引入了惩罚函数来减少假阳性率和假阴性率。经过测试表明,本发明能够有效地分类出乳腺良恶性肿瘤,应用于常规的医院临床检测工作。
为使本发明的目的、技术方案和优点更加清晰,下面就对本发明的技术方案作进一步描述,多视角信息协作的乳腺良恶性肿瘤分类方法,具体步骤如下:
步骤1)医学图像预处理;
每例乳腺钼靶x线图像案例由l-cc右头足位、r-cc左头足位、l-mlo左斜位、r-mlo右斜位四个视角的影像组成。对采集到的乳腺钼靶x线图像做数据增强处理,提高本方法模型的泛化能力和抗干扰能力。将处理后的数据80%用作本发明神经网络的训练集,10%作为验证集,最后10%作为测试集。
步骤2)构建多视角卷积网络子模型;
为了让经过imagenet自然图像数据集预训练的densenet能够准确分割乳腺肿瘤。本方法去除了该网络结构的最后一个全连接层,然后分别添加了2048、1024和2个神经元。利用xaiver算法随机初始化这三个全连接层的权值,并将最后一层的激活函数设置为sigmoid函数。
步骤3)构建多视角信息协作卷积神经网络模型;
本发明提出的多视角信息协作卷积神经网络模型由步骤2)中提出的四个子模型组成,每个子模型输出层的两个神经元连接到多视角信息协作模型的同一个神经元分类层,之后是sigmoid函数。这个神经元分类层的输出便是整个模型所做的预测结果。
在出现错误分类情况下,将恶性肿瘤误判为“良性”(假阴性)比将良性误诊为“恶性”(假阳性)代价更高,因为临床实践可能会错误地确信肿瘤是“良性”的,从而失去了有效早期治疗乳腺癌的机会。为了解决这一问题,本发明提出了惩罚交叉熵损失算法,通过对每个错误进行不同的惩罚,提供了区分假阴性和假阳性肿瘤的方法。
步骤4)乳腺肿瘤良恶性分类;
向步骤3)中构建好的多视角信息协作卷积神经网络模型,输入待检测的乳腺钼靶x线图像,网络输出得到肿瘤的良恶性结果,说明本发明能辅助乳腺肿瘤良恶性分类。
本发明具有以下优点:
1.结合并充分利用了不同肿瘤的多视角图像信息,能够提高肿瘤良恶性分类的准确率。
2.避免了因病例图像数据匮乏,导致神经网络训练数据不足而出现的模型泛化能力太差的问题。
附图说明
图1是实现本发明方法的软件系统整体网络框架结构示意图;
图2是denseblock示意图;
图3是denseblock网络结构示意图;
图4是denseblock特征图输入输出示意图;
图5是densenet-b结构示意图;
具体实施方式:
以下结合附图对本发明做具体的解释说明
本发明基于多视角信息协作的乳腺良恶性肿瘤分类方法网络结构如图1所示,具体步骤如下:
步骤1)医学图像预处理;
每个乳腺钼靶x线图像案例由l-cc右头足位、r-cc左头足位、l-mlo左斜位、r-mlo右斜位四个视角的影像组成。对采集到的四个任意视角的乳腺钼靶x线图像作翻转、旋转、缩放、裁剪、平移其中一种或多种操作等数据增强操作,提高模型抗干扰和泛化能力。把经过数据增强后的图像统一裁剪为224*224像素大小的图像,有利于模型更好地进行学习。最后,将处理后的数据80%用作本发明神经网络的训练集,10%作为验证集,最后10%作为测试集。
步骤2)构建多视角卷积网络子模型;
2.1构建densenet网络;
乳腺钼靶x线图像的l-cc右头足位、r-cc左头足位、l-mlo左斜位、r-mlo右斜位四个视角的影像分别构建成一个多视角卷积网络的子模型。每个子模型由一个densenet网络组成,通过densenet对不同视角的肿瘤进行分类。densenet中的denseblock在保证网络中层与层之间最大程度的信息传输的前提下,直接将所有层连接起来,具体网络结构如图2所示。它具有减轻梯度消失、加强特征传递、有效地利用特征等优点,同时它在一定程度上减少了参数数量,提高了神经网络训练的效率。
在densenet中,每个层都会与前面所有层在channel维度上连接在一起,并作为下一层的输入。对于一个l层的网络,densenet共包含
xl=hl([x1,x2,...,xl-1])(1)
其中,上面hl(·)的代表是非线性转化函数,它是一个组合操作,其可能包括一系列的bn(batchnormalization),relu,pooling及conv操作。这里l层与l-1层之间可能实际上包含多个卷积层。
cnn网络一般要经过pooling或者stride>1的conv来降低特征图的大小,而densenet的密集连接方式需要特征图大小保持一致。为了解决这个问题,densenet网络中使用denseblock transition的结构,其中denseblock是包含很多层的模块,每个层的特征图大小相同,层与层之间采用密集连接方式。而transition模块是连接两个相邻的denseblock,并且通过pooling使特征图大小降低。图3给出了densenet的网络结构,它共包含3个denseblock,各个denseblock之间通过transition连接在一起。
在denseblock中,各个层的特征图大小一致。denseblock中的非线性组合函数hl(·)采用的是bn relu 3x3conv的结构,如图4所示。所有denseblock中各个层卷积之后均输出k个特征图,即得到的特征图的channel数为k。k在densenet称为growthrate,这是一个超参数。一般情况下使用较小的k(比如1和2),就可以得到较佳的性能。假定输入层的特征图的channel数为k_0,那么l层输入的channel数为k_0 k(l-1),因此随着层数增加,尽管k设定得较小,denseblock的输入会非常多,不过这是由于特征重用所造成的,每个层仅有k个特征是自己独有的。
由于后面层的输入会非常大,denseblock内部可以采用bottleneck层来减少计算量,主要是原有的结构中增加1x1conv,如图5所示,即bn relu 1x1conv bn relu 3x3conv,称为densenet-b结构。其中1x1conv得到4k个特征图它起到的作用是降低特征数量,从而提升计算效率。
对于transition层,它主要是连接两个相邻的denseblock,并且降低特征图大小。transition层包括一个1x1的卷积和2x2的avgpooling,结构为bn relu 1x1conv 2x2avgpooling。另外,transition层可以起到压缩模型的作用。假定transition的上接denseblock得到的特征图channels数为m,transition层可以产生[θm]个特征(通过卷积层),其中θ∈(0,1]是压缩系数。当θ=1时,特征个数经过transition层没有变化,即无压缩,而当压缩系数小于1时,这种结构称为densenet-c。对于使用bottleneck层的denseblock结构和压缩系数小于1的transition组合结构称为densenet-bc
本发明构建的densenet由10个子层组成,其中包括四个denseblock-bc块,三个transition层:
第一层:输入层,将处理之后的224*224像素大小的乳腺钼靶x线图像输入到网络中。
第二层:卷积层,经过stride=2的7*7卷积层(卷积核数为2k)后参数大小为112*112。
第三层:池化层,stride=2的3*3最大池化层,输出参数为56*56。
第四层:denseblock,第一个denseblock块包含6个bn relu 1x1conv bn relu 3x3conv结构,输出参数为56*56个。
第五层:transition层,transition层包括一个1x1的卷积和stride=2的2x2avgpooling,目的是降低特征图大小。经过此层后,输出参数减少为28*28个。
第六层:denseblock,此块包含12个bn relu 1x1conv bn relu 3x3conv结构,输出参数为28*28个。
第七层:transition层,此层同样包括一个1x1的卷积和stride=2的2x2avgpooling,经过压缩后,输出参数个数减少为14*14个。
第八层:denseblock,此块包含24个bn relu 1x1conv bn relu 3x3conv结构,输出参数为14*14个。
第九层:transition层,结构同上,压缩后参数减少为7*7个。
第十层:denseblock,此块包含24个bn relu 1x1conv bn relu 3x3conv结构,输出参数为7*7个。
第十一层:输出层,首先经过一个7*7的globalavgpooling层,为了让经过imagenet自然图像数据集训练的densenet能够识别乳腺肿瘤信息,并分割乳腺肿瘤,本方法去除了该网络结构的最后一个全连接层,然后分别添加了2048、1024和2个神经元。利用xaiver算法随机初始化这三个全连接层的权值,并将最后一层的激活函数设置为sigmoid函数。
步骤3)构建多视角信息协作卷积神经网络模型;
本发明提出的多视角信息协作卷积神经网络模型由步骤2)中提出的四个子模型组成,每个子模型输出层的两个神经元连接到多视角信息协作模型的同一个神经元分类层,之后输入到sigmoid函数:
这个分类层的输出是本发明多视角信息协作模型的预测结果,它可以表示为:
其中wkj:{k=1,2,3,4}是每个多视角信息协作子模型输出层与分类层之间的权重集合,
在出现错误分类情况下,将恶性肿瘤误判为良性(假阴性)可能比将良性误诊为恶性(假阳性)代价更高,因为临床实践可能会错误地确信肿瘤是“良性”的,从而失去了有效治疗早期乳腺癌的机会。为了解决这一问题,本发明提出了惩罚交叉熵损失算法,通过对每个错误进行不同的惩罚,提供了区分假阴性和假阳性肿瘤的方法。
l(yn,pn)=-δn[ynlog(pn) (1-yn)log(1-pn)](4)
惩罚因子如下:
本发明,将c设置为2给予假阴性病例更大的惩罚。
步骤4)乳腺肿瘤良恶性分类;
向步骤3)中构建好的多视角信息协作卷积神经网络模型,输入待检测的乳腺钼靶x线图像,网络输出得到肿瘤的良恶性结果,说明本发明能辅助乳腺肿瘤良恶性分类。
本发明结合并充分利用了不同乳腺肿瘤的多视角图像信息,能够提高肿瘤良恶性分类的准确率,同时避免了因病例图像数据匮乏,导致神经网络训练数据不足而出现的模型泛化能力太差的问题。
本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。
1.多视角信息协作的乳腺良恶性肿瘤分类方法,具体步骤如下:
步骤1)医学图像预处理;
每个乳腺钼靶x线图像案例由l-cc右头足位、r-cc左头足位、l-mlo左斜位、r-mlo右斜位四个视角的影像组成;对采集到的四个任意视角的乳腺钼靶x线图像作翻转、旋转、缩放、裁剪、平移其中一种或多种操作等数据增强操作,把经过数据增强后的图像统一裁剪为224*224像素大小的图像;最后,将处理后的数据80%用作本发明神经网络的训练集,10%作为验证集,剩余10%作为测试集;
步骤2)构建多视角卷积网络子模型;
2.1构建densenet网络;
乳腺钼靶x线图像的l-cc右头足位、r-cc左头足位、l-mlo左斜位、r-mlo右斜位四个视角的影像分别构建成一个多视角卷积网络的子模型;每个子模型由一个densenet网络组成,通过densenet对不同视角的肿瘤进行分类;在densenet中,每个层都会与前面所有层在channel维度上连接在一起,这里各个层的特征图大小是相同的,并作为下一层的输入;对于一个l层的网络,densenet共包含
xl=hl([x1,x2,...,xl-1])(1)
其中,上面的hl(·)代表是非线性转化函数,它是一个组合操作,其可能包括一系列的batchnormalization,relu,pooling及conv操作;;这里l层与l-1层之间可能实际上包含多个卷积层;
densenet由10个子层组成,其中包括四个denseblock-bc块,三个transition层:
第一层:输入层,将处理之后的224*224像素大小的乳腺钼靶x线图像输入到网络中;
第二层:卷积层,经过stride=2的7*7卷积层后参数大小为112*112;
第三层:池化层,stride=2的3*3最大池化层,输出参数为56*56;
第四层:denseblock,第一个denseblock块包含6个bn relu 1x1conv bn relu 3x3conv结构,输出参数为56*56个;
第五层:transition层,transition层包括一个1x1的卷积和stride=2的2x2avgpooling;经过此层后,输出参数减少为28*28个;
第六层:denseblock,此块包含12个bn relu 1x1conv bn relu 3x3conv结构,输出参数为28*28个;
第七层:transition层,此层同样包括一个1x1的卷积和stride=2的2x2avgpooling,经过压缩后,输出参数个数减少为14*14个;
第八层:denseblock,此块包含24个bn relu 1x1conv bn relu 3x3conv结构,输出参数为14*14个;
第九层:transition层,结构同上,压缩后参数减少为7*7个;
第十层:denseblock,此块包含24个bn relu 1x1conv bn relu 3x3conv结构,输出参数为7*7个;
第十一层:输出层,首先经过一个7*7的globalavgpooling层,去除该网络结构的最后一个全连接层,然后分别添加了2048、1024和2个神经元,让densenet能识别乳腺肿瘤信息;利用xaiver算法随机初始化这三个全连接层的权值,并将最后一层的激活函数设置为sigmoid函数;
步骤3)构建多视角信息协作卷积神经网络模型;
多视角信息协作卷积神经网络模型由上述步骤2)中提出的四个子模型组成,每个子模型输出层的两个神经元连接到多视角信息协作模型的同一个神经元分类层,之后输入到sigmoid函数:
这个分类层的输出是本发明多视角信息协作模型的预测结果,它可以表示为:
其中wkj:{k=1,2,3,4}是每个多视角信息协作子模型输出层与分类层之间的权重集合,
在出现错误分类情况下,惩罚交叉熵损失算法通过对每个错误进行不同的惩罚,提供了区分假阴性和假阳性肿瘤的方法;
l(yn,pn)=-δn[ynlog(pn) (1-yn)log(1-pn)](4)
惩罚因子如下:
将c设置为2给予假阴性病例更大的惩罚;
步骤4)乳腺肿瘤良恶性分类;
向步骤3)中构建好的多视角信息协作卷积神经网络模型,输入待检测的乳腺钼靶x线图像,网络输出得到肿瘤的良恶性结果。
技术总结