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

news2024/11/18 1:45:39

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.coloradmin.cn/o/1476260.html

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

相关文章

深入理解Spring Security

第1章:Spring Security简介 大家好,我是小黑,在谈到网站安全的时候,Spring Security是个避不开的话题。它就像是个守门员,决定谁能进入我们的网站,又能在网站的哪些角落里走动。简单来说,Sprin…

语音合成(TTS) GPT-SoVITS认知

写在前面 小伙伴推荐,简单了解相对之前试过的其他的TTS项目,GPT-SoVITS的优点简单易用,文档完整,默认的模型效果就很好理解不足小伙伴帮忙指正 不必太纠结于当下,也不必太忧虑未来,当你经历过一些事情的时候…

智能驾驶控制规划理论学习02-基于搜索的路径规划算法

目录 一、路径搜索问题 二、图论基础 三、图搜索方法 1、广度优先搜索(BFS) bfs与dfs的区别 bfs的搜索过程 bfs的算法实现 2、迪杰斯特拉算法(Dijkstra) 核心思想 优先级队列 Dijkstra搜索过程 Dijkstra优缺点…

MySQL(基础篇)——函数、约束

一.函数 1.定义 函数是指一段可以直接被另一段程序调用的程序或代码。 2.字符串函数 常见如下: -- 字符串拼接 SELECT CONCAT(hello,MySql) AS CONCAT -- 将字符串全部转为小写 SELECT LOWER(HEllo MYSql) AS LOWER -- 将字符串全部转为大写 SELECT UPPER(Hello…

前端mock数据 —— 使用Apifox mock页面所需数据

前端mock数据 —— 使用Apifox 一、使用教程二、本地请求Apifox所mock的接口 一、使用教程 在首页进行新建项目: 新建项目名称: 新建接口: 创建json: 请求方法: GET。URL: api/basis。响应类型&#xff1…

用Flutter开发App:助力您的移动业务腾飞

一、Flutter简介 Flutter是Google推出的用于构建多平台应用程序的开源UI框架。它使用Dart语言编写,可以编译为原生机器代码,从而提供卓越的性能和流畅的用户体验。 二、Flutter的优势 一套代码,多平台部署:Flutter可以使用一套代…

183896-00-6,Biotin-C3-PEG3-C3-NH2,可以选择性降解靶蛋白

您好,欢迎来到新研之家 文章关键词:183896-00-6,Biotin-C3-PEG3-C3-NH2,Biotin-C3-PEG3-C3-amine,生物素-C3-PEG3-C3-胺 一、基本信息 【产品简介】:Biotin-PEG3-C3-NH2是一种PROTAC linker,…

Redis在中国火爆,为何MongoDB更受欢迎国外?

一、概念 Redis Redis(Remote Dictionary Server)是一个使用ANSI C编写的开源、支持网络、基于内存、分布式、可选持久性的键值对存储数据库。Redis是由Salvatore Sanfilippo于2009年启动开发的,首个版本于同年5月发布。 MongoDB MongoDB…

Apache Bench(ab )压力测试

目录 参数说明示例1:压力测试示例2:测试post接口post数据文件该如何编写? apr_pollset_poll: The timeout specified has expired (70007)apr_socket_recv: Connection reset by peer (104)参考 参数说明 官方文档参考这里。 ab -c 100 -n …

JVM——JVM与Java体系结构

文章目录 1、Java及JVM简介1.1、Java是跨平台的语言1.2、JVM是跨语言的平台 2、Java发展里程碑3、Open JDK和Oracle JDK4、虚拟机与JVM4.1、虚拟机4.2、JVM 5、JVM整体结构6、Java代码执行流程7、JVM的架构模型7.1、基于栈式架构的特点7.2、基于寄存器架构的特点 8、JVM的生命周…

使用pytorch实现一个线性回归训练函数

使用sklearn.dataset 的make_regression创建用于线性回归的数据集 def create_dataset():x, y, coef make_regression(n_samples100, noise10, coefTrue, bias14.5, n_features1, random_state0)return torch.tensor(x), torch.tensor(y), coef 加载数据集,并拆分…

蓝桥杯_定时器的基本原理与应用

一 什么是定时器 定时器/计数器是一种能够对内部时钟信号或外部输入信号进行计数,当计数值达到设定要求时,向cpu提出中断处理请求,从而实现,定时或者计数功能的外设。 二 51单片机的定时/计数器 单片机外部晶振12MHZ,…

leetcode 重复的子字符串

前要推理 以abababab为例,这里最主要的就是根据相等前后缀进行推导 s [ 0123 ] 如 t【 0123 】 f 【01 23 】 后两个分别是前后缀,第一个是总的字符串,然后可以推导 //首先还是算出…

【JavaEE】网络原理: HTTP协议相关内容

目录 HTTP 是什么 理解HTTP 协议的工作过程 HTTP 协议格式 抓包工具的使用 抓包工具的原理 抓包结果 HTTP请求 HTTP响应 协议格式总结 HTTP 请求 (Request) 认识 URL 关于 URL encode 认识 "方法" (method) get方法 post方法 其他方法 认识请求 &q…

Linux小项目:在线词典开发

在线词典介绍 流程图如下: 项目的功能介绍 在线英英词典项目功能描述用户注册和登录验证服务器端将用户信息和历史记录保存在数据中。客户端输入用户和密码,服务器端在数据库中查找、匹配,返回结果单词在线翻译根据客户端输入输入的单词在字…

李宏毅机器学习入门笔记——第四节

自注意力机制(常见的神经网络结构) 上节课我们已经讲述过 CNN 卷积神经网络 和 spatial transformer 网络。这次讲述一个其他的常用神经网络自注意力机制神经网络。 对于输入的变量长度不一的时候,采用frame的形式,进行裁剪设计。…

Astra Pro点云代码

github上找到的python读取点云的代码 import timeimport cv2 as cv import numpy as np import open3d from openni import _openni2 from openni import openni2SAVE_POINTCLOUDS True # 是否保存点云数据def get_rgbd(color_capture, depth_stream, depth_scale1000, dept…

猫头虎分享已解决Bug || 依赖问题:DependencyNotFoundException: Module ‘xyz‘ was not found

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通鸿蒙》 …

VirtualBox虚拟机安装 Linux 系统

要想学习各种计算机技术,自然离不开Linux系统。并且目前大多数生产系统都是安装在Linux系统上。常用的Linux系统有 Redhat,Centos,OracleLinux 三种。 三者的区别简单说明如下: Red Hat Enterprise Linux (RHEL): RHEL 是由美国…

QEMU之内存虚拟化

内存虚拟化方案 最直观的方案,将QEMU进程的虚拟地址空间的一部分作为虚拟机的物理地址。但该方案有一个问题: 在物理机上,CPU对内存的访问在保护模式下是通过分段分页实现的,在该模式下,CPU访问时使用的是虚拟地址&am…