6.7.31 使用端到端训练的基于 EfficientNet 的卷积网络在双视图乳房 X 线摄影中进行乳腺癌诊断
最好的技术之一进行了两次迁移学习:第一种是使用在自然图像上训练的模型来创建“块分类器”,对子图像进行分类;第二种是使用块分类器扫描整个乳房 X 光检查并创建“单视图全图像分类器”。建议进行第三次迁移学习,以获得一个“双视图分类器”,以使用两个乳房 X 光检查视图:双侧头尾和内外斜向。
使用 EfficientNet 作为模型的基础。使用 CBIS-DDSM 数据集对整个系统进行“端到端”训练。为了确保统计稳健性,我们使用以下方法对系统进行了两次测试:(a) 5 倍交叉验证;(b) 数据集的原始训练/测试划分。使用 5 倍交叉验证达到了 0.9344 的 AUC(在 ROC 的等错误率点上,准确度、灵敏度和特异性为 85.13%)。使用原始数据集划分,技术实现了 0.8483 的 AUC。
1. 引言
乳房 X 线照片必须由经验丰富的放射科医生进行解读,以降低错误率。
在自然图像中,定义图像类别的目标占据了很大的区域。这不会发生在乳房 X 光检查上,其中癌症组织可能只占据很小的区域。因此,直接训练 CNN 或进行传统的迁移学习来对乳房 X 光检查进行分类通常效果不佳。
Shen 等人 [4] 提出了一个克服这一挑战的好主意,即进行两次迁移学习。 第一个使用在 ImageNet [5] 自然图像上训练的模型来初始化“补丁分类器”,该分类器将小乳房 X 光片补丁分为五类:背景、良性钙化、恶性钙化、良性肿块和恶性肿块。第二个使用补丁分类器初始化“单视图全图像分类器”,该分类器使用具有癌症状态的整个乳房 X 光片进行端到端训练。换句话说,首先构建补丁分类器,因为它比构建整个图像分类器更容易。 随后,补丁分类器扫描整个乳房 X 光片,生成描述乳房 X 光片每个区域存在不同类型病变的可能性的属性图。整个图像分类器使用这些图进行最终分类并进行端到端训练。
1.1 文章贡献
在本文中,提出了一些对 Shen 等人的方法的改进,以提高其性能:
- 原始技术使用 ResNet [6] 和 VGG [7] 作为基础模型。用较新的 EfficientNet [8] 替换了它们。
- 标准乳房 X 线摄影包括每个乳房的两个视图:双侧头尾 (CC) 和内外斜向 (MLO)。原始算法一次只处理一个视图,为了将两个视图考虑在内,它只是对独立处理的两个视图的分数取平均值。 除了原来的两个视图之外,我们的技术还执行了第三个迁移学习,以将两个视图考虑在内。 使用单视图分类器初始化“双视图分类器”,然后使用具有癌症状态的双视图乳房 X 线摄影对整个系统(贴片、单视图和双视图分类器)进行端到端训练。
2. 文献综述
2.1 基于 CNN 的乳腺癌诊断
Kooi 等人 [12] 比较了使用最先进的经典方法、基于 CNN 的方法和放射科医生对乳房 X 线摄影 ROI 进行分类的结果。他们得出的结论是,CNN 的性能与放射科医生相当,并且优于经典方法。
Rodriguez 等人 [13] 使用来自美国和欧洲不同机构的 9 个数据集,将基于 CNN 的商业系统 (Transpara 1.4.0) 与 101 名放射科医生进行了比较。 AI 系统的 AUC 为 0.840,而放射科医生的平均 AUC 为 0.814。因此,AI 优于放射科医生的平均水平,但其表现不如最好的放射科医生。
Wu 等人 [16] 设计了一个四视图深度学习。使用 4 个视图预测癌症的 AUC 为 0.895,高于放射科医生的平均 AUC 0.778。 虽然 Wu 等人的工作和我们的工作都使用多视图对癌症进行分类,但存在根本差异,我们将在第 IV-C4 节中解释。
2.2 公共乳房X光检查数据集
DDSM [17] 是最大的公共乳房 X 线照片数据集,包含 2,620 次检查,包含正常、良性和恶性病例以及经过验证的病理信息。 CBIS-DDSM [18] 是 DDSM 的更新和精选版本,经过组织以使其更易于使用。它包含 3,103 张乳房 X 线照片。表 1 总结了此数据集中的乳房 X 线照片数量。

InBreast 公开数据集仅包含 115 个病例,共 410 张图像 [19],规模太小,无法用于深度学习。
最近发布的公开数据集 CSAW-M [20] 未将病变分为正常/良性/恶性类别,因此无法用于我们的研究。其他近期公开数据集(如 KAU-BCMD [21] 或 VinDr-Mammo [22])缺乏经过验证的病理信息,在撰写本文时尚未完全可用。
2.3 比较 CAD 性能
当将 CBIS-DDSM 数据集随机划分为 5 个子集,并使用 4 个子集训练我们的双视图分类器并在剩余的集合上进行测试时,获得的 5 个 AUC 从 0.90 到 0.99 不等(4 个具有 TTA(数据增强) 的模型,见表 5)。因此,如果在随机划分中很幸运,双视图分类器将达到惊人的 0.99 AUC,如果我们运气不好,它只会达到 0.90。这两个值都不能反映我们系统的真实性能。因此,使用随机训练/测试划分获得的结果不可靠。
使用 CBIS-DDSM 的官方训练/测试划分,获得的 AUC 非常小。Shen 等人 [4] 使用随机训练/测试划分获得
相关文章:
6.7.31 使用端到端训练的基于 EfficientNet 的卷积网络在双视图乳房 X 线摄影中进行乳腺癌诊断
最好的技术之一进行了两次迁移学习:第一种是使用在自然图像上训练的模型来创建“块分类器”,对子图像进行分类;第二种是使用块分类器扫描整个乳房 X 光检查并创建“单视图全图像分类器”。建议进行第三次迁移学习,以获得一个“双视图分类器”,以使用两个乳房 X 光检查视图…...
访问方法(反射)
文章目录 前言一、访问成员方法的方法二、Method类 1.常用方法2.实操展示总结 前言 为了实现在某类中随时可以调用其他类的方法,java.lang.reflect包中提供了Method方法类来实现该效果。每一个Method对象代表着一个方法,利用Methoc对象可以操纵相应的方法…...
探索Excel的隐藏功能:如何求和以zzz开头的列
哈喽,大家好,我是木头左! 步骤一:定位"zzz"开头的列 需要找到所有以"zzz"开头的列。在Excel中,你可以通过以下几种方法来实现: 手动查找:滚动查看列标题,找到…...
git:切换到指定的commit
背景 今天合并人家代码的时候,报冲突了,然后解决完冲突以后,发现有个冲突干错了,但是都已经commit了,所以我就想那就回到这次merge之前的我的分支的commit 解决过程 取消合并 我先查了能否直接取消合并,…...
js之事件监听以及相关案例
这里写目录标题 一级目录二级目录三级目录 Web APIs02一、事件监听1.定义2.调用语法3.事件监听三要素4.事件监听版本 二、事件类型随机点名之事件监听版本案例要求大致思路先获取dom对象理解程序运行 完整代码 一级目录 二级目录 三级目录 Web APIs02 一、事件监听 1.定义…...
pip 安装出现 ERROR: Command errored out with exit status 1: 问题解决
使用pip 安装第三方库,前面在升级pip(使用python.exe -m pip install --upgrade pip)也出现如下错误: ERROR: Command errored out with exit status 1: command: d:\python_3_7_6\python.exe C:\Users\xxxXXXXoooOOOO\AppData…...
图的遍历介绍
概念 特点 无论是进行哪种遍历,均需要通过设置辅助数组标记顶点是否被访问来避免重复访问!!!! 类型 深度优先遍历 可以实现一次遍历访问一个连通图中的所有顶点,只要连通就能继续向下访问。 因此&#x…...
实验二、网络属性设置《计算机网络》
精神状态 be like:边写边崩溃,越写越得劲儿。 目录 一、实验目的: 二、实验内容 三、实验步骤: 四、实验小结 一、实验目的: 掌握 IP 地址、子网掩码等网络属性的设置。 二、实验内容 预备知识: 1、…...
【Python数据魔术】:揭秘类型奥秘,赋能代码创造
文章目录 🚀一.运算符🌈1. 算术运算符🌈2. 身份运算符🌈3. 成员运算符⭐4. 增量运算符⭐5. 比较运算符⭐6. 逻辑运算符 🚀二.可变与不可变🚀三.字符串转义🚀四.编码与解码💥1. 基础使…...
Android Glide loading Bitmap from RESOURCE_DISK_CACHE slow,cost time≈2 seconds+
Android Glide loading Bitmap from RESOURCE_DISK_CACHE slow,cost time≈2 seconds 加载一张宽高约100px多些的小图,是一张相当小的正常图片,loading Bitmap from RESOURCE_DISK_CACHE竟然耗时达到惊人的3秒左右!(打开Glide调试…...
微调技术:人工智能领域的神奇钥匙
在人工智能的浪潮中,深度学习技术凭借其强大的数据处理和学习能力,已成为推动科技进步的重要引擎。然而,深度学习模型的训练往往需要大量的数据和计算资源,这在某些特定场景下成为了限制其发展的瓶颈。为了解决这个问题࿰…...
MyBatis 参数上的处理的细节内容
1. MyBatis 参数上的处理的细节内容 文章目录 1. MyBatis 参数上的处理的细节内容2. MyBatis 参数上的处理3. 准备工作4. 单个(一个)参数4.1 单个(一个)简单类型作为参数4.2 单个(一个) Map集合 作为参数4.3 单个(一个) 实体类POJO作为参数 5. 多个参数5.1 Param注解(命名参数)…...
水帘降温水温
不同环境下的水帘啊,使用水温是不一样的,夏天使用水疗的水有两种,一个是常温的循环水,20~26左右,另外一个呢,就是深井水,重点是啥呢?就是无论我们用哪一种,能够把温度降到…...
kafka如何保证消息不丢失
Kafka发送消息是异步发送的,所以我们不知道消息是否发送成功,所以会可能造成消息丢失。而且Kafka架构是由生产者-服务器端-消费者三种组成部分构成的。要保证消息不丢失,那么主要有三种解决方法。 生产者(producer)端处理 生产者默认发送消息…...
流媒体学习之路(WebRTC)——音频NackTracker优化思路(8)
流媒体学习之路(WebRTC)——音频NackTracker优化思路(8) —— 我正在的github给大家开发一个用于做实验的项目 —— github.com/qw225967/Bifrost目标:可以让大家熟悉各类Qos能力、带宽估计能力,提供每个环节关键参数调节接口并实…...
Java基础面试重点-2
21. JVM是如何处理异常(大概流程)? 如果发生异常,方法会创建一个异常对象(包括:异常名称、异常描述以及异常发生时应用程序的状态),并转交给JVM。创建异常对象,并转交给…...
【活动文章】通用大模型VS垂直大模型,你更青睐哪一方
垂直大模型和通用大模型各有其特定的应用场景和优势。垂直大模型专注于特定领域,提供深度的专业知识和技能,而通用大模型则具备广泛的适用性和强大的泛化能力。以下是一些垂直大模型和通用大模型的例子: 垂直大模型 BERT-Financial…...
记录一个Qt调用插件的问题
问题背景 使用Qt主程序插件的方式开发,即主程序做成一个框,定义好插件接口,然后主程序上通过插件接口与插件进行交互。调试过程中遇到了两个问题,在这里记录一下。 问题1(信号槽定义) 插件与主程序之间&am…...
9.1 Go 接口的定义
💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…...
易于上手的requests
Python中的requests库主要用于发送HTTP请求并获取响应结果。在现代网络编程中,HTTP请求是构建客户端与服务器之间通信的基础。Python作为一种高级编程语言,其丰富的库支持使得它在网络数据处理领域尤为突出。其中,requests库以其简洁、易用的…...
vscode里如何用git
打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...
React hook之useRef
React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...
Swagger和OpenApi的前世今生
Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章,二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑: 🔄 一、起源与初创期:Swagger的诞生(2010-2014) 核心…...
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分: 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...
【LeetCode】算法详解#6 ---除自身以外数组的乘积
1.题目介绍 给定一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O…...
通过MicroSip配置自己的freeswitch服务器进行调试记录
之前用docker安装的freeswitch的,启动是正常的, 但用下面的Microsip连接不上 主要原因有可能一下几个 1、通过下面命令可以看 [rootlocalhost default]# docker exec -it freeswitch fs_cli -x "sofia status profile internal"Name …...
npm install 相关命令
npm install 相关命令 基本安装命令 # 安装 package.json 中列出的所有依赖 npm install npm i # 简写形式# 安装特定包 npm install <package-name># 安装特定版本 npm install <package-name><version>依赖类型选项 # 安装为生产依赖(默认&…...
Gitlab + Jenkins 实现 CICD
CICD 是持续集成(Continuous Integration, CI)和持续交付/部署(Continuous Delivery/Deployment, CD)的缩写,是现代软件开发中的一种自动化流程实践。下面介绍 Web 项目如何在代码提交到 Gitlab 后,自动发布…...
2025-06-08-深度学习网络介绍(语义分割,实例分割,目标检测)
深度学习网络介绍(语义分割,实例分割,目标检测) 前言 在开始这篇文章之前,我们得首先弄明白,什么是图像分割? 我们知道一个图像只不过是许多像素的集合。图像分割分类是对图像中属于特定类别的像素进行分类的过程,即像素级别的…...
