0
点赞
收藏
分享

微信扫一扫

软件工程学习笔记10——开发编码篇2

Learning in the Frequency Domain

论文链接:[2002.12416] Learning in the Frequency Domain (arxiv.org)

机构:阿里巴巴,亚利桑那州立大学

关键词:频域,CNN

参考文献:Xu K, Qin M, Sun F, et al. Learning in the frequency domain[C]//Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2020: 1740-1749.

代码链接:https://github.com/calmevtime/DCTNet

摘要

现有的神经网络主要在具有固定输入大小的空间域中操作。对于实际应用,图像通常很大,并且必须向下采样到神经网络的预定输入大小。尽管下采样操作减少了计算和所需的通信带宽,但它会明显地去除冗余和显著的信息,从而导致精度下降。在数字信号处理理论的启发下,论文从频率的角度分析了频谱偏差,并提出了一种基于学习的频率选择方法来识别可以在不损失精度的情况下去除的琐碎频率分量。在本文中,在频率域中对高分辨率图像进行reshape,即离散余弦变换(DCT),而不是在空间域中调整它们的大小,然后将reshape后的DCT系数提供给CNN模块进行推理

所提出的频域学习方法利用了通用的神经网络结构,如ResNet-50、MobileNetV2和Mask R-CNN,同时接受频域信息作为输入。实验结果表明,与传统的空间下采样方法相比,静态信道选择的频域学习可以获得更高的精度,同时进一步减小输入数据的大小。特别是对于具有相同输入大小的ImageNet分类,所提出的方法在ResNet-50和MobileNetV2上分别实现了1.60%和0.63%的前1级精度提高。即使输入大小为一半,所提出的方法仍将ResNet-50上的前1位精度提高了1.42%。此外,观察到Mask R-CNN的平均精度提高了0.8%,例如在COCO数据集上的分割。并且通过分析了频域中的图像分类、检测和分割任务,发现CNN模型对低频channel比对高频channel更敏感

Method

在这里插入图片描述

提出的通用频域学习方法,包括数据预处理和输入数据大小修剪方法。在传统方法中,高分辨率RGB图像通常在CPU上进行预处理,并传输到GPU/AI加速器以进行实时推断。由于RGB格式的未压缩图像通常很大,因此CPU和GPU/AI加速器之间的通信带宽要求通常很高。如图1(a)所示,这样的通信带宽可能是系统性能的瓶颈。为了降低计算成本和通信带宽要求,高分辨率RGB图像被下采样为更小的图像,这通常会导致信息丢失,从而降低推理精度。在提出的方法中,高分辨率RGB图像仍在CPU上进行预处理。但是,它们首先被转换为 YCbCr 色彩空间,然后被转换为频域。相同频率的所有分量都分组到一个channel中,这样,就生成了多个channels,某些频率channel对推理精度的影响比其他channel更大。因此,仅保留最重要的channel并将其传输到 GPU/AI 加速器进行推理。

对于现有的CNN模型,只需要删除输入 CNN 层并保留剩余的残差块。第一残差层用作输入层,并修改输入通道数以适合DCT系数输入的维度。因此,修改后的模型可以保持与原始模型相似的参数计数和计算复杂度。同时基于频域模型,提出了一种基于学习的channel选择方法来探索给定CNN模型的频谱偏差,即哪些频率分量对后续的推理任务更有信息性。

Data Pre-processing in the Frequency Domain

在这里插入图片描述

数据预处理流程如图2所示。遵循spatial域中的预处理和增强流程,包括图像大小调整、裁剪和翻转(spatial resize and crop)。然后将图像转换到YCbCr颜色空间,并转换到频域(DCT transformer)。将相同频率的二维DCT系数分组到一个通道中,形成三维DCT立方体(DCT reshape)。选择一个最有影响力的频率通道子集(DCT channel selsect)。YCbCr颜色空间中选定的通道连接在一起,形成一个张量(DCT concatenate)。最后,通过从训练数据集计算的均值和方差来归一化每个频率通道。

由于 JPEG 压缩标准在 YCbCr 色彩空间上使用 8 × 8 8×8 8×8 DCT 变换,因此将所有 8 × 8 8×8 8×8 块中相同频率的分量分组到一个通道中,在每个频率上保持它们的空间关系。因此,Y、Cb 和 Cr 分量中的每一个提供 8 × 8 = 64 8×8 = 64 8×8=64 个通道,每个频率一个,频域中共有 192 个通道。假设原始 RGB 输入图像的形状为 H × W × C H×W ×C H×W×C,其中 C = 3 C = 3 C=3,图像的高度和宽度分别表示为 H H H W W W。转换为频域后,输入特征形状变为 H / 8 × W / 8 × 64 C H/8×W/8×64C H/8×W/8×64C,保持相同的输入数据大小。
在这里插入图片描述

由于频域中的输入特征图在H和W维度上较小,但在C维度上比空间域对应部分大,因此跳过了传统CNN模型的输入层。如果 max-pooling 紧跟在输入卷积之后(例如,ResNet-50),同样也跳过 max-pooling 。然后调整下一层的通道大小以匹配频域中的通道数。如图 3 所示。这样,对现有的CNN模型进行了最小的调整,以接受频域特征作为输入。

Learning-based Frequency Channel Selection

在这里插入图片描述

由于输入特征的不同通道处于不同的频率,某些通道对后续任务(如图像分类、对象检测和实例分割)的信息较少,删除琐碎的频信道不会导致性能下降。因此,提出了一种基于学习的通道选择机制,以利用每个输入频率信道的相对重要性论文采用动态门模块,为每个频道分配二进制分数。显著通道的评级为 1,其他通道为 0。0分的输入频信道与网络分离。因此,输入数据量减小,从而降低了域转换的计算复杂性和通信带宽要求。

图 4 详细介绍了提出的门模块。输入的形状为 W × H × C W × H × C W×H×C C = 192 C = 192 C=192),具有 C 个频率通道(图 4 中的Tensor 1)。它首先通过平均池化转换为形状 1 × 1 × C 1 × 1 × C 1×1×C 的图 4 中的Tensor 2。然后,通过 1 × 1 1 × 1 1×1卷积层将其转换为形状为 1 × 1 × C 1 × 1 × C 1×1×C的图4中的Tensor 3。从Tensor 1 到Tensor 3 的转换与两层SE-Block 完全相同,它利用通道信息来强调信息特征并抑制琐碎特征。然后,通过将张量 3 中的每个元素与两个可训练参数相乘,将张量 3 转换为图 4 中形状为 1 × 1 × C × 2 1 × 1 × C × 2 1×1×C×2 的张量 4。在推理过程中,将张量 4 中 192 个通道中每个通道的两个数字归一化,并作为采样为 0 或 1 的概率,然后逐点乘以输入频率通道,得到图 4 中的Tensor 5。例如,如果Tensor 4 中第 i i i 个通道中的两个数字是 7.5 和 2.5,则第 i 个门被关闭的概率为 75%。换句话说,Tensor 5 中的第 i i i 个频率信道在 75% 的时间内全部变为0,这有效地阻止了该频率信道用于推理。如果需要更新门模块中的权重,伯努利采样过程是不可微分的。 因此,使用Gumbel Softmax,它允许梯度通过离散采样过程反向传播(参见图 4 中的 Gumbel sample)。

F F F 表示提出的门模块,对于每个频率通道 x i x _ { i } xi F ( x i ) ∈ { 0 , 1 } F ( x _ { i } ) \in \left\{ 0 , 1 \right\} F(xi){0,1},有:

F ( x i ) ≠ 0 , i . e . , F ( x i ) ⊙ x i ≠ 0 F ( x _ { i } ) \neq 0 , i . e . , F ( x _ { i } ) \odot x _ { i } \neq 0 F(xi)=0,i.e.,F(xi)xi=0

此外,在损失函数中添加了一个正则化项,该项平衡了所选频率通道的数量,该频率channel与交叉熵损失或其他与精度相关的损失一起最小化。因此,损失函数如下:

L = L A c c + λ ⋅ ∑ i = 1 C F ( x i ) L = L _ { A c c } + \lambda \cdot \sum _ { i = 1 } ^ { C } F ( x _ { i } ) L=LAcc+λi=1CF(xi)

其中 L A c c L _ { A c c } LAcc 是与精度相关的损失。 λ λ λ 是一个超参数,表示正则化项的相对权重。

Static Frequency Channel Selection

在这里插入图片描述

基于学习的通道选择提供了对每个通道重要性的动态估计,即不同的输入图像可能激活了不同子集的频率通道。为了了解频通道激活的模式,绘制了两张热图,一张在分类任务(图5a)上,一张在分割任务上(图5b)。每个框中的数字表示通道的频率指数,较低和较高的索引分别表示较低和较高的频率。热图值表示选择某个频道进行所有验证图像进行推理的可能性。

根据图 5 所示热图中的模式,进行了以下几点观察:

  • 低频通道(具有小索引的框)比选择高频通道(具有大索引的框)的频率要高得多。这表明,对于视觉推理任务,低频通道通常比高频通道提供更多信息

  • 亮度分量 Y 中的频率通道比色度分量 Cb 和 Cr 中的通道更频繁地选择。这表明亮度成分对于视觉推理任务的信息量更大

  • 热图在分类和分割任务之间共享一个共同的模式。这表明上述两个观察结果并非特定于一项任务,并且很可能适用于更高级的视觉任务

  • 有趣的是,一些较低频率的通道比稍高的频率通道具有更低的被选中概率。例如,在 Cb 和 Cr 中,这两个任务都偏向于通道 6 和 9,而不是通道 5 和 3。

这些观察结果表明,CNN模型可能确实表现出与HVS相似的特征,并且针对人眼的图像压缩标准(例如JPEG)也可能适用于CNN模型。JPEG 压缩标准为低频和亮度分量提供了更多位。遵循同样的原则,静态选择较低频率的通道,比色度分量更强调亮度分量。这确保了具有较高激活概率的频率通道被馈送到 CNN 模型中。其余的频率通道可以通过图像编码器或解码器进行修剪,以减少所需的数据传输带宽和输入数据大小。

实验

在这里插入图片描述
在这里插入图片描述

举报

相关推荐

0 条评论