资源描述:
《基于bp神经网络的图像压缩--神经网络实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、一、实验名称基于BP神经网络的图像压缩二、实验目的1.熟悉掌握神经网络知识;2.学习多层感知器神经网络的设计方法和Matlab实现;3.进一步了解掌握图像压缩的方式方法,分析仿真图像压缩效果。三、实验要求1.学习神经网络的典型结构;2.了解BP算法基本思想,设计BP神经网络架构;3.利用BP算法解决图像压缩的质量问题;4.谈谈实验体会与收获。四、实验步骤(一)分析原理,编写程序本实验主要利用BP神经网络多层前馈的模式变换能力,实现数据编码和压缩。采用输入层、隐含层、输出层三层网络结构。输入层到隐含层为编码过程,对图像进行线性变换,隐含层到输出层为网络解码过程,对经过压缩后的
2、变换系统进行线性反变换,完成图像重构。其主要步骤有以下五步:1.训练样本构造基于数值最优化理论的训练算法,采用Levenberg-Marquardt方法,将训练图像的所有像素点作为压缩网络的输入,对图像进行划分。将原始图像分成4×4的互不重叠的像素块,并将每个像素快变形为16×1的列向量,将原始数据转化为16×1024的矩阵。对输入数据进行预处理,像素块矩阵进行尺度变换,即归一化处理。为了将网络的输入、输出数据限定在[0,1]的区间内,本实验采用均值分布预处理方法。将待处理图像的灰度范围[xmin,xmax],变换域为[ymin,ymax],设待处理的像素灰度值为xi,则对
3、于所有过程的映射yi满足公式:yi=+xmin其主要程序为:P=[];%将原始数据转化为16*1024的矩阵fori=1:32forj=1:32I2=I((i-1)*4+1:i*4,(j-1)*4+1:j*4);i3=reshape(I2,16,1);-5-II=double(i3);P_1=II/255;%矩阵归一化处理P=[P,P_1];endend2.创建神经网络将图像样本集作为输入和理想信号训练BP网络,设此网络图像压缩比为S,网络输入层节点数为ni,隐含层节点数为nh,则压缩比:S=本实验将原始图像数据转化为16×1024的矩阵数据,网络输入层节点数为ni=64,
4、隐含层节点数要求小于输入层节点数,则分别取nh为4、8、12、16进行实验。3.训练神经网络构建输入矩阵(每一列代表一个输入模式),并将此作为输出矩阵。根据采用Levenberg-Marquardt方法,在Matlab中调用训练算法,即调用newff函数开始训练网络,函数的输入参数BTF取值“trainlm”,TFi取值“tansig、logsig”,训练次数设定为500次,性能目标为0.001。其主要程序为:net=newff(minmax(P),[8,16],{'tansig','logsig'},'trainlm');net.trainParam.goal=0.001
5、;net.trainParam.epochs=500;4.编码仿真根据给定的算法训练网络,然后进行仿真。在Matlab中用sim函数进行仿真。5.图像重构对压缩编码后的数据进行解码,并进行尺度变换回原数据量值,即每个矩阵元素分别乘以255,将像素值从[0,1]恢复到[0,255]区间内,再将列向量变形成图像块,合成一副完整图像,完成图像重构。其主要程序为:Y_fz=sim(net,P);%对网络训练结果进行编码仿真Y_cg=[];%图像重构-5-fork=1:1024Y_cg1=reshape(Y_1(:,k),4,4);Y_cg=[Y_cg,Y_cg1];endY_sc=
6、[];fork=1:32Y_sc1=Y_cg(:,(k-1)*128+1:k*128);Y_sc=[Y_sc;Y_sc1];endY_scjg=uint8(Y_sc*255);(二)分析及仿真实验隐含层神经元数对神经网络的构建和训练有很重要的影响,当神经元数较少时,图像压缩较高,但重构图像质量较差,实验选取一定的神经元数,已满足图像重构质量和训练速度的要求。实验1:神经元数nh=4,S=16,训练次数500;实验2:神经元数nh=8,S=8,训练次数500;实验3:神经元数nh=12,S=5.3,训练次数500;实验4:神经元数nh=16,S=4,训练次数500。五、实验结
7、果分析实验一结果:原始图像S=16压缩比为16时的训练误差性能曲线图1实验一图像压缩及误差曲线图-5-TRAINLM,Epoch500/500,MSE0.00150597/0.001,Gradient0.658157/1e-010TRAINLM,Maximumepochreached,performancegoalwasnotmet.Elapsedtimeis879.688000seconds.没有达到性能目标;实验二结果:原始图像压缩比为8时的训练误差性能曲线S=8图2实验二图像压缩及误差曲线图TRAINLM,E