当前位置: 首页 > news >正文

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 解决过程 取消合并 我先查了能否直接取消合并&#xff0c…...

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调试…...

微调技术:人工智能领域的神奇钥匙

在人工智能的浪潮中,深度学习技术凭借其强大的数据处理和学习能力,已成为推动科技进步的重要引擎。然而,深度学习模型的训练往往需要大量的数据和计算资源,这在某些特定场景下成为了限制其发展的瓶颈。为了解决这个问题&#xff0…...

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&#xf…...

记录一个Qt调用插件的问题

问题背景 使用Qt主程序插件的方式开发,即主程序做成一个框,定义好插件接口,然后主程序上通过插件接口与插件进行交互。调试过程中遇到了两个问题,在这里记录一下。 问题1(信号槽定义) 插件与主程序之间&am…...

9.1 Go 接口的定义

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…...

易于上手的requests

Python中的requests库主要用于发送HTTP请求并获取响应结果。在现代网络编程中,HTTP请求是构建客户端与服务器之间通信的基础。Python作为一种高级编程语言,其丰富的库支持使得它在网络数据处理领域尤为突出。其中,requests库以其简洁、易用的…...

使用VSCode开发Django指南

使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...

云计算——弹性云计算器(ECS)

弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...

SciencePlots——绘制论文中的图片

文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...

Debian系统简介

目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版&#xff…...

UDP(Echoserver)

网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...

怎么让Comfyui导出的图像不包含工作流信息,

为了数据安全,让Comfyui导出的图像不包含工作流信息,导出的图像就不会拖到comfyui中加载出来工作流。 ComfyUI的目录下node.py 直接移除 pnginfo(推荐)​​ 在 save_images 方法中,​​删除或注释掉所有与 metadata …...

Vite中定义@软链接

在webpack中可以直接通过符号表示src路径,但是vite中默认不可以。 如何实现: vite中提供了resolve.alias:通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...

掌握 HTTP 请求:理解 cURL GET 语法

cURL 是一个强大的命令行工具,用于发送 HTTP 请求和与 Web 服务器交互。在 Web 开发和测试中,cURL 经常用于发送 GET 请求来获取服务器资源。本文将详细介绍 cURL GET 请求的语法和使用方法。 一、cURL 基本概念 cURL 是 "Client URL" 的缩写…...

【C++】纯虚函数类外可以写实现吗?

1. 答案 先说答案&#xff0c;可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...

【堆垛策略】设计方法

堆垛策略的设计是积木堆叠系统的核心&#xff0c;直接影响堆叠的稳定性、效率和容错能力。以下是分层次的堆垛策略设计方法&#xff0c;涵盖基础规则、优化算法和容错机制&#xff1a; 1. 基础堆垛规则 (1) 物理稳定性优先 重心原则&#xff1a; 大尺寸/重量积木在下&#xf…...