基于BP神经网络的机器人图像压缩技术
2020-06-21蔡钟山
蔡钟山
(福建省特种设备检验研究院,福州 350008)
0 引言
图像信息数字化越来越多地应用在各行各业中,在视觉机器人中的应用尤为显著,视觉机器人通过图像采集并分析可以实现人脸识别、管道泄漏故障排查等重要功能。而图像数据采集技术面临的最大技术难题之一是海量图像数据的存储和数据传输的安全问题,而图像数据压缩技术是解决上述问题的重要技术关键[1]。图像压缩的原理和目的主要是为了减少压缩前图像中大量冗余的数据,在保证图像传输速度和质量的前提和条件下才能实现图像压缩。近年来,随着人工神经网络理论和云计算的进一步发展,人工神经网络在图像处理领域上的使用越来越成熟。尤其是BP(Back Propagation)神经网络,它是一种较为常用的网络结构,具有多层的前馈网络结构。本文提出一种基于BP神经网络的视觉机器人图像压缩技术,通过仿真试验选用合适的隐含层数可得到最优重建图像的质量,具有一定的工程用于价值。
1 图像压缩
图像压缩技术是现代多媒体及通信网络的关键技术之一,其步骤为变换、归一化和熵编码[2]。人工神经网络模仿人体神经系统的工作机理,近年来关于它的研究获得了很好的进展,已成为一种兴起的信息处理学科,在多个领域均有较好的应用,BP神经网络是其中最常用的模型之一。BP神经网络的鲁棒性高、容错性强,被用于图像压缩可以有效减少图像数据的存储量和数据率,最终可以减少传输带宽[2]。
图1 BP算法流程图
2 BP神经网络
BP神经网络算法过程如图1所示,先将特征量信息传输到输入层,输入层输出再经过隐含层后得到中间值,最终经输出层输出,同时计算各单元的实际输出。若系统期望输出层的实际输出值与网络期望输出值的误差值过大或超出范围,训练的次数在未达到最大训练次数的情况下,逐层递归准确地自动计算实际输出与网络期望输出的误差值,再根据此误差值自动调节3层网络之间的权值和偏置,直到实际网络输出值与期望值的输出误差满足系统的设定值或者训练次数达到最大训练次数,则网络自动停止训练[3]。
3 BP神经网络实现图像压缩
3.1 BP网络用于图像压缩的基本原理
本文选用收敛速度较快的3层BP神经网络,其应用于图像压缩的基本原理:将原始图像数据经网络输入层输出经网络隐含层得到压缩编码,压缩编码数据到达网络输出层后解码得到压缩图像数据。输入层与隐含层的加权值等同于图像编码器,隐含层与输出层加权值等同于图像解码器,通过不断重复调节网络的加权值,使得压缩后的图像与期望的图像的误差偏差值达到目标值,停止训练。BP神经网络的3层结构及编码解码过程如图2、3所示。
图2 用多层前馈神经网络实现数据压缩的基本思想
图3 采用BP网络进行数据压缩
图像压缩比=图像输入层的神经元数/图像隐含层的神经元数。在输入层神经元数不变的情况下,隐含层的神经元数越大,压缩比越小。
3.2 BP神经网络实现图像压缩
BP神经网络用于图像压缩所需的步骤如图4所示。
图4 BP神经网络图像压缩步骤
若将一幅图像的所有像素点都作为压缩网络的输入,所需的BP神经网络规模将很大,势必造成神经网络的训练时间长且无法收敛的结果。需要将图像进行划分,适当选择输入数据大小,构造合适的网络训练样本是前提条件。假设原始图像有N×N个像素点,为了减小输入图像的数据,划分成M个子图像,每个子图像由p×p的子像素块构成[5],如图5所示。再对像素进行归一化处理,得到训练样本。
图5 图像划分示意图(图像→图像子块→像素块)
训练学习算法分为快速和慢速算法两大类,其中慢速算法主要有梯度下降法,算法简单,但是收敛速度慢,影响图像传输速率;因此本文选用快速算法中的Levenberg-Marquardt算法[6],其优势在于收敛速度比较快,是目前为止BP神经网络训练算法中速度最快算法之一。
图像压缩质量评价一般分为主观评价和客观评价,本文选用客观评价体系,客观评价体系更贴近事实,非用肉眼观察。客观评价一般采用图像相似度SSIM和峰值信噪比PNSR,图像质量与图像相似度和峰值信噪比成正相关性。相似度的范围为0~1,当两张图像相似度越高时,SSIM的值越靠近1。峰值信噪比PNSR的单位是dB,其典型比值一般在30~40 dB,分贝值越大,重构图像的质量越好。
4 图像压缩MATLAB仿真
以某视觉机器人拍摄回来的图像为例,BP网络运用LM算法进行训练,设置训练样本数为500,输入网络神经元数ni=16,输出网络神经元数为nk=16,隐含层神经元数为n,设定网络的目标误差MSE为0.001。
在BP网络中,隐含层神经元数n的选择非常重要,本文针对不同隐含层神经元数1~16进行对比仿真,选出最优的隐含层神经元数,在图像质量较优的情况下提高压缩比。
如图6所示,隐含层神经元数为1时,训练500次无法收敛,MSE为0.004,无法达到目标误差值0.001。而隐含层神经元数为4时,在第8次就达到目标值,很快收敛。
图6 训练收敛代数Epoch与MSE关系图
隐含层神经元数n与MSE和训练时间关系以及与图像质量关系如图7、8所示,由图可知:
(1)当隐含层神经元数大于或等于4,MSE均能达到目标误差值0.001,都能实现收敛;
(2)当隐含层神经元数为1时,训练时间最长,无法满期望误差值,达到最大训练次数停止训练;
(3)当隐含层神经元数为4时,在未达到训练次数时先满足期望误差值,所以训练时间最短;
图7 隐含层神经元数n与MSE和训练时间关系
图8 隐含层神经元数n与图像质量关系
(4)经过对比16组仿真数据,隐含层神经元数为4时的压缩前后图像的相似度最高,达到92%;峰值信噪比最大为36.3 dB,图形质量最优,如图9所示。在保证图像质量的前提下,压缩比为4∶1,很好地将图像压缩,抑制图像噪声,有效提高图像传输速度和容错性[8]。
图9 隐含层神经元数为4时压缩前后的图像对比图
5 结束语
本文介绍BP神经网络在图像压缩中的应用,神经网络选用LM训练算法,通过仿真试验选用合适的隐含层数得到最优重建图像的质量。通过探讨隐含层神经元数对神经收敛时间和图像质量的影响,最终选出最优隐含层神经元数,既能满足图像质量,又能提高压缩比,有利于视觉机器人图像采集传输的实时性和鲁棒性,具有较好的工程应用价值。