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库以其简洁、易用的…...
抖音内容下载工具:跨平台Python解决方案的技术实现与应用
抖音内容下载工具:跨平台Python解决方案的技术实现与应用 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback su…...
Linux文件系统性能调优:深入理解dentry缓存机制与实战监控
Linux文件系统性能调优:深入理解dentry缓存机制与实战监控 当你在Linux服务器上执行ls -l /usr/bin时,系统几乎瞬间就能返回结果——这种看似简单的操作背后,隐藏着Linux文件系统最精妙的缓存设计。作为系统管理员,我曾经历过一次…...
思源宋体CN终极指南:7款免费开源中文字体快速上手教程
思源宋体CN终极指南:7款免费开源中文字体快速上手教程 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 思源宋体CN(Source Han Serif CN)是Google与A…...
避坑指南:STM32软件I2C读取MPU6050数据老是不对?可能是这5个细节没做好
STM32软件I2C读取MPU6050数据异常排查实战手册 深夜调试嵌入式系统时,最令人抓狂的莫过于硬件连接看似正常,但传感器数据死活读不出来。上周我就遇到了这样的困境:用STM32的软件模拟I2C读取MPU6050时,OLED屏幕上要么显示一堆乱码&…...
别再手动填0了!用TI Hex6x工具链高效生成DSP可执行文件(bin/dat)
别再手动填0了!用TI Hex6x工具链高效生成DSP可执行文件(bin/dat) 在嵌入式开发领域,为DSP处理器生成可执行文件是一个看似简单却暗藏玄机的过程。许多工程师第一次接触C6678等TI DSP芯片时,往往会陷入一个效率陷阱——…...
【Linux】UnixBench深度解析:从分数调优到2D/3D图形测试实战
1. UnixBench基础:从原理到实战价值 UnixBench作为Unix/Linux系统性能评估的瑞士军刀,已经存在超过30年。我第一次接触这个工具是在2014年优化一批老旧服务器时,当时发现同样配置的机器跑分差异能达到40%,这才意识到系统调优的重要…...
告别数据上传失败:深度调试STM32+ESP8266连接OneNET的AT指令与网络交互
告别数据上传失败:深度调试STM32ESP8266连接OneNET的AT指令与网络交互 当你在深夜调试STM32与ESP8266的连接,看着串口不断输出的"ERROR"和"FAIL",是否感到一丝绝望?这不是你一个人的困境。本文将带你深入AT指…...
如何高效限制ACE-Guard进程资源占用:sguard_limit完整使用指南
如何高效限制ACE-Guard进程资源占用:sguard_limit完整使用指南 【免费下载链接】sguard_limit 限制ACE-Guard Client EXE占用系统资源,支持各种腾讯游戏 项目地址: https://gitcode.com/gh_mirrors/sg/sguard_limit 想要在玩腾讯游戏时获得更流畅…...
大语言模型自我进化:从依赖人类到自主迭代,未来AI如何实现持续成长?
随着大语言模型(LLMs)的发展,仅依靠人类监督来提升模型性能的成本高昂且存在局限。本文提出了“自我改进”的概念,即模型自主生成数据、评估输出并迭代优化自身能力。文章从系统级视角提出了一套整合现有技术的统一框架࿰…...
JetBrains IDE试用期重置工具:开发者必备的高效解决方案
JetBrains IDE试用期重置工具:开发者必备的高效解决方案 【免费下载链接】ide-eval-resetter 项目地址: https://gitcode.com/gh_mirrors/id/ide-eval-resetter 在当今快速发展的软件开发领域,JetBrains系列IDE凭借其卓越的代码智能提示、强大的…...
