DIP课程设计报告

上传人:dus****log 文档编号:123634815 上传时间:2022-07-22 格式:DOC 页数:9 大小:264.50KB
收藏 版权申诉 举报 下载
DIP课程设计报告_第1页
第1页 / 共9页
DIP课程设计报告_第2页
第2页 / 共9页
DIP课程设计报告_第3页
第3页 / 共9页
资源描述:

《DIP课程设计报告》由会员分享,可在线阅读,更多相关《DIP课程设计报告(9页珍藏版)》请在装配图网上搜索。

1、数字图像处理课程设计报告手写阿拉伯数字的识别1、课程设计目的1)、 提高分析问题、解决问题的能力,进一步巩固数字图像处理系统中 的基本原理与方法。掌握文献检索的方法与技巧。2)、 熟悉掌握一门计算机语言,可以进行数字图像的应用处理的开发设计。2、方法综述2.1手写阿拉伯数字识别的研究背景 字符识别处理的信息可分为两大类:一类是文字信息,处理的主要是用各国家、各民族的文字(如:汉字,英文等)书写或印刷的文本信息,目前在印刷体和联机手写方面技术已趋向成熟,并推出了很多应用系统;另一类是数据信息,主要是由阿拉伯数字及少量特殊符号组成的各种编号和统计数据,如:邮政编码、统计报表、财务报表、银行票据等等

2、,处理这类信息的核心技术是手写数字识别。近几年来我国开始大力推广的“三金”工程在很大程度上要依赖数据信息的输入,如果能通过手写数字识别技术实现信息的自动录入,无疑会促进这一事业的进展。因此,手写数字的识别研究有着重大的现实意义,一旦研究成功并投入应用,将产生巨大的社会和经济效益。2.2人工神经网络的概念 人工神经网络(Artificia Neural Network)至今还没有一个比较科学和权威的定义。有一种定义是:“人工神经网络是生理学上的真实人脑神经网络的结构和功能,以及若干基本特征的某种理论抽象,简化和模拟而构成的一种信息处理系统。”荣辉.张济世.人工神经网路及其现状与展望电子技术应用1

3、995年第10期4一5页从系统观点看,人工神经网络是由大量神经元通过极其丰富和完善的联接而成的,模拟大脑的基本特性的自适应非线性动态系统。神经元之间的连接方式不同,神经网络的结构形态也就不同。具体的生理学上的定义本文不再展开赘述。2.3 BP神经网络神经网络的应用已经渗透到各个领域中,包括金融、股票预测,自动控制,机器人,模式识别,计算机视觉和图像处理,信号处理等等, T,J,Sejnowiski,C,R,Rosenberg”Paralle Netwoeks that Learn to Pronounce English Test”,Complex Systems,1987:1 145-168

4、 陈明,赵瑞清.BP神经网络的比例训练.计算机学报,1993(8) 靳蕃,范俊波,谭永东。神经网络与神经计算机.西南交大,1991 庄镇泉,王煦法,王东生.神经网络与神经计算机.北京:科学出版社,19926:毛群.王少飞.基于matlab的神经网络数字识别系统实现.中国西部科技.2010(09).8:朱曼丽.孙志锋.孙志林.一种基于神经网络的数字识别方法.计算机工程与应用.2002.129:乔宝明张晓莉高志才基于matlab识别0-9数字图像的新方法.技术与创新管理.2009.310:许捍卫.王成.一种简单的数字识别方法研究.河海大学测量工程系其中软件模拟的BP网络是应用最多、最成功的网络。本

5、次课程设计是基于BP神经网络对手写阿拉伯数字进行识别,故下文介绍关于BP神经网络的概念。 BP神经网络的概念 BP(Back Propagation)网络又叫误差反向传播网络,是由美国加利福尼亚大学的PDP小组提出的一种神经网络算法,实现了Minsky和Papert认为不能实现的多层网络的设想。BP算法的基本思想是,学习过程由信号的正向传播与误差的反向传播两个过程组成。正向传播时,输入样本从输入层传入,经各隐藏层逐层处理后,传向输出层。若输出层的实际输出与期望的输出(教师信号)不符,则转入误差的反向传播阶段。误差反传是将输出误差以某种形式通过隐藏层向输入层反传,并将误差分摊给各层的所有单元,从

6、而获得各层单元的误差信号,此误差信号即作为修正各单元权值的依据。这种信号正向传播与误差反向传播的各层权值调整过程,是周而复始地进行的。权值不断调整的过程,也就是网络的学习训练过程。此过程一直进行到网络输出的误差减少到可接受到的程度,或进行到预先设定的学习次数为此。BP网络的基本结构如图1所示,网络由不同层次的节点集合组成,每一层节点的输出送到下一层节点。这些输出值由于连接权不同而被放大、衰减或抑制。除了输入层外,每一节点的输入为前一节点输出值的加权和。每一节点的激励输出值由节点输入、激励函数及闭值决定。图1:BP网络模型BP网络的学习算法使用梯度搜索技术,以期望网络的实际输出与期望输出的均方差

7、最小。网络的学习是一种在误差反向转播的同时修正的过程。学习过程应包括两个阶段:前向计算阶段和反向调整阶段2.4图像分割: 对二值化后的图像进行分割处理,本课程设计采用基于字符连通域的分割。由于对数字的书写有一定要求,两个字符之间不能出现连笔的情况,因此可以对二值图像各个分离部分进行标注来分割字符,用函数bwlabel来实现。用函数regionprops来度量图像区域属性, 包括属性BoundingBox( 表示各标注区域的最小矩形) 和Centroid(表示各区域的质心)。通过对各个区域标注及各个区域起点坐标和区域范围(包括宽度和高度)的确定来截取字符, 所用函数为imcrop,最后调用函数i

8、mresize对图像进行归一化处理。2.5特征提取 通过粗网格方法来提取特征。首先对分割后的字符归一化为7050的点阵,然后将此矩阵等分为75的网格,接着依次统计每一个网格内黑像素点(即“1”)的个数,得到一个以数字表示的75维的网格特征,将75维特征矩阵转变为一维特征,最后对其进行归一化操作。3、实验结果与分析 3.1课程设计的结构及流程 基于BP神经网络的手写体数字识别系统大致可以分为输入、预处理、特征提取、BP神经网络识别4个部分。输入包括数字样本集扫描输入和待识别数字输入,先用数字样本集扫描输入图像经预处理后特征提取的特征向量来训练神经网络,再用训练好的神经网络来识别待识别数字。预处理

9、部分包括二值化、平滑、去噪、细化,再对预处理后二值点阵图像进行特征提取。最后将所提取的特征量输入训练好的神经网络进行识别,输出识别结果。基于BP神经网络的手写体数字识别系统的结构及流程如图2所示。 开始读入需要识别数字的图像将图像转化为灰度图像将灰度图像转化为二值图像图像分割预处理模块特征提取进行数字的识别和比对图2:手写阿拉伯数字识别系统的流程图3.2预处理模块由于扫描输入的图像一般为RGB格式,预处理首先需要将其转化为二值化的图像,即只包含“0”、“1”的矩阵形式。先将原始图像转化为灰度图像, 通过函数rgb2gray来实现,再通过函数im2bw转化为二值图像,然后对二值化后的图像进行分割

10、处理,3.3数字的识别和比对 采用三层BP神经网络来实现。通过实验测试设定隐含层神经元数目为10,所以只需分类10个数字,设定输出层神经元数目为10。隐含层神经元的传递函数采用S型对数函数logsig, 输出层神经元传递函数也采用S 型对数函数logsig,此神经网络的训练函数采用trainlm,性能函数采用sse,训练步数最长设为5000,性能目标设为0.01。 3.4实验结果图3:GUI界面及实验结果 图4:导入具体需要进行识别的图像 图5:对需要识别的数字进行选择和裁剪 图6:对需要识别的手写阿拉伯数字进行预处理3.41预处理模块的部分源代码:function img = edu_img

11、preprocess(I)Igray = rgb2gray(I);Ibw = im2bw(Igray,graythresh(Igray);%将图像转化为二值图像Iedge = edge(uint8(Ibw);se = strel(square,3);Iedge2 = imdilate(Iedge, se); Ifill= imfill(Iedge2,holes);Ilabel num = bwlabel(Ifill);Iprops = regionprops(Ilabel); Ibox = Iprops.BoundingBox;Ibox = reshape(Ibox,4 50); Ic = I

12、props.Centroid;Ic = reshape(Ic,2 50);Ic = Ic;Ic(:,3) = (mean(Ic.2,2).(1/2);Ic(:,4) = 1:50;Ic2 = sortrows(Ic,2);for cnt = 1:5 Ic2(cnt-1)*10+1:cnt*10,:) = sortrows(Ic2(cnt-1)*10+1:cnt*10,:),4);end Ic3 = Ic2(:,1:2);ind = Ic2(:,4);for cnt = 1:50 imgcnt = imcrop(Ibw,Ibox(:,ind(cnt);end function bw2 = edu

13、_imgcrop(bw)% 找到图像的边界y2temp x2temp = size(bw);x1=1;y1=1;x2=x2temp;y2=y2temp;% 找出最左边的空格(Finding left side blank spaces)cntB=1;while (sum(bw(:,cntB)=y2temp) x1=x1+1; cntB=cntB+1;end% 找出最右边的空格(Finding right side blank spaces)cntB=1;while (sum(bw(cntB,:)=x2temp) y1=y1+1; cntB=cntB+1;end %找出最上边的空格( Findi

14、ng upper side blank spaces)cntB=x2temp;while (sum(bw(:,cntB)=y2temp) x2=x2-1; cntB=cntB-1;end % 找出最下边的空格(Finding lower side blank spaces)cntB=y2temp;while (sum(bw(cntB,:)=x2temp) y2=y2-1; cntB=cntB-1;end % 对图像进行裁剪(Crop the image to the edge)bw2=imcrop(bw,x1,y1,(x2-x1),(y2-y1); 图7:对需要识别的手写阿拉伯数字进行特征提取

15、特征提取的源代码function lett = edu_imgresize(bw2)% This function will take the cropped binary image and change it to 5 x 7% character representation in single vector. bw_7050=imresize(bw2,70,50);%重新定义尺寸%粗网格的特征提取方法for cnt=1:7 for cnt2=1:5 Atemp=sum(bw_7050(cnt*10-9:cnt*10),(cnt2*10-9:cnt2*10); lett(cnt-1)*5

16、+cnt2)=sum(Atemp); endend lett=(100-lett)/100);%特征向量的归一化lett=lett;:识别模块的源代码function net = edu_createnn(P,T)%创建神经网络 alphabet = P;targets = T; R,Q = size(alphabet);S2,Q = size(targets);S1 = 10;S2=10;net = newff(minmax(alphabet),S1 S2,logsig logsig,trainlm);net.LW2,1 = net.LW2,1*0.01;net.b2 = net.b2*0.

17、01;net.performFcn = sse; net.trainParam.goal = 0.01; net.trainParam.show = 20; net.trainParam.epochs = 5000; net.trainParam.mc = 0.95; P = alphabet;T = targets;net,tr = train(net,P,T);3.5实验结果的分析 在本次课程实验中我对0到9这10个手写的数字进行识别,在实验过程中,发现该系统没办法达到百分之百的准确率,进行多次程序的调试这个问题仍然没办法得到改进。例如该系统有时会将8识别为1,将7识别为3,或者将7识别为

18、2,但是对于4,5这两个数,识别的准确率能达到百分之百。5、课程设计总结与体会 通过本次的课程设计使得我对手写阿拉伯数字识别系统的设计和运行有了深入的了解,也使得我对数字图像处理这个课程有了深入的探索。在整个设计过程中,我认为最重要的是要有整体规划的思想,先对课题进行需求的分析,分成几个模块进行设计和编程,最后设计一个GUI界面将各个模块整合到一个系统中,完成课程设计题目的要求。在这个过程中我深化了课本所学习到的理论知识,也通过在网上查询资料和文献学习到了课本以外的知识,这开拓了我的见识。在老师的指导下我通过对代码进行分析提高了编程能力,但是涉及一些比较细致的参数设置还没有深入地研究过,有待提高。6、参考文献

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!