STM:基于Siamese编码器的时空混频器用于CT扫描肺结节生长趋势预测

news2025/1/23 23:04:07

文章目录

  • Siamese Encoder-based Spatial-Temporal Mixer for Growth Trend Prediction of Lung Nodules on CT Scans
    • 摘要
    • 方法
      • Spatial-Temporal Mixer
      • Two-Layer H-Loss
    • 实验结果

Siamese Encoder-based Spatial-Temporal Mixer for Growth Trend Prediction of Lung Nodules on CT Scans

摘要

在肺结节的治疗中,我们希望通过CT扫描的直径变化来预测结节的演变,然后根据结节的生长趋势预测结果提供随访建议。为了提高肺结节生长趋势预测的性能,比较同一结节在连续CT扫描中的变化是至关重要的。

具体而言,首先基于配准CT扫描检测并配对覆盖同一结节的感兴趣区域(roi)。
然后,通过模型预测结核的纹理类别和直径大小。
最后,根据每个结节直径的变化来标注其演化类别。
基于构建的NLSTt数据集,我们提出了一种siamese编码器,以同时利用从连续CT扫描中检测到的3D ROI的区别特征。
然后,设计了一种时空混频器(STM)来利用连续三维ROI中相同节点的间隔变化,并捕获节点区域与当前三维ROI的空间依赖关系。根据临床诊断常规,采用分级损失法对生长中的结节给予更多关注。
代码链接

方法

纳入NLST数据集的许多受试者涵盖了多个时间点的扫描(通常是间隔一年的T0、T1和T2扫描)以及可疑病变的活检确认
在这里插入图片描述
图1展示了我们的数据组织方法的流程,旨在确定选定受试者连续CT扫描中结节的演化类别和纹理类型。我们首先根据第一次扫描(T0)对第二次(T1)和第三次(T2) CT扫描进行3D图像配准。然后,我们通过检测器识别含有肺结节的三维roi,然后对roi进行配对,在不同时间点的多个3D roi中匹配同一结节。接下来,我们使用分割器自动裁剪出roi中结节的病变并计算其直径。同时,我们应用分类器进行识别结节的纹理类型。
用于ROI识别的检测器是CenterNet的3D变体,用于病灶分割的分割器是多尺度3D UNet,分类器是附加全连接层的分割器的变体

首先对每个患者的连续CT扫描进行配准,然后检测结节。对于T0和T1检测到的两个结节,对判据为两个结节中心点之间的欧氏距离小于1.5 mm。如果结节位置在T0和T1之间(> 1.5 mm)发生明显变化,我们断言它们不是同一个结节。最后,我们要求有经验的临床医生进行审查,以确保正确切除结节的准确性。在自动推断出直径和纹理类型后,我们依靠经验丰富的临床医生通过手动注释来校准标签。通过自动推理和人工评审相结合,获得了结节纹理类型和进化等级的可靠标记,后者由结节在连续时间点的直径变化决定。

结节的演化等级是基于其直径大小的变化。
在这里插入图片描述
直径为分割器生成的结节掩模的最大表面上最小外接矩形的最长边。我们根据同一肺结节在不同时间点的直径变化,将肺结节划分为稳定性、扩张性和收缩性三种演化类型,如图2所示。如果连续两次CT扫描肺结节直径变化小于1.5 mm,我们称之为稳定趋势。如果两次CT扫描的肺结节直径变化大于1.5 mm,我们将增量定义为扩张,减少定义为收缩。在接下来的部分中,我们提出了我们的增长趋势预测方法。

Spatial-Temporal Mixer

在这里插入图片描述
我们提出的方法的原理图,包括一个siamese编码器,一个时空混频器(STM)和两层H-loss。MLP是一个多层感知,FG1表示T1的全局信息,FL1表示病变斑块在T1的局部信息,FL0表示病变斑块在T0的局部信息。

对于给定的受试者,从不同时间点的CT扫描中获取包含病变的3D ROI对(T0和T1),然后将其输入连体编码器进行嵌入。此外,引入了一种额外的可学习全局嵌入来提取三维roi的全局信息。siamese编码器中的两个编码器共享相同的权值,我们采用视觉变压器(vision transformer, ViT)和卷积神经网络(convolutional neural network, CNN)作为siamese编码器的主干。我们通过连体编码器从序列三维roi中得到三个嵌入向量:FG1包含T1的全局信息,FL1包含T1的病变斑块的局部信息,FL0包含T0的病变斑块的局部信息。如果T0缺失,我们会补充一个可学习的嵌入FL0,这种情况发生在受试者只有两次CT扫描时。

值得一提的是,roi的全局信息在T0、T1、T2上是不变的。因此,我们只学习T1的全局信息,而不考虑T0的全局信息。相反,同一结节在T0、T1和T2的局部信息是不同的,对生长趋势预测具有很强的判别性。因此,我们从T0和T1中学习局部信息,以捕获不断变化的局部信息。

考虑到从siamese编码器获得的嵌入,我们提出了一个时空混频器(STM)模块来利用空间和时间信息。我们首先介绍了一种层归一化、一种多层感知(MLP)和对FL1、FG1、a和FL0三个嵌入的残差相加操作。

然后,为了融合时空信息,我们利用线性投影从FL1中得到查询向量QL1,从FG1和FL0中分别得到两个关键向量KG1和KL0。空间信息由FG1·Sim(QL1, KG1)捕获,其中Sim(QL1, KG1)是T1的局部嵌入和全局嵌入的查询键对之间的余弦相似度。同样,时间信息由FL0·Sim(QL1, KL0)捕获,其中Sim(QL1, KL0) i是在不同时间点收集的T1和T0的局部嵌入的查询键对之间的余弦相似度。接下来,我们使用加法运算和线性投影(LP)融合空间和时间信息。最后,STM基于时空信息和当前局部嵌入FL1输出一个嵌入。综上,STM的输出计算为:
在这里插入图片描述

Two-Layer H-Loss

通过STM进行特征融合后,我们就可以训练一个预测增长趋势的模型。我们采用h损失,扩展加权交叉熵(WCE)损失函数,通过分层设置来提高膨胀类的贡献。在临床实践中,对可能发生癌变的结节生长要更加谨慎和注意。因此,实现膨胀类的高预测精度至关重要。为此,我们构建了一个两层H-loss (H1, H2),包括两个独立的全连接(FC)层模块来模拟临床诊断程序。基于结节的三种演化类型,H1首先对扩张或不扩张进行了分类,更加关注扩张类型。H2继承H1来预测收缩或稳定。这里H2的漏节只涉及扩张。两层H-loss将预测概率和ground-truth标签y统一起来训练我们的模型,如下所示:
在这里插入图片描述

实验结果

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

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

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

相关文章

JavaScript的三座大山

前言:这个题目是抄的,看着很有意思,就拿过用了,毕竟CV是程序员的基本功底嘛,顺带把图也拿过来了 作用域和闭包 这个几乎是天天在用的东西,可能有些人甚至不知道这个概念,但是用到过这种方法去解…

Dubbo消费者调用流程分析

消费者在发起一次调用的时候时序图如下 由于Dubbo调用是基于动态代理的方式,所以请求先进入 InvokerInvocationHandler#invoke()方法,进而调用到MockClusterInvoker#invoke()方法。MockClusterInvoker#invoke()中判断是否需要开启 Mock,如果开启 Mock 调用 doMockInvoke 执行…

WebRTC系列-Qos系列之AEC-可配置参数

文章目录 1. 简介2. 源码中相关参数WebRTC的自适应回声消除(AEC)是一个广泛使用的技术,用于在音频通信中消除扬声器输出产生的回声。在WebRTC中,有三种AEC算法可供选择,分别是 AECM、 AEC和 AEC3。本文将介绍WebRTC AEC 3算法的原理和应用场景。 在上图中可以看出AEC算…

MiniGPT4,开源了。

大家好,我是 Jack。 一个月前,我发布过一篇文章,讲解了 GPT4 的发布会。 ChatGPT 的对话能力,想必大家也早已体验过了,无论是文本生成能力,还是写代码的能力,甚至是上下文的关联对话能力&#…

SpringBoot自定义登录、权限验证

1、首先最基础的User实体类,使用了lombok,所以省略了getter、setter方法 Data public class UserInfo implements Serializable {private Integer id;//用户名private String username;//密码不需要被序列化存入redisprivate transient String password…

vue3类型uniapp调用signalr

目录 背景 安装 renderjs 1选择一个tab页面承载renderjs代码 2编写业务逻辑代码 3编写renderjs代码 背景 后端使用.net6开发,长链接选择了微软的signalr而非原生的websocket 前端uniapp下vue3类型开发的app,需要通过长链接获取后端推送的消息 安…

通过对话了解cookie session与token的用途和区别

1 先来了解cookie与localstorage 1.1 http的无状态 用户: 我想看csdn我有多少粉丝了(http请求) 服务器:你是?请告诉我你的名字和密码,我确认你是谁 用户:发起登录请求 admin 123456 服务器:ok,登录成功 用户&…

分享几个国内免费的ChatGPT镜像网址(亲测有效)

最近由于ChatGPT的爆火也让很多小伙伴想去感受一下ChatGPT的魅力,那么今天就分享几个ChatGPT国内的镜像网址,大家可以直接使用!记得点赞收藏一下呦! 1、AQ Bot,网址:点我 https://su.askaiw.com/aq 缺点&…

搭建CDH流程记录

搭建CDH流程记录 如何搭建本地yum源 1.配置yum源这里使用 阿里源 http://mirrors.aliyun.com/repo/Centos-7.repo wget http://mirrors.aliyun.com/repo/Centos-7.repo2.安装http软件 yum install httpd -y3.配置httpd.conf vi /etc/httpd/conf/httpd.conf在 AddType appli…

酒店行业开启“狂飙”,尚美数智稳步领跑

文|智能相对论 作者|范柔丝 在消费行业迅速复苏的浪潮下,无论从销量还是数量来看,酒旅行业蛰伏三年后,终于开启了业绩狂飙。 从数量来看,企查查数据显示,截至目前,我国现存酒店相关企业233.5万家&#x…

Grafana链接跳转与值传递,把表格变量值从一个dashboard传递给另一个dashboard

文章目录 1. 创建两个空白 Dashboard 用于实验2. dash_1:创建跳转用的表格2. dash_2:配置接收数据的变量 Variables3. 测试跳转4. 通过跳转的变量传递方法总结 这里,我们一步步的来,通过配置一个页面跳转的效果,把一个…

二结(4.18)项目进度

今天学长上了多线程的课程,内容挺广泛的,部分也需要实际运用到项目中来,但我的登录、注册实现还没区分开服务端和客户端(仅在同一项目里实现) --------------------------------------------------------------------…

【分布式系统】分布式系统架构的冰与火

什么是分布式系统 分布式系统(distributed system)是建立在网络之上的软件系统。 以上是摘自百度百科的解释,不可否则,分布式系统的基础是网络、计算、存储。比如常见的一个Web单体系统,其实也是一个分布式系统&#x…

Android监听消息(二)——电话及短信监听

学更好的别人, 做更好的自己。 ——《微卡智享》 本文长度为2747字,预计阅读6分钟 前言 前面一篇《Android监听消息(一)——应用消息捕获》我们使用NotificationListenerService实现了应用的消息监听,但是电话和短信是…

【花雕学AI】爆款ChatGPT的核心算法和技术逻辑到底是什么?

一、ChatGPT是一种基于GPT模型的聊天机器人 由OpenAI研究中心开发,于2022年11月30日发布。它可以根据用户的输入,生成自然、流畅、有趣的对话回复。它的技术逻辑主要是利用大规模的预训练语言模型(LLM),通过Transforme…

总结823

学习目标: 4月(复习完高数18讲内容,背诵21篇短文,熟词僻义300词基础词) 学习内容: 暴力英语:早上1.5小时背单词,背了两篇文章,之后抄写5篇文章。晚上做了一道长难句。 …

CAN-FD协议

总目录链接>> AutoSAR入门和实战系列总目录 总目录链接>> AutoSAR BSW高阶配置系列总目录 文章目录 CAN-FD协议**CAN-FD协议需要什么?**CAN-FD 协议的属性CAN-FD 协议中的安全性 OSI 层中的 CAN-FD**CAN-FD物理层设计**CAN-FD 数据链路层数据链路层…

【2023】cookie是什么?有什么用?一篇文章彻底搞懂cookie

一个不大不小的问题 假设服务器有一个接口,通过请求这个接口,可以添加一个管理员 但是,不是任何人都有权力做这种操作的 那么服务器如何知道请求接口的人是有权力的呢? 答案是:只有登录过的管理员才能做这种操作 …

一天掌握C51单片机基础1-计算机数值与MCS51单片机

目录 简介计算机的数值表示源码反码补码 MCS51 单片机型号与构成存储结构外部引脚与总线接口并行 IO 口工作原理工作周期 简介 本笔记参考B站高宏亮老师的教学视频:点击观看 计算机的数值表示 源码 正数:首位 0,其余七位表示实际数值 负数&…

Java内存模型JMM

大厂面试题? 你知道什么是java内存模型JMM吗? JMM和Volatile它们两个之间的关系? JMM有哪些特性和他的三大特性是什么? 为什么要有JMM,他为什么出现?作用和功能是什么? happens-before先行发…