医学影像系统弱监督语义分割集成的探索

news/2024/7/7 23:31:17

Exploring Weakly Supervised Semantic Segmentation Ensembles for Medical Imaging Systems

摘要

  • 利用复杂数据集的低质量CAM预测来提高结果的准确性
  • 使用低阈值CAMs以高确定性覆盖目标对象
  • 通过组合多个低阈值cam,在突出显示目标对象的同时均匀地消除它们的错误
    代码链接
    文章链接

本文方法

在这里插入图片描述
首先,在目标数据集上训练分类器模型(resnet)
其次,使用Grad-CAM为不同的分类器创建第一个掩码。
接下来,测试集成方法来组合两个或多个预测集。
最终,选择提供最佳可能结果的集合版本,然后进行校准步骤,以确定最高检测分数的最佳阈值集合。

分类器模型实例的训练与探索

该框架旨在创建不同CAM方法的集合,因为它们的集合抵消了它们的缺点,因此比它们的单一部分产生更准确的预测。最好的集合是由高质量的cam生成的,而高质量的cam是由高质量的分类器生成的,我们必须研究目标数据集的分类器。


本文的探索内容

我们没有努力测试更复杂的网络,而是从其他方法(如自我监督的Swav)中获得了一些灵感。Swav尝试在没有指导的情况下学习区分图片,而不是使用注释。为此,Swav使用对比损失函数来比较图像对。损失函数的目标是将特征空间中不同的图像推开,同时将特征空间中同一图像的转换或视图中的图像拉到一起。
本文作者对Swav方法的兴趣依赖于两个原因:首先,对医疗数据集使用预训练的无监督模型可能会提高Grad-CAM结果的质量。这可能是因为无监督模型更倾向于区分形状,而不仅仅是猜测正确的类别。其次,许多最先进的方法为分类损失增加了额外的正则化。那些正则化,例如SEAM中的仿射变换,与Swav的对比学习损失在很大程度上是相同的。因此,我们假设无监督训练模型的激活可以更完整地识别对象。本文已经评估了多个训练的Swav模型,但观察到与传统训练的分类器相比,它们的对比损失方法并没有产生更高质量的CAMs。


评估训练模型的grad - cam

在创建候选分类器之后,我们可以专注于生成CAM预测。为此,我们将应用grad - cam。梯度加权类激活映射(Grad-CAM)将网络和图像作为输入,并返回一个粗略的掩码。
然而,结果表明,如果图像中包含多个同一类的出现,Grad-CAM就不能正确地定位图像中的对象。此外,还发现由于不考虑偏导数的平均值,定位往往不对应于整个物体,而只对应于部分物体。因此,引入了grad - cam++ ,它通过使用更复杂的重要性分数公式来解决这些问题。作为进一步优化,引入了SmoothGrad-CAM++。
然而,这些改进旨在提高被检测对象边界的清晰度,并缓解原始方法在同一图像中有多个同类对象的问题。但是,这些问题在观察到的医学数据集中并没有发生。BraTS和DECATHLON数据集中的所有图像都不包含目标对象的多个实例。此外,这些目标物体通常是圆形的,即使对专家来说,其边界也是模糊的。尽管如此,我们也测试了smoothgrad - cam++,因为它是这种方法的最新版本。
对于CAM生成,将通过候选Grad-CAM运行我们训练过的候选模型和图像,为所有图像创建MASK

集成方法

在这里插入图片描述
收集了候选模型和grad - cam的mask,我们的目标是将它们结合起来以获得更高质量的结果。
首先,我们有“or”集合,它总结了候选区的预测。当两个mask都具有较高的真阳性率时,这种方法最有效,在组合mask之间产生最大的可能激活区域。第二种是“and”方法,将候选区的预测相乘。与“or”方法相比,“and”方法使两个掩模的可能检测区域最小化。当两个模型的真阴率都很高时,这种方法效果最好
“min”和“max”方法分别只采用最小或最大正分类像素的MASK
通过这种方式,解决了模型倾向于预测目标对象的大小过大或太小的问题,而一个候选对象的完整预测仍然比所有候选对象的“and”或“or”更好。
由于Grad-CAM方法以从0到1的形式返回预测,我们可以确定将像素视为正分类或负分类的值的阈值。这个超参数让我们对任何给定预测的假阳性和假阴性率都有很大的余地。使用非常高的阈值会大大减少被分类为阳性的区域,从而导致很高的假阴性率。反之亦然,使用非常低的阈值会极大地增加被分类为阳性的区域,从而导致高假阳性率。最优阈值因候选模型而异。因此,我们决定测试所选择的集成方法,使用从0到1的所有阈值组合,步长为0.1。我们在训练集上进行这些测试,以确定我们将在验证集上使用的阈值。我们的实验表明,训练集的最优阈值组合也是验证集的最优组合之一。

结果展示

在这里插入图片描述
在这里插入图片描述


http://lihuaxi.xjx100.cn/news/1001946.html

相关文章

【通过redis生成编码】生成不重复的序列号

/*** 生成一个序列号,每天从0开始自增* yyyyMMdd0001* Param leftCode编号特定前缀* */public String getSequence(String leftCode){SimpleDateFormat simpleDateFormat new SimpleDateFormat("yyyyMMdd");String dateTime simpleDateFormat.format(ne…

STM32F103引脚输入输出模式详解

目录 一:输入模式 1.1:模拟输入 1.2: 浮空输入 1.3:上拉输入 1.4:下拉输入 1.5: 为什么没有复用输入配置模式 二:输出模式 2.1:推挽输出 2.2:开漏输出 2.3&#xf…

并发情况下, 必须对iterator 进行加锁

java集合操作中, remove 元素请使用 Iterator 方式,如果并发操作,需要对 Iterator 对象加锁, 为什么并发情况下, 必须对iterator 进行加锁 在并发环境下,如果多个线程同时尝试访问同一个集合并且其中某个线程正在使用Iterator遍历该集合&…

【day2】Android Jetpack Compose环境搭建

【day2】Android Jetpack Compose环境搭建 以下是适用于 Jetpack Compose 的环境要求: Android Studio 版本:4.2 Canary 15 或更高版本Gradle 版本:7.0.0-beta02 或更高版本Android 插件版本:4.2.0-beta15 或更高版本Kotlin 版本…

C# 结构体

C#中的结构体(Struct)是一种轻量级的数据类型,用于存储数据。与类(Class)不同,结构体是一种值类型,即在赋值或传递参数时是按值传递的,而不是按引用传递的。 结构体的声明和使用方式…

docker push时出现denied: requested access to the resource is denied

1、首先确认自己已经登陆 docker login2、修改镜像到自己账户的名下 docker tag ${原镜像的名称} ${自己的账户名称}/${原镜像的名称} docker push ${自己的账户名称}/${原镜像的名称}

HTB-Popcorn

HTB-Popcorn信息收集开机提权信息收集 前1000个常用端口 全体端口 22 ssh OpenSSH 5.1p180 http Apache httpd 2.2.12 80端口的页面如下。 dirmap gobuster dirbuster 得出如下结果: 当前可访问 http://10.10.10.6/indexhttp://10.10.10.6/testhttp://10.1…

【K8S系列】深入解析无状态服务

目录 序言 1. 无服务介绍 1.1 优点 1.2 使用场景 1.3 资源类型 1.4 总结 2 使用介绍 2.1 Deployment 使用场景: 2.2 ReplicaSet 使用场景 2.3 pod Pod 资源定义示例 2.4 service 创建一个Deployment: 创建一个Service: 总结…