在频域中进行图像任务.
通常在CPU上对高分辨率RGB图像进行预处理,然后将其传输到GPU中训练网络模型。由于RGB格式的未压缩图像通常较大,因此对CPU与GPU交互时的通信带宽(communication bandwidth)的要求通常很高。为了降低计算成本和通信带宽需求,将高分辨率RGB图像先通过crop、resize等手段下采样为固定尺寸(如$224×224$)的图像,这通常会导致信息丢失和推理精度降低。
作者提出了一种在频域中进行图像预处理的方法。首先在CPU中将图像通过离散余弦变换(DCT)得到频域中的表示,再通过通道选择去掉不重要的频率特征,将筛选后的频域特征作为输入传到GPU中训练网络模型。这种方法没有对输入图像引入噪声,保留了原图像的信息,并且通过频率选择对输入进行压缩,降低了交流带宽,在多种图像任务上都表现出较好的效果。
频域中的数据预处理
预处理流程如上图所示。首先空间领域中进行图像大小调整、裁剪和翻转。然后将图像转换为YCbCr空间,分别对三个通道进行离散余弦变换DCT转换为频域表示。将相同频率的二维DCT系数分组到同一个通道channel,形成三维DCT立方体。
由于输入特征的不同channel代表不同的频率,作者推测某些频率特征对后续任务(分类、检测、分割)更有益,删除不重要的频率特征不会导致性能下降。因此作者提出了一种基于学习的通道选择机制(类似于SENet中提出的SE-Block),该模块为每个channel计算一个取值为\(\{0,1\}\)的二进制重要性系数。通过通道选择减小输入数据的大小,从而降低域变换和通信带宽需求的计算复杂度。
最后将选定channel连接在一起以形成一个张量,通过从训练数据集计算出的均值和方差对每个channel进行归一化。
由于预处理后的频域特征通常空间尺寸较小,而通道数较大。因此在喂入卷积网络时不需要网络头部的卷积下采样,可以直接连接之后的特征提取部分:
实验结果
作者对不同频率的特征选择情况进行可视化(其中索引大小代表频率高低),得到如下结论:
- 与高频频道相比,低频频道的选择频率更高。这表明对于视觉推理任务,低频通道通常比高频通道含有更多信息;
- 与色度分量Cb和Cr中的频道相比,模型更频繁地选择亮度分量Y中的频道。 这表明亮度分量对于视觉推理任务更具参考价值;
- 热图在分类和分割任务之间共享公共模式。 这表明上述两个观察结果并非特定于某项任务,很可能对更高层次的视觉任务具有普遍性;
- 这些观察结果表明CNN模型表现出与人类视觉系统(HVS)类似的特征。
作者将该方法应用于图像分类、目标检测和图像分割中,均提高了准确率: