4 BP神经网络模型的改进
本文采用的网络结构为3层BP网络,即输人层、隐含层和输出层,输人层和输出层神经元数均为256个,隐含层的节点数根据图像的分类特征而定。针对传统算法存在的不足,本文相应地进行了改进。
在一幅图像中,某些部分的灰度空间变动小,例如背景部分,而某些部分的灰度空间变动大,例如边缘部分。根据图像的这个特点,对图像细节的部分可作比较精细的处理,而对图像的平滑部分则可处理的粗糙一些,这样在保证图像质量的前提下,进一步提高压缩比。本文利用图像的灰度相似性准则,将图像分为平滑块、中间块和边缘块,不同的分类块相应地采用了不同的隐含层节点数,从而在保证重建图像丰富细节的同时,提高了图像的压缩比。具体实现步骤如下:
(1)首先计算出整幅图像的方差(图像的像素与块均值的偏离程度),记其为 ;
(2)然后根据输人的顺序依次计算每个子块的均方误差,记其为 ;
(3)若  /3(平滑块类),则该子块(个数为N1)对应的网络隐含层神经元数取值为4,该子区像素变化小,图像平滑,因此可实现最大的压缩比( );
(4)若 /3< 2 /3(中间块类),则该子块(个数为N2)对应的网络隐含层神经元数取值为8,压缩比为( );
(5)若2 /3 <   (可边缘块类),则该子块(个数为凡)对应的网络隐含层神经元个数取值为16。该子区像素变化大,细节多,为保证解一压效果,采用较小的压缩比( );
整个图像的压缩比为 。
为了提高网络的学习速率,使网络保持较高的收敛速度,对网络本身进行如下改进:用构建的输入矩阵,每一列代表一个输入模式,用输入矩阵作为目标输出矩阵,开始训练网络。论文参考网。训练过程可采用改进后的最速下降法,即使用了梯度下降动量和自适应学习算法,目标误差设为0.001,取不同的隐含层神经元数来训练网络。论文参考网。
5 实验结果
本文使用一幅256 x 256像素的LENA图,按照上面的步骤,在MATLAB环境下实现了BP网络图像压缩。本实验中用到的BP传输函数为对数S型函数。分别对算法改进前和改进后得到的结果进行了比较分析,实验结果如图5所示。图5解码后的图像表明改进后的解码图像明显优于算法未改进前(图中胳膊处效果尤其明显),而从表1可以看出,改进后不仅大幅度提高了图像压缩比,而且由于对网络本身的改进,峰值信噪比亦有很大提高。实验结果证明了该方法的可行性。



6结论
本文介绍了BP神经网络在图像压缩中的应用,在实验中采用基于分类的BP神经网络和最速下降法实现了图像压缩,最速下降法用于图像压缩时,只能牺牲压缩率,通过增加隐含层的神经元数来提高重建图像的质量。总之,三层前馈网络用于图像压缩,关键在于各种参数的选择,比如算法、激活函数和隐含层神经元数,它们将会直接影响收敛时间和压缩性能。本文作者创新点在于在详细研究了各种图像压缩技术和神经网络技术原理的基础上,提出将BP神经网络技术结合分类法和梯度下降动量算法应用于图像压缩,提高了压缩比,取得了良好的压缩效果。
参考文献
[1] 尹显东,李在铭,姚军.图像压缩标准研究的发展与前景[J].信息与电子工程,2003,1(4):326-330。
[2] 高大启.有教师的线性基本函数前向三层神经网络结构研究[J].计算机学报,1998,21(1):80-85。
[3]周晓燕.基于分布估计算法的人工神经网络优化设计[[J].微计算机信息,2005,21(10-3):131-133。
[4] 高隽.人工神经网络原理及仿真实例[M].北京:机械工业出版杆,2003,21-24。
[5] 陈小前,罗世彬,王振国等.BP神经网络应用中的前后处理过程研究[J],系统工程理论与实践,2002,22(1):65-67。
[6] 闵惜琳,刘国华.用MATLAB神经网络工具箱开发BP网络应用[J].计算机应用,2001,21(8):163-164。
[7] 飞思科技产品研发中心.MATLAB6.5辅助神经网络分析与设计[M].北京:电子工业出版社,2003。
2/2 首页 上一页 1 2 |