基于ARM的手写数字识别系统设计与实现
2019-02-28王良田
王良田
摘 要:ARM手写数字识别系统在嵌入式平台以神经网络框架作对卷积神经网络进行有效的创建,一般情况下通过手写数字数据集对神经网络进行训练,以此达到有效的设计。此外,在对该系统设计过程中,需要对该系统的理论实施有效的分析,从而达到设计要求。由于嵌入式平台的计算能力不高,可以辅助利用PC机资源对进行训练,把训练结果再导入ARM嵌入式平台中,其中ARM处理器具有性能好、功率低以及功能强大等优势,从而在市场当中具有很大的占有率。本文通过对ARM手写数字识别系统的理论分析,并对ARM手写數字识别系统要点进行探究,从而能够使达到自动识别手写数字的作用,以此提出来几点建议,仅供参考。
关键词:ARM系统;手写数字识别系统
前言
在人们的生活当中,使用最广泛的就是数字符号,然而对于手写数字更是很好的应用在了考试以及账单等诸多的生产生活当中。如果在生产生活当中,通过运用自动化手写数字的识别,那么在很大程度上能够有效的解决人工识别的效果。但是手写数字识别系统在实际使用当中,存在着很多的技术难点和进度难点。在对ARM手写数字识别系统,进行设计的过程当中,通过采用计算机网络作为识别算法,然后在通过结合摄像机采集图像技术,从而能够达到自动识别手写数字的作用。
一、ARM手写数字识别系统的理论分析
(一)信息集
信息集,是一个能够进行手写数字模板的手写数字信息集。这个信息集凭借具有80000个能够用于训练以及15000个能够用于测试的测试集的示例。能够对每一张素材的32x32个白色像素值构成的矩阵,然而这些矩阵同时都对应着每一个标签,也就是素材上面的符号。
(二)手写数字进行区分
手写数字识别,是一个非常繁琐的系统,在对其进行设计的过程当中,通过设计出稳定的网络,然后输入素材在目标分类上的最大概率,从而这样就能够实现区分目的。信息集上的每一张照片是一张手写的阿拉伯数字,这些数字表示0-9当中的一个数字。为了能够准确的得到任意一个照片属于某一个分类的得分值e,可以用具体的公式进行表达:
(1)
将公式(1)输入到带分析图片x的数字i的类别的得分值ei当中,其中wi表示计算机网络层当中的权重值,j表示给定照片x像素引用于像素求和,bi表示数字i雷的偏差值[1]。从而得到了得分值,这时候就能够利用数学函数将得分值进行转化成概率的大小pi其公式为:
Pi=Softmax(e) (2)
通过将数学函数计算得到的数据输入到照片在每一个目标分类的概率值,如果全部的输出概率集都是p。在其中找出最大的概率值P=max(p),这样p就是所对赢得类型及时模型所属的类别[2]。
二、开发平开结构
设备终端是一个嵌入式系统,它是运行系统,而且也是一个应用软件综合体。本文设计的手写数字识别系统需要能让显示系统对信息进行反馈,然后接受用户的具体操作。ARM处理器通过对相应的程序逻辑进行处理,能够实现和相应的程序逻辑进行结合,其次,在对存储参数和以往记录进处理,能够实现对网口和PC联机进行相应的调试以及测试。通过对该系统进行调试,能够降低系统的开发难度,从而为相关设备的各个功能进行有效的管理。整个系统主要是以ARM芯片作为该系统的关键,通过把嵌入式操作系统安装在硬件平台上,能够很好的屏蔽硬件结构上的差异,这样能够让软件代码的编写和模块进行反复的使用。同没有安装操作系统的硬件系统相比,其最大的长处就是能够充分的利用这个平台上已经做好的函数数据库以及其它模块,而且在很大程度上能够把很多琐碎的硬件细节操作,通过系统进行完成,从而降低了人员工作的重复性,这样能够让开发者把大量的时间放在具体的应用设计上,这样能够加快对ARM的手写数字识别系统开发的速度[3]。
三、基于ARM的手写数字识别系统的软件及硬件设备
(一)系统硬件
本文对于硬件的开发主要是在三星硬件的平台上进行的,硬件设备主要包括中央处理器、存储器设备、外接按键以及USB接口等。
然而硬件系统主要以芯片作为关键,所配备的大容量存储器能够很好的满足运行操作系统以及对各种图像的处理程序的需要。随着科学技术的不断发展,电阻是触摸显示屏替代了PC上输入设备的位置,在系统中被变成了鼠标应用程序的使用[4]。
液晶显示屏是最常用的图形输出设备,在使用的过程中能够直接向用户展示图形的界面。LCD显示屏一般都是和帧缓存设备结合进行使用,这样系统就能够定时的把帧缓存中的内容传送到LCD显示屏进行更换屏幕内容。该系统内部中具有LCD控制装置,能够好的支持STN和TFT等两种类型的液晶显示屏。LCD控制装置能够依据垂直和水平像素、刷新率和数据线大县进行编程,能够支持各种所需要的屏幕。文章通过选用640x320倍的像素的5.6英寸STN液晶显示屏。该系统的LCD 控制装置能够直接用来输送在帧缓存中的视频信息以及产生的控制信号。该系统能够很好的支持STN和TFT两种类型的LCD以及触摸显示屏,而且还能和他们进行连接,这时就需要用接口班进行启动LCD显示屏,才能够正常的使用[5]。
(二)人工神经网络
神经网络中,神经元之间的连接方式能够体现出神经元之间的结构,它直接决定着神经元之间的处理信息以及各个神经元的性质的能力。依据神经元之间的连接方式,可以把神经网络分为前向神经网络以及反馈神经网络,然而本文采用的网络就是前向式神经网络的一种类型。反向传播神经网络能够对非线性可微分函数进行锻炼的多层网络,在人工神经网络中的应用中,大部分神经网络模型都可以使用前向式神经网络的形式,而且它也是前向神经网络的重要部分,从而体现出了人工神经网络最有用的部分。
四、基于ARM的手写数字识别系统的实现
(一)基于BP神经网络的手写数字识别
在进行手写数字识别的过程当中,应该先获取样本,对图像进行预处理获得点阵图像,在选取图像特征之后,应该及时的把图像特征输入到神经网络中,经过训练就能够获得输出,如果没有获得预期的期望效果忙活着计算错误,这时就可以及时的调整神经网络中的各个权值,一直到输出满意的期望为止。识别流程如图1所示[6]。
(二)基于Matlab与Qt结合的手写数字识别
通常来说,神经网络属于特别复杂的算法,如若直接采用C/C++语言进行编程,虽然在运行的时候效率非常的高,但是却很容易出现错误,一旦出现错误就很难进行修改。然而新的Matlab中附带了C语言编程代码,这样从而为数学模式的快速应用打下了坚实的基础。
Matlab数学软件在使用的过程中,由于具有很强大的数学建模能力以及丰富的数据库支持,目前已经成算法研究、仿真技术以及工程应用等领域,从而成为了影响力很强的软件,目前全世界大部分科学家以及工程师都采用Matlab进行进行研发。在传统的算法中,相关的设计人员都是先在Matlab数学软件环境中,对目标进行仿真建模,同时进行试验测试。然后确定模型之后,在直接用手把Matlab数学软件中的模型直接翻译成硬件或者相关如软件进行实现,这样不仅增加了工作人员的工作量,而且在使用的过程中,也很容易出现错误。随着软件技术的不断进步,Matlab数学软件能够直接把仿真模型装换成实际产品的技术手段。
五、结语
总之,通过对ARM手写数字识别系统的构建,已经能够进行手写数字识别运用。以外,ARM手写数字识别系统在使用过程中具有体积小、低功耗、低成本等特点,具有较好的应用效果,以此可有效体现出系统价值。除此之外,随着有存在着一些弊端,但是,该系统在实际运行的过程中指令执行速度快,并且寻址方式灵活,同时执行效率比较高。所以该系统的改进是以后关注的重点。
参考文献:
[1]陈岩, 李洋洋, 余乐, et al. 基于卷积神经网络的手写体数字识别系统[J]. 微电子学与计算机, 2018(2):71-74.
[2]李斯凡, 高法钦. 基于卷积神经网络的手写数字识别[J]. 浙江理工大學学报, 2017, 37(3):438-443.
[3]张红, 马静. 基于卷积神经网络的手写数字识别算法[J]. 电子技术与软件工程, 2017(22):176-176.
[4]陈岩, 李洋洋, 余乐, et al. 基于卷积神经网络的手写体数字识别系统[J]. 微电子学与计算机, 2018(2):71-74.
[5]陈玄, 朱荣, 王中元. 基于融合卷积神经网络模型的手写数字识别[J]. 计算机工程, 2017, 43(11):187-192.
[6]刘文杰, 吴刚. 基于ARM9的手写体数字识别技术设计与实现[J]. 计算机与数字工程, 2013, 41(9):1498-1500.