【论文阅读】(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、扫描配置…...
3个实战技巧深度解析百度网盘链接:Python工具实现高速下载的完整指南
3个实战技巧深度解析百度网盘链接:Python工具实现高速下载的完整指南 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 百度网盘解析工具是一款基于Python开发的开源…...
告别龟速仿真:VCS后仿性能优化实战,从编译选项到环境配置的5个技巧
VCS后仿性能优化实战:5个关键技巧提升仿真效率 芯片验证工程师最头疼的莫过于漫长的后仿真等待时间。我曾负责一个千万门级SoC项目的验证工作,某次后仿真竟然连续运行了72小时仍未完成——这种经历让我深刻意识到性能优化的重要性。本文将分享从编译选项…...
终身学习 Agent:积累知识、不遗忘、可进化
文章目录前言一、先搞懂:传统Agent vs 终身学习Agent,差在哪?1.1 普通AI Agent,到底是什么?1.2 终身学习Agent,核心优势是什么?二、终身学习Agent核心:四大底层逻辑,小白…...
C语言到底能干啥我列举了8种经典案例
C语言还没死,大家都说它老了,可为啥啥都绕不开它。 我最近翻了好多资料,也问了几个做嵌入式和内核的朋友,不是他们懒,不想换新语言,而是换不了——有些地方,真没得选。 比如Linux内核࿰…...
告别死板界面!Nanbeige 4.1-3B Streamlit WebUI极简版,一键搭建二次元对话助手
告别死板界面!Nanbeige 4.1-3B Streamlit WebUI极简版,一键搭建二次元对话助手 1. 引言:当极简设计遇上AI对话 如果你曾经尝试过本地部署大语言模型的Web界面,可能会被那些拥挤的侧边栏、死板的方形头像和单调的聊天气泡劝退。传…...
为什么82%的团队停用Copilot?——代码熵值暴涨背后的度量盲区(含实时熵监控看板+生成策略调优SOP)
第一章:为什么82%的团队停用Copilot?——代码熵值暴涨背后的度量盲区(含实时熵监控看板生成策略调优SOP) 2026奇点智能技术大会(https://ml-summit.org) 当Copilot在PR中批量注入语义模糊的边界条件处理、重复的错误包装层和隐式…...
C语言能做什么?系统编程和嵌入式开发
有这样一种编程语言叫C语言,它是通用的,其应用范围那可是相当广泛,能用来开发各种不同类型的应用程序。C 语言具备高效的特性,并有着灵活的特质,还拥有可移植的特点,它属于底层系统编程的主流语言当中之一&…...
别只调API!深入理解ESP32 BLE安全的三个阶段:配对、绑定与加密到底在干啥?
别只调API!深入理解ESP32 BLE安全的三个阶段:配对、绑定与加密到底在干啥? 当你用ESP32开发BLE应用时,是否遇到过这样的场景:设备配对时突然失败,绑定后密钥莫名其妙丢失,或者加密链路时断时续&…...
WSL Ubuntu 24.04 GPU 加速环境完整安装指南
WSL Ubuntu 24.04 GPU 加速环境完整安装指南 环境版本总览 软件版本说明Ubuntu24.04.4 LTSWSL2Python3.12.3系统自带NVIDIA 驱动595.79Windows 主机驱动nvidia-utils590.48.01WSL 内 nvidia-smi 工具CUDA Toolkit13.2.78 12.9.86双版本共存(可选)cuDN…...
如何用pROC包一键生成高颜值ROC曲线图
1. 为什么你需要pROC包来画ROC曲线 第一次接触ROC曲线时,我完全被那些专业术语搞晕了。TPR、FPR、AUC...这些缩写看起来就像天书。直到我在医学研究中需要评估肿瘤标志物的诊断效果时,才发现pROC包简直是救命稻草。 传统的ROC曲线绘制方法需要手动计算每…...
