当前位置: 首页 > news >正文

基于Vision Transformer的迁移学习在乳腺X光图像分类中的应用

乳房X线摄影(MG)在乳腺癌的早期发现中起着重要作用。MG可以在早期阶段发现乳腺癌,即使是感觉不到肿块的小肿瘤。基于卷积神经网络(CNN)的DL最近吸引了MG的大量关注,因为它有助于克服CAD系统的限制(假阳性、不必要的辐射暴露、无意义的活组织检查、高回调率、更高的医疗费用和更多的检查次数)。

当其应用在整个乳房X光图像时,由于在不同特征级别的多重卷积,CNN的计算代价很高。首先聚焦于图像的特定区域,而不是整个图像,逐渐为整个图像建立特征。

CNN缺乏在没有增强的情况下处理旋转和比例不变性的能力,并且无法对相对空间信息进行编码。

为解决此类问题,使用基于块的乳房图像分类器,而其中使用潜在的感兴趣区域(ROI)而不是整个乳房图像,这种方法有一定的局限性。基于CNN深度学习模型用于乳房X光摄影乳腺癌检测的第一个挑战是肿瘤定位。

大多数基于CNN的深度学习模型使用基于块的方法:

裁剪乳房X光照片上的可疑肿瘤区域并将其送入模型。这会导致整个乳房X光检查的信息丢失,导致出现假阳性结果

同时其性能根据图像中病变的大小而不同

CNN需要相当大的预处理来处理糟糕的图像质量。由于能见度降低、对比度低、清晰度差和噪音,相当大比例的异常被误诊或忽视

CNN对于不平衡的数据集的性能很差,训练数据集中正类和负类之间的不平等被称为数据集不平衡。直接在不平衡的数据集上训练CNN模型可能会使预测偏向于具有更多观测数量的类别。

弥补图像数据集不足的方法

数据增强和迁移学习

数据增强使得能够使用原始图像创建重新排列的图像数据,从而增加训练图像数据集的数量和种类。它包括噪波添加、旋转、平移、对比度、饱和度、色彩增强、亮度、缩放和裁剪等操作。

迁移学习利用来自所选数据集的预先训练的权重作为在另一数据集上训练的起点。这使得能够从先前任务中学到的知识用于目标任务。几乎所有基于CNN的用于乳房X光摄影的DL方法都使用迁移学习方法来弥补大型数据集的不足,并利用具有先验特征知识的优化模型来执行新任务。

基于Vision Transformer的迁移学习

  1. 图像数据平衡模块,用于解决乳房X光数据集中的类不平衡问题
  2. 设计了一种基于视觉变换的乳房X光片分类迁移学习方法。利用Transformer的自我注意力方法,改进了基于CNN的迁移学习方法的缺点
  1. 源图像被分成称为视觉标记的图像块的集合。
  2. 视觉标记被合并到固定维度编码向量的集合中。实质上与负责处理文本输入的网络相同的Transformer编码器网络与编码后的矢量一起被馈送图像中的块的位置。
  3. VIT编码器由多个模块组成,每个模块都有三个主要处理部件:层归一化、多头注意力网络(MSP)和多层感知器(MLP)。

该模型通过层归一化对训练图像的差异性进行调整,使训练过程保持在正轨上。多头注意力网络从提供的嵌入式视觉token创建attention map,其帮助网络将注意力集中在图像最关键的区域。

多视图Transformer

使用多视图Transformer模型(MVT)来检测乳房X光照片上的乳腺癌。MVT由两个主要部分组成:局部和全局Transformer。局部Transformer分析来自每个视图图像的数据。相比之下,全局Transformer结合来自四-视图乳房X光照片的数据。

自注意力机制、多头自注意力和多层感知器是局部和全局Transformer的三个主要组成部分。

乳房X光照片的像素大小差异很大;我们将所有图像的大小调整为224*224像素,从输入图像到生成补丁的首选大小。

Vision Transformer架构

视觉转换器模型将图像分割成更小的二维块,并将这些块作为单词标记输入,如原始NLP转换器模型所执行的那样。高度H、宽度W和通道数C的输入图像被分成较小的二维块,以类似于输入在NLP域中的结构的方式排列输入图像数据。

产生N=\frac{HW}{P^{2}}个像素大小为P\times P的块。每个块被展平为P^{2}\times C的向量X_{p}^{n}

使用可训练的线性投影E将展平的块映射到D维度,产生一系列嵌入的图像块,

嵌入的图像块序列以嵌入X_{class}的可学习类为前缀,X_{class}值得对应分类结果为Y,

最后将在训练过程中学习到的一维位置嵌入Epos添加到块嵌入中,从而向输入中添加定位信息。

我们将Z_{0}反馈到Transformer-encoder网络结构中,该网络是由L个相同的层堆叠而成,从而进行分类。在编码器输出的第 L 层向分类前馈X_{class}的值。在预训练过程中,采用单隐藏层MLP(多层感知机)实现分类;在精调过程中,采用单线性层实现分类;MLP实现 GELU 非线性进行分类。


总体而言,视觉转换器使用了原始NLP转换器架构的编码器组件。编码器接收大小为16×16的嵌入图像块序列作为输入,连同位置数据,以及挂起到该序列的可学习类嵌入。补丁越小,性能就越高,计算成本也就越高。

Swin Transformer架构

 金字塔 vision Transformer(PVT)

PVT使用一种被称为空间减少注意(SRA)的自我注意类型,其特征是键和值的空间减少,以获得注意机制的二次方复杂性。SRA逐渐降低了整个模型中特征的空间维度。此外,它还将位置嵌入应用于所有变压器块,强化了顺序的思想。

相关文章:

基于Vision Transformer的迁移学习在乳腺X光图像分类中的应用

乳房X线摄影(MG)在乳腺癌的早期发现中起着重要作用。MG可以在早期阶段发现乳腺癌,即使是感觉不到肿块的小肿瘤。基于卷积神经网络(CNN)的DL最近吸引了MG的大量关注,因为它有助于克服CAD系统的限制(假阳性、不必要的辐射暴露、无意义的活组织检查、高回调…...

WebGIS 地铁交通线网数据可视化监控平台

数字孪生技术在地铁线网的管理和运维中的应用是一个前沿且迅速发展的领域。随着物联网、大数据、云计算以及人工智能技术的发展,地铁线网数字孪生在智能交通和智慧城市建设中的作用日益凸显。 图扑软件基于 HTML5 的 2D、3D 图形渲染引擎,结合 GIS 地图&…...

批量导入svg文件作为图标使用(vue3)vite-plugin-svg-icons插件的具体应用

目录 需求svg使用简述插件使用简述实现安装插件1、配置vite.config.ts2、src/main.ts引入注册脚本3、写个icon组件4、使用组件 需求 在vue3项目中,需要批量导入某个文件夹内数量不确定的svg文件用来作为图标,开发完成后能够通过增减文件夹内的svg文件&a…...

X服务器远程连接问题解决:Bad displayname ““‘或Missing X server or $DISPLAY

X服务器远程连接问题 报错1 ImportError: this platform is not supported: (failed to acquire X connection: Bad displayname "", DisplayNameError()) Try one of the following resolutions: * Please make surethat you have an X server running, and that …...

matlab:五点中心差分求解Navier边界的Biharmonic方程(具有纳维尔边界的双调和方程)

我们考虑如下形式的双调和方程的数值解 其中,Ω是欧氏空间中的多边形或多面体域,在其中,d为维度,具有分段利普希茨边界,满足内部锥条件,f(x) ∈ L2(Ω)是给定的函数,∆是标准的拉普拉斯算子。算…...

详细介绍微信小程序app.js

这一节,我们详细介绍app.js 这个文件。这个文件的重要性我就不再赘述,前面已经介绍了。 一、app.js是项目的主控文件 任何一个程序都是需要一个入口的,就好比我们在学c的时候就会有一个main函数,其他语言基本都是一样。很明确的…...

【六 (2)机器学习-EDA探索性数据分析模板】

目录 文章导航一、EDA:二、导入类库三、导入数据四、查看数据类型和缺失情况五、确认目标变量和ID六、查看目标变量分布情况七、特征变量按照数据类型分成定量变量和定性变量八、查看定量变量分布情况九、查看定量变量的离散程度十、查看定量变量与目标变量关系十一…...

Java集合——Map、Set和List总结

文章目录 一、Collection二、Map、Set、List的不同三、List1、ArrayList2、LinkedList 四、Map1、HashMap2、LinkedHashMap3、TreeMap 五、Set 一、Collection Collection 的常用方法 public boolean add(E e):把给定的对象添加到当前集合中 。public void clear(…...

Python TensorFlow 2.6 获取 MNIST 数据

Python TensorFlow 2.6 获取 MNIST 数据 2 Python TensorFlow 2.6 获取 MNIST 数据1.1 获取 MNIST 数据1.2 检查 MNIST 数据 2 Python 将npz数据保存为txt3 Java 获取数据并使用SVM训练4 Python 测试SVM准确度 2 Python TensorFlow 2.6 获取 MNIST 数据 1.1 获取 MNIST 数据 …...

EChart简单入门

echart的安装就细不讲了,直接去官网下,实在不会的直接用cdn,省的一番口舌。 cdn.staticfile.net/echarts/4.3.0/echarts.min.js 正入话题哈 什么是EChart? EChart 是一个使用 JavaScript 实现的开源可视化库,Echart支持多种常…...

阿里云8核32G云服务器租用优惠价格表,包括腾讯云和京东云

8核32G云服务器租用优惠价格表,云服务器吧yunfuwuqiba.com整理阿里云8核32G服务器、腾讯云8核32G和京东云8C32G云主机配置报价,腾讯云和京东云是轻量应用服务器,阿里云是云服务器ECS: 阿里云8核32G服务器 阿里云8核32G服务器价格…...

设计模式,工厂方法模式

工厂方法模式概述 工厂方法模式,是对简单工厂模式的进一步抽象和推广。以我个人理解,工厂方法模式就是对生产工厂的抽象,就是用一个生产工厂的工厂来进行目标对象的创建。 工厂方法模式的角色组成和简单工厂方法相比,创建了一个…...

WPF中嵌入3D模型通用结构

背景:wpf本身有提供3D的绘制,但是自己通过代码描绘出3D是比较困难的。3D库helix-toolkit支持调用第三方生成的模型,比如Blender这些,所以在wpf上使用3D就变得非常简单。这里是一个通过helix-toolkit库调用第三方生成的3d模型的样例…...

举个例子说明联邦学习

学习目标: 一周掌握 Java 入门知识 学习内容: 联邦学习是一种机器学习方法,它允许多个参与者协同训练一个共享模型,同时保持各自数据的隐私。 联邦学习概念(例子): 假设有三家医院,它们都希望…...

【Python】免费的图片/图标网站

专栏文章索引:Python 有问题可私聊:QQ:3375119339 这里是我收集的几个免费的图片/图标网站: iconfont-阿里巴巴矢量图标库icon(.ico)INCONFINDER(.ico)...

Pytorch中的nn.Embedding()

模块的输入是一个索引列表,输出是相应的词嵌入。 Embedding.weight(Tensor)–形状模块(num_embeddings,Embedding_dim)的可学习权重,初始化自(0,1)。 也就是…...

WebSocketServer后端配置,精简版

首先需要maven配置 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId><version>2.1.3.RELEASE</version></dependency> 然后加上配置类 这段代码是一个Spri…...

Python程序设计 多重循环(二)

1.打印数字图形 输入n&#xff08;n<9)&#xff0c;输出由数字组成的直角三角图形。例如&#xff0c;输入5&#xff0c;输出图形如下 nint(input("")) #开始 for i in range(1,n1):for j in range(1,i1):print(j,end"")print()#结束 2.打印字符图形 …...

前端面试题--CSS系列(一)

CSS系列--持续更新中 1.CSS预处理器有哪些类型&#xff0c;有什么区别2.盒模型是什么&#xff0c;有哪两种类型3.css选择器有哪些&#xff0c;优先级是怎样的&#xff0c;哪些属性可以继承4. 说说em/px/rem/vh/vw的区别5.元素实现水平垂直居中的方法有哪些&#xff0c;如果元素…...

VSCode好用插件

由于现在还是使用vue2&#xff0c;所以本文只记录vue2开发中好用的插件。 美化类插件不介绍了&#xff0c;那些貌似对生产力起不到什么大的帮助&#xff0c;纯粹的“唯心主义”罢了&#xff0c;但是如果你有兴趣的话可以查看上一篇博客&#xff1a;VSCode美化 1. vuter 简介&…...

后进先出(LIFO)详解

LIFO 是 Last In, First Out 的缩写&#xff0c;中文译为后进先出。这是一种数据结构的工作原则&#xff0c;类似于一摞盘子或一叠书本&#xff1a; 最后放进去的元素最先出来 -想象往筒状容器里放盘子&#xff1a; &#xff08;1&#xff09;你放进的最后一个盘子&#xff08…...

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘

美国西海岸的夏天&#xff0c;再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至&#xff0c;这不仅是开发者的盛宴&#xff0c;更是全球数亿苹果用户翘首以盼的科技春晚。今年&#xff0c;苹果依旧为我们带来了全家桶式的系统更新&#xff0c;包括 iOS 26、iPadOS 26…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销&#xff0c;平衡网络负载&#xff0c;延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

【解密LSTM、GRU如何解决传统RNN梯度消失问题】

解密LSTM与GRU&#xff1a;如何让RNN变得更聪明&#xff1f; 在深度学习的世界里&#xff0c;循环神经网络&#xff08;RNN&#xff09;以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而&#xff0c;传统RNN存在的一个严重问题——梯度消失&#…...

2024年赣州旅游投资集团社会招聘笔试真

2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

Typeerror: cannot read properties of undefined (reading ‘XXX‘)

最近需要在离线机器上运行软件&#xff0c;所以得把软件用docker打包起来&#xff0c;大部分功能都没问题&#xff0c;出了一个奇怪的事情。同样的代码&#xff0c;在本机上用vscode可以运行起来&#xff0c;但是打包之后在docker里出现了问题。使用的是dialog组件&#xff0c;…...

学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”

2025年#高考 将在近日拉开帷幕&#xff0c;#AI 监考一度冲上热搜。当AI深度融入高考&#xff0c;#时间同步 不再是辅助功能&#xff0c;而是决定AI监考系统成败的“生命线”。 AI亮相2025高考&#xff0c;40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕&#xff0c;江西、…...

基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解

JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用&#xff0c;结合SQLite数据库实现联系人管理功能&#xff0c;并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能&#xff0c;同时可以最小化到系统…...