本发明涉及乳腺x射线辅助诊断技术,特别涉及一种基于深度学习自动分割乳腺钙化点的方法。
背景技术:
计算机辅助诊断是医学影像领域的一个重要课题,随着人工智能的兴起,计算机图像处理,模式识别已经越来越多的应用于辅助医学诊断领域,通过获取不同类型的医学影像,对其中的病灶进行分割和良恶性识别能够辅助医生更加清晰的观察病变部位,更加准确的识别病变的特性,具有非常重要的意义。
乳腺癌已经发展成为女性最常见的癌症之一,研究表明一期乳腺癌的治愈率可达到95%。因此越早发现乳腺癌,越早介入治疗会有比较高的治愈率。利用乳腺x射线成像技术研究乳腺组织中的钙化点极其分布已经成为诊断乳腺癌的重要标准。而乳腺中的钙化点微小且大量分布在乳腺组织上,人工阅片很难找到所有的钙化点和一些直径小于5mm的微小钙化点,极易造成误诊或漏诊。
技术实现要素:
本发明要解决的技术问题是,克服现有技术中的不足,提供一种基于深度学习自动分割乳腺钙化点的方法。
为解决技术问题,本发明的解决方案是:
提供一种基于深度学习自动分割乳腺钙化点的方法,包括以下步骤:
(1)制作数据集
取足量的脱敏乳腺x射线dicom格式图像,由多名专业医生阅片并对乳腺x射线图像钙化点进行交叉标注,取其中标注一致的图像用于构建数据集;
在该数据集中,针对每个病案生成与原图像大小一致的二值图像;该二值图像中像素不为0的(x0,y0)位置表示原始图像相同位置存在钙化点,反之则不存在钙化点;
(2)数据预取
从步骤(1)中的数据集中取n张样本及其对应的钙化点二值图,进行归一化处理;n的取值范围为不小于20000;
(3)构建深度卷积神经网络
建立一个包括16层卷积层、2层上采用层和1层逻辑层的深度卷积神经网络;将16层卷积层分别表示为conv1,conv2,conv3……conv16;2层上采样层分别表示为upsampling1,upsampling2;最后一层逻辑层记为logistic1,用于对上层的输入逐像素给出该位置属于钙化点的概率值;
(4)利用步骤(2)中归一化处理后的数据集,训练步骤(3)中的深度卷积神经网络;
(5)利用步骤(4)中训练完毕的深度卷积神经网络对待检测图像进行推理
将待检测的乳腺x射线图像进行归一化处理,然后输入到经训练的深度卷积神经网络中并输出概率图,图中像素点的取值即为该点属于钙化情形的概率。
本发明中,所述步骤(3)中进一步包括:
设定conv1表达式为:
a1=σ(z1)=σ(conv(a0,w1)+b1)
其中,a0表示网络的输入,即乳腺x射线病案中的一幅单通道图像;w1表示第一层共享权值,b1表示第一层偏置,conv(a0,w1)表示网络的输入和权值执行卷积操作,w1的大小为7x7,滑动步长为2x2,padding大小3x3,输入图像的通道数为1,输出featuremaps的通道数为64,σ表示卷积层的relu激活函数,z1表示卷积输出,a1表示卷积激活值;
设定conv2表达式为:
a2=σ(z2)=σ(conv(a1,w2)+b2)
其中,a1表示该层输入,即上一层conv1的输出,w2表示第二层共享权值,b2表示第二层偏置,conv(a1,w2)表示该层输入和权值执行卷积操作,w2的大小为5x5,滑动步长为2x2,padding大小2x2,输入通道数为64,输出featuremaps的通道数为64,σ表示卷积层的relu激活函数,z2表示卷积输出,a2表示卷积激活值;
设定conv3表达式为:
a3=σ(z3)=σ(conv(a2,w3)+b3)
其中,a2表示该层输入,即上一层conv2的输出,w3表示第三层共享权值,b3表示第三层偏置,conv(a2,w3)表示该层输入和权值执行卷积操作,w3的大小为3x3,滑动步长为1x1,padding大小1x1,输入通道数为64,输出featuremaps的通道数为128,σ表示卷积层的relu激活函数,z3表示卷积输出,a3表示卷积激活值;
设定conv4至conv15与conv3具有相同的卷积核尺寸、滑动步长和padding尺寸,不同之处在于conv4至conv8共5层的输出featuremaps通道数目呈256的倍数递增,即conv4输出通道数为256、conv5输出通道数为512,以此类推,conv8输出通道数为4096;conv9至conv14共5层的输出featuremaps通道数目呈256的倍数递减,即conv9输出通道数为4096、conv10输出通道数为2048,以此类推,conv14输出通道数为256;最后一层conv15输出featuremaps通道数为16。
本发明中,对于步骤(3)中的2层上采样层:
设定upsampling1表达式为:
a16=z16=upsampling(a15)
其中,a15表示该层输入,即conv15的输出,a16表示该层的输出,upsampling表示上采样函数;
设定upsampling2表达式为:
a17=z17=upsampling(a16)
其中,a16表示该层输入,即upsampling1的输出,a17表示该层的输出,upsampling表示上采样函数。
本发明中,所述步骤(3)中,logisticl层对上层的输入逐像素给出该位置属于钙化点的概率值,其输出钙化概率图的公式为:
f(x)=1/1+e-x
式中,e表示欧拉数2.71828,x为该层输入图像像素值,即upsampling2输出featuremaps像素值;
本发明中,所述步骤(4)具体包括:
建立权值更新方程:
wt+1=wt+ηδθt
bt+1=bt+ηδθt
其中,wt表示上一时刻网络的权值,wt+1表示当前时刻网络的权值,η表示学习速率,δθt表示利用bp算法求得当前梯度增量;bt表示上一时刻网络的偏置,wt+1表示当前时刻网络的偏置;
设定损失函数表达式为:
其中,xi表示一幅图像,hθ(x(i))表示网络的预测输出,yi表示与xi对应的mask输出,θ为网络参数,m表示输入网络图片的数目;
取n张乳腺x射线图像记为一个batch,将其全部归一化并输入网络,通过最小化损失函数来更新权值,直到损失函数达到预设的阈值则完成训练;
归一化公式如下所示:
其中,
与现有技术相比,本发明的有益效果在于:
本发明通过引入深度卷积神经网络学习与训练的相关技术,可以快速、自动分割出乳腺x射线图像上的所有钙化点。基于该本发明的应用,能够辅助提高医生判断癌变的准确性。
附图说明
图1为本发明的操作流程图。
图2为乳腺x射线图像及人工标定的钙化二值图。
图3为深度卷积神经的输入和输出的钙化概率图。
具体实施方式
下面结合附图与具体实施方式对本发明作进一步详细描述;
本实施例中,基于深度学习自动分割乳腺钙化点的方法,包括以下步骤:
(1)制作数据集
取不少于1万个病案的脱敏乳腺x射线dicom格式图像,每个病案包含左右乳房cc中轴位和mlo侧斜位共4幅图像;由至少4名专业医生阅片并对乳腺x射线图像钙化点进行交叉标注,取标注一致的图像用于构建数据集;
医学影像和其他专业领域图像的不同之处在于,医学图像的标注需要借助专业医生的阅片经验。因此本实例中由至少4位专业医生(例如主任医师)对乳腺x射线图像钙化点进行交叉标注,取其中注均一致的图像用于构建数据集。
在该数据集中,针对每个病案生成4幅与原图像大小一致的二值图像;该二值图像中像素不为0的(x0,y0)位置表示原始图像相同位置存在钙化点,反之则不存在钙化点;
(2)数据预取
从步骤(1)中的数据集中取n张样本及其对应的钙化点二值图,进行归一化处理。本实例中n值取32;其中,样本图像作为深度卷积神经网络的x输入,二值图像作为标签y输入网络。
(3)构建深度卷积神经网络
建立一个包括16层卷积层、2层上采用层和1层逻辑层的深度卷积神经网络,将16层卷积层分别表示为conv1,conv2,conv3……conv16;2层上采样层分别表示为upsampling1,upsampling2;最后一层逻辑层记为logistic1。
其中,conv1表达式为:
a1=σ(z1)=σ(conv(a0,w1)+b1)
其中,a0表示网络的输入,即乳腺x射线病案中的一幅单通道图像。w1表示第一层共享权值,b1表示第一层偏置,conv(a0,w1)表示网络的输入和权值执行卷积操作,w1的大小为7x7,滑动步长为2x2,padding大小3x3,输入图像的通道数为1,输出featuremaps的通道数为64,σ表示卷积层的relu激活函数,z1表示卷积输出,a1表示卷积激活值。
conv2表达式为:
a2=σ(z2)=σ(conv(a1,w2)+b2)
其中,a1表示该层输入,即上一层conv1的输出,w2表示第二层共享权值,b2表示第二层偏置,conv(a1,w2)表示该层输入和权值执行卷积操作,w2的大小为5x5,滑动步长为2x2,padding大小2x2,输入通道数为64,输出featuremaps的通道数为64,σ表示卷积层的relu激活函数,z2表示卷积输出,a2表示卷积激活值。
conv3表达式为:
a3=σ(z3)=σ(conv(a2,w3)+b3)
其中,a2表示该层输入,即上一层conv2的输出,w3表示第三层共享权值,b3表示第三层偏置,conv(a2,w3)表示该层输入和权值执行卷积操作,w3的大小为3x3,滑动步长为1x1,padding大小1x1,输入通道数为64,输出featuremaps的通道数为128,σ表示卷积层的relu激活函数,z3表示卷积输出,a3表示卷积激活值。
conv4至conv15同conv3具有相同的卷积核尺寸,滑动步长和padding尺寸,不同之处在于conv4至conv8共5层的输出featuremaps通道数目呈256的倍数递增,即conv4输出通道数为256,conv5输出通道数为512,以此类推,conv8输出通道数为4096。conv9至conv14共5层的输出featuremaps通道数目呈256的倍数递减,即conv9输出通道数为4096,conv10输出通道数为2048,以此类推,conv14输出通道数为256。最后一层conv15输出featuremaps通道数为16。
upsampling1表达式为:
a16=z16=upsampling(a15)
其中,a15表示该层输入,即conv15的输出,a16表示该层的输出,upsampling表示上采样函数。
upsampling2表达式为:
a17=z17=upsampling(a16)
其中,a16表示该层输入,即upsampling1的输出,a17表示该层的输出,upsampling表示上采样函数。
logistic1层对上层的输入逐像素给出该位置属于钙化点的概率值,其输出钙化概率图,公式为:
f(x)=1/1+e-x
式中,e表示欧拉数2.71828,x为该层输入图像像素值,即upsampling2输出featuremaps像素值。
(4)利用步骤(2)中归一化处理后的数据集(即读取批处理图像),训练步骤(3)中的深度卷积神经网络;
建立权值更新方程:
wt+1=wt+ηδθt
bt+1=bt+ηδθt
其中,wt表示上一时刻网络的权值,wt+1表示当前时刻网络的权值,η表示学习速率,δθt表示利用bp算法求得当前梯度增量。bt表示上一时刻网络的偏置,wt+1表示当前时刻网络的偏置。
损失函数表达式为:
其中,xi表示一幅图像,hθ(x(i))表示网络的预测输出,yi表示与xi对应的mask输出,θ为网络参数,m表示输入网络图片的数目。
取n张乳腺x射线图像记为一个batch,将其输入网络,通过最小化损失函数来更新权值,直到损失函数达到预设损失阈值则完成训练。本例中n值取32,预设损失阈值设为0.0002。
步骤5,利用训练完毕的深度卷积神经网络推理
将待分割病案中的一副图像归一化,并将其输入到过程一已训练结束的卷积神经网络中,网络输出分割后的概率图像,取0.5的阈值将概率图二值化,如图3右图所示,二值化后的概率图中白色区域表示在原始图像该处存在钙化点,反正则不存在钙化点。
最后,需要指出的是,以上所述仅是本发明的具体实施例。然而,本发明并不局限于以上的实施方式,还可以对其进行改进和变形。本领域的普通技术人员能从本发明公开的内容中直接导出或联想到的所有变形和改进,均应认为是本发明的保护范围。