一种基于图神经网络识别证件的方法及系统转让专利

申请号 : CN202010870570.1

文献号 : CN112016438B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 汪昊张天明王智恒王树栋薛韬略周士奇程博毕潇

申请人 : 北京嘀嘀无限科技发展有限公司

摘要 :

本说明书实施例公开了一种基于图神经网络识别证件的方法及系统,所述方法包括:获取待识别图像;检测所述待识别图像中包含的内容文本,确定多个检测框;基于所述多个检测框构建版面图;其中,所述版面图包括多个节点和多个边,所述节点对应所述检测框,所述边对应所述检测框与其它检测框之间的空间位置关系;利用训练好的图神经网络模型对所述版面图进行处理,确定所述版面图中所述检测框的字段类别,并对关键字段进行文字识别,从而提取证件中的关键信息。

权利要求 :

1.一种基于图神经网络识别证件的方法,包括:获取待识别图像;

检测所述待识别图像中包含的内容文本,并基于证件的类型确定多个检测框;

基于所述多个检测框构建版面图;其中,所述版面图包括多个节点和多个边,所述节点对应所述检测框,所述边对应所述检测框与其它检测框之间的空间位置关系;

利用训练好的图神经网络模型对所述版面图进行处理,确定所述版面图中所述检测框的字段类别,基于所述字段类别识别所述证件;

训练所述训练好的图神经网络模型包括:获取样本训练集,所述样本训练集包括:基于所述证件的多个样本图像建立的多个样本版面图,和所述样本版面图的至少一个样本节点对应的标签;其中,所述样本图像为所述证件的完整图像、所述证件的非完整图像和所述证件的不同排版的图像;

所述样本版面图的样本节点对应所述样本图像的样本检测框,所样本版面图中样本边对应所述样本检测框与其它样本检测框之间的空间位置关系,所述样本节点对应的标签表征所述样本节点对应的样本检测框中字段的类别;

基于所述样本训练集,训练得到所述训练好的图神经网络模型;其中,训练的损失函数基于所述样本节点对应的标签和所述样本节点输出的预测值之间的差异建立。

2.如权利要求1所述的方法,所述检测所述待识别图像中包含的内容文本,确定多个检测框,包括:

获取所述证件的类型;

基于文本检测算法对所述待识别图像进行处理,确定多个文本框;

当所述类型属于预设类型,基于所述预设类型对应的预设规则对所述多个文本框进行处理,确定所述多个检测框。

3.如权利要求2所述的方法,所述预设类型对应的证件存在至少一个合并参考行,所述合并参考行中的字段类型相同,所述当所述类型属于预设类型,基于所述预设类型对应的预设规则对所述多个文本框进行处理,确定所述多个检测框,包括:确定所述证件中位于同一行的待合并文本框;

确定所述证件的至少一个待合并行,所述待合并行与所述合并参考行对应;

将所述待合并行的待合并文本框进行合并,确定所述检测框。

4.如权利要求3所述的方法,所述确定所述证件中位于同一行的待合并文本框,包括:判断所述文本框与其他文本框在竖直方向上对应的坐标值的重合度;

响应于所述重合度大于第一预设阈值,将所述文本框和所述其他文本框确定为所述位于同一行的待合并文本框。

5.如权利要求1所述的方法,所述检测所述待识别图像中包含的内容文本,确定多个检测框,包括:

基于文本检测算法对所述待识别图像进行处理,确定多个文本框;

判断所述文本框和其他文本框之间距离是否小于第二预设阈值,以及所述文本框中内容和所述其他文本框中内容的字号是否相同;

响应于所述文本框和所述其他文本框之间所述距离小于所述第二预设阈值,以及所述文本框中内容和所述其他文本框中内容的字号相同,合并所述文本框和所述其他文本框,确定所述检测框。

6.如权利要求1所述的方法,所述节点的特征反映以下信息中的一种或多种:所述检测框的位置、大小、形状和相关的图像信息,所述相关的图像信息是基于所述检测框确定的区域图像的相关信息。

7.如权利要求1所述的方法,所述边的特征反映以下信息中的一种或多种:所述检测框与所述其它检测框之间的距离信息和相对位置信息。

8.如权利要求1所述的方法,所述基于所述多个检测框构建版面图,包括:从所述多个检测框中,确定与所述检测框水平相邻或/和竖直相邻的至少一个其他检测框;

将所述多个检测框中每一个及其对应的至少一个其他检测框进行连接,构成所述版面图。

9.如权利要求1所述的方法,所述基于所述多个检测框构建版面图,包括:从所述多个检测框中,确定与所述检测框之间的距离满足预设要求的至少一个其他检测框;

将所述多个检测框中每一个及其对应的至少一个其他检测框进行连接,构成所述版面图。

10.如权利要求1所述的方法,所述基于所述字段类别识别证件,包括:基于所述检测框的字段类别,确定与预设业务相关的内容框;

基于识别算法对所述内容框中的文本进行识别,确定所述内容框中的文本内容。

11.一种基于图神经网络识别证件的系统,包括:获取模块,用于获取待识别图像;

检测模块,用于检测所述待识别图像中包含的内容文本,并基于证件的类型确定多个检测框;

构建模块,用于基于所述多个检测框构建版面图;其中,所述版面图包括多个节点和多个边,所述节点对应所述检测框,所述边对应所述检测框与其它检测框之间的空间位置关系;

分类模块,用于利用训练好的图神经网络模型对所述版面图进行处理,确定所述版面图中所述检测框的字段类别,基于所述字段类别识别所述证件;

所述图神经网络模型通过如下方法训练得到:获取样本训练集,所述样本训练集包括:基于所述证件的多个样本图像建立的多个样本版面图,和所述样本版面图的至少一个样本节点对应的标签,其中,所述样本图像为所述证件的完整图像、所述证件的非完整图像或所述证件的不同排版的图像;

所述样本版面图的样本节点对应所述样本图像的样本检测框,所样本版面图中样本边对应所述样本检测框与其它样本检测框之间的空间位置关系,所述样本节点对应的标签表征所述样本节点对应的样本检测框中字段的类别;

基于所述样本训练集,训练得到所述训练好的图神经网络模型;其中,训练的损失函数基于所述样本节点对应的标签和所述样本节点输出的预测值之间的差异建立。

12.如权利要求11所述的系统,所述检测模块用于:获取所述证件的类型;

基于文本检测算法对所述待识别图像进行处理,确定多个文本框;

当所述类型属于预设类型,基于所述预设类型对应的预设规则对所述多个文本框进行处理,确定所述多个检测框。

13.如权利要求12所述的系统,所述预设类型对应的证件存在至少一个合并参考行,所述合并参考行中的字段类型相同,所述检测模块用于:确定所述证件中位于同一行的待合并文本框;

确定所述证件的至少一个待合并行,所述待合并行与所述合并参考行对应;

将所述待合并行的待合并文本框进行合并,确定所述检测框。

14.如权利要求13所述的系统,所述检测模块用于:判断所述文本框与其他文本框在竖直方向上对应的坐标值的重合度;

响应于所述重合度大于第一预设阈值,将所述文本框和所述其他文本框为确定为所述位于同一行的待合并文本框。

15.如权利要求11所述的系统,所述检测模块用于:基于文本检测算法对所述待识别图像进行处理,确定多个文本框;

判断所述文本框和其他文本框之间距离是否小于第二预设阈值,以及所述文本框中内容和所述其他文本框中内容的字号是否相同;

响应于所述文本框和所述其他文本框之间所述距离小于所述第二预设阈值,以及所述文本框中内容和所述其他文本框中内容的字号相同,合并所述文本框和所述其他文本框,确定所述检测框。

16.如权利要求11所述的系统,所述节点的特征反映以下信息中的一种或多种:所述检测框的位置、大小、形状和相关的图像信息,所述相关的图像信息是基于所述检测框确定的区域图像的相关信息。

17.如权利要求11所述的系统,所述边的特征反映以下信息中的一种或多种:所述检测框与所述其它检测框之间的距离信息和相对位置信息。

18.如权利要求11所述的系统,所述构建模块用于:从所述多个检测框中,确定与所述检测框水平相邻或/和竖直相邻的至少一个其他检测框;

将所述多个检测框中每一个及其对应的至少一个其他检测框进行连接,构成所述版面图。

19.如权利要求11所述的系统,所述构建模块用于:从所述多个检测框中,确定与所述检测框之间的距离满足预设要求的至少一个其他检测框;

将所述多个检测框中每一个及其对应的至少一个其他检测框进行连接,构成所述版面图。

20.如权利要求11所述的系统,所述系统还包括识别模块,用于:基于所述检测框的字段类别,确定与预设业务相关的内容框;

基于识别算法对所述内容框中的文本进行识别,确定所述内容框中的文本内容。

21.一种基于图神经网络识别证件的装置,所述装置包括处理器以及存储器,所述存储器用于存储指令,其特征在于,所述处理器用于执行所述指令,以实现如权利要求1至10中任一项所述的基于图神经网络识别证件的方法对应的操作。

22.一种计算机可读存储介质,所述存储介质存储计算机指令,所述计算机指令被处理器执行时,实现如权利要求1至10中任一项所述的基于图神经网络识别证件的方法对应的操作。

说明书 :

一种基于图神经网络识别证件的方法及系统

技术领域

[0001] 本说明书实施例涉及图像处理技术领域,特别涉及一种基于图神经网络识别证件的方法及系统。

背景技术

[0002] 证件是记录个人或组织基本信息的重要凭证。为了保障经济活动的正常进行,保护社会安全,证件在社会活动中的诸多领域得到广泛应用。随之而来的,越来越多的应用平
台,如网约车平台、借贷平台等,需要采集和登记相应证件中的文本信息,以完成业务,例
如,进行实名制认证等。然而,在利用证件中的文本之前(例如,确定填写的内容是否与证件
中的文本内容一致等),首先需要确定文本对应的类型,即属于证件中的什么信息。
[0003] 为此,本说明书实施例提出一种基于图神经网络识别证件的方法,确定证件图像中文本的类别。

发明内容

[0004] 本说明书实施例的一个方面提供一种基于图神经网络识别证件的方法,所述方法包括:获取待识别图像;检测所述待识别图像中包含的内容文本,确定多个检测框;基于所
述多个检测框构建版面图;其中,所述版面图包括多个节点和多个边,所述节点对应所述检
测框,所述边对应所述检测框与其它检测框之间的空间位置关系;利用训练好的图神经网
络模型对所述版面图进行处理,确定所述版面图中所述检测框的字段类别,基于所述字段
类别识别证件。
[0005] 本说明书实施例的一个方面提供一种基于图神经网络识别证件的系统,所述系统包括:获取模块,用于获取待识别图像;检测模块,用于检测所述待识别图像中包含的内容
文本,确定多个检测框;构建模块,用于基于所述多个检测框构建版面图;其中,所述版面图
包括多个节点和多个边,所述节点对应所述检测框,所述边对应所述检测框与其它检测框
之间的空间位置关系;分类模块,用于利用训练好的图神经网络模型对所述版面图进行处
理,确定所述版面图中所述检测框的字段类别,基于所述字段类别识别证件。
[0006] 本说明书实施例的一个方面提供一种基于图神经网络识别证件的装置,所述装置包括处理器以及存储器,所述存储器用于存储指令,所述处理器用于执行所述指令,以实现
如前任一项所述的基于图神经网络识别证件的方法对应的操作。
[0007] 本说明书实施例的一个方面提供一种计算机可读存储介质,所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,实现如前一项所述的基于图神经网
络识别证件的方法对应的操作。

附图说明

[0008] 本说明书将以示例性实施例的方式进一步描述,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其
中:
[0009] 图1是根据本说明书的一些实施例所示的基于图神经网络识别证件的系统的应用场景示意图;
[0010] 图2是根据本说明书的一些实施例所示的基于图神经网络识别证件的系统的模块图;
[0011] 图3是根据本说明书的一些实施例所示的基于图神经网络识别证件的方法的流程图;
[0012] 图4是根据本说明书的一些实施例所示的由多个检测框构建版面图的示例性示意图;
[0013] 图5是根据本说明书的一些实施例所示的由多个检测框构建版面图的另一示例性示意图;
[0014] 图6是根据本说明书的一些实施例所示的由多个检测框构建版面图的另一示例性示意图;
[0015] 图7是根据本说明书的一些实施例所示的确定多个检测框的方法的流程图;
[0016] 图8是根据本说明书的一些实施例所示的确定多个检测框的方法的另一流程图;
[0017] 图9是根据本说明书的一些实施例所示的训练图神经网络模型的方法的流程图;
[0018] 图10是根据本说明书的一些实施例所示的位于同一个坐标轴的两个文本框的示例性示意图。

具体实施方式

[0019] 为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实
施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附
图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标
号代表相同结构或操作。
[0020] 应当理解,本说明书中所使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同
的目的,则可通过其他表达来替换所述词语。
[0021] 如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提
示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者
设备也可能包含其它的步骤或元素。
[0022] 本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时
处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数
步操作。
[0023] 图1是根据本说明书的一些实施例所示的基于图神经网络识别证件的系统的应用场景示意图。本说明书实施例所披露的基于图神经网络识别证件的系统可以应用于基于图
像进行文本识别的场景。例如,基于证件图像自动录入证件中的文本信息。仅作为示例,当
用户注册应用平台时,例如司机注册网约车平台,平台需要对司机的身份信息和车辆信息
等进行审核,审核的信息来源包括司机的身份证、行驶证以及驾驶证等证件。由于证件中通
常包含大量的文本信息,而应用平台需要获取的文本信息通常较少,因此,在对证件进行识
别之前,可以预先确定证件中的文本信息的类别,基于类别筛选出需要获取的文本信息,仅
对该文本信息进行识别。
[0024] 在一些实施例中,可以通过证件的固定格式设置相应的匹配规则,基于该匹配规则确定证件中对应位置的文本信息的类别。例如,对大量的证件的文本位置进行统计,生成
一个固定的模板,建立该模板中不同位置与对应文本类别的匹配关系,从而确定模板中每
个位置对应的文本类别。然而,该方式存在以下特点:(1)对于版面存在变化的证件,会导致
类别匹配错误。例如,模板中对应位置的字段为准驾车型,而识别的证件中与模板对应位置
匹配的位置处的字段由一行文本变为了两行,该情况下会导致类别匹配错误;(2)对于不完
整证件的图像,由于其无法与模板准确匹配,同样会导致类别匹配错误。
[0025] 因此,本说明书实施例提出一种基于图神经网络识别证件的方法。采用图神经网络模型对证件图像中的文本信息进行分类,不依赖于证件中文本信息的相对位置,无需制
定复杂的匹配规则,且对于存在较大版面变化的证件以及不完整的证件,仍然能够得到正
确的类别,提高了分类准确率。
[0026] 如图1所示,基于图神经网络识别证件的系统的应用场景100可以包括处理设备110、网络120以及用户终端130。
[0027] 处理设备110可用于处理与基于图神经网络识别证件相关联的信息和/或数据来执行在本说明书中揭示的一个或者多个功能。在一些实施例中,处理设备110可以获取待识
别图像。在一些实施例中,处理设备110可以检测待识别图像中包含的内容文本,确定多个
检测框。在一些实施例中,处理设备110可以基于多个检测框构建版面图。在一些实施例中,
处理设备110可以利用训练好的图神经网络模型对版面图进行处理,确定版面图中检测框
的字段类别,基于字段类别识别证件。在一些实施例中,处理设备110可以包括一个或多个
处理引擎(例如,单核心处理引擎或多核心处理器)。仅作为范例,处理设备110可以包括中
央处理器(中央处理器)、特定应用集成电路(ASIC)、专用指令集处理器(ASIP)、图像处理器
(GPU)、物理运算处理单元(PPU)、数字信号处理器(DSP)、现场可程序门阵列(FPGA)、可程序
逻辑装置(PLD)、控制器、微控制器单元、精简指令集计算机(RISC)、微处理器等中的一种或
多种组合。在一些实施例中,处理设备中可以包含一个或多个存储设备,用于存储处理设备
需要处理的数据或者处理的结果数据等。例如,存储设备中可以存储待识别图像等。
[0028] 网络120可以促进信息和/或数据的交换。在一些实施例中,场景图100的一个或者多个组件(例如处理设备110、用户终端130)可以通过网络120传送信息至场景图100的其他
组件。例如,处理设备110可以通过网络120从用户终端130获取待识别图像。又例如,用户终
端130可以通过网络120获取处理设备110对证件的识别结果。在一些实施例中,网络120可
以是任意形式的有线或者无线网络,或其任意组合。仅作为范例,网络120可以是有线网络、
光纤网络、远程通信网络、内部网络、互联网、局域网(LAN)、广域网(WAN)、无线局域网
(WLAN)、城域网(MAN)、广域网(WAN)、公共交换电话网络(PSTN)、蓝牙网络等中的一种或多
种组合。
[0029] 用户终端130可以是带有数据获取、存储和/或发送功能的设备。在一些实施例中,用户终端130包含有拍摄设备。在一些实施例中,用户终端130可以通过拍摄设备获取待识
别图像。在一些实施例中,用户终端130可以接收处理设备110对证件的识别结果。在一些实
施例中,用户终端130的使用者可以是使用应用平台的在线服务的用户。例如使用网约车平
台的经营服务的用户。在一些实施例中,用户终端130可以包括但不限于移动设备130‑1、平
板电脑130‑2、笔记本电脑130‑3、台式电脑130‑4等或其任意组合。示例性的移动设备130‑1
可以包括但不限于智能手机、个人数码助理(Personal Digital Assistance,PDA)等或其
任意组合。在一些实施例中,用户终端130可以将获取到的数据发送至基于图神经网络识别
证件的场景100中的一个或多个设备。
[0030] 应当注意的是,以上应用场景100中的各个部件的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对应用
场景100中的部件进行添加或减少。然而,这些改变仍在本说明书的范围之内。
[0031] 图2是根据本说明书的一些实施例所示的基于图神经网络识别证件的系统的模块图。如图2所示,该系统200可以包括获取模块210、检测模块220、构建模块230、以及分类模
块240。
[0032] 获取模块210可以用于获取待识别图像。
[0033] 检测模块220可以用于检测所述待识别图像中包含的内容文本,确定多个检测框。在一些实施例中,所述检测模块220可以还用于:获取所述证件的类型;基于文本检测算法
对所述待识别图像进行处理,确定多个文本框;当所述类型属于预设类型,基于所述预设类
型对应的预设规则对所述多个文本框进行处理,确定所述多个检测框。
[0034] 在一些实施例中,所述预设类型对应的证件存在至少一个合并参考行,所述合并参考行中的字段类型相同,所述检测模块可以还用于:确定所述证件中位于同一行的待合
并文本框;确定所述证件的至少一个待合并行,所述待合并行与所述合并参考行对应;将所
述待合并行的待合并文本框进行合并,确定所述检测框。
[0035] 在一些实施例中,所述检测模块220可以还用于:判断所述文本框与其他文本框在竖直方向上对应的坐标值的重合度;响应于所述重合度大于第一预设阈值,将所述文本框
和所述其他文本框确定为所述位于同一行的待合并文本框。
[0036] 在一些实施例中,所述检测模块220可以还用于:基于文本检测算法对所述待识别图像进行处理,确定多个文本框;判断所述文本框和其他文本框之间距离是否小于第二预
设阈值,以及所述文本框中内容和所述其他文本框中内容的字号是否相同;响应于所述文
本框和所述其他文本框之间所述距离小于所述第二预设阈值,以及所述文本框中内容和所
述其他文本框中内容的字号相同,合并所述文本框和所述其他文本框,确定所述检测框。
[0037] 在一些实施例中,构建模块230可以用于基于所述多个检测框构建版面图;其中,所述版面图包括多个节点和多个边,所述节点对应所述检测框,所述边对应所述检测框与
其它检测框之间的空间位置关系。在一些实施例中,所述节点的特征反映以下信息中的一
种或多种:所述检测框的位置、大小、形状和相关的图像信息,所述相关的图像信息是基于
所述检测框确定的区域图像的相关信息。在一些实施例中,所述边的特征反映以下信息中
的一种或多种:所述检测框与所述其它检测框之间的距离信息和相对位置信息。
[0038] 在一些实施例中,所述构建模块可以还用于:从所述多个检测框中,确定与所述检测框水平相邻或/和竖直相邻的至少一个其他检测框;将所述多个检测框中每一个及其对
应的至少一个其他检测框进行连接,构成所述版面图。
[0039] 在一些实施例中,所述构建模块可以还用于:从所述多个检测框中,确定与所述检测框之间的距离满足预设要求的至少一个其他检测框;将所述多个检测框中每一个及其对
应的至少一个其他检测框进行连接,构成所述版面图。
[0040] 在一些实施例中,分类模块240可以用于利用训练好的图神经网络模型对所述版面图进行处理,确定所述版面图中所述检测框的字段类别,基于所述字段类别识别证件。所
述图神经网络模型通过如下方法训练得到:获取样本训练集,所述样本训练集包括:基于所
述证件的多个样本图像建立的多个样本版面图,和所述样本版面图的至少一个样本节点对
应的标签,其中,所述样本图像为所述证件的完整图像、所述证件的非完整图像或所述证件
的不同排版的图像;所述样本版面图的样本节点对应所述样本图像的样本检测框,所样本
版面图中样本边对应所述样本检测框与其它样本检测框之间的空间位置关系,所述样本节
点对应的标签表征所述样本节点对应的样本检测框中字段的类别;基于所述样本训练集,
训练得到所述训练好的图神经网络模型;其中,训练的损失函数基于所述样本节点对应的
标签和所述样本节点输出的预测值之间的差异建立。
[0041] 所述系统200还包括识别模块250,用于:基于所述检测框的字段类别,确定与预设业务相关的内容框;基于识别算法对所述内容框中的文本进行识别,确定所述内容框中的
文本内容。
[0042] 应当理解,图2所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可
以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微
处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计
算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD‑ROM的
载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据
载体上提供了这样的代码。本说明书的系统及其模块不仅可以有诸如超大规模集成电路或
门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备
等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实
现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
[0043] 需要注意的是,以上对于基于图神经网络识别证件的系统200及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术
人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意
组合,或者构成子系统与其他模块连接。例如,图2中披露的获取模块210、检测模块220、构
建模块230、分类模块240以及识别模块250可以是一个系统中的不同模块,也可以是一个模
块实现上述的两个模块的功能。又例如,基于图神经网络识别证件的系统200中各个模块可
以共用一个存储模块,各个模块也可以分别具有各自的存储模块。诸如此类的变形,均在本
说明书的保护范围之内。
[0044] 图3是根据本说明书的一些实施例所示的基于图神经网络识别证件的方法的流程图。在一些实施例中,流程300可以由基于图神经网络识别证件的系统,或图1所示的处理设
备110实现。如图3所示,该流程300可以包括以下步骤:
[0045] 步骤310,获取待识别图像。在一些实施例中,该步骤310可以由获取模块210执行。
[0046] 待识别图像可以是指任何需要对图像中的文本信息进行识别的图像。在一些实施例中,待识别图像是对识别对象进行成像后,获取的图像,其中,该识别对象中存在需要识
别的文本信息。在一些实施例中,识别对象可以是证件或与证件相关的物体,其中,证件可
以是任意证件,如,身份证、驾驶证或者行驶证等。对应的,在一些实施例中,待识别图像可
以是证件或与证件相关的物体的图像。例如,对证件或者证件相关的物体(例如,证件的复
印件等)进行成像后,获得的图像。
[0047] 在一些实施例中,待识别图像可以是经过预处理的图像。在一些实施例中,待识别图像可以是对识别对象(例如,证件)进行成像后得到的原始图像进行预处理后得到的图
像。在一些实施例中,预处理可以包括但不限于:切割、矫正、灰度化、和/或去噪。
[0048] 其中,切割可以是将原始图像中识别对象的区域切出来保存,剩余的非识别对象区域舍弃。在一些实施例中,可以通过对象检测算法对原始图像进行处理,得到原始图像中
的识别对象的区域。具体的,以识别对象为证件为例,通过对象检测算法对原始图像进行处
理,可以清楚地显示出原始图像中的证件区域,同时使原始图像中的非证件区域减弱,从而
能准确有效地定位出证件在原始图像中的位置。在一些实施例中,对象检测算法可以包括
但不限于:边缘检测法、数学形态学法、基于纹理分析的定位方法、行检测和边缘统计法、遗
传算法、轮廓线法、基于小波变换的方法和神经网络等。
[0049] 矫正可以是使得原始图像中的识别对象区域位于目标位置,例如,使得原始图像中的证件区域位于水平方向。在一些实施例中,矫正的处理方法包括但不限于采用OpenCV
中的prespectiveTransform()函数进行矫正处理。
[0050] 灰度化可以是将彩色的图像转化为灰度图像。灰度图像是一种从黑色到白色间256级灰度色域或等级的单色图像。在一些实施例中,灰度化的方法可以是采用imread函数
获取灰度图像。
[0051] 去噪可以是指减少数字图像中噪声的过程。在一些实施例中,去噪的方法可以是采用噪声模型或NL‑Means算法等。
[0052] 在一些实施例中,获取模块210可以从用户终端130获取待识别图像,还可以从存储设备中获取待识别图像。
[0053] 步骤320,检测所述待识别图像中包含的内容文本,确定多个检测框。在一些实施例中,该步骤320可以由检测模块220执行。
[0054] 在一些实施例中,内容文本可以是指待识别图像中包含的文本信息。例如,内容文本可以是待识别图像中包含的所有文本。
[0055] 在一些实施例中,检测框可以是对待识别图像中包含的所有文本分别进行框定后生成的边界框。在一些实施例中,多个检测框可以是利用文本检测算法对待识别图像进行
处理,确定的多个文本框。在一些实施例中,检测框还可以是对该多个文本框进行处理,确
定的多个检测框。
[0056] 在一些实施例中,文本检测算法包括但不限于:PSENet(Progressive Scale Expansion Network)渐进尺度扩展网络、PANNet(Pixel Aggregation Network)像素聚合
网络、以及DBNet(Differentiable Binarization Network)可微分的二值化网络。
[0057] 关于确定多个检测框的具体细节参见图7和图8及其相关描述,此处不再赘述。
[0058] 步骤330,基于所述多个检测框构建版面图。在一些实施例中,该步骤330可以由构建模块230执行。
[0059] 在一些实施例中,版面图可以是基于多个检测框及多个检测框之间的关系构建的图。在一些实施例中,版面图可以包括多个节点和多个边,节点对应检测框,边对应检测框
与其他检测框之间的关系。在一些实施例中,边对应检测框与其他检测框之间的空间位置
关系,空间位置关系可以是相对位置关系、距离关系等。可以理解的,检测框和其他检测框
均来自于多个检测框,且为多个检测框中不同的检测框。
[0060] 在一些实施例中,节点和边分别包含有各自的特征。在一些实施例中,节点的特征可以反映以下信息中的一种或多种:检测框的位置、大小、形状和相关的图像信息。
[0061] 检测框的位置可以是指检测框在待识别图像中的位置。在一些实施例中,可以用检测框中任意点(例如,几何中心点)的位置来代表检测框的位置。检测框的大小可以包括
检测框的宽和高。在一些实施例中,处理设备110可以利用文本检测算法获得检测框的位
置、大小以及形状信息。
[0062] 在一些实施例中,相关的图像信息可以是基于检测框确定的区域图像的相关信息。在一些实施例中,区域图像可以是指检测框框定的待识别图像的区域对应的图像。在一
些实施例中,相关的图像信息可以包括区域图像的RGB值、灰度值以及方向梯度直方图
(Histogram of Oriented Gradient,HOG)特征等中的一种或多种。
[0063] 在一些实施例中,节点的特征可以通过向量表示。
[0064] 在一些实施例中,边的特征反映检测框对应节点的特征和其他检测框对应节点的特征之间的关系。例如,边的特征可以反映以下信息中的一种或多种:检测框与其他检测框
之间的距离信息和相对位置信息。在一些实施例中,相对位置信息可以是检测框和其他检
测框之间的相对位置关系,例如,其他检测框位于检测框正上方、正下方、正左方、正右方、
30°或250°等方位信息。距离信息可以包括检测框与其他检测框之间的距离关系。在一些实
施例中,可以用检测框的特定点(例如,几何中心点)与其他检测框的对应的特定点(例如,
几何中心点)之间的距离作为检测框与其他检测框之间的距离。在一些实施例中,可以将检
测框中的点和其他检测框中的点之间的最小距离作为检测框与其他检测框之间的距离。其
中,距离可以是水平(例如,x轴)距离,也可以是竖直(例如,y轴)距离。
[0065] 在一些实施例中,检测框与其他检测框之间的关系可以通过检测框对应的节点的特征和其他检测框对应的节点的特征得到。例如,检测框与其他检测框之间的距离关系可
以基于距离计算公式对节点对应的特征的向量计算得到,可以理解的,该距离关系可以是
特征距离。距离计算公式可以是欧式距离计算公式或曼哈顿距离计算公式等。
[0066] 其他检测框可以是与检测框之间位置或距离存在特定关系的检测框,或者与检测框之间的位置距离满足预设条件的检测框,例如,其他检测框可以与检测框相邻(即,其他
检测框可以是检测框的相邻检测框),其中,相邻可以是水平位置相邻和竖直位置相邻中一
个或多个(关于如何确定相邻检测框见后文)。其他检测框也可以与检测框之间的距离满足
预设要求(例如,小于第三预设阈值或大于第四预设阈值等),预设要求可以自定义。其他检
测框还可以是其他情况,本实施例不做限制。可以理解的,通过距离确定与检测框相连的其
他检测框时,确定的可以是相邻的检测框,也可以是非相邻的检测框,具体可以根据第三预
设阈值大小决定。
[0067] 在一些实施例中,确定待识别图像中多个检测框之后,可以分别对多个检测框在竖直方向和水平方向进行位置排序,从而确定检测框的相邻检测框。其中,水平方向的排序
是基于同一行的(关于如何确定同一行,见后文)。例如,竖直方向可以是从上自下或从下自
上,水平方向可以是从左至右或从右至左。在一些实施例中,可以标记每个检测框的排序结
果,例如,x‑y,x代表竖直方向的排序,y代表水平方向的排序。可以理解的,通过上述排序,
可以表达不同行的检测框之间竖直位置关系,也可以表达同一行检测框之间的水平位置关
系。如图5所示,第三行中有两个检测框,分别的排序结果为3‑1和3‑2,其他行都只有一个检
测框,因此都是x‑1。
[0068] 进一步的,可以根据排序结果确定与检测框水平相邻或者竖直相邻的相邻检测框,即,排序结果临近的检测框就是相邻检测框,x临近代表水平相邻,y临近代表竖直相邻。
例如,图5中检测框3‑1和检测框3‑2水平相邻,检测框2‑1与检测框3‑1竖直相邻,检测框2‑1
与检测框3‑2竖直相邻。
[0069] 在一些实施例中,除了上述排序方式,还可以通过其他方式确定相邻的检测框,本实施例不做限制。例如,通过距离大小是否小于某个阈值等。
[0070] 在一些实施例中,除了上述相邻的位置关系以外,其他检测框还是可以是其他位置关系,本实施例不做限制。在一些实施例中,基于多个检测框构建版面图时,还可以将多
个检测框中任意两个进行连接构成。
[0071] 为了更清楚的示意构建版面图的过程,以下将结合图4、图5和图6对构建版面图的过程进行说明。仅作为示例,版面图中的边连接的是检测框和其他检测框,其中,其他检测
框为与检测框相邻的检测框。如图4所示,在构建版面图430时,版面图包含6个节点,每个节
点对应一个检测框(即检测框1‑1’至6‑1’中的一个),版面图430中的边连接的检测框包括:
竖直相邻的检测框1‑1’和2‑1’、检测框2‑1’和3‑1’、检测框3‑1’和4‑1’、检测框4‑1’和5‑
1’、和检测框5‑1’和6‑1’。如图5所示,在构建版面图530时,版面图包含12个节点,每个节点
对应一个检测框(即,检测框1‑1至11‑1中的一个),版面图530中的边连接的检测框包括:竖
直相邻的检测框1‑1和2‑1、检测框2‑1和3‑1、检测框2‑1和3‑2、检测框3‑1和4‑1、检测框3‑2
和4‑1、检测框4‑1和5‑1等,水平相邻的检测框3‑1和3‑2。
[0072] 仅作为示例,版面图中的边连接的是检测框和其他检测框,其中,其他检测框可以为与检测框之间的距离小于第三预设阈值的检测框。如图6所示,若第三预设阈值大于检测
框4‑1’与5‑1’之间的距离,小于检测框4‑1’与6‑1’之间的距离,则版面图630中的边连接的
是检测框包括:检测框1‑1’与2‑1’、1‑1’与3‑1’、1‑1’与4‑1’、2‑1’与3‑1’、2‑1’与4‑1’、3‑
1’与4‑1’、4‑1’与5‑1’、5‑1’与6‑1’。
[0073] 步骤340,利用训练好的图神经网络模型对所述版面图进行处理,确定所述版面图中所述检测框的字段类别,基于所述字段类别识别证件。在一些实施例中,该步骤340可以
由分类模块240执行。
[0074] 在一些实施例中,图神经网络模型可以是预先训练好的机器学习模型。训练好的图神经网络模型可以对版面图进行处理,确定版面图中检测框的字段类别。在一些实施例
中,不同类型的证件对应不同的训练好的图神经网络模型,即,证件存在对应的图神经网络
模型,该对应的图神经网络模型是基于该证件构建的训练集训练得到。关于图神经网络模
型的训练参见图8及其相关描述。
[0075] 在一些实施例中,字段类别可以是指检测框内的文本所属的类别。例如,待识别图像为驾驶证图像,则字段类别可以是准驾车型、档案号、签发地、姓名、日期以及其他等。
[0076] 在一些实施例中,训练好的图神经网络模型可以对版面图进行处理,确定版面图中检测框属于各个预定的字段类型的概率,其中,预定的字段类别由训练图神经网络模型
的样本的标签确定。检测框属于各个预定的字段类型的概率可以通过概率分布表示。例如,
概率分布可以是1*n的实数向量,其中,n是向量的维数,n可以是1、2、3等。示例地,仍以上述
待识别图像为驾驶证为例,则检测框的概率分布可以是1*6的实数向量。例如,概率分布的
形式可以为(a,b,c,d,e,f),其中,a表示检测框的字段类别为准驾车型的概率,b表示检测
框的字段类别为档案号的概率,c表示检测框的字段类别为签发地的概率,d表示检测框的
字段类别为姓名的概率,e表示检测框的字段类别为日期的概率,f表示检测框的字段类别
为其他的概率。
[0077] 在一些实施例中,分类模块240可以基于概率分布,确定检测框的字段类别。例如,将概率分布中最大概率值对应的字段类别,确定为检测框的字段类别。
[0078] 在一些实施例中,可以基于字段类别识别证件。具体的,基于检测框的字段类别,确定与预设业务相关的内容框;基于识别算法对内容框中的文本进行识别,确定内容框中
的文本内容。在一些实施例中,识别算法可以包括任何文本识别算法,例如,OCR识别。
[0079] 预设业务可以自定义,例如,网约车业务,又例如,网约车业务中的司机认证等。在一些实施例中,内容框可以是指与预设业务相关的字段类型对应的检测框。在一些实施例
中,内容框可以是为了实现预设业务所需要的字段类型对应的检测框。例如,预设业务是网
约车司机认证,待识别图像对应的证件为身份证,则与预设业务相关的字段类型包括身份
证号码、姓名、年龄、性别、户籍地址等,相应的,这些字段类型对应的检测框为内容框。可以
理解的,可以基于内容框中的文本内容,实现预设业务。例如,预设业务为司机认证,通过对
比身份证中内容框的文本是否与司机填写的内容一致,可以确定司机是否通过认证。又例
如,预设业务为支付账户注册,可以将银行卡中卡号对应的检测框(即,内容框)的文本添加
到支付账户的银行卡信息中。其中,与预设业务相关的内容框中的文本内容可以称为关键
字段,从而,可以通过确定检测框获取关键字段,并对关键字段进行识别,提取证件中的关
键信息,关键信息即为关键字段的文本内容信息。可以理解的,通过上述实施例,基于检测
框的字段类别,可以筛除与预设业务无关的检测框,为证件识别提高效率。
[0080] 在一些实施例中,图神经网络模型可以包括多层图神经网络。多层图神经网络训练或实际应用过程中,每一层每个节点从与之连接(例如,相邻)的节点接收信息,并进行节
点之间的信息融合,经过多层图神经网络之后,每一层中的节点可以与更远的节点(例如,
与之不连接或相邻的节点)进行信息融合,提高了分类准确性。
[0081] 根据以上描述可知,一方面,本说明书实施例利用图神经网络模型对证件的版面图进行处理,利用深度学习方法来解决证件的版面分析问题,无需指定复杂的匹配规则即
可确定与预设业务相关的内容框;另一方面,本说明书实施例利用图神经网络模型对版面
进行分析,可以充分利用版面图中检测框与其周围检测框的信息,即使证件的版面发生了
变化,例如某个文本信息的字段由一行变成了两行,由于其周围检测框的信息未发生变化,
也能得到该文本信息的正确字段类别,分类准确率高;再一方面,图神经网络模型仍然能够
挖掘残缺证件或为矫正为水平状态的证件中检测框与周围检测框的信息,因此,本说明书
实施例中的图神经网络模型能够对抗证件残缺或证件未校正为水平状态等的干扰,得到正
确的分类结果;最后一方面,本说明书实施例仅对内容框中的文本进行识别,识别效率高。
[0082] 图7是根据本说明书的一些实施例所示的确定多个检测框的方法的流程图。如图7所示,该流程700可以包括以下步骤:
[0083] 步骤710,获取所述证件的类型。在一些实施例中,该步骤710可以由检测模块220执行。
[0084] 在一些实施例中,证件的类型可以待识别图像对应的证件的类型。在一些实施例中,证件的类型可以反映证件的用途或/和语言信息。例如,证件的类型可以反映身份证、驾
驶证或者行驶证等用途信息,还可以反映中文或英文等语言信息。在一些实施例中,检测模
块220可以从用户终端130中获取证件的类型。例如,用户在用户终端130上传某个证件的图
片,通过用户自己填写、选择,或者用户终端自动识别确定证件的类型。
[0085] 步骤720,基于文本检测算法对所述待识别图像进行处理,确定多个文本框。在一些实施例中,该步骤720可以由检测模块220执行。
[0086] 在一些实施例中,文本检测算法可以是用于检测证件中文本的算法。在一些实施例中,检测算法可以采用任意的文本检测算法,包括但不限于:PSENet(Progressive Scale 
Expansion Network)渐进尺度扩展网络、PANNet(Pixel Aggregation Network)像素聚合
网络、以及DBNet(Differentiable Binarization Network)可微分的二值化网络等。
[0087] 在一些实施例中,文本框可以是基于文本检测算法对待识别图像进行处理,自动生成的边界框。文本框是以特定内容为单位的边界框,其中,特定内容可以是单词、一行文
字或单个字等。在一些实施例中,文本检测算法可以基于待识别图像中文本的类型,生成不
同的文本框。例如,当证件中包含英文文本,则文本检测算法可以对证件的英文文本以单词
为单位逐行分别进行框定,生成多个文本框,可以理解的,该实施例确定的文本框中的文本
为单个英文单词。又例如,当待识别图像中包含中文,则文本检测算法可以对证件的中文文
本以行为单位进行框定,生成多个文本框,可以理解的,该实施例确定的文本框中的文本为
一行中文文本。又例如,当待识别图像中包含中文,则文本检测算法可以对证件的中文文本
以单个字为单位进行框定,生成多个文本框,可以理解的,该实施例确定的文本框中的文本
为一个字。
[0088] 步骤730,当所述类型属于预设类型,基于所述预设类型对应的预设规则对所述多个文本框进行处理,确定所述多个检测框。在一些实施例中,该步骤730可以由检测模块220
执行。
[0089] 在一些实施例中,预设类型可以根据实际情况进行具体设置。例如,预设类型可以是中国驾驶证或中国身份证等。
[0090] 预设规则是指对文本框处理的规则。在一些实施例中,预设规则代表可以进行文本框合并的情况,以及合并的方式。在一些实施例中,预设规则还可以是其他处理规则,本
实施例不做限制。例如,文本框分割的规则等。不同的证件,预设规则也不完全相同,因此,
不同的预设类型,存在对应的预设规则。
[0091] 如图3及其相关描述可知,检测框可以是文本框。在一些实施例中,检测框还可以是对文本框进行处理后得到的框。
[0092] 通过文本检测算法直接确定的文本框数量一般较大,一行中可能存在多个文本框。例如,当待识别图像为英文证件图像时,文本检测算法确定的文本框以单词为单位,证
件中英文单词越多,文本框也越多。
[0093] 某些证件的某一行的文本通常为同一种字段类型。在一些实施例中,检测模块220可以基于预设类型对应的预设规则对多个文本框进行处理,确定多个检测框。在一些实施
例中,预设类型对应的证件存在至少一个合并参考行,合并参考行中的字段类型相同,则预
设规则可以包括:将证件中待合并行的待合并文本框进行合并,其中,待合并行是指证件中
与合并参考行对应的行,待合并文本框是指位于同一行的文本框。相应的,当证件类型属于
预设类型时,多个检测框的确定具体为:确定证件中位于同一行的待合并文本框(关于如何
确定同一行的待合并文本框见后文);确定证件的至少一个待合并行;将待合并行的待合并
文本框进行合并。确定待合并行可以是:对证件中的文本框进行排序(文本框的排序与检测
框的排序类似,具体见前文),基于排序结果确定是否与合并参考行对应,如,若合并参考行
在第三行,则待合并行也为第三行。以图4为例,若预设类型对应的证件中第二行为同一字
段类型,基于文本检测算法,确定了证件的第二行有2个文本框(如410所示),则将该2个文
本框进行合并,得到一个检测框(如420所示)。
[0094] 对于一些证件而言,证件的某些行中可能含有不止一种字段类型,例如年龄和性别在同一行,对于此类证件而言,特定行的多个文本框并不会发生合并。如图5所示,此证件
第3行存在两个字段类型,在对510中的文本框进行合并处理时,第三行并未发生合并(如
520所示),即,第三行的检测框为文本框。
[0095] 某些特定证件的某些紧挨着的特定的多行,通常为同一字段类型。可以理解的,预设规则可以基于此类特定进行指定,对文本框进行合并。
[0096] 在一些实施例中,确定证件中位于同一行的待合并文本框包括:判断文本框与其他文本框在竖直方向上对应的坐标值的重合度;响应于重合度大于第一预设阈值,将文本
框和其他文本框确定为位于同一行的待合并文本框。
[0097] 在一些实施例中,在同一个坐标轴下,确定文本框对应的y轴坐标值范围,以及其他文本框对应的y轴坐标值范围,进一步的,基于两个文本框的坐标值范围,确定文本框和
其他文本框在y轴的坐标值的重合度。具体的,重合度为两个文本框在y轴的坐标值的重合
范围占两个文本框在y轴所占的整个坐标值的范围。如图10所示,文本框1010的y轴坐标值
范围为(y4,y3),其他文本框1020的y轴坐标值范围为(y2,y1),两个文本框的坐标值的重合
范围为(y4,y1),两个文本框的整个坐标值的范围为(y2,y3),因此,两个文本框的重合度=
(y4‑y1)/(y2‑y3)。
[0098] 在一些实施例中,第一预设阈值可以根据实际需求进行具体设置。例如,80%、95%等。在一些实施例中,检测模块220可以响应于重合度大于第一预设阈值,将文本框和
其他文本框确定为与文本框位于同一行的待合并文本框。
[0099] 根据以上描述可知,本说明书实施例可以预先将文本检测算法获取的多个文本框进行合并处理,确定多个检测框,再基于该多个检测框构建版面图。减少了版面图中的节点
的数量,简化了构建的版面图的结果,提高了图神经网络模型对版面图的处理效率。
[0100] 图8是根据本说明书的一些实施例所示的确定多个检测框的方法的另一流程图。如图8所示,该流程800可以包括以下步骤:
[0101] 步骤810,基于文本检测算法对所述待识别图像进行处理,确定多个文本框。在一些实施例中,该步骤810可以由检测模块220执行。
[0102] 关于步骤810的具体细节可以参见上述步骤720,在此不再赘述。
[0103] 步骤820,判断所述文本框和其他文本框之间距离是否小于第二预设阈值,以及所述文本框中内容和所述其他文本框中内容的字号是否相同。在一些实施例中,该步骤820可
以由检测模块220执行。
[0104] 在一些实施例中,文本框和其他文本框之间的距离可以参见图3及其相关描述。
[0105] 在一些实施例中,检测模块220可以基于文本框的大小(例如,文本框的高)确定字号大小。例如,基于预设规则,确定文本框大小对应的字号。
[0106] 在一些实施例中,第二预设阈值可以根据实际需求具体设置。例如,3或5等。
[0107] 步骤830,响应于所述文本框和所述其他文本框之间所述距离小于所述第二预设阈值,以及所述文本框中内容和所述其他文本框中内容的字字号相同,合并所述文本框和
所述其他文本框,确定所述检测框。在一些实施例中,该步骤830可以由检测模块220执行。
[0108] 关于第二预设阈值和字号的具体细节可以参见上述步骤820,在此不再赘述。
[0109] 通过该实施例可以不考虑证件类型,只要基于证件图像的文本框之间的距离满足要求,字号相同,即可进行合并。
[0110] 图9是根据本说明书的一些实施例所示的训练图神经网络模型的方法的流程图。其中,对于图神经网络模型的样本训练集中的样本版面图的至少一个样本节点中的每个,
均采用监督学习的方法进行训练。在一些实施例中,不同类型的证件可以训练对应的图神
经网络模型,训练好的图神经网络模型可以用于确定对应的证件的字段的类型。例如,基于
身份证的图像构建对应的训练集,并基于该对应的训练集训练用于识别身份证中字段类型
的图神经网络模型。
[0111] 具体的,如图9所示,该训练流程900可以包括以下步骤:
[0112] 步骤910,获取样本训练集,所述样本训练集包括:基于所述证件的多个样本图像建立的多个样本版面图,和所述样本版面图的至少一个样本节点对应的标签。在一些实施
例中,该步骤910可以由处理设备110执行。
[0113] 在一些实施例中,样本训练集可以是输入至初始图神经网络模型中用于训练图神经网络模型的数据。
[0114] 样本图像是指基于证件得到的、用于建立训练用的样本版面图的图像。其中,样本图像可以是证件的完整图像、证件的非完整图像和证件的不同排版的图像。
[0115] 证件的完整图像是指包含证件所有内容的图像。
[0116] 证件的非完整图像是指包含证件中部分内容的图像。例如,证件的非完整图像可以是对证件的完整图像进行裁剪得到。又例如,证件的非完整图像可以是遮挡证件中部分
内容成像得到等,关于证件的非完整图像的获取方式不做限制。
[0117] 示例地,仍以图5示例的样本证件为驾驶证为例,则证件的完整图像可以为图5所示的包含所有信息的证件图像,证件的非完整图像可以是对该驾驶证图像进行裁剪获得的
证件图像,例如,裁剪获得的仅包含检测框1‑1至7‑1内信息的证件图像。
[0118] 证件不同排版的图像是指基于该证件的不同排版得到的图像,不同排版是指该证件可能的所有类型的排版,例如,身份证中地址信息,其在排版上可能是两行、三行等多种
情况,则可能不同人的身份证排版上存在差异(即,地址所占行数不同)。
[0119] 样本版面图是用于训练的版面图,其基于样本图像得到的。在一些实施例中,样本版面图的样本节点对应样本图像的样本检测框,样本版面图中样本边对应样本检测框与其
它样本检测框之间的空间位置关系,样本节点对应的标签表征样本节点对应的样本检测框
中字段的类别。在一些实施例中,为了保证训练好的模型的预测准确率,训练好的模型的应
用和训练过程中确定检测框的方式可以一致。
[0120] 关于基于样本图像确定样本检测框,与图3中基于待识别图像确定检测框类似;关于确定样本检测框和其他样本检测框的空间位置关系,与图3中确定检测框和其他检测框
的空间位置关系类似,在此不再赘述。
[0121] 可以理解的,基于证件的完整图像、非完整图像和不同排版的图像建议样本版面图,并训练初始图神经网络,可以使初始图神经网络模型学习证件在不同情况下(例如,只
有证件的不一部分内容等)各个字段类型对应检测框之间的关系,从而,训练好的图神经网
络模型可以用于确定不同情况下证件中字段的类型。
[0122] 如前步骤330及其相关描述可知,样本版面图中的其他样本检测框可以是与样本检测框存在特定位置关系的框,其中的特定位置关系并不止包括一种关系。例如,其他样本
检测框可以与样本检测框相邻,其他样本检测框也可以与样本检测框之间的距离满足预设
要求。因此,对于样本检测框而言,随着其与其他样本检测框存在的位置关系发生变化,与
之连接的其他样本检测框也会发生变化,样本检测框与其他样本检测框的排列布局不相
同,进而构建出不同的版面图。
[0123] 考虑到某些证件同一行的字段中会出现多种文本类型,不同的文本类型代表的字段类型可能不同。在一些实施例中,基于文本监测算法确定样本图像的样本文本框之后,基
于样本文本框确定样本检测框时,合并的规则可以是位于同一行、且文字类型相同。其中,
文字类型相同是否可以人工判定。
[0124] 步骤920,基于所述样本训练集,训练得到所述训练好的图神经网络模型。在一些实施例中,该步骤920可以由处理设备110执行。
[0125] 在一些实施例中,可以基于样本训练集,训练得到训练好的图神经网络模型。在一些实施例中,可以基于样本训练集迭代更新初始图神经网络的参数以减小各样本版面图的
样本节点对应的损失函数值,得到训练好的图神经网络模型。具体的,可以迭代更新初始图
神经网络模型的参数,以减小各样本版面图的样本节点对应的损失函数值,使得损失函数
值满足预设条件。例如,损失函数值收敛,或损失函数值小于预设值。当损失函数满足预设
条件时,模型训练完成,得到训练好的图神经网络模型。
[0126] 在一些实施例中,训练的损失函数可以基于样本节点对应的标签和样本节点输出的预测值之间的差异建立。其中,样本节点输出的预测值可以是初始图神经网络模型对样
本版面图进行处理后,得到的样本节点的预测值。例如,可以是所有样本节点对应的损失函
数之和,每一个样本节点的损失函数是基于该节点输出的预测值和标签的差异建立。可以
理解的,通过监督学习的方式对版面图中每个节点进行训练,即每个节点存在对应的损失
函数,通过所有节点的损失函数对图神经网络模型的参数进行更新,完成训练。建立损失函
数的方式可以是交叉熵或平方差等。
[0127] 本说明书实施例还提供一种基于图神经网络识别证件的装置,所述装置包括处理器以及存储器,所述存储器用于存储指令,所述处理器用于执行所述指令,以实现如前任一
项所述的基于图神经网络识别证件的方法对应的操作。
[0128] 本说明书实施例还提供一种计算机可读存储介质。所述存储介质存储计算机指令,所述计算机指令被处理器执行时,实现如前任一项所述的基于图神经网络识别证件的
方法对应的操作。
[0129] 本说明书实施例可能带来的有益效果包括但不限于:(1)本说明书实施例利用图神经网络模型对证件的版面图进行处理,利用深度学习方法来解决证件的版面分析问题,
无需指定复杂的匹配规则即可确定与预设业务相关的内容框;(2)本说明书实施例中的图
神经网络模型能够容忍证件存在较大的版面变化、以及能够对抗证件残缺或证件未校正为
水平状态等的干扰,得到正确的分析结果,分析准确率高;(3)本说明书实施例通过确定证
件中的字段的类型,可以提高证件后续识别的效率,具体的,可以基于确定的字段类型,选
择与预设业务相关的字段,进一步仅识别与预设业务相关的字段的具体内容,避免对所有
字段的具体内容都进行识别。需要说明的是,不同实施例可能产生的有益效果不同,在不同
的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何
可能获得的有益效果。
[0130] 上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能
会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所
以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
[0131] 同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特
点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一
个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个
实施例中的某些特征、结构或特点可以进行适当的组合。
[0132] 此外,本领域技术人员可以理解,本说明书的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或
对他们的任何新的和有用的改进。相应地,本说明书的各个方面可以完全由硬件执行、可以
完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件
或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书的
各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可
读程序编码。
[0133] 计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或
合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介
质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用
的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线
电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
[0134] 本说明书各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、
VB.NET、Python等,常规程序化编程语言如C语言、Visual Basic、Fortran2003、Perl、
COBOL2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序
编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在
用户计算机上运行部分在远程计算机运行、或完全在远程计算机或处理设备上运行。在后
种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域
网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如
软件即服务(SaaS)。
[0135] 此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通
过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说
明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本
说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过
硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的处理设备或移动
设备上安装所描述的系统。
[0136] 同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附
图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要
求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
[0137] 一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说
明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例
中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点
可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的
方法。尽管本说明书一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体
实施例中,此类数值的设定在可行范围内尽可能精确。
[0138] 针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容
不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当
前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、
定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、
定义和/或术语的使用为准。
[0139] 最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代
配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介
绍和描述的实施例。