当前位置: 首页 > 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 简介&…...

【研报 A114】2026人工智能时代企业技能管理数字化转型白皮书:AI驱动全生命周期闭环,迭代速度提升70%

摘要&#xff1a;智能汽车产业加速升级&#xff0c;车企正面临员工技能迭代的核心挑战&#xff0c;AI 原生技能管理成为转型关键。依托生成式 AI、多智能体等技术&#xff0c;全新的技能管理体系贯穿技能梳理、培养、评估、应用全生命周期&#xff0c;将技能转化为车企的核心无…...

千万级用户购物车系统的架构设计

我们当时搞的购物车服务&#xff0c;其实还是有点庞大的&#xff0c;看似是一个简单的CRUD&#xff0c;但是当你真正去实现一个购物车的时候&#xff0c;发现压根不是那回事。 当商品类型从单一SKU扩展到普通商品、套餐组合、活动商品&#xff0c;拼单等混合的时候&#xff0c;…...

RDMA之从userspace verbs 到kernel verbs

用户态RDMA(userspace verbs)RDMA是一种高性能网络协议&#xff0c;一般用在GPU集群的高速通信库&#xff0c;如NCCL、NVSHMEM等&#xff0c;这些都是用户态通信库&#xff0c;我们熟知的RDMA大部分都是用户态RDMA。比如&#xff0c;如下一个简单的RDMA程序int main() { ​// 1…...

【DeepSeek开发者垂直搜索实战指南】:3大行业落地案例+5个避坑要点,限时公开内部调优参数

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;DeepSeek开发者垂直搜索应用案例全景概览 DeepSeek系列大模型凭借其开源、高性能与强推理能力&#xff0c;正被广泛集成至开发者垂直搜索场景中——从代码片段检索、API文档语义查找&#xff0c;到私有…...

小熊派gd32f303实战指南(9)— 硬件I2C驱动AT24C02 EEPROM从零到一

1. 硬件I2C与AT24C02基础认知 第一次接触硬件I2C时&#xff0c;我也被那些专业术语搞得一头雾水。简单来说&#xff0c;I2C就像两个人用摩斯密码交流——只需要两根线&#xff08;SDA数据线和SCL时钟线&#xff09;&#xff0c;就能让主设备&#xff08;GD32F303&#xff09;和…...

限流不是加个计数器就行:用 Lua 脚本实现多维度原子限流

限流不是加个计数器就行&#xff1a;用 Lua 脚本实现多维度原子限流 项目地址&#xff1a;interview-agent 技术栈&#xff1a;Java 21 / Spring Boot 4.0 / Redis 7 (Redisson) / PostgreSQL 问题&#xff1a;单维度限流挡不住真实场景 简历上传接口&#xff0c;你加了一个&q…...

TEKLauncher终极指南:如何打造ARK生存进化的专业级游戏启动器

TEKLauncher终极指南&#xff1a;如何打造ARK生存进化的专业级游戏启动器 【免费下载链接】TEKLauncher Launcher for ARK: Survival Evolved 项目地址: https://gitcode.com/gh_mirrors/te/TEKLauncher ARK生存进化玩家必看&#xff01;TEKLauncher作为一款专为ARK: Su…...

别再只用轮盘赌了!遗传算法选择算子实战对比:Python代码实现与性能调优心得

遗传算法选择算子深度实战&#xff1a;从轮盘赌到锦标赛的Python优化指南 在解决复杂优化问题时&#xff0c;遗传算法展现出了惊人的适应能力。但许多开发者止步于基础的轮盘赌选择&#xff08;Roulette Wheel Selection&#xff09;&#xff0c;却不知不同选择策略对算法性能的…...

为Odoo ERP构建安全的AI数据访问层:基于权限治理的语义查询实践

1. 项目概述&#xff1a;为Odoo ERP构建一个受治理的AI数据访问层如果你正在使用Odoo管理企业业务&#xff0c;同时又希望让AI助手&#xff08;比如Claude、Cursor&#xff09;能够安全地查询销售数据、分析库存状况&#xff0c;而不是让它们直接面对你的生产数据库写SQL&#…...

终极指南:如何使用Cherry MX键帽3D模型库打造你的专属机械键盘

终极指南&#xff1a;如何使用Cherry MX键帽3D模型库打造你的专属机械键盘 【免费下载链接】cherry-mx-keycaps 3D models of Chery MX keycaps 项目地址: https://gitcode.com/gh_mirrors/ch/cherry-mx-keycaps 想要打造一把真正属于自己的机械键盘吗&#xff1f;厌倦了…...