研究生毕业论文基于结构特征的自由手写数字识别(编辑修改稿)内容摘要:

用的识别算法。 首先,该系统基于 MNIST 手写数字库,学习该库中样本文件格式,正确读取其中的四个文件,包括两个字符文件,还有字符文件所对应是实际值,也就是另外两个文件,了解了文件的格式,并正确的读取完成对任意字符的读取、操作、显示、写入等操作。 虽然样本进行了初步的大小归一化,但 字符还存在很多噪声,笔道存在断裂,没有进行阈值分割,而且没有进行细化,这 样前期处理就是进行平滑去噪、阈值分割、闭合、细化操作,然后将处理的结果存入文件,以备后期处理。 第二步,进行特征提取、特征甄选,结合,形成一个有效的特征集。 第三步,分两步识别,对于各数字分类,在特征集中选择相关特征综合,确定合适参数直接完成对数字的识别,这个过程是建立在特征的统计和识别结果的统计基础上的,保证了识别规则的准确性,对于不满足识别规则的数字样本,将该样本的特征结合统计的特征集计算隶属度,通过各特征的截断参数进行投票,得票最多的分类 确定为最终识别结果,这个识别过程也是基于对特征的统计,识别结果也是有 效的。 利用形成的识别系统对 10000 个样本进行测试表明正确识别率达到 90%以上。 表明该识别算法有效。 组织结构 本系统处理过程如图 所示: 图 本文中其他各章节展开如下: 预处理 特征提取 分类器设计 南京邮电大学硕士研究生学位论文 第一章 绪论 4 第二章 说明 样本的格式,如何读取样本,对样本进行预处理,将样本按原有格式进行转储,显示。 第三章 说明如何在预处理过的样本上,进行特征的提取,对特征进行提取,最终形成有效的特征集,为接下来的分类 器设计打下基础。 第四章 对最终确定的特征集进行分析,比较各分类在特征集上与其它分类的差别,以确定分类规则,以及隶属关系。 分两层进行识别 ,首先对每一分类都在特征集中提取某一特征组合,直接输出到该分类,这一过程是基于对特征的统计,以及在训练样本集进行测试,确定该识别规则对于该分类的有效性。 接着 ,第二 步 ,对于每一分类中不满足分类规则的 ,进入到下一步的识别 , 对每一样本都在特征集上都进行隶属度的计算 , 取隶属最大的分类。 以上两步完成了对样本的分类识别。 第五章 列出识别结果,对上述识别过程进行总 结。 南京邮电大学硕士研究生学位论文 第二章 DoS/DDoS 防御技术概述 5 第二章 样本的预处理 2 样本 预处理 样本格式 手写体数字识别是光学字符识别 (OCR)中一个非常重要的一个分支 , 有着广泛的应用前景。 人工图像识别的众多理论 , 总是用它 作为 评判的依据。 在长期的研究过程中 ,出现了几个比较标准的图 像 数据库 , 这些数据库中的图像已经过相似的预处理 , 这样使用者就可以观察不同原理产生的结果哪个更好 ,而不用担心由于预处理的不同而对结果产生影响。 MNIST数据库是一个免费的标准数字识别库 ,来自于 ATamp。 T实验室的 . MNIST 数据库分成两个部分 , 一部分是有 60000 个手写数字样本的 训练库 , 一部分是有 10000 个手写数字样本的测试库 , 训练库和测试库的手写体变化分布是相同的。 所有的图像都已经被规范成 28*28 点阵的相同尺寸 .MNIST 可以从网络上免费下载。 许多知名的算法都曾经使用 MNIST 数据库进行测试 , 包括反馈网络 , 支持向量机等。 MNIST 数据库文件的存储格式采用了大多数非 intel 处理器所采用的 MSB first 格式,也就式对于一个 WORD 型变量,首先读取的八位组是 WORD 变量的部八位,这样在取一个WORD 型,或 DWORD 型变量的值时要对变量的大小进行一个转换。 库中包 含四个文件: ( 1) trainimagesidx3ubyte: 训练集的图像数据文件 ( 2) trainlabelsidx1ubyte: 训练集的每个图像数据所对应的真实值文件 ( 3) t10kimagesidx3ubyte: 测试集的图像数据文件 ( 4) t10klabelsidx1ubyte: 测试集的每个图像数据所对应的真实值文件 文件( 1) 包含 60000 个 训练 样本,所采用的格式为: [offset] [type] [value] [description] 0000 32 bit integer 0x00000803(2051) magic number 0004 32 bit integer 60000 number of images 0008 32 bit integer 28 number of rows 0012 32 bit integer 28 number of columns 0016 unsigned byte ?? pixel 0017 unsigned byte ?? pixel 南京邮电大学硕士研究生学位论文 第二章 DoS/DDoS 防御技术概述 6 ........ xxxx unsigned byte ?? pixel Pixels are anized rowwise. Pixel values are 0 to 255. 0 means background (white), 255 means foreground (black). 文件( 2) 内容为文件( 1)中各样本所对应的真实值, [offset] [type] [value] [description] 0000 32 bit integer 0x00000801(2049) magic number (MSB first) 0004 32 bit integer 60000 number of items 0008 unsigned byte ?? label 0009 unsigned byte ?? label ........ xxxx unsigned byte ?? label The labels values are 0 to 9. 文件( 3) 包含 10000 个测试样本,所采用的格式为: [offset] [type] [value] [description] 0000 32 bit integer 0x00000803(2051) magic number 0004 32 bit integer 10000 number of images 0008 32 bit integer 28 number of rows 0012 32 bit integer 28 number of columns 0016 unsigned byte ?? pixel 0017 unsigned byte ?? pixel ........ xxxx unsigned byte ?? pixel 文件( 4)内容为文件( 2)中各样本所对应的真实值, [offset] [type] [value] [description] 0000 32 bit integer 0x00000801(2049) magic number (MSB first) 0004 32 bit integer 10000 number of items 0008 unsigned byte ?? label 0009 unsigned byte ?? label ........ xxxx unsigned byte ?? label The labels values are 0 to 9. 每个样本文件都是一个 28*28 的点阵,将文件( 1)的前 100 个样本显示如图 南京邮电大学硕士研究生学位论文 第二章 DoS/DDoS 防御技术概述 7 图 样本的显示 图 可以看出每个数字样本都进行了大小的归一化,且位置居中, 但每个样本都没有进行细化,有些样本还有明显的噪声,这样在前期的操作就要对样本进行 二值化、 平滑去噪 、细化等操作。 样本文件的预处理 各种预处理操作是否要进行,如何来做具体由样本本身的情况,以及特征提取的要求 来确定。 原有样本并没有进行二值化,且存在噪声点,这样就需要对样本进行二值化,及平滑去噪的处理,对样本数据的分析发现对于笔道上的白色数据点取值集中于 255,而只有笔道边缘,及孤立点才存在介于 0 到 255 之间的“灰”色点,而比背景部分的点值则一律取 0 ,这样,二值化的操作将变得简单, f(i, j) 表 示原有样本文件中点 p(i , j )的取值,则二值化后的取值 F(i , j )为:  255 ( , ) 1000 ( , ) 100( , ) f i jf i jF i j  ( ) 经过二值化后,在样本中噪声点是以孤立的飞白点的形式出现的,去除孤立点要参照其周围点的分布情况来判断,在系统中采用了 3 3 窗口(见图 )来检测的。 南京邮电大学硕士研究生学位论文 第二章 DoS/DDoS 防御技术概述 8 图 P 的 8 – 邻域 去除孤立白点的条件 为 : P = 255 且 71 iv P≥ WP ( ) WP 为阈值,系统中其 WP = 8。 当 WP = 8 时,周围 8– 邻域无连接,表明该点为孤立 点,去除该孤立点,令 P = 0。 接下来对二值化后的样本进行细化操作 ,对于样本而言,为修复笔道不必要的断裂,可以进行闭合操作,但从效果上来看由于样本较小,笔划间隔很小,所以即使采用 3 3 窗口 进行闭合仍然会使原样本丢失很多细节特征,尤其是小的闭合区域,所以这里只做细化操作。 事实上很多数字处理算法中都用到了,笔道宽度这一特征,尤其是对印刷体数字的识别中,而在本系统中没有用到这一特征,认为自由体手写数字,笔道宽度有着随意性,对于本识别系统属于冗余信息,且不利于其它有用信息的提取,因此首先就对样本进行细化操作。 通过细化可以消除目标的很多冗余信息,仅留下进行拓扑分析和现状分类所需要的有用信息。 二值图象细化后的结果称为骨架。 细化算法根据对象、场合的不同而迥异,对骨架没有一个明确的数学定义,一般而言,细化的原则就是连续的擦除图象的边缘像素,直至成为一个象素宽的骨架为止。 实现细化的算法很多,所得到的骨架也各异,但图象的骨架应满足下列要求: 骨架应保持图象的连续性,不应使笔道发生断裂; 骨架为 8 连通的, 不应存在多余的象素点; 骨架的端点 应基本上是原象素的端点; 骨架应基本上位于图象的中轴位置; 应有一定的抗噪 能力,不应发生严重的畸变; 细化算法可分为串行算法、并行算法、混合算法,各种细化算法的不同点主要在于使用P3 P2 P1 P4 P P0 P5 P5 P7 南京邮电大学硕士研究生学位论文 第二章 DoS/DDoS 防御技术概述 9 模板进行检测的顺序和模板形状的差别上,总体上来说,串行算法速度较快,并行算法容易实现。 本系统 考虑过两种 并行算法, 两种方法的具体实现如下: 方法 1: bool temp = false。 bool Condition1 = false。 bool Condition2 = false。 bool Condition3 = false。 bool Con。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。