文本检测方法和文本检测模型的训练方法、装置与流程

文档序号:32870465发布日期:2023-01-07 03:35阅读:35来源:国知局
文本检测方法和文本检测模型的训练方法、装置与流程

1.本公开涉及人工智能领域,具体涉及计算机视觉、深度学习和图像处理等技术领域,可应用于ocr等场景。


背景技术:

2.随着计算机技术和网络技术的发展,深度学习技术在众多领域得到了广泛应用。例如,可以采用深度学习技术对图像进行处理,实现图像中文本的检测。在自然场景下,图像中文本包括的多个字符之间的间距和形状通常会影响文本的检测精度。


技术实现要素:

3.本公开旨在提供一种提高文本检测精度的文本检测方法和文本检测模型的训练方法、装置、设备、介质。
4.根据本公开的一个方面,提供了一种文本检测方法,包括:提取文本图像的图像特征;采用解码器来根据预定查询特征序列对图像特征进行解码,得到解码特征序列;其中,解码特征序列中的解码特征与预定查询特征序列中的查询特征一一对应;根据解码特征序列,预测得到多个预测结果;多个预测结果与解码特征序列中的解码特征一一对应;每个预测结果包括位置信息、与位置信息对应的分类信息、以及位置信息指示位置处的字符与多个预测结果中位置信息指示位置处的多个字符之间的关联信息;以及根据关联信息和分类信息,确定指示位置处有字符的位置信息并对多个字符中具有关联关系的字符的位置信息进行整合,得到文本检测结果,其中,分类信息用于指示位置信息指示位置处是否有字符。
5.根据本公开的另一个方面,提供了一种文本检测模型的训练方法,其中,文本检测模型包括特征提取网络、解码器和预测网络,该方法包括:采用特征提取网络提取作为样本的文本图像的图像特征;文本图像具有对应的指示信息,指示信息指示与文本图像对应的字符检测结果;采用解码器来根据预定查询特征序列对图像特征进行解码,得到解码特征序列;其中,解码特征序列中的解码特征与预定查询特征序列中的查询特征一一对应;采用预测网络来根据解码特征序列预测得到多个预测结果,多个预测结果与解码特征序列中的解码特征一一对应;每个预测结果包括预测位置信息、与预测位置信息对应的分类信息、以及预测位置信息指示位置处的字符与多个检测结果中预测位置信息指示位置处的多个字符之间的预测关联信息;以及根据多个预测结果和字符检测结果,对文本检测模型进行训练,其中,分类信息指示预测位置信息指示位置处是否有字符。
6.根据本公开的另一个方面,提供了一种文本检测装置,包括:特征提取模块,用于提取文本图像的图像特征;特征解码模块,用于采用解码器来根据预定查询特征序列对图像特征进行解码,得到解码特征序列;其中,解码特征序列中的解码特征与预定查询特征序列中的查询特征一一对应;预测模块,用于根据解码特征序列,预测得到多个预测结果;多个预测结果与解码特征序列中的解码特征一一对应;每个预测结果包括位置信息、与位置信息对应的分类信息、以及位置信息指示位置处的字符与多个预测结果中位置信息指示位
置处的多个字符之间的关联信息;以及检测结果获得模块,用于根据关联信息和分类信息,确定指示位置处有字符的位置信息并对多个字符中具有关联关系的字符的位置信息进行整合,得到文本检测结果,其中,分类信息用于指示位置信息指示位置处是否有字符。
7.根据本公开的另一个方面,提供了一种文本检测模型的训练装置,其中,文本检测模型包括特征提取网络、解码器和预测网络,该装置包括:特征提取模块,用于采用特征提取网络提取作为样本的文本图像的图像特征;文本图像具有对应的指示信息,指示信息指示与文本图像对应的字符检测结果;特征解码模块,用于采用解码器来根据预定查询特征序列对图像特征进行解码,得到解码特征序列;其中,解码特征序列中的解码特征与预定查询特征序列中的查询特征一一对应;预测模块,用于采用预测网络来根据解码特征序列预测得到多个预测结果,多个预测结果与解码特征序列中的解码特征一一对应;每个预测结果包括预测位置信息、与预测位置信息对应的分类信息、以及预测位置信息指示位置处的字符与多个检测结果中预测位置信息指示位置处的多个字符之间的预测关联信息;以及模型训练模块,用于根据多个预测结果和字符检测结果,对文本检测模型进行训练,其中,分类信息用于指示预测位置信息指示位置处是否有字符。
8.根据本公开的另一个方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开提供的文本检测方法和/或文本检测模型的训练方法。
9.根据本公开的另一个方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本公开提供的文本检测方法和/或文本检测模型的训练方法。
10.根据本公开的另一个方面,提供了一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令在被处理器执行时实现本公开提供的文本检测方法和/或文本检测模型的训练方法。
11.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
12.附图用于更好地理解本方案,不构成对本公开的限定。其中:
13.图1是根据本公开实施例的文本检测方法和文本检测模型的训练方法、装置的应用场景示意图;
14.图2是根据本公开实施例的文本检测方法的流程示意图;
15.图3是根据本公开实施例的文本检测的原理示意图;
16.图4是根据本公开实施例的对图像特征进行解码的原理示意图;
17.图5是根据本公开实施例的文本检测模型的训练方法的流程示意图;
18.图6是根据本公开实施例的训练文本检测模型的原理示意图;
19.图7是根据本公开实施例的文本检测装置的结构框图;
20.图8是根据本公开实施例的文本检测模型的训练装置的结构框图;以及
21.图9是用来实施本公开实施例的文本检测方法和/或文本检测模型的训练方法的
电子设备的框图。
具体实施方式
22.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
23.自然场景下的文本检测技术可以被广泛应用于社会的各行各业,例如可以应用于教育、医疗、金融等领域。随着文本检测技术的发展,由文本检测技术派生的卡证票据的识别、文档的自动化录入、拍照搜题等技术极大地提升了传统行业的智能化程度和生产效率,为人们的日常学习和生活带来了很多便利。
24.例如,可以基于候选框的两级方案或者基于实例分割的方案来实现文本检测。基于候选框的两级方案可以先检测得到文本候选框,然后再对文本候选框内的文本进行文本分割,从而得到文本包络,即文本行的位置信息。例如可以采用掩膜文本检测系列模型(mask text spotter)或不止看一次模型(look more than once,lomo)来实现该基于候选框的两级方案。基于实例分割的方案可以直接对文本区域进行分割,然后基于分割的掩膜计算连通域,从而得到文本包络。例如,可以采用像素连接算法(pixel-link)或可微分二值化算法(differentiable binarization,db)来实现该基于实例分割的方案。
25.可以理解的是,该些方案大多是基于文本行粒度进行文本检测的。但在自然场景下,若文本的字符间距较大或者行列难以区分,该些方案往往很难基于图像的视觉信息来精准地实现文本粒度的检测。基于此,本公开提供了一种便于提高检测精度的文本检测方法和文本检测模型的训练方法、装置。以下将结合图1对本公开提供的方法和装置的应用场景进行描述。
26.图1是根据本公开实施例的文本检测方法和文本检测模型的训练方法、装置的应用场景示意图。
27.如图1所示,该实施例的应用场景100可以包括电子设备110,该电子设备110可以为具有处理功能的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机、台式计算机和服务器等等。
28.该电子设备110例如可以对输入的文本图像120进行检测,得到文本行粒度的文本检测结果130。例如,电子设备110可以采用上文描述的任一方案来检测得到文本检测结果130。
29.为了提高检测精度,电子设备110例如还可以通过对文本图像120进行检测,来得到以字符为粒度的字符框及字符之间的关联信息,随后基于该关联信息来对字符框进行整合,从而得到文本行粒度的文本检测结果130。为了便于实现该检测,该应用场景100例如可以预先为电子设备110提供有文本检测模型140。则电子设备可以将文本图像120作为文本检测模型140的输入,由文本检测模型140检测得到以字符为粒度的字符框及字符之间的关联信息。
30.在一实施例中,电子设备110可以安装有各种客户端应用,例如文档理解类的客户端应用、通信类应用、浏览器类应用等。该电子设备110除了具有对文档图像中的文本进行
检测的能力外,例如还可以具有对检测得到的文本进行识别和理解的能力,本公开对此不做限定。
31.在一实施例中,如图1所示,该应用场景100中还可以包括服务器150,该服务器150例如可以为支持电子设备110中客户端应用运行的后台管理服务器。电子设备110可以通过网络与服务器150通信连接,网络可以包括有线或无线通信链路。
32.例如,服务器150可以基于作为样本的文本图像对文本检测模型进行训练,并响应于电子设备110的请求,向电子设备110发送训练得到的文本检测模型140。
33.在一实施例中,电子设备110例如还可以将文本图像120发送给服务器150,由服务器150根据训练得到的文档检测模型140对文本图像120进行处理,得到文本检测结果130。
34.需要说明的是,本公开提供的文本检测方法可以由电子设备110执行,也可以由服务器150执行。相应地,本公开提供的文本检测装置可以设置在电子设备110中,也可以设置在服务器150中。本公开提供的文本检测模型的训练方法可以由服务器150执行。相应地,本公开提供的文本检测模型的训练装置可以设置在服务器150中。
35.应该理解,图1中的电子设备110和服务器150的数目和类型仅仅是示意性的。根据实现需要,可以具有任意数目和类型的电子设备110和服务器150。
36.以下将结合图2~图4对本公开提供的文本检测方法进行详细描述。
37.图2是根据本公开实施例的文本检测方法的流程示意图。
38.如图2所示,该实施例的文本检测方法200包括操作s210~操作s240。
39.在操作s210,提取文本图像的图像特征。
40.根据本公开的实施例,文本图像例如可以是通过扫描或拍摄常见的卡证票据、纸质文档、广告牌或宣传语等而得到的。
41.根据本公开的实施例,可以采用基于卷积神经网络cnn构建的特征提取网络来提取文本图像的图像特征。其中,特征提取网络例如可以为视觉几何小组(visual geometry group)提出的深层卷积网络vgg、残差网络(residual network,resnet)、密集连接的卷积网络(densenet)或轻量级网络mobilenet等。该实施例还可以采用一些可用于改善网络效果的算子来提取文本图像的图像特征。其中,用于改善网络效果的算子例如可以包括可变形卷积(deformable convolution,deformconv)、扩展卷积(dilation conv)或inception算子等。
42.可以理解的是,上述提取图像特征所采用的网络或算子仅作为示例以利于理解本公开,本公开对此不做限定。例如,该实施例还可以采用特征金字塔网络(feature pyramid networks,fpn)等能够同时获取局部特征和更深层次的语义特征的网络来提取图像特征,以提高提取得到的图像特征的精度。
43.在操作s220,采用解码器来根据预定查询特征序列对图像特征进行解码,得到解码特征序列。
44.根据本公开的实施例,预定查询特征序列可以包括多个查询特征,该多个查询特征的个数可以根据实际需求进行设定。例如,该多个查询特征的个数可以大于或等于文本图像中文本包括的字符个数。
45.根据本公开的实施例,可以通过对随机数据序列进行编码来得到预定查询特征序列。例如,若多个查询特征的个数为n,该实施例可以通过对数据序列{0,1,2,...,(n-1)}进
行嵌入表示,从而得到预定查询特征序列。其中,编码所采用的网络参数例如可以是学习得到的。
46.根据本公开的实施例,可以采用正余弦函数来得到预定查询特征序列。其中,正余弦函数可以采用如下公式表示。
[0047][0048][0049]
其中,pe
(pos,2i)
表示预定查询特征序列中偶数位的特征,pe
(pos,2i+1)
表示预定查询特征序列中奇数位的特征。pos表示预定查询特征在预定查询特征序列中的位置,例如,对于序列中的第一个预定查询特征,其位置可以表示为1。d
model
表示预先设定的预定查询特征的维度。
[0050]
根据本公开的实施例,可以将预定查询特征序列中的每个预定查询特征与图像特征进行拼接,将拼接得到的特征作为解码器的输入,由解码器输出与该每个预定查询特征对应的解码特征。与预定查询特征序列中的多个预定查询特征一一对应的多个解码特征可以构成解码特征序列。预定查询特征序列中任一位置处的预定查询特征与解码特征序列中相应位置处的解码特征相对应。
[0051]
根据本公开的实施例,解码器例如可以为任意序列网络中的解码器,例如可以为基于循环神经网络构建的解码器,也可以为基于注意力机制构建的解码器,本公开对此不做限定。
[0052]
在操作s230,根据解码特征序列,预测得到多个预测结果。
[0053]
根据本公开的实施例,每个预测结果可以包括位置信息和与位置信息对应的分类信息。其中,分类信息用于指示位置信息所指示的位置处是否有字符。该实施例可以采用通用的目标检测模型中的回归分支来对解码特征序列中的每个解码特征进行处理,预测得到一个位置信息,采用通用的目标检测模型中的分类分支来对该每个解码特征进行处理,预测得到一个分类信息。通过对每个解码特征进行处理得到的一个位置信息和一个分类信息可以得到与该每个解码特征对应的一个预测结果。
[0054]
在一实施例中,每个预测结果还可以包括位置信息指示位置处的字符与多个预测结果中多个位置信息指示位置处的多个字符之间的关联信息。例如,该实施例可以采用与前述的分类分支类似的关联预测分支来对每个解码特征进行处理,从而得到一个关联信息向量,该关联信息向量中的每个元素表示:根据该每个解码特征预测得到的位置信息指示位置处的字符,与根据所有解码特征预测得到的所有位置信息所指示位置处的所有字符中一个字符之间的关联信息。例如,设定得到的预测结果个数为n,则n个预测结果中n个位置信息指示位置处的字符可以为n个,则通过采用关联预测分支对每个解码特征进行处理得到的关联信息向量中包括n个关联信息。可以理解的是,该关联预测分支和分类分支的区别在于,关联预测分支用于完成多标签分类任务,而分类分支用于完成二分类任务。对于解码特征序列中的每个解码特征而言,多分类任务中的每个任务用于预测根据该解码特征得到的位置信息所指示位置处的字符与n个字符中一个字符之间的关联信息。
[0055]
在操作s240,根据关联信息和分类信息,确定指示位置处有字符的位置信息并对多个字符中具有关联关系的字符的位置信息进行整合,得到文本检测结果。
[0056]
根据本公开的实施例,分类信息可以包括有字符类别和无字符类别中的任一个,该实施例可以将多个预测结果中所对应的分类信息为有字符类别的位置信息,作为指示位置处有字符的位置信息。
[0057]
根据本公开的实施例,上文描述的关联信息向量中的每个元素可以包括有关联关系和无关联关系中的任一个。该实施例可以针对所有指示位置处有字符的位置信息,根据多个预测结果中的关联信息确定表示该些位置信息处的所有字符彼此之间是否有关联关系。该实施例可以将具有关联关系的字符的位置信息进行整合,从而得到文本检测结果。
[0058]
例如,位置信息可以由包围字符的字符框在基于文本图像构建的图像坐标系中的位置来表示,具体可以包括字符框左上角的坐标值和右下角的坐标值,或者可以包括字符框左上角的坐标值和字符框的高度、宽度。该实施例在对具有关联关系的字符的位置信息进行整合时,可以先根据需要整合的位置信息,确定在图像坐标系的两个坐标轴方向上的极值,根据该极值来确定整合后的位置信息。例如,若需要整合的位置信息在图像坐标系的x轴方向的极小值为x1,极大值为x2,需要整合的位置信息在图像坐标系的y轴方向的极小值为y1,极大值为y2,则可以确定整合后的位置信息包括(x1,y1)、(x2、y2)。该实施例可以将该整合后的位置信息中的(x1,y1)作为矩形的左上角顶点,将整合后的位置信息中的(x2、y2)作为矩形的右下角顶点,将由该两个顶点唯一确定的矩形框作为文本检测结果。如此,该文本检测结果可以用于表示检测到的文本行粒度的检测框。
[0059]
在一实施例中,分类信息包括有字符的概率值,关联信息包括关联度。该实施例在根据关联信息和分类信息,确定指示位置处有字符的位置信息并对多个字符中具有关联关系的字符的位置信息进行整合时,可以先根据概率值和预定概率阈值,确定多个预测结果包括的多个位置信息中指示位置处具有字符的位置信息,作为目标位置信息。即将对应的分类信息中概率值大于等于预定概率阈值的位置信息作为目标位置信息。随后,该实施例可以根据目标位置信息指示位置处的目标字符彼此之间的关联度,将目标字符中具有关联关系的字符组成字符组,得到至少一个字符组。例如,可以将关联度大于等于预定关联度阈值的两个目标字符归类为一个字符组,从而得到至少一个字符组。最后,该实施例可以根据每个字符组中字符的位置信息,确定每个字符组对应的文本行的位置信息,得到文本检测结果。
[0060]
可以理解的是,确定每个字符组对应的文本行的位置信息时,可以通过采用如上文描述的方法来对每个字符组中字符的位置信息进行整合,从而得到包围文本行的矩形框。针对至少一个字符组,可以得到至少一个矩形框。该实施例可以将该至少一个矩形框的位置信息作为文本检测结果。
[0061]
该实施例通过以字符为粒度的精细检测及对字符的关联关系的预测,并基于预测的关联关系进行预测结果的整合,可以在精细检测的基础上实现文本行粒度的文本检测。相较于计算连通域等的算法,可以使得检测结果不受文本行、字符间间距的影响,可以有效提高文本检测的检测精度。从而可以使得本公开实施例提供的方法可以用来对任意形状的文本行进行高精度的检测,可以为文字识别和理解等相关的下游应用提供更为可靠的检测结果,利于为下游应用带来更多的流量和用户体验。
[0062]
以下将结合图3和图4对上文描述的操作s230及整个文本检测方法的实现原理进行进一步地限定和扩展。
[0063]
图3是根据本公开实施例的文本检测的原理示意图。
[0064]
如图3所示,该实施例300可以采用端到端的文本检测模型来对文本图像301进行处理,从而得到多个预测结果302。
[0065]
例如,文本检测模型可以包括特征提取网络310、解码网络320和预测网络330。其中,预测网络330由三个预测分支构成,该三个预测分支可以分别为上文描述的分类分支331、回归分支332和关联预测分支333。
[0066]
其中,特征提取网络310可以为上文描述的基于cnn构建的特征提取网络等,解码网络320例如可以采用transformer架构中的解码器。分类分支331例如可以基于支持向量机(support vector machine,svm)或其他任意的用于二分类的分类器构建得到。回归分支332例如可以基于regressor等回归神经网络构建得到。关联预测分支333例如可以基于多个支持向量机构建得到,也可以由全连接网络等构建得到。可以理解的是,上述各网络的结构仅作为示例以利于理解本公开,本公开对此不做限定。
[0067]
在一实施例中,将文本图像301输入特征提取网络310,经由特征提取网络310的处理后可以得到图像特征303。该实施例可以将图像特征303和预定查询特征序列304作为解码网络320的输入,经由解码网络中的解码器处理后,可以输出解码特征序列305。该实施例可以将解码特征序列305中的解码特征以序列形式输入预测网络330的三个分支。针对每个解码特征,经由该三个分支处理后,可以得到由分类分支331输出分类信息306,由回归分支332输出位置信息307,由关联预测分支333输出位置信息307指示位置处的字符与针对所有解码特征得到的所有位置信息所指示位置处字符之间的关联信息308。针对该每个解码特征得到的分类信息306、位置信息307和关联信息308可以构成与该每个解码特征对应的预测结果302。
[0068]
根据本公开的实施例,在解码器采用transformer架构的解码器时,解码网络320例如可以先根据图像特征得到键特征key和值特征value。例如,解码网络320可以对图像特征与预先训练得到的权重矩阵wk进行矩阵乘法运算,从而得到键特征key。解码网络320可以对图像特征与预先训练得到的权重矩阵wv进行矩阵乘法运算,从而得到值特征value。类似地,该实施例中,解码网络320例如还可以根据预定查询特征序列来得到查询特征query。例如,解码网络320可以对预定查询特征序列与预先训练得到的权重矩阵wq进行矩阵乘法运算,从而得到查询特征query。
[0069]
在得到查询特征query、键特征key和值特征value后,解码网络320可以将查询特征、键特征和值特征输入解码器,由解码器输出解码特征序列305。可以理解的是,解码器可以采用自注意力机制来对查询特征query、键特征key和值特征value进行运算,从而得到解码特征序列305。
[0070]
该实施例通过采用基于自注意力机制的原理来对图像特征303进行解码,可以使得解码过程中能够对图像特征进行更为全面的考虑,能够捕捉到图像中间隔较大的像素之间的关联关系,从而利于提高预测得到的关联信息和分类信息的精度。
[0071]
图4是根据本公开实施例的对图像特征进行解码的原理示意图。
[0072]
根据本公开的实施例,还可以结合文本图像中各像素的位置信息来对图像特征进行解码,以此为解码过程提供更为丰富的上下文信息,利于进一步提高得到的解码特征序列的表达能力,提高预测得到的关联信息和分类信息的精度。
[0073]
如图4所示,在实施例400中,在提取得到文本图像401的图像特征402的同时,该实施例还可以对文本图像401进行位置编码,得到针对文本图像401的位置特征403。
[0074]
示例性地,可以采用如上文描述的正余弦函数来对文本图像401进行位置编码,在进行位置编码的过程中,可以将文本图像401逐行地展开为像素序列,对于像素序列中偶数位的像素,采用正弦函数进行位置编码,对于像素序列中奇数位的像素,采用余弦函数进行位置编码。可以理解的是,上述进行位置编码的方法仅作为示例以利于理解本公开,本公开还可以采用任意的预定函数或者任意的方法来对文本图像401进行位置编码。
[0075]
该实施例在得到位置特征403和图像特征402后,例如可以融合该位置特征403和图像特征402,得到融合特征404。其中,可以采用concat()函数来融合位置特征403和图像特征402,也可以通过直接拼接位置特征403和图像特征402来得到融合特征404。
[0076]
在得到融合特征404后,该实施例可以根据该融合特征404作为解码网络410的输入,由解码网络根据该融合特征404得到键特征和值特征。同时将预定查询特征序列405作为解码网络410的输入,由解码网络中的解码器对根据预定查询特征序列405得到的查询特征、键特征和值特征进行处理,从而得到解码特征序列406。
[0077]
为了便于本公开提供的文本检测的方法的实施,本公开还提供了一种文本检测模型的训练方法,以下将结合图5~图6对该训练方法进行详细描述。
[0078]
图5是根据本公开实施例的文本检测模型的训练方法的流程示意图。
[0079]
如图5所示,该实施例的文本检测模型的训练方法500可以包括操作s510~操作s540。其中,文本检测模型可以包括特征提取网络、解码器和预测网络。
[0080]
在操作s510,采用特征提取网络提取作为样本的文本图像的图像特征。
[0081]
根据本公开的实施例,可以将具有对应的指示信息的文本图像作为样本。其中,指示信息可以指示与文本图像对应的字符检测结果,该字符检测结果与上文描述的文本检测结果的区别在于,文本检测结果为文本行粒度的检测结果,而字符检测结果为字符粒度的检测结果。字符检测结果例如可以包括文本图像中文本包括的m个字符的实际位置信息,该实际位置信息可以由包围字符的字符框在基于文本图像构建的图像坐标系中的位置来表示。
[0082]
可以理解的是,解码特征序列中的解码特征是与预定查询特征序列中的查询特征一一对应的。特征提取网络可以采用上文描述的cnn等,该操作s510的实现原理与上文描述的操作s210的实现原理类似,在此不再赘述。
[0083]
在操作s520,采用解码器来根据预定查询特征序列对图像特征进行解码,得到解码特征序列。该操作s520的实现原理与上文描述的操作s220的实现原理类似,在此不再赘述。
[0084]
在操作s530,采用预测网络来根据解码特征序列预测得到多个预测结果。
[0085]
根据本公开的实施例,预测网络可以包括上文描述的回归分支和分类分支。在一实施例中,预测网络还可以包括上文描述的关联预测分支。该操作s530的实现原理与上文描述的操作s230的实现原理类似,在此不再赘述。
[0086]
在一实施例中,得到的多个预测结果是与解码特征序列中的多个解码特征一一对应的。每个预测结果包括预测位置信息、与预测位置信息对应的分类信息、以及预测位置信息指示位置处的字符与多个检测结果中所有预测位置信息指示位置处的多个字符之间的
预测关联信息。该预测位置信息与上文描述的操作s230得到的位置信息类似,预测关联信息与上文描述的操作s230得到的关联信息类似,在此不再赘述。其中,分类信息用于指示预测位置信息指示位置处是否有字符。
[0087]
在操作s540,根据多个预测结果和字符检测结果,对文本检测模型进行训练。
[0088]
根据本公开的实施例,可以将多个预测结果中的多个预测位置信息(例如为n个)与字符检测结果中的m个字符的实际位置信息进行比较,根据比较结果来确定文本检测模型的损失。该实施例可以以最小化损失为目标来调整文本检测模型的网络参数,从而实现对文本检测模型的训练。
[0089]
示例性地,在对n个预测位置信息和m个字符的实际位置信息进行比较时,例如可以以m个字符的实际位置信息中的每个位置信息为聚类中心,对n个预测位置信息进行聚类分组,得到分别以m个字符的实际位置信息为中心的m个预测位置信息组。随后,该实施例可以根据每个预测位置信息组中的预测位置信息与作为该每个预测位置信息组的中心的实际位置信息之间的差异,来确定文本检测模型的损失。其中,位置信息之间的差异例如可以根据交并比来确定,文本检测模型的损失的大小与交并比负相关。
[0090]
在一实施例中,例如可以对n个预测位置信息和m个字符的实际位置信息进行匹配,将匹配的一个预测位置信息和一个实际位置信息构成一个位置信息对,例如总计可以得到p个位置信息对。随后,该实施例可以根据每个位置信息对中预测位置信息与实际位置信息之间的差异,来确定文本检测模型的第一损失,以通过最小化损失来训练文本检测模型。例如,可以利用l1损失函数等来根据预测位置信息与实际位置信息之间的差异,来确定文本检测模型的第一损失。
[0091]
其中,例如可以采用匹配算法来对预测位置信息和实际位置信息进行匹配。匹配算法例如可以包括匈牙利算法等能够对两个元素数量不同的信息组进行匹配的算法。
[0092]
例如,在进行匹配时,该实施例可以先计算n个预测位置信息中每个预测位置信息表示的字符框与m个字符的实际位置信息中每个实际位置信息表示的字符框之间的交并比,总计得到n*m个交并比。该n*m个交并比例如可以构成尺寸为n行m列的交并比矩阵。随后,该实施例可以基于匈牙利算法对该交并比矩阵进行处理,从而得到匹配的p个位置信息对。
[0093]
以下将结合图6对训练文本检测模型的原理进行进一步地限定和扩展。
[0094]
图6是根据本公开实施例的训练文本检测模型的原理示意图。
[0095]
如图6所示,该实施例600中,可以将作为样本的文本图像601输入文本检测模型中的特征提取网络611,由特征提取网络611输出图像特征602。随后,该实施例可以将图像特征602和预定查询特征序列603输入文本检测模型中的解码网络612,由解码网络612输出解码特征序列604。解码特征序列604输入文本检测模型中的预测网络613包括的三个分支,该三个分支输出的信息可以构成n个检测结果630。
[0096]
示例性地,该解码网络612可以包括transformer架构的解码器。该实施例在得到解码特征序列时,例如可以先根据图像特征602得到键特征和值特征,同时根据预定查询特征序列得到查询特征。最后将查询特征、键特征和值特征输入解码网络612包括的解码器中,由解码器输出解码特征序列。可以理解的是,该得到解码特征序列的原理与上文描述的图3所示的原理中得到解码特征序列的原理类似,在此不再赘述。
[0097]
在一实施例中,还可以结合文本图像中各像素的位置信息来对图像特征进行解码。具体地,可以在得到图像特征602的同时,对文本图像进行位置编码,得到位置特征。随后,融合位置特征和图像特征,得到融合特征。最后,根据融合特征来得到键特征和值特征。如此,可以基于键特征、值特征和查询特征,采用解码器解码得到解码特征序列。该实施例对图像特征进行解码的原理与上文描述的图4所示的解码原理类似,在此不再赘述。
[0098]
根据本公开的实施例,在得到n个预测结果630后,该实施例可以对该n个预测结果630中包括的n个预测位置信息631与文本图像601对应的m个字符的实际位置信息641进行匹配,得到上文描述的p个位置信息对650。随后,根据该p个位置信息对650中位置信息的匹配关系来对模型进行训练。
[0099]
示例性地,可以设定匹配到实际位置信息的预测位置信息所指示位置处应该有字符,即确定与该预测位置信息对应的分类信息的真值应为有字符类别。设定未匹配到实际位置信息的预测位置信息所指示位置处应该没有字符,即确定与该预测位置信息对应的分类信息的真值应为无字符类别。基于此,该实施例可以根据与预测位置信息对应的分类信息与真值的差异来确定文本检测模型的第二损失,并以最小化该第二损失为目标对文本检测模型进行训练。
[0100]
例如,分类信息例如可以包括有字符的预测概率值,该实施例可以将有字符类别的真值的概率值设定为第一值,将没有字符类别的真值的概率值设定为第二值。如此,该实施例可以根据与第一位置信息对应的分类信息所包括的预测概率值与第一值之间的差异,以及与n个预测位置信息中除第一位置信息外的其他位置信息对应的分类信息所包括的预测概率值与第二值之间的差异,来确定文本检测模型的第二损失。其中,第一位置信息为n个预测位置信息中匹配到实际位置信息的部分。第一值大于第二值,例如,第一值可以为1、或靠近1且小于1的任意值,第二值可以为0、或靠近0且大于0的任意值,本公开对此不做限定。例如,可以采用交叉熵损失函数等来根据预测概率值确定文本检测模型的损失。
[0101]
示例性地,为了实现文本行粒度的文本检测,作为样本的文本图像对应的字符检测结果例如还可以包括指示m个字符彼此之间的关联关系的实际关联信息。该实际关联信息可以指示m个字符的行关系,即m个字符中的哪些字符为同一行的字符。该实施例例如可以将m个字符中属于同一行的多个字符彼此之间的实际关联信息表示为1。相应地,对于不属于同一行的字符之间的实际关联信息可以表示为0。该实施例在确定了p个位置信息对650后,可以根据p个位置信息对中p个预测位置信息指示位置处的p个字符彼此之间的预测关联信息,与p个位置信息对中p个实际位置信息指示位置处的p个字符彼此之间的实际关联信息之间的差异,来确定文本检测模型的第三损失,并以最小化第三损失为目标对文本检测模型进行训练。
[0102]
示例性地,设定作为样本的文本图像i中包括文本行序列s={l1,l2,...,ln}。其中,li表示文本图像i包括的第i个文本行,i的取值范围为[1,n]。li例如可以由多个字符构成,该多个字符的位置可以由实际位置信息序列{l
i1
,l
i2
,...,l
im
}构成。其中,n,m均为大于1的自然数。l
ij
表示第i个文本行中的第j个字符的实际位置信息。对于匹配到预测位置信息的实际位置信息,与实际位置信息对应的分类信息的真值为1,表示实际位置信息指示位置处有字符,实际位置信息序列{l
i1
,l
i2
,...,l
im
}中任意两个实际位置信息指示位置处的两个字符之间的实际关联信息可以包括具有关联关系。
[0103]
在一实施例中,可以通过考虑上文描述的第一损失、第二损失和第三损失中的至少两个损失,来对文本检测模型进行训练。例如,可以将该三个损失的加权和作为文本检测模型的总损失,随后以最小化该总损失为目标,对文本检测模型进行训练。在计算该三个损失的加权和时所采用的权重可以根据实际需求进行设定,本公开对此不做限定。
[0104]
在一实施例中,文本检测模型例如还可以包括有嵌入网络,该嵌入网络用于对随机数据序列进行编码,从而得到对图像特征进行解码时所依据的预定查询特征序列。其中,随机数据序列可以为上文描述的{0,1,2,...,(n-1)},嵌入网络可以为嵌入层(embedding),用于将稀疏的随机数据序列映射到密集空间中。可以理解的是,该嵌入网络中的网络参数可以与特征提取网络、解码器、预测网络中的网络参数一并参与训练。
[0105]
基于本公开提供的文本检测方法,本公开还提供了一种文本检测装置,以下将结合图7对该装置进行详细描述。
[0106]
图7是根据本公开实施例的文本检测装置的结构框图。
[0107]
如图7所示,该实施例的文本检测装置700可以包括特征提取模块710、特征解码模块720、预测模块730和检测结果获得模块740。
[0108]
特征提取模块710用于提取文本图像的图像特征。在一实施例中,特征提取模块710可以用于执行上文描述的操作s210,在此不再赘述。
[0109]
特征解码模块720用于采用解码器来根据预定查询特征序列对图像特征进行解码,得到解码特征序列。其中,解码特征序列中的解码特征与预定查询特征序列中的查询特征一一对应。在一实施例中,特征解码模块720可以用于执行上文描述的操作s220,在此不再赘述。
[0110]
预测模块730用于根据解码特征序列,预测得到多个预测结果;多个预测结果与解码特征序列中的解码特征一一对应。其中,每个预测结果包括位置信息、与位置信息对应的分类信息、以及位置信息指示位置处的字符与多个预测结果中位置信息指示位置处的多个字符之间的关联信息。其中,分类信息用于指示位置信息指示位置处是否有字符。在一实施例中,预测模块730可以用于执行上文描述的操作s230,在此不再赘述。
[0111]
检测结果获得模块740用于根据关联信息和分类信息,确定指示位置处有字符的位置信息并对多个字符中具有关联关系的字符的位置信息进行整合,得到文本检测结果。在一实施例中,检测结果获得模块740可以用于执行上文描述的操作s240,在此不再赘述。
[0112]
根据本公开的实施例,特征解码模块720可以包括第一特征得到子模块、第二特征得到子模块和解码子模块。第一特征得到子模块用于根据图像特征得到键特征和值特征。第二特征得到子模块用于根据预定查询特征序列得到查询特征。解码子模块用于将查询特征、键特征和值特征输入解码器,得到解码器输出的解码特征序列。
[0113]
根据本公开的实施例,第一特征得到子模块可以包括位置编码单元、特征融合单元和特征获得单元。位置编码单元用于对文本图像进行位置编码,得到位置特征。特征融合单元用于融合位置特征和图像特征,得到融合特征。特征获得单元用于根据融合特征得到键特征和值特征。
[0114]
根据本公开的实施例,分类信息包括有字符的概率值,关联信息包括关联度。上述检测结果获得模块740可以包括目标信息确定子模块、字符组确定子模块和检测结果确定子模块。目标信息确定子模块用于根据概率值和预定概率阈值,确定多个预测结果包括的
多个位置信息中指示位置处具有字符的位置信息,作为目标位置信息。字符组确定子模块用于根据目标位置信息指示位置处的目标字符彼此之间的关联度,将目标字符中具有关联关系的字符组成字符组,得到至少一个字符组。检测结果确定子模块用于根据每个字符组中字符的位置信息,确定每个字符组对应的文本行的位置信息,得到文本检测结果。
[0115]
基于本公开提供的文本检测模型的训练方法,本公开还提供了一种文本检测模型的训练装置,以下将结合图8对该装置进行详细描述。
[0116]
图8是根据本公开实施例的文本检测模型的训练装置的结构框图。
[0117]
如图8所示,该实施例的文本检测模型的训练装置800可以包括特征提取模块810、特征解码模块820、预测模块830和模型训练模块840。其中,文本检测模型包括特征提取网络、解码器和预测网络。
[0118]
特征提取模块810用于采用特征提取网络提取作为样本的文本图像的图像特征。其中,文本图像具有对应的指示信息,指示信息指示与文本图像对应的字符检测结果。在一实施例中,特征提取模块810可以用于执行上文描述的操作s510,在此不再赘述。
[0119]
特征解码模块820用于采用解码器来根据预定查询特征序列对图像特征进行解码,得到解码特征序列。其中,解码特征序列中的解码特征与预定查询特征序列中的查询特征一一对应。在一实施例中,特征解码模块820可以用于执行上文描述的操作s520,在此不再赘述。
[0120]
预测模块830用于采用预测网络来根据解码特征序列预测得到多个预测结果,多个预测结果与解码特征序列中的解码特征一一对应。其中,每个预测结果包括预测位置信息、与预测位置信息对应的分类信息、以及预测位置信息指示位置处的字符与多个检测结果中预测位置信息指示位置处的多个字符之间的预测关联信息。分类信息用于指示预测位置信息指示位置处是否有字符。在一实施例中,预测模块830可以用于执行上文描述的操作s530,在此不再赘述。
[0121]
模型训练模块840用于根据多个预测结果和字符检测结果,对文本检测模型进行训练。在一实施例中,模型训练模块840可以用于执行上文描述的操作s540,在此不再赘述。
[0122]
根据本公开的实施例,上述字符检测结果可以包括文本图像包括的m个字符的实际位置信息,上述分类信息可以包括有字符的预测概率值。上述模型训练模块840可以包括位置信息匹配子模块和第一训练子模块。位置信息匹配子模块用于对多个预测结果包括的n个预测位置信息和m个字符的实际位置信息行匹配,得到p个位置信息对,每个位置信息对包括n个预测位置信息中的一个第一位置信息和m个字符的实际位置信息中与第一位置信息匹配的第二位置信息。第一训练子模块用于根据与第一位置信息对应的分类信息所包括的预测概率值与第一值之间的差异,以及与n个预测位置信息中除第一位置信息外其他位置信息对应的分类信息所包括的预测概率值与第二值之间的差异,对文本检测模型进行训练。其中,第二值小于第一值。
[0123]
根据本公开的实施例,字符检测结果包括文本图像包括的m个字符的实际位置信息。上述模型训练模块840可以包括位置信息匹配子模块和第二训练子模块。位置信息匹配子模块用于对多个预测结果包括的n个预测位置信息和m个字符的实际位置信息行匹配,得到p个位置信息对,每个位置信息对包括n个预测位置信息中的一个第一位置信息和m个字符的实际位置信息中与第一位置信息匹配的第二位置信息。第二训练子模块用于根据位置
信息对中第一位置信息与第二位置信息之间的差异,对文本检测模型进行训练。
[0124]
根据本公开的实施例,字符检测结果包括文本图像包括的m个字符的实际位置信息及指示m个字符彼此之间的关联关系的实际关联信息。上述模型训练模块840可以包括位置信息匹配子模块和第三训练子模块。位置信息匹配子模块用于对多个预测结果包括的n个预测位置信息和m个字符的实际位置信息行匹配,得到p个位置信息对,每个位置信息对包括n个预测位置信息中的一个第一位置信息和m个字符的实际位置信息中与第一位置信息匹配的第二位置信息。第三训练子模块用于根据p个第一位置信息指示位置处的p个第一字符彼此之间的预测关联信息,与p个第二位置信息对应的p个第二字符彼此之间的实际关联信息之间的差异,对文本检测模型进行训练。
[0125]
根据本公开的实施例,文本检测模型还包括嵌入网络,上述装置800还可以包括序列编码模块,用于采用嵌入网络对随机数据序列进行编码,得到预定查询特征序列。
[0126]
根据本公开的实施例,上述特征解码模块820可以包括第一特征得到子模块、第二特征得到子模块和解码子模块。第一特征得到子模块用于根据图像特征得到键特征和值特征。第二特征得到子模块用于根据预定查询特征序列得到查询特征。解码子模块用于将查询特征、键特征和值特征输入解码器,得到解码器输出的解码特征序列。
[0127]
根据本公开的实施例,第一特征得到子模块可以包括位置编码单元、特征融合单元和特征获得单元。位置编码单元用于对文本图像进行位置编码,得到位置特征。特征融合单元用于融合位置特征和图像特征,得到融合特征。特征获得单元用于根据融合特征得到键特征和值特征。
[0128]
需要说明的是,本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供、公开和应用等处理,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。在本公开的技术方案中,在获取或采集用户个人信息之前,均获取了用户的授权或同意。
[0129]
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
[0130]
图9示出了可以用来实施本公开实施例的文本检测方法和/或文本检测模型的训练方法的示例电子设备900的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0131]
如图9所示,设备900包括计算单元901,其可以根据存储在只读存储器(rom)902中的计算机程序或者从存储单元908加载到随机访问存储器(ram)903中的计算机程序,来执行各种适当的动作和处理。在ram 903中,还可存储设备900操作所需的各种程序和数据。计算单元901、rom 902以及ram 903通过总线904彼此相连。输入/输出(i/o)接口905也连接至总线904。
[0132]
设备900中的多个部件连接至i/o接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通
信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0133]
计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理,例如文本检测方法和/或文本检测模型的训练方法。例如,在一些实施例中,文本检测方法和/或文本检测模型的训练方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由rom 902和/或通信单元909而被载入和/或安装到设备900上。当计算机程序加载到ram 903并由计算单元901执行时,可以执行上文描述的文本检测方法和/或文本检测模型的训练方法的一个或多个步骤。备选地,在其他实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行文本检测方法和/或文本检测模型的训练方法。
[0134]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、复杂可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0135]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0136]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0137]
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用
任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0138]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
[0139]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。其中,服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务(

virtual private server

,或简称

vps

)中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0140]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0141]
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1