基于变压器的手持式超声图像中乳腺病变的分类不一致性测量表征

超声成像作为一种替代的低成本、易于获取的非电离成像方式已显示出巨大的前景,可用于乳腺癌筛查。特别是,随着最近便携式设备的出现,超声检查预计将在中低收入国家中越来越普及。然而,超声成像在乳腺癌诊断中的可靠性高度依赖于操作超声医师和检查放射科医生的经验。

为了解决这一限制,人们开发了计算机辅助诊断(CAD)工具来标准化超声测试。深度学习技术的进步使得肿瘤检测、分割和分类等任务实现自动化。卷积神经网络(CNN)在区分良性和恶性乳腺病变方面,通过结合从超声图像中提取的放射组学特征进一步提高此类模型的性能。

深度学习方法面临数据缺失、数据分布不平衡、解空间巨大等挑战,加剧了学习过程的不确定性,从而影响了这些学习算法的性能。为了缓解这些问题,至关重要的是以忽略不可靠预测或将其传递给放射科专家的方式来呈现 CAD 模型的不确定性估计 。

本研究的重要目的是:设计一个指标量化乳腺病变分类结果的不确定性;采用所提出的不确定性度量来改进模型的性能特征。


数据集

总共包含 1150 张图像,其中 469 个病变的横向和纵向视图。病变边界注释是参考超声检查专家放置的卡尺进行的。 BIRADS评分由放射科专家进行评分,据此将病变分为良性(N=839,BIRADS=1&2)或恶性(N=311,BIRADS 3+,活检阳性)。

BI-RADS评分系统是将乳腺肿块分为0~6级,随着级别的升高,恶性风险度也逐渐升高。0级是指需要进行进一步检查;1级为阴性;2级为良性;3级是可能性大的良性,需要半年随诊一次超声;4级是可疑恶性,需要进行活检;5级是高度恶性,需要进行手术切除;6级是已经病理证实为恶性。

 基于手动病灶边界注释:

对图像进行裁剪以消除超声成像软件添加的轴和标签,然后使用最近邻插值技术将其大小调整为 120x120 像素。随后,将每个图像的像素强度归一化至零均值和单位标准差,然后分为大小为 10x10 像素的非重叠图像块。


通过随机选择70个良性和 70 个恶性病变图像形成包含 140 个观察值的测试数据集。鉴于用于训练和验证模型的剩余观察数量有限,特别是在恶性病变的情况下(769 个良性图像和 241 个恶性图像),通过随机平移或翻转每个图像来执行数据增强。选择这些变换是因为它们提供了病变的真实替代视图,这可能是由于超声探头的不同定位和方向造成的。

良性和恶性图像分别增加了 2 倍和 7 倍,总共有 3225 个观察值(1538 个良性图像和 1687 个恶性图像)。在增强数据集上执行 90% / 10% 的训练/验证划分。不对 140 张图像的测试数据集进行任何转换

Vision Transformer模型

与图像相对应的所有10x10块都被展平并投影到维度为64的线性序列。随后,将分类(CLS)标记以及可学习的位置嵌入添加到线性投影中。生成的张量作为Transformer的输入,该Transformer由8个编码层和4个用于自注意力层的头组成。然后,Transformer的输出通过多层感知机(MLP)具有两个由(全连接层、GeLU激活函数和dropout组成)。全连接层的大小分别为 2048 和 1024,而 dropout 率设置为 0.3。具有 softmax 激活函数的最终密集层用于估计图像属于两个类别中的每个类别的概率。该模型使用 Adam 优化器进行了 50 多个 epoch 的训练,学习率为 0.0001,批量大小为 32,稀疏分类交叉熵作为损失函数。

不确定性估计

通过使用 dropout 作为贝叶斯近似来量化测试数据集中每个观测值的分类结果的不确定性。将dropout添加到训练模型的最终分类层,并通过在0.1-0.6的范围内随机改变dropout率,对每个测试图像进​​行N=100次的推理过程。

认知不确定性被测量为多个推理过程中分类得分的标准差。然而,标准偏差仅提供不确定性的衡量标准,而不是与预测可靠性相关的决定,而预测的可靠性将导致放射科专家随后进行审查。

提出了一种替代指标,即分类不一致率(CIR),它将分类的不确定性量化为预测标签偏离多个推理过程中平均分类结果的次数。

P_{i,j}(0),P_{i,j}(1)表示测试数据集中观测值的概率得分,x_i,i\in[1,140]属于阴性和阳性类,分别对于一个推理过程,j,j\in [1,100]。给定观测值的CIR_i计算过程如下:

CIR_i=\frac{1}{100}\sum_{j=1}^{100}|argmax(\mu(P_{i,j}(0)),\mu(P_{i,j}(1)))-argmax(P_{i,j}(0),P_{i,j}(1))|

其中,\mu表示不同推理过程j的概率分数的平均值,如果P_{i,j}(0)\geq P_{i,j}(1),则argmax(P_{i,j}(0),P_{i,j}(1))接收值为0。如果P_{i,j}(0) < P_{i,j}(1),则接收值为1.

CIR_i=0,则表示一致,预测的结果很好。若CIR_i> 0可能表示分类结果不可靠。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/821653.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何防范XSS?

XSS&#xff08;跨站脚本攻击&#xff09;通常通过注入恶意脚本到其他用户的浏览器中来实现。为了防范XSS&#xff0c;您可以采取以下措施&#xff1a; 输入验证&#xff1a;对所有用户输入进行验证&#xff0c;确保其内容符合预期的格式和类型。例如&#xff0c;如果您正在构建…

竞赛 基于GRU的 电影评论情感分析 - python 深度学习 情感分类

文章目录 1 前言1.1 项目介绍 2 情感分类介绍3 数据集4 实现4.1 数据预处理4.2 构建网络4.3 训练模型4.4 模型评估4.5 模型预测 5 最后 1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基于GRU的 电影评论情感分析 该项目较为新颖&#xff0c;适合作为竞…

Java基础入门day33

day33 html 表单 表单实现与用户的可交互操作 表单可以用来收集用户输入信息 form表单标签&#xff0c;可以在页面上添加一个表单元素&#xff0c;表单本身没有边界 属性action&#xff0c;目标地址&#xff0c;表单提交后要跳转的对应的url地址 属性method&#xff1a; get…

【数据结构|C语言版】双向链表

前言1. 初步认识双向链表1.1 定义1.2 结构1.3 储存 2. 双向链表的方法&#xff08;接口函数&#xff09;2.1 动态申请空间2.2 创建哨兵位2.3 查找指定数据2.4 指定位置插入2.5 指定位置删除2.6 头部插入2.7 头部删除2.8 尾部插入2.9 尾部删除2.10 计算链表大小2.11 销毁链表 3.…

【LeetCode热题100】【贪心算法】划分字母区间

题目链接&#xff1a;763. 划分字母区间 - 力扣&#xff08;LeetCode&#xff09; 要将一个字符串划分为多个子串&#xff0c;要求每个字母只能出现在一个子串里面 如果一个字母的当前位置是它在这个字符串里面最后一次出现的位置&#xff0c;那么这里就应该划分出来成为子串…

记录一下hive跑spark的insert,update语句报类找不到的问题

我hive能正常启动&#xff0c;建表没问题&#xff0c;我建了一个student表&#xff0c;没问题&#xff0c;但执行了下面一条insert语句后报如下错误&#xff1a; hive (default)> insert into table student values(1,abc); Query ID atguigu_20240417184003_f9d459d7-199…

【Image captioning】论文阅读九—Self-Distillation for Few-Shot Image Captioning_2022

摘要 大规模图像字幕数据集的开发成本高昂,而大量未配对的图像和文本语料库可能有助于减少手动注释的工作。在本文中,我们研究了只需要少量带注释的图像标题对的少样本图像标题问题。我们提出了一种基于集成的自蒸馏方法,允许使用不成对的图像和字幕来训练图像字幕模型。该…

VBA脚本: excel隐藏和展开指定行 【图文】

打开开发工具功能 【文件】-》【选项】-》【自定义功能区】-》勾选【开发工具】-》【确定】 代开VBA编辑器 【开发工具】-》【Visual Basic】 插入模块 编写代码 所有sheet 关闭 Sub HideRowsInAllSheets()Dim ws As WorksheetDim i As Integer 循环遍历所有工作表For E…

【学习笔记】Python大数据处理与分析——Matplotlib数据可视化

一、绘图步骤 1、导入第三方库 import matplotlib.pyplot as plt import numpy as np 2、准备数据 x1 np.linspace(1, 10, 5) y1 np.sin(x1) 3、开始绘图 plt.plot(x1, y1, linewidth3) 4、完善图表 plt.title("plot figure") plt.xlabel("value of x&qu…

java日志log4j使用

1、导入jar包 log4j-1.2.17.jar log4j-api-2.0-rc1.jar log4j-core-2.0-rc1.jar https://download.csdn.net/download/weixin_44201223/89148839 所需jar包下载地址 2、创建 log4j.properties src 下创建 log4j.properties (路径和名称都不允许改变)&#xff0c;放置 src 下…

springboot源码(二):自动装配原理

springboot源码(二)&#xff1a;自动装配原理 ​ 在之前的课程中我们讲解了springboot的启动过程&#xff0c;其实在面试过程中问的最多的可能是自动装配的原理&#xff0c;而自动装配是在启动过程中完成&#xff0c;只不过在刚开始的时候我们选择性的跳过了&#xff0c;下面详…

WPF App.xaml 中添加多个ResourceDictionary

在WPF应用程序中&#xff0c;App.xaml 文件是一个常用的集中位置来管理应用级别的资源&#xff0c;包括样式、模板、图像、数据转换器等。为了添加多个 ResourceDictionary 到 App.xaml 中&#xff0c;可以利用 ResourceDictionary 的 MergedDictionaries 属性。这个属性允许您…

百分比padding---------实现图片固定比例并自适应布局 以及aspect-ratio属性、cqw单位

一、百分百padding 在文档流中css的margin和padding这两个属性垂直方向的百分百值都是基于宽度计算的&#xff0c;这个也是本次布局方式的核心。 这个方案优势&#xff1a;图片自适应同时保持比例&#xff0c;以及页面刷新的时候没有布局稳固不晃动 这种方式应用场景就是&am…

OpenHarmony、HarmonyOS和Harmony NEXT 《我们不一样》

1. OpenHarmony 定义与地位&#xff1a;OpenHarmony是鸿蒙系统的底层内核系统&#xff0c;集成了Linux内核和LiteOS&#xff0c;为各种设备提供统一的操作系统解决方案。 开源与商用&#xff1a;OpenHarmony是一个开源项目&#xff0c;允许开发者自由访问和使用其源代码&#…

【Leetcode每日一题】 递归 - 二叉树的所有路径(难度⭐)(59)

1. 题目解析 题目链接&#xff1a;257. 二叉树的所有路径 这个问题的理解其实相当简单&#xff0c;只需看一下示例&#xff0c;基本就能明白其含义了。 2.算法原理 针对二叉树路径的求解问题&#xff0c;我们可以采用深度优先遍历&#xff08;DFS&#xff09;的策略来寻找所…

Java项目如何使用EasyExcel插件对Excel数据进行导入导出

文章目录 一、EasyExcel的示例导入依赖创建实体类数据导入和导出 二、EasyExcel的作用三、EasyExcel的注解 EasyExcel是一个阿里巴巴开源的excel处理框架&#xff0c;它以使用简单、节省内存著称。在解析Excel时&#xff0c;EasyExcel没有将文件数据一次性全部加载到内存中&…

linux学习:进程(新建+运行某文件+退出处理函数+等待)

目录 api 创建新进程 注意 运行某文件 例子 注意 例子&#xff0c;等待进程 进程是由进程控制块、程序段、数据段三部分组成 进程有都有一个父进程&#xff0c;除了init&#xff0c;父进程可以创建子进程 每个进程都有一个PID&#xff0c;可以用ps来查看&#xff0c;等…

【行为型模式】策略模式

一、策略模式概述 策略模式(又叫政策Policy模式)&#xff0c;属于对象行为模式下的&#xff1a;Strategy类提供了可插入式(Pluggable)算法的实现方案。 策略模式的定义-意图&#xff1a;定义一系列算法&#xff0c;将每一个算法封装起来&#xff0c;并让它们互相替换。策略模式…

汽车笔记-保险

保险 1.交强险 上路必须买的&#xff0c; 国家规定必须要买。交强险不管你是有责还是无责&#xff0c;它都是可以赔偿的。交强险还有一个18000的垫付功能&#xff0c;比如说我们出了交通事故后&#xff0c;对方住院治疗需要你垫付钱&#xff0c;那么这个时候就可以用到交强险…

Mybatis常用注解说明

MyBatisPlus 常用注解说明 TableName(opens new window) 描述&#xff1a;表名注解&#xff0c;标识实体类对应的表 使用位置&#xff1a;实体类 TableName("sys_user") public class User {private Long id;private String name;private Integer age;private Strin…