网上斗牛

2017届优秀毕业论文(五)

作者: 时间:2018-09-12 点击数:

基于数字图像处理与神经网络的机器视觉试卷记分系统

通信工程  201310359   刘亚龙

指导老师   蒋占军(教授)

 :如何提高试卷分数的录入效率逐渐得到人们的重视。本文针对这一问题,设计了基于数字图像处理与神经网络的机器视觉试卷记分系统。本系统由数字图像处理算法、BP神经网络、硬件控制电路和自动化机架构成,实现了自动识别试卷上特定信息区域内分数与学号的手写体数字,并将结果保存在斗牛XC斗牛L文件中的功能。在系统性能的测试环节中,本系统均方误差小于1%,达到了预期的效果。本系统可以在日常的小规模考试环境中得到相关的运用,从而在一定程度上减少分数录入人员的工作强度。

关键词BP神经网络,MATLAB,数字图像处理,Arduino,试卷识别

1 引言

近年来,考试这一现象愈加普遍,国内的评卷系统目前主要以答题卡为主。答题卡的大规模使用会造成考试流程中不可忽视的额外费用和一定程度上的纸张浪费。因此,绿色化评卷系统的研究意义不可忽视。本文针对这一问题,进行系统的方案论述、电路设计、算法研究与实物模型设计。

2  系统总体设计

系统总体框架如图1所示,主要分为数字图像处理算法、BP神经网络、硬件控制电路和自动化机架这四大部分。

1  系统总体框架

自动化机架用于放置等待识别的试卷,采用SolidWorks软件对系统的大体框架进行设计。硬件控制系统采用上下位机的方案上位机程序采用MATLAB实现下位机控制系统采用Arduino单片机作为控制核心,控制机架内的推纸机与卷纸机将试卷自动卷出机架。数字图像处理算法对采集到的图像进行大小重定义、阈值二值化等处理,生成单字符图片以及下位机控制信号。生成的系统控制信号将通过USB-HUB发送给单片机,单片机操作控制系统执行对应的操作,而图像处理完毕的图片将输入神经网络进行识别。最终的识别结果将保存为斗牛XC斗牛L,方便用户访问与编辑。

3 自动化机架设计

本系统硬件结构如图2所示,采用SolidWorks软件进行设计,主要分为机架主体部分、卷纸机和推纸机。机架的主体为整体系统的硬件支架,可以为硬件控制系统、卷纸机和推纸机提供安装与固定的空间。卷纸机由步进电机和滚轮结构组成,负责在系统启动后持续向外匀速卷送纸张。而推纸机则负责在系统完成图像的识别之后将当前纸张推入卷纸机。这三个主要硬件结构搭配工作,完成系统所需的自动化功能。

2 系统硬件结构图

4 硬件控制电路

3 控制系统原理

控制系统部分如图3所示,主要部分由Arduino UNO 板卡、SG90舵机、42步进电机、A4988驱动板、信号开关、555脉冲发生器以及USB-HUB构成。USB-HUBUSB集线器,本系统中使用4USB集线器,分别为Arduino、摄像头、舵机和补光灯提供电源与数据连接。

555脉冲发生电路可以通过电位器手动调节脉冲频率,Arduino控制信号开关,为步进电机驱动器提供大约10KHz的高频步进脉冲,驱动步进电机将识别完成的试卷快速卷出。

Arduino板卡为主控制器,通过USB-HUB与电脑进行串口通信,接收串口发来的数据并转换成对应的控制信号。提供步进电机驱动板的方向信号、信号开关的控制信号和控制SG90舵机的PWM波。

5 数字图像处理

4  数字图像处理流程图

本系统在处理数字图像时的总体流程如图4所示。在系统启动时,首先会获取当前光照条件下的图片阈值grayth,以便在后续的处理中可以加快运算速度与减小干扰。

进入循环识别程序后,MATLAB将从摄像头获取当前试卷上识别区的图片,随即利用系统启动时获取的图片阈值grayth,将当前采集到的图像转化为二值化图像。再利用MATLAB图形处理工具箱内的函数填充微小连通区域,之后对识别区图像周围的白边进行切除,最后截取图片中识别区的下半边作为有效图片输出,该图片已经包含我们需要识别的信息。

输出的有效图片将送入字符分割算法,以进行字符分割。字符分割算法的输出为单个字符的图片,在输入神经网络之前还需要进行字符大小的归一化处理,使之成为35个元素的一维向量。此时,即可将这个35个元素的向量输入神经网络进行进一步处理。

6 BP神经网络

MATALB中,提供了newff函数,可以使用这个函数来建立一个神经网络。本设计使用BP算法来调整连线的权值与节点的阈值,使之成为BP神经网络。

如图5所示即为本系统中设计的神经网络结构:

5  神经网络结构

一般情况下,单隐层的BP网络就可以拟合各种可导函数。经过实际的比较与测试,本系统中最终选用了2层隐层。因此,本设计的神经网络为3层网络。经过实际调试与比较,两个隐层都选择10个节点,可以达到较好的识别效果。在各种神经网络中,输入层各神经元节点的作用均为提供训练集样本数据的输入接口。因此,实际中应用问题的输入特征数有多少,网络的输入节点个数就等于多少。在本系统中,输入数据是字符特征为35个元素的一维向量。因此,神经网络的输入层为35个节点。

另外,在本系统的神经网络中,隐层和输出层的节点均使用logsig”作为激活函数,在神经网络训练时,则使用“traingdx”作为反向传播的学习函数。

7 系统测试与总结

机架的工作状态如图6所示,系统完成一张试卷的识别后,自动将其卷出,直到完成最后一张试卷的识别,系统自动停机,并将识别的结果保存为斗牛XC斗牛L

一个系统的性能是由多种因素决定的,使用不同算法的系统,性能也会有各方面的不同。我从相关文献以及报告之中了解到了多种系统的性能。目前,此类系统的较高能够达到96%以上的正确率;在设置拒识率为小于15%的输入样本时,字符的误识率就能降到0.5%以下。

6 系统实际工作状况

神经网络的其性能与训练样本有很大的关系,如图7所示,本系统输入560个训练字符后,经过了290轮学习周期,误差降低到了1%以下,测试正确率为99.1%,每张试卷的运行周期为0.6s左右,速度以及识别率还是令人很满意的。因此得出结论:此识别系统与现有的其他识别系统运行速度相差不大,准确率也比较高,所以该系统是可行的。

7 系统识别率

结论

本文针对手写体数字识别的基本原理及相关方法作了部分介绍,设计BP神经网络的时候使用自己采集的手写体数据集进行学习和训练,并用MATLAB图像处理工具箱内的基本图像处理函数实现了手写体数字识别系统。经测试与实际操作结果表明,所搭建的BP网络结构模型符合实际数据结构,基于BP神经网络的识别方法在识别手写体数字时具有可行性。在系统的优化过程中,增强滤波算法对噪声的过滤,增大训练集的样本数以及增加神经网络的训练次数,都能够在一定程度上提高系统的识别正确率。另外,系统在图像处理特征归纳的时候,容易产生字形结构细节丢失的问题。这虽然是个不可避免的问题,但仍有待我们进一步的优化。

参考文献

[1]  ,面向MATLAB工具箱的神经网络理论与应用[M].安徽:中国科学技术大学出版社,2003:19-35.

[2]  张立明,人工神经网络的模型及其应用[M].上海:复旦大学出版社,1992:156-170.

[3] Yang J M, Kao C Y. A robust evolutionary algorithm for training neural networks. Neural Computing and Application [M], 2001.10 214-230.

[4]  蔡元明,神经网络识别手写体数字预处理后样本空间凸集性研究[D].保存地点:华中科技大学图书馆,1995.

[5]  Rivas-Casado Angel; Martinez-Tomas Rafael; Fernandez-Caballero Antonio, Multi-agent system for knowledge-based event recognition and composition, 斗牛XP斗牛RT SYST斗牛MS[J], 2011,28(5):488-501.

[6]  佟鑫.手写体数字识别技术的研究及在自动判卷系统中的应用[D]. 保存地点:东北师范大学,2009.

Copyright ? 2017   Powered by    兰州交通大学网上斗牛   All Rightseserved.

地址:兰州交通大学电信学院办公楼    邮编:730070