基于自编码器和孪生框架的乳腺组织病理图像分类方法

        乳腺癌组织病理图像的自动分类是计算机辅助诊断系统的重要任务之一。由于乳腺癌组织病理图像具有类间差异小、类内差异大的特点,提取用于乳腺癌分类的特征比较困难。为了解决这一问题,设计了一种改进的自编码器(AE)网络,该网络使用Siamese框架(孪生框架),可以从组织病理图像中学习有效特征,用于CAD乳腺癌分类任务。首先,对输入图像进行多尺度高斯金字塔处理,得到多尺度特征;其次,在特征提取阶段,使用了孪生框架来约束预训练的自编码器(AE),以确保提取的特征具有较小的类内方差和较大的类间方差。实验结果表明,该方法在BreakHis数据集上的分类准确率高达97.8%。与常用的乳腺癌组织病理学分类算法相比,该方法具有更好、更快的性能。

1. 引言

1.1 深度学习方法

        由于组织病理图像的超高分辨率,直接将其输入到深度神经网络是非常昂贵的。常用的方法是使用滑动窗口将它们切割成许多输入图像块。Feng等随机分离斑块,并为其分配原始图像标签。对所有的patch进行分类后,选取每幅图像中单独patch的预测标签,得到图像预测标签。Alom等采用两种方法选择图像patch,一种是从样本中随机裁剪patch,另一种是选择不重叠且顺序的patch。在对图像进行旋转、翻转、剪切、平移等增强后,将图像块输入到一个初始递归残差卷积神经网络(IRRCNN)模型中进行分类。

        Sudharshan等人提出了一种将非参数多实例学习与卷积神经网络(Convolutional Neural Networks, CNN)相结合的方法,将图像patch视为一个实例,将整个图像视为一个袋子。与其他将整幅图像标签分配给小块的策略不同,该方法选择对图像中的病变区域进行标记。自然地,如果至少一个补丁被标记为恶性,则图像被标记为阳性,如果图像的任何部分都没有被标记为恶性,则图像被标记为良性。

        基于补丁的方法只考虑了补丁内部的信息,而忽略了补丁之间或全局的信息。Yan等人使用双向长短期记忆网络(bidirectional Long - Short-Term Memory network, BLSTM),利用Inception_v3网络对输入图像patch进行特征提取,提出了一种用于分类的混合深度神经网络。将图像patch的特征分时共享到BLSTM中,利用BLSTM的长期依赖关系同时学习patch之间和patch内部的信息。        

        Sheikh等人提出了一种多尺度输入和多特征网络(Multi-Scale Input and Multi-Feature Network, MSI-MFNET)模型,该模型在提取不同尺度特征的同时学习全局特征和纹理特征。为了评估复杂的生物过程,如多细胞类型迁移和细胞-细胞相互作用,Comes等人提出了一种多尺度生成对抗网络,该网络在多个尺度上执行图像重建,以获得不同尺度的信息,以预测高质量的隔行视频帧。此类视频中帧与帧之间的关系类似于图像补丁之间的关系。然而,组织病理学图像具有类内差异大、类间差异小的特点,这给分类带来了困难。

1.2 自动编码器(AE)

        在Siamese框架的约束下,作为特征提取器,并将AE层与SoftMax分类器连接起来,构建用于乳腺癌组织病理图像分类的深度神经网络。

        1。由于神经网络的接受野是固定的,在训练过程中不能同时使用全局和局部信息,因此采用多尺度图像作为输入图像。这样,模型可以同时学习粗、细尺度特征,获得更好的分类能力。

        2. 设计了AE + SoftMax模型结构,AE通过学习将输入复制到输出,提取有效的输入特征。从而有效地提取特征,避免了特征选择的主观性。而且,模型的训练时间和记忆消耗都远远小于CNN。

        3. 为了克服组织病理图像类间方差小、类内方差大的缺点,采用Siamese框架对预训练的AE进行约束。采用改进的对比函数作为损失函数,保证同类图像的特征相似性高,不同类图像的特征相似性低。

2. 材料和方法

2.1.1 自动编码器(Autoencoder)

        自动编码器是一种对称的神经网络,它以一种无监督的方式训练网络。具体来说,它通过强制输入图像与重建图像相同来学习输入图像的有效特征。如图1所示,每个输入图像的大小为w × h × s,每个输入图像被重构成一维向量x(i)x(i)=(x_{i1},x_{i2},\cdots,x_{id})d = w\times h\times c,设X=\{x(1),x(2),\cdots,x(n)\}为给定的训练集,其中x(i)为第 i 张图像的输入向量。

        自动编码器将输入作为潜在空间的隐藏表示进行编码,然后将其解码回其原始空间。训练集X的有效特征可以通过最小化输入数据x(i)与重构数据\hat{x}(i)之间的误差来学习。均方误差提供了一种度量输入数据和重构数据之间相似性的度量。损失函数表示为:

 L(x(i),\hat{x}(i))=\frac{1}{2n}\sum_{i=1}^n\|x(i)-\hat{x}(i)\|^2

训练后,自动编码器的解码器部分被去除,只留下编码器部分作为特征提取器。 

 自动编码器通过最小化输入数据与重构数据之间的误差来学习数据的有效特征。

2.1.2  孪生框架

        孪生神经网络系统是由两个相同的神经网络组成的神经网络。两个相同的网络共享权重和偏差等参数,但输入的数据不同。通过神经网络的前向传播,可以对原始空间中难以区分的数据进行维度约束,从而提高分类性能。

        Siamese网络的架构如图2所示,其中G_w(\cdot)表示特征提取神经网络,f_if_j分别是G_w(\cdot)从输入图像x_ix_j中提取的特征向量。特征提取后,通过计算特征向量相似度获得输入图像相似度 

2.2 提出的方法

        使用多尺度变换进行图像预处理的子框图。用多尺度输入图像对自编码器进行预训练,并以此为基准构建Siamese网络。将图像成对输入到Siamese网络中,并使用对比损失函数对提取的特征进行距离约束。最后,将提取的特征输入到SoftMax分类器中,得到组织病理图像的良性和恶性分类名称。

        采用多尺度输入,同时学习不同尺度下组织病理图像的全局特征和局部纹理信息。将图像变换为0.125×、0.25×、0.5×、1×、2× 5个不同的尺度,增强了对图像中重要区域的识别,克服了空间区域在不同尺度下空间区域固定感受野的局限。

2.2.1 多尺度输入

        图像尺度不是指图像的大小,而是指图像中的模糊程度。例如,从近距离观看的物体的模糊程度与从较远距离观看的物体的模糊程度不同。图像从近距离移动到远距离也涉及到图像的比例越来越大。当使用机器视觉系统分析未知场景时,计算机不知道图像中物体的大小。因此,为了更好地对特定感兴趣的物体进行分类,有必要找到适合该物体分类的图像尺度描述。

        在提取图像特征时,如果采用固定尺度的特征检测,检测结果会偏向于这个尺度,并且会遗漏其他几个尺度特征。为了在不同尺度下检测图像中的相同特征,需要在多个尺度上检测和匹配图像。如图4所示,在粗尺度上更容易识别矩形框架特征,在细尺度上更容易识别圆形框架特征。因此,对输入图像进行多尺度变换。

        采用高斯金字塔模型对数据集进行处理和变换。图像的尺度空间L(x,y,\sigma)定义为原始图像I(x,y)与二维可变尺度高斯函数G(x,y,\sigma)之间的卷积运算。具体来说,尺度空间形式表示为

G(x_i,y_i,\sigma)=\frac{1}{2\pi\sigma^2}exp\left(-\frac{(x-x_i)^2+(y-y_i)^2}{2\sigma^2}\right) 

高斯金字塔的构造包括两个步骤。首先对图像进行高斯平滑处理,然后对图像进行采样处理。

2.2.2 基于自动编码器AE的孪生框架

        AE模型具有较好的特征提取效果。但是,如果x(i)x(j)在输入空间中是相邻的,那么在AE特征提取之后,它们在特征空间中的距离应该很小。在对AE进行预训练后,为了减小类内图像之间的距离,增大类间图像之间的距离,基于AE构建了Siamese框架对其进行优化。

        使用两个AE,具有共享的权重和偏置参数和不同的输入,作为Siamese网络的基准。对输入图像进行AE处理后,提取其特征向量,在Siamese网络后端进行特征相似度计算。以不同图像中提取的特征相似度为优化目标,训练模型特征提取能力,从图像中提取的类内特征距离尽可能小,类间特征距离尽可能大,以增强分类器性能。

        选择该图像创建一个图像对(x(i),x(j),y(i),y(j),y(ij)),其中x(i)和x(j)表示不同的输入图像,y(i)和y(j)分别是它们对应的标签。如果x(i)和x(j)属于同一类,则y(ij)= 1,如果x(i)和x(j)不属于同一类,则y(ij) = 0。然后计算f_if_j之间的欧氏距离,其中以x(i)和x(j)作为输入的网络提取的特征。采用以下损失函数约束特征提取,表示为:

L\left(f_i,f_j,y(ij),m\right)=y_{ij}D^2+\left(1-y(ij)\right)\left(\max(0,m-D)\right)^2

        其中D表示特征提取后的图像对的特征距离,前面已经描述了f_if_j和y(ij), m是一个边界参数,用来限制类间距离的最小值。 

2.2.3 损失函数

        为了更好地约束特征距离,改进了损失函数。根据对比损失公式,当输入图像对属于同一类,正对(y(ij) = 1)时,损失函数可简化为:

L_p=D^2 

当输入的图像对属于不同的类,负对(y(ij) = 0)时,损失函数可简化为: 

L_n=\left(max(0,m-D)\right)^2 

        如果输入的两幅图像属于不同的类别且它们之间的距离大于m,那么就不会产生损失。关键问题是如何选择合适的m值。这通常取决于图像对距离值的范围。如果m设置得过低,那么即使是不同类别的图像也可能因为它们的特征距离较近而被误认为是同一类;而如果m设置得过高,则可能会使得模型难以区分一些实际上距离较近但属于不同类别的图像。 不同图像对之间的特征距离可能具有较大的差异。由于特征对距离的取值范围可能是[0, +∞),直接使用原始距离值可能不太方便。因此,引入了Sigmoid函数来对这个距离值进行归一化,使其映射到一个固定的范围内(通常是[0, 1])。

D_n=\frac2{1+e^{-D}}-1

最终的损失函数定义为:L\big(f_i,f_j,y(ij),m\big)=y_{ij}D_n^2+(1-y(ij))(\max(0,m-D_n))^2 

        通过使相似图像特征之间的距离尽可能小,使不同类型图像之间的距离尽可能大来学习组织病理学图像的分类特征。这样可以有效地减少相似组织病理图像提取的特征方差,同时保留不同组织病理图像提取特征的方差,从而使模型更具判别性。使用训练集对AE进行预训练。然后使用预训练的AE形成孪生网络,并通过再训练优化网络参数。为了将组织病理图像划分为两类,构建了三层SoftMax分类器,在Siamese框架约束下对AE网络进行特征提取,得到两类图像的概率分布。网络训练采用交叉熵损失法。

3. 结果

3.1 BreakHis 数据集

        BreakHis数据集是最大的公开可用的乳腺癌组织病理学数据集,通常用于乳腺癌分类。它是由乳腺组织活检片产生的,用苏木精和伊红(H&E)染色,并由巴西P&D医学实验室的病理学家标记[33]。BreakHis数据集由82例患者乳腺肿瘤组织的7909张显微图像(700 × 460像素,3通道RGB,每个通道8位深度,PNG格式)组成,放大倍率为40x、100x、200x和400x,对应的物镜为4×、10×、20×和40×。这些图像的子集包括2480张良性图像和5429张恶性图像。 使用80%的样本进行训练,20%的样本进行测试。

3.2  AE + SoftMax

        AE + SoftMax作为基准网络,比较多尺度处理对输入图像提取特征可分性的影响。AE获取图像特征后,使用SoftMax分类器在不同尺度上验证提取的特征的有效性。此外,比较了不同放大倍数下输入图像在不同尺度下的分类性能。本实验的目的是为乳腺癌组织病理图像的分类确定一个合适的输入尺度。

        在不同放大倍数(40×, 100×, 200×, 400×)下,特定的多尺度输入组合(1× + 2×, 0.5× + 1×, 0.25× + 0.5×, 0.125× + 0.25×)分别取得了更高的识别效果。这表明,由于图像放大倍数的不同,原始尺度也不同,因此最佳输入尺度组合也不同。 

        由于Siamese网络是一个特征对输入,与不使用Siamese框架的AE模型相比,训练时间的成本实际上增加了。然而,与其他模型相比,模型在性能上有了很大的提高。 

4. 讨论

        (1)合适的尺度特征有助于对组织病理图像中的乳腺肿瘤进行分类。工作中使用了多尺度输入来学习不同尺度下的全局和局部特征信息。在更精细的尺度上提取图像特征,可以解决神经网络感知场固定的问题。实验结果进一步验证了对多尺度输入的考虑。不同尺度的多重输入组合,对乳腺癌的组织病理学识别均有不同程度的提高。此外,我们的研究结果表明,在不同的放大倍数下,乳腺癌的组织病理学图像在连续的尺度变化中具有最大的识别改善。然而,如何找到最优的尺度组合仍然是一个值得考虑的问题。

        (2)如果所提取的特征在类内的距离尽可能小,而在类之间的距离尽可能大,则有利于分类器性能的提升。为了进一步提高乳腺病理图像的性能,使用两个具有共享权重和偏差参数的AE作为所提出的Siamese网络的基准。这使得分类器能够更好地区分乳腺的良性和恶性组织病理图像。

5. 总结

        提出了一种使用Siamese框架约束作为特征提取器的AE,用于构建乳腺癌组织病理图像分类的端到端网络模型。该模型旨在通过最小化输入和输出图像之间的距离来学习有用的图像特征,同时保持特征提取的类间距离尽可能大,类内距离尽可能小。

        该模型将AE网络强大的特征提取能力与Siamese框架的特征距离约束相结合,获得更容易判别的图像特征。此外,输入图像的多尺度变换使网络模型能够同时学习全局和局部信息。实验结果表明,从多尺度输入中提取的特征可以显著提高分类性能,特别是当使用Siamese框架进行特征距离约束时。我们的模型不仅准确率高,而且在不同的病例中表现出良好的特异性、敏感性和较少的训练时间,这表明它对病理学家和研究人员在乳腺癌诊断中特别有用。

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

【BUG】已解决:TypeError: object of type ‘int‘ has no len()

已解决:TypeError: object of type ‘int‘ has no len() 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页,我是博主英杰,211科班出身,就职于医疗科技公司,热衷分享知识,武汉城市…

【windows|015】UDP协议详解

🍁博主简介: 🏅云计算领域优质创作者 🏅2022年CSDN新星计划python赛道第一名 🏅2022年CSDN原力计划优质作者 ​ 🏅阿里云ACE认证高级工程师 ​ 🏅阿里云开发者社区专家博主 💊交流社…

学懂C语言(四):C语言数据类型

目录 一、数据类型分类 二、存储大小和值范围 三、类型转换 在 C 语言中,数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式。 一、数据类型分类 C 中的类型可分为以下几…

内六角螺丝外观检测有多严格?

沉头内六角螺丝是一种常见的螺丝类型,具有内部六角孔和沉头设计。这种螺丝通常需要使用内六角扳手或扳手来拧紧或松开。沉头设计让螺丝头部潜入被连接的物体表面,使其表面平整,不会凸起。 沉头设计使螺丝头部潜入物体表面,实现隐…

PAT甲级真题1042判断二叉搜索树

镜像后的树 样例是前序遍历,中序序列就是把前序序列sort一下,然后根据中序序列和前序序列构造一棵树,和树的遍历一样 前序序列:8 6 5 7 10 8 11 中序序列:5 6 7 8 8 10 11 镜像后的中序序列:11 10 8 8 7 6 5 ###在中序序列中有多个相同的根结点,取第一个 ###如果在中序序列中…

解决element-ui e-table表格中使用多选,当翻页时已选中的数据丢失

用element-ui中的table时&#xff0c;当有多选又有翻页功能时&#xff0c;点击翻页后之前选中的数据会丢失&#xff0c;怎么使表格具有记忆功能呢 element-ui API中有几个属性可以供我们完美解决这个问题 1.单元格的属性和方法&#xff1a; 2.表格的方法&#xff1a; <el-…

数据预处理在建模中的重要性与常见方法(二):数据变化篇

1. 数据标准化 数据标准化是将数据转换到同一量纲&#xff0c;以消除不同量纲之间的影响&#xff0c;使数据具有可比性。常见的标准化方法包括Min-Max标准化和Z-score标准化。 &#xff08;1&#xff09;Min-Max标准化 应用场景&#xff1a;适用于对特征范围有要求的模型&…

AI发展除了带来失业,还带来了不少副业兼职,一键无脑生成,月入1W+

前言 今天&#xff0c;我想和大家分享一下在当前经济下行、就业压力加大的背景下&#xff0c;个人如何利用AI技术开展副业&#xff0c;实现月入过万。 近年来&#xff0c;AI技术的发展虽然带来了不少就业岗位的流失&#xff0c;但同时也为我们提供了许多新的副业机会。今天我…

LNMP环境配置问题整理

首先是一键安装直接报错: 换教程:搭建LNMP,步骤最详细,附源码,学不会打我-CSDN博客 mysql安装成功之后: MySQL 启动报错:Job for mysqld.service failed because the control process exited with error code. 如果所有方法都试过之后卸载后重装可以快速解决: 参考…

matlab PID tuner整定工具箱的用法

从主页的APP中搜索到它&#xff1a; 按照下图IMPORT导入被控对象的传递函数 在下图的Inspect按钮中可以看到导入的被控对象的传函。 在下图的Type中选择控制器类型&#xff1a; 在下图的Form中选择PID的形式&#xff1a;有两种可选&#xff1a;平行式Parallel和标准式Standard …

【Vue3 ts】echars图表展示统计的月份数据

图片展示 此处内容为展示24年各个月份产品的创建数量。在后端统计24年各个月份产品数量后&#xff0c;以数组的格式发送给前端&#xff0c;前端负责展示。 后端 entity层&#xff1a; Data Schema(description "月份统计")public class MonthCount {private Stri…

SCSA第九天

DPI和DFI的对比 1&#xff0c;DFI仅对流量行为分析&#xff0c;只能对应用类型进行笼统的分类&#xff0c;无法做到精细的识别 2&#xff0c;如果流量进行加密的话&#xff0c;DPI可能在没有解密的情况无法进行识别&#xff0c;但是DFI不受影响 IPS&#xff08;入侵防御&…

HarmonyOS介绍

一、什么是HarmonyOS HarmonyOS是新一代的智能终端操作系统&#xff0c;为不同设备的智能化、互联与协同提供了统一的语言&#xff0c;为用户带来简捷、流畅、连续、安全可靠的全场景交互体验。 二、HarmonyOS的核心理念 1、一次开发 多端部署 指的是一个工程&#xf…

基于SpringBoot+Vue的广场舞团系统(带1w+文档)

基于SpringBootVue的广场舞团系统(带1w文档) 基于SpringBootVue的广场舞团系统(带1w文档) 广场舞团&#xff0c;为用户随时随地查看广场舞团信息提供了便捷的方法&#xff0c;更重要的是大大的简化了管理员管理广场舞团信息的方式方法&#xff0c;更提供了其他想要了解广场舞团…

Java多线程用法(附20道练习题)

目录 一、多线程的实现方式1. 继承Thread类2. 实现Runnable接口3. 实现Callable接口4. 三种方式的对比 二、多线程的常用的实现方法三、守护线程、礼让线程和插队线程1. 守护线程 thread.setDaemon(true)2. 礼让线程 Thread.yield()3. 插队线程 thread.join(); 四、Java中线程的…

Go 语言 UUID 库 google/uuid 源码解析:UUID version7 的实现

google/uuid 库地址 建议阅读内容 在阅读此篇文章之前&#xff0c;建议先了解 UUIDv1 的构成、UUIDv4 的 API 以及掌握位运算。 了解 UUIDv1 的构成可以参考Go 语言 UUID 库 google/uuid 源码解析&#xff1a;UUID version1 的实现 或 RFC 9562。 了解 UUIDv4 的 API 可以看…

husky 和 lint-staged 构建代码项目规范

目录 前言 最简单的方法 过 scripts 来解决如果检测工具多&#xff0c;需要多次处理 通过 husky(哈士奇)来解决容易遗忘的问题 1. 安装 2. husky init 3. 试一试​ lint-stadge 只 lint 改动的 1. 安装 2. 修改 package.json 配置 3. 添加 npm 脚本: 4.使用 Husky…

成为git砖家(1): author 和 committer 的区别

大家好&#xff0c;我是白鱼。一直对 git author 和 committer 不太了解&#xff0c; 今天通过 cherry-pick 的例子搞清楚了区别。 原理 例如我克隆了著名开源项目 spdlog 的源码&#xff0c; 根据某个历史 commit A 创建了分支&#xff0c; 然后 cherry-pick 了这个 commit …

卡片式组件封装demo

效果视频&#xff1a; 卡片组件 样式还得细调~&#xff0c;时间有限&#xff0c;主要记录一下逻辑。 html结构&#xff1a; 目录 父组件数据处理数据格式 父组件的全部代码 子组件数据处理props参数 样式部分三个圆点点击三圆点在对应位置显示查看弹框点击非内容部分隐藏查看…

第四章 自定义序列类

目录 5.1 序列类型的分类 容器序列 扁平序列 可变序列 不可变序列 5.2 序列的abc继承关系 5.3 序列的、和extend的区别 操作符 操作符 extend方法 5.4 实现可切片的对象 5.5 bisect管理可排序序列 深入解释 5.6 什么时候我们不该用列表 深入解释 5.7 列表推导式…