基于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的迁移学习
- 图像数据平衡模块,用于解决乳房X光数据集中的类不平衡问题
- 设计了一种基于视觉变换的乳房X光片分类迁移学习方法。利用Transformer的自我注意力方法,改进了基于CNN的迁移学习方法的缺点
- 源图像被分成称为视觉标记的图像块的集合。
- 视觉标记被合并到固定维度编码向量的集合中。实质上与负责处理文本输入的网络相同的Transformer编码器网络与编码后的矢量一起被馈送图像中的块的位置。
- 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域中的结构的方式排列输入图像数据。
产生
个像素大小为
的块。每个块被展平为
的向量
,
使用可训练的线性投影E将展平的块映射到D维度,产生一系列嵌入的图像块,
嵌入的图像块序列以嵌入
的可学习类为前缀,
值得对应分类结果为Y,
最后将在训练过程中学习到的一维位置嵌入Epos添加到块嵌入中,从而向输入中添加定位信息。
我们将反馈到Transformer-encoder网络结构中,该网络是由L个相同的层堆叠而成,从而进行分类。在编码器输出的第 L 层向分类前馈
的值。在预训练过程中,采用单隐藏层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(n<9),输出由数字组成的直角三角图形。例如,输入5,输出图形如下 nint(input("")) #开始 for i in range(1,n1):for j in range(1,i1):print(j,end"")print()#结束 2.打印字符图形 …...
前端面试题--CSS系列(一)
CSS系列--持续更新中 1.CSS预处理器有哪些类型,有什么区别2.盒模型是什么,有哪两种类型3.css选择器有哪些,优先级是怎样的,哪些属性可以继承4. 说说em/px/rem/vh/vw的区别5.元素实现水平垂直居中的方法有哪些,如果元素…...
VSCode好用插件
由于现在还是使用vue2,所以本文只记录vue2开发中好用的插件。 美化类插件不介绍了,那些貌似对生产力起不到什么大的帮助,纯粹的“唯心主义”罢了,但是如果你有兴趣的话可以查看上一篇博客:VSCode美化 1. vuter 简介&…...
eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)
说明: 想象一下,你正在用eNSP搭建一个虚拟的网络世界,里面有虚拟的路由器、交换机、电脑(PC)等等。这些设备都在你的电脑里面“运行”,它们之间可以互相通信,就像一个封闭的小王国。 但是&#…...
React hook之useRef
React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...
Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...
如何在最短时间内提升打ctf(web)的水平?
刚刚刷完2遍 bugku 的 web 题,前来答题。 每个人对刷题理解是不同,有的人是看了writeup就等于刷了,有的人是收藏了writeup就等于刷了,有的人是跟着writeup做了一遍就等于刷了,还有的人是独立思考做了一遍就等于刷了。…...
MySQL用户和授权
开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务: test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...
是否存在路径(FIFOBB算法)
题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...
python执行测试用例,allure报乱码且未成功生成报告
allure执行测试用例时显示乱码:‘allure’ �����ڲ����ⲿ���Ҳ���ǿ�&am…...
JS设计模式(4):观察者模式
JS设计模式(4):观察者模式 一、引入 在开发中,我们经常会遇到这样的场景:一个对象的状态变化需要自动通知其他对象,比如: 电商平台中,商品库存变化时需要通知所有订阅该商品的用户;新闻网站中࿰…...
MySQL JOIN 表过多的优化思路
当 MySQL 查询涉及大量表 JOIN 时,性能会显著下降。以下是优化思路和简易实现方法: 一、核心优化思路 减少 JOIN 数量 数据冗余:添加必要的冗余字段(如订单表直接存储用户名)合并表:将频繁关联的小表合并成…...
【Linux】自动化构建-Make/Makefile
前言 上文我们讲到了Linux中的编译器gcc/g 【Linux】编译器gcc/g及其库的详细介绍-CSDN博客 本来我们将一个对于编译来说很重要的工具:make/makfile 1.背景 在一个工程中源文件不计其数,其按类型、功能、模块分别放在若干个目录中,mak…...
