77范文网 - 专业文章范例文档资料分享平台

基于BP神经网络的图像压缩--神经网络实验报告

来源:网络收集 时间:2020-06-05 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

一、实验名称

基于BP神经网络的图像压缩 二、实验目的

1.熟悉掌握神经网络知识;

2.学习多层感知器神经网络的设计方法和Matlab实现;

3.进一步了解掌握图像压缩的方式方法,分析仿真图像压缩效果。 三、实验要求

1.学习神经网络的典型结构;

2.了解BP算法基本思想,设计BP神经网络架构; 3.利用BP算法解决图像压缩的质量问题; 4.谈谈实验体会与收获。 四、实验步骤

(一)分析原理,编写程序

本实验主要利用BP神经网络多层前馈的模式变换能力,实现数据编码和压缩。采用输入层、隐含层、输出层三层网络结构。输入层到隐含层为编码过程,对图像进行线性变换,隐含层到输出层为网络解码过程,对经过压缩后的变换系统进行线性反变换,完成图像重构。其主要步骤有以下五步:

1.训练样本构造

基于数值最优化理论的训练算法,采用Levenberg-Marquardt方法,将训练图像的所有像素点作为压缩网络的输入,对图像进行划分。将原始图像分成4×4的互不重叠的像素块,并将每个像素快变形为16×1的列向量,将原始数据转化为16×1024的矩阵。对输入数据进行预处理,像素块矩阵进行尺度变换,即归一化处理。

为了将网络的输入、输出数据限定在[0,1]的区间内,本实验采用均值分布预处理方法。将待处理图像的灰度范围[xmin,xmax],变换域为[ymin,ymax],设待处理的像素灰度值为xi,则对于所有过程的映射yi满足公式:

yi =

(ymax?ymin)(xi?xmin)xmax?xmin+xmin

其主要程序为:

P = []; %将原始数据转化为16*1024的矩阵 for i = 1:32 for j = 1:32

I2 = I((i-1)*4 + 1:i*4,(j-1)*4 + 1:j*4); i3 = reshape(I2,16,1);

II = double(i3);

P_1 = II/255; %矩阵归一化处理 P = [P,P_1]; end end

2.创建神经网络

将图像样本集作为输入和理想信号训练BP网络,设此网络图像压缩比为S,网络输入层节点数为ni,隐含层节点数为nh,则压缩比:

S =

ninh

本实验将原始图像数据转化为16×1024的矩阵数据,网络输入层节点数为ni =64,隐含层节点数要求小于输入层节点数,则分别取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; net.trainParam.epochs = 500;

4.编码仿真

根据给定的算法训练网络,然后进行仿真。在Matlab中用sim函数进行仿真。

5.图像重构

对压缩编码后的数据进行解码,并进行尺度变换回原数据量值,即每个矩阵元素分别乘以255,将像素值从[0,1]恢复到[0,255]区间内,再将列向量变形成图像块,合成一副完整图像,完成图像重构。

其主要程序为:

Y_fz= sim (net,P);%对网络训练结果进行编码仿真 Y_cg = []; %图像重构

- 1 -

for k = 1:1024

Y_cg1 = reshape(Y_1(:,k),4,4); Y_cg = [Y_cg,Y_cg1]; end Y_sc = []; for k = 1:32

Y_sc1 = Y_cg(:,(k-1)*128+1:k*128); Y_sc = [Y_sc;Y_sc1]; end

Y_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。 五、实验结果分析

实验一结果:

原始图像

S = 16 压缩比为16时的训练误差性能曲线

图1 实验一图像压缩及误差曲线图

- 2 -

TRAINLM, Epoch 500/500, MSE 0.00150597/0.001, Gradient 0.658157/1e-010 TRAINLM, Maximum epoch reached, performance goal was not met. Elapsed time is 879.688000 seconds.

没有达到性能目标;

实验二结果:

原始图像

S = 8 压缩比为8时的训练误差性能曲线

图2 实验二图像压缩及误差曲线图

TRAINLM, Epoch 0/500, MSE 0.200195/0.001, Gradient 411.191/1e-010

TRAINLM, Epoch 10/500, MSE 0.000817748/0.001, Gradient 36.1943/1e-010 TRAINLM, Performance goal met. Elapsed time is 42.203000 seconds.

达到性能目标,重构图像质量好,训练速度快。

实验三结果:

- 3 -

原始图像

压缩比为5.3时的训练误差性能曲线

S = 5.3

图3 实验三图像压缩及误差曲线图

TRAINLM, Epoch 0/500, MSE 0.195168/0.001, Gradient 448.976/1e-010 TRAINLM, Epoch 10/500, MSE 0.000863373/0.001, Gradient 186.52/1e-010 TRAINLM, Performance goal met. Elapsed time is 77.187000 seconds.

达到性能目标,重构图像质量差,训练速度较快。

实验四结果:

原始图像

压缩比为4时的训练误差性能曲线

S = 4

图4 实验四图像压缩及误差曲线图

TRAINLM, Epoch 0/500, MSE 0.183762/0.001, Gradient 453.808/1e-010 TRAINLM, Epoch 18/500, MSE 0.000511771/0.001, Gradient 284.423/1e-010 TRAINLM, Performance goal met. Elapsed time is 226.625000 seconds.

- 4 -

达到性能目标,重构图像质量好,训练速度较慢。

综合上述实验分析:当隐含层元数选取8时,重构图像质量和训练速度都比较好,能够满足性能目标要求。 六、实验体会与收获

我现在学习的专业是图像处理,通过学习神经网络课程,使我进一步开拓了视野,了解掌握了一种新的数据处理方法。通过本次实验,进一步了解掌握神经网络强大的自学习能力和适应能力,以及对复杂问题的解决能力,也激发了进一步深入学习神经网络知识的热情。

- 5 -

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于BP神经网络的图像压缩--神经网络实验报告在线全文阅读。

基于BP神经网络的图像压缩--神经网络实验报告.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/1090986.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: