字符识别方法和字符识别系统的制作方法

文档序号:10594598阅读:1514来源:国知局
字符识别方法和字符识别系统的制作方法
【专利摘要】本发明涉及一种票据的字符识别方法和字符识别系统。该字符识别方法包括以下步骤:利用用户终端获取待识别票据的图像;将图像上传至服务器,其中,服务器包括基本识别库、扩展识别库以及至少第一和第二存储区,其中,基本识别库和扩展识别库中分别存储有用于基本字符识别和扩展字符识别的字符样本,并且,基本识别库中的字符样本的数量小于扩展识别库中的字符样本的数量;调用基本识别库,对图像进行基本字符识别;确定识别错误的字符数量,计算识别错误率;当识别错误率小于等于第一阈值时,将图像存储到第一存储区,当识别错误率大于第一阈值时,将图像存储到第二存储区;对于存储在第二存储区的图像,调用扩展识别库,对图像进行扩展字符识别。
【专利说明】
字符识别方法和字符识别系统
技术领域
[0001]本发明涉及图像处理,特别涉及一种票据的字符识别方法和字符识别系统。
【背景技术】
[0002]0CR(0ptical Character Recognit1n)光学字符识别,更多的涉及信息技术及自动化方面,目前应用广泛的有汽车牌照的识别、银行等财务办公的票据识别、及部分名片识别的应用等。在车牌及银行票据方面的识别更多的需要硬件设备的辅助支持,例如专业的扫描仪及拍照设备。
[0003]常规OCR识别,只是识别排列组合有限的车牌及相对比较统一规范的银行票据。因为识别图像的内容相对固定简单。
[0004]例如,车牌识别,排列组合英文大写字母加上O到9的数字即可,内容相对简单,系统的不断优化学习过程相对容易。
[0005]银行票据的识别,通过硬件设备扫描仪进行相对高质量的图像扫码进而得到清晰的图像光学信息,同时银行的财务票据的格式相对统一固定,故此模板相对一致,与车牌识别相似只要完成固定的系统优化即可得到相对高识别率的结果。
[0006]由于识别系统对识别内容的完整性、清晰度及制式化的模板要求,故此在更为广泛的个人应用上存在缺陷及瓶颈,同时因为硬件设备的使用及个人应用的非固定性局限着识别的广泛应用。
[0007]例如,随着人们生活水平的提高,超市购物变得越发普及,超市购物凭证(下称超市小票)中记载了大量的消费者消费信息,这些数据对于商家或第三方进行分析非常重要。然而,目前主要是通过人工收集和录入这些信息,非常耗时耗力,而将OCR应用到超市小票识别上会遇到很多问题。
[0008]这是因为超市小票的OCR识别存在很多技术难点。
[0009]—方面,超市小票的打印存在很多不确定因素。比如说,有些超市采用的是针式打印而有些采用的墨式打印。针式打印小票的OCR识别率较高,而墨式打印,因为是墨,会穿透纸张,造成字体不清楚。如果纸张质量不好,识别率很难令人满意。而且,用户对超市小票的不当保管可能会造成褶皱,这对识别造成了影响。此外,利用现有的扫描设备来获取超市小票的图像存在诸多不便之处,随着移动终端的普及,更希望用户通过自己的移动终端进行拍照来获取超市小票的图像进行字符识别。但是在这种情况下,移动终端的成像元件的分辨率、拍摄时的光照条件、用户手部的抖动等,均会造成所获取的图像的不清楚,给识别带来了更多的难题。
[0010]另一方面,在通过采集小票图像进行OCR识别从而统计消费者的各项消费数据的情况下,由于小票数量非常巨大,对于识别引擎造成了很大的压力,导致识别效率低下。上述因素造成了 OCR在超市小票识别方面普及率很低。

【发明内容】

[0011]本发明针对OCR在超市小票识别方面的难题,提供了一种票据的字符识别方法和字符识别系统。
[0012]根据本发明的第一方面,一种票据的字符识别方法包括以下步骤:图像获取步骤,利用用户终端获取待识别票据的图像;图像上传步骤,将所述待识别票据的图像上传至服务器,其中,所述服务器包括基本识别库、扩展识别库以及至少第一和第二存储区,其中,所述基本识别库和所述扩展识别库中分别存储有用于基本字符识别和扩展字符识别的字符样本,并且,所述基本识别库中的字符样本的数量小于所述扩展识别库中的字符样本的数量;基本字符识别步骤,调用所述基本识别库,通过将所述待识别票据的图像与存储在所述基本识别库中的字符样本进行比较,对所述待识别票据的图像进行所述基本字符识别;识别错误率计算步骤,确定识别错误的字符数量,计算识别错误率,所述识别错误率为识别错误的字符数量与所识别的字符总数之比;图像存储步骤,当所述识别错误率小于等于第一阈值时,将所述待识别票据的图像存储到所述第一存储区,当所述识别错误率大于所述第一阈值时,将所述待识别票据的图像存储到所述第二存储区;扩展字符识别步骤,对于存储在所述第二存储区的所述待识别票据的图像,调用所述扩展识别库,通过将所述待识别票据的图像与存储在所述扩展识别库中的字符样本进行比较,对所述图像进行所述扩展字符识别。
[0013]根据本发明的第二方面,所述扩展识别库中比所述基本识别库中多出的字符样本包含对应字符的异常形态,用于识别所述待识别票据的图像中的异常字符。
[0014]根据本发明的第三方面,在所述扩展字符识别步骤中,对于存储在所述第二存储区中的所述待识别票据的图像,在调用所述扩展识别库进行所述扩展字符识别之后,计算识别错误率,如果识别错误率小于等于所述第一阈值,则将所述待识别票据的图像从所述第二存储区转移到所述第一存储区。
[0015]根据本发明的第四方面,所述扩展字符识别步骤还包括:如果识别错误率小于等于所述第一阈值,则将成功识别的所述待识别票据的图像中的异常字符作为字符样本补充到所述基本识别库中。
[0016]根据本发明的第五方面,所述服务器还包括第三存储区,并且所述图像存储步骤还包括:当所述识别错误率大于所述第一阈值且小于第二阈值时,将所述待识别票据的图像存储到所述第二存储区,当所述识别错误率大于所述第二阈值时,将所述待识别票据的图像存储到所述第三存储区,其中,所述第二阈值大于所述第一阈值,其中,所述第二阈值大于所述第一阈值,并且所述扩展字符识别步骤还包括:对于存储在所述第三存储区的所述待识别票据的图像,调用所述扩展识别库,通过将所述待识别票据的图像与存储在所述扩展识别库中的字符样本进行比较,对所述待识别票据的图像进行所述扩展字符识别。
[0017]根据本发明的第六方面,在所述扩展字符识别步骤中,对于存储在所述第三存储区中的所述待识别票据的图像,在每次调用所述扩展识别库进行所述扩展字符识别之后,计算识别错误率,如果识别错误率大于所述第一阈值且小于等于所述第二阈值,则将所述待识别票据的图像从所述第三存储区转移到所述第二存储区。
[0018]根据本发明的第七方面,所述扩展字符识别步骤还包括:如果识别错误率大于所述第一阈值且小于等于所述第二阈值,则将成功识别的所述待识别票据的图像中的异常字符作为字符样本补充到所述扩展识别库中。
[0019]根据本发明的第八方面,在所述扩展字符识别步骤中,反复调用所述扩展识别库进行所述扩展字符识别。
[0020]根据本发明的第九方面,所述票据为超市购物小票。
[0021]根据本发明的第十方面,所述用户终端为移动终端。
[0022]根据本发明的第十一方面,一种票据的字符识别系统,用于对从用户终端接收的待识别票据的图像进行字符识别,该字符识别系统包括:存储模块,其包括基本识别库、扩展识别库以及至少第一和第二存储区,其中,所述基本识别库和所述扩展识别库中分别存储有用于基本字符识别和扩展字符识别的字符样本,所述基本识别库中的字符样本的数量小于所述扩展识别库中的字符样本的数量;识别模块,其调用所述基本识别库和所述扩展识别库,通过分别将所述待识别票据的图像与存储在所述基本识别库和所述扩展识别库中的字符样本进行比较,对所述待识别票据的图像进行所述基本字符识别和所述扩展字符识别;控制模块,其确定所述基本字符识别中识别错误的字符数量,计算识别错误率,所述识别错误率为识别错误的字符数量与所识别的字符总数之比,当所述识别错误率小于等于第一阈值时,所述控制模块将所述图像存储到所述第一存储区中,当所述识别错误率大于所述第一阈值时,所述控制模块将所述待识别票据的图像存储到所述第二存储区中。
[0023]本发明的字符识别方法和字符识别系统通过采用异步识别处理,能够提高票据的识别率,提高识别速度,并且即使票据数量巨大、拍照条件各异、票据材质、印刷质量不同,也能够快速准确地进行识别。
【附图说明】
[0024]附图与文字描述一起用来对本发明的实施方式作进一步的说明。其中:
[0025]图1示出了本发明的字符识别方法的总体流程图。
[0026]图2示出了本发明的字符识别方法的异步识别处理的流程图。
[0027]图3示出了本发明的字符识别系统的框图;
[0028]图4A示出了存储在第一存储区中的票据图像的例子;
[0029]图4B示出了图4A中的票据图像的识别结果;
[0030]图5A示出了存储在第二存储区中的票据图像的例子;
[0031 ]图5B示出了图4A中的票据图像的识别结果;
[0032]图6A示出了存储在第三存储区中的票据图像的例子;
[0033]图6B示出了图5A中的票据图像的识别结果;
[0034]图7示出了无法识别的票据图像的例子。
【具体实施方式】
[0035]为使本领域技术人员更好地理解本发明的技术方案,下面结合附图和【具体实施方式】对本发明提供的字符识别方法和字符识别系统进行详细描述。在这些附图中,对于相同或者相当的构成要素,标注相同标号。以下仅为本发明的字符识别方法和字符识别系统的最佳实施方式,本发明并不仅限于下述步骤和结构。
[0036]首先参照图1,图1示出了本发明的字符识别方法的总体流程图。在本文中,以超市小票为例进行说明,但是应当理解,本发明也可以应用于其他票据。
[0037]本发明的字符识别方法包括以下步骤:图像获取步骤S100,利用用户终端拍摄待识别超市小票的图像;图像上传步骤S102,将待识别超市小票的图像上传至服务器,其中,服务器包括基本识别库、扩展识别库以及至少第一和第二存储区,其中,基本识别库和扩展识别库中分别存储有用于基本字符识别和扩展字符识别的字符样本,并且,基本识别库中的字符样本的数量小于扩展识别库中的字符样本的数量;基本字符识别步骤S104,调用基本识别库,通过将待识别超市小票的图像与存储在基本识别库中的字符样本进行比较,对待识别超市小票的图像进行基本字符识别;识别错误率计算步骤S106,确定识别错误的字符数量,计算识别错误率,所述识别错误率为识别错误的字符数量与所识别的字符总数之比;图像存储步骤S108,当识别错误率小于等于第一阈值时,将待识别超市小票的图像存储到第一存储区,当识别错误率大于第一阈值时,将待识别超市小票的图像存储到第二存储区;扩展字符识别步骤S110,对于存储在第二存储区的待识别超市小票的图像,调用扩展识别库,通过将待识别超市小票的图像与存储在扩展识别库中的字符样本进行比较,对图像进行扩展字符识别。
[0038]如上所述,用户上传的超市小票图像,由于例如褶皱、打印不清楚或拍照抖动等原因,可能包含处于异常形态的字符。但是这种图像的比例并不是特别高。这种情况下,通过调用基本识别库可以对大部分的小票图像进行较好的识别。而对于那些通过调用基本识别库无法识别的小票图像,进一步通过调用扩展识别库进行识别。
[0039]在本发明中,扩展识别库中比基本识别库中多出的字符样本包含对应字符的异常形态,用于识别所述待识别超市小票的图像中的异常字符。
[0040]通过先利用字符样本数量较少的基本识别库进行字符识别,然后利用字符样本数量较多并且包含异常形态字符的扩展识别库进行字符识别,可以最大程度地提高识别效率,同时降低识别引擎的处理压力。
[0041]再参照图1,在扩展字符识别步骤SllO中,对于存储在第二存储区中的待识别超市小票的图像,在调用扩展识别库进行扩展字符识别之后,计算识别错误率,如果识别错误率小于等于第一阈值,则将待识别超市小票的图像从第二存储区转移到第一存储区。
[0042]也就是说,经过扩展字符识别达到了特定标准(例如,识别错误率小于等于第一阈值)的图像可以被转移到第一存储区中。优选地,第一存储区中存储的是被视为成功识别的图像。第一阈值可以为0%,或者接近0%的任意值,例如5%,10%等。
[0043]图1中的扩展字符识别步骤SI10还包括:如果识别错误率小于等于第一阈值,则将成功识别的待识别小票图像中的异常字符作为字符样本补充到基本识别库中。
[0044]通过不断地扩充基本识别库,可以提高后续字符识别处理的效率。
[0045]本发明的这种将待识别票据图像分为两档,分别使用基本识别库和扩展识别库进行识别的方法可以称为“异步识别”。
[0046]应当注意,以上仅仅对服务器只包括第一存储区和第二存储区的情形进行了说明。然而,根据情况,服务器还可以包括第三存储区或更多存储区。也就是说,本发明的异步识别可以为三档或更多档。
[0047]在三档的情况下,服务器还包括第三存储区,并且图像存储步骤S108还包括:当识别错误率大于第一阈值且小于第二阈值时,将待识别小票图像存储到第二存储区,当识别错误率大于第二阈值时,将待识别小票图像存储到第三存储区,其中,第二阈值大于第一阈值。
[0048]也就是说,在三挡的情况下,通过两个阈值对待识别小票图像进行分类。成功识别的放入第一存储区,其他的根据识别错误率分别放入第二存储区和第三存储区。
[0049]这种情况下,扩展字符识别步骤SllO还包括:对于存储在第三存储区的待识别超市小票的图像,调用扩展识别库,通过将待识别超市小票的图像与存储在扩展识别库中的字符样本进行比较,对待识别超市小票的图像进行扩展字符识别。
[0050]此外,在扩展字符识别步骤SllO中,对于存储在第三存储区中的待识别超市小票的图像,在调用扩展识别库进行扩展字符识别之后,计算识别错误率,如果识别错误率大于第一阈值且小于等于第二阈值,则将待识别超市小票的图像从第三存储区转移到第二存储区。
[0051]也就是说,经过扩展字符识别,如果将识别错误率降低到了满足放入第二存储区的标准,则将对应图像从第三存储区转移到第二存储区。
[0052]这里,扩展字符识别步骤SllO还包括:如果识别错误率大于第一阈值且小于等于第二阈值,则将成功识别的小票图像中的异常字符作为字符样本补充到扩展识别库中。
[0053]也就是说,不断地扩充扩展识别库,这样可以提高后续字符识别处理的效率。
[0054]在扩展字符识别步骤SlOO中,可以反复调用所述扩展识别库进行所述扩展字符识别。
[0055]此外,图像获取步骤SlOO中,用户终端可以是具备拍摄功能的移动终端,例如手机、平板电脑、PDA等。在这种情况下,用户拍摄超市小票的图像就尤其方便,可以随时随地进行拍摄、上传。
[0056]下面参照图2和图3,结合具体实施例对本发明的字符识别方法和字符识别系统做进一步的说明。
[0057]图2示出了本发明的字符识别方法的异步识别处理的流程图。图3示出了本发明的字符识别系统的框图。
[0058]在图2的流程图中,待识别小票的图像被分别放入三个存储区。也就是说,异步识别分为三挡进行。
[0059]如图3所示,本发明的字符识别系统100包括用户终端600和服务器700。服务器700包括存储模块701、识别模块702和控制模块703。存储模块701包括基本识别库706、扩展识别库708以及第一存储区200、第二存储区202和第三存储区204。基本识别库706和扩展识别库708中分别存储有用于基本字符识别和扩展字符识别的字符样本。基本识别库706中的字符样本的数量小于扩展识别库708中的字符样本。
[0060]注意,在图3中,存储模块701包括三个存储区。但是,这只是本发明的最佳实施方式,存储模块701只包括第一存储区200和第二存储区202也是可行的。虽然如此,下面仍以图3为例进行说明。
[0061]如图2和图3所示,首先服务器700的识别模块702调用基本识别库706进行基本字符识别(图1的S106)。然后,控制模块703计算识别错误率(图1的S108),根据识别错误率执行以下操作:确定是否识别正确(S108a)、确定识别错误率是否小于等于30%(S108b)、确定识别错误率是否小于100%,S卩,是否能够进行识别(S108c)。这里,第一阈值和第二阈值分别采用了 0%和30%。当然,本领域技术人员可以根据需要,灵活设置第一阈值和第二阈值。而步骤SlOSc中的阈值不必为100%,也可以设定为非常高,接近于100%,目的是找出很难进行正常识别的异常小票图像。
[0062]如果步骤SlOSa中确定结果为是,S卩,正确识别了小票,则控制模块703将小票图像存储至存储模块701的第一存储区200。例如,参照图4,图4A示出了用户上传的小票图像,这种清晰程度的小票图像很容易成功识别。图4B的左侧是被识别的图像,其中被框线框住的是识别区域,白色背景显示的数字是识别字符结果。图4B的右侧示出了所提取的识别字符。
[0063]返回图2,如果步骤S108a中确定结果为否,则控制模块703继续进行S108b的确定。
[0064]如果步骤SlOSb中确定结果为是,S卩,识别错误率小于等于30%,则控制模块703将小票图像存储至存储模块701的第二存储区202。例如,参照图5,图5A示出了用户上传的小票图像,这种清晰程度的小票图像会有部分内容无法正确识别。图5B的左侧是被识别的图像,其中被框线框住的是识别区域,白色背景显示的数字是识别字符结果。图5B的右侧示出了所提取的识别字符。由于将小票图像中的实收数额55识别为总价,所以出现了识别错误。对于这种小票图像,可以存储至存储模块701的第二存储区202继续进行识别。
[0065]返回图2,如果步骤S108b中确定结果为否,则控制模块703继续进行S108c的确定。
[0066]如果步骤SlOSc中确定结果为是,S卩,识别错误率小于100% (同时大于30%),则控制模块703将小票图像存储至存储模块701的第三存储区204。例如,参照图6,图6A示出了用户上传的小票图像,这种清晰程度的小票图像会有部分内容无法正确识别。图6B的左侧是被识别的图像,其中被框线框住的是识别区域,白色背景显示的数字是识别字符结果。图6B的右侧示出了所提取的识别字符。由于小票图像中的多处内容出现了识别错误,所以,对于这种小票图像,可以存储至存储模块701的第三存储区204继续进行识别。
[0067]如果步骤SlOSc中确定结果为否,S卩,根本无法识别,则控制模块703停止对小票图像进行处理。这种情况下,有可能是用户的手机的成像元件的故障造成的,或者可能是票据时间太久,打印内容被磨损的程度太严重,或者也可能就是用户胡乱拍摄或者误操作而上传的图像。例如,图7给出了这种小票图像的例子。对于此类图像,可以停止进行识别处理,例如,可以将其丢弃。
[0068]在本发明的异步识别处理中,对于存储在存储模块701的第一存储区200中的小票图像,控制模块703可以直接提取字符内容(步骤S112)。而对于存储在存储模块701的第二存储区202和第三存储区204中的小票图像,控制模块703需要调用扩展识别库708继续进行识别。下面具体进行说明。
[0069]服务器700的控制模块703调用扩展识别库708对存储在存储模块701的第三存储区204中的图像进行扩展字符识别(步骤S114),计算识别错误率(步骤S206),如果识别错误率小于等于30% (步骤S206为是),则控制模块703将对应图像从存储模块701的第三存储区204转移到第二存储区202。
[0070]另外,服务器700的控制模块703调用扩展识别库708对存储在第二存储区202中的图像进行扩展字符识别(步骤S114),计算识别错误率(步骤S206),如果识别正确(步骤S208为是),则控制模块703将对应图像从存储模块701的第二存储区202转移到第一存储区200。
[0071]需要注意的是,步骤S114中的扩展字符识别可以反复进行。例如,可以按照预定的周期进行,比如每小时进行一次。
[0072]如上所述,本发明的异步识别首先调用基本识别库对图像进行处理,根据识别错误率将图像分为三档以上,归入对应的存储区,只有第一存储区中的图像是识别正确的,其他存储区中的图像的识别错误率逐渐增大。然后调用扩展识别库对除了第一存储区以外的所有存储区中的图像进行反复识别,一旦发现识别错误率达到了上一级的标准,就将该图像上移一档。最后一档中如果实在无法识别,可以停止进行识别。
[0073]在本发明中,基本识别库706中的字符样本的数量小于扩展识别库中708的字符样本的数量。因此,在小票图像的数量非常大的情况下,首先调用字符样本数量小的基本识别库706进行识别,然后再调用扩展识别库708对无法正确识别的小票图像进行识别。
[0074]本发明的这种异步识别处理,相比现有技术的同步识别处理,能够提高识别速度,降低识别引擎的处理压力。
[0075]下面结合图4至图7具体说明图2中对小票图像的分类。
[0076]图4A示出了存储在第一存储区200中的小票图像的例子。图4B示出了图4A中的小票图像的识别结果。
[0077]如图4A和图4B所示,对于打印清楚且用户拍摄清楚的小票图像,可以准确地识别出图像中的字符内容。对于这种情况,可以随时提取字符内容,对其中的数据信息进行统计、加工或分析。
[0078]图5A示出了存储在第二存储区202中的小票图像的例子。图5B示出了图5A中的小票图像的识别结果。
[0079]如图5A和图5B所示,对于打印不太清楚或者用户拍摄不太清楚的小票图像,可能会存在一定程度的识别错误,实际错误率小于等于30%。例如,如图5所示,将小票中的“实收”项目识别为总价,但是其他内容均识别正确。对于这种情况,可以调用扩展识别库708反复进行识别,直到识别准确为止。当然,这里的识别准确可以是满足一定阈值,而不必为识别错误率0%。例如,可以认为识别错误率10%即表示准确识别。
[0080]图6A示出了存储在第三存储区204中的小票图像的例子。图6B示出了图6A中的小票图像的识别结果。
[0081]如图6A和图6B所示,相比图5的情况,识别结果中,识别错误率更高,例如,实际错误率大于30%。例如,小票图像左侧下方的“018316”被错误地识别为“0183.6”。而且,对应的价格“21.80”被错误地识别为“80” ο
[0082]对于这种情况,类似于图5A和图5B的情况,可以调用扩展识别库708反复进行识另Ij,直到识别错误率小于等于30%为止。当然,这里优选采用30%作为第二阈值,但是也可以采用其他值作为第二阈值。例如,可以采用识别错误率40%、50%等。
[0083]图7示出了无法识别的小票图像的例子。
[0084]如图7所示,由于小票自身原因或者用户拍摄原因,造成小票图像无法识别,这种情况下,人工介入来进行确定。人工介入包括人工识别小票图像,对于能够识别的,将识别结果补充到扩展识别库中,以便完善随后的字符识别。对于不能够识别的,可以丢弃该小票图像。这种不能识别的图像有可能是用户误操作所致,也可能是小票打印质量太差所致。
[0085]以上参照图1至图7对本发明的字符识别方法和字符识别系统进行了说明。
[0086]需要注意的是,在本发明的字符识别方法和字符识别系统中,进行识别之前,可以对图像进行预处理,包括将图像灰度化、二值化、噪声去除、倾斜校正、字符切割以达到统一格式。
[0087]另外,可以将存储在第二存储区202中的小票图像分为若干个层级,层级划分的原则可以是识别率。针对不同层级,处理逻辑存在差异。例如,对于层级高(识别率高)的图像,只需要识别指定区域或指定字段,对于层级低(识别率低)的图像,还需要再次进行图像处理,提升图像的清晰度,以便增大识别率。这样可以进一步提高识别效率,降低识别引擎的处理压力。
[0088]另外,如上所述,基本识别库76和扩展识别库708都是动态更新的。
[0089]例如,参照图2,在步骤S206和S208中,如果确定结果为是,则控制模块703将得到的关键识别元素补充到扩展识别库708中。同样,如果步骤SlOSa中确定结果为是,则控制模块703将得到的关键识别元素补充到基本识别库706中。
[0090]另外,如上所述,如果步骤SlOSc中确定结果为否,从而进行人工介入,根据人工分析判断的结果,如果的确无法识别,则可以丢弃该小票图像,而如果可以识别出某些元素,则可以将这些关键识别元素补充到扩展识别库708中。
[0091]因此,随着小票识别数量的不断增大,基本识别库706和扩展识别库708中的字符样本数量也随着增大,进一步增大了后续小票识别的识别率。
[0092]以上对本发明的字符识别方法进行了详细说明。下面对本发明的字符识别系统进行说明。
[0093]参照图3,用户可以利用移动终端600拍摄超市小票的图像。这里,移动终端可以是具备拍摄功能的手机。然后,超市小票的图像被上传至服务器700。
[0094]然后,服务器700的识别模块702调用基本识别库706,通过将图像与存储在基本识别库706中的字符样本进行比较,对图像进行字符识别。控制模块703确定识别错误的字符数量,计算识别错误率,识别错误率为识别错误的字符数量与所识别的字符总数之比。
[0095]当识别错误率小于等于第一阈值时,控制模块703将图像存储到服务器700的第一存储区200中,当识别错误率大于第一阈值且小于第二阈值时,控制模块703将图像存储到服务器700的第二存储区202中,而当识别错误率大于第二阈值时,控制模块703将图像存储到服务器700的第三存储区204中。
[0096]也就是说,根据识别错误率将图像分为三类,分别归入对应的存储区。
[0097]对于存储在存储模块701的第二存储区202和第三存储区204中的图像,识别模块702反复调用扩展识别库708,通过将图像与存储在扩展识别库708中的字符样本进行比较,对图像进行扩展字符识别。
[0098]下面详细说明服务器700的操作。首先服务器700的识别模块702调用存储模块701中的基本识别库706进行基本字符识别。然后,控制模块703确定识别错误率(图1的S108),根据识别错误率执行以下操作:确定是否识别正确(S108a)、确定识别错误率是否小于等于30% (S108b)、确定识别错误率是否小于100% (S108c)。这里,图1中的第一阈值和第二阈值分别采用了0%和30%。当然,本领域技术人员可以根据需要,灵活设置第一阈值和第二阈值。
[0099]如果步骤SlOSa中确定结果为是,S卩,正确识别了小票,则控制模块703将小票图像存储至服务器700的第一存储区200。如果步骤S108a中确定结果为否,则控制模块703继续进行S108b的确定。
[0100]如果步骤SlOSb中确定结果为是,S卩,识别错误率小于等于30%,则控制模块703将小票图像存储至第二存储区202。如果步骤S108b中确定结果为否,则控制模块703继续进行S108c的确定。
[0101]如果步骤S108C中确定结果为是,S卩,识别错误率小于100%,则控制模块703将小票图像存储至第三存储区204。如果步骤SlOSc中确定结果为否,则停止对小票图像进行识别处理。
[0102]在本发明的异步识别处理中,对于存储在第一存储区200中的小票图像,可以直接提取字符内容(步骤S112)。而对于存储在第二存储区202和第三存储区204中的小票图像,需要调用扩展识别库反复进行识别。下面具体进行说明。
[0103]识别模块702调用扩展识别库708对存储在第三存储区204中的图像进行扩展字符识别(步骤S110)。
[0104]控制模块703计算识别错误率(步骤S206)。如果识别错误率小于等于30% (步骤S206为是),则控制模块703将对应图像从第三存储区204转移到第二存储区202。
[0105]同时,识别模块702调用扩展识别库708对存储在第二存储区202中的图像进行扩展字符识别(步骤S110)。
[0106]控制模块703计算识别错误率(步骤S206)。如果识别正确(步骤S208为是),则控制模块703将对应图像从第二存储区202转移到第一存储区200。
[0107]在本发明中,基本识别库706中的字符样本的数量小于扩展识别库708中的字符样本的数量。并且扩展识别库708中包含了异常形态字符的字符样本。因此,通过至少两档的异步识别处理,原本无法识别或者识别率低的图像能够得到很好的识别。并且,在小票图像的数量非常大的情况下,首先调用字符样本数量小的基本识别库706进行识别,然后再调用扩展识别库708对无法正确识别的小票图像进行识别,这种异步识别处理,通过采用多线程处理,相比现有技术的同步识别,能够提高识别速度、降低识别引擎的处理压力。
[0108]以上结合【具体实施方式】对本发明的目的、技术方案和有益效果进行了进一步详细说明。应理解的是,以上仅仅是出于例示的目的介绍了本发明的【具体实施方式】,并不是要限制本发明。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种票据的字符识别方法,包括以下步骤: 图像获取步骤,利用用户终端获取待识别票据的图像; 图像上传步骤,将所述待识别票据的图像上传至服务器,其中,所述服务器包括基本识别库、扩展识别库以及至少第一和第二存储区,其中,所述基本识别库和所述扩展识别库中分别存储有用于基本字符识别和扩展字符识别的字符样本,所述基本识别库中的字符样本的数量小于所述扩展识别库中的字符样本的数量; 基本字符识别步骤,调用所述基本识别库,通过将所述待识别票据的图像与存储在所述基本识别库中的字符样本进行比较,对所述待识别票据的图像进行所述基本字符识别; 识别错误率计算步骤,确定识别错误的字符数量,计算识别错误率,所述识别错误率为识别错误的字符数量与所识别的字符总数之比; 图像存储步骤,当所述识别错误率小于等于第一阈值时,将所述待识别票据的图像存储到所述第一存储区,当所述识别错误率大于所述第一阈值时,将所述待识别票据的图像存储到所述第二存储区; 扩展字符识别步骤,对于存储在所述第二存储区的所述待识别票据的图像,调用所述扩展识别库,通过将所述待识别票据的图像与存储在所述扩展识别库中的字符样本进行比较,对所述图像进行所述扩展字符识别。2.根据权利要求1所述的字符识别方法,其中, 所述扩展识别库中比所述基本识别库中多出的字符样本包含对应字符的异常形态,用于识别所述待识别票据的图像中的异常字符。3.根据权利要求2所述的字符识别方法,其中, 在所述扩展字符识别步骤中,对于存储在所述第二存储区中的所述待识别票据的图像,在调用所述扩展识别库进行所述扩展字符识别之后,计算识别错误率,如果识别错误率小于等于所述第一阈值,则将所述待识别票据的图像从所述第二存储区转移到所述第一存储区。4.根据权利要求3所述的字符识别方法,其中,所述扩展字符识别步骤还包括:对于存储在所述第二存储区中的所述待识别票据的图像,如果识别错误率小于等于所述第一阈值,则将成功识别的所述待识别票据的图像中的异常字符作为字符样本补充到所述基本识别库中。5.根据权利要求2所述的字符识别方法,其中,所述服务器还包括第三存储区,并且 所述图像存储步骤还包括:当所述识别错误率大于所述第一阈值且小于第二阈值时,将所述待识别票据的图像存储到所述第二存储区,当所述识别错误率大于所述第二阈值时,将所述待识别票据的图像存储到所述第三存储区,其中,所述第二阈值大于所述第一阈值,并且 所述扩展字符识别步骤还包括:对于存储在所述第三存储区的所述待识别票据的图像,调用所述扩展识别库,通过将所述待识别票据的图像与存储在所述扩展识别库中的字符样本进行比较,对所述待识别票据的图像进行所述扩展字符识别。6.根据权利要求5所述的字符识别方法,其中, 在所述扩展字符识别步骤中,对于存储在所述第三存储区中的所述待识别票据的图像,在调用所述扩展识别库进行所述扩展字符识别之后,计算识别错误率,如果识别错误率大于所述第一阈值且小于等于所述第二阈值,则将所述待识别票据的图像从所述第三存储区转移到所述第二存储区。7.根据权利要求6所述的字符识别方法,其中,所述扩展字符识别步骤还包括:对于存储在所述第三存储区的所述待识别票据的图像,如果识别错误率大于所述第一阈值且小于等于所述第二阈值,则将成功识别的所述待识别票据的图像中的异常字符作为字符样本补充到所述扩展识别库中。8.根据权利要求1或5所述的字符识别方法,其中,在所述扩展字符识别步骤中,反复调用所述扩展识别库进行所述扩展字符识别。9.根据权利要求2至7中任意一项所述的字符识别方法,其中,所述票据为超市购物小西 ο10.根据权利要求2至7中任意一项所述的字符识别方法,其中,所述用户终端为移动终端。11.一种票据的字符识别系统,用于对从用户终端接收的待识别票据的图像进行字符识别,该字符识别系统包括: 存储模块,其包括基本识别库、扩展识别库以及至少第一和第二存储区,其中,所述基本识别库和所述扩展识别库中分别存储有用于基本字符识别和扩展字符识别的字符样本,所述基本识别库中的字符样本的数量小于所述扩展识别库中的字符样本的数量; 识别模块,其调用所述基本识别库和所述扩展识别库,通过分别将所述待识别票据的图像与存储在所述基本识别库和所述扩展识别库中的字符样本进行比较,对所述待识别票据的图像进行所述基本字符识别和所述扩展字符识别; 控制模块,其确定所述基本字符识别中识别错误的字符数量,计算识别错误率,所述识别错误率为识别错误的字符数量与所识别的字符总数之比,当所述识别错误率小于等于第一阈值时,所述控制模块将所述图像存储到所述第一存储区中,当所述识别错误率大于所述第一阈值时,所述控制模块将所述待识别票据的图像存储到所述第二存储区中。
【文档编号】G06K9/32GK105956590SQ201610269949
【公开日】2016年9月21日
【申请日】2016年4月27日
【发明人】任威伦, 金燕, 李保城, 赵辉, 冯利光, 孙顺博
【申请人】泰合鼎川物联科技(北京)股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1