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

news2024/11/28 22:00:05

论文阅读笔记: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 的消融实验。
在这里插入图片描述

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

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

相关文章

chatgpt的命令词

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 目录 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌…

Pycharm社区版搭建Django环境及Django简单项目、操控mysql数据库

Web应用开发&#xff08;Django&#xff09; 一、配置Django环境 1、先通过Pycharm社区版创建一个普通的项目 2、依次点击”file"-->"Settings" 3、点击"Project:项目名"-"Python Interpreter"-"号" 4、在搜索框输入要安装的…

解决方案︱视频孪生智慧高速解决方案

系统概述 在交通强国战略的指导下&#xff0c;我国政府高度重视以数字化为核心的智慧高速公路建设与发展。2023年9月&#xff0c;交通运输部印发了《交通运输部关于推进公路数字化转型加快智慧公路建设发展的意见》&#xff0c;强调到2035年&#xff0c;全面实现公路数字化转型…

高清视频+AI算法,EasyCVR视频智能监控方案打造无死角吸烟行为检测

一、背景与意义 1、吸烟危害&#xff1a;吸烟不仅有害健康&#xff0c;而且在特定场所带来的安全隐患极大。据统计&#xff0c;全年火灾事故中有五分之一系抽烟引起&#xff0c;引发的人员伤亡和财产损失巨大。 2、政策与法规&#xff1a;为了保护公共安全&#xff0c;消除消…

机器学习:人工智能的子领域之一

引言 人工智能&#xff08;AI&#xff09;已经成为现代科技的重要组成部分&#xff0c;推动了许多领域的创新与进步。在人工智能的诸多子领域中&#xff0c;机器学习&#xff08;ML&#xff09;无疑是最关键和最具影响力的一个。机器学习通过自动分析和学习数据中的模式&#x…

大数据技术学习回顾01-大数据的特点、技术体系(三驾马车)

参考来源&#xff1a; 极客时间专栏&#xff1a;从0开始学大数据&#xff0c;作者&#xff1a;李智慧 大数据技术整体概览 大数据技术体系 大数据处理的主要应用场景包括数据分析、数据挖掘与机器学习。数据分析主要使用 Hive、Spark SQL 等 SQL 引擎完成&#xff1b;数据挖…

【Python系列】Python 中的日期和时间处理

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

SSM家乡旅游网-计算机毕业设计源码04802

摘 要 随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技手段来提高自身的优势&#xff0c;SSM家乡旅游网当然也不能排除在外。SSM家乡旅游网是以实际运用为开发背景&#xff0c;运用软件工程开发方法&#xff0c…

U-Mail邮件系统全面支持信创国产化,打造自主可控的邮件系统

长期以来&#xff0c;中国IT产业的底层架构和标准多由国际巨头所主导&#xff0c;这不仅限制了本土技术的创新发展&#xff0c;同时也给国家安全带来了潜在的挑战。为了应对这一现状&#xff0c;我国正逐步构建起一套独立且安全的IT生态系统&#xff0c;旨在实现技术的自主可控…

论文学习day01

1.自我反思的检索增强生成&#xff08;SELF-RAG&#xff09; 1.文章出处&#xff1a; Chan, C., Xu, C., Yuan, R., Luo, H., Xue, W., Guo, Y., & Fu, J. (2024). RQ-RAG: Learning to Refine Queries for Retrieval Augmented Generation. ArXiv, abs/2404.00610. 2.摘…

快速上手SpringBoot

黑马程序员Spring Boot2 文章目录 1、SpringBoot 入门程序开发1.1 创建一个新的项目 2、浅谈入门程序工作原理2.1 parent2.2 starter2.3 引导类2.4 内嵌tomcat 1、SpringBoot 入门程序开发 1.1 创建一个新的项目 file > new > project > empty Project 创建新模块&a…

如何在 Vue 3 中使用 vue3-print-nb 实现灵活的前端打印

你好&#xff0c;我是小白Coding日志&#xff0c;一个热爱技术的程序员。在这里&#xff0c;我分享自己在编程和技术世界中的学习心得和体会。希望我的文章能够给你带来一些灵感和帮助。欢迎来到我的博客&#xff0c;一起在技术的世界里探索前行吧&#xff01; 前言 在前端开…

Linux中Web服务器配置和管理(Apache)

文章目录 一、WEB服务器介绍1.1、WEB服务器概述1.2、WEB服务器的发展历史1.3、WEB服务器的优点与缺点1.4、WEB服务器的工作流程 二、Apache介绍2.1、Apache是什么2.2、Apache的发展史与应用场景2.3、Apache的特点2.4、Apache的工作原理2.5、Apache的模块 三、安装使用Apache服务…

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

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

论文中引用网页链接的简单操作

一、参考资料 中文论文或者申请书中网页新闻引用格式 自制网页&#xff1a;在论文中快速引用网页链接 二、相关介绍 1. 常用文献类型用单字母标识 学术论文参考文献中文献类型字母标识 常用文献类型用单字母标识&#xff0c;具体如下&#xff1a; &#xff08;1&#xf…

自动控制理论---线性时不变系统的单位脉冲响应

1、实验设备 PC计算机1台&#xff0c;MATLAB软件1套。 2.实验目的&#xff1a; 学习并理解线性时不变系统的单位脉冲响应的计算方法。掌握MATLAB编程&#xff0c;计算整个系统的单位脉冲响应。 3.实验原理说明&#xff1a; 单位脉冲响应是指在输入信号为单位脉冲序列时&am…

【Java】内部类、枚举、泛型

目录 1.内部类1.1概述1.2分类1.3匿名内部类(重点) 2.枚举2.1一般枚举2.2抽象枚举2.3应用1&#xff1a;用枚举写单例2.4应用2&#xff1a;标识常量 3.泛型3.1泛型认识3.2泛型原理3.3泛型的定义泛型类泛型接口泛型方法 3.4泛型的注意事项 1.内部类 1.1概述 内部类&#xff1a;指…

高分文章发文圣体!一周80%二区以上 | GBD数据库周报(6.05~6.11)

全球疾病负担&#xff08;GBD&#xff09;是迄今为止规模最大、最全面的一项研究&#xff0c;旨在量化不同地区和不同时期的健康损失&#xff0c;从而改善卫生系统并消除差异。 该研究由华盛顿大学健康指标与评估研究所 (IHME) 牵头&#xff0c;是一项真正的全球性研究&#xf…

移动UI:小小工作台,竟然别有洞天(N多样式),上图了。

设计移动UI的工作台页面时&#xff0c;可以考虑以下几个方面&#xff1a; 布局设计&#xff1a;首先确定页面的布局&#xff0c;可以使用单栏、双栏或九宫格等等布局方式。布局应该简洁明了&#xff0c;方便用户快速找到需要的功能模块。功能模块&#xff1a;根据用户需求确定需…

Windows安装配置CUDA12.5

搞大模型往往都需要GPU加速&#xff0c;本次在家里的PC上安装CUDA来实现GPU加速。 一、环境准备 操作系统&#xff1a;Windows11 23H2 GPU&#xff1a;RTX 4070 Ti Super 显卡驱动&#xff1a;555.99 &#xff08;NVIDIA GeForce 驱动程序 - N 卡驱动 | NVIDIA&#xff09; …