UniDistill:A Universal Cross-Modality Knowledge Distillation Framework for 3D Object Detection...

UniDistill提出了一种在BEV空间进行知识蒸馏的方法,用于3D目标检测,解决了不同模态输入导致的特征不匹配问题。方法包括在低级和高级特征以及预测头上进行蒸馏,利用目标边界点和高斯掩模进行更聚焦的蒸馏,同时通过adapter层缓解错误信息传递。实验表明这种方法能有效提升学生网络的性能。
部署运行你感兴趣的模型镜像

参考代码:UniDistill

1. 概述

介绍:这篇文章为BEV下3D目标检测领域提出了一种知识蒸馏方案,无论是Lidar还是Camera作为数据输入,它们均可以在BEV空间下实现特征对齐,则可以不用考虑前级网络由于不同模态输入而导致特征不匹配问题。对于刚完成到BEV视角转换的特征称为low-level特征,经过BEV编码器之后得到high-level特征,之后检测任务才能在high-level上得到感知结果。这篇文章的具体方法便是在上数BEV涉及的3个维度进行特征蒸馏,具体是通过在目标上采点和使用高斯掩膜实现蒸馏,采点的好处是对目标的scale鲁棒,高斯掩膜的好处是蒸馏更加聚焦。

2. 具体方法

2.1 整体结构和思路

下图展示了文章算法的大体蒸馏思路:
在这里插入图片描述
可以看到文章方法进行知识蒸馏的维度都是在BEV特征下完成的,对应到上图便是在low-level、high-level和预测头部分实现特征蒸馏。在说明具体蒸馏方法之前需要明确如下问题:

3D目标特征蒸馏思路:
对于个3D目标其位置在BEV特征图下是固定的,则忽略目标的高度信息,则可以在BEV的XY平面上得到一个矩形区域,则以该矩形4定点+4边中点+1中心点可以构建由9个点描述的检测目标。对于蒸馏的区域是选择在前景区域,而不会对噪声很大的背景区域也选择蒸馏。对于前景区域按照9个点描述可以避免目标大小影响蒸馏偏向性,从而导致小目标蒸馏效果差。

教师网络性能拉垮时的处理:
万一教师网络在某些case上性能拉垮导致传递错误信息给学生网络,对此通过在学生网络对应特征输出部分添加一层卷积作为adapter,这样缓解错误信息引导,这个机制会在low-level和high-level的时候使用。

2.2 具体蒸馏方法

low-level特征蒸馏:
对于adapter之后的特征(目标边界上的9个点组成)采用L1损失的方式进行蒸馏:
L f e a = 1 9 ∑ i = 1 9 ∣ F M T l o w ( x i , y j ) − F M S l o w ( x i , y j ) ∣ L_{fea}=\frac{1}{9}\sum_{i=1}^9|F_{MT}^{low}(x_i,y_j)-F_{MS}^{low}(x_i,y_j)| Lfea=91i=19FMTlow(xi,yj)FMSlow(xi,yj)

high-level特征蒸馏:
high-level比low-level包含了更多的上下文信息,则直接使用L1损失已经不太合适,则这里采用9个点之间构建特征关联矩阵 R e l M a t ∈ R 9 ∗ 9 RelMat\in R^{9*9} RelMatR99来进行描述:
R e l M a t i , j M S = Φ ( F M S h i g h ( x i , y i ) , F M S h i g h ( x j , y j ) ) RelMat_{i,j}^{MS}=\Phi(F_{MS}^{high}(x_i,y_i),F_{MS}^{high}(x_j,y_j)) RelMati,jMS=Φ(FMShigh(xi,yi),FMShigh(xj,yj))
其中, Φ \Phi Φ代表余弦相似度。得到教师和学生网络的特征关联矩阵之后便是需要最小化这俩矩阵的差异:
L R e l = 1 81 ∑ 1 ≤ i , j ≤ 9 ∣ R e l M a t i , j M S − R e l M a t i , j M T ∣ L_{Rel}=\frac{1}{81}\sum_{1\le i,j\le9}|RelMat_{i,j}^{MS}-RelMat_{i,j}^{MT}| LRel=8111i,j9RelMati,jMSRelMati,jMT

感知头部分蒸馏:
感知头部分具有分类和回归两个任务,首先对于回归部分求去分类概率最大的分类特征表达:
F m a x c l s ( i , j ) = max ⁡ 1 ≤ k ≤ C F c l s ( i , j , k ) F_{max}^{cls}(i,j)=\max_{1\le k\le C}F^{cls}(i,j,k) Fmaxcls(i,j)=1kCmaxFcls(i,j,k)
这个特征与回归分支的特征concat起来得到心的特征表达 F M T r e s p F_{MT}^{resp} FMTresp,之后感知头部分的蒸馏便是在这个维度上做的。不过相比之前点采样的方式进行蒸馏,这里采用一个高斯掩膜的方式重点关注目标区域:
L R e s p = ∑ 1 ≤ i ≤ H , 1 ≤ j ≤ W ∣ F M T r e s p ( i , j ) − F M S r e s p ( i , j ) ∣ ∗ M a s k ( i , j ) L_{Resp}=\sum_{1\le i\le H,1\le j\le W}|F_{MT}^{resp}(i,j)-F_{MS}^{resp}(i,j)|*Mask(i,j) LResp=1iH,1jWFMTresp(i,j)FMSresp(i,j)Mask(i,j)
最后蒸馏部分的损失便是上面几个损失的组合了。上面这仨项对蒸馏效果的影响:
在这里插入图片描述

3. 实验结果

在这里插入图片描述

您可能感兴趣的与本文相关的镜像

Yolo-v8.3

Yolo-v8.3

Yolo

YOLO(You Only Look Once)是一种流行的物体检测和图像分割模型,由华盛顿大学的Joseph Redmon 和Ali Farhadi 开发。 YOLO 于2015 年推出,因其高速和高精度而广受欢迎

### FCMNet:频率感知跨模态注意力机制在RGB-D显著性目标检测中的实现与应用 FCMNet(Frequency-aware Cross-modality Attention Networks)是一种专门针对RGB-D显著性目标检测设计的深度学习网络。该网络通过引入频率感知跨模态注意力机制,能够有效融合RGB和深度信息,从而提升显著性目标检测的性能[^1]。 #### 1. 频率感知跨模态注意力机制的核心思想 频率感知跨模态注意力机制的主要目的是解决RGB和深度模态之间的异构性问题。它通过以下方式实现: - **频率分解**:将输入的RGB和深度图像分别分解为低频和高频部分,以捕捉不同尺度的特征[^2]。 - **跨模态对齐**:利用注意力机制对齐两种模态的特征表示,确保RGB和深度信息能够在语义上保持一致[^3]。 - **动态权重调整**:根据任务需求动态调整不同频率分量的重要性,使得模型能够自适应地聚焦于关键区域[^4]。 #### 2. FCMNet的网络结构 FCMNet的整体架构由以下几个模块组成: - **多尺度特征提取**:基于卷积神经网络(CNN)提取RGB和深度图像的多层次特征[^5]。 - **频率分解模块**:通过傅里叶变换或小波变换等方法分解特征图的频率成分[^6]。 - **跨模态注意力模块**:结合软注意力机制(Soft Attention Mechanism)实现RGB和深度模态间的交互[^7]。 - **融合与预测**:将经过处理的特征进行融合,并生成最终的显著性图[^8]。 #### 3. 实现细节 以下是FCMNet中频率感知跨模态注意力机制的一个简化实现示例: ```python import torch import torch.nn as nn import torch.fft as fft class FrequencyAwareCrossModalityAttention(nn.Module): def __init__(self, in_channels): super(FrequencyAwareCrossModalityAttention, self).__init__() self.conv = nn.Conv2d(in_channels * 2, in_channels, kernel_size=1) def forward(self, rgb_features, depth_features): # Frequency decomposition rgb_freq = fft.fftn(rgb_features, dim=(-2, -1)) depth_freq = fft.fftn(depth_features, dim=(-2, -1)) # Concatenate and apply attention combined = torch.cat([rgb_freq, depth_freq], dim=1) attention_weights = self.conv(combined) # Reconstruct features attended_rgb = rgb_freq * attention_weights attended_depth = depth_freq * attention_weights return fft.ifftn(attended_rgb, dim=(-2, -1)), fft.ifftn(attended_depth, dim=(-2, -1)) ``` #### 4. 应用场景 FCMNet及其频率感知跨模态注意力机制在以下领域具有广泛应用: - **机器人视觉**:帮助机器人更准确地识别环境中的目标物体[^9]。 - **增强现实**:通过实时检测显著性目标提升用户体验[^10]。 - **医疗影像分析**:用于多模态医学图像的配准与分割任务[^11]。 ### 注意事项 尽管FCMNet在RGB-D显著性目标检测任务中表现出色,但在实际应用中仍需注意以下几点: - 数据预处理的重要性:RGB和深度图像的分辨率、光照条件等因素可能影响模型性能[^12]。 - 模型复杂度:由于引入了频率分解和注意力机制,模型的计算成本较高,需在精度和效率之间找到平衡点[^13]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值