【论文阅读】(2023TPAMI)PCRLv2
目录
- Abstract
- Method
- Method
- nsU-Net中的特征金字塔
- 多尺度像素恢复
- 多尺度特征比较
- 从多剪切到下剪切
- 训练目标
- 总结
Abstract
现有方法及其缺点:最近的SSL方法大多是对比学习方法,它的目标是通过比较不同图像视图来保留潜在表示中的不变合判别语义,然而它主要保留高级语义信息,不包含足够的局部信息,局部信息对医学图像分析很有用。
提出的解决方法:提出将像素级恢复任务纳入,以将更多像素级信息显示编码到高级语义信息中。讨论了尺度信息保留,提出的框架可以表述为在特征金字塔上的多任务优化问题。
效果很好。
Method
上面是动机插图。三层分别表示像素、尺度和语义。像素是图片的像素值,通过特征图重建生成(从特征图中恢复未损坏的输入,以保留像素级细节),特征是网络学习到的特征,语义信息是一维编码。这些在不同的尺度上进行像素恢复和特征比较(特征比较怎么做?)引入多尺度自监督潜在特征表示,以更好地迁移到下游任务。
贡献:
- 从像素、语义和尺度三个方面统一了潜在特征中视觉信息的保存。在不同特征尺度上进行像素恢复和特征比较。
- 我们引入了非跳过U-Net(nsUNet)来构建特征金字塔。因防止跳跃连接踢狗学习的捷径,同时高级特征和低级特征直接组合不利于高级语义信息的提取。
- 受多剪切的启发,提出使用子剪切比较全局剪切块和局部剪切块。为了缓解 3D 空间中全局视图和局部视图之间互信息减少的问题,子裁剪限制了全局视图的 3D 最小边界框内的局部视图裁剪。
- 广泛全面的实验。
PCRLv1证明了通过对比学习获得的不便和判别语义之外,还包含更多像素级语义信息的好处。对PCRLv1进行实质性修改。改进主要包括不限于:
(i) 除了本地像素级和全局语义信息外,比例信息也保留在自监督视觉信息表示中。这证明可以提升在下游任务中的性能。
(ii) PCRLv2将PCLv1的注意力像素级恢复和混合特征对比操作简化为简洁的多任务问题。
(iii) 与PCELv1相比PCRLv2的引入了nsU-Net(非跳跃连接的U-Net)。
usU-Net好处如下:
a. nsU-Net的特征金字塔允许进行多尺度像素级上下文恢复和语义特征比较。像素、语义和比例的统一产生了更多可转移的视觉表示
b. 它可以避免产生捷径解决方案,与典型跳跃连接相比,性能明显提高。
(iv) 我们整合多剪切的想法到PCRLv2中。通过在全局视图中的3D最小边界框中随机剪切多个局部体积块来增加相互信息。
(v) 实验效果好。
Method
PCRLv2的整体结构。提出nsU-Net。nsU-Net由5个特征缩放组成删除了跳跃连接,防止网络找到恢复上下文信息的捷径解决方法。在nsU-Net基础上,提出将像素级、语义和尺度信息的保存解耦为两个任务 a.多尺度像素恢复 b.多尺度特征比较。原理将像素细节和语义合并到不同比例的特征图中。在训练阶段,从特征金字塔中随机选择一个特征尺度,在尺度上进行像素恢复和特征比较,x是一批输入图像,t1和t2表示两个不同的全局增强,t1’和t2’表示连续的局部增强。
全局增强t1,t2;例如翻转和旋转,目标是从全局角度扭曲输入图像的语义。局部增强t1’,t2’表示局部像素级的转变,像是随机噪声和高斯滤波,目的是扰乱局部语义。最后增强后的图像传递给siamese网络取进行像素恢复和特征比较,利用经过t1和t2操作从x得到的x1和x2作为像素恢复任务的实际目标。
在特征金字塔上执行SSL以编码多尺度视觉表示。两个nsU-Net产生的特征图进行比较,这就是特征比较。每次随机抽取其中一个尺度,在所选尺度上进行像素恢复和特征比较,这是尺度方面的学习。
nsU-Net中的特征金字塔
上图是nsU-Net结构。彩色方块的是特征图。与之前的U-Net系列相比,nsUNet删除了跳过连接和关联的跳过特征映射,以防止像素恢复和特征比较任务的捷径解决方案。此外,nsUNet由五个级别的特征图(用不同的颜色表示)组成,其中进一步执行两个自我监督任务。
这里展示了特征提取的过程,特征图{F1,F2,F3,F4,F5}然后转发给后续任务相关头,分别并同时执行像素恢复和特征比较。
多尺度像素恢复
含义:旨在同时保留潜在视觉表示中的像素级和比例信息。
结构:下图(a)。
损失函数:每一个尺度都计算重建的2个特征图与x1,x2的MSE损失求和。
左边是像素恢复头的结构,右边是特征比较头的结构。没对特征图共享一个像素恢复头和特征比较头,不同的特征尺度使用不同的任务头。红线是比较。
多尺度特征比较
PCRLv2采用多尺度比较取代了PCRLv1中的混合对比策略。提出保留不同特征尺度的判别语义,这迫使模型保留多尺度自监督表示。
含义:旨在同时保留潜在视觉表示中的特征级和比例信息。
结构:上图(b)。
损失函数:我们将它们通过全局平均池化层和共享批量归一化层(如图4b所示)以获取一维表示vi就是红色双向箭头前面指到的地方,我们将 vi 转发给共享预测器 fP(·)预测器就是框起来的Predictor那部分,最后输出就是fp(vi)。下面那一个分支为 v i s v_i^s vis, f p ( v i s ) fp(v_i^s) fp(vis)。损失函数就是负的二分之一vi和 f p ( v i s ) f_p(v_i^s) fp(vis)计算cos相似度加上 v i s v_i^s vis和 f p ( v i ) f_p(v_i) fp(vi)计算cos相似度。
从多剪切到下剪切
多裁剪 [5] 被认为是提高自然图像中 SSL 性能的有用策略,它通过从原始输入中采样多个标准分辨率裁剪和更多低分辨率裁剪来增加输入视图的数量。多裁剪背后的一个关键见解是捕获场景或对象的各个部分之间的关系,而低分辨率视图可确保计算成本的可控增加。
在医学图像中多裁剪在2D X射线数据中效果好,单在3D体积数据中不收敛,根源是有限的输入大小与三维空间中许多候选剪切体积之间的矛盾。们负担不起大尺寸的 3D 输入,因为使用 3D 深度模型处理它们通常会花费巨大的 GPU 内存。另一方面,如果我们过度减小 3D 输入的大小,采样视图将过于分散,无法保证模型捕获局部-全局关联。
下裁剪主要包括三个步骤:
(i)在IoU约束下随机裁剪两个广泛的全局视图;
(ii) 在裁剪的全局补丁上找到最小的 3D 边界框;
(iii) 在 3D 边界框中随机裁剪多个局部补丁。
下裁剪中有两个关键操作:IoU 对全局视图的约束和最小边界框内的局部补丁采样。在实践中,第一个操作通过确保大于固定阈值的大型补丁之间的重叠来保证全局-全局关联。第二个操作缓解了局部视图的分散问题,并帮助模型发现局部-全局关系。
训练目标
LTotal有三个术语:LR(g1,g2),LC(g1,g2)和∑ m∈{1,2} ∑ˆ N k=1 LC(lk,gm)。第一项旨在保留多尺度学习表示中的像素级细节。第二个术语解决了将多尺度语义编码为潜在特征的重要性。最后一个术语旨在捕捉多尺度的全球-局部语义关系。
LR是像素恢复任务的损失,LC是特征比较任务的损失,特征比较的损失是比较特征之间语义差异用的负的cos相似度,最后一项比较的全局和局部的语义差异。
总结
我认为读了这篇论文收获就是尺度信息、特征信息、像素信息这三个它进行了细致的描述比较,因为这三种信息对下游任务都很重要,所以它设计了多任务来对三种信息进行学习。多尺度信息相比于像素、特征信息比较模糊,它使用金字塔结构,每次选择一个尺度进行学习,很好解决了这个问题。为了更好地提取多尺度特征,防止网络学到捷径,改进了U-Net为nsU-Net。然后设计了非常巧妙的损失函数。
我学习到了一般网络分为特征提取和任务头两部分,不知道理解对不对,然后特征提取很重要,要让提取的特征有泛化性、有代表性,任务头设计如何获取相应任务结果的同时,要设计合适的损失函数。
展望:未来,将继续探索如何将不同类型的信息以最佳方式集成到SSL中。(论文中的)
相关文章:

【论文阅读】(2023TPAMI)PCRLv2
目录 AbstractMethodMethodnsU-Net中的特征金字塔多尺度像素恢复多尺度特征比较从多剪切到下剪切训练目标 总结 Abstract 现有方法及其缺点:最近的SSL方法大多是对比学习方法,它的目标是通过比较不同图像视图来保留潜在表示中的不变合判别语义ÿ…...
大数据学习(17)-mapreduce task详解
&&大数据学习&& 🔥系列专栏: 👑哲学语录: 承认自己的无知,乃是开启智慧的大门 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言📝支持一下博主哦ᾑ…...
HCIA --- DHCP服务、路由器、网络部署及基本配置
带宽计算公式: 速率 约等于 (带宽/8)*85% 网线分类: RJ-45双绞线 非屏蔽线 最佳距离100M; 民用 1000M/S 商用100000M/S 数字 光纤 光信号 RJ-11 电话线 模拟信号 同轴电缆 数字信号 光信号 数字信号--二进制 …...

手把手入门Node框架Egg.js
0.介绍 Egg.js 是一个面向企业级应用开发的 Node.js 框架,它建立在 Koa.js 之上,提供了一种更简单、灵活的开发方式。Egg.js 提供了一些默认约定和最佳实践,可以帮助开发者快速构建可靠、可扩展的应用程序。 基于 Koa.js:Egg.js …...

百度智能云推出,国内首个大模型全链路生态支持体系
在10月17日举行的百度世界2023上,百度智能云宣布,百度智能云千帆大模型服务平台已服务17000多家客户,覆盖近500个场景。 同时,新的企业和开发者还正在不断地涌入千帆,大模型调用量高速攀升。平台上既有年龄仅14岁的小…...

CUDA学习笔记(八)Branch Divergence and Unrolling Loop
Avoiding Branch Divergence 有时,控制流依赖于thread索引。同一个warp中,一个条件分支可能导致很差的性能。通过重新组织数据获取模式可以减少或避免warp divergence(该问题的解释请查看warp解析篇)。 The Parallel Reduction …...

Android MQTT连接阿里云使用Json解析数据
Android Studio 连接阿里云订阅主题然后使用JSON解析数据非常好用 导入MQTT的JAR包1、在项目中添加依赖然后使用Studio 去下载库2、直接下载JAR包,然后作为库进行导入 环境验证:给程序进行联网权限XML布局文件效果如下: MainActitive.java 主…...

生成二维码
Qt本地生成二维码-第三方库Libqrencode Chapter1 Qt本地生成二维码-第三方库Libqrencode一、功能简介二、本地生成二维码三、在线生成二维码 Chapter2 Qt生成二维码图片方法QRCode二维码简介如何选定QR码版本?主要方法(1) 下载qrencode源码(2) 将qrencode源码移植到…...

【C++入门 一 】学习C++背景、开启C++奇妙之旅
目录 1.什么是C2. C的发展史3. C的重要性3.1 语言的使用广泛度3.2 在工作领域1. 操作系统以及大型系统软件开发2. 服务器端开发3. 游戏开发4. 嵌入式和物联网领域5. 数字图像处理6. 人工智能7. 分布式应用 3.3 在校招领域3.3.1 岗位需求3.3.2 笔试题 4. 如何学习C4.1 别人怎么学…...

oracle 表空间详解以及配置操作
Oracle 数据库是由若干个表空间构成的。任何数据库对象在存储时都必须存储在某个 表空间中。表空间对应于若干个数据文件,即表空间是由一个或多个数据文件构成的。 1、常用表空间: 系统表空间 (system tablespace) 是每个 Oracle 数据库都必须具备的。…...
php判断是否是email格式
要判断一个字符串是否是有效的电子邮件地址,你可以使用正则表达式和PHP内置函数来完成。以下是一个示例代码: $email "exampleexample.com"; // 你要检查的电子邮件地址// 使用正则表达式检查电子邮件格式 if (filter_var($email, FILTER_VA…...

AJAX与JSON
1.AJAX 1.AJAX概述 AJAX(Asynchronous JavaScript And XML):异步的 JavaScript 和 XML 本身不是一种新技术,而是多个技术综合。用于快速创建动态网页的技术 一般的网页如果需要更新内容,必需重新加载个页面。 而 Ajax通过浏览器与服务器…...

1024常玩到的漏洞(第十六课)
1024常玩到的两个漏洞(第十六课) 漏洞扫描工具 1024渗透OpenVas扫描工具使用(第十四课)-CSDN博客 流程 一 ms12-020漏洞分析 MS12-020漏洞是一种远程桌面协议(RDP)漏洞。在攻击者利用该漏洞之前,它需要将攻击者的计算机连接到受害者的计算机上。攻击者可以通过向受害者计算…...
【Edabit 算法 ★★★★★★】【两个大整数相加】Recursion: Sum of Two Numbers (With A Twist!)
Recursion: Sum of Two Numbers (With A Twist!) Instructions This is an “expert” challenge!!! Why is a sum of two numbers an “expert” challenge!!! Well, the numbers can have 1000 digits or even beyond such count… So, what’s the twist? You have to do …...

电容屏物体识别手工制作
电容屏识别物体效果2 电容屏识别物体效果1 电容屏识别物体效果3 电容屏识别物体效果4 电容识别物理效果5 我们感兴趣的是找到让我们的平面屏幕与物理三维物体和表面交互的方法。 触摸屏无处不在,成千上万的应用程序中有多种设备和屏幕格式,但我们只找到…...
13JVM进阶
JVM内存模型 1、线程私有的数据区 1)、程序计数器 我们知道,线程是CPU调度的基本单位。在多线程情况下,当线程数超过CPU数量或CPU内核数量时,线程之间就要根据 时间片轮询抢夺CPU时间资源。也就是说,在任何一个确定的时刻&#…...

java与c++中的交换方法
最近在写算法的时候,遇到一个问题。 java中编写swap(交换)方法还需要传入一个数组,但是在c中则不需要。 可以看到,在没有传入数组进行交换数组元素的时候,交换前与交换后的值是一样的。 而在c中ÿ…...

OpenCV中world模块介绍
OpenCV中有很多模块,模块间保持最小的依赖关系,用户可以根据自己的实际需要链接相关的库,而不需链接所有的库,这样在最终交付应用程序时可以减少总库的大小。但如果需要依赖OpenCV的库太多,有时会带来不方便,此时可以使…...

IMX6ULL板开发——第一个应用程序
实现第一个应用程序:在IMX6ULL开发板上运行程序hello.c #include <stdio.h>/* 执行命令: ./hello weidongshan* argc 2* argv[0] ./hello* argv[1] weidongshan*/int main(int argc, char **argv) {if (argc > 2)printf("Hello, %s!\n", arg…...

MyBatis Generator - 快速生成 实体类 和 映射文件
目录 一、MyBatis Generator 的使用 1.1、生成类和映射文件 1.1.1、在 pom.xml 中引入依赖 1.1.2、根据 configurationFile 标签中配置的路径 创建 generatorConfig.xml 文件 1.1.3、自动生成类 和 映射文件 1.1.4、在 Insert 标签中添加获取主键值的选项 1.1.5、扫描配置…...

MCP架构深度解析:从基础原理到核心设计
💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 持续学习,不断…...

系统思考:经营决策沙盘
今年是我为黄浦区某国有油漆涂料企业提供经营决策沙盘培训的第二年。在这段时间里,我越来越感受到,企业的最大成本往往不在生产环节,而是在决策错误上所带来的长远影响。尤其是在如今这个复杂多变的环境下,企业面临的挑战愈发严峻…...

【Oracle】DCL语言
个人主页:Guiat 归属专栏:Oracle 文章目录 1. DCL概述1.1 什么是DCL?1.2 DCL的核心功能 2. 用户管理2.1 创建用户2.2 修改用户2.3 删除用户2.4 用户信息查询 3. 权限管理3.1 系统权限3.1.1 授予系统权限3.1.2 撤销系统权限 3.2 对象权限3.2.1…...
Go语言之空接口与类型断言
Go 语言中,接口是一种强大的抽象机制。其中,空接口(interface{})和类型断言为我们提供了处理任意类型与类型检查的能力。 一、空接口(interface{}) 空接口是 Go 中最特殊的接口:不包含任何方法…...

数据结构:线性表的基本操作与链式表达
个人主页 文章专栏 成名之作——赛博算命之梅花易数的Java实现 陆续回三中,忘回漏回滴滴~感谢各位大佬的支持 一.线性表的定义和基本操作 1.1定义 线性表是具有相同数据类型的n个数据元素的有序数列,n为表长 第一个元素叫表头元素,除了他…...

嵌入式编译工具链熟悉与游戏移植
在自己的虚拟机Ubuntu系统下,逐步编译 mininim源码(波斯王子重制开源版) 指令流程 sudo apt-get remove liballegro5-dev liballegro-image5-dev \liballegro-audio5-dev liballegro-acodec5-dev liballegro-dialog5-dev sudo apt-get install automak…...
pytest中的元类思想与实战应用
在Python编程世界里,元类是一种强大而高级的特性,它能在类定义阶段深度定制类的创建与行为。而pytest作为热门的测试框架,虽然没有直接使用元类,但在设计机制上,却暗含了许多与元类思想相通的地方。接下来,…...
React从基础入门到高级实战:React 高级主题 - 性能优化:深入探索与实践指南
React 性能优化:深入探索与实践指南 引言 在现代Web开发中,尤其是2025年的技术环境下,React应用的性能优化已成为开发者不可忽视的核心课题。随着用户对应用速度和体验的要求日益提高,React应用的规模和复杂性不断增加ÿ…...
OSG编译wasm尝试
最近遇到一个情况,需要尝试一下OSG到webassembly 发现官网有教程 于是顺着看了看,默认教程是xubuntu的一个系统跑的,但是我本着试一试的想法,拉下来直接在windows上跑,奇奇怪怪的报错简直头皮发麻 然后怎么办呢&#x…...
RAGFlow从理论到实战的检索增强生成指南
目录 前言 一、RAGFlow是什么?为何需要它? 二、RAGFlow技术架构拆解 三、实战指南:从0到1搭建RAGFlow系统 步骤1:环境准备 步骤2:数据接入 步骤3:检索与生成 四、优化技巧:让RAGFlow更精…...