[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN110378338B - 一种文本识别方法、装置、电子设备和存储介质 - Google Patents

一种文本识别方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN110378338B
CN110378338B CN201910625593.3A CN201910625593A CN110378338B CN 110378338 B CN110378338 B CN 110378338B CN 201910625593 A CN201910625593 A CN 201910625593A CN 110378338 B CN110378338 B CN 110378338B
Authority
CN
China
Prior art keywords
corner
text
detection model
region
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910625593.3A
Other languages
English (en)
Other versions
CN110378338A (zh
Inventor
王斌
王世卿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910625593.3A priority Critical patent/CN110378338B/zh
Publication of CN110378338A publication Critical patent/CN110378338A/zh
Application granted granted Critical
Publication of CN110378338B publication Critical patent/CN110378338B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • G06V10/243Aligning, centring, orientation detection or correction of the image by compensating for image skew or non-uniform image deformations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/255Detecting or recognising potential candidate objects based on visual cues, e.g. shapes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Abstract

本申请实施例公开了一种文本识别方法、装置、电子设备和存储介质;由上可知,本实施例在获取到包含有文本信息的待识别图像后,可以确定文本信息所在区域的顶点,得到多个角点,然后根据得到的多个角点在待识别图像中绘制多边形,并对该多边形中的文本信息进行识别,得到识别结果;该方案可以适用于各类场景,提高待识别对象不规范(如待识别的文本区域倾角水平或畸变较大)情况下的识别效果。

Description

一种文本识别方法、装置、电子设备和存储介质
技术领域
本发明涉及通信技术领域,具体涉及一种文本识别方法、装置、电子设备和存储介质。
背景技术
通用光学字符识别(OCR,Optical Character Recognition)是现有较为常用的文本识别技术,它可以支持多场景下的文本检测和识别,比如可以将图像、卡片或其他待识别对象中的文字信息抽取出来,然后将这些文字信息以文本的形式进行展现,以方便用户进行编辑和复制。其中,在抽取文字信息时,一般都会通过矩形框来从待识别对象中确定待识别区域,然后,再对待识别区域中的文字信息进行提取,以进行识别。
但是,在对现有技术的研究和实践过程中,本发明的发明人发现,现有方案只适用于文本的倾角水平和图像畸变不大的情况,而对于一些待识别对象不规范的情况,比如倾角水平较大或图像畸变较大(如透视或仿射变换程度较大)的情况,则识别效果较差,甚至无法识别。
发明内容
本申请实施例提供一种文本识别方法、装置、电子设备和存储介质,可以适用于各类场景,提高待识别对象不规范(如待识别的文本区域倾角水平或畸变较大)情况下的识别效果。
本申请实施例提供一种文本识别方法,包括:
获取待识别图像,所述待识别图像包含文本信息;
检测所述文本信息所在区域的顶点,得到多个角点;
根据得到的多个角点在所述待识别图像中绘制多边形;
对所述多边形中的文本信息进行识别,得到识别结果。
相应的,本申请实施例还提供一种文本识别装置,包括:
获取单元,用于获取待识别图像,所述待识别图像包含文本信息;
检测单元,用于检测所述文本信息所在区域的顶点,得到多个角点;
绘制单元,用于根据得到的多个角点在所述待识别图像中绘制多边形;
识别单元,用于对所述多边形中的文本信息进行识别,得到识别结果。
可选的,在本申请实施例的一些实施例中,所述检测单元包括区域识别子单元和角点确定子单元,如下:
所述区域识别子单元,用于利用训练后角点检测模型,在所述待识别图像中对所述文本信息所在区域进行识别,得到文本区域;
所述角点确定子单元,用于确定所述文本区域包络框的顶点,得到多个角点。
可选的,在本申请实施例的一些实施例中,所述区域识别子单元,具体用于利用训练后角点检测模型对所述待识别图像进行特征提取,得到特征图,基于所述特征图,筛选像素类型符合文本信息所在区域像素类型的像素点,得到文本区域。
可选的,在本申请实施例的一些实施例中,所述训练后角点检测模型包括残差模块,所述残差模块的主分支为消防模块,所述区域识别子单元,具体用于通过所述消防模块的压缩层对所述待识别图像进行通道压缩和降维操作,得到压缩后结果,利用所述消防模块的扩张层对所述压缩后结果进行不同尺度的特征提取,得到特征图。
可选的,在本申请实施例的一些实施例中,所述文本识别装置还可以包括采集单元和训练单元,如下:
所述采集单元,用于采集多张标注有文本区域角点的图像样本;
所述训练单元,用于采用角点检测模型对所述图像样本中文本信息所在区域进行识别,得到预测区域,确定所述预测区域包络框的顶点,得到预测区域角点,根据所述预测区域角点和标注的文本区域角点对所述角点检测模型进行收敛,得到训练后角点检测模型。
可选的,在本申请实施例的一些实施例中,所述训练单元,具体用于基于预测区域角点与标注的文本区域角点之间的距离构建损失函数,利用所述损失函数对所述角点检测模型进行收敛,得到训练后角点检测模型。
可选的,在本申请实施例的一些实施例中,所述训练单元,具体用于从标注的文本区域角点中确定当前需要处理的角点,得到当前标注角点,计算所述当前标注角点与各个预测区域角点之间的距离,选择距离最短的预测区域角点作为当前标注角点的目标角点,将所述当前标注角点和目标角点作为一对角点对,并返回执行所述从标注的文本区域角点中确定当前需要处理的角点的步骤,直至所有标注的文本区域角点均处理完毕,基于得到的所有角点对构建损失函数;利用所述损失函数调整所述角点检测模型的网络参数,使得所述角点对中的当前标注角点朝目标角点的方向进行位移,以减小所述角点对中的当前标注角点与目标角点之间的距离。
可选的,在本申请实施例的一些实施例中,所述文本识别装置还可以包括压缩单元,如下:
所述压缩单元,用于采用神经网络压缩算法对所述训练后角点检测模型进行压缩,得到压缩后角点检测模型;
所述识别单元,具体用于利用压缩后角点检测模型,在所述待识别图像中对所述文本信息所在区域进行识别,得到文本区域。
可选的,在本申请实施例的一些实施例中,所述压缩单元,具体用于对所述训练后角点检测模型进行剪枝,对剪枝后的角点检测模型进行量化处理,对量化处理后的角点检测模型进行霍夫曼编码,得到压缩后角点检测模型。
可选的,在本申请实施例的一些实施例中,所述绘制单元,具体用于确定当前角点,并确定所述当前角点在预设方向上的相邻点,在所述当前角点与相邻点之间绘制连接线,以作为多边形的边,返回执行所述确定当前角点的步骤,直至遍历所有角点。
可选的,在本申请实施例的一些实施例中,所述绘制单元,具体用于在各个角点之间绘制连接线,从连接线组成的封闭区域中选择面积最大的封闭区域,得到多边形。
相应的,本申请实施例还提供一种电子设备,包括存储器和处理器;所述存储器存储有应用程序,所述处理器用于运行所述存储器内的应用程序,以执行本申请实施例提供的任一种文本识别方法中的操作。
此外,本申请实施例还提供一种存储介质,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本申请实施例提供的任一种文本识别方法中的步骤。
本申请实施例在获取到包含有文本信息的待识别图像后,可以检测文本信息所在区域的顶点,得到多个角点,然后根据得到的多个角点在待识别图像中绘制多边形,并对该多边形中的文本信息进行识别,得到识别结果;由于该方案可以基于角点来绘制多边形,并据此来确定待识别的文本区域,因此,相对于现有只能通过标准矩形框来从待识别图像中确定文本区域的方案而言,本方案所得到的多边形即便在待识别的文本区域的倾角水平或畸变较大(如透视或仿射变换程度较大)的情况下,也可以与该文本区域较为契合,大大改善待识别的文本区域不规范情况下的识别效果;而且,由于该方案不受倾角水平或畸变大小的限制,所以可以适用于各类场景,较现有方案而言,其灵活性和适用性也有所提高。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的文本识别方法的场景示意图;
图2是本申请实施例提供的文本识别方法的流程图;
图3是本申请实施例提供的训练后角点检测模型的结构示意图;
图4是本申请实施例提供的残差模块的结构示意图;
图5是本申请实施例提供训练后角点检测模型的另一结构示意图;
图6是本申请实施例提供的消防模块(fire)的结构示意图;
图7是本申请实施例提供的角点位移示意图;
图8是本申请实施例提供的角点检测模型的结构示意图;
图9是本申请实施例提供的文本识别方法的另一流程图;
图10是本申请实施例提供的文本识别方法的场景示意图;
图11是本申请实施例提供的文本识别方法的另一场景示意图;
图12是本申请实施例提供的文本识别方法的又一场景示意图;
图13是本申请实施例提供的文本识别装置的结构示意图;
图14是本申请实施例提供的文本识别装置的另一结构示意图;
图15是本申请实施例提供的文本识别装置的又一结构示意图;
图16是本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请实施例提供一种文本识别方法、装置、电子设备和存储介质。该文本识别装置可以集成在电子设备中,该电子设备可以是服务器,也可以是终端等设备。
例如,如图1所示,电子设备在获取到包含文本信息的待识别图像后,可以检测该文本信息所在区域的顶点,得到多个角点,然后,根据这些角点在该待识别图像中绘制多边形,并对该多边形中的文本信息进行识别,以得到识别结果。
其中,检测角点的方式可以有多种,比如,可以利用训练后角点检测模型在该待识别图像中对该文本信息所在区域进行识别,以得到文本区域,然后,确定该文本区域包络框的顶点,便可得到所需的角点,等等。
以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
本实施例将从文本识别装置的角度进行描述,该文本识别装置具体可以集成在服务器或终端等电子设备中,该终端可以包括个人计算机(PC,Personal Computer)、手机、平板电脑、移动电脑、或穿戴式智能移动设备等。
一种文本识别方法,包括:获取包含文本信息的待识别图像,检测该文本信息所在区域的顶点,得到多个角点,根据得到的多个角点在该待识别图像中绘制多边形,并对该多边形中的文本信息进行识别,得到识别结果。
如图2所示,该文本识别方法的具体流程可以如下:
101、获取待识别图像,其中,该待识别图像包含文本信息。
例如,具体可以由该文本识别装置通过其自身的摄像部件如摄像头对待识别对象进行拍摄或图像扫描,来获取该待识别图像;或者,也可以接收其他设备发送的待识别图像,即由其他设备对待识别对象进行图像采集后,将采集到的图像作为待识别图像提供给该文本识别装置,等等。
其中,待识别图像指的是对待识别对象进行图像采集后所得到的图像。该待识别对象可以包括发票、卡片、名片、便签纸、笔记本、以及文件等需要进行文本识别的物体。
可选的,为了提高检测的准确性,还可以对采集到的图像进行预处理,再将处理后的图像作为待识别图像。
其中,该预处理可以包括旋转、翻转和/或裁剪等处理。
102、检测该文本信息所在区域的顶点,得到多个角点;例如,具体可以如下:
利用训练后角点检测模型,在该待识别图像中对该文本信息所在区域进行识别,得到文本区域,确定该文本区域包络框的顶点,得到多个角点。
例如,可以利用训练后角点检测模型对该待识别图像进行特征提取,得到特征图,然后,基于该特征图筛选像素类型符合文本信息所在区域像素类型的像素点,便可得到文本区域。
其中,该训练后角点检测模型可以由多张标注有文本区域角点的图像样本训练而成,其具体可以为深度卷积神经网络。
对于深度卷积神经网络而言,若需要提高模型的检测效果,则需要加深网络层的深度,但是,随着网络层的加深,特征也会越为抽象,而对于本申请而言,具体实施时,待识别对象往往具有较好的边缘和角点等特征,这些特征一般都属于低级特征(即非高级语义特征),即低层网络层便能提取的特征,所以,为了能够在提高模型检测效果的同时,可以更好地强化低级特征的效果(该训练后角点检测模型的目的是检测到角点),需要将低级特征传播到高层特征图(feature map)上,使得该角点检测模型可以直接学习角点与边缘特性,来直接回归多边形的角点,所以,该训练后角点检测模型可以采用瓶颈(bottleNeck)的结构。该网络结构的网络层数量、以及卷积核大小等参数可以根据实际应用的需求而定。比如,如图3所示,该训练后角点检测模型可以包括残差模块(这里的残差模块指的是利用了残差结构的模块),而每一块残差模块均可以包括主分支和旁支,参见图4。
其中,残差模块的主分支为消防模块(fire),消防模块是压缩网络(SqueezeNet)中所提出的网络结构,是SqueezeNet的基础构建模块,其可以通过减少参数来进行模型压缩。
该残差模块需要将主分支的输出与旁支的输出进行融合,才能得到该残差模块的输出。即每一残差模块的输入经由消防模块处理后,需要将处理后结果与该输入进行融合后,才能得到该残差模块的输出。
例如,参见图3,将待识别图像依次经由卷积层1(Conv1)、激活层(Relu_conv1)和池化层1的处理后,将池化后数据输入消防模块2(fire2)进行处理,然后再将该池化后数据与消防模块2的输出进行融合,将融合后数据作为消防模块3(fire3)的输入,同理,在消防模块3对其输入进行处理后,将消防模块3的输入与消防模块3的输出进行融合,并将融合后数据作为消防模块4(fire4)的输入,依次类推,直至将最后一块消防模块的输出和输入进行融合后,比如将图3中的消防模块9的输出与消防模块9的输如进行融合后,便可得到最终的特征图(即消防模块9输出的特征图),此后,对该消防模块9输出的特征图进行卷积和池化等处理,比如将该消防模块9输出的特征图经由卷积层10(Conv10)、激活层(Relu_conv10)、池化层10和激活函数(softmax)等网络层的处理,以筛选出像素类型符合文本信息所在区域像素类型的像素点,这些像素点所在的区域便为文本区域,最后,确定文本区域包络框的顶点,便可得到多个角点。
需说明的是,为了描述方便,图3中仅仅给出了一残差模块的示例,应当理解的是,图3中的训练后角点检测模型还包括有其他残差模块,比如消防模块3、消防模块4……消防模块9便是其他残差模块的主分支,在此不作赘述。
可选的,为了提高检测的准确性,在将残差模块的主分支输出和旁支进行融合前,还可以对旁支的数据进行卷积处理,然后,再将卷积处理后的数据与主分支输出进行融合,以得到该残差模块的输出。比如,如图5所示,可以在消防模块2、消防模块4、消防模块6和消防模块8等旁支中分别增加一卷积核为1×1的卷积层。当然,除图5中的示例之外,也可以在其他的消防模块或全部消防模块的旁支中增加卷积层,具体可根据实际应用的需求而定,在此不作赘述。
其中,消防模块可以包括压缩层(Squeeze)和扩展层(Expand),比如,该压缩层的卷积核为1×1(即Squeeze 1×1),而扩展层的卷积核可以设置为两种类型:1×1和3×3,为了描述方便,在本申请实施例中,将卷积核为1×1的扩展层称为第一扩展层(即Expand 1×1),将卷积核为3×3的扩展层称为第二扩展层(即Expand 3×3),另外,压缩层和扩展层均采用Relu作为激活函数,比如参见图6,压缩层的激活函数(即激活层)为“Relu_squeeze 1×1”,第一扩展层的激活函数(即激活层)为“Relu_Expand 1×1”,第二扩展层的激活函数(即激活层)为“Relu_Expand 3×1”。
由于1个1x1卷积核的参数是3x3卷积核参数的1/9,因此,采用了该压缩层后,相当于可以将模型尺寸压缩9倍,使得该角点检测模型除了可以适用于服务器等设备之外,也可以适用于移动终端。当然,为了避免模型尺寸压缩后,所得到的特征图的分辨率降低(分辨率越大的特征图可以带来更高的分类精度,因为分辨率越大的输入能够提供的信息就越多),该消防模块中还采用了扩展层——第一扩展层(即Expand 1×1)和第二扩展层(即Expand 3×3),来对压缩层所输出的数据进行不同尺度的特征提取,以增强压缩层所输出的数据中所包含的信息量,然后,再通过连接层(Concat)将第一扩展层的输出和第二扩展层的输出在通道(channel)维度进行连接。
需说明的是,为了保证第一扩展层(1x1卷积核)和第二扩展层(3x3卷积核)具有相同大小的输出,以便进行连接,第二扩展层可以采用1像素的填充值(zero-padding)和步长,在此不作赘述。
基于上面关于消防模块的描述可知,当该训练后角点检测模型包括残差模块,且该残差模块的主分支为消防模块时,步骤“利用训练后角点检测模型对该待识别图像进行特征提取,得到特征图”,可以包括:
通过该消防模块的压缩层对该待识别图像进行通道压缩和降维操作,得到压缩后结果,利用该消防模块的扩张层对该压缩后结果进行不同尺度的特征提取,得到特征图。
可选的,该利用训练后角点检测模型可以由其他设备预先训练而成,并保存至该文本识别装置中,或者,也可以由该文本识别装置自行训练,即在步骤“利用训练后角点检测模型,在所述待识别图像中对所述文本信息所在区域进行识别,得到文本区域”之前,该文本识别方法还可以包括:
(1)采集多张标注有文本区域角点(GroundTruth)的图像样本。
例如,具体可以从图库中获取多张图像,或者,也可以通过该文本识别装置自身的摄像部件如摄像头来采集多张图像,然后,再通过人工对这些图像中的文本区域角点进行标注,将标注后的图像作为图像样本。
其中,文本区域角点指的是文本区域(default boxes)的顶点,比如,参见图7,若文本区域为四边形“mnpq”(图7中的实线框),则文本区域角点为四边形“mnpq”的四个顶点:m、n、p和q。
可选的,为了提高训练样本的质量,在标注之前,还可以对这些图像进行预处理,然后,再对预处理后的图像进行标注,以得到图像样本。
其中,预处理可以包括去重、旋转、翻转和/或裁剪等操作。
(2)采用角点检测模型对该图像样本中文本信息所在区域进行识别,得到预测区域。
例如,具体可以采用角点检测模型对该图像样本进行特征提取,得到特征图,然后,基于该特征图筛选像素类型符合文本信息所在区域像素类型的像素点,便可得到该图像样本的文本区域。为了描述方便,在本申请实施例中将该图像样本的文本区域称为预测区域。
其中,该角点检测模型的网络结构与前面所述的训练后角点检测模型的网络结构相同,即该角点检测模型可以包括残差模块,而每一块残差模块均可以包括主分支和旁支,主分支为消防模块,具体可参见图3~6、以及前面的实施例,在此不作赘述。
(3)确定该预测区域包络框的顶点,得到预测区域角点。
比如,参见图7,若预测区域包络框为四边形“abcd”(图7中的虚线框),则预测区域角点为四边形“abcd”的四个顶点:a、b、c和d。
(4)根据该预测区域角点和标注的文本区域角点对该角点检测模型进行收敛,得到训练后角点检测模型。
例如,可以基于预测区域角点与标注的文本区域角点之间的距离构建损失函数,然后,利用该损失函数对该角点检测模型进行收敛,得到训练后角点检测模型。比如,其收敛方式具体可以如下:
A、从标注的文本区域角点中确定当前需要处理的角点,得到当前标注角点;计算该当前标注角点与各个预测区域角点之间的距离;选择距离最短的预测区域角点作为当前标注角点的目标角点;将该当前标注角点和目标角点作为一对角点对,并返回执行该从标注的文本区域角点中确定当前需要处理的角点的步骤,直至所有标注的文本区域角点均处理完毕;基于得到的所有角点对构建损失函数。
譬如,参见图7,以预测区域角点包括a、b、c和d,标注的角点为m、n、p和q为例,则若当前标注角点为m,则此时可以分别计算m与“a、b、c和d”的之间的距离,由于m与a的距离最短,因此,可以将a作为m的目标角点,然后,将a和m作为一对角点对,并将当前标注角点更新为n,分别计算n与“a、b、c和d”的之间的距离,由于n与b的距离最短,因此,可以将b作为n的目标角点,然后,将b和n也作为一对角点对,并将当前标注角点更新为p,以此类推,最终可以得到四对角点对(a,m)、(b,n)、(c,p)和(d,q),此后,便可以基于这些角点对构建损失函数,比如,该损失函数具体可以如下:
其中,Gm为标注的文本区域角点,Gmx和Gmy分别为角点Gm的横坐标和纵坐标;Pa为预测区域角点,Pax和Pay分别为角点Pa的横坐标和纵坐标。
例如,若以图7中所示的多边形为例,则该损失函数的展开式可以如下:
其中,xm为角点m的横坐标,ym为角点m的纵坐标;xn为角点n的横坐标,yn为角点n的纵坐标;xp为角点p的横坐标,yp为角点p的纵坐标;xq为角点q的横坐标,yq为角点q的纵坐标;xa为角点a的横坐标,ya为角点a的纵坐标;xb为角点b的横坐标,yb为角点b的纵坐标;xc为角点c的横坐标,yc为角点c的纵坐标;xd为角点d的横坐标,yd为角点d的纵坐标。
B、利用该损失函数调整该角点检测模型的网络参数,使得该角点对中的当前标注角点朝目标角点的方向进行位移,以减小该角点对中的当前标注角点与目标角点之间的距离。
也就是说,让当前标注角点与目标角点之间的距离尽可能小(即损失最小),然后再将其对应的梯度反向传播回去,来更新此时角点检测模型的网络权重,以此类推不断迭代优化,最终便可形成训练后角点检测模型。
比如,参见图7,以当前标注角点为m为例,则此时,可以将m朝目标角点a的方向进行位移,使得m与a之间的距离尽可能小(理想状态下是重叠),当m与a之间的距离最小化,则表明完成一次网络参数的调整,当所有标注角点与其目标角点的距离均最小化则表明完成一次角点检测模型的训练。以此类推,角点检测模型经过多次训练后,便可得到训练后角点检测模型。
需说明的是,在本申请实施例中,之所以将当前标注角点m(即标注的角点)朝目标角点a(即预测的角点)的方向进行位移,而不是将目标角点a朝当前标注角点m的方向位移,这是因为,如果预测的角点发生变化,将会对模型中的参数产生较大影响,不利于收敛,而如果只是标注的角点发生变化,则对模型的影响较小,将会大大加快收敛的速度。
可选的,为了使得训练后角点检测模型的尺寸可以更小,以节约计算资源、以及提高计算速度,还可以对训练后角点检测模型进行尺寸压缩;即,在步骤“根据该预测区域角点和标注的文本区域角点对该角点检测模型进行收敛,得到训练后角点检测模型”之后,该文本识别方法还可以包括:
采用神经网络压缩算法对该训练后角点检测模型进行压缩,得到压缩后角点检测模型。
则此时,步骤“利用训练后角点检测模型,在该待识别图像中对该文本信息所在区域进行识别,得到文本区域”可以包括:利用压缩后角点检测模型,在该待识别图像中对该文本信息所在区域进行识别,得到文本区域。
其中,神经网络压缩算法可以根据实际应用的需求而定,比如,可以采用DW(Depthwise)卷积与PW(Pointwise)卷积等,其中,DW卷积与PW卷积合起来被称作深度可分离卷积(Depthwise Separable Convolution),其可以降低模型推断(inference)的耗时,使该模型更好的应用于移动终端。
其中,压缩方式可以包括剪枝(Network Pruning)、量化处理和霍夫曼编码(Huffman Coding)等操作,即步骤“采用神经网络压缩算法对该训练后角点检测模型进行压缩,得到压缩后角点检测模型”可以包括:
对该训练后角点检测模型进行剪枝,对剪枝后的角点检测模型进行量化处理,对量化处理后的角点检测模型进行霍夫曼编码,得到压缩后角点检测模型。其中,剪枝、量化和霍夫曼编码的概念可以如下:
剪枝:将部分很小的(认为不重要的)权值设为0(由于卷积神经网络是由一层一层的节点通过边连接而成的,而每个边上都会有权重,所以,当发现某些边上的权重很小时,便可以认为这样的边不重要,进而可以去掉这些边),使得权值矩阵可以使用存储稀疏矩阵的压缩存储方式存储,例如CSR(Compressed Sparse Row)或CSC(Compressed SparseColumn)等。
量化:一般而言,神经网络模型的参数都是用的32bit长度的浮点型数表示,实际上不需要保留那么高的精度,可以通过量化,比如用0~255表示原来32个bit所表示的精度,通过牺牲精度来降低每一个权值所需要占用的空间,所以,通过将剪枝后保留的权值进行量化,使剪枝后保留的权值共享一些的使用一些值,可以减小保存权值使用的空间,进一步压缩所需要的存储空间。
霍夫曼编码:在计算机数据处理中,霍夫曼编码使用变长编码表对源符号(如文件中的一个字母)进行编码,其中变长编码表是通过一种评估来源符号出现机率的方法得到的,出现机率高的字母使用较短的编码,反之出现机率低的则使用较长的编码,这便使编码之后的字符串的平均长度、期望值降低,从而达到无损压缩数据的目的,所以,本实施例通过对量化处理后的角点检测模型进行霍夫曼编码,可以减小数据的保存需要的存储空间。
103、根据得到的多个角点在该待识别图像中绘制多边形。
其中,根据得到的多个角点在该待识别图像中绘制多边形的方式可以有多种,比如,具体可以如下:
第一种方式:
确定当前角点,并确定所述当前角点在预设方向上的相邻点,在该当前角点与相邻点之间绘制连接线,以作为多边形的边,返回执行该确定当前角点的步骤,直至遍历所有角点。
其中,该预设方向可以根据实际应用的需求而定,比如,可以设置为顺时针方向或逆时针方向,等等。
第二种方式:
在各个角点之间绘制连接线,从连接线组成的封闭区域中选择面积最大的封闭区域,得到多边形。
当然,还可以采用其他的绘制方式,在此不作赘述。
可选的,除了可以根据这些角点绘制成一个多边形之外,也可以绘制成多个多边形,绘制的多个多边形可以彼此相同,也可以彼此不同。
比如,可以按照预设策略对这些角点进行分组,比如根据这些角点所属的包络框进行分组(即将属于同一包络框的角点作为同一组),得到多个角点组,然后,根据每一角点组中的角点在该待识别图像中绘制多边形,便可得到多个多边形。
其中,绘制多边形时所依据的角点即为多边形的顶点,该绘制成的多边形可以为三角形、四边形、五边形或六边形等,在此不再赘述。
104、对该多边形中的文本信息进行识别,得到识别结果。
例如,具体可以采用文本识别算法对该多边形中的文本信息进行识别,得到识别结果。
其中,该文本识别算法可以根据实际应用的需求而定,比如,具体可以采用OCR对该多边形中的文本信息进行识别,得到识别结果,等等。
由上可知,本实施例在获取到包含有文本信息的待识别图像后,可以检测文本信息所在区域的顶点,得到多个角点,然后根据得到的多个角点在待识别图像中绘制多边形,并对该多边形中的文本信息进行识别,得到识别结果;由于该方案可以基于角点来绘制多边形,并据此来确定待识别的文本区域,因此,相对于现有只能通过标准矩形框来从待识别图像中确定文本区域的方案而言,本方案所得到的多边形即便在待识别的文本区域的倾角水平或畸变较大(如透视或仿射变换程度较大)的情况下,也可以与该文本区域较为契合,大大改善待识别的文本区域不规范情况下的识别效果;而且,由于该方案不受倾角水平或畸变大小的限制,所以可以适用于各类场景,较现有方案而言,其灵活性和适用性也有所提高。
根据前面实施例所描述的方法,以下将举例作进一步详细说明。
在本实施例中,将以该文本识别装置具体集成在电子设备中为例进行说明。
(一)角点检测模型的训练;
如图3、4、5、6和8所示,该角点检测模型可以包括残差模块,每一块残差模块均可以包括主分支和旁支,主分支为消防模块,消防模块可以包括压缩层和扩展层,压缩层的卷积核可以设置为1×1(即Squeeze 1×1),而扩展层的卷积核可以设置为1×1(即Expand 1×1)和3×3(即Expand 3×3),另外,压缩层和扩展层均采用Relu作为激活函数,具体可参见前面的实施例,在此不作赘述。其中,该角点检测模型的训练过程具体可以如下:
首先,电子设备可以采集多张图像,比如从图库或网络中等获取多张包含有文本信息的图像,比如对名片、发票或便签纸等采集后所得到的图像,然后对这些图像进行预处理,比如进行去重、裁剪、旋转和/或翻转等操作,然后,在这些预处理后的图像中,标注出文本信息所在区域(即文本区域)的角点,即可得到多张标注有文本区域角点的图像样本。
其次,参见图8,电子设备可以将图像样本输入预设的角点检测模型,依次经由卷积层1(Conv1)和激活层(Relu_conv1)处理后,由池化层1进行该处理后数据进行池化处理,然后,再将池化后数据输入至消防模块2(fire2),由消防模块2的压缩层对该池化后数据进行通道压缩和降维操作,以得到压缩后结果,再然后,利用该消防模块2的扩张层对该压缩后结果进行不同尺度的特征提取,将提取到的特征与消防模块2的输入(即池化后数据)进行融合,便可得到消防模块2的输出——消防模块2输出的特征图。
类似的,将消防模块2输出的特征图作为消防模块3的输入,由消防模块3的压缩层对该消防模块2输出的特征图进行通道压缩和降维操作,以得到压缩后结果,再然后,利用该消防模块3的扩张层对该压缩后结果进行不同尺度的特征提取,并将提取到的特征与消防模块3的输入(即消防模块2输出的特征图)进行融合,便可得到消防模块3的输出——消防模块3输出的特征图;依次类推,将该消防模块3输出的特征图作为消防模块4的输入,继续进行处理,直至将消防模块9的输出与消防模块9的输如进行融合后,便可得到消防模块9输出的特征图。
此后,可以将消防模块9输出的特征图经由卷积层10(Conv10)、激活层(Relu_conv10)、池化层10和激活函数(softmax)等网络层的处理,以筛选出像素类型符合文本信息所在区域像素类型的像素点,这些像素点所在的区域便为预测区域,最后,确定预测区域包络框的顶点,便可得到预测区域角点;比如,参见图7,若预测区域包络框为四边形“abcd”,则预测区域角点为四边形“abcd”的四个顶点为:a、b、c和d。
再者,在得到预测区域角点后,电子设备便可以根据该预测区域角点和标注的文本区域角点对该角点检测模型进行收敛,以得到训练后角点检测模型。
比如,电子设备可以从标注的文本区域角点中确定当前需要处理的角点,得到当前标注角点,比如图7中的标注的文本区域角点“m”;然后,计算该当前标注角点与各个预测区域角点之间的距离,选择距离最短的预测区域角点作为当前标注角点的目标角点,并将该当前标注角点和目标角点作为一对角点对,比如由于图7中预测区域角点“a”与“m”距离最短,所以,可以将“a”和“m”作为一角点对;此后,可以将当前需要处理的角点更新为下一个文本区域角点(即返回执行该从标注的文本区域角点中确定当前需要处理的角点的步骤,),比如“n”,并依照上述方法找到可以与“n”作为角点对的预测区域角点,以此类推,直至为所有标注的文本区域角点均找到可以与其建立角点对的预测区域角点为止;此后,便可以这些角点对构建损失函数(loss),比如,该损失函数具体可以如下:
其中,Gm为标注的文本区域角点,Gmx和Gmy分别为角点Gm的横坐标和纵坐标;Pa为预测区域角点,Pax和Pay分别为角点Pa的横坐标和纵坐标。
最后,电子设备可以利用该损失函数,对该角点检测模型进行收敛,比如,可以利用该损失函数调整该角点检测模型的网络参数,使得该角点对中的当前标注角点朝目标角点的方向进行位移,如将m朝目标角点a的方向进行位移,并尽可能靠近a,参见图7。当m与a之间的距离最小化,则表明完成一次网络参数的调整,当所有标注角点与其目标角点的距离均最小化则表明完成一次角点检测模型的训练。
以此类推,采用大量图像样本对该角点检测模型进行多次训练后,便可得到训练后角点检测模型。
可选的,为了使得训练后角点检测模型的尺寸可以更小,以节约计算资源、以及提高计算速度,还可以对训练后角点检测模型进行尺寸压缩,比如,可以对该训练后角点检测模型进行剪枝,对剪枝后的角点检测模型进行量化处理,对量化处理后的角点检测模型进行霍夫曼编码,得到压缩后角点检测模型,具体可参见前面的实施例,在此不作赘述。
(二)通过该训练后角点检测模型,便可以对待识别图像进行文本识别。
例如,如图9所示,该文本识别方法的具体流程可以如下:
201、电子设备获取待识别图像,其中,该待识别图像包含文本信息。
例如,电子设备可以调用摄像进程,通过该摄像进程启动自身的摄像头对待识别对象,如快递单、发票、卡片、名片或便签纸等进行拍摄,得到待识别图像。
又例如,也可以由其他设备对待识别对象,如发票、卡片、名片或便签纸等进行图像采集后,将采集到的图像作为待识别图像提供给该电子设备,等等。
可选的,为了可以更好地对待识别图像进行识别,还可以对采集到的图像进行预处理,比如进行旋转、翻转和/或裁剪等处理后,再将处理后的图像作为待识别图像,在此不作赘述。
202、电子设备利用训练后角点检测模型(或压缩后角点检测模型),在该待识别图像中对该文本信息所在区域进行识别,得到文本区域。
例如,电子设备通过训练后角点检测模型(或压缩后角点检测模型)中消防模块的压缩层,对该待识别图像进行通道压缩和降维操作,得到压缩后结果,然后,利用该消防模块的扩张层对该压缩后结果进行不同尺度的特征提取,得到特征图,以此类推,经过多个消防模块的处理后,基于最后一个消防模块的特征图,筛选出像素类型符合文本信息所在区域像素类型的像素点,便可得到文本区域。
比如,参见图10,在对名片进行图像采集,以得到待识别图像后,可以将待识别图像导入至训练后角点检测模型中进行检测,以确定该“名片”图像中文本信息所在的区域,得到如图10所示的文本区域(斜线填充部分)。
又比如,参见图11,在对便签纸进行图像采集,以得到待识别图像后,可以将待识别图像导入至训练后角点检测模型中进行检测,以确定该“便签纸”图像中文本信息,如“我出去一下,晚点回来冰箱里有龟苓膏哦^^”所在的区域,便可得到如图11所示的文本区域(斜线填充部分),等等。
可选的,该文本区域也可以是多个,比如,如图12所示,在“报销混贴发票”的场景下,在对这些发票进行图像采集以得到待识别图像后,可以将待识别图像导入训练后角点检测模型中进行检测,以确定发票(即文本信息,因为发票中包含有文本信息)所在的区域,由于存在有多张发票,因此,可以得到多个文本区域。
203、电子设备通过训练后角点检测模型(或压缩后角点检测模型)确定该文本区域包络框的顶点,得到多个角点。
比如,参见图10,若文本区域包络框为四边形,则角点为该四边形的四个顶点:A1、B1、C1和D1。
又比如,参见图11,若文本区域包络框为六边形,则角点为六边形的四个顶点:A2、B2、C2、D2、E2和F2。
可选的,若存在多个文本区域,则此时也可以得到多组角点。比如,参见图12,由于存在有三个文本区域,因此,最终可以得到三组角点,具体如下:
对于第一个文本区域,其所对应的角点为:A3、B3、C3和D3,因此,可以将A3、B3、C3和D3作为第一组角点。
对于第二个文本区域,其所对应的角点为:A4、B4、C4和D4,因此,可以将A4、B4、C4和D4作为第二组角点。
对于第三个文本区域,其所对应的角点为:A5、B5、C5和D5,因此,可以将A5、B5、C5和D5作为第三组角点。
204、电子设备通过训练后角点检测模型(或压缩后角点检测模型),根据得到的多个角点在该待识别图像中绘制多边形。
例如,以图10为例,电子设备可以确定当前角点如“A1”,在预设方向上,选择与A1最为接近的角点作为“A1”的相邻带你,比如,由于在顺时针方向上,“A1”与“B1”最为接近,因此,可以将“B1”作为该当前角点“A1”的相邻点,再然后,在该当前角点“A1”与相邻点“B1”之间绘制连接线,以作为多边形的边;此后,将当前当前角点更新为“B1”,由于在顺时针方向上,“B1”与“C1”最为接近,因此,可以将“C1”作为该当前角点“B1”的相邻点,并在“B1”与“C1”之间绘制连接线,以此类推,直至遍历所有角点,便可得到该多边形“A1B1C1D1”。
其中,可以通过计算在预设方向上,当前角点与其他角点之间的距离来确定与当前角点最为接近的其他角点,距离越短则越为接近。其中,这里所说的距离,指的是当前角点与其他角点之间“文本区域包络框”的长度,比如,图10中角点“A1”与“B1”之间的距离为线段“A1B1”,而“A1”与“C1”之间的距离为线段“A1B1”与线段“B1C1”的和,等等,在此不作赘述。
又例如,除了上述绘制多边形的方式之外,还可以采用其他的方式,比如,可以在各个角点之间绘制连接线,然后,从连接线组成的封闭区域中选择面积最大的封闭区域,便可得到该多边形等等。
可选的,对于存在有多组角点的情况,则可以基于每一组角点分别绘制多边形,比如,如图12所示,若在步骤203中,得到三组角点:(A3,B3、C3,D3)、(A4,B4、C4,D4)和(A5,B5、C5,D5),则此时,电子设备可以基于(A3,B3、C3,D3)绘制多边形“A3B3C3D3”,基于(A4,B4、C4,D4)绘制多边形“A4B4C4D4”,以及基于(A5,B5、C5,D5)绘制另一多边形“A5B5C5D5”。
205、电子设备采用文本识别算法对该多边形中的文本信息进行识别,得到识别结果。
其中,文本识别算法可以根据实际应用的需求而定,例如,电子设备具体可以采用OCR对该多边形中的文本信息进行识别,得到识别结果,等等。
比如,如图10所示,此时便可以识别出名片中的文本信息,比如公司名是“tence”,姓名是“李四”,所属部门是“知识产权部”,等等。
又比如,如图11所示,此时便可以识别出便签中的文本信息“我出去一下,晚点回来冰箱里有龟苓膏哦,嘿嘿^^”,等等。
由上可知,本实施例在获取到包含有文本信息的待识别图像后,可以通过训练后角点检测模型对该待识别图像中文本信息所在的区域进行检测,并确定该文本信息所在区域的顶点,得到多个角点,然后根据得到的多个角点在待识别图像中绘制多边形,并采用文本识别算法对该多边形中的文本信息进行识别,得到识别结果;由于该方案可以基于角点来绘制多边形,并据此来确定待识别的文本区域,因此,相对于现有只能通过标准矩形框来从待识别图像中确定文本区域的方案而言,本方案所得到的多边形即便在待识别的文本区域的倾角水平或畸变较大(如透视或仿射变换程度较大)的情况下,也可以与该文本区域较为契合,大大改善待识别的文本区域不规范情况下的识别效果;而且,由于该方案不受倾角水平或畸变大小的限制,所以可以适用于各类场景,较现有方案而言,其灵活性和适用性也有所提高。
另外,由于该训练后角点模型采用了残差结构,且其主分支为消防模块,因此,既可以将低级特征传播到高层特征图上,使得该角点检测模型可以直接学习角点与边缘特性,提高角点检测的准确性,又可以降低模型输入的维度,使得该训练后角点检测模型适用于多种尺度的待识别图像(即无需对输入的待识别图像设置统一的标准,如设置统一的尺寸大小等),大大提高其灵活性。
此外,由于本实施例还可以对训练后角点检测模型进行压缩,因此,还可以提高模型处理效率,以及使得该模型尺寸可以更小,使其除了可以适用于服务器之外,还可以更好地适用于移动终端,提高了其适用性。
为了更好地实施以上方法,本申请实施例还提供一种文本识别装置,该文本识别装置可以集成在电子设备,比如服务器或终端等设备中,该终端可以包括手机、平板电脑、笔记本电脑和/或个人计算机等。
如图13所示,该文本识别装置可以包括获取单元301、检测单元302、绘制单元303和识别单元304,如下:
(1)获取单元301;
获取单元301,用于获取待识别图像,该待识别图像包含文本信息。
例如,该获取单元301,具体可以用于通过其自身的摄像部件如摄像头对待识别对象,如发票、卡片、名片、便签纸、笔记本、以及文件等进行拍摄或图像扫描,来获取该待识别图像。
或者,该获取单元301,具体可以用于接收其他设备发送的待识别图像。
可选的,为了提高检测的准确性,还可以对采集到的图像进行预处理,如旋转、翻转和/或裁剪等之后,再将处理后的图像作为待识别图像。即:
获取单元301,还可以用于对采集到的图像进行预处理,再将处理后的图像作为待识别图像。
(2)检测单元302;
检测单元302,用于检测该文本信息所在区域的顶点,得到多个角点。
例如,该检测单元302可以包括区域识别子单元和角点确定子单元,如下:
区域识别子单元,用于利用训练后角点检测模型,在该待识别图像中对该文本信息所在区域进行识别,得到文本区域。
比如,该区域识别子单元,具体可以用于利用训练后角点检测模型对该待识别图像进行特征提取,得到特征图,基于该特征图,筛选像素类型符合文本信息所在区域像素类型的像素点,得到文本区域。
角点确定子单元,用于确定该文本区域包络框的顶点,得到多个角点。
其中,该训练后角点检测模型可以由多张标注有文本区域角点的图像样本训练而成。该训练后角点检测模型包括多块残差模块,每一块残差模块均可以包括主分支和旁支,该残差模块的主分支为消防模块,需要将主分支的输出与旁支的输出进行融合,才能得到该残差模块的输出,具体可参见前面的方法实施例,在此不作赘述。
其中,消防模块可以包括压缩层和扩展层,比如,该压缩层的卷积核为1×1,而扩展层的卷积核可以设置为两种类型:1×1和3×3,即:
该区域识别子单元,具体可以用于通过该消防模块的压缩层对该待识别图像进行通道压缩和降维操作,得到压缩后结果,利用该消防模块的扩张层对该压缩后结果进行不同尺度的特征提取,得到特征图。
(3)绘制单元303;
绘制单元303,用于根据得到的多个角点在该待识别图像中绘制多边形。
例如,该绘制单元303,具体可以用于确定当前角点,并确定该当前角点在预设方向上的相邻点,在该当前角点与相邻点之间绘制连接线,以作为多边形的边,返回执行该确定当前角点的步骤,直至遍历所有角点。
其中,该预设方向可以根据实际应用的需求而定,比如,可以设置为顺时针方向或逆时针方向,等等。
又例如,该绘制单元303,具体可以用于在各个角点之间绘制连接线,从连接线组成的封闭区域中选择面积最大的封闭区域,得到多边形。
可选的,该绘制单元303除了可以根据这些角点绘制成一个多边形之外,也可以绘制成多个多边形,绘制的多个多边形可以彼此相同,也可以彼此不同。
比如,该绘制单元303,具体可以用于按照预设策略对该多个角点进行分组,得到多个角点组,然后,根据每一角点组中的角点在该待识别图像中绘制多边形,便可得到多个多边形。
其中,绘制多边形时所依据的角点即为多边形的顶点,该绘制成的多边形可以为三角形、四边形、五边形或六边形等,在此不再赘述。
(4)识别单元304;
识别单元304,用于采用文本识别算法对该多边形中的文本信息进行识别,得到识别结果。
其中,该文本识别算法可以根据实际应用的需求而定,比如,识别单元304,具体可以用于采用OCR对该多边形中的文本信息进行识别,得到识别结果,等等。
可选的,该利用训练后角点检测模型可以由其他设备预先训练而成,并保存至该文本识别装置中,或者,也可以由该文本识别装置自行训练,即如图14所示,该文本识别装置还可以包括采集单元305和训练单元306,如下:
该采集单元305,用于采集多张标注有文本区域角点的图像样本。
例如,采集单元305,具体可以用于从图库中获取多张图像,或者,也可以通过自身的摄像部件如摄像头来采集多张图像,然后,再对这些图像中的文本区域角点进行标注,将标注后的图像作为图像样本。
可选的,为了提高训练样本的质量,在标注之前,采集单元305还可以对这些图像进行预处理如去重、旋转、翻转和/或裁剪等操作,然后,再对预处理后的图像进行标注,以得到图像样本。
该训练单元306,用于采用角点检测模型对该图像样本中文本信息所在区域进行识别,得到预测区域,确定该预测区域包络框的顶点,得到预测区域角点,根据该预测区域角点和标注的文本区域角点对该角点检测模型进行收敛,得到训练后角点检测模型。
例如,该训练单元306,具体可以用于基于预测区域角点与标注的文本区域角点之间的距离构建损失函数,利用该损失函数对该角点检测模型进行收敛,得到训练后角点检测模型。比如,其收敛方式具体可以如下:
该训练单元306,具体可以用于从标注的文本区域角点中确定当前需要处理的角点,得到当前标注角点,计算该当前标注角点与各个预测区域角点之间的距离,选择距离最短的预测区域角点作为当前标注角点的目标角点,将该当前标注角点和目标角点作为一对角点对,并返回执行该从标注的文本区域角点中确定当前需要处理的角点的步骤,直至所有标注的文本区域角点均处理完毕,基于得到的所有角点对构建损失函数;利用该损失函数调整该角点检测模型的网络参数,使得该角点对中的当前标注角点朝目标角点的方向进行位移,以减小该角点对中的当前标注角点与目标角点之间的距离。
其中,该损失函数具体可以如下:
其中,Gm为标注的文本区域角点,Gmx和Gmy分别为角点Gm的横坐标和纵坐标;Pa为预测区域角点,Pax和Pay分别为角点Pa的横坐标和纵坐标。
可选的,为了使得训练后角点检测模型的尺寸可以更小,以节约计算资源、以及提高计算速度,还可以对训练后角点检测模型进行尺寸压缩;即如图15所示,该文本识别装置还可以包括压缩单元307,如下:
该压缩单元307,可以用于采用神经网络压缩算法对该训练后角点检测模型进行压缩,得到压缩后角点检测模型;
则此时,识别单元304,具体可以用于利用压缩后角点检测模型,在该待识别图像中对该文本信息所在区域进行识别,得到文本区域。
其中,神经网络压缩算法可以根据实际应用的需求而定,而压缩方式可以包括剪枝、量化处理和霍夫曼编码等操作,即:
该压缩单元304,具体可以用于对该训练后角点检测模型进行剪枝,对剪枝后的角点检测模型进行量化处理,对量化处理后的角点检测模型进行霍夫曼编码,得到压缩后角点检测模型。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
由上可知,本实施例在获取到包含有文本信息的待识别图像后,可以由检测单元302检测文本信息所在区域的顶点,得到多个角点,然后由绘制单元303根据得到的多个角点在待识别图像中绘制多边形,并由识别单元304对该多边形中的文本信息进行识别,得到识别结果;由于该方案可以基于角点来绘制多边形,并据此来确定待识别的文本区域,因此,相对于现有只能通过标准矩形框来从待识别图像中确定文本区域的方案而言,本方案所得到的多边形即便在待识别的文本区域的倾角水平或畸变较大(如透视或仿射变换程度较大)的情况下,也可以与该文本区域较为契合,大大改善待识别的文本区域不规范情况下的识别效果;而且,由于该方案不受倾角水平或畸变大小的限制,所以可以适用于各类场景,较现有方案而言,其灵活性和适用性也有所提高。
此外,由于该训练后角点模型采用了残差结构,且其主分支为消防模块,因此,既可以将低级特征传播到高层特征图上,使得该角点检测模型可以直接学习角点与边缘特性,提高角点检测的准确性,又可以降低模型输入的维度,使得该训练后角点检测模型适用于多种尺度的待识别图像,大大提高其灵活性。进一步的,由于本实施例的压缩单元307还可以对训练后角点检测模型进行压缩,因此,还可以提高模型处理效率,以及使得该模型尺寸可以更小,使其除了可以适用于服务器之外,还可以更好地适用于移动终端,提高了其适用性。
本申请实施例还提供一种电子设备,可以集成本申请实施例所提供的任一种文本识别装置。如图16所示,其示出了本申请实施例所涉及的电子设备的结构示意图,具体来讲:
该电子设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图16中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体检测。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
电子设备还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该电子设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,电子设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,电子设备中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:
获取包含文本信息的待识别图像,检测该文本信息所在区域的顶点,得到多个角点,根据得到的多个角点在该待识别图像中绘制多边形,并采用文本识别算法对该多边形中的文本信息进行识别,得到识别结果。
例如,具体可以利用训练后角点检测模型,在该待识别图像中对该文本信息所在区域进行识别,得到文本区域,确定该文本区域包络框的顶点,得到多个角点。
可选的,该利用训练后角点检测模型可以由其他设备预先训练而成,并保存至该文本识别装置中,或者,也可以由该文本识别装置自行训练,即处理器401还可以运行存储在存储器402中的应用程序,从而实现如下功能:
采集多张标注有文本区域角点的图像样本,采用角点检测模型对该图像样本中文本信息所在区域进行识别,得到预测区域,确定该预测区域包络框的顶点,得到预测区域角点,根据该预测区域角点和标注的文本区域角点对该角点检测模型进行收敛,得到训练后角点检测模型。
可选的,为了使得训练后角点检测模型的尺寸可以更小,以节约计算资源、以及提高计算速度,还可以对训练后角点检测模型进行尺寸压缩;即处理器401还可以运行存储在存储器402中的应用程序,从而实现如下功能:
采用神经网络压缩算法对该训练后角点检测模型进行压缩,得到压缩后角点检测模型。
其中,压缩方式可以包括剪枝、量化处理和霍夫曼编码等操作。
以上各个操作的具体实施可参见前面的实施例,在此不作赘述。
由上可知,本实施例的电子设备在获取到包含有文本信息的待识别图像后,可以检测文本信息所在区域的顶点,得到多个角点,然后根据得到的多个角点在待识别图像中绘制多边形,并对该多边形中的文本信息进行识别,得到识别结果;由于该方案可以基于角点来绘制多边形,并据此来确定待识别的文本区域,因此,相对于现有只能通过标准矩形框来从待识别图像中确定文本区域的方案而言,本方案所得到的多边形即便在待识别的文本区域的倾角水平或畸变较大(如透视或仿射变换程度较大)的情况下,也可以与该文本区域较为契合,大大改善待识别的文本区域不规范情况下的识别效果;而且,由于该方案不受倾角水平或畸变大小的限制,所以可以适用于各类场景,较现有方案而言,其灵活性和适用性也有所提高。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种文本识别方法中的步骤。例如,该指令可以执行如下步骤:
获取包含文本信息的待识别图像,检测该文本信息所在区域的顶点,得到多个角点,根据得到的多个角点在该待识别图像中绘制多边形,并采用文本识别算法对该多边形中的文本信息进行识别,得到识别结果。
例如,具体可以利用训练后角点检测模型,在该待识别图像中对该文本信息所在区域进行识别,得到文本区域,确定该文本区域包络框的顶点,得到多个角点。
可选的,该利用训练后角点检测模型可以由其他设备预先训练而成,并保存至该文本识别装置中,或者,也可以由该文本识别装置自行训练,即该指令还可以执行如下步骤:
采集多张标注有文本区域角点的图像样本,采用角点检测模型对该图像样本中文本信息所在区域进行识别,得到预测区域,确定该预测区域包络框的顶点,得到预测区域角点,根据该预测区域角点和标注的文本区域角点对该角点检测模型进行收敛,得到训练后角点检测模型。
可选的,为了使得训练后角点检测模型的尺寸可以更小,以节约计算资源、以及提高计算速度,还可以对训练后角点检测模型进行尺寸压缩;即该指令还可以执行如下步骤:
采用神经网络压缩算法对该训练后角点检测模型进行压缩,得到压缩后角点检测模型。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本申请实施例所提供的任一种文本识别方法中的步骤,因此,可以实现本申请实施例所提供的任一种文本识别方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种文本识别方法、装置、电子设备和存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (13)

1.一种文本识别方法,其特征在于,包括:
获取待识别图像,所述待识别图像包含文本信息;
检测所述文本信息所在区域的顶点,得到多个角点;
其中,所述检测所述文本信息所在区域的顶点,得到多个角点,包括:利用训练后角点检测模型,在所述待识别图像中对所述文本信息所在区域进行识别,得到文本区域;确定所述文本区域包络框的顶点,得到多个角点;
其中,所述利用训练后角点检测模型,在所述待识别图像中对所述文本信息所在区域进行识别,得到文本区域,包括:
利用消防模块的压缩层对所述待识别图像进行通道压缩和降维操作,得到压缩后结果;利用所述消防模块的扩张层对所述压缩后结果进行不同尺度的特征提取,得到特征图;将所述特征图输入到新的消防模块,并在所述新的消防模块中执行:步骤“利用消防模块的压缩层对所述待识别图像进行通道压缩和降维操作,得到压缩后结果;利用所述消防模块的扩张层对所述压缩后结果进行不同尺度的特征提取,得到特征图;将所述特征图输入到新的消防模块”直到经过多个消防模块处理后,得到所述多个消防模块中最后一个消防模块的特征图;基于所述最后一个消防模块的特征图,筛选出像素类型符合文本信息所在区域像素类型的像素点,从而得到文本区域;
根据得到的多个角点在所述待识别图像中绘制多边形;
其中,所述根据得到的多个角点在所述待识别图像中绘制多边形,包括:
确定当前角点,并确定所述当前角点在预设方向上的相邻点;
在所述当前角点与相邻点之间绘制连接线,以作为多边形的边;并将所述相邻点作为新的当前角点,返回执行所述确定当前角点的步骤,直至遍历所有角点;
对所述多边形中的文本信息进行识别,得到识别结果。
2.根据权利要求1所述的方法,其特征在于,所述利用训练后角点检测模型,在所述待识别图像中对所述文本信息所在区域进行识别,得到文本区域,包括:
利用训练后角点检测模型对所述待识别图像进行特征提取,得到特征图;
基于所述特征图,筛选像素类型符合文本信息所在区域像素类型的像素点,得到文本区域。
3.根据权利要求2所述的方法,其特征在于,所述训练后角点检测模型包括残差模块,所述残差模块的主分支为消防模块,所述利用训练后角点检测模型对所述待识别图像进行特征提取,得到特征图,包括:
通过所述消防模块的压缩层对所述待识别图像进行通道压缩和降维操作,得到压缩后结果;
利用所述消防模块的扩张层对所述压缩后结果进行不同尺度的特征提取,得到特征图。
4.根据权利要求2至3任一项所述的方法,其特征在于,所述利用训练后角点检测模型,在所述待识别图像中对所述文本信息所在区域进行识别,得到文本区域之前,还包括:
采集多张标注有文本区域角点的图像样本;
采用角点检测模型对所述图像样本中文本信息所在区域进行识别,得到预测区域;
确定所述预测区域包络框的顶点,得到预测区域角点;
根据所述预测区域角点和标注的文本区域角点对所述角点检测模型进行收敛,得到训练后角点检测模型。
5.根据权利要求4所述的方法,其特征在于,所述根据所述预测区域角点和标注的文本区域角点对所述角点检测模型进行收敛,得到训练后角点检测模型,包括:
基于预测区域角点与标注的文本区域角点之间的距离构建损失函数;
利用所述损失函数对所述角点检测模型进行收敛,得到训练后角点检测模型。
6.根据权利要求5所述的方法,其特征在于,所述基于预测区域角点与标注的文本区域角点之间的距离构建损失函数,包括:
从标注的文本区域角点中确定当前需要处理的角点,得到当前标注角点;
计算所述当前标注角点与各个预测区域角点之间的距离;
选择距离最短的预测区域角点作为当前标注角点的目标角点;
将所述当前标注角点和目标角点作为一对角点对,并返回执行所述从标注的文本区域角点中确定当前需要处理的角点的步骤,直至所有标注的文本区域角点均处理完毕;
基于得到的所有角点对构建损失函数;
所述利用所述损失函数对所述角点检测模型进行收敛,包括:利用所述损失函数调整所述角点检测模型的网络参数,使得所述角点对中的当前标注角点朝目标角点的方向进行位移,以减小所述角点对中的当前标注角点与目标角点之间的距离。
7.根据权利要求4所述的方法,其特征在于,所述根据所述预测区域角点和标注的文本区域角点对所述角点检测模型进行收敛,得到训练后角点检测模型之后,还包括:
采用神经网络压缩算法对所述训练后角点检测模型进行压缩,得到压缩后角点检测模型;
所述利用训练后角点检测模型,在所述待识别图像中对所述文本信息所在区域进行识别,得到文本区域,包括:利用压缩后角点检测模型,在所述待识别图像中对所述文本信息所在区域进行识别,得到文本区域。
8.根据权利要求7所述的方法,其特征在于,所述采用神经网络压缩算法对所述训练后角点检测模型进行压缩,得到压缩后角点检测模型,包括:
对所述训练后角点检测模型进行剪枝;
对剪枝后的角点检测模型进行量化处理;
对量化处理后的角点检测模型进行霍夫曼编码,得到压缩后角点检测模型。
9.根据权利要求1至3任一项所述的方法,其特征在于,所述根据得到的多个角点在所述待识别图像中绘制多边形,包括:
在各个角点之间绘制连接线;
从连接线组成的封闭区域中选择面积最大的封闭区域,得到多边形。
10.一种文本识别装置,其特征在于,包括:
获取单元,用于获取待识别图像,所述待识别图像包含文本信息;
检测单元,用于检测所述文本信息所在区域的顶点,得到多个角点;所述检测单元,具体用于:利用训练后角点检测模型,在所述待识别图像中对所述文本信息所在区域进行识别,得到文本区域;确定所述文本区域包络框的顶点,得到多个角点;
其中,所述利用训练后角点检测模型,在所述待识别图像中对所述文本信息所在区域进行识别,得到文本区域,包括:
利用消防模块的压缩层对所述待识别图像进行通道压缩和降维操作,得到压缩后结果;利用所述消防模块的扩张层对所述压缩后结果进行不同尺度的特征提取,得到特征图;将所述特征图输入到新的消防模块,并在所述新的消防模块中执行:步骤“利用消防模块的压缩层对所述待识别图像进行通道压缩和降维操作,得到压缩后结果;利用所述消防模块的扩张层对所述压缩后结果进行不同尺度的特征提取,得到特征图;将所述特征图输入到新的消防模块”直到经过多个消防模块处理后,得到所述多个消防模块中最后一个消防模块的特征图;基于所述最后一个消防模块的特征图,筛选出像素类型符合文本信息所在区域像素类型的像素点,从而得到文本区域;
绘制单元,用于根据得到的多个角点在所述待识别图像中绘制多边形;所述绘制单元,具体用于确定当前角点,并确定所述当前角点在预设方向上的相邻点;在所述当前角点与相邻点之间绘制连接线,以作为多边形的边;并将所述相邻点作为新的当前角点,返回执行所述确定当前角点的步骤,直至遍历所有角点;
识别单元,用于对所述多边形中的文本信息进行识别,得到识别结果。
11.根据权利要求10所述的装置,其特征在于,所述检测单元包括区域识别子单元和角点确定子单元;
所述区域识别子单元,用于利用训练后角点检测模型,在所述待识别图像中对所述文本信息所在区域进行识别,得到文本区域;
所述角点确定子单元,用于确定所述文本区域包络框的顶点,得到多个角点。
12.一种电子设备,其特征在于,包括存储器和处理器;所述存储器存储有应用程序,所述处理器用于运行所述存储器内的应用程序,以执行权利要求1至9任一项所述的文本识别方法中的操作。
13.一种存储介质,其特征在于,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至9任一项所述的文本识别方法中的步骤。
CN201910625593.3A 2019-07-11 2019-07-11 一种文本识别方法、装置、电子设备和存储介质 Active CN110378338B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910625593.3A CN110378338B (zh) 2019-07-11 2019-07-11 一种文本识别方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910625593.3A CN110378338B (zh) 2019-07-11 2019-07-11 一种文本识别方法、装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN110378338A CN110378338A (zh) 2019-10-25
CN110378338B true CN110378338B (zh) 2024-08-27

Family

ID=68252795

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910625593.3A Active CN110378338B (zh) 2019-07-11 2019-07-11 一种文本识别方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN110378338B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110796082B (zh) * 2019-10-29 2020-11-24 上海眼控科技股份有限公司 铭牌文本检测方法、装置、计算机设备和存储介质
CN111415325B (zh) * 2019-11-11 2023-04-25 杭州电子科技大学 一种基于卷积神经网络的铜箔基板缺陷检测方法
CN111079571A (zh) * 2019-11-29 2020-04-28 杭州数梦工场科技有限公司 证卡信息识别及其边缘检测模型训练方法、装置
CN111091123A (zh) * 2019-12-02 2020-05-01 上海眼控科技股份有限公司 文本区域检测方法及设备
CN111435445A (zh) * 2019-12-24 2020-07-21 珠海大横琴科技发展有限公司 字符识别模型的训练方法及装置、字符识别方法及装置
CN111145124A (zh) * 2019-12-30 2020-05-12 北京华宇信息技术有限公司 一种图像倾斜的校正方法及装置
CN111209856B (zh) * 2020-01-06 2023-10-17 泰康保险集团股份有限公司 发票信息的识别方法、装置、电子设备及存储介质
CN111317653B (zh) * 2020-02-24 2023-10-13 江苏大学 一种交互式盲人智能辅助装置及方法
CN111444908B (zh) * 2020-03-25 2024-02-02 腾讯科技(深圳)有限公司 图像识别方法、装置、终端和存储介质
CN113642552B (zh) * 2020-04-27 2024-03-08 上海高德威智能交通系统有限公司 一种图像中目标对象的识别方法、装置、系统及电子设备
CN111539438B (zh) * 2020-04-28 2024-01-12 北京百度网讯科技有限公司 文本内容的识别方法、装置及电子设备
CN111526364A (zh) * 2020-05-09 2020-08-11 西安万像电子科技有限公司 图像处理的方法、装置和系统
CN112257965A (zh) * 2020-11-26 2021-01-22 深源恒际科技有限公司 图像文本识别置信度的预测方法和预测系统
CN112464892B (zh) * 2020-12-14 2024-02-13 招商局金融科技有限公司 票据区域识别方法、装置、电子设备及可读存储介质
CN112861782B (zh) * 2021-03-07 2023-06-20 上海大学 票据照片关键信息提取系统及方法
CN112883956A (zh) * 2021-03-22 2021-06-01 中国工商银行股份有限公司 文本字符的识别方法、装置和服务器
CN112801097B (zh) * 2021-04-14 2021-07-16 北京世纪好未来教育科技有限公司 文本检测模型的训练方法、装置及可读存储介质
CN115331231B (zh) * 2022-08-17 2023-05-05 北京睿企信息科技有限公司 一种基于文本识别目标文本的方法、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105574513A (zh) * 2015-12-22 2016-05-11 北京旷视科技有限公司 文字检测方法和装置
CN106295629A (zh) * 2016-07-15 2017-01-04 北京市商汤科技开发有限公司 结构化文本检测方法和系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060125805A1 (en) * 2004-03-17 2006-06-15 James Marggraff Method and system for conducting a transaction using recognized text
CN107247950A (zh) * 2017-06-06 2017-10-13 电子科技大学 一种基于机器学习的身份证图像文本识别方法
CN108549893B (zh) * 2018-04-04 2020-03-31 华中科技大学 一种任意形状的场景文本端到端识别方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105574513A (zh) * 2015-12-22 2016-05-11 北京旷视科技有限公司 文字检测方法和装置
CN106295629A (zh) * 2016-07-15 2017-01-04 北京市商汤科技开发有限公司 结构化文本检测方法和系统

Also Published As

Publication number Publication date
CN110378338A (zh) 2019-10-25

Similar Documents

Publication Publication Date Title
CN110378338B (zh) 一种文本识别方法、装置、电子设备和存储介质
CN110807362B (zh) 一种图像检测方法、装置和计算机可读存储介质
CN111914835A (zh) 票据要素提取方法、装置、电子设备及可读存储介质
CN111079764B (zh) 一种基于深度学习的低照度车牌图像识别方法及装置
WO2023138188A1 (zh) 特征融合模型训练及样本检索方法、装置和计算机设备
CN110830807B (zh) 图像压缩方法、装置及存储介质
CN113344826B (zh) 图像处理方法、装置、电子设备及存储介质
CN111369430B (zh) 基于移动深度学习引擎的移动端人像智能背景替换方法
CN114429637B (zh) 一种文档分类方法、装置、设备及存储介质
CN113570030A (zh) 数据处理方法、装置、设备以及存储介质
CN115620321B (zh) 表格识别方法及装置、电子设备和存储介质
CN113888635B (zh) 视觉定位方法、相关装置
CN113326766B (zh) 文本检测模型的训练方法及装置、文本检测方法及装置
CN115188000A (zh) 基于ocr的文本识别方法、装置、存储介质及电子设备
CN114120413A (zh) 模型训练方法、图像合成方法、装置、设备及程序产品
CN113989152A (zh) 图像增强方法、装置、设备以及存储介质
CN111047657A (zh) 图片压缩方法、装置、介质及电子设备
CN115937039A (zh) 数据扩充方法、装置、电子设备及可读存储介质
CN113449559B (zh) 一种表格识别方法、装置、计算机设备和存储介质
CN112883956A (zh) 文本字符的识别方法、装置和服务器
CN115601752A (zh) 文字识别方法、装置、电子设备及介质
CN111160265B (zh) 文件转换方法、装置、存储介质及电子设备
CN115495498A (zh) 数据关联方法、系统、电子设备及存储介质
CN115019057A (zh) 图像特征提取模型确定方法及装置、图像识别方法及装置
CN114049518A (zh) 图像分类方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant