FPGA设计BP神经网络图像压缩算法

FPGA设计BP神经网络图像压缩算法

ID:38176225

大小:152.50 KB

页数:6页

时间:2019-05-24

FPGA设计BP神经网络图像压缩算法_第1页
FPGA设计BP神经网络图像压缩算法_第2页
FPGA设计BP神经网络图像压缩算法_第3页
FPGA设计BP神经网络图像压缩算法_第4页
FPGA设计BP神经网络图像压缩算法_第5页
资源描述:

《FPGA设计BP神经网络图像压缩算法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、BP神经网络图像压缩算法乘累加单元的FPGA设计0引言  神经网络(NeuralNetworks)是人工神经网络(Ar-tificialNeuralNetworks)的简称,是当前的研究热点之一。人脑在接受视觉感官传来的大量图像信息后,能迅速做出反应,并能在脑海中重现这些图像信息,这不仅与人脑的海量信息存储能力有关,还与人脑的信息处理能力,包括数据压缩能力有关。在各种神经网络中,多层前馈神经网络具有很强的信息处理能力,由于其采用BP算法,因此也称为BP神经网络。采用BP神经网络模型能完成图像数据的压缩处理。在图像压缩中,神经网络的处理优势在于:巨量并行性;信息处理和存储单元结合在一起

2、;自组织自学习功能。  与传统的数字信号处理器DSP(DigitalSignalProcessor)相比,现场可编程门阵列(FieldProgramma-bleGateArray,FPGA)在神经网络的实现上更具优势。DSP处理器在处理时采用指令顺序执行的方式,而且其数据位宽是固定的,因而资源的利用率不高,限制了处理器的数据吞吐量,还需要较大的存储空间。FPGA处理数据的方式是基于硬件的并行处理方式,即一个时钟周期内可并行完成多次运算,特别适合于神经网络的并行特点,而且它还可以根据设计要求配置硬件结构,例如根据实际需要,可灵活设计数据的位宽等。随着数字集成电路技术的飞速发展,FPGA

3、芯片的处理能力得到了极大的提升,已经完全可以承担神经网络数据压缩处理的运算量和数据吞吐量。图像压缩是信息传输和存储系统的关键技术,然而如何进行FPGA设计,以实现给定的功能已经成为神经网络应用的关键。  基于以上原因,选择FPGA作为三层BP神经网络图像压缩算法的实现方式,提出了具体的一种实现方案,并对其中的重点单元进行了FPGA设计与仿真验证。  1BP神经网络图像压缩算法  一般习惯将单隐层前馈网称为三层前馈网,它包括输入层、隐含层和输出层。三层BP神经网络结构如图1所示,原始数据节点和重建数据节点构成节点数较大的外层(输入层和输出层),而中间的具有较小节点数的细腰层即构成压缩结

4、果。其基本思想是强迫原始数据通过细腰型网络瓶颈,并期望在网络的瓶颈处能获得较为紧凑的数据表示,以达到压缩的目的。在网络的学习过程中,通过BP训练算法,调整网络的权重,使重建图像在均方误差意义上尽可能近似于训练图像。经过训练的网络即可用来执行数据压缩任务,网络输入层与隐含层之间的加权值相当于一个编码器,隐含层与输出层之间的加权相当于一个解码器。从输入端输入的原始图像数据经过神经网络的处理,在隐含层得到的输出数据就是原始图像的压缩编码,而输出层矢量即为解压后重建的图像数据。  BP神经网络用于图像编码的压缩比与输入层和隐含层的节点数有关:  压缩比一输入层节点数(n)/隐含层节点数(m)

5、  因此一般来说采用不同数目的隐含层神经元就可实现同一图像的不同压缩比。  三层BP前馈网中输入向量X=x(x1,x2,…,xi,…,xn)T,隐含层输出向量Y=y(y1,y2,…,yi,…,ym)T,输出层输出向量O=O(O1,O2,…,Ok,…,Ol)T,期望输出向量d=d(d1,d2,…,dk,…,dl)T,输入层到隐含层的权值向量V=v(v1,v2,…,vj,…,vm)T,其中vj为隐含层第j个神经元对应的权值向量;隐含层到输出层的权值向量W=W(w1,w2,…,wk,…wl)T,其中wk为输出层第k个神经元对应的权值向量;隐含层的阈值向量θ=(θ1,θ2,…,θi,…,θm

6、)T;输出层的阈值向量γ=(γ1,γ2,…,γk,…,γl)T。  (1)用小的随机数对每一层的权值和偏差初始化,以保证网络不被大的加权输入饱和,并进行以下参数的设定或初始化:期望误差最小值;最大循环次数;修正权值的学习速率;  (2)将原始图像分为4×4或8×8大小的块,选取其中一块的像素值作为训练样本接入到输入层,计算各层输出:  其中:f(·)为BP网络中各层的传输函数。  (3)计算网络输出与期望输出之间的误差,判断是否小于期望误差,是则训练结束,否则至下一步,其中反传误差的计算式为:  (4)计算各层误差反传信号;  (5)调整各层权值和阈值;  (6)检查是否对所有样本完

7、成一次训练,是则返回步骤(2),否则至步骤(7);  (7)检查网络是否达到最大循环次数,是则训练结束,否则返回步骤(2)。 经过多次训练,最后找出最好的一组权值和阈值,组成三层前馈神经网络,用于该算法的FPGA设计。  其中,在数据预处理部分,首先将原始图像分成n×n的小块,以每一小块为单位进行归一化。归一化的目的,主要有以下两点:  (1)BP网络的神经元均采用Sigmoid转移函数,变换后可防止因净输入的绝对值过大而使神经元输出饱和,继而使权值调整进

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。