一种数字图像识别的方法、装置及爬虫服务器的制作方法

文档序号:6331314阅读:155来源:国知局
专利名称:一种数字图像识别的方法、装置及爬虫服务器的制作方法
技术领域
本申请涉及图像处理领域,特别涉及一种数字图像识别的方法、装置及爬虫服务
O
背景技术
互联网爬虫(简称爬虫)通常充当为搜索引擎服务器收集数据的角色,爬虫主要用于利用机器抓取或下载网页,然后对网页内包含或隐藏的数据进行提取或识别,整理为搜索引擎服务器能接受的格式或数据结构,供搜索引擎服务器建立索引。因此,爬虫的很重要的一项工作,就是对网页内的数据进行结构化抽取与识别,以店铺的垂直搜索的应用场景而为例,“店名”、“地址”、“电话”、“地图坐标”和“评论”等,都是需要爬虫抽取的信息。而数据中的电话号码(包括公司、企业或个人的电话号码),是垂直生活搜索领域内的一种关键信息,包含准确的电话信息,对数据的质量与有效性的贡献很大。如果抽取到其他方面的信息比较完整,唯独缺少电话信息,就会使得数据本身的完整性相对缺失。电话号码,本质上是一个由数字组成的字串,现在普遍的保护措施都是将其以图片形式展现,即不影响用户阅读,也因为电话号码本身比较短小,在网页内所占的面积也很小,所以作为图片传输也不会影响网络开销。而对于爬虫而言,就需要具备文字识别(OCR)的技术基础,因此,电话号码(即数字)的图像识别技术,就成为爬虫涉及到的系统中至关重要的一项技术。OCR是计算机模式识别中的一个分支,而只针对数字(“0” “9”的任意字符)的图像识别技术又是OCR中的一个特殊分支。在现有技术中,有一种数字识别方法是求差法,主要实现过程为获得“0” “9”各字符的模型图像,并将待识别图像与各模型图像分别做差,求待识别图像与各模型图像之间不同的像素个数,个数较少者的模型图像对应的字符就是待识别图像中的数字字符。该方法对非几何形变的图像有很出色的识别精度,但是如果图像噪声比较严重,而噪声祛除的效果不佳,就可能导致后续的识别结果不准确,同时求差法因为不能适应具有几何形变的图像,例如扭曲或缩放,所以也不能适应爬虫对海量网站的数据识别需求。现有技术中还有另外一种图像识别技术主要采用神经网络的方式,首先需要选择待识别图像的特征,并对待识别图像的特征进行描述,再选择一些人工识别的样本作为机器学习的对象,机器学习输出图像的模式(识别的规则或规律),而对待识别图像只要套用这个机器学习的模式,就可以获得待识别图像中包括的数字字符。但是采用神经网络的方式对数字图像进行识别,也存在一定的问题该方式虽然对单个数字字符的识别率比求差法更高(能达到96% 98% ),但是在实际应用中的电话号码一般都至少包括8位,手机号码的数字更多,那么因此,神经网络对于整串数字的识别率还是不够准确。例如,按照单字符96% 98%的准确率来讲,8位电话号码(固定电话)的准确率约为-J2. 85. 1%,11位电话号码(手机)的准确率约为63. 8% 80. 1%,12位电话号码(区号+固定电话)的准确率约为61. 3% 78.5%。而在实际应用中,当数字图像的识别准确率不高时,爬虫服务器在执行数字图像的识别过程之后所提供的识别结果很可能就是错误的,如果需要获取准确率更高的识别结果,可能就需要在爬虫服务器上重复执行数字图像的识别过程,以比较识别结果来确定出正确的数字字符,这种重复执行的操作就会使得爬虫服务器的运行性能下降。总之,目前需要本领域技术人员迫切解决的一个技术问题就是如何能够创新的提出一种图像识别的方法,以解决现有技术中基于求差法或者神经网络的数字图像识别技术准确率不够高导致的爬虫服务器运行性能下降的技术问题。

发明内容
本申请所要解决的技术问题是提供一种数字图像识别的方法,用以解决现有技术中基于求差法或者神经网络的数字图像识别技术准确率不够高导致的服务器运行性能下降的技术问题。本申请还提供了一种数字图像识别的装置,用以保证上述方法在实际中的实现及应用。为了解决上述问题,本申请公开了一种数字图像识别的方法,包括将待识别数字图像切割为多个包括单个数字字符的子图像;对所述多个包括单个数字字符的子图像依次执行基于拓扑信息的识别处理,所述基于拓扑信息的识别处理具体包括对待识别的子图像进行细化,得到细化后的细化子图像;获取所述细化子图像的拓扑信息;依据所述拓扑信息从预置的数据库中匹配得到所述待识别的子图像对应的数字。优选的,所述对所述多个包括单个数字字符的子图像依次执行基于拓扑信息的识别处理之后,还包括将所述待识别图像对应的数字串在当前界面上进行展示。优选的,所述获取所述细化子图像的拓扑信息,具体包括获取所述细化子图像中各个顶点所连接的边的个数;记录所述各个顶点之间的连通关系;当所述细化子图像的连通图中包括闭合的环时,记录所述环的中心点的位置信
肩、ο优选的,所述对所述多个包括单个数字字符的子图像依次执行基于拓扑信息的识别处理之后,还包括当在预置的数据库中匹配不到某个细化子图像对应的数字时,就将该细化子图像所对应的拓扑信息保存至所述预置的数据库中。优选的,所述预置的数据库用于保存各个数字字符的模型,所述模型在所述预置的数据库中的保存方式与所述拓扑信息相匹配。本申请公开了一种数字图像识别的装置,包括切割子图像模块和图像识别模块, 所述切割子图像模块,用于将待识别图像切割为多个包括单个数字字符的子图像;所述图像识别模块,用于对所述多个包括单个数字字符的子图像依次执行基于拓扑信息的识别处理,所述图像识别模块具体包括细化子模块,用于对待识别的子图像进行细化,得到细化后的细化子图像;获取拓扑信息子模块,用于获取所述细化子图像的拓扑信息;
匹配子模块,用于依据所述拓扑信息从预置的数据库中匹配得到所述待识别的子图像对应的数字。优选的,所述装置还包括展示模块,用于将所述待识别图像对应的数字串在当前界面上进行展示。优选的,所述获取拓扑信息子模块,具体包括获取度子模块,用于获取所述细化子图像中各个顶点所连接的边的个数;记录连通关系子模块,用于记录所述各个顶点之间的连通关系;记录位置信息子模块,用于当所述细化子图像的连通图中包括闭合的环时,记录所述环的中心点的位置信息。优选的,还包括保存模块,用于当在预置的数据库中匹配不到某个细化子图像对应的数字时,就将该细化子图像所对应的拓扑信息保存至所述预置的数据库中。本申请公开了一种爬虫服务器,包括包括前述实施例中任一实施例所述的装置。与现有技术相比,本申请包括以下优点在本申请实施例中,采用获取数字字符所呈现出的只有一个像素的连通图的拓扑信息,从预置的数据库中获取到与该拓扑信息匹配的数字字符的模型,就可以通过获得各个数字字符的拓扑信息,与预先保存的数字字符的模型进行匹配,进而获得当前待识别图像中的数字字符。采用本实施例可以降低在实际应用中的成本,同时可以适应适应各种网站的各种包括数字字符的图像,还能进一步提高在数字图像识别上的准确率。而同时,当本申请实施例在爬虫服务器上执行时,也可以提升爬虫服务器的运行性能。当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。


为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为了各个数字字符“3”在不同场景下共同特征的示意图;图2是本申请的一种数字图像识别的方法实施例1的流程图;图3是数字字符“4”做了细化之后的一个示意图;图4是本申请的一种数字图像识别的方法实施例2的流程图;图5是为数字字符“4”的顶点及度的示意图;图6是图5所示的数字字符4的闭合环的示意图;图7是预置的数据库中保存各个数字字符的模型图的一个具体实例示意图;图8是本申请的一种数字图像识别的装置实施例1的结构框图;图9是本申请的一种数字图像识别的装置实施例2的结构框图。
具体实施例方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。本申请可用于众多通用或专用的计算装置环境或配置中。例如个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。本申请的主要思想依据介绍如下参考在实际生活中的人眼识别数字的方式可知,以数字字符“3”为例,不管该字符是以下哪种存在方式3、3、3,还是3,人眼都能够判定出所看到的数字即是“3”,可见在人眼识别过程中,各个“3”之间的差异是被人眼忽略的, 而共同点才是被人眼认可的,参考图1所示,示出了各个数字字符“3”在不同场景下共同特征的示意图。因此,对于数字字符在识别过程中起到重要作用的,其实是数字字符中的顶点和顶点之间的连接关系,只要一个数字字符在其呈现的形态中保留了顶点和顶点之间的连接关系,那么即便一个数字字符所呈现的图像扭曲或者变形了,也不会影响对该数字字符的识别。基于上述原理,本申请的主要思想之一可以包括,首先对待识别图像进行预处理过程,即是将待识别图像切割为多个包括单个数字字符的子图像,然后依次对待识别的各个子图像进行细化,得到细化后的细化子图像;再按照获取到的所述细化子图像的拓扑信息,从预置的数据库中匹配得到所述待识别图像对应的数字。需要说明的是,在本申请实施例中,当待识别图像切割为多个子图像时,可以按照对一副子图像依次细化、获取拓扑信息并进行匹配得到该子图像对应的数字的方式,依次对各个子图像执行基于拓扑信息的识别方法;也可以先后对多个子图像进行细化,得到多个细化后的子图像之后,再依次获取各个细化后的子图像的拓扑信息,然后依据这多个拓扑信息从数据库中依次匹配得到多个数字。上述两种方式均可实现本申请,因此本申请不做限定。采用本申请实施例可以依据待识别图像中的数字字符本身所具有的连通关系对数字进行识别,依据连通图示意出的拓扑信息到预置的数据库中去匹配,与数据库中某个数字字符的模型图的拓扑信息一致即可认为识别出了该数字字符,采用本申请实施例的方式可以提升对包括数字字符图像的识别的准确率,当本申请实施例的方法或装置应用于爬虫服务器时,可以对爬虫抓取的网页上包括了数字字符的图片进行识别,以准确的识别出所抓取到的网页上图片中的各种数字字符,在实际应用中可以使得爬虫服务器准确地提供各种数字信息,例如固定电话或者手机号码,门牌号等等。参考图2,示出了本申请一种数字图像识别的方法实施例1的流程图,可以包括以下步骤步骤201 将待识别图像切割为多个包括单个数字字符的子图像。在本实施例中,所述待识别图像为一副包括了数字字符的原始图像,该原始图像可以由爬虫服务器从互联网上获取。所述待识别图像包括的数字字符可以有多个,这个时候在对待识别图像进行切割时,则按照其包括的数字字符的个数多少切割为对应个数的子图像,每一副子图像都对应的包括了一个数字字符。需要说明的是,本步骤在对待识别图像进行切割过程中,需要先对该待识别图像进行预处理,即是消除待识别图像中的色彩差异,使得原待识别图像成为只有黑白两色的灰度图像,同时去除一些可能存在的噪点,包括在该图像中孤立存在的点等,这样处理的目的是去除有可能会影响数字字符识别的一些噪声,所述噪声指图像中有效内容以外的内容,在本申请中,指被有意添加的冗余像素信息,该冗余像素信息可以干扰爬虫服务器对图像的有效识别。因为本步骤采用现有技术实现,所以不再介绍详细过程,具体可参见现有技术中对待识别图像的预处理过程。步骤202 对所述多个包括单个数字字符的子图像依次执行基于拓扑信息的识别处理,所述基于拓扑信息的识别处理具体包括对待识别的子图像进行细化;得到细化后的细化子图像;获取所述细化子图像的拓扑信息;并依据所述拓扑信息从预置的数据库中匹配得到所述待识别的子图像对应的数字。在执行步骤202时,所述子图像已经是仅仅包括数字字符且去除了噪声的灰度图像,再对子图像执行细化过程。所述细化指数学形态学中图像“退化”的一种典型算法,其目的主要是将原始图像转换为仅有一个像素粗度的图像,并保持原始图像的连通性不变。可以参考图3所示,为对数字字符“4”做了细化之后的一个示意图。对子图像做了细化之后,子图像中的数字字符所呈现的线条仅仅包括了一个像素粗度,并且数字字符呈现出的连通性保持不变。因此此时可以对该子图像遍历获取其拓扑信息,这里的拓扑信息指的是该子图像中的各个顶点及其之间的连接关系。因为只要一个数字字符的顶点所在位置及顶点之间的连接关系不变,那么不管该字符进行了何种扭曲或变形,都能区分出该字符。得到某个子图像的拓扑信息之后,再将这些拓扑信息到预置的数据库中进行匹配,该预置的数据库用于保存各个数字字符(0 9)的拓扑信息,其保存形式可以有多种,例如采用矩阵的形式保存,或者采用结构图的形式呈现各个数字字符的拓扑信息均可。需要说明的是,所述预置的数据库用于保存各个数字字符的模型,所述模型在所述预置的数据库中的保存方式与所述拓扑信息相匹配。当预置的数据库中采用矩阵形式保存子图像的拓扑信息时,那么在获取子图像的拓扑信息时也需要按照矩阵形式,这样才能使得后续匹配时能够找到已经保存过的矩阵,确定出子图像中包括的数字字符。步骤203 当在预置的数据库中匹配不到某个细化子图像对应的数字时,就将该细化子图像所对应的拓扑信息保存至所述预置的数据库中。在实际应用中,在数据库中保存的拓扑信息与获取到的子图像的拓扑信息的形式匹配的情况下,数据库中也不存在某个子图像的对应的数字字符,此时就说明数据库中还未保存当前获取到的拓扑信息对应的数字字符的模型,此时就需要将当前获取到的拓扑信息以同样的保存形式保存至所述数据库中,以方便后续对于该数字字符的匹配。本实施例中,采用获取数字字符所呈现出的只有一个像素的连通图的拓扑信息, 从预置的数据库中获取到与该拓扑信息匹配的数字字符的模型,就可以通过获得各个数字字符的拓扑信息,与预先保存的数字字符的模型进行匹配,进而获得当前待识别图像中的数字字符。采用本实施例可以降低在实际应用中的成本,同时可以适应各种网站的各种包括数字字符的图像,还能进一步提高在数字图像识别上的准确率。而同时,当本申请实施例在爬虫服务器上执行时,也可以提升爬虫服务器的运行性能。参考图4,示出了本申请一种数字图像识别的方法实施例2的流程图,可以包括以下步骤步骤401 将待识别图像切割为多个包括单个数字字符的子图像。步骤402 对任意一个待识别的子图像进行细化,得到细化后的细化子图像。在本实施例中,所述包括单个数字字符的子图像有多个,本步骤仅仅选择任一个待识别的子图像进行细化,从而得到一副细化子图像。步骤403 获取所述细化子图像中各个顶点所连接的边的个数。在细化子图像中,只有一个像素粗细的图像且存在连通性,因此,可以遍历该细化子图像中的所有像素点,以找出所述细化子图像中的各个顶点,同时,依据顶点之间的连接关系获取各个顶点的度。所述“度”为该顶点所连接的“边”的个数,这里的度所涉及到的领域为数学形态学中的图论分支。参考图5所示,为数字字符“4”的顶点及度的示意图。在图5中,数字字符4分别有5个顶点A、B、C、D和E。其中,A顶点的度为2,B顶点的度为2, C顶点的度为4,D顶点的度为1,E顶点的度也为1。各个顶点的度可以采用表1示意表权利要求
1.一种数字图像识别的方法,其特征在于,该方法包括将待识别数字图像切割为多个包括单个数字字符的子图像;对所述多个包括单个数字字符的子图像依次执行基于拓扑信息的识别处理,所述基于拓扑信息的识别处理具体包括对待识别的子图像进行细化,得到细化后的细化子图像;获取所述细化子图像的拓扑信息;依据所述拓扑信息从预置的数据库中匹配得到所述待识别的子图像对应的数字。
2.根据权利要求1所述的方法,其特征在于,所述对所述多个包括单个数字字符的子图像依次执行基于拓扑信息的识别处理之后,还包括将所述待识别图像对应的数字串在当前界面上进行展示。
3.根据权利要求1所述的方法,其特征在于,所述获取所述细化子图像的拓扑信息,具体包括获取所述细化子图像中各个顶点所连接的边的个数;记录所述各个顶点之间的连通关系;当所述细化子图像的连通图中包括闭合的环时,记录所述环的中心点的位置信息。
4.根据权利要求1所述的方法,其特征在于,所述对所述多个包括单个数字字符的子图像依次执行基于拓扑信息的识别处理之后,还包括当在预置的数据库中匹配不到某个细化子图像对应的数字时,就将该细化子图像所对应的拓扑信息保存至所述预置的数据库中。
5.根据权利要求1所述的方法,其特征在于,所述预置的数据库用于保存各个数字字符的模型,所述模型在所述预置的数据库中的保存方式与所述拓扑信息相匹配。
6.一种图像识别的装置,其特征在于,该装置包括切割子图像模块和图像识别模块,所述切割子图像模块,用于将待识别图像切割为多个包括单个数字字符的子图像;所述图像识别模块,用于对所述多个包括单个数字字符的子图像依次执行基于拓扑信息的识别处理,所述图像识别模块具体包括细化子模块,用于对待识别的子图像进行细化,得到细化后的细化子图像;获取拓扑信息子模块,用于获取所述细化子图像的拓扑信息;匹配子模块,用于依据所述拓扑信息从预置的数据库中匹配得到所述待识别的子图像对应的数字。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括展示模块,用于将所述待识别图像对应的数字串在当前界面上进行展示。
8.根据权利要求6所述的装置,其特征在于,所述获取拓扑信息子模块,具体包括获取度子模块,用于获取所述细化子图像中各个顶点所连接的边的个数;记录连通关系子模块,用于记录所述各个顶点之间的连通关系;记录位置信息子模块,用于当所述细化子图像的连通图中包括闭合的环时,记录所述环的中心点的位置信息。
9.根据权利要求6所述的装置,其特征在于,还包括保存模块,用于当在预置的数据库中匹配不到某个细化子图像对应的数字时,就将该细化子图像所对应的拓扑信息保存至所述预置的数据库中。
10.一种爬虫服务器,其特征在于,所述爬虫服务器包括如权利要求6-9任一项所述的装置ο
全文摘要
本发明提供了一种数字图像识别的方法、装置及爬虫服务器,所述方法包括将待识别图像切割为多个包括单个数字字符的子图像;对所述多个包括单个数字字符的子图像依次执行基于拓扑信息的识别处理,所述基于拓扑信息的识别处理具体包括对待识别的子图像进行细化,得到细化后的细化子图像;获取所述细化子图像的拓扑信息;并依据所述拓扑信息从预置的数据库中匹配得到所述待识别的子图像对应的数字。采用本发明可以降低在实际应用中的成本,同时可以适应适应各种网站的各种包括数字字符的图像,还能进一步提高在数字图像识别上的准确率。而同时,当本发明实施例在爬虫服务器上执行时,也可以提升爬虫服务器的运行性能。
文档编号G06K9/64GK102385707SQ20101027045
公开日2012年3月21日 申请日期2010年8月30日 优先权日2010年8月30日
发明者孙翔 申请人:阿里巴巴集团控股有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1