CN101447017A - 一种基于版面分析的选票快速识别统计方法及系统 - Google Patents

一种基于版面分析的选票快速识别统计方法及系统 Download PDF

Info

Publication number
CN101447017A
CN101447017A CNA2008101626290A CN200810162629A CN101447017A CN 101447017 A CN101447017 A CN 101447017A CN A2008101626290 A CNA2008101626290 A CN A2008101626290A CN 200810162629 A CN200810162629 A CN 200810162629A CN 101447017 A CN101447017 A CN 101447017A
Authority
CN
China
Prior art keywords
slope
local
row
ballot paper
symbol
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2008101626290A
Other languages
English (en)
Other versions
CN101447017B (zh
Inventor
肖刚
陆佳炜
陈久军
高飞
张元鸣
沈军强
刘海萍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University of Technology ZJUT
Original Assignee
Zhejiang University of Technology ZJUT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang University of Technology ZJUT filed Critical Zhejiang University of Technology ZJUT
Priority to CN2008101626290A priority Critical patent/CN101447017B/zh
Publication of CN101447017A publication Critical patent/CN101447017A/zh
Application granted granted Critical
Publication of CN101447017B publication Critical patent/CN101447017B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Character Input (AREA)

Abstract

一种基于版面分析的选票快速识别统计方法,选票格式可由选举单位自定义,利用高速扫描仪对选票进行图像采集,并对关键符号,如勾、叉、圈或填涂式小方块,建立语义库,通过符号数据与语义之间的映射增强计算机对选票图像的理解能力,所述方法包括:(1)将选票扫描成选票图像;(2)将选票图像进行预处理,并建议投票符号的预定义语义库;(3)选票图像的倾斜校正;(4)表格线检测和提取;(5)符号检测和提取;(6)符号识别;(7)将识别后的结构存入数据库。以及提供了一种基于版面分析的选票快速识别统计系统。本发明适用性强、准确性高、提高工作效率。

Description

一种基于版面分析的选票快速识别统计方法及系统
技术领域
本发明涉及一种选票快速识别统计方法及系统。
背景技术
选举是人类社会重要又普遍使用的体现民主的一种手段,随着民主制度的健全,民主选举越来越受到人们的关注。通过选举,选民可以按自己的意愿产生公认的候选者。
当前大多数选举使用的选票为表格式,对其版面的理解是模式识别与图像处理的典型应用之一,国内外学者围绕着相关关键技术展开了大量的研究工作;另一方面,随着人类社会文明程度的推进,选举模式作为体现民主制度的方式之一也得到高度的发展,围绕着选举方式展开的一系列技术研究旨在保证最大程度的公平、公正和高效。随着计算机技术的迅猛发展,各国的选举模式、计票方法也日新月异,国内外学者也同样展开了大量的研究工作。
表格图像处理的关键技术包括图像倾斜校正、区域定位、文字与符号识别等。表格通常由手工填好,然后通过扫描仪采集以图像形式保存于电脑中,而在扫描的过程中不可避免地存在一定的倾斜。目前估算文档图像倾斜角的算法主要包括三类:基于投影的方法、基于Hough变换的方法和基于最小二乘的方法。基于投影的方法(如张丘(上海交大,2004)等、何希平(重庆大学,2006)等)利用投影的某些特征进行判断,对文档图像进行不同角度的投影测试,在得到的系列结果中提取最佳的投影效果,从而估算文档图像的倾斜角。该方法缺点是计算量大,得到的倾斜角角度精度取决于进行不同角度投影测试时的单位步长。基于Hough变换的方法(如Ting Antoine(美,1999)等、Manjunath Aradhya VN(印度,2006)等、彭健(重庆大学,2002)等、刘冰(东北大学,2000)等)主要是将原始的坐标平面映射到Hough空间中经过该点的直线上的所有点,其不足之处在于计算的时空复杂度较高,对符号分散的情况,映射角度选择比较困难。基于最小二乘的方法(如孙传舰(中科院,2000)等)首先选择文档图像的一组特征点,形成包含N个特征向量的特征集,其中每个特征点都是一个独立的样本,假定存在一条直线y=a+bx,对一组特征点计算残差 J = Σ i = 1 N ( y i - a - bx i ) 2 , 令残差最小,解出b的值,即可求出图象的倾斜角,但计算b时需要做大量的乘法运算,时间复杂度大。
区域定位在文档图像识别系统又称为版面分析或版面理解,即将数字图像分割成多个区域,并且确定每个区域的类别,比如文本、表格、符号等,实现各个区域的定位。版面分析主要包括三类方法:自顶向下方法、自底向上方法、综合方法。自顶向下方法包括投影分析法、游程合并算法。投影分析法(如施鹏飞(上海交大,2003)等、冯国进(南京理工,2003)等、Selin Baskan(土耳其,2002)等)是在某个方向上对二维图像进行投影,通过对直方图分析,结合局部或全局阈值法对其进行区域分割。游程合并算法(如朱莹(哈工大,2003)等、张凯兵(西华大学,2005)等、吴立德(复旦大学,2002)等、C.Strouthopoulos(希腊,1999)等)是指如果同一行中两个相邻的游程距离较短,就将这两个游程合并为一个游程。自底向上方法包括区域生长法(如George Miliaresis(希腊,2007)等、Miguel Vieira(美,2005)等、张发存(西安理工,2004)等),是从图像最小单元(像素)进行分析,得到连通体,然后对连通体采用一定的策略进行合并得到更高级的结构,同时在合并过程中获取版面结构信息。自底向上的分析方法适应能力强,能够分析比较复杂的版面,但计算量大。自顶向下和自底向上方法各有优缺点,将两者结合得到的综合方法灵活性强,但在实际应用中针对不同的情况需要采用不同的方案。
用于版面符号识别常见方法包括模板匹配、统计模式识别、结构模式识别和神经网络模式识别等。模板匹配(如J.R.Parker(加拿大,2000)等、周琨(清华大学,2002)等)首先需要存储一些已知模板,然后考虑所有可能的变化,将待识别模块与已知模板相比较得出二者的相似度。统计模式识别(如张香让(中科院,2004)等、孙挺(西南科技大学,2003)等)根据模式的统计特征,用一个n维特征空间(特征集)来描述每个模式,然后基于概率论、数理统计以及矩阵理论和向量代数的知识,利用合适的判别函数(每个模式类的特征值分布函数),将这个n维特征空间划分为m个类别,该方法适应能力强,但计算量大。结构模式识别(如张重阳(南京理工,2004)等、周贵祥(南京电子制造集团,2006)等、马礼(北京理工,2003)等、沈怡(南京大学,2003)等)主要是基于特征的结构相关性进行内部模式结构的描述,比较适用于结构特征比较明显的模式。神经网络模式识别(如刘建胜(重庆大学,2002)等)是模拟人脑进行识别,通过对例子的训练学习,得出其结构特征进行推广,需要大量的训练样本。
在表格图像理解中,汉字识别是其中的关键技术之一。对于选票而言,主要是候选人姓名的识别。对于印刷体的汉字识别,目前技术已经基本成熟,如中科院、清华大学、北京大学等均有该项技术,本发明中将采用现有成熟方法来识别印刷体的候选人姓名;对于手写体的汉字识别,虽然目前提出了多种算法,如杨慧(中国民航学院,2005)等提出的基于改进BP网络的手写体汉字识别技术、温尚清(华南理工,2006)等提出的基于贝叶斯网络的手写体汉字识别方法等等,但按目前的技术来看,要保证100%的准确率,仍然是个难点。
根据投票与计票方式的不同,可将当前选举模式概括为三类:纸质选举人工计票、无纸化电子选举、纸质选举自动计票。纸质选举人工计票是全纸质式的选举计票方式,其特点在于人工统计票数的工作量大,但纸质选票具有可验证性、正确性等优点。
国外研究是以无纸化电子选举为主。电子选举是选举在形式上的一次崭新飞跃,它在计票的快捷准确、人力和开支的节省、投票的易用性等方面,有着传统投票方式无法企及的优越性。尽管如此,该方式仍然受到了广大选民的质疑,存在的很多问题,如安全性、票据的不可验证性等。
在国内,一些大型的选举场合也采用电子选举方式,如浙江省人大会堂等,但更多中等、小规模的选举或投票活动仍采用纸质的形式。中科院成都计算机所2000年研制的“第六型计算机会议选举系统”,但该系统属于前台选举系统,为电子选举方式,具有准备工作时间长、人员支出大、成本高等特点,不适合小型的选举会议。张香让(中科院,2004)等又开发了高速后台选举系统,实现在了纸质选票的快速计票功能,但该系统所使用的选票格式固定,且为涂卡式,与人们通常采用的打勾、叉、圈的习惯不相吻合,因此市场接受程度较低。王庆生(安徽大学,2002)等介绍了利用OMR(光标阅读机)自动读票的计算机选举系统的设计原理和实现方法,实现了选票的识别,而OMR有其本身的限制:采用特定的信息卡,信息卡上的“涂点”要与电眼完全对齐,即信息卡在录入时不能倾斜、信息卡不能皱折、纸张质量对印刷技术要求高、填写标记要规范,等等。选票知识竞赛网开发设计的“电脑计票阅卷系统”采用人工填写勾、叉、圈等符号,沿袭了传统的投票方式,但选票样式固定,区域的定位信息都是事先学习过的,且填写意愿已经被分成赞成和不赞成,只需对相应的小矩形框进行统计即可。孙挺(西南科技大学,2002)等提出了理想情况下勾、叉、圈符号的识别方法,其缺陷是选票样式固定,不能适应倾斜图像的处理,且对于手写体或非理想情况下的符号不能正确识别。
综上所述,三种选举方式各有优缺点(如表一所示),但正如Wendy M.Grossman(美,2004)所言,纸质选举自动计票方式将成为一种新的潮流。
表1是三种选举方式比较示意:
Figure A200810162629D00131
表1
在表格图像处理的关键技术中图像倾斜校正、区域定位等算法的计算量偏大,不适于手写选票符号的快速预处理要求,需要进一步改进;
在当前选票符号识别中,主要是针对理想符号的情况,对于手写的勾、叉、圈或填涂的小方块等符号缺乏相应的算法;而且符号识别的准确率也不高,事实上在很多场合,要求对符号的识别率达到100%准确,如计票系统,因此这也是需要解决的重要问题之一;
目前针对选票的自动统计系统中,大多数为涂卡式,采用OMR技术,设备投入大,成本高,而且格式固定,通用性较差,其市场适应性也较小;少数为勾叉圈识别系统,但其票据格式固定。本发明中针对的选票处理为版面理解方式,选票格式并不作具体要求,可适应多种表格式选票的统计要求;
在各种选举活动中勾、叉、圈或填涂式小方块所表示的含义也可能不同,如有些情况下叉表示不同意,有些情况则可能表示弃权,而当前系统中缺乏这种语义库的支持,直接导致系统的市场适用性较低;
根据当前的OCR技术,对于手写汉字的识别到100%的准确率将十分困难,如何处理这种情况在当前计票系统中也缺乏有效的解决策略。
发明内容
为了克服已有的选票识别统计方法及系统的适用性差、准确性低、工作效率低的不足,本发明提供一种适用性强、准确性高、提高工作效率的基于版面分析的选票快速识别统计方法及系统。
本发明解决其技术问题所采用的技术方案是:
一种基于版面分析的选票快速识别统计系统,所述选票快速识别统计系统包括:图像采集模块,用于将选票扫描成选票图像;图像预处理和预定义语义模块,用于将选票图像进行预处理,首先将选票图像转换成二值化图像,再进行平滑和细化处理;并建立投票符号的预定义语义,所述投票符号包括勾、叉和圈,依照图像形状特征分析,通过竖线特征区分勾和圈、叉,通过轮廓的局部方向特征区分圈和叉;图像倾斜校正模块,用于将预处理后的选票图像进行增强处理,选取有效的子区域,检测表格的边缘线,提取表格线边缘点建立边缘点集,并为每个边缘点建立一个局部斜率特征集,最终形成以局部斜率特征集为集合元素的整体斜率特征集,通过先局部后全局的两轮筛选,得出整体斜率特征集内具有全局最大投票数的斜率,对应的倾斜角即为选票图像的倾斜角,并依照倾斜角进行位置校正,并将表格平移到选票的重心;选票图像的表格线检测和提取模块,用于进行表格线的检测和提取:其中,检测表格横线的过程为:建立行像素数组HBlackNum[1Height],1Height代表选票图像的像素高度;自下而上扫描选票图像,在行像素数组HBlackNum[1Height]中记录下每一像素行中的黑像素数,同时记录下含最多黑像素数的像素行;取含最多黑像素数的像素行的像素数的1/2作为横向表格线的分割域值Tn,规定行像素数组HBlackNum[1Height]中像素数不小于该域值的像素行为一条横向表格线HLine[]所在的像素行;最后定义一个相邻表格线之间的距离域值Td来滤除重复的表格线;检测表格竖线的过程与上述表格横线相同;
符号检测和提取模块,用于通过搜索这四条表格线之间的区域即可搜索得到该单元格中的投票符号;符号识别模块,用于提取投票符号的列目标点数及列目标点的位置,并做统计:依照预定义语义,如果列目标点数以一个为主,则为勾,如果列目标点数以两个为主,则为圈和叉;接着,对圈和叉的投票图像提取其轮廓特征,如果局部方向特征呈现先递增后递减、列目标像素点之间的距离逐渐缩小且局部方向特征的翻转次数为一次,则为圈,如果局部方向特征呈现先递减后递增的现象且局部方向特征的翻转次数为一次,或者先递增后递减再递增且局部方向特征的翻转次数为两次,则为勾;统计结果存储模块,用于将投票符号识别后的结果存入数据库。
本发明的技术构思为:基于版面分析的选票快速识别统计方法,选票格式可由选举单位自定义,利用高速扫描仪对选票进行图像采集,并对关键符号(如勾、叉、圈或填涂式小方块)建立语义库,通过符号数据与语义之间的映射增强计算机对选票图像的理解能力,从而为实现选票的快速识别提供解决方案,既尊重选举习惯,又实现选票的快速统计。另一方面,由于本发明主要针对表格处理,对语义库稍加扩展即可在横向跨度上被应用到行政机构、教育机构、金融机构等多个领域,纵向跨度上可以大到国家级领导人物的选举,小至村委会的选举等,可以节省大量的人力和物力,提高工作效率,充分而合理地利用信息资源,提高管理水平,而且随着文字识别和图像理解技术的提高,以及所需的扫描仪成本的下降,本发明会有更进一步的应用前景。
本发明的技术方案包括以下三点:
(1)根据选票的版面特点,提出基于直线斜率的文档倾斜自动校正方法经过对大量传统选票图像的观察与分析,得出选票具有如下几个特点:
1)、选票的印刷质量一般比较好,极少有因印刷而导致选票上内容的倾斜,因而可以忽略因印刷而导致的倾斜。可以假设选票图像的倾斜都是因扫描时选票放置不正引起的。
2)、选票图像一般由选票标题,选票主体和选票注释文字构成。不过选票的标题和注释性文字可能包含在表格内部。
3)、为了方便选民一一对应地填写投票符号,选票的主体一般采用表格形式,表格简洁规范,一般采用实体框线。
4)、由于采用ADF进行扫描,选票图像的倾斜角度一般都不会很大,一般在(-20°,20°)之间。
设选票图像的宽度为w,高度为h,像素点(x,y)的灰度值用f(x,y)表示,f(x,y)为0时表示当前点为背景点,f(x,y)为1时表示当前点为目标像素点。i表示选票图像的列,j表示选票图像的行,black[i]表示第i列从上往下扫描找到的第一个目标
{(i,j,black[i])|0≤i<w,
像素点所在的行0≤j<h,0≤black[i]<h},每个边缘点(i,black[i])对应的局部斜率特征集用f[i]表示。
基于直线斜率的选票图像倾斜检测和校正算法的基本思想是先进行图像的增强处理,然后选取有效的子区域,检测表格的边缘线,提取表格线边缘点建立边缘点集,并为每个边缘点建立一个局部斜率特征集,最终形成以局部斜率特征集为集合元素的整体斜率特征集,通过先局部后全局的两轮筛选,得出整体斜率特征集内具有全局最大投票数的斜率,其对应的倾斜角即为选票图像的倾斜角。
(2)投票符号识别方法研究
传统选票的投票符号分为三种,分别是勾,叉,圈。通过大量的观察和分析可得,选票符号具有如下的特点:
1)、符号的种类固定,只有勾,叉,圈三类;
2)、符号的组成比较规则,均为简单的几何图形,通过分析可得,任何一个细化后的图形均由直线,圆弧或圆组成。
选票符号的识别也有自身的难点:
1)、符号都是手写体,随着每个人的手写习惯不同而形状各异;
2)、符号经常与矩形框粘连,使得分割困难,对识别造成很大的影响;
3)、因环境因素的干扰,造成符号部分断裂,模糊等。
在图像识别中有一种很重要的技术叫图像形状特征分析,它是对图像目标的形状特征进行提取和分析的一种技术。目标的形状特征可分为三大种类,其一是几何属性如长短、面积、距离、凹凸等,其二是统计属性如投影等,其三为拓扑属性如连通、欧拉数等。具体使用目标的哪种特征进行识别,主要取决于这种特征能否实现和是否方便实现对目标的分类,因此特征的选取是应该具体问题具体分析。
分析理想(单像素宽度)的勾、叉和圈的形状特征,发现三者的关键区别在它们端点个数的不同,勾有2个端点,圈为封闭图形端点数为0,而叉有四个端点。但选票在扫描的过程中,难以避免引入一些噪声,而且有些符号存在断痕或与表格线相粘连的情况,因此,不能简单地将分割出的单像素的勾、叉和圈的识别转化成勾、叉和圈端点数的统计,而且,从扫描的选票图像中提取的符号并不能直接进行符号的识别处理,需先做一些符号的预处理工作。符号的预处理主要包括修复符号连通性、符号归一化和细化等处理。
选票的符号有时候会与表格框线粘连,不过普遍的书写习惯都是将符号填写在表格矩形框内,因此,与表格粘连的符号部分一般都只占符号主体很小的比例,在大多数情况下,基本上不影响符号的整体轮廓特征,在提取符号的轮廓特征时,本发明只提取表格框线内部的符号部分。在填写符号时笔画基本上都是连续的,但在扫描的过程中,偶尔会出现符号断裂的现象,本发明采用膨胀算法来进一步修复,尽量使符号形成一个连通体。由于每个符号形状大小不一定相同,为便于后续的特征提取,首先进行符号的归一化处理,形成128*128的子图,然后对子图进行细化处理,提取符号骨架的同时,进一步减少噪声的影响。
虽然每个人的手写习惯等原因造成每个符号的形状各异,但符号的整体轮廓还是保持不变。勾主要由线段组成,圈主要由圆、圆弧组成,叉主要由线段或圆弧组成。通过对勾、叉和圈这三类符号的分析,抽取3种特征:竖线特征,局部方向特征,局部方向特征的翻转次数。
(3)选票的版面分析和版面识别方法研究
版面分析和版面识别是两个密切相关的过程。版面分析的主要任务是利用计算机自动地对印刷版面的图像数据进行处理和分析,标识出版面上的文字、图像、图形及表格区域的位置、属性和逻辑关系,以便识别器正确地查找到文字域进行识别。版面分析是实现文件的几何结构分析。而版面识别则是对各个分栏的性质和分栏之间的顺序做出判断和识别,同时,对于文本性质的分栏还需要指出它是横版还是竖版,是一般的正文还是标题:对具有多个段落的文档,还需要指出各段落的先后顺序,以保证识别后的文件具有正确的语义关系.。版面分析和版面识别实际上都是一个特定的图像理解问题,其研究内容涉及到图像分析、模式识别、人工智能等诸多领域。这两者之间的关系十分密切,前者是对文件的几何结构的分析,而后者是对文件的逻辑结构的识别。版面分析和版面识别又可合成版面理解。
构造文档图像处理系统的目标是从文档中获取信息,因此必须实现对文档的理解。通常所说的文档理解的主要任务是判定版面分析得到的对象的性质及得到它们之间的逻辑关系。在判定对象性质时,通常是建立各种版面对象的模型或知识库,通过比较各种特征,如黑点密度,黑点分布的均匀性等,从而将其正确分类,例如,对表格结构的理解,对数学公式中各个符号所组成的二维关系的分析,以及对图形中的直线,圆弧的矢量化都是对对象自身的理解。而确定逻辑关系,则重要集中在文本对象内部。在生成文本文档时,必须明确各段落的顺序,也就是得到文档的逻辑结构。对于简单的文档版面,如书本、杂志、信封、支票等,按照排版规则,一般都可以理顺其逻辑关系。但对于复杂的文档版面,如报纸类,由于其排版更追求艺术效果,不受传统排版规则的约束,使得仅从各对象的位置关系很难正确的得到其逻辑关系。一种解决的方法是通过语义,即自然语言理解,这就将确定文本顺序放在了文字识别之后了。另一种变通的方法是不确定其逻辑关系.而是进行版面还原,即将识别得到的结果添回其在原始版面中的位置。这样既巧妙地避过了这个难题,又可以保持版面的原始风貌。
通过上面的论述可以看出文档理解实际上是一个层次概念。例如,将文档图像中的不同对象识别出来是一层理解;将文本图像转换为ASCI编码也是一层理解;通过自然语言理解分析出文档的内在语言则是较高层次的理解,虽然对一般的文档尚不能达到该理解层次。分析特定应用中对文档所需要达到的理解层次对构造文档图像处理系统是很必要的。
目前,人们普遍认为,文档可以通过其几何结构和逻辑结构来描述。文档的几何结构描述的是文档的组成对象及其集合性质,如位置、大小等,经过版面分析处理后可以得到文档的几何结构。文档的逻辑结构则表达了文档的组成部分的相互关系。文档理解便是由文档的几何结构到逻辑结构的转化过程。但是在现实世界中,文档的种类纷繁复杂,像这样结构简单固定的文档并不普遍,所以,通常这种转化是非常困难的。
文档理解的难度还取决于文档版面分析以及OCR的结果。但是这些过程都不是完全正确的,有时还存在着较大的误差。比如版面分析时区域划分错误,将图片区域和文本区域相混淆,这时就很难通过分析其几何结构来确定其逻辑结构;又比如运用自然语言理解技术进行文档理解,当OCR结果错误较多时,这种方法收效甚微,这些不利条件都制约了文档理解的发展。
通过对大量选票版面的分析,可知选举版面具有如下几个特点:
1)、版面布局相对固定
虽然票据版面较为复杂,但是其布局相对固定,各个区域的位置也相对固定,这样,文档的几何结构就与逻辑结构具有一定的对应关系,因此可以将文档的一些先验知识应用到文档理解中去。
2)、待处理的信息量较少;
票据文档中有许多难以处理的信息,但是由于信息抽取带有很强的目的性,所以尽可以将不需要的信息抛弃掉,这在很大程度上降低了文档理解的复杂性,提高了文档理解的效率。
3)、可以将自然语言理解技术应用到票据文档理解中。
通常票据中待提取的信息都具有明确的语义,可以通过这些语义来确定文档的逻辑结构。
以上这些特点使得银行票据文档的理解要比复杂文档(比如报纸版面)简单且行之有效,但是这也是相对的,票据文档的理解自身仍然有许多难点,这与票据文档的版面和版面分析以及OCR的处理结果都是密切相关的,在这些难点中,以下两个最为突出:
1)、区域内格式不尽相同;虽然各个区域在整个票据版面中分布状况大致相似,但是对于己定位的区域来说,其内部的信息分布格式却不尽相同,这给区域内信息的理解带来了很大的难度,表单式票据的识别又不同于表格式票据的识别,表格式票据版面的固定位置上的信息意义也比较固定,而表单式票据却不是这样。
2)、单纯OCR识别率不高。
为加快选票的处理速度,首先对选票进行预处理,实现表格域与文字域的分离,并将文字域抹除。通过对表格域的分析可得,表格最大的特点是结构化,即直线和明确的空白分隔符将文字分割成独立的表格单元,且框线由水平和竖直线组成,因此表格可以表示为一个个互不相交的矩形块。对于表格内含有标题或备注说明信息的矩形块,则根据文字行的特点将相应的矩形块抹除。在选票版面中,选票的结构包括几何结构和逻辑结构。几何结构表示为一个个互不相交矩形块的位置和大小等信息,可以通过版面分割获取,逻辑结构表示候选人与投票区域的相互对应关系,几何结构和逻辑结构存在一一对应的关系,而且在同一次选举中,选票的结构是保持不变的。根据上述特点,本发明算法的基本思想是根据版面约束规则录入候选人名字,并将每个矩形块视为一个顶点,按版面约束规则依次对矩形块进行搜索、匹配,将满足符号顶点的矩形块进行邻接,提取出所有的投票区域,形成一个无向图G,即抽取出选票的逻辑结构,其顶点个数等于候选人数。进行选票批量识别统计时,根据版面约束规则,利用改进的深度优先遍历算法遍历无向图G,实现相应候选人得票数的累加,且根据废票判断条件自动分拣出无效票。
本发明的有益效果主要表现在:适用性强、准确性高、提高工作效率。
附图说明
图1是基于版面分析的选票快速识别工作流程图。
图2是系统功能模块结构总图。
图3是图像处理流程图。
具体实施方式
下面结合附图对本发明作进一步描述。
实施例1
参照图1~图3,一种基于版面分析的选票快速识别统计方法,所述选票快速识别统计方法包括以下步骤:
(1)、将选票扫描成选票图像;
(2)、将选票图像进行预处理,首先将选票图像转换成二值化图像,再进行平滑和细化处理;并建立投票符号的预定义语义,所述投票符号包括勾、叉和圈,依照图像形状特征分析,通过竖线特征区分勾和圈、叉,通过轮廓的局部方向特征区分圈和叉;
(3)、将预处理后的选票图像进行增强处理,选取有效的子区域,检测表格的边缘线,提取表格线边缘点建立边缘点集,并为每个边缘点建立一个局部斜率特征集,最终形成以局部斜率特征集为集合元素的整体斜率特征集,通过先局部后全局的两轮筛选,得出整体斜率特征集内具有全局最大投票数的斜率,对应的倾斜角即为选票图像的倾斜角,并依照倾斜角进行位置校正,并将表格平移到选票的重心;
(4)、表格线检测和提取:其中,检测表格横线的过程为:建立行像素数组HBlackNum[1Height],1Height代表选票图像的像素高度;自下而上扫描选票图像,在行像素数组HBlackNum[1Height]中记录下每一像素行中的黑像素数,同时记录下含最多黑像素数的像素行;取含最多黑像素数的像素行的像素数的1/2作为横向表格线的分割域值Tn,规定行像素数组HBlackNum[1Height]中像素数不小于该域值的像素行为一条横向表格线HLine[]所在的像素行;最后定义一个相邻表格线之间的距离域值Td来滤除重复的表格线;检测表格竖线的过程与上述表格横线相同;
(5)、符号检测和提取:通过搜索这四条表格线之间的区域即可搜索得到该单元格中的投票符号;
(6)、符号识别:提取投票符号的列目标点数及列目标点的位置,并做统计:依照预定义语义,如果列目标点数以一个为主,则为勾,如果列目标点数以两个为主,则为圈和叉;接着,对圈和叉的投票图像提取其轮廓特征,如果局部方向特征呈现先递增后递减、列目标像素点之间的距离逐渐缩小且局部方向特征的翻转次数为一次,则为圈,如果局部方向特征呈现先递减后递增的现象且局部方向特征的翻转次数为一次,或者先递增后递减再递增且局部方向特征的翻转次数为两次,则为勾;
(7)、将投票符号识别后的结果存入数据库。
所述步骤(2)中,预定义语义中,定义num[1],num[2],num[3]为存在一个,两个,三个目标像素点的列的个数,对投票符号进行从左往右扫描,即令i从0开始一直递增到符号的宽度w-1,依次判断flag1[i],flag2[i],flag3[i]是否有值,如果只有flag1[i]非空,则num[1]=num[1]+1,如果flag1[i]和flag2[i]均非空,而flag3[i]为空,则num[2]=num[2]+1,如果flag1[i],flag2[i],flag3[i]均非空,则num[3]=num[3]+1。勾列目标点数是以一个为主,即num[1]在num[1],num[2]和num[3]的总和中占了主体比例,而圈和叉列目标点数以两个为主,即num[2]在num[1],num[2]和num[3]的总和中占了主体比例;
圈的左半部分局部方向特征呈现递增,即列目标像素点之间的距离逐渐扩大,而圈的右半部分局部特征刚好相反,列目标像素点之间的距离逐渐缩小,且局部方向特征的翻转次数为一次;叉分为两种情况:一种没有包含环路的叉,其局部方向特征恰好与圈相反,局部方向特征是先递减后递增的现象,且局部方向特征的翻转次数为一次,另一种是包含环路的叉,局部方向特征呈现先递增后递减在递增,且局部方向特征的翻转次数为两次。
在所述步骤(5)中,记单元格为Unit(L1,Lr,Lb,Lt),其中L1为单元格的左边界表格线,Lr为单元格的右边界表格线,Lb为单元格的下边界表格线,Lt为单元格的上边界表格线,首先从L1出发,以Lt和Lb为上下边界进行搜索,若遇到黑像素集合则停止,把该处记为S1,代表符号的左边界;同理可得到Sr为符号的右边界,Sb为符号的下边界,St为符号的上边界,则一个投票符号在选票图像中的图像区域可表示为Symbol(S1,Sr,Sb,St)。
作为优选的再一种方案:在所述步骤(6)中,提取符号列目标点数及列目标点的位置的过程为:首先定义列号i=0,行号j=0,flag1[i],flag2[i],flag3[i]依次存放第i列从下往上扫描的目标像素点,初始值为空。接着对预处理后的符号进行从左到右逐列扫描,而对每一列i进行从下往上逐行扫描,碰到第一个黑像素点,存储flag1[i]=j1,继续往上扫描,碰到第二个目标像素点,存为flag2[i]=j2,继续往上扫描,如果碰到第三个目标像素点,存为flag3[i]=j3,继续往上扫描,如果还存在第四个目标像素点,则表示肯定有噪声点的存在,跳过当前列的扫描,令flag1[i],flag2[i],flag3[i]均无效。经过从左到右,从下往上对符号进行扫描,采集符号的所有目标像素点。为了排除噪音点的干扰,当扫描到下一个目标像素点时,需要与前一个目标像素点的距离进行差值比较,若结果小于给定的阈值,则当前目标像素点认定为噪声点,忽略不计,继续当前列的扫描。
在所述步骤(6)中,提取其轮廓特征的步骤为:首先定义每列列目标点距离方向direction[i]为空,从左到右扫描每一列i,若当前列i存在两个列目标点,即flag1[i],flag2[i]为非空,而flag3[i]为空,判断第i-1列是否也存在两个列目标点,如果是则分别计算第i,i-1列两个列目标点的垂直距离distancei和distance_i1,并比较其大小,如果|distance_i|>|distance_i1|则令第i列direction[i]=1,表示列目标点距离方向往上,若相等则令direction[i]=0,表示列目标点距离方向保持不变,小于则令direction[i]=-1,表示列目标点距离方向向下;规定|flag2[i]-flag2[i-1]|<=3,且|flag1[i]-flag1[i-1]|<=3;
获取每一列列目标点距离方向direction[i]后,提取符号的局部方向特征,对direction[i]数组中的值依次提取,获取第一个值为1或-1的direction[i],根据累加规则进行列数count的统计,直到direction[m]+direction[i]=0,,i≤m<w,0≤i<w,只有当列数count大于给定的阈值T,则将direction[i]存入局部方向数据part_dir[k]中;从direction[m]开始,重新根据累加规则进行列数count的统计,并在不符合累加规则时计算列数count与阈值之间的差值,决定是否将direction[m]存入局部方向数据part_dir[k]中;依此类推,直至遍历完direction[i],记录下所有的局部方向特征值;
从左到右依次提取part_dir[i]数组中的值,计算两两之间的乘积part_dir[i]*part_dir[i+1],若乘积结果为-1,则翻转次数turn=turn+1,继续计算part_dir[i+1]*part_dir[i+2],根据结果进行turn的累加,直至遍历完part_dir[i]数组,
在所述步骤(3)中,选票图像的表格边缘线通过边缘点来表示,在选取的子区域内,从左往右逐列扫描,对于每一列 i &Element; [ w 10 , 9 &times; w 10 ] , 从图像边缘y=h-1往下逐行扫描,寻找满足条件1的第一个点(i,j),令black[i]=j,如果没有找到符合条件灰度值f(i,j)=1目标像素点,则令 black [ i ] = h 2 , 并记录(i,black[i])作为一个边缘点,执行i=i+1,继续下一列上边缘点的扫描,并将符合条件1的第一个像素点的行列坐标记录为一个边缘点,直到扫描完所有的列为止,提取指定宽度的所有上边缘点,确立边缘点集 { ( w 10 , black [ w 10 ] ) , . . . . . . , ( i - 1 , black [ i - 1 ] ) , ( i , black [ i ] ) , ( i + 1 , black [ i + 1 ] ) . . . . . . ( 9 w 10 , black [ 9 w 10 ] ) } ;
其中,条件1:f(i,j)=1
定义1斜率的投票数:在一组斜率中,设定一个邻域区间[-θ1,θ1],统计属于当前斜率所在邻域区间 [ xielv [ i ] [ d ] - tan &theta; 1 , xielv [ i ] [ d ] + tan &theta; 1 ] 内的斜率个数,假定当前斜率为xielv[i][d];
定义2局部最大斜率part_slope:每个边缘点(i,black[i])通过斜率公式计算,得到一个局部斜率特征集f[i],从局部斜率特征集中筛选出的具有最大投票数的斜率称为局部最大斜率;
定义3最终斜率end_slope:在定义2的基础上,遍历所有的局部最大斜率,从局部最大斜率中筛选出具有最大投票数的斜率,即最终斜率;
对于边缘点集内的每一个边缘点(i,black[i]),以i为中心,以步长length做增量向外扩张,依次选取边缘点(d,black[d])并计算两两之间的斜率xielv[i][d],即
xielv [ i ] [ d ] = black [ d ] - black [ i ] d - i &times; 1.0
| d - i | = n &times; length ( n &GreaterEqual; 1 , d &NotEqual; i , i &Element; [ w 10 , 9 w 10 ] , d &Element; [ w 10 , 9 w 10 ] )
斜率保留小数位,其中i,d表示不同的列,且必须满足式子(3-4),black[i],black[d]表示第i,d列上边缘点所在的行;通过以上过程的计算,对于每一个边缘点(i,black[i]),均建立相同规模的一个局部斜率特征集f[i],f[i]={...,xielv[i][i-2*length],xielv[i][i-length],xielv[i][i+length]......};
对于所有的边缘点,形成一个以每个边缘点的局部斜率特征集为集合元素的整体斜率特征集 { f [ w 10 ] , . . . . . . , f [ i - 1 ] , f [ i ] , f [ i + 1 ] , . . . . . . , f [ 9 w 10 ] } , 局部斜率特征集和整体斜率特征集的大小由length确定;
首先在整体斜率特征集中,针对每一个局部斜率特征子集f[i],筛选出其中的局部最大斜率part_slopei;对于边缘点(i,black[i]),在其对应的局部斜率特征集f[i]内统计每个斜率的投票数之前,设置过滤条件先把斜率进行过滤,过滤条件为倾斜角是否在[-θ,θ]之内,接着对f[i]中倾斜角在[-θ,θ]之内的每个斜率,设定一个邻域区间[-θ1,θ1],统计属于当前斜率所在邻域区间
Figure A200810162629D00254
Figure A200810162629D00255
内的斜率个数,即当前斜率xielv[i][d]的投票数,筛选出具有最大投票数的斜率,即局部最大斜率part_slopei;如果存在多个斜率具有相同的最大投票数,则局部最大斜率为多个斜率之和的平均值;遍历每一个边缘点,利用上述步骤在其对应的局部斜率特征集内筛选出局部最大斜率,形成一个新的以局部最大斜率为集合元素的整体斜率特征集{......,part_slopei-1,part_slopei,part_slopei+1,......};
判断筛选出来的局部最大斜率part_slopei是否满足:其相应的斜率投票数在其局部斜率特征集内必须大于给定的阈值,符合规则的所有局部最大斜率part_slopei形成一个新的整体斜率特征集,而新的整体斜率特征集内的元素个数必须占所有局部最大斜率个数总数的一半以上;
在新的整体斜率特征集内,对于每一个局部最大斜率part_slopei,根据先前设定的邻域区间[-θ1,θ1],重新统计属于当前局部最大斜率所在邻域区间 [ part _ slopei - tan &theta; 1 , part _ slopei + tan &theta; 1 ] 内的局部最大斜率个数,即当前局部最大斜率的投票数,从当前所有局部最大斜率的投票数中筛选出具有最大投票数的局部最大斜率,即最终斜率end_slope,如果存在多个局部最大斜率具有相同的最大投票数,则最终斜率end_slope为多个局部最大斜率之和的平均值,根据公式image_θ=atan(end_slope)计算出选票图像的倾斜角度。
在所述步骤(3)中,采用基于自适应就近原则进行批量选票倾斜校正,具体过程为:首先获取几个已知的连续选票的倾斜角度θ1θ2......θn,计算两两之间的差值,若差值符合判别规则rule,则将已知的最后一个倾斜角度θn确定为当前的倾斜角度θ,应用于接下来几张未进行倾斜检测的选票进行倾斜校正;若倾斜角度两两之间的差值不符合rule,则放弃当前已知的倾斜角度,重新获取几个连续选票的倾斜角度,重新计算两两之间的差值,判断其是否符合判别规则rule;依次类推,直至完成所有选票的倾斜校正处理;
判别规则rule如下:
(1)若|θmm+1|均小于给定的阈值T,则θ=θn,其中1≤m≤n-1,1<n<4;
(2)若|θkk+1|小于给定的阈值T的个数大于等于
Figure A200810162629D00262
n 2 &le; k &le; n - 1 , 则θ=θn,其中n≥4。
在所述步骤(2)中,二值化处理的过程为:对选票图像Image,记t为前景与背景的分割阈值,前景点数所占图像比例为w0,平均灰度为u0;背景点数所占图像比例为w1,平均灰度为u1,图像的总平均灰度为:u=w0*u0+w1*u1;从最小灰度值到最大灰度值遍历t,当t使得值g=w0*(u0-u)2+w1*(u1-u)2最大时t即为分割的最佳阈值;阈值t分割出的前景和背景两部分构成整幅图像。
在所述步骤(2)中,平滑噪声采用中值滤波方法,具体包括:对于给定图像中的每个像素点(x,y),其灰度值为f(x,y),设定一个二维滑动模板W,其中值滤波输出为:
g(x,y)=Medf(x-k,y-l),(k,l)∈W}
用g(x,y)替换f(x,y),即将模板中的数据进行排序后,用处于中间位置上的值来代替该像素点原来的灰度,W为二维滑动模板,取3×3,5×5区域。
本实施例工作流程如图1所示。首先是通过手工方式填写选票(填写勾√、叉×、圈。或填涂小方块等),然后将选票收集好之后,利用高速扫描仪将选票图像采集进入计算机,系统经过选票图像符号语义、区域定位等学习,以特征向量的方式存入语义库,然后通过预处理、倾斜校正和、图像识别与理解、统计管理等功能模块的处理得到结果并输出。项目重点对倾斜校正、区域定位、符号语义学习与识别等关键技术进行研究,本发明研究内容主要包括以下步骤:
根据选票的版面特点,提出基于直线斜率的文档倾斜自动校正方法。首先通过二值化,平滑去噪,细化等处理步骤,得到增强的选票图像,然后根据边缘检测提取出边缘线条,通过计算线条的倾斜角度来估计选票的倾斜角度。选票的倾斜检测和校正不仅仅用于单张选票的倾斜检测校正,当面临大批量的选票倾斜检测和校正时,除了考虑算法的正确性外,还需考虑算法处理的时效性。由于同一次选举过程中使用的是统一版面的选票,而且通过高速扫描仪的ADF方式进行扫描,其每张选票的倾斜角度并不会很大,且相邻的选票呈现出一定的共向性,基于以上特点,本发明提出基于自适应就近原则的批量选票的倾斜校正方法。该算法首先获取连续几张选票的倾斜角度,计算两两之间的差值,若差值符合判断规则,则根据当前最后一张选票的倾斜角度对接下来未进行倾斜检测的连续几张选票进行倾斜校正,从而免除了倾斜检测的步骤,大大提高了处理速度。
在图像识别中有一种很重要的技术叫图像形状特征分析,它是对图像目标的形状特征进行提取和分析的一种技术。目标的形状特征可分为三大种类,其一是几何属性如长短、面积、距离、凹凸等,其二是统计属性如投影等,其三为拓扑属性如连通、欧拉数等。具体使用目标的哪种特征进行识别,主要取决于这种特征能否实现和是否方便实现对目标的分类,因此特征的选取是应该具体问题具体分析。
分析理想(单像素宽度)的勾、叉和圈的形状特征,发现三者的关键区别在它们端点个数的不同,勾有2个端点,圈为封闭图形端点数为0,而叉有四个端点。但选票在扫描的过程中,难以避免引入一些噪声,而且有些符号存在断痕或与表格线相粘连的情况,因此,不能简单地将分割出的单像素的勾、叉和圈的识别转化成勾、叉和圈端点数的统计,而且,从扫描的选票图像中提取的符号并不能直接进行符号的识别处理,需先做一些符号的预处理工作。符号的预处理主要包括修复符号连通性、符号归一化和细化等处理。
选票的符号有时候会与表格框线粘连,不过普遍的书写习惯都是将符号填写在表格矩形框内,因此,与表格粘连的符号部分一般都只占符号主体很小的比例,在大多数情况下,基本上不影响符号的整体轮廓特征,在提取符号的轮廓特征时,本发明只提取表格框线内部的符号部分。在填写符号时笔画基本上都是连续的,但在扫描的过程中,偶尔会出现符号断裂的现象,本发明采用膨胀算法来进一步修复,尽量使符号形成一个连通体。由于每个符号形状大小不一定相同,为便于后续的特征提取,首先进行符号的归一化处理,形成128*128的子图,然后对子图进行细化处理,提取符号骨架的同时,进一步减少噪声的影响。
虽然每个人的手写习惯等原因造成每个符号的形状各异,但符号的整体轮廓还是保持不变。勾主要由线段组成,圈主要由圆、圆弧组成,叉主要由线段或圆弧组成。通过对勾、叉和圈这三类符号的分析,抽取3种特征:竖线特征,局部方向特征,局部方向特征的翻转次数。
竖线特征即提取符号列目标点数及列目标点的位置。首先定义列号i=0,行号j=0,flag1[i],flag2[i],flag3[i]依次存放第i列从下往上扫描的目标像素点,初始值为空。接着对预处理后的符号进行从左到右逐列扫描,而对每一列i进行从下往上逐行扫描,碰到第一个黑像素点,存储flag1[i]=j1,继续往上扫描,碰到第二个目标像素点,存为flag2[i]=j2,继续往上扫描,如果碰到第三个目标像素点,存为flag3[i]=j3,继续往上扫描,如果还存在第四个目标像素点,则表示肯定有噪声点的存在,跳过当前列的扫描,令flag1[i],flag2[i],flag3[i]均无效。经过从左到右,从下往上对符号进行扫描,采集符号的所有目标像素点。为了排除噪音点的干扰,当扫描到下一个目标像素点时,需要与前一个目标像素点的距离进行差值比较,若结果小于给定的阈值,则当前目标像素点认定为噪声点,忽略不计,继续当前列的扫描。本发明中阈值取5。
采集了符号的整体目标像素点后,需要做进一步的统计,形成符号的竖线特征。定义num[1],num[2],num[3]为存在一个,两个,三个目标像素点的列的个数。对符号进行从左往右扫描,即令i从0开始一直递增到符号的宽度w-1,依次判断flag1[i],flag2[i],flag3[i]是否有值,如果只有flag1[i]非空,则num[1]=num[1]+1,如果flag1[i]和flag2[i]均非空,而flag3[i]为空,则num[2]=num[2]+1,如果flag1[i],flag2[i],flag3[i]均非空,则num[3]=num[3]+1。勾列目标点数是以一个为主,即num[1]在num[1],num[2]和num[3]的总和中占了主体比例,而圈和叉列目标点数以两个为主,即num[2]在num[1],num[2]和num[3]的总和中占了主体比例,形成了两种对比鲜明的竖线特征。通过竖线特征,可以实现勾和圈、叉的区分。
通过对叉和圈的分析,不管它的形状怎么变,或是符号本身有无断痕,每列的列目标点之间的距离方向始终保持不变的,即在符号的左半边,后一列列目标点之间的距离始终大于当前列,列目标点之间的距离呈递增的趋势,而在符号的右半边,后一列列目标点之间的距离始终小于当前列,列目标点之间的距离呈递减的趋势。不管符号本身如何变化,这个特征都具有其自身的稳定性。
通过竖线特征,可以实现勾和圈、叉的区分,接下来,还需实现圈和叉的区分。在提取符号竖线特征时采集的每列列目标点的数据的基础上,针对圈和叉进一步提取其轮廓特征。
首先定义每列列目标点距离方向direction[i]为空,从左到右扫描每一列i,若当前列i存在两个列目标点(即flag1[i],flag2[i]为非空,而flag3[i]为空),判断第i-1列是否也存在两个列目标点,如果是则分别计算第i,i-1列两个列目标点的垂直距离distance_i和distance_i1,并比较其大小,如果|distance_i|>|distance_i1|则令第i列direction[i]=1,表示列目标点距离方向往上,若相等则令direction[i]=0,表示列目标点距离方向保持不变,小于则令direction[i]=-1,表示列目标点距离方向向下。为了排除个别噪音点的干扰,这里规定|flag2[i]-flag2[i-1]|<=3,且|flag1[i]-fag1[i-1]|<=3。
获取了每一列列目标点距离方向direction[i]之后,通过计算提取符号的局部方向特征。对direction[i]数组中的值依次提取,获取第一个值为1或-1的direction[i],根据累加规则进行列数count的统计,直到direction[m]+direction[i]=0,(i≤m<w,0≤i<w)只有当列数count大于给定的阈值T,则将direction[i]存入局部方向数据part_dir[k]中。从direction[m]开始,重新根据累加规则进行列数count的统计,并在不符合累加规则时计算列数count与阈值之间的差值,决定是否将direction[m]存入局部方向数据part_dir[k]中。依此类推,直至遍历完direction[i],记录下所有的局部方向特征值。为了避免噪声点的干扰,设定列数count与阈值之间的比较,一般可以设列数count为15。
局部方向特征的翻转次数是一个导出特征,它是建立在局部方向特征量的基础上的。符号局部方向特征表示符号从左到右每一区域图像的方向特征,符号的断裂或是其他的干扰因素可能导致符号的局部方向特征是一直处于增大或是减小的趋势,所以,必须把这些局部方向特征都结合起来,形成整体的方向特征,才能具有稳固性。
从左到右依次提取part_dir[i]数组中的值,计算两两之间的乘积part_dir[i]*part_dir[i+1],若乘积结果为-1,则翻转次数turn=turn+1,继续计算part_dir[i+1]*part_dir[i+2],根据结果进行turn的累加,直至遍历完part_dir[i]数组,获取了局部方向特征的翻转次数。
通过对勾、叉和圈的形状特征分析可知,勾列目标像素点数以一个为主体,而圈和叉的列目标像素点数以两个为主体,通过计算其竖线特征即可实现勾和圈、叉的识别。进一步分析圈和叉的轮廓,不管其形状怎么变化,圈的左半部分局部方向特征呈现递增的样子,即列目标像素点之间的距离逐渐扩大,而圈的右半部分局部特征刚好相反,列目标像素点之间的距离逐渐缩小,且局部方向特征的翻转次数为一次。叉分为两种情况讨论,一种没有包含环路的叉,其局部方向特征恰好与圈相反,局部方向特征是先递减后递增的现象,且局部方向特征的翻转次数为一次,一种是包含环路的叉,局部方向特征呈现先递增后递减在递增的现象,且局部方向特征的翻转次数为两次。因此,通过竖线特征即可实现勾的识别,而针对圈和叉的识别,需要经过两轮的筛选判别。
为加快选票的处理速度,首先对选票进行预处理,实现表格域与文字域的分离,并将文字域抹除。通过对表格域的分析可得,表格最大的特点是结构化,即直线和明确的空白分隔符将文字分割成独立的表格单元,且框线由水平和竖直线组成,因此表格可以表示为一个个互不相交的矩形块。对于表格内含有标题或备注说明信息的矩形块,则根据文字行的特点将相应的矩形块抹除。在选票版面中,选票的结构包括几何结构和逻辑结构。几何结构表示为一个个互不相交矩形块的位置和大小等信息,可以通过版面分割获取,逻辑结构表示候选人与投票区域的相互对应关系,几何结构和逻辑结构存在一一对应的关系,而且在同一次选举中,选票的结构是保持不变的。根据上述特点,本发明算法的基本思想是根据版面约束规则录入候选人名字,并将每个矩形块视为一个顶点,按版面约束规则依次对矩形块进行搜索、匹配,将满足符号顶点的矩形块进行邻接,提取出所有的投票区域,形成一个无向图G,即抽取出选票的逻辑结构,其顶点个数等于候选人数。进行选票批量识别统计时,根据版面约束规则,利用改进的深度优先遍历算法遍历无向图G,实现相应候选人得票数的累加,且根据废票判断条件自动分拣出无效票。
根据版面约束规则,提取出选票的逻辑结构,实现对选票逻辑结构的描述,即将问题转化为在一定的约束条件下,求得逻辑结构描述解的过程。版面约束规则中主要定义逻辑方向logic_direction、选票的占页数page、候选人数candidate和应选人数sel_candidate等信息。逻辑方向即候选人的版面排列顺序。如果选票中存在候选人的序号(如图1-3),则logic_direction为序号的递增方向,否则判断投票区域与候选人名字所在区域的相互位置关系,若是上下关系则定义logic_direction横向,若为左右关系则定义逻辑方向为纵向。接着根据logic_direction录入候选人的名字。若logic_direction为纵向,则从左到右,从上往下依次输入候选人名字,同理可得,若logic_direction为横向,则从上往下,从左往右录入候选人名字。若选票的占页数page>1,则组成每张选票的页面相对排列顺序不变,而且所有页面相对应的每一列合成为选票的一列。
为了实现批量选票的快速准确定位,在第一张选票执行版面分割之前,将该选票进行倾斜校正并把表格平移至选票的中心。将每一个矩形块视为一个顶点,在无向图的生成过程中将顶点分成两类:符号顶点和非符号顶点。首先定义符号顶点的特征。
1)顶点所表示的矩形区域为符号区域rect_sign,rect_sign仅含有√、×、○等符号;
2)顶点所表示的矩形块区域的位置rect,表示为(顶点坐标)left,top,right,bottom;
3)顶点所表示的矩形区域的值value,应为√、×、○等符号;
4)顶点的邻接顶点node_neigh;
5)顶点邻接序号num;
6)顶点是行(列)首符号顶点标记flag_rcfirst,即为某行(列)的第一个符号顶点;
7)顶点邻接标记flag_adj,未邻接入无向图flag_adj为false,否则flag_adj为true;
8)顶点访问标记flag_access。
9)顶点回溯访问标记flag_reaccess.
具体算法步骤如下:
步骤一、根据logic_direction对每行(列)矩形块进行扫描,筛选出所有的符号行(列),后续的操作均基于提取出的符号行(列)。符号行(列)的判断条件为:该行(列)符号顶点的个数∈[2,candidate];
步骤二、在所有符号行(列)内进行从上到下,从左到右搜索,寻找第一个符号顶点n0,并记录n0->rect,令n0->num=num+1,n0->flag_adj=true,将n0作为无向图G的第一个顶点。n0需满足如下条件:在n0->rect左边和上方不存在其他符号顶点;
在所有的符号行(列)内沿logic_direction逐个搜索顶点,根据符号顶点特征1筛选出符号顶点ni并进行后续处理。令ni->num=num+1,如果ni->num>candidate,则算法结束。否则若ni->flag_rcfirst==true,则记录ni->rect,设置ni->flag_adj=true,并将ni与上一个行(列)首符号顶点进行邻接,重复3);否则记录ni->rect,
步骤三、在G中寻找与ni具有最近邻接序号nearest_num的符号顶点nj,将ni与nj进行邻接,设置ni->flag_adj=true,重复3)。
如果page>1,则当ni为当前页每列的最后一个顶点(logic_direction为纵向)或最后行的最后一个顶点(logic_direction为横向)时,判断是否还有后续页,是则按logic_direction继续执行下一页处理,执行方法跟上述算法相同,否则算法结束。
在无向图G的生成过程中,还存在另选人与候选人的判别过程。如果候选人和另选人分别属于两个不同的表格,则根据候选人的表格一般排列在另选人表格上方或左方,候选人的表格单元多于另选人的表格单元等特点进行分离,如果候选人和另选人是同处于一个表格,则另选人一般排列在候选人之后的数个连续表格单元中,可以根据logic_direction进行搜索,当num>candidate时中止搜索,算法结束。
两个符号顶点ni,nj最近邻接序号nearest_num的求解公式:
nearest_num=min|ni-nj|
(其中ni表示待邻接的符号顶点,nj表示无向图G中的所有符号顶点)。
对第一张选票进行版面分割,以给定的版面约束规则为限制条件,自动提取出选票的逻辑结构,用无向图G表示。进行选票的批量识别统计时,就不需要对每一张选票进行版面分割与理解等步骤,只需进行预处理(二值化,平滑去噪,倾斜校正,细化,平移),应用无向图G直接提取出所有投票区域,并对候选人的得票数进行相应的累加即可。对G进行一次遍历相当于一次事务处理,若选票为废票,则需进行事务的回滚处理。
首先给出区域柔性匹配算法的定义:考虑到倾斜校正存在误差的关系,在投票符号提取之前,将当前符号顶点所表示的区域rect适当扩大c,即node->left=node->left-c,node->right=node->right+c,node->top=node->top-c,node->bottom=node->bottom+c,得到一个新的顶点区域rect1,接着在rect1中提取出投票符号。c可以通过大量的测试得到,一般取2。
具体算法步骤如下:
1)初始化顶点个数node=0,每张选票的赞成人数num_agree=0;
2)搜索G中邻接序号num最小的顶点ni,转3);
3)node=node+1,提取ni->rect并进行区域柔性匹配,若存在一个以上的投票符号或计算机无法识别的符号,转4),若符号值为赞成,则
num_agree=num_agree+1,判断如果num_agree>sel_candidate转4),否则设置ni->value,令ni->flag_access=true,如果node==candidate,则转5),否则转6);
4)设置该选票为废票,对G执行事务回滚处理,转5);
5)读入下一张选票,重复1),直至处理完所有选票,算法结束。
6)遍历ni->node_neigh,若存在1个以上flag_access为false的邻接顶点,则按邻接序号从小到大的顺序依次深度优先遍历邻接顶点nj,nk等,令i=j;转3);若仅存在1个flag_access为false的邻接顶点nj,令i=j,转3);若不存在flag_access为false的邻接顶点,转7);
7)回溯访问ni的flag_reaccess为false的邻接顶点nh,设置ni->flag_reaccess=true;如果nh不存在flag_access为false的邻接顶点,令i=h,重复7),否则令i=h;转6)。
上述算法将区域定位与符号识别进行有机的结合,遍历每张选票时,不仅实现了候选人得票数的快速统计,而且自动监控废票,实现了废票和有效票的分拣。
实施例2
参照图1—图3,一种基于版面分析的选票快速识别统计系统,包括:图像采集模块,用于将选票扫描成选票图像;图像预处理和预定义语义模块,用于将选票图像进行预处理,首先将选票图像转换成二值化图像,再进行平滑和细化处理;并建立投票符号的预定义语义,所述投票符号包括勾、叉和圈,依照图像形状特征分析,通过竖线特征区分勾和圈、叉,通过轮廓的局部方向特征区分圈和叉;图像倾斜校正模块,用于将预处理后的选票图像进行增强处理,选取有效的子区域,检测表格的边缘线,提取表格线边缘点建立边缘点集,并为每个边缘点建立一个局部斜率特征集,最终形成以局部斜率特征集为集合元素的整体斜率特征集,通过先局部后全局的两轮筛选,得出整体斜率特征集内具有全局最大投票数的斜率,对应的倾斜角即为选票图像的倾斜角,并依照倾斜角进行位置校正,并将表格平移到选票的重心;选票图像的表格线检测和提取模块,用于进行表格线的检测和提取:其中,检测表格横线的过程为:建立行像素数组HBlackNum[1Height],1Height代表选票图像的像素高度;自下而上扫描选票图像,在行像素数组HBlackNum[1Height]中记录下每一像素行中的黑像素数,同时记录下含最多黑像素数的像素行;取含最多黑像素数的像素行的像素数的1/2作为横向表格线的分割域值Tn,规定行像素数组HBlackNum[1Height]中像素数不小于该域值的像素行为一条横向表格线HLine[]所在的像素行;最后定义一个相邻表格线之间的距离域值Td来滤除重复的表格线;检测表格竖线的过程与上述表格横线相同;符号检测和提取模块,用于通过搜索这四条表格线之间的区域即可搜索得到该单元格中的投票符号;符号识别模块,用于提取投票符号的列目标点数及列目标点的位置,并做统计:依照预定义语义,如果列目标点数以一个为主,则为勾,如果列目标点数以两个为主,则为圈和叉;接着,对圈和叉的投票图像提取其轮廓特征,如果局部方向特征呈现先递增后递减、列目标像素点之间的距离逐渐缩小且局部方向特征的翻转次数为一次,则为圈,如果局部方向特征呈现先递减后递增的现象且局部方向特征的翻转次数为一次,或者先递增后递减再递增且局部方向特征的翻转次数为两次,则为勾;统计结果存储模块,用于将投票符号识别后的结果存入数据库。
参照图2,从操作界面上,本实施例的选票快速识别统计系统包括系统模块、主题管理、候选人管理、扫描统计管理、自动验票和查询管理等等。
(1)系统模块:系统模块包括用户管理和数据库管理两部分。其中用户管理实现计算机快速计票系统用户的增加、修改、删除、权限分配等。用户分为超级管理员、管理员和普通用户三个等级,每个用户等级都具有相应的用户权限,也可以进行动态的分配调整,很灵活地实现了用户权限的分配和管理。系统超级管理员具有系统的全部权限,管理员具有系统的部分功能,其权限分配可以依据具体情况分配,普通用户仅具有修改自身密码和浏览部分内容的权力。图4显示了动态分配用户权限的界面。
(2)主题管理模块:主题管理是系统的重要部分,因为每次的选举最显著的标志选举主题。主题内容包括选举相关参数的获取、选票版面规则的挖掘、选举规则的定义、报表格式的选择等等。主题管理包括主题的添加、修改、删除等功能,删除一个主题,会把所有与该主题相关的文件和数据库里的数据都一并删除,实现数据的完整性。
(3)候选人管理模块:候选人管理主要是根据某一主题实现候选人的添加、删除、修改、顺序移动等等功能。
(4)扫描统计管理模块:扫描统计管理是计算机快速计票系统的核心,其执行的结果正确率和处理速度直接关系到系统的整体性能,主要包括扫描、扫描统计和重新统计等功能。扫描功能只执行扫描工作,不进行统计处理;扫描统计是采用计算机结合扫描仪一起工作的方式,实现边扫描边统计的方式;而重新统计仅作为验票的手段,对已经进行扫描统计的选票图像重新进行统计,达到审核的功能。在进行扫描统计管理的时候有相应的提示信息,包括系统扫描区和浏览区刷新显示图像,状态区刷新显示最新统计状态,结果区刷新显示结果,标题刷新显示文件名,工作进度条等等,显示了系统使用便捷、界面友好性的特点。
(5)自动验票模块:选举结果的正确性是每个人都是很关注的问题,有时候为了消除选民疑虑等原因,需进行选票的重新统计,与以往的统计结果进行核对。选票的核对很个 很繁重的过程,不过计算机快速计票系统提供了一个很方便的验票方式,用户只需在结果图像浏览区直接查看识别后的选票图像即可对识别结果的正误进行核对,参见图5。在查看的时候有相应的附加信息帮助用户更好的理解,状态栏上有当前文件名,文件总数,文件序号,是否标记为废票等等标记信息。
本实施例的工作过程与实施例1相同。

Claims (10)

1、一种基于版面分析的选票快速识别统计方法,其特征在于:所述选票快速识别统计方法包括以下步骤:
(1)、将选票扫描成选票图像;
(2)、将选票图像进行预处理,首先将选票图像转换成二值化图像,再进行平滑和细化处理;并建立投票符号的预定义语义库,所述投票符号包括勾、叉和圈,依照图像形状特征分析,通过竖线特征区分勾和圈、叉,通过轮廓的局部方向特征区分圈和叉;
(3)、将预处理后的选票图像进行增强处理,选取有效的子区域,检测表格的边缘线,提取表格线边缘点建立边缘点集,并为每个边缘点建立一个局部斜率特征集,最终形成以局部斜率特征集为集合元素的整体斜率特征集,通过先局部后全局的两轮筛选,得出整体斜率特征集内具有全局最大投票数的斜率,对应的倾斜角即为选票图像的倾斜角,并依照倾斜角进行位置校正,并将表格平移到选票的重心;
(4)、表格线检测和提取:其中,检测表格横线的过程为:建立行像素数组HBlackNum[1Height],1Height代表选票图像的像素高度;自下而上扫描选票图像,在行像素数组HBlackNum[1Height]中记录下每一像素行中的黑像素数,同时记录下含最多黑像素数的像素行;取含最多黑像素数的像素行的像素数的1/2作为横向表格线的分割域值Tn,规定行像素数组HBlackNum[1Height]中像素数不小于该域值的像素行为一条横向表格线HLine[]所在的像素行;最后定义一个相邻表格线之间的距离域值Td来滤除重复的表格线;检测表格竖线的过程与上述表格横线相同;
(5)、符号检测和提取:通过搜索这四条表格线之间的区域即可搜索得到该单元格中的投票符号;
(6)、符号识别:提取投票符号的列目标点数及列目标点的位置,并做统计:依照预定义语义库,如果列目标点数以一个为主,则为勾,如果列目标点数以两个为主,则为圈和叉;接着,对圈和叉的投票图像提取其轮廓特征,如果局部方向特征呈现先递增后递减、列目标像素点之间的距离逐渐缩小且局部方向特征的翻转次数为一次,则为圈,如果局部方向特征呈现先递减后递增的现象且局部方向特征的翻转次数为一次,或者先递增后递减再递增且局部方向特征的翻转次数为两次,则为勾;
(7)、将投票符号识别后的结果存入数据库。
2、如权利要求1所述的一种基于版面分析的选票快速识别统计方法,其特征在于:所述步骤(2)中,预定义语义库中,定义num[1],num[2],num[3]为存在一个,两个,三个目标像素点的列的个数,对投票符号进行从左往右扫描,即令i从0开始一直递增到符号的宽度w-1,依次判断flag1[i],flag2[i],flag3[i]是否有值,如果只有flag1[i]非空,则num[1]=num[1]+1,如果flag1[i]和flag2[i]均非空,而flag3[i]为空,则num[2]=num[2]+1,如果flag1[i],flag2[i],flag3[i]均非空,则num[3]=num[3]+1。勾列目标点数是以一个为主,即num[1]在num[1],num[2]和num[3]的总和中占了主体比例,而圈和叉列目标点数以两个为主,即num[2]在num[1],num[2]和num[3]的总和中占了主体比例;
圈的左半部分局部方向特征呈现递增,即列目标像素点之间的距离逐渐扩大,而圈的右半部分局部特征刚好相反,列目标像素点之间的距离逐渐缩小,且局部方向特征的翻转次数为一次;叉分为两种情况:一种没有包含环路的叉,其局部方向特征恰好与圈相反,局部方向特征是先递减后递增的现象,且局部方向特征的翻转次数为一次,另一种是包含环路的叉,局部方向特征呈现先递增后递减在递增,且局部方向特征的翻转次数为两次。
3、如权利要求1或2所述的一种基于版面分析的选票快速识别统计方法,其特征在于:在所述步骤(5)中,记单元格为Unit(Ll,Lr,Lb,Lt),其中Ll为单元格的左边界表格线,Lr为单元格的右边界表格线,Lb为单元格的下边界表格线,Lt为单元格的上边界表格线,首先从Ll出发,以Lt和Lb为上下边界进行搜索,若遇到黑像素集合则停止,把该处记为Sl,代表符号的左边界;同理可得到Sr为符号的右边界,Sb为符号的下边界,St为符号的上边界,则一个投票符号在选票图像中的图像区域可表示为Symbol(Sl,Sr,Sb,St)。
4、如权利要求1或2所述的一种基于版面分析的选票快速识别统计方法,其特征在于:在所述步骤(6)中,提取符号列目标点数及列目标点的位置的过程为:首先定义列号i=0,行号j=0,flag1[i],flag2[i],flag3[i]依次存放第i列从下往上扫描的目标像素点,初始值为空。接着对预处理后的符号进行从左到右逐列扫描,而对每一列i进行从下往上逐行扫描,碰到第一个黑像素点,存储flag1[i]=j1,继续往上扫描,碰到第二个目标像素点,存为flag2[i]=j2,继续往上扫描,如果碰到第三个目标像素点,存为flag3[i]=j3,继续往上扫描,如果还存在第四个目标像素点,则表示肯定有噪声点的存在,跳过当前列的扫描,令flag1[i],flag2[i],flag3[i]均无效。经过从左到右,从下往上对符号进行扫描,采集符号的所有目标像素点。为了排除噪音点的干扰,当扫描到下一个目标像素点时,需要与前一个目标像素点的距离进行差值比较,若结果小于给定的阈值,则当前目标像素点认定为噪声点,忽略不计,继续当前列的扫描。
5、如权利要求4所述的一种基于版面分析的选票快速识别统计方法,其特征在于:在所述步骤(6)中,提取其轮廓特征的步骤为:首先定义每列列目标点距离方向direction[i]为空,从左到右扫描每一列i,若当前列i存在两个列目标点,即flag1[i],flag2[i]为非空,而flag3[i]为空,判断第i-1列是否也存在两个列目标点,如果是则分别计算第i,i-1列两个列目标点的垂直距离distance_i和distance_i1,并比较其大小,如果|distance_i|>|distance_i1|则令第i列direction[i]=1,表示列目标点距离方向往上,若相等则令direction[i]=0,表示列目标点距离方向保持不变,小于则令direction[i]=-1,表示列目标点距离方向向下;规定|flag2[i]-flag2[i-1]|<=3,且|flag1[i]-flag1[i-1]|<=3;
获取每一列列目标点距离方向direction[i]后,提取符号的局部方向特征,对direction[i]数组中的值依次提取,获取第一个值为1或-1的direction[i],根据累加规则进行列数count的统计,直到direction[m]+direction[i]=0,i≤m<w,0≤i<w,只有当列数count大于给定的阈值T,则将direction[i]存入局部方向数据part_dir[k]中;从direction[m]开始,重新根据累加规则进行列数count的统计,并在不符合累加规则时计算列数count与阈值之间的差值,决定是否将direction[m]存入局部方向数据part_dir[k]中;依此类推,直至遍历完direction[i],记录下所有的局部方向特征值;
从左到右依次提取part_dir[i]数组中的值,计算两两之间的乘积part_dir[i]*part_dir[i+1],若乘积结果为-1,则翻转次数turn=turn+1,继续计算part_dir[i+1]*part_dir[i+2],根据结果进行turn的累加,直至遍历完part_dir[i]数组,获取局部方向特征的翻转次数。
6、如权利要求1或2所述的一种基于版面分析的选票快速识别统计方法,其特征在于:在所述步骤(3)中,选票图像的表格边缘线通过边缘点来表示,在选取的子区域内,从左往右逐列扫描,对于每一列 i &Element; [ w 10 , 9 &times; w 10 ] , 从图像边缘y=h-1往下逐行扫描,寻找满足条件1的第一个点(i,j),令black[i]=j,如果没有找到符合条件灰度值f(i,j)=1的目标像素点,则令 black [ i ] = h 2 , 并记录(i,black[i])作为一个边缘点,执行i=i+1,继续下一列上边缘点的扫描,并将符合条件1的第一个像素点的行列坐标记录为一个边缘点,直到扫描完所有的列为止,提取指定宽度的所有上边缘点,确立边缘点集 { ( w 10 , black [ w 10 ] ) , . . . . . . , ( i - 1 , black [ i - 1 ] ) , ( i , black [ i ] ) , ( i + 1 , black [ i + 1 ] ) . . . . . . ( 9 w 10 , black [ 9 w 10 ] ) } ;
其中,条件1:f(i,j)=1
定义1 斜率的投票数:在一组斜率中,设定一个邻域区间[-θ1,θ1],统计属于当前斜率所在邻域区间[xielv[i][d]-tanθ1,xielv[i][d]+tanθ1]内的斜率个数,假定当前斜率为xielv[i][d];
定义2 局部最大斜率part_slope:每个边缘点(i,black[i])通过斜率公式计算,得到一个局部斜率特征集f[i],从局部斜率特征集中筛选出的具有最大投票数的斜率称为局部最大斜率;
定义3 最终斜率end_slope:在定义2的基础上,遍历所有的局部最大斜率,从局部最大斜率中筛选出具有最大投票数的斜率,即最终斜率;
对于边缘点集内的每一个边缘点(i,black[i]),以i为中心,以步长length做增量向外扩张,依次选取边缘点(d,black[d])并计算两两之间的斜率xielv[i][d],即 xielv [ i ] [ d ] = black [ d ] - black [ i ] d - i &times; 1.0
| d - i | = n &times; length ( n &GreaterEqual; 1 , d &NotEqual; i , i &Element; [ w 10 , 9 w 10 ] , d &Element; [ w 10 , 9 w 10 ] )
斜率保留小数位,其中i,d表示不同的列,且必须满足式子(3-4),black[i],black[d]表示第i,d列上边缘点所在的行;通过以上过程的计算,对于每一个边缘点(i,black[i]),均建立相同规模的一个局部斜率特征集f[i],f[i]={...,xielv[i][i-2*length],xielv[i][i-length],xielv[i][i+length]......};
对于所有的边缘点,形成一个以每个边缘点的局部斜率特征集为集合元素的整体斜率特征集 { f [ w 10 ] , . . . . . . , f [ i - 1 ] , f [ i ] , f [ i + 1 ] , . . . . . . , f [ 9 w 10 ] } , 局部斜率特征集和整体斜率特征集的大小由length确定;
首先在整体斜率特征集中,针对每一个局部斜率特征子集f[i],筛选出其中的局部最大斜率part_slopei;对于边缘点(i,black[i]),在其对应的局部斜率特征集f[i]内统计每个斜率的投票数之前,设置过滤条件先把斜率进行过滤,过滤条件为倾斜角是否在[-θ,θ]之内,接着对f[i]中倾斜角在[-θ,θ]之内的每个斜率,设定一个邻域区间[-θ1,θ1],统计属于当前斜率所在邻域区间
Figure A200810162629C00062
Figure A200810162629C00063
内的斜率个数,即当前斜率xielv[i][d]的投票数,筛选出具有最大投票数的斜率,即局部最大斜率part_slopei;如果存在多个斜率具有相同的最大投票数,则局部最大斜率为多个斜率之和的平均值;遍历每一个边缘点,利用上述步骤在其对应的局部斜率特征集内筛选出局部最大斜率,形成一个新的以局部最大斜率为集合元素的整体斜率特征集{......,part_slopei-1,part_slopei,part_slopei+1,......};
判断筛选出来的局部最大斜率part_slopei是否满足:其相应的斜率投票数在其局部斜率特征集内必须大于给定的阈值,符合规则的所有局部最大斜率part_slopei形成一个新的整体斜率特征集,而新的整体斜率特征集内的元素个数必须占所有局部最大斜率个数总数的一半以上;
在新的整体斜率特征集内,对于每一个局部最大斜率part_slopei,根据先前设定的邻域区间[-θ1,θ1],重新统计属于当前局部最大斜率所在邻域区间 [ part _ slopei - tan &theta; 1 , part _ slopei + tan &theta; 1 ] 内的局部最大斜率个数,即当前局部最大斜率的投票数;从当前所有局部最大斜率的投票数中筛选出具有最大投票数的局部最大斜率,即最终斜率end_slope;如果存在多个局部最大斜率具有相同的最大投票数,则最终斜率end_slope为多个局部最大斜率之和的平均值,根据公式image_θ=αtan(end_slope)计算出选票图像的倾斜角度。
7、如权利要求6所述的一种基于版面分析的选票快速识别统计方法,其特征在于:在所述步骤(3)中,采用基于自适应就近原则进行批量选票倾斜校正,具体过程为:首先获取几个已知的连续选票的倾斜角度θ1θ2......θn,计算两两之间的差值,若差值符合判别规则rule,则将已知的最后一个倾斜角度θn确定为当前的倾斜角度θ,应用于接下来几张未进行倾斜检测的选票进行倾斜校正;若倾斜角度两两之间的差值不符合rule,则放弃当前已知的倾斜角度,重新获取几个连续选票的倾斜角度,重新计算两两之间的差值,判断其是否符合判别规则rule;依次类推,直至完成所有选票的倾斜校正处理;
判别规则rule如下:
(1)若|θmm+1|均小于给定的阈值T,则θ=θn,其中1≤m≤n-1,1<n<4;
(2)若|θkk+1|小于给定的阈值T的个数大于等于
Figure A200810162629C00071
n 2 &le; k &le; n - 1 , 则θ=θn,其中n≥4。
8、如权利要求1或2所述的一种基于版面分析的选票快速识别统计方法,其特征在于:在所述步骤(2)中,二值化处理的过程为:对选票图像Image,记t为前景与背景的分割阈值,前景点数所占图像比例为w0,平均灰度为u0;背景点数所占图像比例为w1,平均灰度为u1,图像的总平均灰度为:u=w0*u0+w1*u1;从最小灰度值到最大灰度值遍历t,当t使得值g=w0*(u0-u)2+w1*(u1-u)2最大时t即为分割的最佳阈值;阈值t分割出的前景和背景两部分构成整幅图像。
9、如权利要求8所述的一种基于版面分析的选票快速识别统计方法,其特征在于:在所述步骤(2)中,平滑噪声采用中值滤波方法,具体包括:对于给定图像中的每个像素点(x,y),其灰度值为f(x,y),设定一个二维滑动模板W,其中值滤波输出为:
g(x,y)=Medf(x-k,y-l),(k,l)∈W}
用g(x,y)替换f(x,y),即将模板中的数据进行排序后,用处于中间位置上的值来代替该像素点原来的灰度,W为二维滑动模板,取3×3,5×5区域。
10、一种用于实现如权利要求1所述的基于版面分析的选票快速识别统计方法的选票快速识别统计系统,其特征在于:所述选票快速识别统计系统包括:图像采集模块,用于将选票扫描成选票图像;
图像预处理和预定义语义库模块,用于将选票图像进行预处理,首先将选票图像转换成二值化图像,再进行平滑和细化处理;并建立投票符号的预定义语义库,所述投票符号包括勾、叉和圈,依照图像形状特征分析,通过竖线特征区分勾和圈、叉,通过轮廓的局部方向特征区分圈和叉;
图像倾斜校正模块,用于将预处理后的选票图像进行增强处理,选取有效的子区域,检测表格的边缘线,提取表格线边缘点建立边缘点集,并为每个边缘点建立一个局部斜率特征集,最终形成以局部斜率特征集为集合元素的整体斜率特征集,通过先局部后全局的两轮筛选,得出整体斜率特征集内具有全局最大投票数的斜率,对应的倾斜角即为选票图像的倾斜角,并依照倾斜角进行位置校正,并将表格平移到选票的重心;
选票图像的表格线检测和提取模块,用于进行表格线的检测和提取:其中,检测表格横线的过程为:建立行像素数组HBlackNum[1Height],1Height代表选票图像的像素高度;自下而上扫描选票图像,在行像素数组HBlackNum[1Height]中记录下每一像素行中的黑像素数,同时记录下含最多黑像素数的像素行;取含最多黑像素数的像素行的像素数的1/2作为横向表格线的分割域值Tn,规定行像素数组HBlackNum[1Height]中像素数不小于该域值的像素行为一条横向表格线HLine[]所在的像素行;最后定义一个相邻表格线之间的距离域值Td来滤除重复的表格线;检测表格竖线的过程与上述表格横线相同;
符号检测和提取模块,用于通过搜索这四条表格线之间的区域即可搜索得到该单元格中的投票符号;
符号识别模块,用于提取投票符号的列目标点数及列目标点的位置,并做统计:依照预定义语义库,如果列目标点数以一个为主,则为勾,如果列目标点数以两个为主,则为圈和叉;接着,对圈和叉的投票图像提取其轮廓特征,如果局部方向特征呈现先递增后递减、列目标像素点之间的距离逐渐缩小且局部方向特征的翻转次数为一次,则为圈,如果局部方向特征呈现先递减后递增的现象且局部方向特征的翻转次数为一次,或者先递增后递减再递增且局部方向特征的翻转次数为两次,则为勾;
统计结果存储模块,用于将投票符号识别后的结果存入数据库。
CN2008101626290A 2008-11-27 2008-11-27 一种基于版面分析的选票快速识别统计方法及系统 Expired - Fee Related CN101447017B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101626290A CN101447017B (zh) 2008-11-27 2008-11-27 一种基于版面分析的选票快速识别统计方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101626290A CN101447017B (zh) 2008-11-27 2008-11-27 一种基于版面分析的选票快速识别统计方法及系统

Publications (2)

Publication Number Publication Date
CN101447017A true CN101447017A (zh) 2009-06-03
CN101447017B CN101447017B (zh) 2010-12-08

Family

ID=40742690

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101626290A Expired - Fee Related CN101447017B (zh) 2008-11-27 2008-11-27 一种基于版面分析的选票快速识别统计方法及系统

Country Status (1)

Country Link
CN (1) CN101447017B (zh)

Cited By (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101923643A (zh) * 2010-08-11 2010-12-22 中科院成都信息技术有限公司 通用表格识别方法
CN102509115A (zh) * 2011-11-22 2012-06-20 北京京北方信息技术有限公司 一种分层带回溯查找机制的票据类型识别方法
CN102831421A (zh) * 2012-08-29 2012-12-19 华东师范大学 一种基于标点符号的文档上下方向检测方法
CN103093227A (zh) * 2013-01-14 2013-05-08 西南大学 提取表格特征的方法及装置
CN103258201A (zh) * 2013-04-26 2013-08-21 四川大学 一种融合全局和局部信息的表格线提取方法
CN103345747A (zh) * 2013-06-26 2013-10-09 公安部第三研究所 一种基于平面坐标优化的图像形状特征提取和结构化描述装置以及方法
CN103473847A (zh) * 2013-09-10 2013-12-25 中科院成都信息技术股份有限公司 基于二维码的选票及其识别方法
CN103489254A (zh) * 2012-06-11 2014-01-01 深圳信息职业技术学院 彩票的识别方法及系统
CN103577818A (zh) * 2012-08-07 2014-02-12 北京百度网讯科技有限公司 一种图像文字识别的方法和装置
CN104169972A (zh) * 2012-03-14 2014-11-26 欧姆龙株式会社 区域指定方法和区域指定装置
CN104240361A (zh) * 2014-09-18 2014-12-24 上海合煦信息科技有限公司 一种基于摄像装置和图形卡的现场投票系统
CN104636117A (zh) * 2013-11-12 2015-05-20 江苏奥博洋信息技术有限公司 一种表格图像的自动切分方法
CN104766043A (zh) * 2014-10-15 2015-07-08 南通北城科技创业管理有限公司 一种选票图像快速识别的方法
CN105046553A (zh) * 2015-07-09 2015-11-11 胡昭 基于手机的云智能发票识别查验系统及方法
CN105184946A (zh) * 2015-10-20 2015-12-23 山大鲁能信息科技有限公司 一种防止选票堆积的电子票箱及其工作方法
CN101609453B (zh) * 2009-07-09 2016-02-24 交通银行股份有限公司 一种分隔页、以及利用该分隔页的文件分类的方法和装置
CN105389557A (zh) * 2015-11-10 2016-03-09 佛山科学技术学院 一种基于多区域特征的电子公文分类方法
CN105528604A (zh) * 2016-01-31 2016-04-27 华南理工大学 一种基于ocr的票据自动识别与处理系统
CN105574486A (zh) * 2015-11-25 2016-05-11 成都数联铭品科技有限公司 一种图像表格文字切分方法
CN105740857A (zh) * 2016-01-31 2016-07-06 华南理工大学 一种基于ocr的快速纸笔投票结果自动采集与识别系统
CN106898083A (zh) * 2017-03-01 2017-06-27 深圳怡化电脑股份有限公司 一种用于纸币的图像处理方法及装置
CN107194391A (zh) * 2017-04-21 2017-09-22 广东清华文通科技有限公司 一种可对抗图像拉伸偏移的智能分析定位电子选票的方法
CN107220644A (zh) * 2017-04-18 2017-09-29 天津大学 一种心电图扫描图像倾斜度校正方法
CN107633239A (zh) * 2017-10-18 2018-01-26 江苏鸿信系统集成有限公司 基于深度学习和ocr的票据分类及票据字段提取方法
CN107689006A (zh) * 2017-03-13 2018-02-13 平安科技(深圳)有限公司 理赔账单识别方法和装置
CN107808154A (zh) * 2017-12-08 2018-03-16 上海慧银信息科技有限公司 提取收银票据信息的方法和装置
CN108875631A (zh) * 2018-06-14 2018-11-23 北京华开领航科技有限责任公司 一种道岔开通方向确定方法及装置
CN109190611A (zh) * 2018-08-14 2019-01-11 江西师范大学 一种基于众包的互联网编修家谱系统
CN109271844A (zh) * 2018-07-29 2019-01-25 国网上海市电力公司 基于OpenCV的电气柜电气符号识别方法
CN109522805A (zh) * 2018-10-18 2019-03-26 成都中科信息技术有限公司 一种用于社区选举中表格型选票的表格处理方法
CN109522816A (zh) * 2018-10-26 2019-03-26 北京慧流科技有限公司 表格识别方法及装置、计算机存储介质
CN109615006A (zh) * 2018-12-10 2019-04-12 北京市商汤科技开发有限公司 文字识别方法及装置、电子设备和存储介质
CN109670447A (zh) * 2018-12-20 2019-04-23 中科院成都信息技术股份有限公司 印章选票填涂框图像的识别方法、装置及可读存储介质
CN109711404A (zh) * 2018-12-20 2019-05-03 中科院成都信息技术股份有限公司 印章选票填涂的识别方法、装置及计算机可读存储介质
CN109785287A (zh) * 2018-12-14 2019-05-21 镇江教泽信息技术有限公司 基于流程图图像分析的流动可能性枚举算法
WO2019104879A1 (zh) * 2017-11-30 2019-06-06 平安科技(深圳)有限公司 表格类图像的信息识别方法、电子装置及可读存储介质
CN109993161A (zh) * 2019-02-25 2019-07-09 众安信息技术服务有限公司 一种文本图像旋转矫正方法及系统
CN110135218A (zh) * 2018-02-02 2019-08-16 兴业数字金融服务(上海)股份有限公司 用于识别图像的方法、装置、设备和计算机存储介质
CN110135217A (zh) * 2018-02-02 2019-08-16 兴业数字金融服务(上海)股份有限公司 用于识别图像中的表格内的字符的方法和装置
CN110377640A (zh) * 2019-07-23 2019-10-25 江南大学 一种基于深度学习投票统计方法
CN110428540A (zh) * 2019-08-05 2019-11-08 电子科技大学 一种一体化智能投票系统
CN110765079A (zh) * 2018-07-27 2020-02-07 国信优易数据有限公司 一种表格信息的搜索方法及装置
CN110929684A (zh) * 2019-12-09 2020-03-27 北京光年无限科技有限公司 用于绘本的内容识别方法及装置
CN111046647A (zh) * 2019-11-22 2020-04-21 西安网算数据科技有限公司 一种自动排版方法及会计账簿自动生成方法
CN111325182A (zh) * 2020-03-19 2020-06-23 四川骏逸富顿科技有限公司 一种基于ocr的医保报销欺诈检测方法
CN112149561A (zh) * 2020-09-23 2020-12-29 杭州睿琪软件有限公司 图像处理方法和装置、电子设备和存储介质
CN112464724A (zh) * 2020-10-30 2021-03-09 中科院成都信息技术股份有限公司 选票识别方法及系统
CN112801016A (zh) * 2021-02-08 2021-05-14 联仁健康医疗大数据科技股份有限公司 一种选票数据统计方法、装置、设备和介质
CN112817889A (zh) * 2019-11-15 2021-05-18 合肥美亚光电技术股份有限公司 一种数据的采集方法及系统
CN112949687A (zh) * 2021-02-01 2021-06-11 北京三快在线科技有限公司 差异识别模型的训练方法及装置
CN113378666A (zh) * 2021-05-28 2021-09-10 山东大学 一种票据图像倾斜校正方法、票据识别方法及系统
WO2022056875A1 (zh) * 2020-09-18 2022-03-24 西门子股份公司 一种铭牌图像的分割方法、装置和计算机可读存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108038441B (zh) * 2017-12-07 2021-03-16 潘晓梅 一种基于图像识别的系统与方法

Cited By (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101609453B (zh) * 2009-07-09 2016-02-24 交通银行股份有限公司 一种分隔页、以及利用该分隔页的文件分类的方法和装置
CN101923643A (zh) * 2010-08-11 2010-12-22 中科院成都信息技术有限公司 通用表格识别方法
CN101923643B (zh) * 2010-08-11 2012-11-21 中科院成都信息技术有限公司 通用表格识别方法
CN102509115B (zh) * 2011-11-22 2014-06-25 北京京北方信息技术有限公司 一种分层带回溯查找机制的票据类型识别方法
CN102509115A (zh) * 2011-11-22 2012-06-20 北京京北方信息技术有限公司 一种分层带回溯查找机制的票据类型识别方法
CN104169972A (zh) * 2012-03-14 2014-11-26 欧姆龙株式会社 区域指定方法和区域指定装置
CN103489254A (zh) * 2012-06-11 2014-01-01 深圳信息职业技术学院 彩票的识别方法及系统
CN103577818B (zh) * 2012-08-07 2018-09-04 北京百度网讯科技有限公司 一种图像文字识别的方法和装置
CN103577818A (zh) * 2012-08-07 2014-02-12 北京百度网讯科技有限公司 一种图像文字识别的方法和装置
CN102831421A (zh) * 2012-08-29 2012-12-19 华东师范大学 一种基于标点符号的文档上下方向检测方法
CN102831421B (zh) * 2012-08-29 2015-09-23 华东师范大学 一种基于标点符号的文档上下方向检测方法
CN103093227B (zh) * 2013-01-14 2016-01-20 西南大学 提取表格特征的方法及装置
CN103093227A (zh) * 2013-01-14 2013-05-08 西南大学 提取表格特征的方法及装置
CN103258201A (zh) * 2013-04-26 2013-08-21 四川大学 一种融合全局和局部信息的表格线提取方法
CN103258201B (zh) * 2013-04-26 2016-04-06 四川大学 一种融合全局和局部信息的表格线提取方法
CN103345747A (zh) * 2013-06-26 2013-10-09 公安部第三研究所 一种基于平面坐标优化的图像形状特征提取和结构化描述装置以及方法
CN103473847B (zh) * 2013-09-10 2016-01-20 中科院成都信息技术股份有限公司 基于二维码的选票及其识别方法
CN103473847A (zh) * 2013-09-10 2013-12-25 中科院成都信息技术股份有限公司 基于二维码的选票及其识别方法
CN104636117A (zh) * 2013-11-12 2015-05-20 江苏奥博洋信息技术有限公司 一种表格图像的自动切分方法
CN104240361A (zh) * 2014-09-18 2014-12-24 上海合煦信息科技有限公司 一种基于摄像装置和图形卡的现场投票系统
CN104766043A (zh) * 2014-10-15 2015-07-08 南通北城科技创业管理有限公司 一种选票图像快速识别的方法
CN105046553A (zh) * 2015-07-09 2015-11-11 胡昭 基于手机的云智能发票识别查验系统及方法
CN105184946A (zh) * 2015-10-20 2015-12-23 山大鲁能信息科技有限公司 一种防止选票堆积的电子票箱及其工作方法
CN105389557A (zh) * 2015-11-10 2016-03-09 佛山科学技术学院 一种基于多区域特征的电子公文分类方法
CN105574486A (zh) * 2015-11-25 2016-05-11 成都数联铭品科技有限公司 一种图像表格文字切分方法
CN105740857A (zh) * 2016-01-31 2016-07-06 华南理工大学 一种基于ocr的快速纸笔投票结果自动采集与识别系统
CN105528604A (zh) * 2016-01-31 2016-04-27 华南理工大学 一种基于ocr的票据自动识别与处理系统
CN105528604B (zh) * 2016-01-31 2018-12-11 华南理工大学 一种基于ocr的票据自动识别与处理系统
CN106898083A (zh) * 2017-03-01 2017-06-27 深圳怡化电脑股份有限公司 一种用于纸币的图像处理方法及装置
CN107689006A (zh) * 2017-03-13 2018-02-13 平安科技(深圳)有限公司 理赔账单识别方法和装置
CN107220644A (zh) * 2017-04-18 2017-09-29 天津大学 一种心电图扫描图像倾斜度校正方法
CN107220644B (zh) * 2017-04-18 2020-04-24 天津大学 一种心电图扫描图像倾斜度校正方法
CN107194391A (zh) * 2017-04-21 2017-09-22 广东清华文通科技有限公司 一种可对抗图像拉伸偏移的智能分析定位电子选票的方法
CN107633239A (zh) * 2017-10-18 2018-01-26 江苏鸿信系统集成有限公司 基于深度学习和ocr的票据分类及票据字段提取方法
WO2019104879A1 (zh) * 2017-11-30 2019-06-06 平安科技(深圳)有限公司 表格类图像的信息识别方法、电子装置及可读存储介质
CN107808154A (zh) * 2017-12-08 2018-03-16 上海慧银信息科技有限公司 提取收银票据信息的方法和装置
CN107808154B (zh) * 2017-12-08 2021-03-30 上海慧银信息科技有限公司 提取收银票据信息的方法和装置
CN110135217B (zh) * 2018-02-02 2021-07-23 兴业数字金融服务(上海)股份有限公司 用于识别图像中的表格内的字符的方法和装置
CN110135217A (zh) * 2018-02-02 2019-08-16 兴业数字金融服务(上海)股份有限公司 用于识别图像中的表格内的字符的方法和装置
CN110135218A (zh) * 2018-02-02 2019-08-16 兴业数字金融服务(上海)股份有限公司 用于识别图像的方法、装置、设备和计算机存储介质
CN108875631A (zh) * 2018-06-14 2018-11-23 北京华开领航科技有限责任公司 一种道岔开通方向确定方法及装置
CN110765079A (zh) * 2018-07-27 2020-02-07 国信优易数据有限公司 一种表格信息的搜索方法及装置
CN109271844A (zh) * 2018-07-29 2019-01-25 国网上海市电力公司 基于OpenCV的电气柜电气符号识别方法
CN109271844B (zh) * 2018-07-29 2023-03-28 国网上海市电力公司 基于OpenCV的电气柜电气符号识别方法
CN109190611A (zh) * 2018-08-14 2019-01-11 江西师范大学 一种基于众包的互联网编修家谱系统
CN109522805A (zh) * 2018-10-18 2019-03-26 成都中科信息技术有限公司 一种用于社区选举中表格型选票的表格处理方法
CN109522816A (zh) * 2018-10-26 2019-03-26 北京慧流科技有限公司 表格识别方法及装置、计算机存储介质
CN109522816B (zh) * 2018-10-26 2021-07-02 北京慧流科技有限公司 表格识别方法及装置、计算机存储介质
CN109615006A (zh) * 2018-12-10 2019-04-12 北京市商汤科技开发有限公司 文字识别方法及装置、电子设备和存储介质
CN109785287A (zh) * 2018-12-14 2019-05-21 镇江教泽信息技术有限公司 基于流程图图像分析的流动可能性枚举算法
CN109670447A (zh) * 2018-12-20 2019-04-23 中科院成都信息技术股份有限公司 印章选票填涂框图像的识别方法、装置及可读存储介质
CN109711404A (zh) * 2018-12-20 2019-05-03 中科院成都信息技术股份有限公司 印章选票填涂的识别方法、装置及计算机可读存储介质
CN109711404B (zh) * 2018-12-20 2019-12-24 中科院成都信息技术股份有限公司 印章选票填涂的识别方法、装置及计算机可读存储介质
CN109993161A (zh) * 2019-02-25 2019-07-09 众安信息技术服务有限公司 一种文本图像旋转矫正方法及系统
CN110377640A (zh) * 2019-07-23 2019-10-25 江南大学 一种基于深度学习投票统计方法
CN110428540A (zh) * 2019-08-05 2019-11-08 电子科技大学 一种一体化智能投票系统
CN112817889A (zh) * 2019-11-15 2021-05-18 合肥美亚光电技术股份有限公司 一种数据的采集方法及系统
CN111046647A (zh) * 2019-11-22 2020-04-21 西安网算数据科技有限公司 一种自动排版方法及会计账簿自动生成方法
CN110929684A (zh) * 2019-12-09 2020-03-27 北京光年无限科技有限公司 用于绘本的内容识别方法及装置
CN110929684B (zh) * 2019-12-09 2023-04-18 北京光年无限科技有限公司 用于绘本的内容识别方法及装置
CN111325182A (zh) * 2020-03-19 2020-06-23 四川骏逸富顿科技有限公司 一种基于ocr的医保报销欺诈检测方法
WO2022056875A1 (zh) * 2020-09-18 2022-03-24 西门子股份公司 一种铭牌图像的分割方法、装置和计算机可读存储介质
CN112149561A (zh) * 2020-09-23 2020-12-29 杭州睿琪软件有限公司 图像处理方法和装置、电子设备和存储介质
CN112149561B (zh) * 2020-09-23 2024-04-16 杭州睿琪软件有限公司 图像处理方法和装置、电子设备和存储介质
CN112464724A (zh) * 2020-10-30 2021-03-09 中科院成都信息技术股份有限公司 选票识别方法及系统
CN112464724B (zh) * 2020-10-30 2023-10-24 中科院成都信息技术股份有限公司 选票识别方法及系统
CN112949687A (zh) * 2021-02-01 2021-06-11 北京三快在线科技有限公司 差异识别模型的训练方法及装置
CN112949687B (zh) * 2021-02-01 2022-05-31 北京三快在线科技有限公司 差异识别模型的训练方法及装置
CN112801016A (zh) * 2021-02-08 2021-05-14 联仁健康医疗大数据科技股份有限公司 一种选票数据统计方法、装置、设备和介质
CN113378666A (zh) * 2021-05-28 2021-09-10 山东大学 一种票据图像倾斜校正方法、票据识别方法及系统

Also Published As

Publication number Publication date
CN101447017B (zh) 2010-12-08

Similar Documents

Publication Publication Date Title
CN101447017B (zh) 一种基于版面分析的选票快速识别统计方法及系统
Bukhari et al. Layout analysis for arabic historical document images using machine learning
CN109308476A (zh) 票据信息处理方法、系统及计算机可读存储介质
CN103034848B (zh) 一种表单类型的识别方法
CN101976258B (zh) 基于对象分割和特征加权融合的视频语义提取方法
CN109241894A (zh) 一种基于表格定位和深度学习的针对性票据内容识别系统和方法
Mahmoud Recognition of writer-independent off-line handwritten Arabic (Indian) numerals using hidden Markov models
US20110007366A1 (en) System and method for classifying connected groups of foreground pixels in scanned document images according to the type of marking
CN103810484B (zh) 基于打印字库分析的打印文件鉴别方法
CN107194400A (zh) 一种财务报销全票据图片识别处理方法
CN103093240A (zh) 书法字识别方法
CN103870803A (zh) 一种基于粗定位与精定位融合的车牌识别方法和系统
CN101477426B (zh) 一种识别手写输入的方法及系统
CN106529532A (zh) 一种基于积分特征通道与灰度投影的车牌识别系统
CN103914680A (zh) 一种喷印字符图像识别与校验系统及方法
CN101286202A (zh) 多字体多字号的基于彝文字符集的印刷体字符识别方法
CN103927539A (zh) 离线式维吾尔文手写签名识别的一种高效的特征提取方法
CN102750531B (zh) 用于票据文档定位格的手写体标记符号检测方法
Mori et al. Generating new samples from handwritten numerals based on point correspondence
CN100485711C (zh) 手写字体的计算机识别与自动输入方法
Fornés et al. A keyword spotting approach using blurred shape model-based descriptors
CN101477425A (zh) 一种识别手写字符输入的方法及系统
CN106408014A (zh) 一种基于流形对齐的半监督分类方法
Guo et al. Research on Feature Extraction for Character Recognition of NaXi Pictograph.
Rodrigues et al. Cursive character recognition–a character segmentation method using projection profile-based technique

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20101208

Termination date: 20171127