SAM在医学图像分割的一些研究(Segment Anything Model for Medical Images?(2023))

使用预训练模型通过两种主要模式进行分割,包括自动一切和手动提示(例如,点和框)。SAM在各种自然图像分割任务上取得了令人印象深刻的效果。然而,由于医学图像的形态复杂、解剖结构精细、物体边界不确定和复杂、物体尺度大,使得医学图像分割(MIS)更具挑战性。同时,零射击、高效的MIS可以很好地减少标注时间,促进医学图像分析的发展。因此,SAM似乎是一种潜在的工具,其在大型医疗数据集上的性能有待进一步验证。我们收集并整理了52个开源数据集,构建了包含16种模态、68个对象、553K切片的大型医学分割数据集。我们在所谓的COSMOS 553K数据集上对不同的SAM测试策略进行了全面分析。大量的实验证实,SAM在医学图像中对物体感知的点和框等手动提示上表现更好,提示模式下的性能优于一切模式。此外,SAM在某些特定的对象和模态上表现出色,但在其他情况下则不完善甚至完全失败。最后,我们分析了不同因素(如基于傅里叶的边界复杂度和分割对象的大小)对SAM分割性能的影响。大量的实验证明,SAM的零距分割能力不足以保证其直接应用于MIS。

提示方法:

自动提示

点和框提示: 即1个正点、5个正点、5个正点加5个负点、1个方框、1个方框加1个正点。进一步建立了统一的选点规则,保证了选点的随机性、重复性和准确性。对于正点选择,a)我们首先计算出ground truth (GT)掩模的质心(图5中红色点)。b)如果质心在GT掩模内,我们将质心作为第一个正点。c)然后,我们直接将GT蒙版平铺成一维矢量,采用均匀采样的方法获得其他正点(图5中的绿色点)。d)如果质心在GT蒙版之外,则通过步骤c获得所有需要的正点。对于负点的选择,我们的目的是避免选择离目标区域太远的点。具体来说,我们首先将GT的边界框扩大了两倍。负点在nonGT区域均匀采样生成(图5中的黄色点)。最后,对于框的选择,我们直接采用GT蒙版的包围框,不做任何额外的操作。

在我们的研究中,我们使用不同的策略对一张图像进行了多次测试(n),以获得最终的评估(见图5)。在SAM的原始代码逻辑和设计中,同一张图像需要进行n次相同的编码操作,这导致我们的多策略测试场景的运行效率很低。当使用高分辨率输入时,情况变得更糟。在此基础上,我们提前计算所有输入图像的嵌入特征,并将其保存为中间文件。因此,图像嵌入可以重复使用,以减轻推理管道的计算负担。因此,SAM测试的整体效率可以提高近n倍。此外,SAM的测试策略越多,节省的时间就越多。这可以简单地扩展到SAM的其他多策略测试场景。E.分割评估的掩码匹配机制SAM为每个输入图像生成多个二值掩码,但并不是所有的都包含相应的对象。因此,我们提出了一种掩码匹配机制来评估在每种模式下使用SAM的分割性能。具体来说,对于给定图像中的目标(前景之一),我们在N个二元预测掩码{Pn} N N =1与GT g之间计算一组骰子分数{DICEn} N N =1,然后选择其中骰子得分最高的一个作为匹配的预测掩码P进行后续分割评估。得到P的过程可以表示为:P = max{(P1·G),(P2·G),…,(PN·G)},(1),其中N为一幅图像中一个对象的预测二值掩码总数。操作(·)和max{}表示计算一个预测掩码与GT之间的骰子得分,而max表示获得骰子得分最高的预测掩码。A.实现细节代码实现及逻辑。在本研究中,我们基本按照官方GitHub存储库4实现了SAM的测试管道。对于我们的多策略测试场景,我们运行了n次SAM算法,提取了n次图像嵌入。结果表明,图像嵌入提取过程耗时较长。然而,由于相同的嵌入可以用于不同的测试策略,我们寻求优化和加速这种多提取过程。因此,我们重构了部分代码。对于每个测试图像,我们只使用图像编码器进行特征提取一次,并将嵌入的特征保存为npy文件。当应用不同的测试策略时,只需要加载相应的npy文件,这大大提高了测试效率(大约为nx)。此外,对于提示测试,我们在图像嵌入后计算一次所需的点和框,并将其存储为npz文件。因此,所有提示测试策略都可以直接使用npz信息,而无需重新计算。

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

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

相关文章

iOS——Block one

块类似于匿名函数或闭包,在许多其他编程语言中也存在类似的概念。 可以访问上下文,运行效率高 Block 以下是块的一些基本知识: 块的定义:块是由一对花括号 {} 包围的代码片段,可以包含一段可执行的代码。块的定义使…

Kotlin~Memento备忘录模式

概念 备忘录模式是一种行为型设计模式,用于捕获和存储对象的内部状态,并在需要时将对象恢复到之前的状态。 备忘录模式允许在不暴露对象内部实现细节的情况下,对对象进行状态的保存和恢复。 角色介绍 Originator:原发器&#x…

NeRF-SLAM: Real-Time Dense Monocular SLAM with Neural Radiance Fields 论文阅读

论文信息 题目:NeRF-SLAM: Real-Time Dense Monocular SLAM with Neural Radiance Fields 作者:Antoni Rosinol, John J. Leonard, Luca Carlone 代码:https://github.com/ToniRV/NeRF-SLAM 来源:arxiv 时间&#xff…

【零基础学Rust | 基础系列 | 数据结构】元组,数组,向量,字符串,结构体

文章标题 简介:一,元组:1,定义元组:2,访问元组元素:3,元组解构:4,元组在函数中的应用: 二,数组:1,数组的声明和…

Redis-1

Redis 理论部分 redis 速度快的原因 1、纯内存操作 2、单线程操作,避免了频繁的上下文切换和资源争用问题,多线程需要占用更多的 CPU 资源 3、采用了非阻塞 I/O 多路复用机制 4、提供了非常高效的数据结构,例如双向链表、压缩页表和跳跃…

QT以管理员身份运行

以下配置后,QT在QT Creator调试时,或者生成的.exe程序,都将会默认以管理员身份运行。 一、MSVC编译器 1、在Pro文件中添加以下代码: QMAKE_LFLAGS /MANIFESTUAC:\"level\requireAdministrator\ uiAccess\false\\" …

纯css实现登录表单动效

效果图&#xff1a; 代码展示 // 我这边用的是elementUI表单校验&#xff0c;更改的样式。 <el-form:model"form":rules"rules"ref"fromList":hide-required-asterisk"true"><el-form-item prop"account"><…

全网最强,Python接口自动化测试实战-接口参数关联(购物实例)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 什么是参数关联&a…

【2023年电赛国一必备】C题报告模板--可直接使用

任务 图1 任务内容 要求 图2 基本要求内容 图3 发挥部分内容 说明 图4 说明内容 评分标准 图5 评分内容 正文 &#xff08;部分&#xff09; 摘要 本实验基于TI公司的TM4C123GH6PM主控&#xff0c;结合OPA2337芯片和其他硬件模块&#xff0c;设计并制作了一种单相逆变器…

OceanBase上的泡泡玛特抽盒机,轻松应对百倍流量峰值

8月3日晚10点&#xff0c;近百万年轻人再次同时涌入泡泡玛特的抽盒机小程序&#xff0c;参加抢抽盲盒新品的狂欢。 每周四的这个时刻&#xff0c;都是对抽盒机系统的一次技术大考。这个考验不但影响着用户体验&#xff0c;也直接影响着泡泡玛特的业绩。据2022年年度财报&#…

EMS SQL Manager for MySQL Crack

EMS SQL Manager for MySQL Crack 用于MySQL的EMS SQL Manager是用于MySQL数据库管理和开发的高性能工具。它适用于4.1到最新版本的任何MySQL&#xff0c;并支持所有最新功能&#xff0c;包括MySQL触发器、视图、存储过程和函数、InnoDB外键、Unicode数据等。SQL Manager for M…

【java】【maven】【基础】MAVEN安装配置介绍

目录 1 下载 2 安装-windows为例 3 配置环境变量 3.1 JAVA_HOME 3.2 MAVEN_HOME 3.3 PATH 3.4 验证 4 MAVEN基础概念 4.1 仓库概念 4.2 坐标概念 4.2.1 打开网址 4.2.2 输入搜索内容junit 4.2.3 找到对应API名称点击 4.2.4 点击对应版本 4.2.5 复制MAVEN坐标 4.3 配置…

爬虫007_python中的输出以及格式化输出_以及输入---python工作笔记025

首先看输出 输出这里,注意不能直接上面这样,18需要转换成字符串 可以看到python中这个字符串和数字一起的时候,数字要转换一下成字符串. 然后这里要注意%s 和%d,这个s指的是字符串,d指的是数字 注意后面的内容前面要放个% ,然后多个参数的话,那么这里用(),里面用,号隔开 然…

windows服务器iis PHP套件出现FastCGI等错误解决方法汇总

如果您的服务器安装了PHP套件&#xff0c;出现了无法打开的情况&#xff0c;请参照如下办法解决&#xff1a; 首先&#xff0c;需要设置IIS允许输出详细的错误信息到浏览器&#xff0c;才好具体分析 错误一&#xff1a; 处理程序“FastCGI”在其模块列表中有一个错误模块“Fast…

新手用户选择阿里云服务器地域、实例、带宽、操作系统经验参考

无论是个人还是企业用户&#xff0c;部署自己的网站或者APP客户端、小程序等&#xff0c;都需要用到服务器&#xff0c;现在流行的都是使用云服务器&#xff0c;考虑到性价比大家现在都喜欢选择阿里云服务器。但是新手用户往往在面对阿里云服务器地域、实例、带宽、操作系统等众…

RTC晶振两端要不要挂电容

发现GD32的RTC晶振两端需要挂电容&#xff0c;STM32的RTC晶振两端不需要挂电容。 STM32的RTC晶振两端&#xff0c;不需要挂电容&#xff0c;这样晶振启振很容易&#xff0c;挂大了&#xff0c;却难启动&#xff0c;且温度越低&#xff0c;启动越难。 有人说负载电容为6pF的晶振…

SQL分类及通用语法数据类型

一、SQL分类 DDL: 数据定义语言&#xff0c;用来定义数据库对象&#xff08;数据库、表、字段&#xff09;DML: 数据操作语言&#xff0c;用来对数据库表中的数据进行增删改DQL: 数据查询语言&#xff0c;用来查询数据库中表的记录DCL: 数据控制语言&#xff0c;用来创建数据库…

Go语言开发者的Apache Arrow使用指南:读写Parquet文件

Apache Arrow是一种开放的、与语言无关的列式内存格式&#xff0c;在本系列文章[1]的前几篇中&#xff0c;我们都聚焦于内存表示[2]与内存操作[3]。 但对于一个数据库系统或大数据分析平台来说&#xff0c;数据不能也无法一直放在内存中&#xff0c;虽说目前内存很大也足够便宜…

SpringBoot

SpringBoot 微服务阶段 javase&#xff1a; OOPmysql&#xff1a;持久化htmlcssjsjquery框架javaweb&#xff1a;MVC 三层架构 的网站ssm&#xff1a;简化了开发流程 配置也相对复杂Spring&#xff1a;SpringBoot&#xff1a;内嵌Tomact 微服务架构springCloud SpringBoot S…

云原生全栈体系(二)

Kubernetes实战入门 第一章 Kubernetes基础概念 一、是什么 我们急需一个大规模容器编排系统kubernetes具有以下特性&#xff1a; 服务发现和负载均衡 Kubernetes 可以使用 DNS 名称或自己的 IP 地址公开容器&#xff0c;如果进入容器的流量很大&#xff0c;Kubernetes 可以负…