APP下载

手写试卷分数求和器的设计与实现

2015-07-09王军等

现代电子技术 2015年8期
关键词:BP神经网络图像处理

王军等

摘 要: 该设计实现了一种新型的试卷分数求和器,利用摄像头直接获取手写试卷分数栏信息,实现分数求和功能且能够自动适应不同的求分栏数目。求和器首先利用摄像头对试卷实时采样并对其进行二值化、图像定位和图像分割等预处理,然后利用BP神经网络对分割出的字符进行数字识别,最后将识别出的数字加和显示在GUI界面中。实验表明,该求和器能够以较高概率实现对手写试卷分数的自动求和,具有较大的应用前景。

关键词: 手写试卷; 分数求和器; 图像处理; 分值识别; BP神经网络

中图分类号: TN919?34; G741 文献标识码: A 文章编号: 1004?373X(2015)08?0022?04

Design and implementation of A novel score summer system for handwritten test paper

WANG Jun1, SUO Yue2, XIAO Zhen?dong1, ZHANG Min1, QIAO Xiao?lin1

(1.Weihai Branch, Harbin Institute of Technology, Weihai, 264209, China; 2. Skyworth LCD Co., Ltd, Shenzhen 518000, China )

Abstract:A novel score summer system for handwritten test paper is proposed in the paper. The summer system acquires the score information of handwritten test paper by digital camera, and then can automatically output the summation and can adap itself to different number of score?lines. The summer firstly captures the image of test paper by digital camera and then preprocess the image including binaryzation, image positioning and segmentation. The BP neural network is employed to accomplish the score value recognition based on the preprocessed result, and then the summation is displayed on GUI interface. The experiments based on real system show the proposed score summer system can implement automatic summation of handwritten test paper in high probability.

Keywords: handwritten test paper; score summer system; image processing; score value recognition; BP neural network

0 引 言

手写试卷分数求和工作量非常大且容易出错,找到一种能降低人为错误和提高效率的求和方法具有现实应用意义。本文主要研究试卷分数求和器的设计与实现,以期能设计出一种快捷、有效的试卷分数自动求和器系统,可减少人工工作量并能够提高效率。该分数求和器对批改好的手写试卷分数进行数字识别,然后自动计算出总分,能大大提高教师试卷批改的效率。现在的试卷批改方法大体有两种:手工的传统方法,耗时长,同时有一定的错误率;利用炭对红外的电敏感性实现的电脑读卡法,需要专门的填写和专业的读卡设备,这种方法效率高、准确率高,但成本也高[1]。

本求和器首先利用数字摄像头对手写试卷分数信息进行获取,然后利用手写体数字识别方法进行图像处理,以实现对手写的试卷分数自动求和功能。

1 图像信息处理

本求和器系统组成框图如图1所示,核心是利用图像处理方法对摄像头获取的图像进行处理,实现分数求和。

图1 系统框图

在图像信息处理中,求和器系统实现:利用摄像头实现图像采集、图像预处理、图像定位和图像分割。

1.1 图像采集

图像采集利用Matlab的Image Acquisition Toolbox工具箱。将摄像头固定在试卷上方,通过Matlab查询视频设备,直接调用摄像头,打开预览窗口,对试卷进行瞬时抓拍,并将所采集的图像进行存储。在本系统中需要采集的对象为手写试卷计分栏,图2所示。可以看出,在采集的图像中,有很多与分数无关的文字和线条。利用Matlab软件实现图像采集的流程图如图3所示。

图2 需要采集的对象

图3 图像采集流程图

1.2 图像预处理

采集图像后,通过imread函数将图像读取为二维矩阵数据,然后对其进行灰度化、二值化、取反、规范化[2]等预处理,图4是将图2所示原始采集图像进行预处理之后的结果。

图4 原图像灰度化及二值化后图像、取反后图像

1.3 图像定位

要实现对分数的识别,需要对预处理后图像进行定位,通过定位确定分数图像的位置。在本系统中,图像的评分栏定位采用了摄像头定位与投影法相结合的方法,画出取反后图像的垂直投影及水平投影,如图5所示。

图5 取反后图像的水平投影及垂直投影

对其投影分析可知,评分栏图像的横坐标约在60~370之间,纵坐标约在145~275之间。由于摄像头获取图像可能会存在些微的位置误差,因此,截取图像时将坐标范围适当扩大,选取了横坐标55~380之间,纵坐标在140~280之间,以此区间实现对从预处理图像中对评分栏进行定位,定位后的分数栏图像如图6所示[3]。

图6 定位后图像

1.4 图像分割

在定位后图像中,根据评分栏进行图像分割实现不同题目的分数图像分离在本设计中具有非常重要的意义。本设计中的分割涉及到两次边框分割和一次字符分割。每一次分割均采用投影法,通过判断投影值选取图像的起止点,分割出所需图像[4]。第一次投影分割过程如下:首先画出图像的水平投影图,如图7所示。

图7 定位后图像的水平投影

在评分栏图像的水平投影图上的横向从左侧到右侧依次检测每1个坐标的投影数值,将检测到的投影数值出现第1个大于等于150时,那么将这个投影数值所属的像素点即看做是第1行区域的上边界限。然后继续向右检测,将检测到的投影数值出现第1个大于等于150时,那么将这个投影数值所属的像素点即看做是第1行区域的下边界限。投影算法流程图如图8所示。

图8 图像分割流程图

根据图8所示图像分割流程,设计Matlab程序,实现对图像的分割,第1次分割后的图像图9所示。从图中可以看出,经过一次分割后,不同计分栏中的分数已经实现分离,但其中包含了不是分数的文字信息,如在图9中的第一张子图中出现汉字“分数”。

图9 第一次分割后图像

与第1次图像分割同理,第2次及第3次分割也以此流程进行分割。第2次及第3次分割后图像如图10、图11所示。其中第3次分割的目的是若某一题的分数为两位数,则对图像进行第三次分割,将两位数字分割成单个的数字,为实现数字分数识别[5]做准备。

图10 第二次分割后图像

图11 第三次分割后图像

进行三次分割后,对分割出来的图像进行特征提取,如图12所示,以便于后续的数字识别[6?8]。

图12 第三次分割后图像的特征提取

2 数字识别

在本分数求和器系统中,基于特征提取结果,利用BP神经网络实现手写体数字的识别。

2.1 BP神经网络法

手写体数字识别系统主要由训练过程与识别过程两部分组成,训练过程和识别过程两部分均包括预处理、特征提取和模式识别三部分。本课题采用BP神经网络方法对手写数字进行识别。BP神经网络又称误差反向传递神经网络,它是一种依靠反馈值来不断调整节点之间的连接权值而构建的一种网络模型[9]。它的整个体系结构分为输入层、隐藏层和输出层,其中隐藏层根据具体情况的需要,可以是一层结构也可为多层结构。BP网络属于前向神经网络,给多层网络的训练提供了比较有效的办法,加之多层前向神经网络能逼近任意线性函数,在科学技术领域中有广泛的应用,因此,该算法一直受到人们的广泛关注。

2.2 BP神经网络结构

将数字图像的特征向量作为神经网络的输入,所以神经网络的输入层神经元个数等于特征向量的维数,即70×50=3 500个输入神经元。因为要识别10个数字,因此输出选择为10×1的矩阵,即输出节点数为10。当数字图像0~9输入神经网络后,在输出神经元对应的位置上为1,其他的位置为0。如果输人数字0,第1个输出神经元为1,其他输出神经元为0;如果输入数字1,第2个输出神经元为1,其他输出神经元为0;依次类推。

建立一个前向BP神经网络函数,主要程序如下:

net = newff(minmax(alphabet),[S1 S2],{′logsig′ ′logsig′},′traingdx′);

其中:minmax(alphabet)为神经网络对它的3 500个输入元素的最大值和最小值的限制;alphabet为训练样本集合;[S1 S2]为该神经网络的层结构;{′logsig′ ′logsig′}为该神经网络各层的转移函数,均设置为对数S型激活函数。训练函数采用traingdx,即梯度下降BP算法训练函数。最后通过train函数对目标样本进行训练,通过sim函数进行仿真,输出神经元最大值,即识别出的数字[10?13]。

3 系统实现

实现手写试卷分数求和器的实际系统如图13所示,基于实际系统进行题数可选功能和报警功能的测试,对识别正确率进行了统计。

图13 实际系统

3.1 题数可选功能

本系统具有题数可选择功能,七、八、九题均可,选择出要识别的试卷的题数,即可进行识别,并在总分处显示出总分。实现方法为:在GUI设计中,在GUI界面上放置三个按钮,分别命名为“七道题”、“八道题”、“九道题”,每个按钮内均包括第2次分割、第3次分割、识别及结果显示的程序语句,不同之处仅在于第2次分割时,所分割出的图片数不同,显示出的图片数也不同。实际系统效果如图14~图16所示。

图14 识别后GUI界面(七道题)

图15 识别后GUI界面(八道题)

图16 识别后GUI界面(九道题)

3.2 报警功能

本系统设计具有报警功能,若所识别的图像某一大题处为空白,会在总分上面显示出“there is an enpty!”进行报警,效果如图17所示。

实现方法:对每道题的图片取垂直投影histcol3,令mm=sum(histcol3),即对垂直投影histcol3求和,若mm<8,则说明框内基本无内容,即框内空白,则在总分上方的坐标系区域内显示“There is an empty!”的图片,实现报警[14]。

图17 空白报警GUI界面

3.3 系统准确率

对手写分数的识别准确率是衡量系统的重要指标,它决定了系统是否具有实际应用价值。本设计中共取20个分数栏图像作为训练样本,每个图像中含有10个手写体数字,共200个测试样本对系统进行性能测试。测试结果如表1所示。由表1中的数据可知,总体数字识别的正确率为93.25%,正确率较高。就本设计而言,数字识别准确率与摄像头获取图像的亮度、手写数字的间距等均有关,因此,在实际运用中,还应对图像获取、数字位置等都有准确规定,以获得更高的准确率。

表1 求和器准确率

4 结 论

本文根据手写试卷评分特征,利用图像分割理论和BP神经网络,实现了试卷分数求和器系统设计。求和器能够自动实现对手写试卷分数的总分计算,减少了人工统计计算成本;求和器所具有的题数可选功能和对空白分数栏的报警提示功能,提高了系统适应性,能对试卷评分栏进行检查,排除分数漏统计风险。经过实际测试表明,本分数求和器的准确率达到93.5%,这表明基于本系统设计理论的手写分数求和器具有实际应用意义。通过对图像分割和数字识别算法进行改进,可进一步提高系统准确率,将本系统实际应用于手写试卷评分领域。

参考文献

[1] 郝梦琳.手写体数字识别方法的研究与实现[D].太原:太原科技大学,2013.

[2] 康明.手写体数字识别技术研究[D].武汉:武汉理工大学,2010.

[3] 张彤,肖南峰.基于BP网络的数字识别方法[J].重庆理工大学学报:自然科学版,2010,24(3):59?63.

[4] 王岩松.手写体数字识别中的关键技术研究[D].北京:北京邮电大学,2009.

[5] 姜天戟,袁曾任.基于BP和统计的混合法前馈型神经网络及其应用[J].软件学报,1996(6):379?384.

[6] 孙少林,马志强,汤伟.灰度图像二值化算法研究[J].价值工程,2010(5):142?143.

[7] 李强.图像分割中的阈值法研究[J].铜仁职业技术学院学报, 2008(6):52?54.

[8] 戴建辉.自由手写体数字识别系统的设计与实现[EB/OL].[2010?12?15].http://wenku.baidu.com.

[9] 薛智勇,娄雪芳.基于BP神经网络的手写数字识别[J].仪器仪表与分析监测,2009(2):25?30.

[10] 张新峰,沈兰荪.模式识别及其在图像处理中的应用[J].测控技术,2004,23(5):28?32.

[11] MAN Zhi?hong, LEE Kevin, WANG Dian?hui, et al. An optimal weight learning machine for handwritten digital image recognition [J]. Signal Processing, 2013, 93(6):1624?1638.

[12] CARDOSO Angelo, WICHERT Andreas. Handwritten digit recognition using biologically inspired features [J]. Neurocomputing, 2013, 99(1):575?580.

[13] KUSSUL Ernst, BAIDYK Tatiana. LIRA neural classifier for handwritten digit recognition and visual controlled microassembly[J]. Neurocomputing, 2006, 69(16):2227?2235.

[14] 孙祥,徐流美,吴清.Matlab 7.0基础教程[M].北京:清华大学出版社,2005.

猜你喜欢

BP神经网络图像处理
基于图像处理的机器人精确抓取的设计与实现
机器学习在图像处理中的应用
Bayesian-MCMC算法在计算机图像处理中的实践
改进压缩感知算法的图像处理仿真研究
就bp神经网络银行选址模型的相关研究
基于DEA—GA—BP的建设工程评标方法研究
复杂背景下的手势识别方法
BP神经网络在软件质量评价中的应用研究 
BP神经网络算法在数值预报产品释用中的应用
基于图像处理的定位器坡度计算