基于人工神经网络的光学字符识别系统及硬件实现精品
- 格式:ppt
- 大小:2.30 MB
- 文档页数:27


基于深度学习的光学字符识别算法随着科技和信息化的不断发展,数字化已经成为时代发展的必然趋势,大量的文本信息需要通过数据录入的方式输入到计算机中才能进行数字化的管理和分析。
而输入的主要途径就是光学字符识别技术,这种技术可以将手写或印刷的文字转换为计算机可读的格式。
目前,光学字符识别技术已经得到了广泛的应用。
在银行、政府、证券等机构中有大量的文件需要识别,光学字符识别技术可以极大地提高工作效率。
在物流、物流配送等领域中,每日需要处理大量的物流单据,使用光学字符识别技术可以大大加快物流速度。
在印刷、教育等界面,光学字符识别技术也得到了越来越广泛的使用。
光学字符识别技术如何实现?传统的识别技术是通过图像的特征提取和分类器匹配来完成的,这种方法效果较差且易受噪声干扰。
可以使用神经网络来实现光学字符识别,通过深度学习的方法可以提高机器的识别能力,同时还可以自动学习特征,使得机器的识别能力得到进一步提高。
深度学习是一种机器学习技术,通过多层神经网络来进行特征学习和分类。
因为这种技术可以自动学习特征,所以它比传统的机器学习方法具有更好的鲁棒性和适应性。
在光学字符识别领域中,深度学习可以帮助机器更好地识别字符,并减少误判率。
深度学习通过神经网络的训练来实现,主要包括以下几个步骤:1. 数据预处理。
将原始图像转换为标准尺寸和格式,统一字符大小和位置,并去噪处理。
2. 神经网络的构建。
通过神经网络的构建和参数调整来提高网络的识别能力。
3. 神经网络的训练。
使用大量的标注数据进行训练,通过梯度下降等优化算法来更新网络参数,使得网络能够自适应地学习。
4. 神经网络的测试。
将新的测试数据输入神经网络,通过精确性和误差率等指标评估网络的性能。
目前,深度学习在光学字符识别领域中已经得到了广泛的应用,主要有两种方法:一种是基于卷积神经网络的方法,这种方法运用卷积层进行特征提取,通过多层卷积和汇聚得到最终的特征表示,再经过全连接层进行分类,它的主要特点是:特征表示过程中引入了卷积计算和权值共享机制,因此可以大大减少参数数量,提高计算效率。
基于人工神经网络的智能学习系统设计与实现一、简介随着人工智能的快速发展,智能学习系统的研究与开发已经成为一个热点领域。
基于人工神经网络的智能学习系统因其独特的优势,受到越来越广泛的关注。
其能够模拟人脑的神经元网络,处理复杂的输入信息,从而实现智能化的学习和决策。
本文将从系统设计与实现两个方面,介绍基于人工神经网络的智能学习系统。
二、系统设计1.学习目标设定在设计基于人工神经网络的智能学习系统前,需要明确学习目标。
学习目标可以从不同的角度进行设定,例如分类、回归、聚类、关联规则挖掘等。
根据目标的不同,设计的方法也会有所变化。
需要根据实际需求,选择最合适的方法。
2.特征选取在实际应用中,样本数据往往包含大量特征,其中可能包含很多无用信息。
选择恰当的特征是提高算法性能的关键。
特征选取有很多方法,如卡方检验、信息增益、主成分分析等。
需要根据不同的场景和数据特点,适当地选取特征。
3.网络结构设计基于人工神经网络的智能学习系统的核心就是神经网络,而网络结构的设计将直接影响学习结果的好坏。
不同的学习问题需要不同的神经网络结构。
一般情况下,神经网络分为输入层、隐含层和输出层三层。
输入层负责输入数据的传递,隐含层负责对输入数据进行处理,在网络中发挥决定性作用,而输出层负责对神经网络处理后的结果进行输出。
4.学习算法选择学习算法选择是困扰很多开发者的问题。
当前,常用的学习算法有反向传播、RBF神经网络、Hopfield神经网络等。
不同的算法有不同的适用范围,需要根据实际需求灵活选择。
5.学习过程基于人工神经网络的智能学习系统的学习过程是一个不断迭代的过程,通常分为训练阶段和测试阶段。
在训练阶段,系统会反复调整权重值,以找到最小误差,从而达到目标。
在测试阶段,需要对系统进行反复测试,以评估系统的性能。
三、系统实现1.编程语言选择目前,支持开发基于人工神经网络的智能学习系统的编程语言有很多,如Java、C++、Python等等。
2019年第3期深■圳 职业技术学曉学扌艮No 3~2019D01:10.13899/ki.szptxb.2019.03.001BP 神经网络字符识别系统Matlab 建模及硬件实现**收稿日期:2018-09-03*项目来源:广东省优秀青年教师深圳职业技术学院配套资助(900705110201)作者简介:余菲(1982-),男,黑龙江人,副教授/高级技师,研究领域:集成电路设计、电子系统设计、LED 半导体照明材料、液晶显示、THz 成像技术等.*通讯作者:宋荣(1969-),男,四川人,副教授,研究领域:电极箔自动测试系统、企业ERP 无缝对接、智能化高压程控电源、比容测试、折弯测试、多关节机器人自动作业系统等.余菲,赵杰,王静霞,温国忠,宋荣*(深圳职业技术学院电子与通信工程学院,广东深圳518055)摘要:为了设计基于BP 神经网络的字符识别系统模型并训练其参数,能够以较低硬件代价工程实现该 系统,作者利用Matlab 建立了一个基于BP 神经网络的字符识别系统模型,对5000个样本进行了标记,并利 用这些样本对模型进行了训练和验证,识别率达到了 85.20%.同时,利用FPGA 及Verilog 硬件描述语言设计了该系统的神经元硬件电路,效果与Matlab 的仿真数据一致.利用Altera 公司的FPGA 芯片实际综合下载了 神经元及相关系统,能够实现对字符图像文件数据的计算.关键词:人工智能;神经网络;神经元;FPGA;图像识别中图分类号:TN791 文献标志码:A 文章编号:1672-0318 (2019) 03-0003-05随着电子信息技术的发展,尤其是高性能处理 器、互联网、云计算等技术的高速发展,基于神经网络的人工智能系统的应用价值越来越大Ml.目前,人工智能的核心应用领域主要集中在图像识别、语音识别、汽车及其它设备的自主判断和自主 控制等.其中,图像识别仍然是人工智能应用的最重要领域,而BP 神经网络也是对字符进行人工智能识别的最有效手段之一两.基于BP 神经网络 的字符人工智能识别和其他的人工智能应用一样,受制于处理器的运算速度.因此如何能够有效地提高BP 神经网络的运算速度就变成了非常 有价值的研究领域•本文提出采用Matlab 进行系 统建模仿真,并利用FPGA 技术实现BP 神经网络神经元的办法,通过硬件电路进行计算来有效 提升系统的效率,让低电路代价的字符识在工程上变得可能.1字符识别系统的Matlab 建模1.1字符识别系统的设计方法人工智能系统与传统的电子系统设计方法最大的不同是人工智能系统设计过程需要一个''学习” 的过程,这种学习可以是“有导”式的,或者是自主的“无导”式[1].首先建立一个神经网络的结构,通常是BP 神经网络或者CNN (卷积神经网络)等,然后通过训练(学习),让神经网络逐步开始能够对学习过的样本具有判断和记忆,再对神经网络的判定效果进行评价,如果达不到设计要求则需要重新从建立神经网络结构开始重复,基本流程如图1 所示.通常,图像识别的神经网络学习过程是“有导”式的.“有导”式的学习需要首先准备“金样本”数据集,所谓“金样本”就是经过人工标记的准确图1神经网络的设计流程 - 3-无误的系统输入输出案例.准备好了样本数据集后,将该数据集分为训练集和测试集2类,通常分类的原则是随机选取.接下来利用Matlab人工智能工具箱、Tensor Flow等平台系统,对该人工智能的神经网络结构进行建模编程,利用训练集样本对神经网络进行训练,使得神经网络学习到模型参数,最后再通过测试样本的测试,达到精度要求后证明该神经网络的模型是有效的③5切目前很多研究仅仅停留在设计完成神经网络结构并完成网络参数的训练,但是训练好的神经网络还需要在硬件上实现,是否能够在工程允许的硬件代价下物理上实现该神经网络模型也是一个很实际的问题.1.2EP神经网络的样本准备首先收集用于识别的字符数据集,其中包含0~9这10个数字手写体的图片文件,此类数据集在网络上可以进行下载,也可以自己准备,然后 对该图片进行标记,使之成为“金样本”•在本文中,每个数字准备了500张不同的手写文件,总计5000张图片作为数据集.接下来对图片进行归一化处理,统一归一化为28*28的像素,样例 如图2所示.通过Matlab读入全部图片的信息,使用Matlab编程把所有图片的样本标记结果存储在一个数据矩阵内,部分矩阵内容如图3所示.由于图片是灰度数据,与CNN不同,需要转换为二进制矢量数据才能进行BP神经网络的数据输入,本文按照如图4所示方法进行二进制矢量转换.首先设定将得到的输入图像通过最大类间方差法得到一个合适的灰度阈值,通过此阈值将图片转换为70*50的2进制流图.特征提取规则为:取一个大小为10*10像素的框,选取70*50的图像,总共可有7*5种不同的排列组合,将选取的10*10图像中的黑色像素所占百分比作为特征数,便可得一个7审5的特征矩阵.仁3BP神经网络的训练与测试将上述特征提取后的数据分为2部分,第一部分作为我们的输入数据,第二部分作为测试数据.用输入数据训练网络,网络训练完成后,用测试数据验证网络准确率.利用Matlab的人工智能神经网络工具箱设置本文所述的字符识别系统,其BP神经网络结构如图5所示.图2归一化的图片文件样例123456789101112一010*********二000100000000三000000000000四100001010000五000000001000六000000000000七000000000100八000000000000九000000000010十000010100000图3样本标记结果记录矩阵的部分内容图4二进制矢量转化方法示意图图5字符识别系统的BP神经网络结构第一层Hidden Layer为此数字识别网络的隐含层,第二层Output Layer为此数字识别网络的输出层,输出层神经元个数由输出目标数据所决定,此-4-深圳职业技术学院学报2019,18(3)处为10.隐含层的神经元数目设置为25,当神经 元数目设置过少时识别效果会很差,当神经元数目设置过多时又太过占用硬件资源,经测试本文设定为25个比较合适,并且隐含层和输出层的传输函数都选择“tansig ”.训练函数选择为"trainlni ”(用于更新权值和偏置),适应性学习函数为“leamgdm ”(使得权值和偏置区有一定的动量),误差函数为“mse ” .其他训练参数设定如图6 所示.申 Network: networld-□ X图6 BP 神经网络训练参数设定期 Train Network2 Matlab 建模效果评估经过训练,本文所述的模型训练过程的Validation checks 最终是6,即训练结束就是因为连续6次迭代都没能提高准确率.总共迭代次数 为308,最终结束时以SSE (残差平方和)方式计算误差,其误差结果为718,迭代的表现如图7 所示.图7中分别展示了随迭代次数的平方误差的变化情况,其中横坐标为Epoch (时期),一个Epoch 表示所有训练样本的一个正向传递和一个反向传递的过程,纵坐标为SSE (残差平方和).虽然Train 曲线随着Epoch 下降,但Test 曲线在第16个Epoch 时SSE 却开始上升.因此,最终神经网络的参数在16个Epoch (在图7中已经用圆圈标记)得到最好的效果.以 Scaled Conjugate Gradient (量化共轨梯度 法)为训练函数结束时的梯度值为161,然后用之前已准备好的测试集来对已训练好的神经网络进行仿真,其准确率如图8所示,图中横坐标为目标值,纵坐标为网络的输出,图8就是做了个回归,完美时四幅曲线都应该在对角线上,最终的综合精度为85.20%.神经网络容易过拟合,即仅对参与训练的训练数据反应良好.为防止过拟合,除一开始就划分了训练集合测试集外,MATLAB 不会把给它的训练集数据都同时用于训练、验证、测试,会将其再次划分成3个集,training (训练集),validation (验证集),test (测试集).训练时只有training (训练集)参加训练,validation (验证集),test (测试集)不 参加训练,只用于最终检验.为了防止过拟合发生, 需要设定适当的validation 值,当validation 的误差连续上升到设置的次数时就停止训练.(a)S E )」o」」山pale^bsu e o wBest Validation Performance is 0.01794 at epoch 1610° F2 4 6 8 10 12 14 16 18 20 2222 Epochs图7方差随着迭代变化曲线Target Validation: R-0.89482020.4060.8Target图8测试集合的准确率曲线 深圳职业技术学院学报 2019, 18 (3) - 5-■11193基于FPGA 的神经元硬件实现根据前文所述,Matlab 可以有效地完成神经网络的建模及训练与评测,但仍需要最终实现在硬件电路上.虽然,可以利用编写软件的方法在高性能DSP 、GPU 或者TPU (由谷歌公司设计的专用人工智能处理器)上实现本文设计的神经网络,但是成本和硬件代价都过高,本文提出了有 针对性的方案,可利用FPGA 实现神经网络的神经元[4,刀,大幅降低了系统的硬件代价.根据BP 神经网络的基本结构,需要用FPGA 实现的神经元结构如图9所示.从上面训练好的神经网络中抽取出神经网络相关参数后,可知数据为有符号浮点型数据,且有效位数到小数点后5位.在FPGA 中需要合理地表示数据,由于FPGA 中默认情况下不支持对浮点数进行操作的,这里采用的解决办法是定标.也就是将要运算的浮点数扩大倍数,然后截取整数部分,用这个数代替原本的浮点数,完成 运算后,得到的结果再缩小相应的倍数.在这里我们就要用到定标的方法,由于系统的输入范围是0~1的浮点数,例如0.34302,将小数转变为整数,并且事先进行约定统一将小数 放大10000倍,剩余小数部分四舍五入,也即将0.34302 用 3430 表示.利用 Modelsim-Altera 仿真平台上搭建系统,对输入输出及权值变换进行仿 真验证,图10为其中一次的仿真实例.根据MATLAB 上训练出的神经网络知,FPGA 上实现的激励函数有2个:1) 隐含层的激励函数为tansig 函数;2) 输出层的激励函数为pureline 函数.输入层■HT7-S.输 岀❻变量隐含层图9 EP 神经网络神经元结构输岀层si 0Js20s3-231S4-215*sS0•560Jf 571963■S3-1974as9slO0*Sila *sl2"5sl30£S140£Jf $150*sl&0sl7-SOO*sia_________-340-66图10浮点数变换整数实例其中隐含层为了实现功能选择了非线性的激励函数,输出层则选择了简单的线性激励函数作为输出.要在FPGA 上实现函数求解有多种方式可以进行选择,这里选择查表法.此方法最为简单,通用性强,但缺点是随着精度的增加对内存的消耗呈指数性增长.若要保证查表法的精确,计算就要用掉大部分的存储单元,显然不满足实际资源的需求,所以常常降低输入的精度,但随之带来的会是误差的增大,需要在资源的消耗和误差的大小间做出取舍.最终,本文利用Verilog 硬件描述语言实现了神 经网络的神经元结构,并搭建了整个字符识别系统,仿真效果如图11所示.由图11可见,利用FPGA实现的硬件电路效果与Matlab 的仿真数据一致•本 文为了验证电路的正确性,利用Altera 公司的FPGA芯片实际综合下载了神经元及相关系统,能够实现对字符图像文件数据的计算.图11数字“6”的图片识别效果仿真-6 - 深圳职业技术学院学报 2019» 18(3)4结论本文利用Matlab建立了一种可以用于图像数字图像识别的神经网络,并为1到9每个数字准备了500张不同的手写文件,总计5000张图片作为数据集,对图片进行归一化处理,统一归一化为28*28的像素,并完成了神经网络的学习和训练.同时,利用本文提出的神将网络模型,利用FPGA数字电路设计技术,从硬件上实现了该神经网络的神经元电路.经过Matlab工具的仿真验证,本文提出的BP神经网络结构和训练方法可以有效地实现字符图像文件的识别,有效率达到85.20%.通过FPGA实现的该系统神经元硬件电路,通过Modelsim仿真,结果与Matlab—致.通过实际综合下载,电路运算功能正确.参考文献:[1]张军阳,王慧丽,郭阳,等.深度学习相关研究综述[J].计算机应用研究,2018(07):1-12.[2]吴忠,朱国龙,黄葛峰,等.基于图像识别技术的手写数字识别方法[J].计算机技术与发展,2011,21(12):48-51.[3]唐忠,谢涛.Matlab神经网络工具NNTool的应用与仿真[J].计算机与现代化,2012(12):44-47,54.[4]林祥金,张志利,朱智.人工神经网络FPGA实现研究进展与发展趋势[JJ.控制工程,2007(S3):1-3.[5]徐远芳,周场,郑华.基于MATLAB的BP神经网络实现研究[J].微型电脑应用,2006(08):41-44, 3.[6]罗成汉.基于MATLAB神经网络工具箱的BP网络实现[JJ.计算机仿真,2004(05):109-111,115. [7]杨海钢,孙嘉斌,王慰.FPGA器件设计技术发展综述[J].电子与信息学报,2010,32(03):714-727.MATLAB Modeling and Hardware Implementation of Character Recognition System Base on BP Neural NetworkYU Fei,ZHAO Jie,WANG Jingxia,WEN Guozhong,SONG Rong* (School of E lectronic and Communication Engineering,Shenzhen Polytechnic,Shenzhen,Guangdong518055,China) Abstract:The authors used Matlab to set up a character recognition system model based on BP neural network.As a result,its parameters can be trained and the system can be implemented at a low engineering hardware cost.We tagged5000samples which are used for model training and validation.The recognition rate of the method we propose reaches85.20%.Meanwhile we use FPGA and Verilog HDL to design the neuron hardware circuit of the system,and the effect is consistent with the Matlab simulation data.The neuron circuit and related system is downloaded to a FPGA chip of Altera so that the data of character image file can be calculated.Key words:artificial intelligence;neural network;neuron;FPGA;image recognition深圳职业技术学院学报2019,18(3)-7-。
基于BP神经网络的字符识别系统(完整版)doc资料计算机与现代化2021年第1期J I S UANJ I Y U X I A NDA I HUA总第161期收稿日期:2020205211项目:河南省自然科学资助项目(0511011500作者简介:张可(19842,女,河南三门峡人,南京航空航天大学信息科学与技术学院硕士研究生,研究方向:图像处理;张高燕(19872,女,河南三门峡人,北京师范大学信息科学与技术学院硕士研究生,研究方向:图像与语音信号处理;吴苏(19872,男,河南南阳人,哈尔滨工程大学计算机科学与技术学院硕士研究生,研究方向:I nternet 应用软件;范海菊(19792,女,河南新乡人,河南师范大学计算机与信息技术学院讲师,研究方向:语音和图像信号处理。
基于BP 神经网络的字符识别系统张可1,张高燕2,吴苏3,范海菊4(1.南京航空航天大学信息科学与技术学院,江苏南京210016;2.北京师范大学信息科学与技术学院,北京100875;3.哈尔滨工程大学计算机科学与技术学院,黑龙江哈尔滨150001;4.河南师范大学计算机与信息技术学院,河南新乡453007摘要:基于BP 神经网络设计了一个字符识别系统。
首先,对字符图像进行二值化处理,构造输入向量矩阵。
其次,通过选取初始权值、隐层节点数和权值学习算法,创建BP 神经网络,对样本数据进行训练,之后对加有噪声的样本再次进行训练,以提高网络的鲁棒性。
最后进行仿真测试并制作图形用户界面G U I 来模拟与演示该系统。
仿真结果显示,该BP 网络对噪声系数小于0.8的字符识别率可达95%,且网络训练时间可接受。
关键词:BP 神经网络;G U I ;字符识别;鲁棒性中图分类号:TP311.52文献标识码:ASystem of Character Recogn iti on Ba sed on Back 2propaga ti on Neura l NetworkZHANG Ke 1,Z HANG Gao 2yan 2,WU Su 3,F AN Hai 2ju4(1.College of I nf or mati on Science and Technol ogy,Nanjing University of Aer onautics and Astr onautics,Nanjing 210016,China;2.College of I nf or mati on Science and Technol ogy,Beijing Nor mal University,Beijing 100875,China;3.College of Computer Science and Technol ogy,Harbin Engineering University,Harbin 150001,China;4.College of Computer and I nfor mati on Technol ogy,Henan Nor mal University,Xinxiang 453007,ChinaAbstract:This article designs a character recogniti on syste m based on the Back 2Pr opagati on neural net w ork .First,the character i m age is p r ocessed in binary t o construct the input vect or matrix .Second,by choosing the initial weight,the nu mber of hide nodes and the learning algorith m of weight,a perfect BP neural net w ork is created .And then the net w ork carries on the training t o the samp le data and after wards t o the sa mp le with noise once more,t o enhance the net w ork r obustness .Finally,it carries on the si m ulati on test and manufactures graphical user interface t o si m ulate and demonstrate this system.The si m ulati on result shows that the character recogniti on rate of thisBP net w ork is possible t o reach 95%with the noise fact or less than 0.8,and the training ti m e is accep table .Key words:BP neural net w ork;G U I ;character recogniti on;r obustness0引言为了解决计算机对字符的自动识别问题,使计算机达到真正智能化,人们对计算机的自动识别进行了多年研究,并取得了很大的进步。