6.7.29 基于卷积神经网络的乳腺良恶性图像分类

2024-06-11 08:44

本文主要是介绍6.7.29 基于卷积神经网络的乳腺良恶性图像分类,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

计算机化乳腺癌诊断系统在早期癌症诊断中发挥着重要作用。为此,应用深度学习,利用卷积神经网络 (CNN) 对基于小型乳房 X 线图像分析协会 (mini-MIAS) 数据库的乳房 X 线图像中的异常(良性或恶性)进行分类。观察准确度、灵敏度和特定值以评估 CNN 的性能。

为了提高性能,我们利用包含裁剪、全局对比度归一化、增强、局部直方图均衡化和平衡预处理的图像预处理方法。建立了四个 CNN 模型来研究深度和隐藏层结构对模型性能的影响。在由四个卷积层组成的四个 CNN 模型中,CNN-4d 模型表现最佳,dropout 为 0.7。CNN-4d 模型实现了高灵敏度(90.63%)和高特异性(87.67%)的平衡,准确率为 89.05%。研究的结果表明,CNN 在智能医学图像诊断领域具有广阔的潜力.

1. 引言

乳腺癌是女性死亡的第二大原因。 根据世界卫生组织 (WHO) 的报告,乳腺癌占全球确诊癌症的 22.9%,占癌症相关死亡的 13.7% [1]。在早期阶段发现乳腺癌可大大增加治疗计划成功的机会 。开发能够帮助医务人员早期发现肿瘤的计算机辅助诊断系统 (CAD) 是一种重要的替代方案。在这样的系统中,分类器准确性的高可靠性是重中之重。

卷积神经网络 (CNN) 已成为最流行的图像分类方法之一,也是深度学习背后的驱动力。许多研究人员已经研究了使用 CNN 模型进行乳房 X 光检查分类,并取得了显著的成果。Gallego-Posada 等人 [4] 展示了 CNN 在乳腺肿瘤检测和诊断中的应用。使用乳房 X 光检查图像分析协会 (MIAS) 数据库,测试准确率为 64.52%。Jadoon 等人 [5] 提出了一个模型,该模型使用 CNN-DW 和 CNN-CT 两种方法将结果分类为正常、恶性和良性。使用 IRMA 数据集,该模型的准确率为 81.83%-83.74%。

在本研究中,提出了一种乳房X光检查CAD,包括预处理方法和监督分类方法。在分类方法中,提出了一种新颖的CNN模型来对异常和良性或恶性肿瘤进行分类。高准确率和其他出色的评估指标表明,CNN作为我们乳房X光检查CAD的关键步骤表现出色。

为了提高分类器的性能,专注于图像预处理,特别适合乳房X光检查图像和CNN模型的结构。数据来源是微型乳房X光检查图像分析协会(miniMIAS)数据库[​​6]。mini-MIAS数据库包含有价值的信息,例如异常中心的位置和围绕异常的圆的半径。此信息用于裁剪原始图像并通过裁剪感兴趣区域(ROI)来准备数据。此外,我们建立了四个CNN模型来研究CNN结构对模型性能的影响。

2. 材料和方法

2.1 数据集

在本研究中,测试了 CNN 对从乳房 X 光检查中获得的确切乳房异常进行分类的性能。数据来源是 mini-MIAS 数据库,该数据库包含 323 张乳房 X 光检查图像,每张图像的大小为 1024x1024 像素。在 MIAS 数据库中,乳房 X 光检查图像分为三类:腺状致密、脂肪和脂肪腺状。每个类别又细分为正常、良性和恶性组织图像。每张异常图像(无论是良性还是恶性)都有钙化、肿块和不对称等类型。共获得 207 张正常图像和 116 张异常图像(64 张良性和 52 张恶性)。在本研究中,我们仅使用数据集中的异常图像来对良性和恶性类别进行分类。

2.2 提出的方法

下图 展示了所提方法的总体视图,包括两个主要阶段:预处理和监督训练。预处理阶段通过一组转换准备 ROI 中的数据,以便下一阶段利用 ROI 中的相关特征。第二阶段的监督学习涉及两个过程:特征学习和分类训练。两者都是通过训练 CNN 来完成的。卷积层和池化层提取特征,而反向传播 (BP) 算法更新隐藏层中的参数以实现特征学习。此外,完全连接层和最后的 softmax 层根据上面提到的提取的特征创建最终分类。这两个过程处于监督阶段, CNN 训练由标记样本引导。

2.2.1 预处理

预处理是 CAD 中的一个常见阶段,通过应用一组变换来增强图像的特征以提高性能。对数据集应用裁剪、全局对比度归一化、增强、局部直方图均衡化和平衡预处理,并展示它们对最终分类准确性的影响。

2.2.1.1 双重裁剪和全局对比度标准化

每张图像的第一次裁剪会消除乳房 X 光检查图像中的黑色空间和无用噪声,例如患者信息和图标。第一次裁剪后,进行全局对比度归一化 (GCN)。

由于数字化过程,不同胶片图像之间的光照条件会有所不同,这会影响图像的所有像素值。GCN 通过从每个像素中减去图像中强度的平均值来消除这种影响。由于平均值是图像的平均值而不是每个像素的平均值,因此可以将其减去,而无需确定当前图像是属于训练集、验证集还是测试集。

 X\in\mathbb{R}^{r^*r} 是这张图片,而其中的元素变换则为:X_{i,j}^{'}=X_{i,j}-x

 其中x\in Rx=\frac{1}{r^{2}}\sum_{i,j}X_{i,j} 是 X 图像强度的平均值,X_{i,j}\in R 是像素i,j 处的强度值。


第二次裁剪图在 GCN 之后对整个胶片图像中先前识别的 ROI 进行分类。使用较小尺寸的图像,ROI 可以减少训练时间。在 mini-MIAS 数据集中,每张图像都提供了有关异常类型、异常坐标以及异常周围圆的近似半径的宝贵信息。使用异常图像中心的 x 和 y 坐标以及半径 r 提取每个异常图像的异常 ROI

将输入大小固定为 (2r, 2r) 像素的 ROI。这样,可以使用分割区域的边界框轻松提取 ROI。具体而言,ROI 被裁剪为病变的方形边界框并重新整形为 (2r, 2r) 像素。ROI 面积大于半径为 r 的圆的面积,病变以缩放为中心,周围区域得以保留。预处理示意图如图 2 所示。

2.2.1.2 数据增强

数据增强通常用于深度学习,指的是从现有数据生成新样本的过程,用于改善数据稀缺性并防止过度拟合。变换包括旋转、平移、水平和垂直反射、裁剪、缩放和抖动。对于光学字符识别等任务,Simard 等人表明弹性变形可以大大提高性能。乳房 X 线摄影在病变层面上的主要变化来源是旋转、缩放、平移和遮挡组织的数量。

提出了一种适合每个结果乳房X光片的论证算法,具有以下特点:单通道、低对比度、小感兴趣区域和纹理梯度变化缓慢。用尺度和平移变换增强了所有正例。全尺度或平移不变性既不是期望也不是必需的,因为候选检测器应该找到一个以病变实际焦点为中心的斑块。关键是要进行适当量的平移和缩放,以生成真实的病变候选。

该算法为数据论证提供了三种选择。首先,翻转和旋转角度(包括水平和垂直翻转)被广泛使用。可以使用0、90、180、270的旋转变换,避免边界外的点的存在。 其次,通过以ROI范围为中心,Δx和Δy是MIAS标签中提供的ROI中心和病变中心之间的差异 变化Δx和Δy识别ROI中病变的平移。 最后,通过对ROI内病变区域的缩放比例、放大和缩小来调整周围区域的面积,从而保留更多的纹理和对比度信息。通过结合不同的论证方法,每个病变都可以以任意特定的方向显示,最多可显示32次,并可以获得论证逼真的病变候选,以消除过度拟合问题。图3给出了平移增强后的图像示例。

2.2.1.3 局部直方图均衡化

直方图均衡化过程用于为学习算法准备数据。众所周知,当输入数据具有去相关和归一化等属性时,特征学习和深度学习方法通​​常会表现得更好,主要是因为这些属性有助于基于梯度的优化技术收敛 [10]。直方图均衡化前后的概率密度函数 (PDF) 分别为 p_r(r)p_s(s),其中 s 是变换函数。

p_s(s)=p_r(r)\biggl|\frac{dr}{ds}\biggr| 

s=T(r)=(L-1)\int\limits_{0}^{r}p_{r}(w)dw 

2.2.1.4 平衡数据

在 mini-MIAS 中的 116 张异常乳房 X 光片中,只有 51 张是恶性的。因此,数据集中良性图像的数量大于恶性图像的数量。这些数据集被称为不平衡数据集,这可能会对少数类(即异常图像)的分类产生负面影响。为了解决这个问题,对良性和恶性乳房 X 光片使用了不同的时间论证。保证恶性乳房 X 光片的数量与良性乳房 X 光片的数量相同。

2.2.2 基于 CNN 的训练和分类细节

CNN 模型包含三个主要组件:卷积层、池化层和全连接层。每层都有不同的任务。卷积层由几个小矩阵或“核”组成,它们作为过滤器在整个输入图像中进行卷积,实现特征提取。 池化层最小化卷积层生成的特征图的尺寸,全连接层使用特征图对输入图像所属的类别进行分类。

由于 mini-MIAS 不是一个很大的数据集,因此没有构建非常新的深度 CNN 模型以避免过度拟合。创建的模型最多有 10 层。相比之下,一些在许多分类领域达到最佳水平的非常深的 CNN 模型(如 ALEXNET 和 VGG16)也经过了训练。

为了衡量网络结构(如深度和 dropout 方法)如何影响模型的性能,首先评估具有两个卷积层和两个最大池化层以及一个全连接层的架构。在实验中,这种架构被称为 CNN-2。同时,我们在 CNN-2 中 的全连接层中添加了p = 0.7 的dropout 策略[12],称为 CNN-2d。利用 Ciresan 等人的工作 [13],采用更小的卷积尺寸和更深的网络策略,在 CNN-2 中增加了两个额外的卷积层,并将卷积核尺寸从 25x25 减小到 3x3。这被称为CNN-4。同时,我们在全连接层中采用了p = 0.7的dropout策略,称为CNN-4d,结构如图4所示。

图4: CNN-4d 网络在第一和第二个卷积层中具有 3x3 局部核和 RELU 作为激活函数,然后是 2x2 池化层(无重叠)。然后堆叠一个具有 RELU 激活的 1024 个单元的全连接层和一个具有 64 个单元的全连接层,最后添加一个 softmax 分类器。

这四个CNN模型参数在表1中描述。在表2中报告了每种配置的参数数量。尽管深度很大,但网络中权重的数量并不比卷积层宽度较大的浅网络中权重的数量多。 

使用 Tensorflow 框架实现了网络,该框架利用 GPU 技术获得了比 GPU 实现高达 140 倍的加速。此属性使其可用于训练具有数百万个参数的架构。所有实验均在配备两个 NVIDIA Titan X GPU 的工作站上实现,每个 GPU 具有 24 GB 内存。基于我们的实现和配置,CNN-4d 模型在测试期间需要 0.4 毫秒来处理每张图像。采用了随机梯度下降 (SGD) 和 RMSProp [14],这是 R-Prop 的改编版,适用于具有 Nesterov 动量的 SGD。使用了均匀权重填充器,学习率为 0.001。为了解决严重的类别不平衡问题,在增强数据集中随机选择样本,其中每个小批量中的良性实例与恶性实例的大小相同。


为了评估 CNN 模型的性能和判别能力,总体分类准确度、灵敏度和特异性的测量值计算如下:

 Accuracy=\frac{TP+TN}{TP+TN+FP+FN}\\\\ Sensitivity=\frac{TP}{TP+FN}\\\\ Specificity=\frac{TN}{TN+FP}

3. 结果和讨论

3.1 学习到的特征

卷积层和最大池化层中的 CNN 权重充当了图像上的过滤器。因此,精确输出特征图并对其进行可视化。图 5 显示了 CNN-4d 中卷积层的输出。该图像显示了一组不同方向的边缘以及一些纹理图案。 发现显著区域与医生评估以做出诊断决策的关节炎病变相匹配,因此从视觉上证明了 CNN-4d 模型的诊断有效性。它还反映了 CNN-4d 从图像中提取与我们的问题相关的信息,使用医生用来做出诊断决策的相同信息。

3.2 分类结果

训练组包括547幅图像,包括275幅良性乳腺钼靶X线图像和272幅恶性乳腺钼靶X线图像。测试组包括137幅图像,包括73幅良性乳腺钼靶X线图像和64幅恶性乳腺钼靶X线图像。表3显示了使用CNN-4d作为特征提取器得到的混淆矩阵。接下来,可以按如下方式计算病例的灵敏度和特异性。

CNN-4d 的灵敏度为 90.63%,特异性为 87.67%。为了研究 d​​ropout 策略的效果,我们将 CNN-4 和 CNN-4d 的结果进行了比较,发现 CNN-4 的训练准确率为 98.90%,但其测试准确率仅为 86.13%。而 CNN-4d 的训练准确率为 93.43%,测试准确率为 89.05%。这分别对应于 128 和 122 个分类良好的示例,总数为 137 个。因此,如果不使用 dropout,训练准确率远高于测试准确率,表明分类器可能对训练数据进行了过度拟合。CNN-4d 比 CNN-4 具有更强的泛化能力。结果表明,这种在全连接层中使用 dropout 策略的方法降低了过度拟合的程度,并在对乳房 X 光照片进行分类时获得了更好的性能。


卷积核尺寸越小,但CNN越深,对乳腺钼靶X线照片的分类性能越好,这是因为,在参数大小相同的情况下,与具有较大卷积核但网络结构较浅的CNN相比,具有较小卷积核的深层CNN可以在参数规模相同的情况下表达更复杂的非线性关系。


测试了经典的非常深的 CNN 模型,这些模型在图像分类和目标检测方面取得了最先进的成就,例如 ALEXNET、VGG16。这两个模型的结果如表 4 所示。结果表明,非常深的 CNN 模型获得了较差的性能,例如,VGG16 仅获得了 0.6977 的准确率,0.7437 的灵敏度。 MIAS 数据集太小,无法训练非常深的 CNN 模型,例如 VGG16 和 ALEXNET,因此在非常深的模型中无法完全训练参数。还进行了一系列实验来验证 CNN-4d 模型是最好的模型,因为比 CNN4d 更深的模型具有比 CNN4-d 更差的性能,这是因为 MIAS 数据集不够大,不适合训练深度高于 4 的 CNN 模型。

4. 总结

本研究提出了一种基于 mini-MIAS 训练的 CNN 形式的新型深度学习模型,用于对良性和恶性异常进行分类。为了增强图像特征并提高分类性能,提出了一种预处理算法,该算法使用一系列预处理方法,例如裁剪、GCN、局部直方图均衡化和平衡预处理。

CNN 模型以原始图像的 ROI 作为输入,实现异常的特征学习和分类。为了满足乳腺图像的要求,提出了一种数据增强方法来改善数据稀缺性并防止过度拟合。进行了特定的实验以探索 CNN 层结构和内核或激活函数对分类性能的影响。CNN-4d 的性能最好,训练准确率为 93.43%,测试准确率为 89.05%。

实验还表明,全连接层中的 dropout 策略降低了过度拟合的程度并在分类时获得更好的性能。相同的模型复杂度,卷积核尺寸较小但更深的 CNN 具有更好的性能。

这篇关于6.7.29 基于卷积神经网络的乳腺良恶性图像分类的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1050693

相关文章

YOLOv8改进 | SPPF | 具有多尺度带孔卷积层的ASPP【CVPR2018】

💡💡💡本专栏所有程序均经过测试,可成功执行💡💡💡 专栏目录 :《YOLOv8改进有效涨点》专栏介绍 & 专栏目录 | 目前已有40+篇内容,内含各种Head检测头、损失函数Loss、Backbone、Neck、NMS等创新点改进——点击即可跳转 Atrous Spatial Pyramid Pooling (ASPP) 是一种在深度学习框架中用于语义分割的网络结构,它旨

人工智能机器学习算法总结神经网络算法(前向及反向传播)

1.定义,意义和优缺点 定义: 神经网络算法是一种模仿人类大脑神经元之间连接方式的机器学习算法。通过多层神经元的组合和激活函数的非线性转换,神经网络能够学习数据的特征和模式,实现对复杂数据的建模和预测。(我们可以借助人类的神经元模型来更好的帮助我们理解该算法的本质,不过这里需要说明的是,虽然名字是神经网络,并且结构等等也是借鉴了神经网络,但其原型以及算法本质上还和生物层面的神经网络运行原理存在

雨量传感器的分类和选型建议

物理原理分类 机械降雨量计(雨量桶):最早使用的降雨量传感器,通过漏斗收集雨水并记录。主要用于长期降雨统计,故障率较低。电容式降雨量传感器:基于两个电极之间的电容变化来计算降雨量。当降雨时,水滴堵住电极空间,改变电容值,从而计算降雨量。超声波式降雨量传感器:利用超声波的反射来计算降雨量。适用于大降雨量的场合。激光雷达式降雨量传感器:利用激光技术测量雨滴的速度、大小和形状等参数,并计算降雨量。主

29 哈希

目录 unordered系列关联式容器底层结构模拟实现 1. unordered系列关联式容器 在c++98中,STL提供了底层为红黑树结构的一系列关联式容器,在查询时效率可达到 l o g 2 N log_2N log2​N,即最差情况下需要比较红黑树的高度次,当树中的结点非常多时,查询效率也不理想。最好的查询是,进行很少的比较次数就能将元素找到,因此在c++11中,stl又提供了4个un

python实现最简单循环神经网络(RNNs)

Recurrent Neural Networks(RNNs) 的模型: 上图中红色部分是输入向量。文本、单词、数据都是输入,在网络里都以向量的形式进行表示。 绿色部分是隐藏向量。是加工处理过程。 蓝色部分是输出向量。 python代码表示如下: rnn = RNN()y = rnn.step(x) # x为输入向量,y为输出向量 RNNs神经网络由神经元组成, python

气象站的种类和应用范围可以根据不同的分类标准进行详细的划分和描述

气象站的种类和应用范围可以根据不同的分类标准进行详细的划分和描述。以下是从不同角度对气象站的种类和应用范围的介绍: 一、气象站的种类 根据用途和安装环境分类: 农业气象站:专为农业生产服务,监测土壤温度、湿度等参数,为农业生产提供科学依据。交通气象站:用于公路、铁路、机场等交通场所的气象监测,提供实时气象数据以支持交通运营和调度。林业气象站:监测林区风速、湿度、温度等气象要素,为林区保护和

神经网络第四篇:推理处理之手写数字识别

到目前为止,我们已经介绍完了神经网络的基本结构,现在用一个图像识别示例对前面的知识作整体的总结。本专题知识点如下: MNIST数据集图像数据转图像神经网络的推理处理批处理  MNIST数据集          mnist数据图像 MNIST数据集由0到9的数字图像构成。像素取值在0到255之间。每个图像数据都相应地标有“7”、“2”、“1”等数字标签。MNIST数据集中,

神经网络第三篇:输出层及softmax函数

在上一篇专题中,我们以三层神经网络的实现为例,介绍了如何利用Python和Numpy编程实现神经网络的计算。其中,中间(隐藏)层和输出层的激活函数分别选择了 sigmoid函数和恒等函数。此刻,我们心中不难发问:为什么要花一个专题来介绍输出层及其激活函数?它和中间层又有什么区别?softmax函数何来何去?下面我们带着这些疑问进入本专题的知识点: 1 输出层概述 2 回归问题及恒等函数 3

神经网络第一篇:激活函数是连接感知机和神经网络的桥梁

前面发布的文章介绍了感知机,了解了感知机可以通过叠加层表示复杂的函数。遗憾的是,设定合适的、能符合预期的输入与输出的权重,是由人工进行的。从本章开始,将进入神经网络的学习,首先介绍激活函数,因为它是连接感知机和神经网络的桥梁。如果读者认知阅读了本专题知识,相信你必有收获。 感知机数学表达式的简化 前面我们介绍了用感知机接收两个输入信号的数学表示如下:

多层感知机不等于神经网络?

在前一章节(https://blog.csdn.net/u012132349/article/details/86166324),我们介绍了感知机可以实现与门、或门、非门。只需给定合适的参数(w1, w2, b)并利用Python就可以简单实现对输入的任意(x1,x2),输出0或1。     今天我们将介绍感知机的局限性(严格说是单层感知机的局限性)。这里我们想用感知机实现异或门,所谓异