文字识别方法、装置、计算机设备及存储介质与流程

文档序号:28059994发布日期:2021-12-17 22:56阅读:117来源:国知局
1.本技术涉及人工智能
技术领域
,主要涉及了一种文字识别方法、装置、计算机设备及存储介质。
背景技术
:2.当前,很多场合中都有对图像中的文字进行检测的需求。例如,采集包含身份证,行驶证,驾驶证或者名片的图像,用于检测图像中的诸如姓名、编号或者职位等文字信息。然而,在一些电子文档(例如,便携式文档格式(portabledocumentformat,pdf)文档等)对应的图像质量较差,导致文字的识别效率低。技术实现要素:3.本技术实施例提供了一种文字识别方法、装置、计算机设备及存储介质,可提高文字识别的准确率。4.第一方面,本技术实施例提供一种文字识别方法,其中:5.基于yolo模型获取待识别文字对应的参考矩形图像;6.基于生成式对抗网络对所述参考矩形图像进行图像增强,得到目标矩形图像;7.基于直线检测模型从所述目标矩形图像中选取参考直线;获取所述目标矩形图像中每一行文字图像的虚拟下划线;8.基于所述虚拟下划线和所述参考直线确定所述行文字图像的倾斜角度;9.基于光学字符识别模型对所述倾斜角度对应的行文字图像进行文字识别。10.第二方面,本技术实施例提供一种文字识别装置,其中:11.处理单元,用于基于yolo模型获取待识别文字对应的参考矩形图像;基于生成式对抗网络对所述参考矩形图像进行图像增强,得到目标矩形图像;基于直线检测模型从所述目标矩形图像中选取参考直线;获取所述目标矩形图像中每一行文字图像的虚拟下划线;基于所述虚拟下划线和所述参考直线确定所述行文字图像的倾斜角度;12.识别单元,用于基于所述光学字符识别模型对所述倾斜角度对应的行文字图像进行文字识别。13.第三方面,本技术实施例提供一种计算机设备,包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,所述程序包括用于如第一方面中所描述的部分或全部步骤的指令。14.第四方面,本技术实施例提供了一种计算机可读存储介质,其中,所述计算机可读存储介质存储计算机程序,其中,所述计算机程序使得计算机执行以实现如第一方面中所描述的部分或全部步骤。15.实施本技术实施例,将具有如下有益效果:16.采用了上述的文字识别方法、装置、计算机设备及存储介质之后,先基于yolo模型获取待识别文字对应的参考矩形图像。再基于生成式对抗网络对参考矩形图像进行图像增强,得到目标矩形图像。然后基于直线检测模型从目标矩形图像中选取参考直线,并获取目标矩形图像中每一行文字图像的虚拟下划线。然后基于虚拟下划线和参考直线确定行文字图像的倾斜角度。最后基于光学字符识别模型对倾斜角度对应的行文字图像进行文字识别。如此,可提高文字识别的准确率。附图说明17.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。18.其中:19.图1为本技术实施例提供的一种文字识别方法的流程示意图;20.图2为本技术实施例提供的一种文字识别装置的结构示意图;21.图3为本技术实施例提供的一种计算机设备的结构示意图。具体实施方式22.为了使本
技术领域
的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。根据本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。23.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。24.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。25.本技术实施例应用的网络架构包括服务器和电子设备。本技术实施例不限定电子设备和服务器的数量,服务器可同时为多个电子设备提供服务。服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(contentdeliverynetwork,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。服务器或者可以通过多个服务器组成的服务器集群来实现。26.电子设备可以是个人计算机(personalcomputer,pc)、笔记本电脑或智能手机,还可以是一体机、掌上电脑、平板电脑(pad)、智能电视播放终端、车载终端或便捷式设备等。pc端的电子设备,例如一体机等,其操作系统可以包括但不限于linux系统、unix系统、windows系列系统(例如windowsxp、windows7等)、macosx系统(苹果电脑的操作系统)等操作系统。移动端的电子设备,例如智能手机等,其操作系统可以包括但不限于安卓系统、ios(苹果手机的操作系统)、window系统等操作系统。27.电子设备可以安装并运行应用程序,服务器可以是电子设备所安装的应用程序对应的服务器,为应用程序提供应用服务。其中,应用程序可以是单独集成的应用软件,或其它应用中嵌入的小程序,或者网页上的系统等,在此不做限定。在本技术实施例中,应用程序可以为文字识别应用程序,或者具有文字识别功能的应用程序。本技术所提供的文字识别方法可以使用于图像文字转化、身份图像认证、智能诊疗或远程会诊的病例读取等应用场景中。28.举例来说,若用户通过电子设备上的文字识别应用程序上传目标图像,则电子设备可以识别该目标图像中的文字。或者,电子设备将目标图像上传至服务器,接收服务器传输的识别结果,再在电子设备上显示识别结果对应的文字。29.再举一个例子,服务器在审核文件时,确定该审核文件中存在待识别文字的图像,则服务器对该图像进行文字识别,得到该图像中的文本。然后基于该文本对审核文件进行审核。30.本技术实施例提出的一种文字识别方法,该方法可以由文字识别装置执行。该装置可由软件和/或硬件实现,一般可集成在电子设备中,可提高文字识别的准确率。31.请参照图1,图1是本技术提供的一种文字识别方法的流程示意图。以该方法应用在服务器为例进行举例说明,包括如下步骤s101~s106,其中:32.s101:基于yolo模型获取待识别文字对应的参考矩形图像。33.本技术对于待识别文字不做限定,待识别文字可以为任一图像中的文字,或电子文档中所涉及的文字等。参考矩形图像为包含待识别文字的图像,可以包含部分的待识别文字。在一种可能的示例中,在步骤s101之前,该文字识别方法还可以包括步骤s100:接收用户发送的目标区域的文字识别指令。34.在本技术实施例中,文字识别指令用于指示识别目标位置的文字。文字识别指令可以通过用户选定目标区域,以及选择文字识别的功能组件(例如,“转文字”的选项卡等)生成文字识别指令。目标区域可以为用户从拖动鼠标的位置到松开鼠标对应的位置对应的矩形,或者可以为鼠标对应的页面区域或当前页面的整个区域。35.基于此,步骤s101可以包括:基于yolo模型对所述目标区域进行定位,得到待识别文字的参考矩形图像。36.可以理解,用户在浏览电子文档时,可向服务器发送目标区域的文字识别指令,以使服务器对目标区域内的文字进行识别。在识别之前,可以基于yolo模型对目标区域进行定位,得到待识别文字的参考矩形图像。如此,可以识别用户发送的文字识别指令中指定的目标区域的文字,可提高yolo定位的效率。在步骤s106执行之后,还可包括向用户发送文字识别的结果的步骤。37.yolo(youonlylookonce:unified,real‑timeobjectdetection)模型是一个端到端的卷积神经网络,可以一次性预测多个物体的位置和类别。yolo模型的优势在于检测速度快、背景误检率比区域卷积神经网络(region‑convolutionalneuralnetworks,r‑cnn)等要低、支持对非自然图像的检测。38.在本技术实施例中,yolo模型用于检测待识别文字的位置。具体可以将包含待识别文字对应的待检测图像划分为统一尺度大小的图像,例如,分为s×s个格子。每一个网格中预测b个边界框(boundingbox)和置信值(confidencescore),以及c个类别的归属概率值。置信值表示预测的边界框与实际边界框之间的重叠度(intersectionoverunion,iou),反映了该yolo模型对盒子是否包含目标的信心,以及它预测盒子的准确程度。如果没有目标,置信值为零。每个边界框包含4维坐标信息(x,y,w,h)和1维置信度,则每个格子输出5×b+c维向量。其中,(x,y)坐标表示边界框相对于网格单元边界框的中心。(w,h)是相对于整张图像预测的。39.在一种可能的示例中,在步骤s101之前,还包括以下步骤:确定所述待识别文字的场景信息;基于所述场景信息确定所述参考矩形图像的尺寸和所述待识别文字的识别精度;基于所述尺寸和所述识别精度确定所述yolo模型。40.在本技术实施例中,场景信息可包括待识别文字对应的标题,或待检测文字的文件名称,或待识别文字的字体大小(或称为字号)等。场景信息还可包括待识别文字的应用场景,例如,信息提取、身份认证、病例读取等。参考矩形图像的尺寸可基于待识别文字的尺寸和\或待识别文字所占待检测图像的大小等进行确定。41.可以理解,参考矩形图像需包含待识别文字,不同的场景信息中可能要求不同识别精度的文字。在该示例中,基于待识别文字的场景信息确定的参考矩形图像的尺寸和待识别文字的识别精度确定yolo模型,可提高yolo模型的检测精度,便于提高文字定位的准确率。42.s102:基于生成式对抗网络对所述参考矩形图像进行图像增强,得到目标矩形图像。43.在本技术实施例中,目标矩形图像是参考矩形图像进行图像增强之后得到的图像。如此,通过去噪可提高文字识别的效率。本技术对于图像增强的方法不做限定,可以包括降噪处理,例如检测参考矩形图像中的直线,若直线全部聚焦于一个区域,则可以确定该区域为阴影,可以去除该阴影对应的图像。44.图像增强还可包括噪声扰动处理、颜色处理、对比度变换等。其中,噪声扰动处理是指对图像上的每个像素的rgb色彩模式进行随机扰动。常用的噪声模式是椒盐噪声和高斯噪声。颜色处理是指在文字图像的rgb通道上添加随机扰动。对比度变换是指在色调(hue,h)、饱和度(saturation,s)和明度(value,v)组成的颜色空间上,改变饱和度s和v亮度分量,保持色调h不变,对每一个像素的s和v分量进行指数运算,增加光照变化等。以上方法可通过不同的处理实现图像的增强和减弱,如此,通过图像增强可以强化文字图像的细节特征,降低环境光线、电子设备等客观因素对文字图像的影响,有利于提高文字识别的准确率。生成式对抗网络(generativeadversarialnetworks,gan)是一种深度学习模型,包括生成器(generator,g)和判别器(discriminator,d)。g和d可使用卷积层,后连接batchnorm层和非线性运算单元(rectifiedlinearunit,relu)激活函数的基础结构。g和d还可包括抛弃(dropout)层,并将其设置为0.5,以防止过拟合。且g的编码模块和解码模块之间为跳跃链接,使得对应大小的特征图以通道连接起来融合更多的特征信息。45.在本技术实施例中,可预先基于包含文字的图像对gan进行训练,得到该图像对应的模糊图像和高清图像。在训练完成之后,将待识别的参考矩形图像输入至gan中,得到高清的目标矩形图像。如此,通过训练得到的gan对参考矩形图像进行图像增强,有利于提高目标矩形图像进行文字识别的准确率。46.本技术对于gan的训练方法不做限定,在一种可能的示例中,还可以包括以下步骤:通过所述生成器对待训练的文字图像进行图像处理,得到所述文字图像的图像对;通过所述判别器确定所述图像对的识别率;判断所述识别率是否小于预设阈值;若所述识别率小于预设阈值,则基于所述识别率更新所述生成器,再执行所述通过所述生成器对待训练的文字图像进行图像处理,得到所述文字图像的图像对的步骤,直至训练次数等于预设次数。若所述识别率大于或等于所述预设阈值,则基于所述识别率更新所述判别器,再执行所述通过所述生成器对待训练的文字图像进行图像处理,得到所述文字图像的图像对的步骤,直至所述训练次数等于所述预设次数。47.在本技术实施例中,文字图像的图像对可以包括文字图像对应的模糊图像和高清图像。图像处理可参照上述的图像增强的方法,在此不再赘述。图像对的识别率用于描述图像对中文字图像的质量。该识别率可以为高清图像的质量和模糊图像的质量之间的平均值或最小值,或者可以为模糊图像的质量等,在此不做限定。48.本技术对于预设阈值和预设次数不做限定,预设阈值可以为指定的数值,例如,80%等。预设阈值或者可以基于训练次数和训练样本的数量进行确定,例如,训练次数越大,预设阈值越大。或者训练样本的数量越多,预设阈值越大等。预设次数为训练的最大次数,可以为指定的数值,例如,20等。预设次数或者可以基于训练样本的数量进行确定,例如,训练样本的数量为20,则预设次数为40,即每一训练样本每一次训练的次数为2次。49.可以理解,通过生成器对待训练的文字图像进行图像处理,得到文字图像的图像对。再确定图像对的识别率,若识别率小于预设阈值,表示图像质量未达到要求,可以基于该识别率更新生成器。若识别率大于或等于预设阈值,表示图像质量达到要求,但为了提高识别精度,可以基于该识别率更新判别器。如此,经过多次训练,在训练次数等于预设次数时完成训练。将参考矩形图像输入至训练完成的生成式对抗网络之后,可以输出目标矩形图像。50.s103:基于直线检测模型从所述目标矩形图像中选取参考直线。51.在本技术实施例中,参考直线是目标矩形图像中的线段,可用于确定目标矩形图像的偏移角度。本技术对于参考直线的数量不做限定,参考直线的数量可以为待识别文字对应的外轮廓的边的数量。例如,待识别文字对应的外轮廓为书本,参考直线可以为书本的书脊或边界框中的一条直线,参考直线的数量可以为小于或等于4的正整数。可选的,参考直线可以为目标矩形图像中最长的两条直线,或者可以为目标矩形图像中相交的两条直线。52.直线检测模型用于识别目标矩形图像中的直线以及直线中的参考直线。该直线检测模型可以基于直线段检测(linesegmentdetector,lsd)算法。lsd算法主要利用图像的梯度来实现直线段的检测,相比于霍夫直线检测算法,在速度方面有着压倒性的优势。在采用lsd算法之前,可以将目标矩形图像转换为灰度图,以提高检测的精度。53.在一种可能的示例中,所述方法还包括:确定所述待识别文字的语种;从预设直线检测模型库中选取与所述语种对应的直线检测模型。54.在本技术实施例中,语种可以为中文、英文、日文等,在此不做限定。可以理解,不同的语种对应的文字的笔画和字体相同不同。因此,基于待识别文字的笔画组成和字体形态确定语种。或者采用不同语种的文字中的常用字与待识别文字进行匹配,若匹配成功,则确定该文字对应的语种为待识别文字的语种等,在此不做限定。55.预设直线检测模型库中存储有不同语种的直线检测模型。可以理解,在该示例中,从预设直线检测模型库中选取与语种对应的直线检测模型,可提高获取参考直线的准确率,有利于提高文字识别的准确率。56.本技术对于获取参考直线的方法不做限定,在一种可能的示例中,步骤s103可以包括以下步骤a1~a3,其中:57.a1:基于直线检测模型获取所述目标矩形图像中的多条第一直线。58.在本技术实施例中,第一直线可以为目标矩形图像中的直线。以目标矩形图像为图书书脊为例进行举例说明,第一直线可包括图书书脊中的书脊或边界框对应的直线、图像中文字的直线笔画和光照阴影对应的直线等。第一直线的数量为多个,即存在至少3条第一直线。59.a2:从所述多条第一直线中选取第二直线。60.在本技术实施例中,第二直线可以为第一直线中筛选出来的直线。可以理解,第一直线中可能存在一些阴影,导致存在误识别的直线。例如,阴影对应的直线和文字中的直线笔画等。通过筛选第一直线,可降低这些噪声直线的干扰,便于提高文字定位的准确率。61.在一种可能的示例中,步骤a2可以包括以下步骤a21~a23,其中:62.a21:建立所述目标矩形图像的坐标系。63.在本技术实施例中,坐标轴的中心点可以为目标矩形图像的几何中心点。该坐标轴包括x坐标轴和y坐标轴,x坐标轴和y坐标轴可以就有几何中心点和目标矩形图像的边进行确定,例如,与长边对应的平行线中与中心点相交的边作为x轴,与短边的平行线中与中心点相交的边作为y轴等。64.a2:基于所述坐标系获取所述第一直线的长度和角度。65.在本技术实施例中,第一直线的长度可以理解为第一直线投影到x方向的长度,即直线段两端的x坐标之差。第一直线段的角度可以为第一直线与坐标轴之间的角度,例如,与x轴之间的夹角。66.a23:从所述第一直线中选出所述长度大于预设长度,且所述角度属于预设角度范围的第一直线,得到第二直线。67.本技术对于预设长度和预设角度范围不做限定,预设长度可以为10厘米,预设角度范围可以为大于0,且小于20度。预设长度可以基于目标矩形图像的尺寸进行确定,例如,目标矩形图像的尺寸为20厘米,则预设长度可以为15厘米。预设长度或者可以基于待识别文字的字体大小进行确定等。例如,预设长度等于待识别文字的字体大小对应的1个字符的长度。预设角度范围可以基于目标矩形图像的偏离角度进行确定。该偏离角度可以由待识别文字对应的文本的边框和目标矩形图像的边框之间的夹角确定。68.可以理解,若直线的长度小于预设长度,或直线的角度偏离预设角度范围,则表示该直线可能为噪声。如此,基于目标矩形图像的坐标轴获取第一直线的长度和角度来筛选第一直线中的第二直线,可降低这些噪声直线的干扰,便于提高文字识别的准确率。69.a3:对所述第二直线进行聚类,得到所述目标矩形图像中的参考直线。70.在本技术实施例中,对第二直线进行分类,可以基于meanshift算法进行聚类。或者可以基于第二直线的位置和角度,将近乎重叠的两条直线上的线段合并为一条直线,或者可以将同一条直线上的不同线段连接成一条直线。71.可以理解,在步骤a1~a3中,基于直线检测模型获取目标矩形图像中的多条第一直线。再从多条第一直线中筛选出第二直线。再对第二直线进行聚类,得到目标矩形图像中的参考直线,有利于提高参考直线确定目标矩形图像中行文字的倾斜角度的准确率。72.s104:获取所述目标矩形图像中每一行文字图像的虚拟下划线。73.在本技术实施例中,虚拟下划线不是目标矩形图像中的线段,而是基于目标矩形图像中每一行文字图像的文字走向构造的直线段。需要说明的是,本技术对于步骤s103和步骤s104之间的执行顺序不做限定,可以先执行步骤s103,再执行步骤s104。或者先执行步骤s104,再执行步骤s103。或者同时执行步骤s103和步骤s104。74.在一种可能的示例中,步骤s104可以包括以下步骤b1~b5,其中:75.b1:确定所述待识别文字的语种。76.语种如前所述,可以包括中文、英文、日文等。且可以基于待识别文字的笔画组成和字体形态确定语种;或者采用不同语种的文字中的常用字与待识别文字进行匹配,若匹配成功,则确定该文字对应的语种为待识别文字的语种等,在此不再赘述。77.b2:基于所述坐标系获取所述目标矩形图像中每一文字的坐标信息。78.坐标信息可以基于前述的坐标系进行确定,用于描述文字在目标矩形图像中的位置。坐标信息还可用于确定该文字的尺寸。进一步的,可基于待识别文字中所有文字的坐标信息确定文字的平均尺寸。79.需要说明的是,本技术对于步骤b1和步骤b2之间的执行顺序不做限定,可以先执行步骤b1,再执行步骤b2。或者先执行步骤b2,再执行步骤b1。或者同时执行步骤b1和步骤b2。80.b3:基于所述坐标信息和所述语种确定所述文字的预设间隔。81.在本技术实施例中,可以预先存储语种和行间距之间的映射关系。在确定语种之后,可确定该语种对应的行间距。每一行文字的预设间隔可以相同,或不同。在该示例中,可以基于文字的坐标信息确定目标矩形图像中文字的尺寸信息,从而基于行间距和尺寸信息,以及目标矩形图像的尺寸信息确定该文字和下划线之间的预设间隔。82.b4:基于所述预设间隔和所述坐标信息在所述文字的下方画出子线段。83.在本技术实施例中,每一文字下方可以包括一个子线段,用于描述该文字的走向。可以基于文字的坐标信息中确定文字的下边界的位置,再基于预设间隔和下边界的位置确定子线段的位置,从而画出子线段。84.b5:对所述子线段进行调整,得到所述目标矩形图像中每一行文字图像的虚拟下划线。85.在本技术实施例中,可以对行文字图像中的每一文字的子线段进行微调,以使子线段连接起来为一条直线,或幅度变化较小的曲线。86.可以理解,在步骤b1~b5中,基于待识别文字的语种和目标矩形图像中每一文字的坐标信息确定文字的预设间隔。再基于文字的预设间隔和坐标信息在该文字的下方画出线段,得到子线段。然后对子线段进行调整,得到目标矩形图像中每一行文字图像的虚拟下划线。如此,可提高虚拟下划线描述文字走向的准确率,有利于提高虚拟下划线确定目标矩形图像中行文字的倾斜角度的准确率。87.s105:基于所述虚拟下划线和所述参考直线确定所述行文字图像的倾斜角度。88.在本技术实施例中,行文字图像的倾斜角度可以理解为该行文字图像对应的文字行的倾斜角度。本技术对于确定倾斜角度的方法不做限定,在一种可能的示例中,若参考直线与虚拟下划线相交,则可以直接获取参考直线和虚拟下划线之间的夹角,作为行文字图像的倾斜角度。若参考直线与虚拟下划线不相交,则可以分别获取参考直线和虚拟下划线与x轴之间的夹角,再获取该夹角的平均值;或者将参考直线进行平移,以使与虚拟下划线进行相交,再以相交的夹角作为倾斜角度。89.若存在多条参考直线,可以选取目标参考直线,再基于目标参考直线和虚拟下划线确定行文字图像的倾斜角度。在本技术实施例中,可以选取参考直线中最长的一条参考直线作为目标参考直线,或者可以选取与虚拟下划线相交的参考直线作为目标参考直线等。90.或者若存在多条参考直线,可以获取每一参考直线和虚拟下划线之间的夹角,得到多个夹角,再基于多个夹角的平均值确定行文字图像的倾斜角度等。91.s106:基于光学字符识别模型对所述倾斜角度对应的行文字图像进行文字识别。92.光学字符识别(opticalcharacterrecognition,ocr)模型是基于ocr技术的模型。ocr技术是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状。然后用字符识别方法将形状翻译成计算机文字的过程。即针对印刷体字符,采用光学的方式将纸质文档中的文字转换成为黑白点阵的图像文件,并通过识别软件将图像中的文字转换成文本格式,供文字处理软件进一步编辑加工的技术。93.在本技术实施例中,ocr模型用于对目标图像进行文字识别,以识别出待识别文字。在一种可能的示例中,在步骤s106之前,还包括以下步骤:确定所述待识别文字的场景信息;基于所述场景信息确定所述待识别文字的识别精度;从预设光学字符识别模型库中选取与所述语种、所述识别精度和所述倾斜角度对应的所述光学字符识别模型。94.其中,场景信息可参照步骤s101的描述,语种可参照步骤b1的描述,在此不再赘述。可以理解,不同的场景信息要求不同的识别精度。例如,身份认证的场景下的识别精度大于普通的文字识别的场景下的识别精度,病例读取的场景下的识别精度大于身份认证的场景下的识别精度等。在本技术实施例中,可预先存储不同场景信息对应的识别精度,从而在确定待识别文字的场景信息之后确定该待识别文字的识别精度。95.预设光学字符识别模型中存储有不同类型的ocr模型。可以理解,在该示例中,从预设光学字符识别模型中选取与语种、识别精度和倾斜角度对应的ocr模型,可进一步提高文字识别的准确率。96.在图1所示的方法中,先基于yolo模型获取待识别文字对应的参考矩形图像。再基于生成式对抗网络对参考矩形图像进行图像增强,得到目标矩形图像。然后基于直线检测模型从目标矩形图像中选取参考直线,并获取目标矩形图像中每一行文字图像的虚拟下划线。然后基于虚拟下划线和参考直线确定行文字图像的倾斜角度。最后基于光学字符识别模型对倾斜角度对应的行文字图像进行文字识别。如此,可提高文字识别的准确率。97.在一种可能的示例中,在步骤s105之后,基于所述倾斜角度对所述目标矩形图像进行调整,得到待识别图像;基于ocr模型对所述待识别图像进行文字识别。98.其中,目标矩形图像可以基于倾斜角度之间的平均值进行调整,或者基于ocr模型擅长识别的角度进行调整,或者每一行文字图像按照其对应的倾斜角度进行调整等。如此,可提高多种文字识别方法进行文字识别。99.在基于ocr模型对所述待识别图像进行文字识别,以及基于光学字符识别模型对所述倾斜角度对应的行文字图像进行文字识别之后,可基于两者方法得到的识别结果进行融合决策。例如,识别文字相同,则确认。否则,基于相同的文字和语义计算准确率,以准确率大的作为结果。100.上述详细阐述了本技术实施例的方法,下面提供了本技术实施例的装置。101.与图1所示的实施例一致,请参照图2,图2是本技术提出的一种文字识别装置的结构示意图,如图2所示,上述文字识别装置200包括:102.处理单元201用于基于yolo模型获取待识别文字对应的参考矩形图像;基于生成式对抗网络对所述参考矩形图像进行图像增强,得到目标矩形图像;基于直线检测模型从所述目标矩形图像中选取参考直线;获取所述目标矩形图像中每一行文字图像的虚拟下划线;基于所述虚拟下划线和所述参考直线确定所述行文字图像的倾斜角度;103.识别单元202用于基于所述光学字符识别模型对所述倾斜角度对应的行文字图像进行文字识别。104.在一个可能的示例中,所述处理单元201具体用于基于直线检测模型获取所述目标矩形图像中的多条第一直线;从所述多条第一直线中选取第二直线;对所述第二直线进行聚类,得到所述目标矩形图像中的参考直线。105.在一个可能的示例中,所述处理单元201具体用于建立所述目标矩形图像的坐标系;基于所述坐标系获取所述第一直线的长度和角度;从所述第一直线中筛选出所述长度大于预设长度,且所述角度属于预设角度范围的第一直线,得到第二直线。106.在一个可能的示例中,所述处理单元201具体用于确定所述待识别文字的语种;基于所述坐标系获取所述目标矩形图像中每一文字的坐标信息;基于所述坐标信息和所述语种确定所述文字的预设间隔;基于所述预设间隔和所述坐标信息在所述文字的下方画出子线段;对所述子线段进行调整,得到所述目标矩形图像中每一行文字图像的虚拟下划线。107.在一个可能的示例中,所述处理单元201还用于确定所述待识别文字的场景信息;基于所述场景信息确定所述待识别文字的识别精度;从预设光学字符识别模型库中选取与所述语种、所述识别精度和所述倾斜角度对应的所述光学字符识别模型。108.在一个可能的示例中,所述处理单元201具体用于若所述参考直线与所述虚拟下划线相交,则确定所述行文字图像的倾斜角度为所述参考直线和所述虚拟下划线之间的夹角;或者若所述参考直线与所述虚拟下划线不相交,则确定所述行文字图像的倾斜角度为所述参考直线与参考轴之间的夹角,和所述虚拟下划线与所述参考轴之间的夹角的平均值;或者若所述参考直线的数量大于或等于2,则从所述参考直线中选取目标参考直线,基于所述目标参考直线和所述虚拟下划线确定所述行文字图像的倾斜角度。109.在一个可能的示例中,所述装置200还包括通信单元203,用于接收用户发送的目标区域的文字识别指令;所述处理单元201具体用于基于yolo模型对所述目标区域进行定位,得到待识别文字的参考矩形图像。110.在一个可能的示例中,所述通信单元203还用于向所述用户发送所述文字识别的结果。111.该文字识别装置200中各个单元执行详细过程可以参见前述方法实施例中的执行步骤,此处不在赘述。112.与图1的实施例一致,请参照图3,图3是本技术实施例提供的一种计算机设备的结构示意图。如图3所示,该计算机设备300包括处理器310、存储器320、通信接口330以及一个或多个程序340。处理器310、存储器320和通信接口330之间通过总线320互相连接。图2所示的通信单元203所实现的相关功能可通过通信接口330来实现,图2所示的处理单元201和识别单元202所实现的相关功能可通过处理器310来实现。113.上述一个或多个程序340被存储在上述存储器320中,并且被配置由上述处理器310执行,上述程序340包括用于执行以下步骤的指令:114.基于yolo模型获取待识别文字对应的参考矩形图像;115.基于生成式对抗网络对所述参考矩形图像进行图像增强,得到目标矩形图像;116.基于直线检测模型从所述目标矩形图像中选取参考直线;117.获取所述目标矩形图像中每一行文字图像的虚拟下划线;118.基于所述虚拟下划线和所述参考直线确定所述行文字图像的倾斜角度;119.基于光学字符识别模型对所述倾斜角度对应的行文字图像进行文字识别。120.在一个可能的示例中,在所述基于直线检测模型从所述目标矩形图像中选取参考直线方面,所述程序340具体用于执行以下步骤的指令:121.基于直线检测模型获取所述目标矩形图像中的多条第一直线;122.从所述多条第一直线中选取第二直线;123.对所述第二直线进行聚类,得到所述目标矩形图像中的参考直线。124.在一个可能的示例中,在所述从所述多条第一直线中选取第二直线方面,所述程序340具体用于执行以下步骤的指令:125.建立所述目标矩形图像的坐标系;126.基于所述坐标系获取所述第一直线的长度和角度;127.从所述第一直线中选取所述长度大于预设长度,且所述角度属于预设角度范围的第一直线,得到第二直线。128.在一个可能的示例中,在所述获取所述目标矩形图像中每一行文字图像的虚拟下划线方面,所述程序340具体用于执行以下步骤的指令:129.确定所述待识别文字的语种;130.基于所述坐标系获取所述目标矩形图像中每一文字的坐标信息;131.基于所述坐标信息和所述语种确定所述文字的预设间隔;132.基于所述预设间隔和所述坐标信息在所述文字的下方画出子线段;133.对所述子线段进行调整,得到所述目标矩形图像中每一行文字图像的虚拟下划线。134.在一个可能的示例中,在所述基于光学字符识别模型对所述倾斜角度对应的行文字图像进行文字识别之前,所述程序340还用于执行以下步骤的指令:135.确定所述待识别文字的场景信息;136.基于所述场景信息确定所述待识别文字的识别精度;137.从预设光学字符识别模型库中选取与所述语种、所述识别精度和所述倾斜角度对应的所述光学字符识别模型。138.在一个可能的示例中,在所述基于所述虚拟下划线和所述参考直线确定所述行文字图像的倾斜角度方面,所述程序340具体用于执行以下步骤的指令:139.若所述参考直线与所述虚拟下划线相交,则确定所述行文字图像的倾斜角度为所述参考直线和所述虚拟下划线之间的夹角;或者140.若所述参考直线与所述虚拟下划线不相交,则确定所述行文字图像的倾斜角度为所述参考直线与参考轴之间的夹角,和所述虚拟下划线与所述参考轴之间的夹角的平均值;或者141.若所述参考直线的数量大于或等于2,则从所述参考直线中选取目标参考直线,基于所述目标参考直线和所述虚拟下划线确定所述行文字图像的倾斜角度。142.在一个可能的示例中,在所述基于yolo模型获取待识别文字对应的参考矩形图像之前,所述程序340还用于执行以下步骤的指令:143.接收用户发送的目标区域的文字识别指令;144.在所述基于yolo模型获取待识别文字对应的参考矩形图像方面,所述程序340具体用于执行以下步骤的指令:145.基于yolo模型对所述目标区域进行定位,得到待识别文字的参考矩形图像。146.本技术实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于存储计算机程序,该计算机程序使得计算机执行以实现方法实施例中记载的任一方法的部分或全部步骤,计算机包括电子设备和服务器。147.本技术实施例还提供一种计算机程序产品,计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,计算机程序可操作来使计算机执行以实现方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,计算机包括电子设备和服务器。148.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模式并不一定是本技术所必须的。149.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。150.在本技术所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如至少一个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。151.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到至少一个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。152.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模式的形式实现。153.集成的单元如果以软件程序模式的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。根据这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机(可为个人计算机、服务器或者网络设备等)执行本技术各个实施例方法的全部或部分步骤。而前述的存储器包括:u盘、只读存储器(read‑onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。154.以上对本技术实施例进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本技术的限制。当前第1页12
当前第1页1 2 
当前第1页1 2 
网友询问留言 留言:0条
  • 还没有人留言评论。精彩留言会获得点赞!
1