一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

图像识别方法和系统与流程

2021-10-23 00:34:00 来源:中国专利 TAG:识别 图像 方法 系统


1.本技术涉及图像识别领域,具体而言,涉及一种图像识别方法和系统。


背景技术:

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.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
21.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或
描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
22.首先,在对本技术实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
23.ocr:optical character recognition,光学字符识别,可以是指通过图像处理和模式识别技术对光学的字符进行识别。
24.ctc:connectionist temporal classification,联结主义时间分类,可以用来解决输入序列和输出序列难以一一对应的问题。
25.crnn:convolution recurrent neural network,卷积循环神经网络,可以是卷积神经网络cnn和循环神经网络rnn的组合,其网络架构主要由三部分组成,包括卷积层、循环层和转录层。
26.attention mechanism:注意力机制,可以用于提升基于rnn的编解码模型的效果的机制,通过为句子中的每个词赋予不同的权重,使神经网络模型的学习变得更加灵活,同时可以作为一种对齐关系,解释翻译输入/输出句子之间的对齐关系。
27.blstm:bidirectional long short-term memory,双向长短期记忆神经网络,可以同时利用过去时刻和未来时刻的信息,其网络结果由两个普通的rnn所组成,一个正向的rnn,利用过去的信息,一个逆序的rnn,利用未来的信息。
28.resnet:residual neural network,残差神经网络,通过在网络中增加直连通道,允许原始输入信息直接传到后面的层中,这一层的神经网络不用学习整个输出,只需要学习上一个网络输出的残差。
29.mask:掩码,可以是一串二进制代码对目标字段进行位与运算,屏蔽当前的输入位。
30.现有的文本识别算法主要可以分为两类:基于ctc的文本识别算法和基于attention的文本识别算法。
31.基于ctc的文本识别算法由三大部分组成,第一部分是卷积神经网络,用于提取图像的特征序列;第二部分是循环神经网络,用于学习文本数据特征序列的上下文信息;第三部分是ctc解码器,ctc解码器通过引入blank类,解决了序列识别的长短对齐问题,可以将前面循环神经网络输出的概率分布解码为最终的识别结果。在这类方法中,第一部分的cnn通常将图像的高度变为1,因此输入图像的高度必须是固定的,这种特点使得模型无法处理包含有第二方向排列的文本数据的图像。
32.基于attention的文本识别算法也由三大部分组成,其前两个部分与基于ctc的文本识别算法一致,但第三部分利用注意力机制(attention mechanism)来做解码,在每个时间点依次输出识别结果。与ctc方法不同,基于attention的文本识别算法的cnn部分输出可以是二维特征图,因此理论上该类算法可以同时处理包含有水平和竖直两个方向排列的文本数据的图像。但是,但由于中文的类别数远大于英文,逐时间点分类的attention算法在中文文本行识别上的效果较差,此外,attention算法的前向耗时也多于ctc算法,因此,attention算法并不适用于目前的读光文本识别场景。
33.由于传统的文本行识别算法只能处理一种方向排列的文本行图片,模型的适用范围受到了很大限制。一个最简单的解决方案是分别训练两个模型,但是这种方案需要在线上存储两个模型,造成了资源浪费。
34.为了解决上述问题,本技术通过对文本识别算法进行优化改进,提供了一个能够同时识别水平和垂直两个方向排列的文本数据的模型,不仅能够避免存储两个模型,还能提高模型的识别效果。
35.上述的文本识别算法可以应用于多种需要进行文字识别的领域中,例如,在线购物平台的辅助设计领域中,为了帮助商家设计产品详情页,商家可以将设计模板上传,通过该算法可以识别出设计模板中不同方向排列的文本数据,并根据商家需要进行替换,得到商家自己的产品详情页。进一步地,为了方便用户使用,可以将该算法作为一种saas(software as a service)服务部署在云端服务器中,用户可以根据需求通过互联网使用该方法对不同方向排列的文本数据进行识别。
36.实施例1
37.根据本技术实施例,提供了一种图像识别方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
38.本技术实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现图像识别方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,
……
,102n来示出)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。除此以外,还可以包括:显示器、输入/输出接口(i/o接口)、通用串行总线(usb)端口(可以作为bus总线的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
39.应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本技术实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
40.存储器104可用于存储应用软件的软件程序以及模块,如本技术实施例中的图像识别方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的图像识别方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
41.传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括
计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(network interface controller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radio frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
42.显示器可以例如触摸屏式的液晶显示器(lcd),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
43.此处需要说明的是,在一些可选实施例中,上述图1所示的计算机设备(或移动设备)可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算机设备(或移动设备)中的部件的类型。
44.在上述运行环境下,本技术提供了如图2所示的图像识别方法。图2是根据本技术实施例的一种图像识别方法的流程图。如图2所示,该方法包括如下步骤:
45.步骤s202,获取第一图像和第二图像,其中,第一图像中包含有第一文本数据,第二图像包含有第二文本数据,第一文本数据的排列方向为第一方向,第二文本数据的排列方向为第二方向;
46.上述步骤中的第一图像和第二图像可以是指从待处理图像中提取出的文本图像,两个图像中包含的文本按照不同方向进行排列,排列方向分别为第一方向和第二方向。该待处理图像可以是在线购物平台的辅助设计领域中,商家上传的模板图像,也可以是saas服务中接收到的用户上传的图像,但不仅限于此。由于实际应用中,待处理图像中的文字通常是按照水平方向进行排列,也会出现按照竖直方向进行排列的情况,在本技术实施例中,以第一方向为水平方向,第二方向为竖直方向为例进行说明,但不仅限于此。
47.在一种可选的实施例中,可以通过图像文字提取方法对包含有水平文本和竖直文本的待处理图像进行处理,提取出包含水平文本的第一图像和包含竖直文本的第二图像,进一步通过一个模型对两张图像同时进行处理,得到最终的识别结果。
48.步骤s204,利用文本识别模型对第一图像和第二图像进行处理,得到第一图像的第一识别结果和第二图像的第二识别结果;
49.其中,文本识别模型用于将第一图像和第二图像输入至特征提取模型,得到第一图像的第一特征序列和第二图像的第二特征序列,将第一特征序列输入至第一识别模型,得到第一识别结果,并将第二特征序列输入至第二识别模型,得到第二识别结果。
50.可选地,特征提取模型包括:多个依次连接的卷积层、激励层和池化层,其中,最后一个池化层的参数为2*1;第一识别模型或第二识别模型包括:卷积神经网络、双向长短期记忆神经网络和联结主义时间分类。
51.为了确保通过一个模型同时对多个不同方向排列的文本数据进行识别,本技术可以将基于ctc的文本识别算法进行改进。由于水平方向排列的文本与竖直方向排列的文本的底层特征是相似的,因此,可以将现有的卷积神经网络模型中的大部分进行共享,得到特征提取模型,从而减少参数的数量。另外,可以在现有的模型基础上通过不同的识别模型对不同方向排列的文本数据进行识别,所有识别模型的结构完全一致。
52.其中,对于特征提取模型,其主要结构可以是在vgg16(visual geometry group network)的基础上修剪得到,用于提取文本行图像的特征信息,用于后续的识别。对于第一
识别模型和第二识别模型,两个模型结构可以完全一致,由cnn、blstm和ctc组成。
53.需要说明的是,为了增强特征提取模型的特征提取能力,特征提取模型也可以采用resnet,但不仅限于此,也可以是其他结构。
54.由于传统的基于ctc的文本识别算法中序列识别模型需要将图像的高度处理为1,而且需要保留足够的宽度,因此,模型中会包含有2*1形状的池化层,第一识别模型和第二识别模型可以开始于2*1形状的池化层出现之后,在此之前为特征提取模型。
55.例如,以水平方向和竖直方向排列的文本数据为例进行说明,如图3所示,本技术的文本提取模型的总体框架可以分为三个部分,第一部分是数据处理;第二部分是共享cnn层的特征提取模型,用于提取图像中包含的第一文本数据和第二文本数据的特征信息;第三部分是分支识别网络(包括上述的第一识别模型和第二识别模型),用于分别对水平方向和竖直方向排列的文本数据进行识别。
56.基于本技术上述实施例提供的方案,对于包含有两个不同排列方向的文本数据的图像,可以利用一个文本识别模型进行处理,得到不同排列方向的文本数据的识别结果,从而实现图像识别的目的。容易注意到的是,通过两个识别模型分支来实现通过一个模型同时识别水平文本行和竖直文本行,从而避免了线上存储两个识别模型,达到了节省计算和存储资源的技术效果,进而解决了相关技术中文本识别方法对多个方向排列的文本数据进行识别,浪费计算和存储资源的技术问题。
57.在本技术上述实施例中,在利用文本识别模型对第一图像和第二图像进行处理之前,该方法还包括:获取第一图像中每个第一字符的位置,以及第二图像中每个第二字符的位置;基于每个第一字符的位置,生成第一图像对应的第一掩码矩阵,并基于每个第二字符的位置,生成第二图像对应的第二掩码矩阵,其中,第一掩码矩阵用于表征第一文本数据的排列方向,第二掩码矩阵用于表征第二文本数据的排列方向;将第一图像、第一掩码矩阵、第二图像和第二掩码矩阵进行拼接,得到输入矩阵;利用文本识别模型对输入矩阵进行处理,得到第一识别结果和第二识别结果。
58.可选地,上述步骤中的第一掩码矩阵和第二掩码矩阵可以是非对称矩阵能够标识一定的方向信息,掩码矩阵的值只与文本数据中字符位置和排列方向有关,在本技术实施例中,对于水平方向排列的文本数据,第一掩码矩阵的值从左到右依次增大,且从上到下依次增大。因此,基于掩码矩阵的数值大小,可以确定文本数据的排列方向。
59.在一种可选的实施例中,由于识别过程对字符位置的准确度要求不高,可以通过简单的投影分割法得到文本数据中每个字符的位置,并基于字符位置和排列方向,生成掩码矩阵,并将掩码矩阵的信息添加至原来的第一图像和第二图像中,进一步利用文本识别模型进行处理,增强了模型对于水平方向和竖直方向排列的文本数据的区分能力,使共享的cnn层针对性地学习到适用于不同方向文本的特征信息,最终提升模型的识别效果。
60.例如,仍以水平方向和竖直方向排列的文本数据为例进行说明,如图3所示,数据处理过程可以是通过字符位置来生成掩码矩阵,然后将每张图像与对应的mask在通道维度上拼接,这个四通道的矩阵作为模型的输入。
61.在本技术上述实施例中,基于每个第二字符的位置,生成第二图像对应的第二掩码矩阵包括:对第二图像进行旋转,得到旋转后的图像,其中,旋转后的图像中的第二文本数据的排列方向为第一方向;基于每个第二字符的位置,生成预设矩阵;对预设矩阵进行旋
转,得到第二掩码矩阵。
62.上述步骤中的预设矩阵可以是旋转后的图像对应的掩码矩阵,在本技术实施例中,对于水平方向排列的文本数据,与第一掩码矩阵类似,预设矩阵的值可以从左到右依次增大,且从上到下依次增大。
63.在一种可选的实施例中,对于第二图像,可以将其进行旋转,使文本数据的排列方向与第一图像中相同,然后通过字符位置生成旋转后的图像对应的掩码矩阵,然后通过对生成的掩码矩阵进行旋转,可以得到第二图像对应的掩码矩阵(即上述的第二掩码矩阵)。
64.需要说明的是,第二图像的旋转方向与预设矩阵的旋转方向相反。
65.例如,仍以水平方向和竖直方向排列的文本数据为例进行说明,如图3所示,首先可以将包含有竖直方向排列的文本数据的图像进行旋转,使文本数据变为水平方向排列,然后通过字符位置来生成掩码矩阵,并通过将该掩码矩阵逆时针旋转90度得到原来包含有竖直方向排列的文本数据对应的掩码矩阵,最后将每张图像与对应的mask在通道维度上拼接,这个四通道的矩阵作为模型的输入。
66.如图4所示,对于水平方向排列的文本数据“标准化技术委员会”,其包含8个字,因此,可以生成每个字对应的掩码矩阵,掩码矩阵的值从左到右依次增加,进而得到加入掩码矩阵的图像。需要说明的是,掩码矩阵的大小与字对应区域的大小相同,例如,“标”字对应区域的大小为32*50,则该字对应的掩码矩阵的大小为32*50。如果每个字对应区域的大小均为32*50,则图像对应的掩码矩阵的大小为32*400,也即,图像对应的掩码矩阵的大小与图像大小相同。
67.对于竖直方向排列的文本数据“经济检查大队”,其包含6个字,因此,可以将其旋转为水平方向排列的文本数据,并生成每个字对应的掩码矩阵,掩码矩阵的值从左到右依次增加,进一步将该掩码矩阵逆时针旋转90度,可以得到最终的掩码矩阵,进而得到加入掩码矩阵的图像。
68.在本技术上述实施例中,该方法还包括:获取多个训练图像,其中,每个训练图像中包含的文本数据的排列方向为第一方向或第二方向;利用多个训练图像对初始模型进行训练,得到文本识别模型。
69.上述步骤中的训练数据可以包括不同方向排列的文本数据的图像。
70.在一种可选的实施例中,可以将不同方向排列的文本数据的图像混合,并利用混合后的图像作为训练数据训练模型,在联合训练的过程中,不同方向排列的训练数据可以互相补充,增强编码器的特征提取能力,提高文本识别模型的泛化性和鲁棒性,使文本识别模型的识别效果强于单一方向排列的训练数据训练的模型。
71.例如,仍以水平方向和竖直方向排列的文本数据为例进行说明,对于如图3所示的文本识别模型,可以使用水平方向和竖直方向排列的文本数据混合训练模型,从而得到训练好的文本识别模型。
72.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本技术所必须的。
73.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本技术各个实施例所述的方法。
74.实施例2
75.根据本技术实施例,还提供了一种用于实施上述图像识别方法的图像识别装置,如图5所示,该装置500包括:第一获取模块502和处理模块504。
76.其中,第一获取模块502用于获取第一图像和第二图像,其中,第一图像中包含有第一文本数据,第二图像包含有第二文本数据,第一文本数据的排列方向为第一方向,第二文本数据的排列方向为第二方向;处理模块504用于利用文本识别模型对第一图像和第二图像进行处理,得到第一图像的第一识别结果和第二图像的第二识别结果;其中,文本识别模型用于将第一图像和第二图像输入至特征提取模型,得到第一图像的第一特征序列和第二图像的第二特征序列,将第一特征序列输入至第一识别模型,得到第一识别结果,并将第二特征序列输入至第二识别模型,得到第二识别结果。
77.此处需要说明的是,上述第一获取模块502和处理模块504应于实施例1中的步骤s202至步骤s204,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
78.在本技术上述实施例中,该装置还包括:第二获取模块、生成模块和拼接模块。
79.其中,第二获取模块用于获取第一图像中每个第一字符的位置,以及第二图像中每个第二字符的位置;生成模块用于基于每个第一字符的位置,生成第一图像对应的第一掩码矩阵,并基于每个第二字符的位置,生成第二图像对应的第二掩码矩阵,其中,第一掩码矩阵用于表征第一文本数据的排列方向,第二掩码矩阵用于表征第二文本数据的排列方向;拼接模块用于将第一图像、第一掩码矩阵、第二图像和第二掩码矩阵进行拼接,得到输入矩阵;处理模块还用于利用文本识别模型对输入矩阵进行处理,得到第一识别结果和第二识别结果。
80.在本技术上述实施例中,生成模块包括:第一旋转单元、生成单元和第二旋转单元。
81.其中,第一旋转单元用于对第二图像进行旋转,得到旋转后的图像,其中,旋转后的图像中的第二文本数据的排列方向为第一方向;生成单元用于基于每个第二字符的位置,生成预设矩阵;第二旋转单元用于对预设矩阵进行旋转,得到第二掩码矩阵。
82.在本技术上述实施例中,该装置还包括:第三获取模块和训练模块。
83.其中,第三获取模块用于获取多个训练图像,其中,每个训练图像中包含的文本数据的排列方向为第一方向或第二方向;训练模块用于利用多个训练图像对初始模型进行训练,得到文本识别模型。
84.需要说明的是,本技术上述实施例中涉及到的优选实施方案与实施例1提供的方案以及应用场景、实施过程相同,但不仅限于实施例1所提供的方案。
85.实施例3
86.根据本技术实施例,还提供了一种图像识别方法。
87.图6是根据本技术实施例的另一种图像识别方法的流程图。如图6所示,该方法包括如下步骤:
88.步骤s602,获取第一图像和第二图像,其中,第一图像中包含有第一文本数据,第二图像包含有第二文本数据,第一文本数据的排列方向为第一方向,第二文本数据的排列方向为第二方向;
89.上述步骤中的第一图像和第二图像可以是指从待处理图像中提取出的文本图像,两个图像中包含的文本按照不同方向进行排列,排列方向分别为第一方向和第二方向。该待处理图像可以是在线购物平台的辅助设计领域中,商家上传的模板图像,也可以是saas服务中接收到的用户上传的图像,但不仅限于此。由于实际应用中,待处理图像中的文字通常是按照水平方向进行排列,也会出现按照竖直方向进行排列的情况,在本技术实施例中,以第一方向为水平方向,第二方向为竖直方向为例进行说明,但不仅限于此。
90.步骤s604,对第一图像和第二图像进行特征提取,得到第一图像的第一特征序列和第二图像的第二特征序列;
91.步骤s606,基于第一特征序列,获取第一图像的第一识别结果;
92.步骤s608,基于第二特征序列,获取第二图像的第二识别结果。
93.在本技术上述实施例中,对第一图像和第二图像进行特征提取,得到第一图像的第一特征序列和第二图像的第二特征序列包括:将第一图像和第二图像输入至共享的特征提取模型中,得到第一特征序列和第二特征序列。
94.可选地,特征提取模型包括:多个依次连接的卷积层、激励层和池化层,其中,最后一个池化层的参数为2*1。对于特征提取模型,其主要结构可以是在vgg16(visual geometry group network)的基础上修剪得到,用于提取文本行图像的特征信息,用于后续的识别。
95.在本技术上述实施例中,基于第一特征序列,获取第一图像的第一识别结果包括:将第一特征序列输入至第一识别模型中,得到第一识别结果。
96.可选地,第一识别模型包括:卷积神经网络、双向长短期记忆神经网络和联结主义时间分类。对于第一识别模型,其结构可以由cnn、blstm和ctc组成。
97.在本技术上述实施例中,基于第二特征序列,获取第二图像的第二识别结果包括:将第二特征序列输入至第二识别模型中,得到第二识别结果。
98.可选地,第二识别模型包括:卷积神经网络、双向长短期记忆神经网络和联结主义时间分类。对于第二识别模型,其结构可以与第一识别模型相同,由cnn、blstm和ctc组成。
99.在本技术上述实施例中,在对第一图像和第二图像进行特征提取之前,该方法还包括:获取第一图像中每个第一字符的位置,以及第二图像中每个第二字符的位置;基于每个第一字符的位置,生成第一图像对应的第一掩码矩阵,并基于每个第二字符的位置,生成第二图像对应的第二掩码矩阵,其中,第一掩码矩阵用于表征第一文本数据的排列方向,第二掩码矩阵用于表征第二文本数据的排列方向;将第一图像、第一掩码矩阵、第二图像和第二掩码矩阵进行拼接,得到输入矩阵;对输入矩阵进行特征提取,得到第一特征序列和第二特征序列。
100.可选地,上述步骤中的第一掩码矩阵和第二掩码矩阵可以是非对称矩阵能够标识一定的方向信息,掩码矩阵的值只与文本数据中字符位置和排列方向有关,在本技术实施例中,对于水平方向排列的文本数据,第一掩码矩阵的值从左到右依次增大,且从上到下依次增大。因此,基于掩码矩阵的数值大小,可以确定文本数据的排列方向。
101.在本技术上述实施例中,基于每个第二字符的位置,生成第二图像对应的第二掩码矩阵包括:对第二图像进行旋转,得到旋转后的图像,其中,旋转后的图像中的第二文本数据的排列方向为第一方向;基于每个第二字符的位置,生成预设矩阵;对预设矩阵进行旋转,得到第二掩码矩阵。
102.在本技术上述实施例中,该方法还包括:获取多个训练图像,其中,每个训练图像中包含的文本数据的排列方向为第一方向或第二方向;利用多个训练图像对特征提取模型、第一识别模型和第二识别模型进行训练,得到文本识别模型。
103.需要说明的是,本技术上述实施例中涉及到的优选实施方案与实施例1提供的方案以及应用场景、实施过程相同,但不仅限于实施例1所提供的方案。
104.实施例4
105.根据本技术实施例,还提供了一种图像识别系统,包括:
106.处理器;以及
107.存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:获取第一图像和第二图像,其中,第一图像中包含有第一文本数据,第二图像包含有第二文本数据,第一文本数据的排列方向为第一方向,第二文本数据的排列方向为第二方向;利用文本识别模型对第一图像和第二图像进行处理,得到第一图像的第一识别结果和第二图像的第二识别结果;其中,文本识别模型用于将第一图像和第二图像输入至特征提取模型,得到第一图像的第一特征序列和第二图像的第二特征序列,将第一特征序列输入至第一识别模型,得到第一识别结果,并将第二特征序列输入至第二识别模型,得到第二识别结果。
108.需要说明的是,本技术上述实施例中涉及到的优选实施方案与实施例1提供的方案以及应用场景、实施过程相同,但不仅限于实施例1所提供的方案。
109.实施例5
110.本技术的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
111.可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
112.在本实施例中,上述计算机终端可以执行图像识别方法中以下步骤的程序代码:获取第一图像和第二图像,其中,第一图像中包含有第一文本数据,第二图像包含有第二文本数据,第一文本数据的排列方向为第一方向,第二文本数据的排列方向为第二方向;利用文本识别模型对第一图像和第二图像进行处理,得到第一图像的第一识别结果和第二图像的第二识别结果;其中,文本识别模型用于将第一图像和第二图像输入至特征提取模型,得到第一图像的第一特征序列和第二图像的第二特征序列,将第一特征序列输入至第一识别模型,得到第一识别结果,并将第二特征序列输入至第二识别模型,得到第二识别结果。
113.可选地,图7是根据本技术实施例的一种计算机终端的结构框图。如图7所示,该计
internet devices,mid)、pad等终端设备。图7其并不对上述电子装置的结构造成限定。例如,计算机终端a还可包括比图7中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图7所示不同的配置。
122.本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-only memory,rom)、随机存取器(random access memory,ram)、磁盘或光盘等。
123.实施例6
124.本技术的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例所提供的图像识别方法所执行的程序代码。
125.可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
126.可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取第一图像和第二图像,其中,第一图像中包含有第一文本数据,第二图像包含有第二文本数据,第一文本数据的排列方向为第一方向,第二文本数据的排列方向为第二方向;利用文本识别模型对第一图像和第二图像进行处理,得到第一图像的第一识别结果和第二图像的第二识别结果;其中,文本识别模型用于将第一图像和第二图像输入至特征提取模型,得到第一图像的第一特征序列和第二图像的第二特征序列,将第一特征序列输入至第一识别模型,得到第一识别结果,并将第二特征序列输入至第二识别模型,得到第二识别结果。
127.可选的,上述存储介质还被设置为存储用于执行以下步骤的程序代码:获取第一图像中每个第一字符的位置,以及第二图像中每个第二字符的位置;基于每个第一字符的位置,生成第一图像对应的第一掩码矩阵,并基于每个第二字符的位置,生成第二图像对应的第二掩码矩阵,其中,第一掩码矩阵用于表征第一文本数据的排列方向,第二掩码矩阵用于表征第二文本数据的排列方向;将第一图像、第一掩码矩阵、第二图像和第二掩码矩阵进行拼接,得到输入矩阵;利用文本识别模型对输入矩阵进行处理,得到第一识别结果和第二识别结果。
128.可选的,上述存储介质还被设置为存储用于执行以下步骤的程序代码:对第二图像进行旋转,得到旋转后的图像,其中,旋转后的图像中的第二文本数据的排列方向为第一方向;基于每个第二字符的位置,生成预设矩阵;对预设矩阵进行旋转,得到第二掩码矩阵。
129.可选的,上述存储介质还被设置为存储用于执行以下步骤的程序代码:获取多个训练图像,其中,每个训练图像中包含的文本数据的排列方向为第一方向或第二方向;利用多个训练图像对初始模型进行训练,得到文本识别模型。
130.可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取第一图像和第二图像,其中,第一图像中包含有第一文本数据,第二图像包含有第二文本数据,第一文本数据的排列方向为第一方向,第二文本数据的排列方向为第二方向;对第一图像和第二图像进行特征提取,得到第一图像的第一特征序列和第二图像的第二特征序列;基于第一特征序列,获取第一图像的第一识别结果;基于第二特征序列,获取第二图像的第二识别结果。
131.上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
132.在本技术的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
133.在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
134.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
135.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
136.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
137.以上所述仅是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜