基于BP神经网络手写体数字识别的软件设计

目 录
1 绪论 1
1.1 字符识别概述 1
1.2 手写数字识别的意义和应用前景 2
1.3 字符识别的研究与发展 3
1.4 手写数字识别的难点 3
1.5 国内外研究现状 4
1.6 手写体数字识别系统概述 5
1.7 本文内容安排 6
2 手写体数字识别中预处理技术 8
2.1 平滑去噪 8
2.2 二值化 10
2.3 归一化 16
2.4 倾斜校正 20
2.5 细化 22
3 手写体数字识别中串切分技术 25
3.1 切分方法概述 25
3.2 手写数字串常用方法简介 25
3.2.1 投影法的直线切分 25
3.2.2 滴水算法 26
3.2.3 动态规划算法 26
3.2.4 滑动窗口法 26
3.2.5 多模具切分法 26
3.3 本文手写数字串切分方法介绍 27
4 手写体数字识别中特征值提取技术 29
4.1 特征提取概述 29
4.2 手写体字符特征提取方法概述 30
4.3 手写体数字识别中的结构特征提取 32
4.3.1 结构点特征 32
4.3.2 穿越密度特征 34
4.3.3 投影特征 35
4.4 手写体数字识别中的统计特征提取 36
4.4.1 重心矩特征 36
4.4.2 粗网格特征 36
4.4.3 水平、垂直投影特征 37
4.4.4 环凸凹特征 38
4.4.5 全局Kirsh边缘方向特征 39
5 人工神经网络分类器 41
5.1 人工神经网络概述 41
5.2 BP神经网络概述 42
5.3 本文的神经网络结构设计 44
6 系统实现与结果分析 47
6.1 系统实现 47
6.1.1 系统实现环境 47
6.1.2 系统处理过程图 47
6.2 结果分析 48
7 结束语 50
附录:NIST样本库的文件结构 51
参 考 文 献 52
致 谢 54
1.7 本文内容安排
我们主要目标是对有噪声、一定约束书写条件下的脱机手写体数字串的切割和识别算法进行一些探讨性研究,以期提高其准确性,获得更高的可靠性。我们将对原始获取的数字图像(以及模拟一个简单的写字板)进行识别。
本文内容上总体安排为七章。
第一章主要是对OCR和手写体数字识别作简单的介绍。介绍内容有:OCR及手写体数字识别的历史及现状;手写体数字识别的意义和难点;数字串识别系统的整体描述以及本文的研究内容。
第二章:主要是研究手写体数字识别中的预处理技术。本文采用预处理有滤波去噪,阈值分割,归一化,细化等技术,该章节对其进行详细分析。同时本章针对几种阈值分割进行比较,分析其各自的优缺点。
第三章:主要研究的是手写体数字识别中的切分技术。本章将对当前无约束手写体数字串的切分技术进行概述,最后详细介绍本文采用的手写体数字串的切分方法。
第四章:主要研究的是手写体数字识别中的特征值提取技术。在特征值提取模块中,需要根据特征表达方式或者特征提取技术的不同,选用不同的预处理技术。比如对于关键点特征的提取,则需要使用字符的外轮廓、骨架信息。由于单一的特征对数字的描述有一定的局限性,因此本文将采用多特征组合的特征向量作为字符的描述特征值来识别数字。本章将详细介绍这些相关的特征值的提取步骤。另外本章中对传统的细化算法提出了一种的改进方法。
第五章:主要简单介绍神经网络分类识别器实现原理。初步介绍本文采用的BP神经网络,并给出本文采用的学习算法和训练算法。
第六章:介绍了本文实现的系统的开发和运行环境,以及系统的处理过程图,并通过对NIST的图像数据库进行测试,给出相关实验数据。
第七章:对整个论文的研究和工作进行了总结并指出了进一步的研究方向。
NIST共四个文件:
train-images-idx3-ubyte: 训练图片
train-labels-idx1-ubyte: 训练图片对应的数字
t10k-images-idx3-ubyte: 测试图片
t10k-labels-idx1-ubyte: 测试图片对应的数字
训练数据包含60000个样例,测试数据包含10000个样例。测试数据的前5000个样例取自NIST的训练集中的数据,而后5000个样例是NIST中的测试集中的数据。前5000个样例要比后5000个样例更清楚、更容易识别。
NIST的训练数据的文件的格式如下(测试数据的文件格式类似)。
训练图片对应数字文件(train-labels-idx1-ubyte)
偏移量 数据类型 值 描述
0000 32位integer 0x00000801(2049) MSB头
0004 32位integer 60000 样例个数
0008 无符号byte ?? Label
0009 无符号byte ?? Label
…… …… ……. …….
其中Label的值是0~9中之一。
训练图片文件(train-images-idx3-ubyte)
偏移量 数据类型 值 描述
0000 32位integer 0x00000803(2051) 头
0004 32位integer 60000 样例个数
0008 32位integer 28 图片的高度
00012 32位integer 28 图片的宽度
00016 无符号byte ?? 像素值
0017 无符号byte ?? 像素值
…… …… ……. …….
其中像素的值在0~255之间,0表示背景(白色),255表示字符(黑色)。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/sheziqiong/article/details/130969028