用于半监督体积医学图像分割的动量对比体素表示学习

news2024/11/29 13:47:17

文章目录

  • Momentum Contrastive Voxel-Wise Representation Learning for Semi-supervised Volumetric Medical Image Segmentation
    • 摘要
    • 本文方法
      • Voxel-Wise Contrastive Objective
      • Dimensional Contrastive Objective
      • Consistency Loss
      • 总损失
    • 实验结果

Momentum Contrastive Voxel-Wise Representation Learning for Semi-supervised Volumetric Medical Image Segmentation

摘要

对比学习(CL)旨在学习医学图像分割中不依赖专家注释的有用表示。现有的方法主要通过简单地将所有输入特征映射到相同的恒定向量中,将单个正向量(即,同一图像的增强)与批次的整个剩余部分内的一组负向量进行对比。尽管这些方法具有令人印象深刻的经验性能,但仍存在以下缺点:
(1)防止问题崩溃为琐碎的解决方案仍然是一个艰巨的挑战;
(2)并非同一图像内的所有体素都是相同的正例的,因为在同一图像中存在不同的解剖结构。
本文方法
提出了一种新的对比体素表示学习(CVRL)方法,通过捕捉三维空间上下文和沿特征和批次维度的丰富解剖信息,有效地学习低级和高级特征。具体来说,我们首先引入了一种新的CL策略,以确保在3D表示维度之间的特征多样性提升。我们通过对3D图像进行双层对比优化(即低层和高层)来训练框架。在两个基准数据集和不同标记设置上的实验证明了我们提出的框架的优越性。更重要的是,我们还证明了我们的方法继承了标准CL方法的硬度感知特性的优点。

本文方法

在这里插入图片描述
CVRL基于GCL,并遵循其最重要的组成部分,如数据扩充。我们的目标是学习更强的视觉表示,避免崩溃,以提高有限注释临床场景的整体分割质量。在有限的注释设置中,我们将半监督CVRL与两个组成部分——监督和非监督学习目标一起训练。具体而言,我们提出了一种新的体素表示学习算法,通过正则化嵌入空间和探索训练体素的几何和空间上下文,从3D未标记数据中学习低级和高级表示
在这里插入图片描述

Voxel-Wise Contrastive Objective

使用标准的对比学习,我们鼓励特征提取器产生在数据增强下不变的表示。另一方面,特征仍应保持局部性:特征体积中的不同体素应包含其唯一信息。

具体来说,当学习的特征体积被划分为切片时,我们将来自同一图像的两个增强的体素对拉得更近;

在这里插入图片描述
为了获得体素对比损失,我们对由小批量学生特征体积中的所有特征体素组成的查询体素集合Qv取平均值:
在这里插入图片描述

Dimensional Contrastive Objective

受对比学习中维度崩溃的最新发现的启发,我们提出了一个维度对比目标,以鼓励特征体素中的不同维度/通道包含不同的信息。给定一批形状为b×h×w×d×c的学生特征体积,我们将前4个维度分组以获得一组维度查询:q∈Qd⊂R(b×h x w×d),其中|Qd|=c,特征体积中的通道数。我们以相同的方式定义K={K+}ŞK−,但使用来自教师编码器的相应批处理特征量。在维度对比设置中,k+被定义为与查询q对应的相同特征维度的关键向量。维度对比损失是所有查询维度的平均值:
在这里插入图片描述

Consistency Loss

在网络参数上使用指数移动平均(EMA)可以提高训练稳定性和模型的最终性能。有了这一见解,我们引入了一个EMA教师模型,其中参数θ作为参数θ的移动平均值,为了促进训练稳定性和性能改进,我们将一致性损失定义为:
在这里插入图片描述

总损失

在这里插入图片描述

实验结果

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

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

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

相关文章

可以白嫖的语音识别开源项目whisper的搭建详细过程 | 如何在Linux中搭建OpenAI开源的语音识别项目Whisper

原文来自我个人的博客。 1、前提条件 服务器为GPU服务器。点击这里跳转到我使用的GPU服务器。我搭建 whisper 选用的是 NVIDIA A 100显卡,4GB显存。 Python版本要在3.8~3.11之间。 输入下面命令查看使用的Python版本。 python3 -V2、安装Anaconda 为啥要安装A…

ORACLE数据库长连接客户端持久的CLOSE_WAIT

前言 根据以往的项目构造,业务层数据库基本使用长连接形式进行批量操作。大部分周期有执行的链接基本正常。再长期的内测中也没有发生CLOSE_WAIT的现象。 上线后采用的数据库使用了新的版本,发现产生CLOSE_WAIY。根据开发经验和网上搜索,发…

『手撕 Mybatis 源码』01 - 基本原理与搭建

MyBatis的架构设计 Api接口层:提供API 增加、删除、修改、查询等接口,通过API接口对数据库进行操作 例如下面这些操作 sqlSession.selectOne(statementId, param); mapperProxy.findByCondition(param);数据处理层:解析sql根据调用请求完成…

机器学习模型的评估

(1)数据划分 将可用数据划分为三部分:训练集、验证集和测试集。在训练数据上训练模型。在验证数据上评估模型。模型准备上线之前,在测试数据上最后测试一次 不将数据划分为两部分,即训练集和测试集?在训练…

Java基础(二十三):反射机制

Java基础系列文章 Java基础(一):语言概述 Java基础(二):原码、反码、补码及进制之间的运算 Java基础(三):数据类型与进制 Java基础(四):逻辑运算符和位运算符 Java基础(五):流程控制语句 Java基础(六)&#xff1…

Linux内存管理 (1):内核镜像线性映射的建立

文章目录 1. 前言2. 分析背景3. 内核镜像线性映射的建立过程3.1 预备工作:内核解压缩3.2 建立内核镜像区域的线性映射3.2.1 定位内核入口3.2.2 建立内核线性映射前的其它启动工作3.2.2.1 将 CPU 设为 SVC 模式,且禁用 IRQ FIQ 中断3.2.2.2 获取处理器类…

【C++】实现 priority_queue --- 反函数

priority_queue 实际上是以 堆 的规则组织起来的数组&#xff0c;是一颗完全二叉树 **反函数 !!! 堆的向上向下调整 #pragma oncenamespace xiong {//反函数template<class T>struct less{bool operator()(const T& x, const T& y){return x < y;}};templat…

python列表逆序排列的方法

python中的列表是可以直接进行逆序排列的&#xff0c;但是在 python中&#xff0c;逆序排列也是有一定规则的&#xff0c;一般是按升序排序&#xff0c;也就是从左到右。比如 list[1,2,3,4]&#xff1b; 注意&#xff1a;顺序相同的元素可以放在同一行&#xff1b; 在 python中…

嵌入式电路基础

电路基础 器件基础基本电路术语与符号 信号浮动三态门&#xff08;三态缓冲器&#xff09;上下拉电阻基本元件与逻辑OC/OD门&#xff08;掌握原理&#xff0c;用途&#xff09;开放收集器&#xff08;OC门&#xff0c;NPN型三极管&#xff09;掌握原理、用途漏极开路&#xff0…

C++ STL—vector,map,set,list,deque等

STL是什么 STL是标准模板库&#xff0c;包括算法、容器和迭代器。 算法&#xff1a;包括排序、复制等常用算法容器&#xff1a;数据存放形式&#xff0c;包括序列式容器和关联式容器&#xff0c;序列式容器就是list,vector&#xff0c;关联式容器就是set,map等迭代器是在不暴…

考研复试刷题第八天:日期累加 【日期问题】

本来以为和上次那个简单题一样的&#xff0c;没啥难度&#xff0c;就是循环就完事了&#xff0c;结果超时了 超时代码: #include <iostream> using namespace std;//平年各个月份都多少天&#xff1f; int mouths [13] {0,31,28,31,30,31,30,31,31,30,31,30,31 };//判…

Spring事务深度学习

jdbcTemp Spring 框架对 JDBC 进行封装&#xff0c;使用 JdbcTemplate 方便实现对数据库操作。 JdbcTemp的使用 对应依赖 <!-- MySQL驱动 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><ve…

已知相机内外参通过COLMAP进行稀疏/稠密模型重建操作过程

在https://colmap.github.io/faq.html#reconstruct-sparse-dense-model-from-known-camera-poses 中介绍了已知相机内外参如何通过COLMAP进行稀疏和稠密模型重建的过程&#xff0c;这里按照说明操作一遍&#xff1a; 在instant-ngp中&#xff0c;执行scripts/colmap2nerf.py时…

request页面代码逻辑

一. 封装请求基地址 在src目录下面建一个api文件夹 然后在文件夹里面新建一个专门放用户请求的use.js 用axios发送请求 在use.js文件夹里导入request 在src目录新建发送请求的页面并导入封装好的请求 然后把这个请求封装成一个函数&#xff0c;这个函数里需要传入两个参数。 …

Xavier或TX2配置ipv4地址

输入ifconfig查看本地ipv4地址&#xff0c;发现并没有设置&#xff0c;无法通过以太网与其他主机通信。下面来配置系统的以太网地址。 1、编辑文件/etc/network/interfaces: sudo gedit /etc/network/interfaces2、用下面的内容来替换有关eth0的行&#xff0c;并且将ip地址等信…

Java中抽象类和接口的区别,一文弄懂,图文并茂

目录 前言 1. 抽象类 1.1 定义 1.2 示例 1.3 使用 1.3.1代码-抽象类 1.3.2代码-抽象类继承类使用 1.3.3输出结果为&#xff1a; 1.4UML类图展示类间的关系 2. 接口 2.1 定义 2.2 示例 2.2.1代码-接口 2.3 使用 2.3.1代码-接口实现 2.3.2代码-接口实现类使用 2…

【Linux】驱动内核调试,没有几板斧,怎么能行?

目录 前言&#xff1a; 一、基础打印工具 &#xff08;1&#xff09;printk---最常用 ①Log Buffer: ②Console&#xff1a; ③RAM Console&#xff1a; &#xff08;2&#xff09;动态打印 ①动态打印与printk之间的区别联系 ②动态打印常用的例子 ③动态打印转为pri…

C语言实战 - 贪吃蛇(图形界面)

由于本人精力有限&#xff0c;暂时先把素材和代码放上&#xff0c;等以后有空再补教程。 目录 效果预览 准备工作 EasyX图形库 音频素材 代码编写 Transfer.h文件 game.cpp文件 main.c文件 效果预览 先来看一下最终成品效果 贪吃蛇图形界面 准备工作 EasyX图形库 这…

[230513] TPO72 | 2022年托福阅读真题第1/36篇 | 10:45

Invading Algae 目录 Invading Algae 全文 题目 Paragraph 1 P1 段落大意 问题1 Paragraph 2 P2 段落大意 问题2 *问题3* Paragraph 3 P3 段落大意 问题4 Paragraph 4 P4 段落大意 Paragraph 5 P5 段落大意 *问题5* *问题6* 问题7 问题8 问题9…

【计算机组成原理】第二章 运算方法和运算器

系列文章目录 第一章 计算系统概论 第二章 运算方法和运算器 第三章 多层次的存储器 第四章 指令系统 第五章 中央处理器 第六章 总线系统 第七章 外围设备 第八章 输入输出系统 文章目录 系列文章目录第一章 计算系统概论 **第二章 运算方法和运算器** 第三章 多层次的存储器…