当前位置: 首页 > news >正文

图像分割模型LViT-- (Language meets Vision Transformer)

参考:LViT:语言与视觉Transformer在医学图像分割-CSDN博客

背景

  • 标注成本过高而无法获得足够高质量标记数据
  • 医学文本注释被纳入以弥补图像数据的质量缺陷
  • 半监督学习:引导生成质量提高的伪标签
  • 医学图像中不同区域之间的边界往往是模糊的,边界附近的灰度值差很小,很难提取出高精度的分割边界

贡献

  • 指数伪标签迭代机制(EPI):帮助像素级注意模块(PLAM)----在半监督LViT设置下保持局部图像特征
  • LV (Language-Vision)损失被设计用来直接使用文本信息监督未标记图像的训练
  • 构建了包含x射线和CT图像的三个多模态医学分割数据集(图像+文本)
  • 模型
    • CNN (卷积神经网络):处理输入的图像,提取局部特征。
    • ViT (视觉Transformer):利用Transformer结构,处理从CNN提取的特征,并结合来自文本嵌入的特征。
    • BERT-Embed (BERT嵌入):利用BERT模型对输入的文本进行嵌入,提取语义信息。
  • 如何利用已有的图像-文本信息提高分割性能
    • 使用嵌入层代替文本编码器获得文本特征向量(减少模型中参数的数量)
    • 具有像素级注意模块(PLAM)的混合CNNTransformer结构能够更好地合并文本信息(CNN:局部特征;transformer:全局特征)
  • 如何充分利用文本信息,保证伪标签的质量
    • 伪标签迭代机制(Exponential Pseudo label Iteration mechanism, EPI)
      • 利用标记数据的标签信息和未标记数据的潜在信息
      • EPI间接结合文本信息,以指数移动平均线(EMA)的方式逐步完善伪标签[10]
    • LV (Language-Vision) loss的设计目的是直接利用文本信息来监督未标记医学图像的训练。

模型

双u型结构:u型CNN支路+u型Transformer支路

左面的红方框是Transformer支路,右面的红方框是CNN支路。

  • CNN分支作为信息输入源和预测输出的分割头
  • ViT分支用于图像和文本信息的合并(Transformer处理跨模态信息的能力)
  • u型CNN分支的跳接位置设置一个像素级注意模块(PLAM)----保留图像的局部特征信息

U形CNN分支

  • 每个CNN模块:Conv、BatchNorm(BN)和ReLU激活层
  • Maxpool对图像特征进行下采样(老规矩了) 
  • CNN-ViT交互模块:使用了上采样等方法来对齐来自ViT的特征。重构后的ViT特征通过残差与CNN特征连接,形成CNN-ViT交互特征。
  • 提高局部特征的分割能力:跳接处设计了PLAM,将CNN-ViT交互特征输入到PLAM中,再将交互特征传递到UpCNN模块,逐层向上给出信息。

U形Vit分支

  • 用于合并图像特征和文本特征
  • 第一层DownViT模块接收BERT-Embed输入的文本特征和第一层DownCNN模块输入的图像特征。
  • BERT-Embed的预训练模型是BERT_12_768_12模型,它可以将单个单词转换为768维的单词向量。
  • 跨模态特征合并操作
    • CTBN块还包括Conv层、BatchNorm层和ReLU激活层,用于对齐x_{img}、1和x_{text}的特征维度。
    • ViT由多头自注意组成
    • LN表示归一化层
    • 第2层、第3层和第4层的后续DownViT模块既接收上层DownViT模块的特征,又接收相应层的DownCNN模块的特征

PLAM 

  • 旨在保留图像的局部特征,并进一步融合文本中的语义特征
  • 并行分支:Global Average Pooling (GAP),Global Max Pooling (GMP) 
    • 加法操作:合并具有相似语义的相应通道特征并节省计算
    • 连接操作:更直观地整合特征信息,并有助于保留每个部分的原始特征
  • 使用MLP结构和乘法操作来帮助对齐特征大小
  • PLAM通过增强局部特征来缓解Transformer带来的对全局特征的偏好
  • PLAM采用通道注意和空间注意相结合的方式(我的理解是通道注意力机制:PLAM,空间注意力机制:Transformer)

指数伪标签迭代机制

更新后的伪标签将用于无标签数据的训练,使得无标签数据可以像有标签数据一样为模型提供监督信息。这种方式能够有效利用大量的无标签数据,提高模型的泛化能力和鲁棒性。 

  1. 初始生成

    • 使用有标签数据训练初始模型,生成伪标签。初始模型可以通过图中的Down CNN和Up CNN部分进行训练。
  2. 预测和更新

    • 在每一轮训练中,使用当前模型(例如图中的LViT模型)对无标签数据进行预测,生成新的伪标签。
    • 通过EPI机制更新伪标签,逐步提高其质量。这一过程在图中没有具体表示,但它是数据处理的一部分。
  3. 再训练

    • 使用更新后的伪标签对模型进行再训练。模型结构可以包括图中的Down ViT和Up ViT部分,以及中间的PLAM模块。

LV (Language-Vision) Loss 

  • 结构化的文本信息来形成相应的掩码(对比标签)
  • 计算文本之间的余弦相似度
    • x_{text},p表示伪标签对应的文本特征向量
    • x_{text},c表示对比标签对应的文本特征向量


相关文章:

图像分割模型LViT-- (Language meets Vision Transformer)

参考:LViT:语言与视觉Transformer在医学图像分割-CSDN博客 背景 标注成本过高而无法获得足够高质量标记数据医学文本注释被纳入以弥补图像数据的质量缺陷半监督学习:引导生成质量提高的伪标签医学图像中不同区域之间的边界往往是模糊的&…...

CANDela studio之CDDT与CDD

CDDT有更高的权限,作为模板规范CDD文件。 CDD可修改的内容比CDDT少。 CDDT根据诊断协议提供诊断格式,主要就是分类服务和定义服务,一般是OEM释放,然后由供应商细化成自己零部件的CDD文件。 在这里举个例子,OEM在CDDT…...

Java中的注解(Annotation)是什么?它们有什么用途?

技术难点 在Java中,注解(Annotation)是一种元数据(metadata)的形式,用于为Java代码(类、方法、变量、参数和包等)提供额外的信息。这些信息在运行时可以通过反射机制进行读取和处理…...

【CUDA】Nsight profile驱动的CUDA优化

前置准备 安装NVIDIA Nsight Compute。 安装好后选择使用管理员权限启动下载官方 Demo 代码官方博客Shuffle warp 1. 任务介绍及CPU版本 1.1 任务介绍 任务理解: 有一个 L x M 的矩阵 M 1 M_1 M1​ 对其每行取平均值 得到 V 1 ∈ R L 1 V_1 \in \mathbb{R}^{…...

字符串的拼接

字符串拼接方式1 之前的算术运算符,只是用来数值类型进行数学运算的,而string不存在算术运算符不能计算,但是可以通过号来进行字符串拼接。 string str "123"; //用进行拼接 str str "456"; Console.WriteLine(str)…...

HIVE3.1.3+ZK+Kerberos+Ranger2.4.0高可用集群部署

目录 一、集群规划 二、介质下载 三、基础环境准备 1、解压文件 2、配置环境变量 四、配置zookeeper 1、创建主体 2、修改zoo.cfg 3、新增jaas.conf 4、新增java.env 5、重启ZK 6、验证ZK 五、配置元数据库 六、安装HIVE 1、创建Hiver的kerberso主体 2…...

Android ANR Trace日志阅读分析技巧

什么是Trace日志 Trace日志是指ANR目录下的一份txt文件 adb pull /data/anr/traces.txt Trace日志有什么用 分析应用ANR无响应的问题, Trace怎么用 Cmd line: com.xx ABI: arm Build type: optimized Zygote loaded classes3682 post zygote classes3750 Intern…...

前端Ajax、Axios和Fetch的用法和区别笔记

前端 JavaScript 开发中,进行 HTTP 请求的三种主要方式是 Ajax、Axios 和 Fetch。这三种方式各有优缺点,并且适用于不同的场景。在合适的业务场景下使用,以下是它们的区别和使用举例。 1. Ajax Ajax(Asynchronous JavaScript an…...

Android的Framework(TODO)

(TODO)...

牛客小白月赛94 EF题解

题目描述 注:此版本为本题的hard(困难版),与easy(简单版)唯一的不同之处只有数据范围。 小苯有一个容量为 k 的背包,现在有 n 个物品,每个物品有一个体积 v 和价值 w&#xff0…...

大数据开发面试题【Flink篇】

148、flink架构 flink是一个框架和分布式处理引擎,用于对无界和有界数据流进行有状态计算 特点: 高吞吐和低延迟:每秒数百万个事件,毫秒级延迟 结果的准确性:提供了事件时间和处理时间语义,提供结果的一致…...

Java技术深度解析:高级面试问题与精粹答案(二)

Java 面试问题及答案 1. 什么是Java的垃圾回收机制?它是如何工作的? 答案: Java的垃圾回收机制(Garbage Collection,GC)是Java运行时环境(JRE)中的一个功能,用于自动管…...

算数运算符

算术运算符是用于数值类型变量计算的运算符。 它的返回结果是数值。 赋值符号 关键知识点:先看右侧,再看左侧,把右侧的值赋值给左侧的变量。 附上代码: string myName "唐唐"; int myAge 18; float myHeight 177.5…...

闲话 .NET(3):.NET Framework 的缺点

前言 2016 年,微软正式推出 .NET Core 1.0,并在 2019 年全面停止 .NET Framework 的更新。 .NET Core 并不是 .NET Framework 的升级版,而是一个从头开始开发的全新平台,一个跟 .NET Framework 截然不同的开源技术框架。 微软为…...

WPF实现简单的3D图形

简述 Windows 演示基础 (WPF) 提供了一种功能,用于根据应用程序要求绘制、转换 3D 图形并为其添加动画效果。它不支持完整的3D游戏开发,但在某种程度上,您可以创建3D图形。 通过组合 2D 和 3D 图形,您还可以…...

设计模式之创建型模式---原型模式(ProtoType)

文章目录 概述类图原型模式优缺点优点缺点 代码实现 概述 在有些系统中,往往会存在大量相同或者是相似的对象,比如一个围棋或者象棋程序中的旗子,这些旗子外形都差不多,只是演示或者是上面刻的内容不一样,若此时使用传…...

git命令新建远程仓库

今天记录一下使用git命令新建远程分支的操作,因为公司的代码管理仓库界面没找到新建分支的操作界面,无奈只能通过git命令来新建分支。 1、新建本地分支 首先,你的至少应该已经有了一个master分支,然后你再master分支下面执行下面…...

Defog发布Llama-3-SQLCoder-8B,文本转SQL模型,性能比肩GPT-4,准确率超90%,消费级硬件可运行

前言 在计算语言学领域,将自然语言转化为可执行的SQL查询是一个重要的研究方向。这对于让那些没有编程或SQL语法知识的用户也能轻松访问数据库信息至关重要。Defog团队近日发布了基于Llama-3的SQLCoder-8B模型,它在文本转SQL模型领域取得了显著突破&…...

防刷发送短信验证码接口的五种简单好用方法绝对够用

防刷发送短信验证码接口的五种简单好用方法,绝对够用 前端增加图形验证码,点击发送按钮后增加60s倒计时,60s后才可以再次点击 后端对接口次数校验,60s内同一电话号码只能发送一次 // 生成基于电话号码的重试锁定键 String repeat…...

ubuntu中idea创建spark项目步骤

1.前置条件 ubuntu中已经安装idea,jdk,scala,spark 2.打开idea,新建,选择Maven项目 3.在IDEA中,File-Setting-Plugin,下载Scala插件 4.File-project structure,导入插件 4.1在全局库中,选择导入刚才的sca…...

计算机毕业设计springboot智慧校园服务系统 基于SpringBoot的高校智慧校园综合管理平台的设计与实现 基于SpringBoot与微信小程序的数字化校园服务系统的设计与开发

计算机毕业设计springboot智慧校园服务系统 (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。随着社会的快速发展和信息技术的全面进步,传统的教育教学模式面临着诸多挑…...

解决Windows远程桌面连接Ubuntu时xrdp闪退的配置技巧

1. 问题现象与排查思路 最近在帮同事配置Windows远程连接Ubuntu时遇到了一个典型问题:用Windows自带的远程桌面连接工具输入账号密码后,界面闪退无法进入桌面。这种情况在Ubuntu 18.04/20.04/22.04各版本中都可能出现,特别是使用GNOME桌面环…...

原神帧率解锁革新:突破60帧限制的全方位解决方案

原神帧率解锁革新:突破60帧限制的全方位解决方案 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock 在高刷新率显示器普及的今天,《原神》默认的60帧限制成为制约游戏…...

SwiftHub:终极GitHub iOS客户端开发指南 - RxSwift与MVVM-C架构实践

SwiftHub:终极GitHub iOS客户端开发指南 - RxSwift与MVVM-C架构实践 【免费下载链接】SwiftHub GitHub iOS client in RxSwift and MVVM-C clean architecture 项目地址: https://gitcode.com/gh_mirrors/sw/SwiftHub SwiftHub是一款功能强大的GitHub iOS客户…...

JDK 25模块路径在统信UOS/麒麟V10上启动失败?3步定位osgi-container冲突、jni.so符号缺失与jmod签名验签绕过方案

第一章:Java 25 模块化部署国产化适配方案Java 25 引入了更严格的模块系统约束与原生镜像增强能力,为在麒麟V10、统信UOS、openEuler等国产操作系统上实现轻量、安全、可验证的Java应用部署提供了新路径。适配核心聚焦于JVM层兼容性、模块图裁剪、国密算…...

UnrealPakViewer工具解析:UE4资源管理的可视化解决方案

UnrealPakViewer工具解析:UE4资源管理的可视化解决方案 【免费下载链接】UnrealPakViewer 查看 UE4 Pak 文件的图形化工具,支持 UE4 pak/ucas 文件 项目地址: https://gitcode.com/gh_mirrors/un/UnrealPakViewer UnrealPakViewer是一款专为UE4开…...

GLM-4v-9b行业落地:跨境电商商品图多语言描述生成自动化方案

GLM-4v-9b行业落地:跨境电商商品图多语言描述生成自动化方案 1. 引言:跨境电商卖家的共同痛点 如果你是做跨境电商的,下面这个场景你一定不陌生:仓库里堆满了新品,运营同事催着要上架,但每个商品都需要准…...

springboot+vue基于web的针对老年人的景区订票系统的设计与实现

目录系统功能模块划分关键技术实现特殊考量因素项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作系统功能模块划分 用户端功能(老年人友好设计) 注册登录:支持手机号验证、子女代注册、大字体…...

RRT*算法进阶:从理论证明到PyTorch工程化调优与前沿探索

1. RRT*算法核心原理与数学证明 RRT*(快速探索随机树星)作为路径规划领域的里程碑算法,其核心价值在于同时满足概率完备性和渐进最优性。我第一次在仓储机器人项目中使用它时,发现传统RRT算法规划的路径总是像醉汉走路一样曲折&am…...

从休眠到唤醒:深入解读AUTOSAR CanNm的Bus Load Reduction与Immediate Restart机制

从休眠到唤醒:深入解读AUTOSAR CanNm的Bus Load Reduction与Immediate Restart机制 在新能源汽车和智能座舱快速发展的今天,车载电子系统的功耗优化与实时响应能力成为工程师面临的核心挑战。AUTOSAR CanNm模块作为车载网络管理的关键组件,其…...