数字识别.docx
- 文档编号:5371989
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:23
- 大小:255.06KB
数字识别.docx
《数字识别.docx》由会员分享,可在线阅读,更多相关《数字识别.docx(23页珍藏版)》请在冰豆网上搜索。
数字识别
1.课程设计目的
1)、提高分析问题、解决问题的能力,进一步巩固数字图像处理系统中的基本原理与方法;
2)、掌握文献检索的方法与技巧;
3)、熟悉掌握一门计算机语言,可以进行数字图像的应用处理的开发设计。
2.方法综述
2.1数字识别与BP网络的概述
数字识别前景广阔,广泛应用于表格中数字的识别、汽车牌照的数字自动识别和成绩单的识别等多个项目,如对邮政编码、财务报表、银行票据、各种凭证以及调查表格的识别等等,实现数字的自动识别给人们提供了很大的方便。
BP算法全称为反向传播算法,是一种监督式的学习算法。
其工作原理主要由两部分组成:
信息的正向传递与误差的反向传播。
首先由输入矢量按照网络的运算规则计算出实际输出矢量,然后将它与目标矢量进行比较得出网络误差,即BP算法信息的正向传递过程;再利用网络误差平方和来逆向调整网络各层权值和阈值,从而降低网络误差平方和,即BP算法的反向传播原理。
BP网络是一种多层前向网络,网络除了输入输出点外,还有一层或多层中间节点。
输入层是一组变量,输入层和中间层(也叫隐含层)之间,中间层和输出层的每两个节点之间都有一个连接权,输出层是目标向量。
由于神经网络具有很强的自适应学习能力;较强的容错性,能够识别带有噪声或变型的输入模式;并行分布式信息存储与处理能力,识别速度快;能把若干预处理和识别处理融为一体来进行等特点,对于识别手写体数字来说,采用神经网络是一种有效的手段。
2.2BP网络数字识别研究历史与现状
利用BP网络来对对象进行识别之前,应先对待识别对象样本进行预处理,即将手写数字二值化,然后对其进行特征提取,将所提取的特征输入到神经网络进行识别,最后输出并显示识别结果。
2.2.1预处理
进行特征提取前先对手写数字进行了二值化、行字切分、平滑、去噪声、规范化和细化等预处理,然后对其进行特征提取。
有以下几种方法:
1)序列化法。
其方法是将图像均匀分解成m×n个小块,每个小块内进行如下判断:
如果块内有“黑点”就记为1,否则就记为0。
如此一行一行地处理,共有m×n个点。
这m×n个点就是我们作为BP网络的输入点。
2)全局阈值法。
全局阈值法根据文本图像的直方图或灰度的空间分布确定一个阈值,并根据此阈值实现灰度文本图像到二值化文本图像的转化。
图像点阵区域进行行(X轴)、列(Y轴)方向上的投影,分别得到横向和纵向的黑像素的统计直方图。
字符点阵区域在直方图上呈现出波峰状,而字符间的空隙在直方图上呈现出波谷状。
图像的细化操作采用模板匹配的方法,针对当前处理的像素点逐个与预设的模板比较,从而确定当前点的状态。
3)灰度转化法。
把图象中各象素点的值由灰度值转化为0、1两个值中的一个,图象由灰度转化为黑白。
为减少转化过程中的信息丢失,在图象二值化之前,采用一定的算法对灰度图象进行分析,以确定是否会在二值化中产生小内孔或笔划断开、丢失,并预先在可能出现的部位进行增强,然后再进行二值化处理。
2.2.2特征选取与提取
数字是由弧线和直线构成的,弧线的弯曲方向和程度不同,字符形状不同。
但是同一类不同形状的字符,它的端点数及其方向,凸点数及其方向,三叉点数和四叉点数基本上是稳定的,而这些特征反映了数字的结构,是数字的重要特征。
以下是一些其他特征:
1)Legendre矩全局特征
矩特征是广泛使用的统计特征之一,反映了字符图像点阵总体分布情况,具有平移、尺度和旋转不变性,一些最基本的二维形状特征都与矩有直接的关系。
2)字符点阵拓扑综合特征
字符点阵的拓扑特性是对字符的直接描述,系统提取的拓扑综合特征主要有:
字符内环路特征;环路中心垂直位置特征;局部极值特征;字符轮廓附加信息特征;宽度特征等。
3)轮廓方向特征
轮廓方向特征表示字符图像的轮廓点在水平、垂直、左对角线方向、右对角线方向等四个方向上的统计特征。
统计正方形子区域中归属四个方向的象素点数目,根据有多少象素属于对角线左方向、对角线右方向、水平和垂直方向,构成四维特征向量。
(4)骨架结构特征
对手写数字原始字符图像进行细化,获得数字的骨架特征。
计算骨架点的局部特征,包括端点、三叉点、四叉点,以及笔画方向特征,从而形成一个多维的特征向量[12]。
3.实验结果与分析
3.1系统实现思想
字符识别系统一般分为预处理、特征提取和分类器三部分。
其中,预处理包括将图片从模拟图像到进行二值化、字符分割、归一化等过程;特征提取和分类器的设计是整个系统的核心部分。
通过对各个部分分别进行编程处理来实现,将每部分编为可调用的函数,最后统一对函数进行调用,清晰方便。
下面分别对每部分模块实现进行介绍。
图1整个实验的流程图
3.1.1预处理模块
由于扫描输入的图像一般为RGB格式,预处理首先需要将其转化为二值化的图像,即只包含“0”、“1”的矩阵形式。
先将原始图像转化为灰度图像,通过函数rgb2gray来实现,再通过函数im2bw转化为二值图像,然后对二值化后的图像进行分割处理,本系统采用基于字符连通域的分割。
由于对数字的书写有一定要求,两个字符之间不能出现连笔的情况,因此可以对二值图像各个分离部分进行标注来分割字符,用函数bwlabel来实现。
用函数regionprops来度量图像区域属性,包括属性BoundingBox(表示各标注区域的最小矩形)和Centroid(表示各区域的质心)。
通过对各个区域标注及各个区域起点坐标和区域范围(包括宽度和高度)的确定来截取字符,所用函数为imcrop,最后调用函数imresize对图像进行归一化处理。
预处理模块部分见程序1和程序2。
程序1:
functionimg=edu_imgpreprocess(I)
Igray=rgb2gray(I);%变为灰度图
Ibw=im2bw(Igray,graythresh(Igray));%变为二值图像
……
程序2:
functionbw2=edu_imgcrop(bw)
%Findtheboundaryoftheimage找到图像的边界
[y2tempx2temp]=size(bw);%图像的大小
x1=1;
y1=1;
x2=x2temp;
y2=y2temp;
%Findingleftsideblankspaces找到左侧空白空间
……
图2预处理(从左到右分别为原始图像、二值化的图像和图像边缘化)
3.1.2特征提取模块
通过粗网格方法来提取特征。
首先对分割后的字符归一化为70×50的点阵,然后将此矩阵等分为7×5的网格,接着依次统计每一个网格内黑像素点(即“1”)的个数,得到一个以数字表示的7×5维的网格特征,将7×5维特征矩阵转变为一维特征,最后对其进行归一化操作。
特征提取模块函数见程序3。
程序3:
functionlett=edu_imgfeature(bw2)
%将已获取的二进制图像转化为5*7
%单矢量字符表示
bw_7050=imresize(bw2,[70,50]);%重新定义尺寸
%粗网格的特征提取方法
forcnt=1:
7
forcnt2=1:
5
Atemp=sum(bw_7050((cnt*10-9:
cnt*10),(cnt2*10-9:
cnt2*10)));
lett((cnt-1)*5+cnt2)=sum(Atemp);
end
end
lett=((100-lett)/100);%特征向量的归一化
Lett=lett';
图3图像特征提取
3.1.3神经网络分类器模块
采用三层BP神经网络来实现。
通过实验测试设定隐含层神经元数目为10,所以只需分类10个数字,设定输出层神经元数目为10。
隐含层神经元的传递函数采用S型对数函数logsig,输出层神经元传递函数也采用S型对数函数logsig,此神经网络的训练函数采用trainlm,性能函数采用sse,训练步数最长设为5000,性能目标设为0.01。
神经网络分类器模块函数见程序4。
程序4:
functionnet=edu_createnn(P,T)
%BP网络的设计
alphabet=P;%字符
targets=T;%目标
[R,Q]=size(alphabet);%图像的大小
[S2,Q]=size(targets);
S1=10;
net=newff(minmax(alphabet),[S1S2],{'logsig''logsig'},'traingdx');
net.LW{2,1}=net.LW{2,1}*0.01;
net.b{2}=net.b{2}*0.01;
net.performFcn='sse';
net.trainParam.goal=0.1;
net.trainParam.show=20;
net.trainParam.epochs=5000;
net.trainParam.mc=0.95;
P=alphabet;
T=targets;
[net,tr]=train(net,P,T);%网络训练
3.2系统实现过程
系统实现过程是要将前面提到的各个模块函数进行调用,来实现数字识别的过程。
首先使用imread函数读入已保存在电脑中的图像,接着调用预处理函数进行预处理操作,然后调用特征提取函数提取特征,设定训练目标,最后将提取的数字特征输入神经网络分类器进行训练。
为了方便对系统进行训练和确定识别的输出结果,采用了特殊图像对系统进行训练和识别,并用1~10的数字来标注识别出的结果。
系统实现过程见程序5。
程序5:
%%数字识别的实现
%%Readtheimage
I=imread('sample.bmp');
%%ImagePreprocessing
img=edu_imgpreprocess(I);
forcnt=1:
50
bw2=edu_imgcrop(img{cnt});
charvec=edu_imgresize(bw2);
out(:
cnt)=charvec;
end
%%CreateVectorsforthecomponents(objects)创建载体的组件
P=out(:
1:
40);
T=[eye(10)eye(10)eye(10)eye(10)];
Ptest=out(:
41:
50);
%%CreatingandtrainingoftheNeuralNetwork建立和训练神经网络
net=edu_createnn(P,T);
%%TestingtheNeuralNetwork测试神经网络
[a,b]=max(sim(net,Ptest));
disp(b);
3实验结果
实验中采用的手写体图像见图4,作为对系统进行训练的样本,图5为系统对其进行识别的图像。
图像中1、2、3……0对应正确的识别结果为1、2、3……10。
图4对系统进行训练的样本
图5系统对其进行识别的图像
经过预处理以后,得到对手写体字符进行分割后的图像见图6。
图6预处理后的图像
图7数字识别界面
误差分析:
经过对本系统近100次的手写数字识别训练后,我们研究发现,基本上的手写数字都能够正确的进行识别,但仍存在着一些误差,对某些数字识别结果不完全正确,这些误差数字主要表现在5,7和8中,数字5常被识别为6,数字7常被识别为3或9,数字8偶尔会被识别为6,目前识别率已经达到了将近92%。
4.课程设计总结与体会
在这次数字图像处理的课程设计中,我们小组搜集了大量的相关资料,并通过不断学习和研究的过程中,顺利的制作完成了手写阿拉伯数字识别系统。
在课程设计的过程中,我们充分运用课本知识,将课本知识与实际操作相结合,将手写输入的数字用灰度处理、二值化、字符分割等数字图像处理的方法来实现数字的识别。
其中,我们也遇到了不少问题,但经过上网搜索,请教老师和同学,基本上都得到了很好的解决。
经过多次实验验证,本系统在一般情况下都能够正确的识别手写数字,已经达到了一定的识别率。
但也存在一些缺点和不足,如写的有些潦草或倾斜的数字,在手写识别的过程中就有可能会出现差错,无法正确的识别,识别率不是很高。
当然由于特征提取的种类繁多,且各种都有其本身的优缺点,且我们的系统还不是很完善,功能也不是很强大,因此,该系统还有很大的进步空间。
随着国家信息化发展进程的加速推进,数字识别系统的应用需求将逐渐广泛,相信数字识别系统会得到越来越多应用,数字图像处理技术在更多的领域有更好的发展。
通过本次课程设计,我们综合运用了数字图像处理的知识,结合matlab程序完成本次课程设计。
不断对数字图像处理这门课程有了更深刻的理解,更熟悉运用matlab这个程序。
这样的课程设计有利于培养学生的独立思考能力与团队合作精神,使我们的各方面能力都有了进一步的提高,对我们以后的学习生活都有很大的帮助。
5.参考文献
[1]须岳林.基于BP神经网络的印刷体字符识别系统的研究[J].南京航空航天大学硕士学位论文,2006.
[2]林慎机.基于人工神经网络的低限制手写数字识别[J].计算机工程.1990(6):
1~6.
[3]周志华,曹存根.神经网络及其应用[M].北京:
清华大学出版社.2004.
[4]葛哲学,孙志强.神经网络理论与MATLABR2007实现[M].北京:
电子工业出版社.2008.
[5]邵慧娟,王绪本,熊煜.基于人工神经网络的数字识别技术[J].物探化探计算技术.2005,27
(1):
78~80.
[6]陈伟,马如雄,郝艳红.基于MATLAB的BP人工神经网络设计[J].电脑学习.2005
(2):
30~31.
[7]张圣楠,郭文,肖力墉.基于MATLAB的BP神经网络的设计与训练[J].内蒙古科技与经济.2005:
95~98.
[8]武强,童学锋,季隽.基于人工神经网络的数字字符识别[J].计算机工程.2003,29(14):
112~132.
[9]郑南宁,王龙,胡超等.BP神经网络的改进及其用于手写数字识别的研究[J].西安交通大学学报.1992,26
(1):
1~12.
[10]黄心晔,王茂祥,富煜清等.基于结构分析的手写体数字识别算法[J].电子工程师.1999(11):
23~25.
6.附录
Handwrittendigitrecognitionsystemusingneuralnetwork
MuhammadShuaibQureshi,MuhammadBilalQureshi,MuniraG.Nabi,ShafaqKhalid
FacultyofComputingandInformationTechnology,,Jeddah,KingdomofSaudiArabia.
DepartmentofComputerScience,InstituteofInformationTechnology,Islamabad,Pakistan.
DepartmentofComputerScience,InternationalIslamicUniversity,Islamabad,Pakistan.
Abstract
ArtificialNeuralNetworkssurroundopticalcharacterrecognitionasoneofitsparentapplicationsinthefieldofartificialintelligencethatbehavesinitsfunctionalitylikehumanthinking.Inthispaperasimplesoftwaresystemfortherecognitionofhandwrittendigitsispresentedthatservesasabasicresourceforbeginnersinneuralnetworkingandrelateddisciplines.Thesystemisdevelopedbyusinghighlysimplifiedarchitectureofartificialneuralnetwork.Variantpatternsofthesamehandwrittencharacterrelatedtodifferentscriptsorfontswerefedinthesystem.Thesystemrecognizedthesecharacterssuccessfullyandbecame100%adaptiveinnature.
Keywords:
DigitRecognition,NeuralNetwork,FlipFlop,RecognitionQuotient,Neuron.
1.Introduction
NeuralNetwork(NN)isparallelprocessingsysteminformation,whichmimicsthecomputationalcapabilitiesofthehumannervoussystembyusinghighlyinterconnectedprocessingelementscalledneuronsorartificialneurons.
ArtificialNeuralNetwork(ANN)isasimplifiedmodelofthecentralnervoussystem.Itspeculiarcharacteristicsmakethemusefulandattractiveformanytaskssuchasoptimization,imageprocessing,diagnosisetc,whichareforemostdifficulttohandlethroughconventionaltechniques.
ANNsarelooselymodeledprocessingelements(algorithmsoractualhardware)butonverysmallerscalesthanneuralstructureofmammaliancerebralcortex.Ascomparedtomammalianbrain,alargeANNcomprisesofhundredsorthousandsofsubprocessingelements,whilemammalianbrainhasneuronsinbillions.AlloftheANNresearchershavenoconcernwithresemblingtheirartificialnetworkwithbiologicalsystems,butsomehave.InfacttheNNbehaveslikeablackbox,takinginputXandproducesoutputYasvisualizedinFig1.
Fig1.NNbehaviour
1.1.Realneuron
Thenervoussystemofalivingorganismconsistsofbillionsofinterconnectedelementsworkinginparallel.Theneuroncanbeconsideredasamulti-inputs/single-output(MISO)unit.Theoutputmaybeexcitedorun-excited,justlikeaflip-flopwheretwochoicesareavailableforthesystemtochooseone.Thesignalsgeneratedbyallneuronsarecomparedagainstsomepre-definedvalueknownasthresholdthatshowsthatiftheneuronshallexcite(fire).Thesynapsesarethejunctionpartsofneurons.Theinputsignalsaresubjecttotheattenuationinthesynapses.AccordingtoHebb’sLearningRule,thesynapseresistancetotheincomingsignalcanbechangedduringalearningprocess.Hebb’sdiscoverybecameabasisfortheconceptofassociativememory.
Fig2.Structureofarealneuron
1.2.Artificialneuron
TheArtificialNeuron(AN)ismuchsimpler.Allsignalscanbe1or-1(oftencalledclassicspinforitssimilaritywiththeproblemofdisorderedmagneticsystems).TheANcomparesthecalculatedweightedsumofinputswithathresholdvalue.Theoutputissetto1ifthesumishigherthanthethreshold,otherwise0.
Fig3.ANbehaviour
1.3.CommonANactivationfunctions
ThemathematicalterminologiesanddefinitionsofANactivationfunctionsaregiveninTable1
Table1:
Activationfunctions
1.4.Learningalgorithms
ThereisnouniqueLearningAlgorithmforNN,ratherthereisatoolskitdemonstratedbyadifferentlearningalgorithms,eachhasitsownbenefits,someofwhich
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 识别
![提示](https://static.bdocx.com/images/bang_tan.gif)