基于部分离散余弦变换的卷积神经网络设计与分析*

2020-07-19 02:03狄恩彪徐光辉
通信技术 2020年7期
关键词:卷积尺寸神经网络

狄恩彪,徐光辉

(陆军工程大学研究生院,江苏 南京 210007)

0 引言

图像的存储格式种类繁多,其中JPEG 格式的图像因其压缩质量高,在图像传输和存储中具有重要地位。离散余弦变换(Discrete Cosine Transform,DCT)[1]常用于图像信息域转换,是JPEG 压缩技术的核心技术之一,并有快速算法支持。

当前的人工智能算法包括深度学习算法,其输入大都为灰度图像或者彩色图像。若图像资料为JPEG 格式或者其他压缩格式,则需要先解码还原图像,而后进行训练。若输入端为灰度图像,还需要将还原的彩色图进行灰度化。若可以直接利用DCT 的性质不需要完全解码,从JPEG 图像中提取DCT 后的YCbCr 通道信息,输入神经网络中进行训练,既可以节约反向DCT 的时间,又可以利用DCT 提取的特征进行训练,相当于一层特征提取层,从而压缩神经网络的深度,提高训练效率。同时,在硬件上进行边缘计算时同样具有高效率的优势。

近年来,国内外在基于DCT 域的卷积神经网络研究上取得较好成果[2-6],同时在基于JPEG 域的卷积神经网络研究方面也有一定进展[7-9]。通过完善基于DCT 域的目标识别网络,从而为高效的智能识别系统提供可参考的方案。

1 图像部分DCT

在JPEG 图像压缩算法中,基于DCT 的图像压缩编码过程为基本顺序过程,能使图像压缩获得较高的压缩比。DCT 是最小均方误差条件下的最佳正交变换。不同于傅里叶变换,DCT 的对象在实数域上,在图像信息处理中有一定优势。DCT 是傅里叶变换的特例,即傅里叶变换中无正弦项时,则退化为DCT。因此,DCT 同样具有实际物理意义,可用于简化傅里叶变换。它与傅里叶变换一样有快速算法,在图像压缩中应用广泛。二维DCT 的正变换公式为:

其中u=0,1,…,M-1,v=1,2,…,N-1,还有:

可以看到,变换后的每一个点与所有像素点有关,可以将其看作神经网络,以单通道图像为输入层,以DCT 后的信息为输出层,连接方式为全连接,权重均为余弦函数,每一点均可以看作原图像的一个特征值。DCT 可以表示为矩阵相乘的形式:

通过DCT 的矩阵形式,可以将变换分为行变换和列变换。DCT 后低频分量主要集中在矩阵左上角,高频分量集中在右下角。高频分量代表的是图像的细节,值偏小,往往接近0,是次要信息,而低频分量是图像的轮廓信息。因此,DCT 用于图像压缩,主要是舍弃高频分量,保留低频分量,从而达到压缩目的。虽然是有损压缩,但在清晰度要求不高的情形下,这种压缩的质量和效率完全满足要求。

生活中人眼分辨事物时对图像清晰度要求不高,可以利用部分DCT 的结果作为卷积神经网络学习的对象,如图像FM×NDCT 后只取左上角Tm×n的值作为特征输入。通常卷积神经网络输入为方阵,如果是非方阵的数据则通常补齐后再做DCT,重构后可以去掉补齐的部分,得到原始的图像信息。因此,令m=n,其部分DCT 公式为:

通过缩减变换矩阵的尺寸,对不必要计算的高频分量直接放弃计算,从而提高信息提取的效率。DCT 提取图像特征具有可逆性,完全DCT 后可以进行逆DCT 还原图像。部分DCT 进行逆变换可以得到原图像的模糊图像,DCT 核尺寸N越大,还原后的图像越清晰,越容易识别,见图1。

图1 不同尺寸DCT 核的图像复原能力

图像DCT 后的特征具有层次性,从DCT 后的矩阵中提取左上角任意尺寸的信息均能还原部分图像信息,只是清晰度受尺寸影响。因此,越靠近左上角的信息,特征越重要。例如,最左上角的值代表图像的均值,是图像重要的特征之一。从图1 可以看出,DCT 核为40%尺寸的部分DCT 后还原的图像,与原图相比损失84%的高频信息,图像清晰度仍与原图几乎无异。

2 基于部分DCT 的卷积神经网络设计

经典的卷积神经网络通常由输入层、卷积层、池化层、输出层组成,卷积核通常为3×3、5×5等大小不等,池化通常为2×2。通过卷积层和池化层交替进行特征提取,由于网络深度较大,训练时间往往较长。为了提高训练效率和边缘计算效率,当前有各种硬件加速方案。经典的神经网络在提高精度和效率的同时也加大了对硬件加速的依赖,对于如小型无人机等平台无法搭载额外过重的硬件,又对精度和实时性有一定要求,则必须降低网络深度,减少卷积次数。当前硬件前端拍摄的图片往往采用通过硬件转换成JPEG 流的方式进行存储和传输。充分利用JPEG 的优点,从中提取DCT 信息,既可提高传输效率,又可提高边缘计算效率,可以部分缓解硬件限制带来的困难。

固定尺寸的图片,它的DCT 矩阵是一致的,可以根据DCT 的特性设计成2 层神经网络结构,分别为DCT 行变换层和DCT 列变换层,网络结构见图2。

图2 前置部分DCT 神经网络结构

非JPEG 格式的图像均需输入前置的部分DCT神经网络,而JPEG 格式的图像或者数据流则直接绕过DCT,但需要部分解码,包括哈夫曼解码、反量化等步骤。由于DCT 可以极大地压缩数据,图像进行部分DCT 后节点减少数倍,可以减少卷积神经网络深度。同时,由于DCT 后图像特征并不是均匀分布,并不合适进行池化,因此以卷积层为主。网络结构见图3。

图3 基于DCT 的CNN 网络设计

3 Matlab 仿真实验与模型性能分析

以数据集MNIST 作为实验对象,探索不同尺寸的DCT 核对训练时间和精度的影响。网络中只设置了一层卷积层,卷积核为5×5,取6 个卷积核,学习率为1,分组大小为20,重复训练次数为10。通过仿真得到不同尺寸的DCT 核对网络收敛效率、模型精度和训练时间的影响,见图4 和图5。

图4 DCT 核尺寸对网络收敛的影响

图4 中,DCT 核的尺寸越大,模型在训练集上的误差越小,但收敛速度偏慢。主要原因是,在卷积核尺寸一定的情况下,DCT 核越大,则卷积后得到的特征图尺寸也越大。卷积层与输出层为全连接,因此需要调节的参数也越多,收敛偏慢,但更多的参数可以使误差更小。总体来看,重复训练4~5次后误差趋于稳定,重复训练带来的收益越来越少,可以考虑用earlystopping 提前结束训练,提高训练效率和缓解过拟合问题。

图5 中,DCT 核的尺寸越大,模型在测试集上的误差越小,泛化能力越强,同时训练时间增加,因此精度和效率需要折中选择。根据仿真结果,尺寸过小的DCT 核会导致误差太大,不予考虑;尺寸过大的DCT 核则训练时间偏长,收敛速度偏慢,也不予考虑。以MNIST 数据集为例,单张图像尺寸为28×28,DCT 核尺寸大于10 后,错误率在3%左右;DCT 核尺寸大于12 时,误差收敛速度较快,在1 次训练后训练误差均能降到10%以内。综合考虑,以尺寸为11 的DCT 核为优先考虑,即原图形尺寸的40%左右为佳。

图5 DCT 核尺寸对精度和训练时间的影响

以经典的CNN 网络为对照对象,选取尺寸为11 的DCT 核进行比较,分组大小都为20,重复训练次数均为10 次,卷积核均为5×5。其中,经典的CNN 网络采用GitHub 上的CNN 网络,2 层卷积层和2 层池化层。PC 硬件配置采用主频3.40 GHz 的Inter 处理器,64 位win10 操作系统,通过Matlab软件仿真得到结果,见表1。

通过比较,精度与经典CNN 相当,基于部分DCT 的CNN 在训练时间上具有明显优势,只有经典CNN 训练时间的1/16 左右,极大地提高了训练效率。

表1 经典CNN 与基于部分DCT 的CNN 的性能比较

测试集上的测试时间可以视作边缘计算的时间,测试时间的长短决定了单位时间内可以处理的图像数。测试时间越短,单位时间可以处理的图像数越多,模型的实时性也越好。通过比较,基于部分DCT 的CNN 其边缘计算效率是经典CNN 的20倍左右,相当于经典CNN 识别1 张图像的同时,基于部分DCT 的CNN 可以识别20 张图像。对于当前越来越大的数据量,高效的边缘计算非常重要。在精度要求相对宽松的场景下,基于部分DCT 的CNN 具有一定的应用场景。

4 结语

DCT 算法和CNN 的结合是新旧算法的碰撞,合理运用DCT 的特性,可以为CNN 性能的改善提供可行的方案。通过仿真实验,可以证明DCT 与CNN 结合的可行性,同时通过部分DCT 的方法兼顾算法效率和准确率,以图像尺寸的40%左右为较优DCT 核尺寸。建立以部分DCT 为前置网络的CNN,通过对比经典CNN,在准确率相当的前提下,极大地提高了训练效率和边缘计算效率。以40%图像尺寸的DCT 核为例,训练效率提高16 倍左右,边缘计算效率提高20 倍左右。

当前有多种标准如JPEG、MPEG、H.263 等均采用DCT 算法,通过直接提取DCT 后的系数用于CNN,或可提供不同的目标识别与检测方案。

猜你喜欢
卷积尺寸神经网络
基于递归模糊神经网络的风电平滑控制策略
CIIE Shows Positive Energy of Chinese Economy
基于3D-Winograd的快速卷积算法设计及FPGA实现
卷积神经网络的分析与设计
神经网络抑制无线通信干扰探究
从滤波器理解卷积
基于神经网络的中小学生情感分析
基于傅里叶域卷积表示的目标跟踪算法
D90:全尺寸硬派SUV
基于Q-Learning算法和神经网络的飞艇控制