TV-SAM 新型零样本医学图像分割算法:GPT-4语言处理 + GLIP视觉理解 + SAM分割技术

TV-SAM 新型零样本医学图像分割算法:GPT-4语言处理 + GLIP视觉理解 + SAM分割技术

    • 提出背景
      • TV-SAM 方法论

 


提出背景

论文:https://arxiv.org/ftp/arxiv/papers/2402/2402.15759.pdf

代码:https://github.com/JZK00/TV-SAM

 
利用了GPT-4的强大语言处理能力、GLIP的视觉理解能力以及SAM的分割技术,TV-SAM能够自动解析医疗图像,生成精准的文本和视觉提示,从而实现了前所未有的零样本分割效果。

经过在七个涵盖八种成像技术的公共数据集上的全面测试,TV-SAM不仅大幅度超越了SAM AUTO和GSAM的性能,而且与采用黄金标准边界框提示的SAM BBOX表现媲美,甚至在ISIC和WBC等特定挑战上刷新了记录。

医学图像分割通常面临的挑战包括数据的多模态性、高复杂度以及缺乏足够的标注信息。

之所以使用TV-SAM,是因为它能通过结合语言和视觉模型的优势,解决上述挑战,尤其是在零样本学习场景下,无需依赖大量的标注数据即可实现准确的图像分割。

  • 利用GPT-4生成的文本提示,为图像内容提供丰富的描述性信息,辅助图像分割模型理解图像内容。
  • 结合VLM(如GLIP)和SAM,通过文本和视觉信息的互补,提高模型在特定医学图像数据上的泛化能力和分割准确度。

基于上文的介绍,我们可以将2 方法论部分拆解成如下中文解释和逻辑关系:

TV-SAM 方法论

在这里插入图片描述
通过三个阶段说明了该过程:

  • 第一阶段使用GPT-4生成文本提示
  • 第二阶段使用视觉语言模型(VLM)预测边界框
  • 第三阶段使用Segment Anything Model(SAM)生成最终的分割掩码。

该图包括一个流程图,描述了用户输入、语言模型以及导致分割结果的视觉提示之间的交互。

 

TV-SAM 方法包含三个主要阶段:文本提示生成、视觉提示创建、掩码解码。

  1. 文本提示生成(子解法1)

    • 背景:需要生动描述医学图像中的医学概念。
    • 特征:使用GPT-4作为知识来源,生成描述医学图像中医学概念的详细文本提示。
  2. 视觉提示创建(子解法2)

    • 背景:基于提供的提示,识别医学概念的可能区域通常使用边界框格式。
    • 特征:使用预训练的视觉语言模型(VLM),如GLIP,自动生成视觉提示,实现零样本对象检测。
  3. 掩码解码(子解法3)

    • 背景:使用视觉提示帮助SAM更准确地预测这些区域的分割掩码。
    • 特征:采用SAM(分割注意力模型)进行零样本分割,特别是在医疗领域,采用盒式提示效果最佳。

具体阶段与技术细节:

  1. GPT-4用于表达式提示设计

    • 利用GPT-4生成详细的文本提示,通过图像和对话模板输入,结合视觉编码器和文本编码器提取特征,通过交叉注意力机制融合特征,最后通过解码器返回目标概念的具体信息。
  2. 通过VLM生成视觉提示

    • 选择GLIP作为VLM,输入图像到GLIP图像编码器并结合之前获得的描述性提示,通过GLIP提示编码器获得特征,通过非最大抑制算法过滤和选择预测的边界框。
  3. SAM零样本分割与视觉提示

    • 在医学图像分割领域,盒式提示被证明特别有效。利用SAM模型,重新输入图像并将GLIP预测的边界框作为视觉提示输入SAM提示编码器,最后通过SAM掩码解码器生成准确的分割掩码。

通过这种方法,TV-SAM能够在仅有未标记医学图像和感兴趣的概念、对象或异常的情况下,自动执行这三个阶段并生成相应的分割掩码,有效提高医学图像分析的效率和准确性。

以肺结节的识别和分割为例:

  1. GPT-4用于表达式提示设计:

    • 在肺结节的例子中,GPT-4可以用来生成描述肺部图像中结节特征(如大小、形状、位置和可能的类型)的详细文本提示。
    • 通过将肺部CT扫描图像和一个包含患者信息及疑似肺结节描述的对话模板输入GPT-4,模型能够通过视觉编码器从图像中提取高级特征,同时文本编码器从对话模板中提取文本特征。
    • 通过交叉注意力机制,这些特征被融合,并通过解码器返回关于肺结节的具体信息,比如其可能的恶性或良性特征。
  2. 通过VLM生成视觉提示:

    • 利用从GPT-4获得的详细描述性文本提示,GLIP模型能够对输入的肺部CT图像进行分析,自动识别并预测包含结节的区域。
    • 这一步骤通过非最大抑制算法(NMS)来过滤和优化预测的边界框,确保仅选取最有可能包含肺结节的区域。
  3. SAM零样本分割与视觉提示:

    • 最后,将筛选后的边界框作为视觉提示输入到SAM模型中。
    • SAM模型再次分析肺部CT图像,并使用这些视觉提示作为引导,通过其掩码解码器精确生成肺结节的分割掩码。
    • 这一步不仅提高了分割的准确性,而且大大减少了手动标记数据所需的时间和专业知识要求。

通过这种三阶段方法,TV-SAM能够有效支持肺结节的自动检测和分割,为临床医生提供了一个强大的工具,以更准确和高效地评估肺部扫描结果,进而改善病人的诊断和治疗过程。

 

在这里插入图片描述
不同医学成像模态的分割性能分布,以Dice系数为衡量标准。

该图表比较了非放射数据(如内窥镜和皮肤镜图像)与放射数据(如CT和MRI图像)的性能,表明算法在非放射图像上的性能更好。

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

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

相关文章

TCP/IP-常用网络协议自定义结构体

1、TCP/IP模型: 2、TCP/IP- 各层级网络协议(从下往上): 1)数据链路层: ARP: 地址解析协议,用IP地址获取MAC地址的协议,通过ip的地址获取mac地 …

SpringBoot使用jsoup爬取HTML

原文网址:SpringBoot使用jsoup爬取HTML_IT利刃出鞘的博客-CSDN博客 简介 本文介绍SpringBoot--使用jsoup(Java爬虫工具)的方法。 jsoup 是一款 Java 的 HTML 解析器,它提供了一套非常便利的 API,可通过 DOM、CSS 通过类似于 JQuery 的操作…

Java的基础数据类型有哪些?String是Java的基础数据类型吗?

目录 Java的基础数据类型有哪些? String是Java的基础数据类型吗? Java的基础数据类型有哪些? Java的基础数据类型是Java语言中预定义的几种基本的数据格式,它们在Java虚拟机(JVM)中有固定的内存占用和…

分享一个FreeSWITCH通道吊死的帖子

https://forum.signalwire.community/t/session-is-pending-when-shutdown-freeswitch/886/7 之前碰到过类似的情况&#xff0c;就是show channels能看到&#xff0c;但是uuid_kill <uuid>报错&#xff0c;说uuid不存在&#xff0c;或者叫僵尸通道 这人真正的问题是&am…

【最新】如何将idea上的项目推送到gitee

1.打开Gitee&#xff0c;在首页&#xff0c;点击“”&#xff0c;创建一个仓库 2.填写仓库基本信息 3.下拉&#xff0c;点击“创建”&#xff0c;出现下方页面&#xff0c;证明仓库创建成功。 4.打开idea&#xff0c;下载gitee的插件&#xff08;此处默认已经下载git&#xff0…

基于React, Redux实现的俄罗斯方块游戏及源码

分享一个俄罗斯方块游戏游戏框架使用的是 React Redux&#xff0c;其中再加入了 Immutable&#xff0c;用它的实例来做来Redux的state。&#xff08;有关React和Redux的介绍可以看 安装 npm install运行 npm start浏览自动打开 http://127.0.0.1:8080/ 打包编译 npm run …

T - SQL使用事务 及 在Winform使用事务

事务适用场景 1 事务使用在存储过程中&#xff0c;直接在数据库中进行编写 2 事务使用在Winfrom项目中 SQl&#xff1a;使用事务转账操作的实例 一般都会找一个变量记录错误的个数&#xff0c;error记录上一句sql的错误和错误编号 declare errornum int 0 -- 定义…

自动化搭建初期必要的需求分析

1. 项目目标理解 与项目团队沟通&#xff1a;与项目经理、开发团队、产品经理等关键角色进行深入沟通&#xff0c;了解项目的整体目标和预期成果。理解业务需求&#xff1a;详细阅读项目文档&#xff0c;包括需求规格说明书、设计文档等&#xff0c;确保对业务逻辑和流程有深入…

selenium-激活pycharm,以及在pycharm中使用selenium时标红报错问题处理

激活pycharm&#xff1a;http://idea.955code.com/ 01 pycharm中导入selenium报错 现象: pycharm中输入from selenium import webdriver, selenium标红 原因1: pycharm使用的虚拟环境中没有安装selenium&#xff1a; 解决方法: 在pycharm中通过设置或terminal面板重新安装s…

nosql的注入

一、SQL注入数据库分类 关系型数据库 mysql oracle sqlserver 非关系型数据库 key-value redis MongoDB&#xff08;not only sql&#xff09; 二、MongoDB环境搭建 自己官网下载 Download MongoDB Community Server | MongoDB 其中Mongod.exe是它的一个启动 加上数据库&…

本届挑战赛亚军方案:面向微服务架构系统中无标注、多模态运维数据的异常检测、根因定位与可解释性分析

CheerX团队来自于南瑞研究院系统平台研发中心&#xff0c;中心主要从事NUSP电力自动化通用软件平台的关键技术研究与软件研发。 选题分析 图1 研究现状 本次CheerX团队的选题紧密贴合了目前的运维现状。实际运维中存在多种问题导致运维系统的不可用。比如故障发生时&#xff…

[设计模式Java实现附plantuml源码~行为型] 对象状态及其转换——状态模式

前言&#xff1a; 为什么之前写过Golang 版的设计模式&#xff0c;还在重新写Java 版&#xff1f; 答&#xff1a;因为对于我而言&#xff0c;当然也希望对正在学习的大伙有帮助。Java作为一门纯面向对象的语言&#xff0c;更适合用于学习设计模式。 为什么类图要附上uml 因为很…

基于JAVAEE+Eclipse+Tomcat+Mysql开发的的停车场管理系统

基于JAVAEEEclipseTomcatMysql开发的的停车场管理系统 项目介绍&#x1f481;&#x1f3fb; 如今&#xff0c;我国现代化发展迅速&#xff0c;人口比例急剧上升&#xff0c;在一些大型的商场&#xff0c;显得就格外拥挤&#xff0c;私家车的数量越来越多&#xff0c;商场停车难…

【深度学习】Pytorch 教程(十四):PyTorch数据结构:6、数据集(Dataset)与数据加载器(DataLoader):自定义鸢尾花数据类

文章目录 一、前言二、实验环境三、PyTorch数据结构1、Tensor&#xff08;张量&#xff09;1. 维度&#xff08;Dimensions&#xff09;2. 数据类型&#xff08;Data Types&#xff09;3. GPU加速&#xff08;GPU Acceleration&#xff09; 2、张量的数学运算1. 向量运算2. 矩阵…

高性能图表组件LightningChart .NET v11.0发布——增强DPI感知能力

LightningChart完全由GPU加速&#xff0c;并且性能经过优化&#xff0c;可用于实时显示海量数据-超过10亿个数据点。 LightningChart包括广泛的2D&#xff0c;高级3D&#xff0c;Polar&#xff0c;Smith&#xff0c;3D饼/甜甜圈&#xff0c;地理地图和GIS图表以及适用于科学&am…

华为---RSTP(四)---RSTP的保护功能简介和示例配置

目录 1. 技术背景 2. RSTP的保护功能 3. BPDU保护机制原理和配置命令 3.1 BPDU保护机制原理 3.2 BPDU保护机制配置命令 3.3 BPDU保护机制配置步骤 4. 根保护机制原理和配置命令 4.1 根保护机制原理 4.2 根保护机制配置命令 4.3 根保护机制配置步骤 5. 环路保护机…

php基础学习之错误处理(其二)

在实际应用中&#xff0c;开发者当然不希望把自己开发的程序的错误暴露给用户&#xff0c;一方面会动摇客户对己方的信心&#xff0c;另一方面容易被攻击者抓住漏洞实施攻击&#xff0c;同时开发者本身需要及时收集错误&#xff0c;因此需要合理的设置错误显示与记录错误日志 一…

Linux笔记--用户与用户组

Linux系统是一个多用户多任务的操作系统&#xff0c;任何一个要使用系统资源的用户&#xff0c;都必须首先向系统管理员(root)申请一个账号&#xff0c;然后以这个账号的身份进入系统。 用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪&#xff0c;并控制他们对系…

odoo17 | 核心组件 - 动作(Actions)

动作Actions 在Odoo中&#xff0c;动作&#xff08;Actions&#xff09;是系统的核心组件之一&#xff0c;负责定义系统响应用户交互的具体行为。动作定义了系统对用户操作的响应行为&#xff0c;例如登录、按钮点击、发票选择等。动作可以存储在数据库中或直接作为字典在按钮…

3D数字孪生

数字孪生&#xff08;Digital Twin&#xff09;是物理对象、流程或系统的虚拟复制品&#xff0c;用于监控、分析和优化现实世界的对应物。 这些数字孪生在制造、工程和城市规划等领域变得越来越重要&#xff0c;因为它们使我们能够在现实世界中实施改变之前模拟和测试不同的场景…