- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
BP神经网络实现图像压缩
机器学习(ML第11组)
BP神经网络实现图像压缩
唐 璇 罗威亚 Contents
问题背景
常见的文件压缩软件如WinZip、WinRAR等采用的是无损压缩,能够完全恢复原文件内容。
多媒体信息具有信息量大、冗余信息多的特点,往往采用有损压缩技术。
图像压缩算法
问题背景
BP神经网络是一种多层前向神经网络,是整个人工神经网络体系中的精华,广泛应用于分类识别、逼近、回归和压缩。实际应用中80%的神经网络模型采取了BP网络或者BP的变化形式。
BP神经网络实现图像压缩,依赖BP网络的非线性映射能力进行数据压缩。
实验结果表明,采用BP神经网络对灰度图像进行压缩,在保证较好峰值信噪比(PSNR)的情况下,达到了较高的压缩比。
BP神经网络建模(模型的压缩原理)
BP神经网络用于压缩的网络模型构建:
采用一个隐含层,则整体构成一个三层的网络。
把一组输入模式通过少量的隐含层单元映射到一组输出模式,并使输出模式尽可能等于输入模式。(隐含层神经元的值和相应的权值向量可以输出一个与原输入模式相同的向量)
BP神经网络建模(压缩解压过程)
假设网络的输入层和输出层均有M个神经元组成,隐含层包含I个神经元,且IM,则输入模式必须进行压缩编码,结果保存在隐含层。
输入层到隐含层的变换相当于压缩的编码过程;隐含层到输出层的变换相当于压缩的解码过程。
BP神经网络建模(图像压缩编码)
输入图像数据:假设图像为像素N×N大小,以K×K为单位进行划分,将图像细分为一个个图像块。图像块中每一个像素点与一个输入或输出神经元相对应,如下模型。
样本学习:网络随机地抽取图像中各K×K图像块作为学习模式,使用反向传播算法进行学习,通过调整网络中神经元之间的连接权值,使训练集图像的重建误差E=f-g的均值达到最小。训练好的网络隐含层神经元矢量便是数据压缩的结果,而输出层神经元矢量便是重建后的数据。
BP神经网络建模
BP网络的计算模型
隐含层第j个神经元输出值:
输出层第i个神经元输出值:
BP神经网络压缩的实现
压缩步骤:
BP神经网络压缩的实现
load
图像块重建
(BP网络解码)
反归一化
图像块恢复
载入压缩文件
的数据
预处理
for i=1:4096
Y(:,i)=com.lw*(com.d(:,i)) +com.b;
end
乘上255
16×4096矩阵
的每一列抽取
出来,重新排
列4×4矩阵,
并对4×4矩阵
按行排列以恢
复图像。
PSNR
RATE
解压缩步骤:
结果
BP神经网络的训练(N=4):
程序设计:
两个函数
block_divide函数,用于图像块划分,形成K^2*N矩阵
re_divide函数,用于图像块恢复
脚本文件
bp_imageCompress.m脚本负责压缩lena.bmp图像(需要调用block_divide图像划分函数),压缩结果保存于comp.mat中
bp_imageRecon.m脚本负责解压comp.mat(需要调用re_divide图像块恢复函数)
结果
原始图像lena.bmp:
重建图像:
分析
现象:正如刚刚所看到的,块与块之间差异较大,即出现块效应现象。这是由于设计的算法将图像强行分割为4×4的块,并分别进行训练,所以出现块效应现象。
压缩比率:由于后续没有进行熵编码等原因,算法的压缩比率(14%)并不高。
图像质量:峰值信噪比(PSNR)为32.4148,其实修改算法的参数(如改变隐含层神经元个数)可以调节图像压缩的质量。
Table
PSNR
rate
N=1
30.8796
0.0507
N=2
31.8181
0.0897
N=4
32.4118
0.1465
N=6
31.9962
0.2030
N=8
31.1015
0.2512
N=10
30.7471
0.3158
N=12
28.2056
0.3219
N=14
31.9063
0.4148
压缩比提高,
但图像质量降低
重建效果对比(部分)
N=1:
N=2:
N=4:
N=10:
总 结
这是基本的BP网络用于图像压缩的算法,基于BP神经网络的图像压缩还有一些改进算法,如对分块进行分类,采用熵编码等,可以显著提高效果。
这里的归一化的处理比较简单,没有利用mapminmax函数,使得压缩率提高。
BP局限性
文档评论(0)