使用深度学习集成模型进行乳腺癌组织病理学图像分类

基于预训练的VGG16和VGG19架构训练了四种不同的模型(即完全训练的 VGG16、微调的 VGG16、完全训练的 VGG19 和微调的 VGG19 模型)。最初,我们对所有单独的模型进行了5倍交叉验证操作。然后,我们采用集成策略,取预测概率的平均值,发现微调的 VGG16 和微调的 VGG19 的集成表现出有竞争力的分类性能,尤其是在癌症类别上。

交叉验证的基本思想是把在某种意义下将原始数据(dataset)进行分组,一部分做为训练集(train set),另一部分做为验证集(validation set or test set),首先用训练集对分类器进行训练,再利用验证集来测试训练得到的模型(model),以此来做为评价分类器的性能指标。

乳房X线摄影、超声成像和磁共振成像(MRI),这些非侵入性成像方法可能无法有效地确定癌变区域。为此,通常采用活检技术来更全面地分析乳腺癌组织的恶性程度。活检过程包括收集组织样本,将其安装在显微镜载玻片上,并对这些载玻片进行染色,以便更好地观察细胞核和细胞质。然后病理学家对这些载玻片进行显微镜分析,以最终确定乳腺癌的诊断。

传统的计算机诊断方法,从基于规则的系统到机器学习技术,可能无法有效地挑战乳腺癌组织病理学图像中的类内变异和类间一致性。此外,这些方法主要依赖于尺度不变特征变换、速度鲁棒特征和局部二值模式等特征提取方法,这些方法都基于监督信息,并且在分类过程中容易出现有偏差的结果乳腺癌组织病理学图像。

局部二值模式是一种用于描述图像中纹理特征的方法。它可以通过比较像素点与其邻域像素点的灰度值,来判断该像素点所属的纹理类型。通过对图像中所有像素点进行局部二值模式计算,可以生成用于分类和检索的特征向量。


首先,我们创建了乳腺癌患者的整个幻灯片图像(WSI)的私有数据集。从WSI图像中提取由非癌和癌类别组成的图像块。值得注意的是,我们的主要目标是优先对癌症类别进行正确分类,微调的VGG16和VGG19方法的集合在非癌症和癌症组织病理学图像的分类中提供了卓越的性能。

相关工作

许多研究利用基于手工特征的方法对与乳腺癌相关的组织病理学图像进行分类。Kowal等人专注于细胞核分割,从500张乳腺癌细针活检图像的分割细胞核中提取了42个形态、拓扑和纹理特征。然后,利用这些特征来训练三个不同的分类器,以便将这些图像分类为良性和恶性类别。

Filipczuk 等人也对细胞核分割表现出兴趣,并从 737 个乳腺癌细胞学图像的分割细胞核中提取了 25 个基于形状和基于纹理的特征。基于这些特征,训练四种不同的机器学习分类器,即KNN(K近邻)、NB(朴素贝叶斯)、DT(决策树)和SVM(支持向量机)来对这些细胞学图像进行分类分为良性和恶性病例。

传统的机器学习方法在分析乳腺癌组织学图像方面取得了令人满意的性能,但其性能主要依赖于训练特征的选择

材料和方法

预处理

本文使用的数据集包含 H & E 染色的乳腺癌组织病理学图像,该图像广泛用于协助病理学家对组织切片进行显微评估。然而,很难在所有载玻片上保持相同的染色浓度,这导致所获取的图像之间存在颜色差异。这些对比度差异可能会对 CNN 模型的训练过程产生不利影响,因此通常应用颜色归一化。

  1. 颜色归一化是一种常见的图像预处理技术,其目的是将图像中的颜色值映射到统一的范围,以减少不同图像之间的颜色差异,从而提高计算机视觉算法的性能。
  2. 图像的直方图指的是图像内灰度值的统计特性与图像灰度值之间的函数,直方图统计图像内各个灰度级出现的次数

 原始和标准化癌症图像的示例:

训练标准

对于个体模型和整体模型,我们选择 80% 的图像进行训练,其余 20% 用于测试目的,其中癌症和非癌症图像的比例相同。675 张图像用于训练,其余 170 张图像保留用于测试模型。我们对训练图像使用了 5 倍交叉验证,这意味着使用 540 个图像用于训练,135 个图像用于验证目的。同样,我们在训练和验证中拥有相同比例的非癌症和癌症图像。

数据增强

图像数据增强是一种通过在训练过程中生成修改图像来扩展数据集的技术。通过使用 Keras 深度学习库提供的 ImageDataGenerator,生成具有实时数据增强的批量张量图像数据

首先,将一批输入图像提供给ImageDataGenerator,然后通过一系列随机平移、旋转等来转换该批次中的每个图像。

我们指定的“旋转范围 = 40”的旋转对应于之间的随机旋转角度[−40, 40] 度。我们还设置“宽度和高度移动范围 = 0.2”,它指定图像随机移动的总宽度分数的上限,宽度向左或向右移动,高度向上或向下移动。

值得注意的是,旋转操作可能会将某些像素旋转出图像帧,并在帧内留下必须填充的空白像素。我们使用“反射模式”来填充这些空像素。反射填充会从图像的边缘开始,按照边缘像素的模式,将像素复制到空白区域。例如,如果图像边缘是垂直的,那么反射填充将复制边缘像素的垂直模式来填充空白区域。这种填充方式可以在一定程度上保持图像的连续性和一致性,避免因为空像素的存在而影响图像的视觉效果。

VGG架构

当数据集与自然图像数据集相比相对较小时,预训练模型通常有助于更好的初始化和收敛。

VGG强化的观念:CNN必须具有深层网络才能使视觉数据的分层表示发挥作用。

VGG16模型的完整框架:五个卷积块组成,每个块都有多个卷积层(带有relu激活)以及一个最大池化层。使用的是步幅和填充都为1的3*3卷积核,以及步幅为2的2*2最大池化层。

VGG19模型的基本框架:基本架构与 VGG16 相同,除了三个额外的卷积层。

 VGG16和VGG19分别使用256个节点和128个节点的密集层(每个神经元都会接收来自上一层所有神经元的输入,并根据这些输入和自身的权重计算出输出。这些输出然后会被传递到下一层);最后一层则由二元交叉熵损失函数组成:

Binary cross entropy = -\frac{1}{m}\sum_{i}^{m}(y_i*log(p(y_i))+(1-y_i)*log(1-p(y_i)))

集成方法

由微调 VGG16 和微调 VGG19 模型的集成组成,训练图像占全部图像的80%,其中再进行5倍交叉验证,其中的四份用于训练,一份用于模型验证或评估。这些图像都是相互排斥的,而且非癌和癌症的图像百分比相同。

在每个数据子集中,根据损失函数的最小值保存最佳模型的权重。同时为两个模型保存5倍交叉验证的权重。最后,利用测试图像(20%)以概率的形式作出最终预测。两个类别的平均概率是通过取5倍交叉验证的VGG16模型和5倍交叉验证的VGG16模型获得的10个概率值的平均值得出的。考虑两个模型的平均概率,然后将图像分类为非癌或癌。

实验装置

超参数调优

神经网络具有自动学习输入和输出之间复杂连接的强大特性。然而,其中的一些连接可能是采样噪声的结果,它们可以是在训练过程中占主导地位,但不可能存在于真实的测试数据集中。这个问题会导致过拟合问题,从而降低深度学习模型的预测性能。

选择最佳超参数的方法:首先,我们选择二元交叉熵作为二元分类问题的损失函数。然后,在训练过程中使用Adam(自适应矩阵估计)算法,以执行200个epoch的优化。在模型训练期间,我们的主要目标是最小化训练损失和验证损失之间的泛化差距,并发现 32 的批量大小与 0.0001 的学习率配合良好。此外,我们使用 0.3 的 dropout 来防止模型在训练过程中过度拟合。通过使用 5 倍交叉验证方法,根据最小验证损失保存了五个最佳模型的权重。最后,我们使用这些权重对测试数据集进行类别预测。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/310369.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【华为OD机试】围棋的气【C卷|100分】

题目描述 围棋棋盘由纵横各19条线垂直相交组成,棋盘上一共19 x 19 = 361 个交点, 对弈双方一方执白棋,一方执黑棋,落子时只能将棋子置于交点上。 “气”是围棋中很重要的一个概念,某个棋子有几口气,是指其上下左右方向四个相邻的交叉点中, 有几个交叉点没有棋子,由此可…

【EM算法】算法及注解

EM算法又称期望极大算法,是一种迭代算法,每次迭代由两步组成:E步,求期望(expectation);M步,求极大(maximization)。 算法背景 如果概率模型的变量都是观测变…

【报错】TypeError: Cannot read property ‘meta‘ of undefined

😈解决思路 首先这里很明显我们能看到是缺少该参数:meta。 但是经过查找后发现和该参数无关。 😈解决方法 后来我上网搜了下,网上的回答大部分偏向于是package.json这个文件中的tabBar.list数组对象只有一条的问题。 网上的大…

【Linux】引导与服务

一、系统引导过程 系统引导过程: 开机自检(BIOS) ----> MBR ----> GRUB ----> 加载内核 ----> 启动程序 1.1 开机自检 (1)开机自检:硬件启动POST(BIOS的一个主要功能)来加电检测硬件 (2)指引硬件:主板…

结构体的内存对齐

目录 对齐规则: 为什么存在内存对齐? 对齐规则: 1、结构体的第一个成员对齐到和结构体起始位置偏移量为0的地址处 2、其他成员变量要对齐到某个数字(对齐数)的整数倍的地址处。 对齐数 编译器默认的一个对齐数 与 …

openstack安装dashboard后登录网页显示404错误

1. 2.进入该目录vim /etc/httpd/conf.d/openstack-dashboard.conf 增加这一行 WSGIApplicationGroup %{GLOBAL} 重启httpd后就可以访问了

古月·ROS2入门21讲——学习笔记(一)核心概念部分1-14讲

讲解视频地址:1.ROS和ROS2是什么_哔哩哔哩_bilibili 笔记分为上篇核心概念部分和下篇常用工具部分 下篇:古月ROS2入门21讲——学习笔记(二)常用工具部分15-21讲-CSDN博客 目录 第一讲:ROS/ROS2是什么 1. ROS的诞生…

【Qt 学习笔记】Qt常用控件 | 按钮类控件Radio Button的使用及说明

博客主页:Duck Bro 博客主页系列专栏:Qt 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ Qt常用控件 | 按钮类控件Radio Button的使用及说明 文章编号&#xff…

数据结构---线性表

1&#xff0c;顺序表实现---动态分配 #include<stdlib.h> #define InitSize 10 typedef struct {int *data;//静态分配int length;int MaxSize; }SqList; void InitList(SqList& L) {L.data (int*)malloc(InitSize * sizeof(int));//分配空间L.length 0;L.MaxSize…

React 集成三方登录按钮样式的插件库

按钮不提供任何社交逻辑。 效果如下&#xff1a; 原地址&#xff1a;https://www.npmjs.com/package/react-social-login-buttons 时小记&#xff0c;终有成。

沐风老师3DMAX物品摆放插件ObjectPlacer安装和使用方法详解

3DMAX物品摆放插件ObjectPlacer安装和使用教程 3DMAX物品摆放插件ObjectPlacer&#xff0c;一键在曲面上摆放对象&#xff0c;如摆放家具物品、种植花草树木、布设电线杆交通标志等。它的功能是将对象与几何体对象&#xff08;网格、多边形、面片或NURBS&#xff09;的面法线对…

提高大型语言模型 (LLM) 性能的四种数据清理技术

原文地址&#xff1a;four-data-cleaning-techniques-to-improve-large-language-model-llm-performance 2024 年 4 月 2 日 检索增强生成&#xff08;RAG&#xff09;过程因其增强对大语言模型&#xff08;LLM&#xff09;的理解、为它们提供上下文并帮助防止幻觉的潜力而受…

部署Kafka集群图文详细步骤

1 集群规划 共三台虚拟机同处overlay网段&#xff0c;每台虚拟机部署一套kafka和zookeeper&#xff0c;kafka_manager安装其中一台虚拟机上即可。 HostnameIP addrPortListenerzk1docker-swarm分配2183:2181zk2docker-swarm分配2184:2181zk3docker-swarm分配2185:2181k1docke…

Navicat连接SQL server出现:[IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序(0)

问题 解决方法 一 找到Navicat的安装路径&#xff0c;然后找到sqlncli_x64.msi文件并安装&#xff0c;安装成功后重启Navicat重新进行连接&#xff0c;看是否成功。 解决方法 二 如果方法一没有找到找到sqlncli_x64.msi 还是Navicat的安装路径&#xff0c;然后找到msodbcsql_64…

Linux磁盘扩容并设置挂载点

背景 使用pve创建了一个虚拟机&#xff0c;各种环境配置都安装好了之后发现分配的磁盘空间太小了&#xff0c;默认的就30多个G&#xff0c;这还没咋玩呢就满了&#xff0c;像扩容却找遍了这个pve都没找到扩容按钮&#xff0c;并且我这个磁盘不是lvm结构的&#xff0c;所以好像…

Zookeeper集群+消息队列Kafka

一. Zookeeper 集群的相关知识 1. zookeeper的概念 ZooKeeper 是一个分布式的&#xff0c;开放源码的分布式应用程序协调服务&#xff0c;是Google的Chubby一个开源的实现&#xff0c;是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件&#xff0c;提供的…

zookeeper分布式应用程序协调服务+消息中间件kafka分布式数据处理平台

一、zookeeper基本介绍 1.1 zookeeper的概念 Zookeeper是一个开源的分布式的&#xff0c;为分布式框架提供协调服务的Apache项目。 是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件&#xff0c;提供的功能包括&#xff1a;配置维护、域名服务、…

【Excel】使用VBA宏简单自定义Excel软件界面

改行做经济师学习Excel&#xff0c;偶有心得&#xff0c;摘录于此&#xff0c;备忘。 言简意赅&#xff0c;仅供自用。 1 实现效果 在Excel的左上角可添加按钮&#xff0c;该按钮的功能可由我们自己通过编写代码定义&#xff0c;能实现特定功能&#xff0c;并且在所有打开的…

Electron 桌面端应用的使用 ---前端开发

Electron是什么&#xff1f; Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。 嵌入 Chromium 和 Node.js 到 二进制的 Electron 允许您保持一个 JavaScript 代码代码库并创建 在Windows上运行的跨平台应用 macOS和Linux——不需要本地开发 经验。 入门…

LLM大语言模型助力DataEase小助手,新增气泡地图,DataEase开源数据可视化分析平台v2.5.0发布

2024年4月8日&#xff0c;DataEase开源数据可视化分析平台正式发布v2.5.0版本。 这一版本的功能升级包括&#xff1a;新增DataEase小助手支持&#xff0c;通过结合智能算法和LLM&#xff08;即Large Language Model&#xff0c;大语言模型&#xff09;能力&#xff0c;DataEas…