论文阅读笔记:Cross-Image Relational Knowledge Distillation for Semantic Segmentation

论文阅读笔记:Cross-Image Relational Knowledge Distillation for Semantic Segmentation

  • 1 背景
  • 2 创新点
  • 3 方法
  • 4 模块
    • 4.1 预备知识
    • 4.2 跨图像关系知识蒸馏
    • 4.3 Memory-based像素到像素蒸馏
    • 4.4 Memory-based像素到区域蒸馏
    • 4.5 整体框架
  • 5 效果

论文:https://arxiv.org/pdf/2204.06986

代码:https://github.com/winycg/CIRKD

1 背景

本文在面向语义分割的高容量教师网络的指导下,研究KD以提高学生网络的性能。广泛的KD方法已经得到很好的研究,但主要用于图像分类任务。与图像级别的识别不同,分割任务针对的事更稠密的像素预测,更具挑战性。之前的研究发现,直接使用基于分类的KD方法来处理稠密预测,可能达不到理想的性能。

这是因为严格对齐教师和学生网络之间的粗略特征图可能会导致负约束,并忽略像素之间的结构化上下文。

最近提出用于语义分割的KD方法中,大部分都关注挖掘空间像素位置之间的相关性和依赖性,因为分割需要结构化的输出。这类方法在捕捉结构化的空间知识方面往往比传统的点对齐方式表现的更好。然而,以往的分割KD方法往往引导学生模仿教师从个体数据中产生的结构化信息,它忽略了利用像素之间的跨图像语义关系来传递知识,如图8所示。
在这里插入图片描述

基于这一动机,本文提出了跨图像关系知识蒸馏(Cross-Imge Relational Knowledge distillation,CIRKD)。其核心思想是构建跨整个训练图像的全局像素作为有意义的知识。一个好的预训练教师网络往往可以生成一个良好的像素嵌入空间,并捕获比学生网络更好的像素相关性。基于这个性质,作者将这种像素关系从教师转移到学生。具体来说,就是提出了像素到像素蒸馏和像素到区域蒸馏,以充分利用各种图像之间的结构化关系,前者旨在传递图像嵌入之间的相似性分布,后者侧重于转移与前者互补的像素到区域的相似性分布。区域嵌入通过平均池化来自同一类别的像素嵌入生成,并代表该类别的特征中心。像素到区域的关系表明像素和原类型之间的相对相似性。

如图1,具有相同颜色的圆表示来自同一图像的像素嵌入。 t i t_i ti s i s_i si 分别表示教师和学生图像中标记的第 i i i 个像素位置的像素嵌入。虚线表示两个像素之间的相似性关系。
在这里插入图片描述

2 创新点

(1)提出了跨图像关系知识蒸馏来传递全局像素关系。

(2)提出了像素到像素和像素到区域蒸馏的内存库机制,以充分探索用于传输的结构化关系。

(3)CIRKD在公共分割数据集上取得了最先进方法中最好的蒸馏性能。

3 方法

在这里插入图片描述

输入网络将教师网络的像素嵌入经过不同处理分别存储到在线像素队列和在线区域队列。同时,计算当前图像经过teacher和student的图像嵌入,和像素嵌入队列中采样的像素嵌入分别计算像素到像素的相似度矩阵,和在线区域队列采样的区域嵌入计算像素到区域的相似度矩阵,并进行对齐。

4 模块

4.1 预备知识

一个分割网络需要将图像中的每个像素从 C C C 类中分类到一个单独的类别标签。该网络可以分解为一个特征提取器和一个分类器。前者生成稠密特征图 F ∈ R H × W × d F∈R^{H × W × d} FRH×W×d,其中 H H H W W W d d d 分别表示通道的高度,宽度和数量。可以推理出沿空间维度的 H × W H × W H×W 像素嵌入。后者进一步将 F F F 转化为分类logit映射 Z ∈ R H × W × C Z∈R^{H × W × C} ZRH×W×C。传统的分割任务损失是使用交叉熵对每个像素及其真实标签进行训练:
在这里插入图片描述

其中 CE 表示交叉熵损失, σ \sigma σ 表示softmax函数, y h , w y_{h,w} yh,w 表示第(h,w)个像素。

一种直接的像素级分类概率蒸馏方法是将每个像素的类别概率分布从学生到对齐到教师,公式表示为:
在这里插入图片描述

这里 σ ( Z h , w s / T ) \sigma(Z_{h,w}^s/T) σ(Zh,ws/T) σ ( Z h , w t / T ) \sigma(Z_{h,w}^t/T) σ(Zh,wt/T) 表示学生和教师产生的第(h,w)个像素的软类别概率。 K L KL KL 表示KL散度, T T T 是温度,在之前的工作中 T = 1 T=1 T=1 是足够好的。

4.2 跨图像关系知识蒸馏

虽然式(1)(2)的训练目标被广泛应用于语义分割,但他们只独立处理像素级的预测,而忽略了像素之间的语义关系。一些分割KD方法试图通过像素亲和度建模来捕获空间关系知识。然而,这些KD方法只构建了单幅图像中像素之间的语义依赖关系。本文论证了跨图像关系知识对于基于师生模型的知识蒸馏也是有帮助的。

给定一个 mini-batch { x n } n = 1 N \{x_n\}^N_{n=1} {xn}n=1N,分割网络从 N N N 幅输入图像中提取N个结构化特征图 { F n ∈ R H × W × d } n = 1 N \{F_n∈R^{H×W×d}\}^N_{n=1} {FnRH×W×d}n=1N。通过 l2 归一化对 F n F_n Fn 中的每个像素嵌入进行预处理。为了便于记号,将 { F n ∈ R H × W × d } n = 1 N \{F_n∈R^{H×W×d}\}^N_{n=1} {FnRH×W×d}n=1N的空间维数重新定义为 { F n ∈ R A × d } n = 1 N \{F_n∈R^{A×d}\}^N_{n=1} {FnRA×d}n=1N,其中 A = H × W A = H × W A=H×W。对于第 i i i 幅图像 x i x_i xi 和第 j j j 幅图像 x j x_j xj i , j ∈ { 1 , 2 , ⋅ ⋅ ⋅ , N } i,j∈\{ 1,2,· · ·,N \} ij{12⋅⋅⋅N},可以计算跨图像两两相似度矩阵 S i j = F i F j T > j ∈ R A × A S_{ij} = F_iF_j^T > j∈R^{A × A} Sij=FiFjT>jRA×A。关系矩阵 S i j S_{ij} Sij 捕捉了像素间的跨图像成对相关性。

引导学生产生的成对相似性矩阵 S i j s S_{ij}^s Sijs 与教师产生的成对相似度矩阵 S i j t S_{ij}^t Sijt 对齐。蒸馏过程表述为:
在这里插入图片描述

其中, S i j ∣ a , : S_{ij|a,:} Sija,: 表示 S i j S_{ij} Sij 的第 a a a 行。通过softmax函数 σ \sigma σ S i j S_{ij} Sij 的每行相似度分布归一化为一个与温度 τ \tau τ 相关的概率分布。由于softmax归一化,学生网络和教师网络之间的数量级差异将被消除。 K L KL KL 散度用于对齐每一行的概率分布。对 N N N 幅图像中的每两幅图像进行像素到像素的蒸馏:
在这里插入图片描述

4.3 Memory-based像素到像素蒸馏

虽然mini-batch的蒸馏可以在一定程度上捕获跨图像关系,但由于分割任务的每个GPU的batch大小通常较小,例如1或2,因此很难从全局图像中建模依赖关系。为了解决这个问题,作者引入了一个在线像素队列,该队列可以在过去的mini-batch生成的存储库中存储大量的像素嵌入。这样就可以高效的检索到丰富的嵌入。

在密集分割任务重,每幅图像都会包含大量的像素样本,而同一目标区域的大多数像素往往是同质的。因此,存储所有像素可能会学习到冗余的关系知识,并减慢蒸馏过程。此外,将最后几个batch保存到队列中也可能会破坏像素嵌入的多样性。因此,作者使用了一个对类别敏感的像素嵌入队列 Q p ∈ R C × N p × d Q_p ∈ R^{C×N_p×d} QpRC×Np×d,其中 N p N_p Np 是每个类的像素嵌入个数, d d d 是嵌入大小。对于小批次图像中的每一幅图像,只随机采样一小部分 V V V,即 V < < N p V <<N_p V<<Np,将来自同一类别的像素嵌入推送到像素队列 Q p Q_p Qp 中,随着蒸馏的进行,队列在先进先出策略下逐步更新。

受论文《Seed: Self-supervised distillation for visual representation》在学生和教师网络之间采用一个共享的像素队列,并存储教师在蒸馏过程中产生的像素嵌入。给定图像 x n x_n xn ,学生网络和教师网络生成的像素嵌入分别为 F n s ∈ R A × d F_n^s∈R^{A×d} FnsRA×d F n t ∈ R A × d F_n^t∈R^{A×d} FntRA×d。对 F n s F_n^s Fns F n t F_n^t Fnt 的每个像素嵌入进行 L2归一化处理。将 F n s F_n^s Fns F n t F_n^t Fnt 作为锚点,从像素队列 Q p Q_p Qp 中随机采样 K p K_p Kp 个对比嵌入 { v k ∈ R d } k = 1 K p \{v_k∈R^d\}_{k=1}^{K_p} {vkRd}k=1Kp,这里采用类别平衡采样,因为来自不同类别的像素数通常符合长尾分布。为了方便表述,令 V p = [ v 1 , v 2 , … , v K p ] ∈ R K p × d V_p=[v_1,v_2,…,v_{K_p}]∈R^{K_p×d} Vp=[v1,v2,,vKp]RKp×d { v k ∈ R d } k = 1 K p \{v_k∈R^d\}_{k=1}^{K_p} {vkRd}k=1Kp 沿着行维度拼接。然后,将学生和教师的锚点和对比嵌入之间的像素相似度矩阵建模为 P s P^s Ps P t P^t Pt:
在这里插入图片描述

教师网络的像素相似度矩阵往往表现比学生网络更好。强迫学生的 P s P^s Ps 模仿教师的 P t P^t Pt 来惩罚差异。类似的,对 P s P^s Ps P t P^t Pt 每一行分布进行softmax归一化,并通过KL散度损失进行像素到像素的蒸馏。公式如下:
在这里插入图片描述

每次迭代后,将每类的 V 个教师像素嵌入推进像素队列 Q p Q_p Qp 中。

4.4 Memory-based像素到区域蒸馏

离散的像素嵌入可能无法完全捕捉图像内容。因此,作者又引入了一个在线区域队列,可以在内存库中存储大量更具代表性的区域嵌入。除了像素到像素的蒸馏,进一步构建像素到区域的蒸馏来建模全局图像中像素和类别区域嵌入之间的关系。每个区域嵌入表示图像中一个语义类的特征中心。通过平均池化单幅图像中属于 c c c 类的所有像素嵌入来构造 c c c 类的区域嵌入。

在蒸馏过程汇中保持一个区域队列 Q r ∈ R C × N r × d Q_r∈R^{C×N_r×d} QrRC×Nr×d,其中 N r N_r Nr 是每个类的区域嵌入个数, d d d 是嵌入大小,对于每一次迭代,从 Q r Q_r Qr 中进行类平衡采样 K r K_r Kr 个对比区域嵌入 { r k ∈ R d } k = 1 K r \{r_k∈R^d\}_{k=1}^{K_r} {rkRd}k=1Kr,为了方便表述,令 V r = [ r 1 , r 2 , … , r K r ] ∈ R K r × d V_r=[r_1,r_2,…,r_{K_r}]∈R^{K_r×d} Vr=[r1,r2,,rKr]RKr×d { r k ∈ R d } k = 1 K r \{r_k∈R^d\}_{k=1}^{K_r} {rkRd}k=1Kr 沿着行维度拼接。给定输入图像 x n x_n xn,将从像素嵌入 F n s ∈ R A × d F^s_n∈R^{A × d} FnsRA×d F n t ∈ R A × d F^t_n∈R^{A × d} FntRA×d 到区域嵌入 V r V_r Vr 建模为像素到区域的相似度矩阵 R s R^s Rs R t R^t Rt
在这里插入图片描述

与式(6)相似,通过KL -散度损失提取学生和教师网络之间的归一化像素-区域相似性矩阵:
在这里插入图片描述

对于每个小批次,将所有教师区域嵌入推入区域队列 Q r Q_r Qr

4.5 整体框架

整体框架如图2。损失函数上,采用传统的逐像素交叉熵损失 L t a s k L_{task} Ltask 和 类概率蒸馏损失 L k d L_{kd} Lkd 作为基础损失,总损失为:
在这里插入图片描述

其中, α , β , γ \alpha,\beta,\gamma α,β,γ 是权重系数。实验中设置 α = 1 , β = 0.1 , γ = 0.1 \alpha=1,\beta=0.1,\gamma=0.1 α=1,β=0.1,γ=0.1。当学生网络和教师网络的嵌入大小不匹配时,可以在学生网络上加入一个投影头,由两个 1×1 卷积层, ReLU 和 BN层组成,在推理时丢弃,不会引入额外推理成本。

CIRKD的整体训练pipeline如算法1。
在这里插入图片描述

5 效果

在CityScapes上的效果对比如表1。
在这里插入图片描述

在CamVid上的效果对比如表2。
在这里插入图片描述

在VOC上的效果对比如表3。
在这里插入图片描述

图3展示了单个类别IoU分数在学生网络上的表现。可以观察到,CIRKD比基线(w/o蒸馏)和CWD获得了更好的IoU得分,特别是那些IoU得分较低的类别。例如,在Wall上比baseline和CWD分别相对提升了10.4 %和9.4 %。
在这里插入图片描述

进一步的,图4可视化得展示了分割结果。
在这里插入图片描述

图5将CWD和CIRKD在学生网络上学习到的特征嵌入进行T-SNE可视化。与CWD相比,CIRKD训练的网络表现出结构良好的像素级语义特征空间。
在这里插入图片描述

表4为Loss项的消融实验。
在这里插入图片描述

表6为缓存队列大小的消融实验。
在这里插入图片描述

表7为超参 τ \tau τ ,像素嵌入和区域嵌入采样个数 K p , K r K_p, K_r Kp,Kr 的消融实验。
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Visual Studio Code远程linux计算云

一、前置条件 本机安装Visual Studio Code 打开Vscode时建议使用管理员权限打开&#xff0c;在这之前遇到了一些报错。 二、开始远程连接计算云 安装插件remote-ssh 2.点击远程资源管理器&#xff0c;之后在SSH这行的右侧&#xff0c;点击“”号&#xff0c;去新建远程 3.在窗…

CCAA质量管理【学习笔记】​​ 备考知识点笔记(二)

第三节 GB/T19001-2016 标准正文 本节为ISO9001:2015 标准条款的正文内容&#xff0c;各条款中的术语参照上节内容理解时&#xff0c;会很轻松。本节不再一一对各条款讲解。 引 言 0.1 总 则 采用质量管理体系是组织的一项战略决策&#xff0c;能够帮助其提高整体绩效…

进程的创建和管理

一. 实验内容 1&#xff0e; 编写一个程序&#xff0c;程序中创建一个子进程。然后父、子进程各自独立运行&#xff0c;父进程不断地在标准输出设备&#xff08;即显示器&#xff09;上输出字母p和回车&#xff08;输出30次或以上&#xff09;&#xff0c;子进程不断地在标准输…

iOS 18 中全新 SwiftData 重装升级,其中一个功能保证你们“爱不释手”

概览 在最新的 WWDC 2024 中&#xff0c;苹果对多个系统框架都做了重量级的功能升级。这怎么能够少了 SwiftData 这位“后起之秀”呢&#xff1f; 万象更新的 iOS 18 为 SwiftData 增加了全新的唯一性、自定义数据仓库、富表达式以及字段索引等超赞功能。 在本篇博文中&#…

植物大战僵尸杂交版 v2.0.88 mac版 Plants vs. Zombies 杂交版下载

特别注意&#xff1a;该游戏最低系统要求为macOS Sonoma 14.X&#xff0c;低于此系统版本的请勿下载&#xff01; 游戏介绍 植物大战僵尸杂交版是由B站UP主“潜艇伟伟迷”制作的一款结合了《植物大战僵尸》原有元素与创新玩法的游戏。这款游戏以其独特的“杂交”植物概念在B站…

提醒:网站使用微软雅黑字体的三种方式,两种侵权,一种不侵权。

大家都知道微软雅黑是windows系统的默认字体&#xff0c;但是不知道微软雅黑的版权归属方正字体&#xff0c;而且方正字体仅仅授权了微软在windows系统中使用该字体&#xff0c;脱离了windows使用&#xff0c;那是极易中招的&#xff0c;网页字体使用是前端开发的工作之一&…

H5拟态个人主页

文末有该项目的源码~ 这张图片的效果你是不是非常想要get同款&#xff1f; 源码就是这个样子 这段HTML代码构建了一个个人主页&#xff0c;结合了CSS样式和JavaScript功能。 下面是对代码的主要组成部分的详细解释&#xff1a; 基本结构 <!DOCTYPE html> 定义文档类型…

进来学习Kubernetes知识点

Kubernetes集群部署 文章目录 Kubernetes集群部署一、Kubernetes概述1.1、什么是Kubernetes1.2、为什么要用Kubernetes 二、Kubernetes组件2.1、Master组件2.2、Node组件 三、Kubernetes资源对象3.1、Pod3.2、Label3.3、Replication Controller3.4、Deployment3.5、Service3.6、…

数据库第一次实验报告

1. 使用 SQL 语句创建数据库 studentsdb。 2. 使用 SQL 语句选择 studentsdb 为当前使用数据库。 3. 使用 SQL 语句在 studentsdb 数据库创建数据表 student_info、curriculum、grade 4. 使用 SQL 语句 INSERT 向 studentsdb 数据库的 student_info、curriculum、grade 表插…

异常封装类统一后端响应的数据格式

异常封装类 如何统一后端响应的数据格式 1. 背景 后端作为数据的处理和响应&#xff0c;如何才能和前端配合好&#xff0c;能够高效的完成任务&#xff0c;其中一个比较重要的点就是后端返回的数据格式。 没有统一的响应格式&#xff1a; // 第一种&#xff1a; {"dat…

java:自定义注解,并使用【ImportBeanDefinitionRegistrar】动态加载

# 项目代码资源&#xff1a; 可能还在审核中&#xff0c;请等等。。。 https://download.csdn.net/download/chenhz2284/89432848 # 主项目 【pom.xml】 <groupId>com.chz</groupId> <artifactId>chzopen_study</artifactId> <packaging>pom…

嵌入式操作系统_4.任务管理

1.任务的概念 任务管理是嵌入式操作系统最基本功能之一&#xff0c;这里的任务&#xff08;task&#xff09;是指嵌入式操作系统调度的最小单位&#xff0c;类似于一般操作系统进程或线程的概念。任务是运行中的一个程序&#xff0c;一个程序加载到内存后就变成任务&#xff1…

InnoDB和MyISAM有什么区别?

InnoDB和MyISAM是MySQL中比较常用的两个执行引擎&#xff0c;MySQL在 5.5 之前版本默认存储引擎是 MyISAM,5.5 之后版本默认存储引擎是 InnoDB&#xff0c;MYISAM适合查询以及插入为主的应用&#xff0c;InnoDB适合频繁修改以及涉及到安全性较高的应用。 如果应用需要高度的数…

如果给电商系统颜值搞排名,我觉得淘宝千牛系统是天花板了。

淘宝的商家操作界面-千牛系统经过多年的迭代&#xff0c;无论从颜值上、功能上还是用户体验上都是行业天花板的存在&#xff0c;我截图软件上的一些图给大家分享下。

AirPlay技术规范及认证资讯

AirPlay是Apple开发的一种无线技术&#xff0c;允许用户将音频、视频或图片从iOS设备、Mac电脑或其他支持AirPlay的设备无线传输到支持AirPlay的接收器设备上&#xff0c;例如智能电视或音响系统。这项技术基于Wi-Fi网络&#xff0c;提供了一种便捷的方式来共享媒体内容。AirPl…

模型 POA行动

说明&#xff1a;系列文章 分享 模型&#xff0c;了解更多&#x1f449; 模型_思维模型目录。让目标凝聚伙伴&#xff0c;伙伴共创方法&#xff0c;加速实现愿景&#xff0c;可谓是行动力的“飞轮效应”。 1 POA行动模型的应用 1.1 POA模型在非营利组织&#xff08;NGO&#x…

算法day31

第一题 542. 01 矩阵 本题本来求解的是每一个1到0的最短距离并返回到矩阵之中&#xff1b; 我们采用正难则反的思路&#xff0c;将其化解为每一个0到每一个1的最短距离&#xff0c;并通过矩阵来返回&#xff1b; 解法&#xff1a;多源bfs正难则反 步骤一&#xff1a; 定义一个…

PDF标准详解(三)—— PDF坐标系统和坐标变换

之前我们了解了PDF文档的基本结构&#xff0c;并且展示了一个简单的hello world。这个hello world 虽然只在页面中显示一个hello world 文字&#xff0c;但是包含的内容却是不少。这次我们仍然以它为切入点&#xff0c;来了解PDF的坐标系统以及坐标变换的相关知识 图形学中二维…

利用Cesium和JS实现地点点聚合功能

引言 在实现基于地图的业务场景时&#xff0c;当地图上需要展示过多的标记点时&#xff0c;大量的分散点会使地图上显得杂乱无章&#xff0c;导致标记点对地图上的其他重要信息造成遮挡和混淆&#xff0c;降低地图整体的可读性。 标记点的聚合就很好的解决了这些痛点的同时&a…

线性规划问题——单纯形算法

第一步&#xff1a;化“约束标准型” 在每个等式约束中至少有一个变量的系数为正&#xff0c;且这个变量只在该约束中出现。在每个约束方程中选择一个这样的变量称为基本变量。 剩下变量称为非基本变量。 一个简单的栗子 上图是一个约束标准型线性规划的例子。 等式1&#x…