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库以其简洁、易用的…...

SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...

铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄
文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...
Ubuntu系统下交叉编译openssl
一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机:Ubuntu 20.04.6 LTSHost:ARM32位交叉编译器:arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...

376. Wiggle Subsequence
376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

C++ 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
Linux离线(zip方式)安装docker
目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...

嵌入式学习笔记DAY33(网络编程——TCP)
一、网络架构 C/S (client/server 客户端/服务器):由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序,负责提供用户界面和交互逻辑 ,接收用户输入,向服务器发送请求,并展示服务…...