对移动设备捕获的数字图像中的对象进行分类的系统和方法

文档序号:9553549阅读:565来源:国知局
对移动设备捕获的数字图像中的对象进行分类的系统和方法
【技术领域】
[0001] 本发明涉及移动图像捕获以及图像处理,并且具体地,涉及利用移动设备捕获并 处理数字图像以及对此数字图像中检测到的对象进行分类。
【背景技术】
[0002] 其中描绘了包括例如信件、支票、钞票、账单等文档的数字图像的对象惯常由扫描 仪或耦合至计算机工作站(例如笔记本电脑或台式电脑)的多功能外围设备捕获并处理。 本领域中能够执行这种捕获和处理的方法和系统是公知的,并且很好地适于它们用来做的 工作。
[0003] 然而,在日常的活动、计算以及商业越来越多地使用移动设备的年代,提供类似的 文档捕获和处理系统以及方法以用于部署并使用在移动平台(例如智能手机、数码相机、 平板计算机等)上是非常有益的。
[0004] 对传统的文档捕获和处理技术进行变革的主要挑战是有限的处理功率和移动设 备中现今可用的硬件能够实现的图像分辨率。这些限制呈现了巨大的挑战,因为处理远低 于通常的扫描仪能够达到的分辨率下捕获的图像是不可能或不切实际的。结果是,传统的 基于扫描仪的处理算法通常对移动设备捕获的数字图像表现不佳。
[0005] 除此以外,移动设备可用的有限的处理和存储使得扫描仪用的传统的图像处理算 法在计算费用方面极其昂贵。将传统的基于扫描仪的图像处理算法尝试处理成实际应用在 现在的移动平台上会花费太多的时间。
[0006] 进一步的挑战来自移动捕获组件(例如,移动电话的照相机、平板等)的性质。传 统的扫描仪能够如实地表现数字图像中的物理文档,严格维持纵横比、尺寸以及数字图像 中物理文档的形状,而移动捕获组件往往不能产生这样的结果。
[0007] 特别地,由摄像机捕获的文档图像呈现了一些在处理扫描仪捕获的图像时没有遇 到过的新的处理问题。这一部分是由于捕获文档图像的方法本身的不同,以及设备的构成 方式不同。一些扫描仪的工作方式是利用运输机制,使纸张和传感器的线性阵列间产生相 对运动。这些传感器在移动时生成文档的像素值,然后捕获的这些像素值以形成图像。传 感器本身的噪音一般有一个水平或垂直的一致性,并且在行间由相同的传感器提供所有像 素。
[0008] 相反地,摄像机具有许多成非线性阵列的传感器,例如典型地布置成矩形。因此, 所有的这些单个传感器都是独立的,并且渲染不典型具有水平或垂直一致性的图像数据。 此外,摄像机引入了投影效果,这是拍摄图片的角度的函数。例如,通过就像扫描仪中的线 性阵列,即使纸张的运输没有相对传感器的准线完美地正交并且引入了一些歪斜,也没有 像摄像机内的投影效果。此外,用摄像机捕获图像,由于摄像机光学可能引入非线性变形。
[0009]设计为检测由传统的平板(flat-bed)和/或进纸扫描仪捕获的图像中的文档的 传统图像处理算法也可以利用由页面检测所导出的信息,来尝试把检测到的文档进行分 类,作为特别文档类别的成员。然而,由于利用移动设备的照相机捕获数字图像引入了独 特的挑战,这些传统的分类算法不足以完成并且不能鲁棒地对这种数字图像的文档进行分 类。
[0010] 而且,即使当文档能被适当地分类时,现今移动设备的硬件局限使得从计算效率 观点来看,利用移动设备完成分类非常昂贵。
[0011] 鉴于上面呈现的挑战,提供如下这种图像捕获和处理算法与应用是有益的:其补 偿和/或校正与利用移动设备进行图像捕获、处理以及分类相关联的问题,同时经由有效 的处理方法维持低计算成本。
[0012] 而且,提供如下这种对象分类系统、方法以及计算机程序产品将是本领域中的进 一步改进:其能够鲁棒地将对象分配到特定的对象,并且利用已知的类别成员信息进一步 致力于并且克服独特的处理利用移动设备的照相机捕获的图像所固有的挑战照相机。

【发明内容】

[0013] 在一个实施例中,方法包括:接收移动设备捕获的数字图像;并且利用移动设备 的处理器:生成数字图像的第一表现,第一表现的特点是分辨率降低;基于第一表现生成 第一特征矢量;将第一特征矢量与多个参考特征矩阵进行比较;并且至少部分基于比较, 将数字图像中描绘的对象分类为特定对象类别中的成员。
[0014] 在另一个实施例中,方法包括:基于移动设备捕获的数字图像生成第一特征矢量; 将第一特征矢量与多个参考特征矩阵进行比较;并且至少部分基于比较,将对数字图像中 描绘的对象分类为特定对象类别中的成员;并且至少部分基于特别对象类别,确定一个或 多个对象的对象特征;并且利用移动设备的处理器执行至少一个处理操作,该至少一个处 理操作从由下列组成的组中选择:至少部分基于一个或多个对象特征,检测数字图像中描 绘的对象;至少部分基于一个或多个对象特征,矩形化数字图像中描绘的对象;至少部分 基于一个或多个对象特征,裁剪数字图像;并且至少部分基于一个或多个对象特征,二值化 数字图像。
[0015] 仍然在另一个实施例中,系统包括处理器;以及处理器内的逻辑和/或处理器可 执行逻辑,使得处理器可以:生成由移动设备捕获的数字图像的第一表现;基于第一表现 生成第一特征矢量;将第一特征矢量与多个参考特征矩阵进行比较;并且至少部分基于比 较,将数字图像中描绘的对象分类为特定对象类别中的成员。
[0016] 仍然还在另一个实施例中,计算机程序产品包括嵌入了程序代码的计算机可读存 储介质,程序代码可由处理器读取和/或执行,从而:生成由移动设备捕获的数字图像的 第一表现;基于第一表现生成第一特征矢量;将第一特征矢量与多个参考特征矩阵进行比 较;并且至少部分基于比较,将数字图像中描绘的对象分类为特定对象类别中的成员。
【附图说明】
[0017] 图1阐释了根据一个实施例的网络体系架构。
[0018] 图2示出了根据一个实施例的可与图1中的服务器和/或客户端相关联的典型的 硬件环境。
[0019] 图3A描绘了根据一个实施例的对象的数字图像。
[0020] 图3B描绘了根据一个实施例的图3A中示出的为了生成数字图像的第一表现而被 分成多个截面的数字图像的图示。
[0021] 图3C描绘了图3A中示出的数字图像的第一表现,第一表现的特点是相对于数字 图像其分辨率降低了。
[0022] 图4A是根据一个实施例的文档的数字图像中描绘的多个子分区的图示。
[0023] 图4B是根据一个实施例的图4A中示出的数字图像的掩膜表现。
[0024] 图4C是根据一个实施例的图4A中示出的数字图像的掩膜表现。
[0025] 图4D是根据一个实施例的图4A中示出的数字图像的掩膜表现。
[0026] 图5是根据一个实施例的方法的流程图。
[0027] 图6是根据一个实施例的方法的流程图。
【具体实施方式】
[0028] 进行下面的描述是出于阐释本发明的总则的目的,并且并不意味着限定其中要求 保护的创造性概念。进一步地,在各种可能的组合和排列的每一个中,此处描述的特定特征 可以和描述的其他特征组合使用。
[0029] 除非其中进行了特别限定,否则给予所有术语它们最宽的可能解释,包括说明书 中隐含的意思以及本领域技术人员能够理解和/或字典、论文等限定的意思。
[0030] 也必须注意到,除非另有说明,如在说明书和所附权利要求书中使用的,单数形式 的"一"、"一个"和"所述一个"包括复数指示物。
[0031] 本申请涉及由照相机,尤其是移动设备的照相机,捕获的图像(图片,图解,图形 示意图,电影、视频、影片、剪辑等的一帧)的图像处理。如此处所理解的,移动设备是指 能够不需要通过物理连接(如,导线、电线、电缆等)供应能量而能接收数据或不需要物理 数据连接(如,导线、电线、电缆等)而能接收数据的任何设备。本公开范围内的移动设 备包括示例性的设备,例如移动电话、智能手机、平板、个人数字助理、iPod_?,iPad⑧, 黑莓⑧设备等。
[0032] 然而,由于对各种功能的描述而将变得显而易见,现在公开的移动图像处理算法 可以应用于(有时需要某些修改)来自扫描仪和多功能外围设备(MFPs)的图像。类似地, 在某些方法中,由现在公开的处理算法处理的图像可以进一步由传统的扫描仪处理算法处 理。
[0033] 当然,此处给出的各种实施例可以利用硬件、软件或任何所希望的组合来实现。关 于此点,可以利用能够实现此处给出的各种功能的任何类型的逻辑。
[0034] 使用移动设备的一个好处是,利用数据计划,基于捕获的图像的图像处理和信息 处理相比以前依靠扫描仪的方法能够以更方便、更流线型的以及一体化的方式完成。然而, 利用移动设备作为一个或多个文档捕获和/或处理设备,由于多种原因,在此之前都被认 为难以实施。
[0035] 在一种方法中,可以由移动设备的照相机捕获图像。术语"照相机"应该被广泛理 解成包括能够捕获处于设备外部的物理对象(例如一片纸)的图像的任何类型的设备。术 语"照相机"不涵盖外围扫描仪或多功能设备。可以使用任何类型的照相机。优选的实施 例可以使用更高分辨率照相机,例如,8MP或更高,理想地,12MP或更高。可以以彩色、灰度 级、黑和白,或任何其他已知的光学效果来捕获图像。此处涉及的术语"图像"意思涵盖对 应于摄像机输出的任何类型的数据,包括原始数据、经处理的数据等。
[0036] 一般实施例
[0037] 在一个一般的实施例中,方法包括:接收移动设备捕获的数字图像;并且使用移 动设备的处理器:生成数字图像的第一表现,第一表现的特点是分辨率降低;基于第一表 现生成第一特征矢量;将第一特征矢量与多个参考特征矩阵进行比较;并且至少部分基于 比较,将数字图像中所描绘的对象分类为特定对象类别中的成员。
[0038] 在另一个一般的实施例中,方法包括:基于移动设备捕获的数字图像生成第一特 征矢量;将第一特征矢量与多个参考特征矩阵进行比较;至少部分基于比较,对将数字图 像中所描绘述的对象进行分类,作为至少部分基于比较结果的特别特定对象类别中的成 员;并且至少部分基于特定对象类别,确定一个或多个对象的对象特征;并且利用移动设 备的处理器执行至少一个处理操作,至少一个处理操作从由下列组成的组中选择:至少部 分基于一个或多个对象特征来检测数字图像中描绘的对象;至少部分基于一个或多个对象 特征,矩形化数字图像中描绘的对象;至少部分基于一个或多个对象特征来裁剪数字图像; 并且至少部分基于一个或多个对象特征来二值化数字图像。
[0039] 仍然在另一个一般的实施例中,系统包括处理器;以及处理器逻辑和/或处理器 可执行逻辑,使得处理器可以:生成由移动设备捕获的数字图像的第一表现;基于第一表 现生成第一特征矢量;将第一特征矢量与多个参考特征矩阵进行比较;并且至少部分基于 比较,将数字图像中描绘的对象分类为特定对象类别中的成员。
[0040] 仍然还在另一个一般的实施例中,计算机程序产品包括其中体现了程序代码的计 算机可读存储介质,程序代码可由处理器读取和/或执行,从而:生成由移动设备捕获的数 字图像的第一表现;基于第一表现生成第一特征矢量;将第一特征矢量与多个参考特征矩 阵进行比较;并且至少部分基于比较,将数字图像中描绘的对象分类为特定对象类别中的 成员。
[0041] 如本领域技术人员可以领会的,本发明的某些方面可以具体化为系统、方法或计 算机程序产品。因此,本发明的某些方面可以采取全部硬件实施、全部软件实施(包括计算 机固件、常驻软件、微码等)或此处可以全部概括称为"逻辑"、"电路"、"模块"或"系统"的 软件和硬件组合实施的形式。另外,本发明的某些方面可以采取具体化为一个或多个其上 具有计算机可读程序代码的计算机可读介质的计算机程序产品的形式。
[0042] 可以利用一个或多个计算机可读介质的任何组合。计算机可读介质可以是计算机 可读信号介质或计算机可读存储介质。计算机可读存储介质可以是,例如但不限于,电子、 磁、光学、电磁、红外线或半导体系统、装置或设备,或前述任何合适的组合。计算机可读存 储介质的更具体的例子(不穷尽的清单)包括如下:便携式计算机磁盘、硬盘、随机访问存 储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、便携式紧致盘只 读存储器(CD-ROM)、光存储设备、磁存储设备,或前述任何合适的组合。在此文档的上下文 中,计算机可读存储介质可以是能够包括或存储由指令执行系统、装置、处理器或设备使用 或与其关联的程序的任何有形介质。
[0043] 计算机可读信号介质可以包括具有其中体现为计算机可读程序代码的传播来的 数据信号,例如,在基带中作为载波、具有一根或多根金属线的电连接、光纤等的一部分。这 样传播来的数据可以采取多种形式的任何一种,包括但不限于电磁、光或其任何合适的组 合。计算机可读信号介质可以是任何不是计算机可读存储介质的计算机可读介质,并且能 够通信、传播或传输由指令执行系统、装置、处理器或设备使用或与其关联的程序。
[0044] 具体化在计算机可读介质上的程序代码可以利用任何合适的介质传送,包括但不 限于无线、有线、光纤电缆、RF等,或前述任何合适的组合。
[0045]用于实施本发明的方面的操作的计算机程序代码可以以一个或多个编程语言的 组合来写入,其包括面向对象编程语言,例如Java,Smalltalk,C++等等,以及传统的面向 过程的编程语言,例如C编程语言或类似的编程语言。程序代码可以完全在用户计算机上 执行或部分在用户计算机上执行,作为独立软件包,部分在用户计算机且部分在远程计算 机上执行,或完全在远程计算机或服务器上执行。在后面的情景中,远程计算机可以通过任 何类型的网络(包括局域网(LAN)或广域网(WAN))连接到用户计算机,或可与外部计算机 (例如,通过利用互联网服务供应商的因特网)连接。
[0046] 参照根据本发明的实施例的方法、装置(系统)以及计算机程序产品的流程图和 /或框图,在下面描述本发明的方面。将理解,流程图和/或框图的每一块以及流程图和/ 或框图中块的组合能够由计算机程序指令实现。这些计算机程序指令可以提供至通用计算 机、专业计算机或其他可编程数据处理装置的处理器,以产生一个机器,这样,经由计算机 或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一块 或多块中限定的功能/动作的手段。
[0047] 这些计算机程序指令也可以存储在计算机可读介质中,计算机可读介质能够指导 计算机、其他可编程数据处理装置或其他设备以特别的方式行使职责,这样存储在计算机 可读介质中的指令产生了一件产品,其包括实现流程图和/或框图的一块或多块中限定的 功能/动作的指令。
[0048] 计算机程序指令也可以下载到计算机、其他可编程数据处理装置或其他设备,使 得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤以产生计算机实 现处理,这样在计算机或其他可编程装置上执行的指令提供用于实现流程图和/或框图的 一块或多块中限定的功能/动作的处理。
[0049]图中的流程图和框图说明了根据本发明的多个实施例的系统、方法和计算机程序 产品的可能实现方式的体系架构、功能和操作。在这点上,流程图或框图的每一块都代表包 括用于实现一个或多个特定逻辑功能的一个或多个可执行指令的模块、片段或部分代码。 也应该注意到,在一些可替换的实现方式中,块中记载的功能可不以图中记载的顺序发生。 例如,顺序示出的两块实际上可以大体上同时执行,或各块有时可以按照相反顺序执行,这 取决于所涉及的功能。也将注意到,框图和/或流程图的每一块以及框图和/或流程图中 各块的组合,可以由执行特定功能或动作的专用基于硬件的系统实现,或由专用硬件和计 算机指令组合来实现。
[0050] 图1说明了根据一个实施例的体系架构100。图1中提供了多个远程网络102,包 括第一远程网络104以及第二远程网络106。网关101可以耦合在远程网络102和邻近网 络108之间。在本体系架构100的上下文中,网络104、106的每个可以采取,包括但不限于 LAN、WAN,例如因特网、公共交换电话网(PSTN)、内部电话网等的任何形式。
[0051] 在使用中,网关101充当从远程网络102到邻近网络108的入口端。如此,网关101 本身可以作为路由器,其能够引导到达网关101的给定的数据包,以及作为交换器,其为给 定的包提供进出网关101的实际路径。
[0052] 进一步包括至少一个耦合至邻近网络108的数据服务器114,并且通过网关101从 远程网络102可以访问邻近网络108。应注意到,一个或多个数据服务器114可以包括任何 类型的计算设备/群件。耦合到每个数据服务器114的是多个用户设备116。这样的用户 设备116可以包括台式电脑、膝上型电脑、掌上电脑、打印机或任何其他类型的逻辑。在一 个实施例中,应注意到,用户设备111也可以直接耦合至任何网络。
[0053] 外围设备120或一系列外围设备120,例如传真机、打印机、联网的和/或本地的存 储单元或系统等,可以耦合至一个或多个网络104、106、108。应注意到,数据库和/或附加 组件与耦合至网络104、106、108的任何类型的网络元件一起利用或集成一体。在本说明书 的上下文中,网络元件可以涉及网络的任何组件。
[0054] 根据一些方法,此处描述的方法和系统可以用和/或在虚拟系统和/或模拟一个 或多个其他系统的系统上实现,例如模拟了IBMz/OS环境的UNIX系统、实际上宿主了微软 视窗环境的UNIX系统、模拟了IBMz/OS环境的微软视窗系统等。在一些实施例中,这种虚 拟化和/或模拟可以通过VMWARE软件的使用得到加强。
[0055] 在更多的方法中,一个或多个网络104、106、108可以代表通常称为"云"的系统群 集。在云计算中,共享的资源,例如处理电源、外围设备、软件、数据、服务器等,根据按需关 系被提供给云内的任何系统,从而允许跨越许多计算系统对服务进行访问和分配。云计算 典型地包含云内操作的系统间的互联网连接,但是也可以使用其他连接系统的技术。
[0056] 图2示出了根据一个实施例的与图1中的用户设备116和/或服务器114相关联 的典型的硬件环境。此图阐释了具有中央处理单元210的工作站的典型的硬件配置,例如 微处理器以及经由系统总线212互联的许多其他单元。
[0057] 图2中示出的工作站包括随机访问存储器(RAM) 214,只读存储器(ROM) 216,用于 连接外部设备(例如磁盘存储单元220)到总线212的I/O适配器218,用于连接键盘224、 鼠标226、扬声器228、话筒232,和/或其他用户接口设备,例如触屏和数码相机(未示出) 到总线212的用户接口适配器222,用于将工作站连接到通信网络235(例如,数据处理网 络)的通信适配器234,以及将总线212连接到显示设备238的显示适配器236。
[0058] 在工作站上可以具有驻于其上的操作系统,例如微软视窗?操作系统(OS)、MAC 0S、UNIX0S等。将意识到,优选的实施例也可以在不同于那些提到的平台以及操作系统上 实现。优选的实施例可以由JAVA,XML,C和/或C++语言,或其他可编程语言连同面向对 象程序设计方法写入。可以使用越来越多地用于开发复杂应用程序的面向对象程序设计 (OOP)〇
[0059] 应用程序可以安装到移动设备上,例如可以存储在设备的非易失存储器中。在一 种方法中,应用程序包括指令,以在移动设备上执行图像处理。在另一种方法中,应用程序 包括指令,以将图像送至远程服务器,例如网络服务器。还在另一个实施例中,应用程序可 以包括指令,以确定是否在移动设备上执行某些或所有处理和/或将图像送至远程站点。
[0060] 页而检测的各种实施例
[0061] 现在描述说明了执行页面检测的示例性方法的一个示例性实施例。
[0062] 在一种方法中,边缘检测算法从数字图像的边界开始进行至图像的中部,查找足 够不同于已知的背景特性的点。
[0063] 尤其是,甚至用相同的移动设备捕获的图像的背景每次也可能不同,所以提供了 识别图像中一个或多个文档的新技术。
[0064] 根据本公开,在照相机捕获的图像中找到页面边缘,可以帮助容纳由移动设备捕 获的图像相对于由例如扫描仪捕获的图像特性的重要不同之处。例如,由于投影效果,照片 中的矩形
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1