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

VOCO原理

A Simple-yet-Effective Volume Contrastive Learning Framework for 3D Medical Image Analysis
一个简单而有效的三维医学图像分析体积对比学习框架

是通过自监督学习搭建的学习框架

自监督学习是无监督学习下的一个分支;

        它通过从未标注的数据中生成伪标签来进行训练。自监督学习利用数据的内在结构或属性来创建训练任务,从而在没有人工标注的情况下进行学习。自监督学习常用于预训练模型,然后将预训练的模型迁移到有标注的数据上进行微调(finetune)。

        自监督学习的监督信息不是人工标注的,而是是通过辅助任务(pretext)在大规模无监督数据中自动构造监督信息,通过得到的标签,就可以类似有监督学习一样进行训练。

VoCo的辅助任务(pretext):首先从不同区域的一组基本作物,同时强制它们之间的特征差异,我们将它们用作不同区域的类分配。然后,我们随机裁剪子体积,并通过对比它们与不同基本作物的相似性来预测它们属于哪个类(位于哪个区域),这可以看作是预测不同子体积的上下文位置

具体流程:

1.首先定义一个Pretext task (辅助任务),即从无监督的数据中,通过巧妙地设计自动构造出有监督(伪标签)数据,学习得到一个预训练模型

通过10k dataset 训练得到 预训练模型 VoCo_10k.pt.

2.然后可以将预训练模型,通过简单的Finetune,应用到下游的多个应用场景,以分割任务为例:BTCV(腹部)、MM-WHS(全心)。

  1. 加载预训练模型

    • 使用预训练模型的权重初始化下游任务的模型(SwinUNETR)。
    • main.py中,通过args.pretrained_checkpoint加载预训练模型VoCo_10k.pt。将预训练模型VoCo_10k.pt中的预训练权重,加载到SwinUNETR模型中.
  2. 定义下游任务的模型结构

    • 使用SwinUNETR模型进行分割任务。加载预训练权重后,定义模型的结构。
    • main.py中,定义了SwinUNETR模型,并加载预训练权重。
  3. 设置优化器和损失函数

    • 定义优化器(如AdamW)和损失函数(如DiceCELoss)。
    • main.py中,设置了优化器和损失函数。
  4. 进行训练和验证

    • 使用训练数据进行模型训练,并在验证数据上进行评估。
    • trainer.py中,定义了训练和验证的具体过程。

对于不同部位分隔的调整:

 pre - processing (scale intensity,spacing) can be different.

Now we set scale intensity[-175, 250] for abdomen and head neck [0,1700] for heart [-500,1000] for chest. for spacing and size it should be depended by specific datadet

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • HarmonyOS开发 :Router 和 NavPatchStatck 如何实现跳转(传参)及页面回调
  • 用Canvas绘制2D平面近大远小的马路斑马线
  • 通勤必备!重回儿时回忆,完全免费!
  • 如何使用GPT?初学者的指南
  • 【css】如何修改input选中历史选项后,自动填充的蓝色背景色
  • DGit介绍
  • 使用 ML.NET CLI 自动进行模型训练
  • nginx日志报错信息: The system cannot find the path specified)解决方案
  • 本地快速部署 SuperSonic
  • Nginx缓存之代理缓存配置
  • next是什么???
  • 【Docker实战】jenkins卡在编译Dockerfile的问题
  • Android OTA 升级基础知识详解+源码分析
  • 闲鱼商品详情API:深入解析与应用指南
  • 在 KubeSphere 上快速安装和使用 KDP 云原生数据平台
  • 2018以太坊智能合约编程语言solidity的最佳IDEs
  • create-react-app做的留言板
  • js作用域和this的理解
  • MQ框架的比较
  • PHP 小技巧
  • Shadow DOM 内部构造及如何构建独立组件
  • Spring声明式事务管理之一:五大属性分析
  • ViewService——一种保证客户端与服务端同步的方法
  • Vue 动态创建 component
  • vue自定义指令实现v-tap插件
  • 关于springcloud Gateway中的限流
  • 精彩代码 vue.js
  • 聊聊flink的BlobWriter
  • 聊聊hikari连接池的leakDetectionThreshold
  • 数据可视化之 Sankey 桑基图的实现
  • 微服务核心架构梳理
  • 写代码的正确姿势
  • #ifdef 的技巧用法
  • #pragma once
  • #周末课堂# 【Linux + JVM + Mysql高级性能优化班】(火热报名中~~~)
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (二)斐波那契Fabonacci函数
  • (个人笔记质量不佳)SQL 左连接、右连接、内连接的区别
  • (一)基于IDEA的JAVA基础12
  • (转)linux自定义开机启动服务和chkconfig使用方法
  • (转)shell调试方法
  • (转)大型网站的系统架构
  • (转)真正的中国天气api接口xml,json(求加精) ...
  • ./configure,make,make install的作用(转)
  • .class文件转换.java_从一个class文件深入理解Java字节码结构
  • .NET 4.0中的泛型协变和反变
  • .NET CF命令行调试器MDbg入门(三) 进程控制
  • .NET开发不可不知、不可不用的辅助类(一)
  • @staticmethod和@classmethod的作用与区别
  • [C#]无法获取源 https://api.nuge t.org/v3-index存储签名信息解决方法
  • [C#学习笔记]LINQ
  • [C和指针].(美)Kenneth.A.Reek(ED2000.COM)pdf
  • [EMWIN]FRAMEWIN 与 WINDOW 的使用注意
  • [IDF]聪明的小羊
  • [Kimi笔记]C# 中,public、private 和 internal 访问修饰符