在频域中进行图像任务.

通常在CPU上对高分辨率RGB图像进行预处理,然后将其传输到GPU中训练网络模型。由于RGB格式的未压缩图像通常较大,因此对CPUGPU交互时的通信带宽(communication bandwidth)的要求通常很高。为了降低计算成本和通信带宽需求,将高分辨率RGB图像先通过cropresize等手段下采样为固定尺寸(如$224×224$)的图像,这通常会导致信息丢失和推理精度降低。

作者提出了一种在频域中进行图像预处理的方法。首先在CPU中将图像通过离散余弦变换(DCT)得到频域中的表示,再通过通道选择去掉不重要的频率特征,将筛选后的频域特征作为输入传到GPU中训练网络模型。这种方法没有对输入图像引入噪声,保留了原图像的信息,并且通过频率选择对输入进行压缩,降低了交流带宽,在多种图像任务上都表现出较好的效果。

频域中的数据预处理

预处理流程如上图所示。首先空间领域中进行图像大小调整、裁剪和翻转。然后将图像转换为YCbCr空间,分别对三个通道进行离散余弦变换DCT转换为频域表示。将相同频率的二维DCT系数分组到同一个通道channel,形成三维DCT立方体。

由于输入特征的不同channel代表不同的频率,作者推测某些频率特征对后续任务(分类、检测、分割)更有益,删除不重要的频率特征不会导致性能下降。因此作者提出了一种基于学习的通道选择机制(类似于SENet中提出的SE-Block),该模块为每个channel计算一个取值为\(\{0,1\}\)的二进制重要性系数。通过通道选择减小输入数据的大小,从而降低域变换和通信带宽需求的计算复杂度。

最后将选定channel连接在一起以形成一个张量,通过从训练数据集计算出的均值和方差对每个channel进行归一化。

由于预处理后的频域特征通常空间尺寸较小,而通道数较大。因此在喂入卷积网络时不需要网络头部的卷积下采样,可以直接连接之后的特征提取部分:

实验结果

作者对不同频率的特征选择情况进行可视化(其中索引大小代表频率高低),得到如下结论:

作者将该方法应用于图像分类、目标检测和图像分割中,均提高了准确率: