APP下载

基于改进图像块分类算法的图像压缩方法

2021-08-05高义斌赵亚宁

测试技术学报 2021年4期
关键词:压缩算法子块均方

俞 华,韩 钰,牛 彪,高义斌,赵亚宁

(1. 国网山西省电力公司 电力科学研究院,山西 太原 030001; 2. 重庆大学 电气工程学院,重庆 400044;3. 国网山西省电力公司,山西 太原 030021)

图像传输技术在众多的信息通信方法中已成为重要的通信技术,但由于图像信息巨大的数据量,造成数据传输时极其占用传输带宽,最终导致图像传输和保存也存在诸多问题. 因此,为了有效利用现代通信网络和存储设备空间,无论是图像数据传输还是存储,都要求对图像数据进行压缩处理.

图像压缩主要分为两类: 一类是能完整还原数据的无损压缩; 另一类是会丢失部分数据且无法恢复的有损压缩[1]. 前者通过图像数据的统计冗余特点,全部恢复图像原来的数据而不引起失真,但由于图像特征变化不一、压缩数据统计冗余度理论的限制等,导致该方法在图像压缩比上很难控制到很低; 后者是一种解压缩数据与原来图像数据有差异却又非常近似的压缩方法,该方法利用了人眼对图像中某些因素不敏感的特点,虽然在压缩过程中损失一些不影响人眼对原始图像理解的图像信息,但是可以获得更大的压缩比. 由于图像有损压缩技术可以有选择地在相应于需求场合掌控其压缩比,因此,在当前图像压缩技术中得到广泛应用. 随之,一些新型的图像压缩算法也不断被提出,如基于小波变换、小波包分解、神经网络的图像压缩算法等[2-6].

基于神经网络的图像压缩算法很好地利用了神经网络输入层与隐含层之间的映射关系实现了图像压缩,并且利用神经元群体间的复杂计算关系将隐含层的压缩数据集充分还原到接近于压缩前的状态,并通过输出层输出. 误差反向传播BP(Back Propagation)神经网络是多层前馈神经网络的一种,由于其具有强大的非线性拟合和自学习能力,因此常用于函数逼近、分类识别和压缩等工程领域[7]. 在BP神经网络算法方面,重点通过提升神经网络的收敛速率与泛化本领等方法,研究了改进的BP神经网络算法并将其应用于图像压缩[8,9]; 然而在上述整个研究中对整幅图像仍然采用的是统一压缩法,因此,其图像重要细节的保持能力仍需提高. 文献[10]提出了基于BP神经网络的图像块分类算法,通过图像块的均方误差将图像分类为平滑块、目标块和边缘块; 文献[11] 则在文献[10]的基础上进行了改进,同样是将一幅图像分类为平滑块、目标块和边缘块 3大类图像块,在对各种图像子块选用不同的隐含层压缩节点数时考虑了各类图像子块的灰度变化特性、边缘特性等特点,最终在各类子块对应的隐含层数分别为2, 4, 8的情况下进行实验,实现了14.785%的压缩比,相对于原始BP神经网络提高了6.785%. 综上所述,现有研究虽然对图像块分类及分类参数的确定上给出了很好的解释,对边缘子块进行了处理,但是无法实现边缘子块的无损压缩,导致图像重要细节信息的损失,压缩比有待进一步提高,因此,对于图像压缩分类算法边缘子块的处理的进一步研究,仍然具有非常重要的意义.

本文将重点研究基于BP神经网络改进的图像压缩分类算法,该算法中各参数的取值是在对图像块均方误差和图像块分布特征科学分析的基础上进行的,同时对边缘块采取不压缩而直接保存到压缩数据的方法. 实验表明,本文提出的改进图像压缩分类技术,不但节省了图像压缩的运行时间,而且其峰值信噪比(PSNR,Peak Signal to Noise Ratio)及图像细节保持能力都得到很大改善,并且也可根据不同的特殊需求调整算法参数,实现对压缩率和细节保持能力的一个很好的控制和取舍.

1 图像块分类改进方法

BP神经网络完成图像压缩,其核心原理是通过其强大的从输入层到隐含层再到输出层的非线性映射关系,然而仅简单利用该神经网络对整幅图像进行统一压缩后,易导致图像的某些细节也被压缩掉,从而损失掉了这些细节部分,而且图像重建效果并不理想. 鉴于此,本文根据图像子块的均方误差的分布特征,将图像块划分成较为合理的3种图像子块. 首先,计算整幅图像的均方误差; 其次,利用该值作为一个判断阈值,将图像的细节部分数据(边缘子块)分类出来,对此细节部分数据进行不压缩处理; 最后,根据图像子块的均方误差的分布特征来分类目标块和平滑块,对目标子块进行一般程度压缩,对平滑子块进行深度压缩. 改进的图像块分类算法主要过程如图 1 所示. 由于BP神经网络算法是十分成熟的技术,本文不做相关描述.

图 1 改进的分类算法分类流程图Fig.1 lassification flow chart of improved classification algorithm

1.1 划分边缘子块

在划分图像块时需要根据整幅图像特征分布进行合理划分,通常使用图像的均方误差表示图像特征分布. 每个图像子块都属于整幅图像的一部分,一个图像子块的特征完全不能反映该图像的特征,但该图像的某些特征值却能间接反映该图像某些子块的分布特征. 就整幅图像的均方误差而言,如果整幅图像的均方误差很大,则表明该幅图像的某些子块特征变化必定很剧烈. 反之,则变化较缓慢. 为了探讨整幅图像的特征分布,首先定义式(1)计算各个图像子块的均值

(1)

式中:K为图像子块的行或列的大小;I为某一个像素点的像素值.

由此,计算出图像子块的均方误差

(2)

同样,可以计算出整幅图像的均方误差

(3)

式中:M和N分别是整幅图像的行和列的大小.

整幅图像的均方误差可以反映出该幅图像的整体波动情况,因此,把整幅图像的均方误差作为分类规则中的一个分类指标,凡是图像块的均方误差大于该分类指标的,将其视为图像的细节部分(边缘块),并且对于该部分数据不进行压缩处理,直接保存到压缩数据集,这样在解码的时候再将该部分数据还原,便可以达到保存图像细节的目标. 在划分边缘子块时,设定FIMSE为分类阈值,当SMSE>FIMSE时,将这样的图像子块统一视为边缘子块.

1.2 划分平滑块与目标块

1.2.1 图像子块MSE分布特征

通过计算多幅图像的图像块均方误差发现,图像块均方误差的分布特征基本服从幂函数分布. 如图 2 所示的图像Lena,其图像块均方误差同样也服从幂函数分布.

另一方面,通过描绘如图 3 所示的图像块均方误差值分布直方图可知,图像块均方误差值的分布规律也基本呈一个均方误差值逐渐减小的幂函数分布,大部分图像块均方误差值很小,说明图像的平滑块占主体,其次是目标块,边缘子块最少.

图 2 图像块均方误差分布情况Fig.2 Mean square error distribution of image blocks

图 3 不同均方误差值图像块的数量分布Fig.3 Quantity distribution of image blocks with different mean square error values

此外,可以通过MATLAB中直方图结构提取出直方图中不同均方误差图像块数量的统计数据,该数据集中一共包含了75个统计数据,分别对应了 75个不同分组的图像块均方误差值,如图 4 所示.

图 4 图像块误差分布Fig.4 Error distribution of image block

通过对此75个数据集进行拟合,发现该数据集十分接近于幂函数表达式y=2 735·x-2.2. 通过该图也表明,图像的平滑块占据了图像的绝大部分,而这一部分的图像块数量的变化也很剧烈,即下降的变化率绝对值特别大,说明从图像均方误差值来看,图像块由平滑块过渡到目标块的时间非常短暂.

1.2.2 分类规则

上述分析可知,划分出整个图像的平滑块和目标块的关键在于确定平滑块与目标块之间的划分阈值,而且该阈值的数值需小于FIMSE.由图 4 可知,若该阈值较大,会使平滑块数量过多,所以该阈值至少得小于FIMSE/2; 若该阈值太小,会使平滑块数量急剧减小而目标块数量急剧增多,经过实验发现,该阈值取FIMSE/3比较适合.

2 实验结果和讨论

2.1 改进的分类算法仿真分析

本研究对不同的隐含层神经元数量的组合进行了实验,也就是在分类中对平滑块和目标块不同的隐含层神经元数量的参数进行组合,最终选取性能优良的参数作为平滑块和目标块在压缩时所对应的神经元数量. 对于平滑图像块,其特征变化最小,因此,其压缩程度最大,与之对应的隐含层神经元数量少,经过实验对比,该数量取6比较合适; 对于目标图像块,其特征变化处于中等,因此其压缩程度中等即可. 与之对应的隐含层神经元数量要大于平滑图像块,经过实验对比,目标块数量取8比较合适,最终得出如图 5 所示的分类效果.

图 5 改进的分类算法作用域Lena的效果Fig.5 The effect of scope Lena of improved classification algorithm

其中,标记为6的是平滑块,标记为8的是目标块,标记为16的是边缘块,同时,6,8,16也代表了对该部分图像块的压缩比,数值越小说明压缩程度越大. 由图 5 可知,平滑块在3种图像块中占比最大; 边缘块占比次之; 目标块占比最小,分类结果十分符合整幅图像的图像块分布规律.

利用提出的分类规则,分别选取Lena和Cameraman图像作为实验对象并进行压缩与重建整个流程,得到如图 6 和图 7 的实验结果. 由图可知,在重建图像中,未分类和使用基于文献[11] 分类算法时,两幅图像都有网格效应现象,而且其头发、眼镜、鼻子、嘴唇等细节部分都受到了不同程度的损失; 而使用本文提出的改进分类算法时,人物面部、身体及相机轮廓等某些细节部分都得到很好地保持.

图 6 原始Lena图像与图像重建实验结果Fig.6 Original Lena image and experimental results of image reconstruction

图 7 原始Cameraman图像与图像重建实验结果Fig.7 Original Cameraman image and experimental results of image reconstruction

2.2 图像压缩与重建实验分析

1)图像压缩算法运行时间

图像压缩算法在实际应用中,其运行时间是一个不可忽略的评估指标. 通过对压缩时间和解压缩时间来评估图像压缩算法运行时间,表 1 中详细列出了各类算法时间消耗的比较. 由表 1 中数据可知,在不使用分类算法的情形下,由于采取的是对整幅图像进行统一压缩,所以,只需要使用一个网络,整个压缩过程的耗时处于中等. 在使用文献[11]分类算法时,由于采用的是分别对3种类别图像块进行不同的压缩,此时整体耗时变大,整个压缩过程耗时最多; 改进的分类算法由于对图像边缘块采用保留原始数据并直接保存到压缩数据集的方法,不仅节省了一个网络,而且相对于前两种压缩算法还少了一部分数据的编码过程. 整个图像压缩过程的耗时大幅减少,所以在3种算法当中耗时最少.

表 1 各类算法压缩与重建时间对比(以MATLAB为实验平台, Lena为实验图像)Tab.1 Comparison of compression and reconstruction time of various algorithms

2)图像压缩率和PSNR

压缩后的数据集大小和压缩率也是衡量图像压缩算法的一个重要指标. 设d1和d2是在两个表达相同信息的数据集中所携带的单位信息量,则定义压缩率(压缩比)

(4)

式中:d1是压缩前文件的数据量;d2是压缩后文件的数据量,压缩率一般是越小越好.

为了比较一幅图像经过压缩与解压之后的差别,可以直接计算两幅图像之间的总误差

(5)

(6)

PSNR常常被用于衡量一幅图像变化前后的品质变化,定义为式(7),单位为dB.

(7)

式中:MSE的定义同式(6),是指原图像与处理图像之间均方误差.

表 2 详细描述了上文中提到的图像压缩率和PSNR,综合对比来看,本文提出的改进的分类算法具有较大的优势. 由表 2 中数据可知,随着分类算法的加入,不同类型的图像块被压缩的程度不一样,其压缩后的数据集随着分类算法的改进也逐渐变大,但是,对其变化程度的影响较小. 从压缩率来看,其变化量控制在10%以内. 但是从PSNR来看,随着分类算法的加入,其图像的保真度得到了改善,较适合于对图像细节部分要求高保真度而图像压缩数据集大小要求一般的场合.

表 2 各类算法的压缩率、PSNR对比Tab.2 Comparison of compression ratio and PSNR of various algorithms

3)图像压缩实验与分析

为了进一步验证本文提出的改进分类算法与BP神经网络图像压缩算法的优势,再次进行了实验验证,实验效果如图 8 和图 9 所示.

图 8 原始实际应用图像与图像重建实验结果Fig.8 Original practical application image and experimental results of image reconstruction

图 9 原始实际应用图像2与图像重建实验结果Fig.9 Original practical application image 2 and experimental results of image reconstruction

图 8、图 9 中,(a)图是野外复杂环境下越野小车车载摄像头拍摄的原始图像; (b)图是未使用分类算法压缩过后再解压的实验效果; (c)图是使用一般文献[11]算法压缩过后再解压的实验效果; (d)图是结合改进分类算法压缩过后再解压的实验效果.图(c)与图(b)比较,其效果改观不是很明显,而图(d)中在结合了改进的分类算法之后,其实验效果在细节保持能力上有了很大的提升,如图中小车上的字迹极为明显,还有图中人物的轮廓,无人机的轮廓等等.

为了获取更多的数据证实本文提出的改进分类算法与BP神经网络的图像压缩算法的优势,再次利flowers数据进行实验验证,其实验效果如图 10 所示.

图 10 flowers数据集与图像重建实验结果Fig.10 Flowers data set and experimental results of image reconstruction

图 10 中,(a)图和(d)图是flowers数据集原始图像; (b)图和(e)图是使用文献[11]分类算法压缩过后再解压的实验效果; (c)图和(f)图是使用本文改进分类算法压缩过后再解压的实验效果. 由图 10 可知,(c)图和(f)图中在运用了改进的分类算法之后,其实验效果在细节保持能力上有很大的提升,如雏菊的花蕾细节表现得极为明显,还有玫瑰图中字体的轮廓,水滴的轮廓等等.

3 结束语

本文提出并研究了基于改进图像块分类算法的BP神经网络图像压缩技术,首先,采用改进的图像块分类算法将图像块划分为互不重叠的3大类图像块,即平滑块、目标块、边缘块; 然后,基于BP神经网络对平滑块和目标块选用合适的隐含层单元数量进行压缩,对边缘块则采取不压缩而直接保存到压缩数据的方法; 最后,得到上述 3类图像块压缩数据集的集合. 相比于对3类图像块同时进行压缩,该方法相对传统的图像压缩方法能够更加有效地经过图像压缩后保持细节信息,使之能应用于环境复杂、特殊和恶劣工程领域. 该技术不仅减少了工程应用中的传输带宽和存储空间,而且在图像重建后可以保持图像细节,使之能很好地用于后期的图像分析与处理,尤其是对大数据量、图像识别、特征分析等工程领域有较好的应用.

猜你喜欢

压缩算法子块均方
基于八叉树的地震数据分布式存储与计算
构造Daubechies小波的一些注记
基于特征值算法的图像Copy-Move篡改的被动取证方案
Beidou, le système de navigation par satellite compatible et interopérable
基于参数识别的轨道电路监测数据压缩算法研究
基于波浪式矩阵置换的稀疏度均衡分块压缩感知算法
一种基于嵌入式实时操作系统Vxworks下的数据压缩技术
基于线性最小均方误差估计的SAR图像降噪
基于分布式ICA-PCA模型的工业过程故障监测
基于抗差最小均方估计的输电线路参数辨识