文本识别方法、装置、设备及可读存储介质
文献发布时间:2023-06-19 09:27:35
技术领域
本申请涉及文本识别领域,具体涉及一种文本识别方法、装置、设备及计算机可读存储介质。
背景技术
文本识别又称OCR(Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程。
而现有的文本识别算法,常常各种外界因素的干扰,包括文字方向以及背景等,现有技术中,只能识别文字的倾斜角度,然后进行对应的调整,当文字是纵向时,调整后的文字依然不是正向的文字,从而造成文本检测和识别准确率低以及识别的周期长,效率低。
发明内容
本申请实施例提供一种文本识别方法、装置、设备及计算机可读存储介质,旨在实现提高文本识别的准确率以及效率,提高用户体验。
本申请实施例提供一种文本识别方法,包括:
获取包含文本的待识别图像;
获取标准长度与标准宽度;
根据所述标准长度与标准宽度,对所述待识别图像的长度和宽度进行处理,获得处理长度与宽度后的待识别图像;
将所述处理长度与宽度后的待识别图像进行文本位置识别,并将识别到的文本位置作为所述处理长度与宽度后的待识别图像的待识别区域;
根据所述待识别区域的文本高宽比将所述待识别区域进行角度调整处理,得到处理后的待识别区域;
对处理后的待识别区域进行文本识别,得到文本识别结果。
相应的,本申请实施例还提供一种文本识别装置,包括:
第一获取单元,用于获取包含文本的待识别图像;
第二获取单元,用于获取标准长度与标准宽度;
处理单元,用于根据所述标准长度与标准宽度,对所述待识别图像的长度和宽度进行处理,获得处理长度与宽度后的待识别图像;
第一识别单元,用于将所述处理长度与宽度后的待识别图像进行文本位置识别,并将识别到的文本位置作为所述处理长度与宽度后的待识别图像的待识别区域;
调整单元,用于根据所述待识别区域的文本高宽比将所述待识别区域进行角度调整处理,得到处理后的待识别区域;
第二识别单元,用于对处理后的待识别区域进行文本识别,得到文本识别结果。
此外,本申请实施例还提供一种设备,其特征在于,包括:处理器和存储器;所述存储器质存储有多条指令,所述处理器加载所述存储器存储的指令以执行本申请实施例所提供的任一种文本识别方法中的步骤。
此外,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本申请实施例所提供的任一种文本识别方法中的步骤。
本申请实施例通过获取包含文本的待识别图像以及标准长度与标准宽度;根据所述标准长度与标准宽度,对所述待识别图像的长度和宽度进行处理,获得处理长度与宽度后的待识别图像;将所述处理长度与宽度后的待识别图像进行文本位置识别,并将识别到的文本位置作为所述处理长度与宽度后的待识别图像的待识别区域;根据所述待识别区域的文本高宽比将所述待识别区域进行角度调整处理,得到处理后的待识别区域;通过结合文本高宽比判断文本的具体朝向,比如为纵向或者横向,然后再对待识别区域进行角度调整处理,并在角度调整之后,根据文本高宽比进行进一步的调整,从而确保将待识别区域调整为文本处于正向的状态,再对处理后的待识别区域进行文本识别,得到文本识别结果,从而避免了进行文本识别时,由于文本不处于正向的状态,造成文本识别的效率以及准确率不高的问题,即提高了文本识别的准确率以及效率,提高了用户体验。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的文本识别方法的场景示意图;
图2是本申请实施例提供的设备的结构示意图;
图3a是本申请实施例提供的文本识别方法的一流程示意图;
图3b是本申请实施例提供的DBnet模型的结构示意图;
图3c是本申请实施例提供的卷积循环神经网络的结构示意图;
图3d是本申请实施例提供的卷积循环神经网络的循环层的结构示意图;
图4a是本申请实施例提供的文本识别装置一结构示意图;
图4b是本申请实施例提供的文本识别装置另一结构示意图;
图4c是本申请实施例提供的文本识别装置再一结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本发明实施例提供一种文本识别方法、装置、设备和存储介质。
其中,该设备可以为终端、服务器等设备,终端可以为手机、平板电脑、智能蓝牙设备、笔记本电脑、或者个人电脑(Personal Computer,PC)等设备;服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群。
例如,参考图1,该设备可以是智能手机,该智能手机在运行于OpenCV环境下时,通过摄像头获取待识别图像,然后对待识别图像进行预处理之后,进行文本位置识别,得到该待识别图像的待识别区域,并对待识别区域进行角度调整,得到调整后的待识别区域,最后基于调整后的待识别区域进行文本识别,得到待识别图像的文本内容。
本申请实施例提供的设备,可如图2所示,其示出了本申请实施例所涉及的设备的结构示意图,具体来讲:
其中,在一些实施例中,请参照图2,该设备400可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403、输入单元404、摄像头405和显示单元406等部件。本领域技术人员可以理解,图1中示出的设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该设备的控制中心,利用各种接口和线路连接整个设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行设备的各种功能和处理数据,从而对设备进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
设备还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
该设备还可包括摄像头405,该摄像头405可用于拍摄待识别的视频流或图像。当然,本申请的待识别的视频流或者图像还可以直接从设备的本地数据库获取,不需要通过拍摄得到。
该设备还可包括显示单元406,该显示单元406可用于显示摄像头405拍摄到的视频流或者图像,以及显示识别得到的文本结果等。
具体在本实施例中,设备中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现本申请任一实施例所述的方法,例如获取包含文本的待识别图像以及标准长度与标准宽度;根据所述标准长度与标准宽度,对所述待识别图像的长度和宽度进行处理,获得处理长度与宽度后的待识别图像;将所述处理长度与宽度后的待识别图像进行文本位置识别,并将识别到的文本位置作为所述处理长度与宽度后的待识别图像的待识别区域;进一步获取所述待识别区域的文本高宽比;根据所述文本高宽比将所述待识别区域进行角度调整处理,得到处理后的待识别区域;通过结合文本高宽比判断文本的具体朝向,比如为纵向或者横向,然后再对待识别区域进行角度调整处理,从而确保将待识别区域调整为文本处于正向的状态,再对处理后的待识别区域进行文本识别,得到文本识别结果,从而提高了文本识别的准确率以及效率,提高了用户体验。
以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
如图3a所示,该文本识别方法的具体流程可以如下:
301,获取包含文本的待识别图像。
具体地,待识别图像是指包含了等待被进行文本识别的图像,可包括广告牌、电子元件、电子设备、证件等物件对应的图像。
而获取待识别图像的方式具有多种,比如,可以通过设备包含的摄像头拍摄待识别物件,从而获取待识别图像,其中,通过摄像头进行拍摄时,具体可进行视频拍摄或者图像拍摄,当拍摄的为图像时,直接将拍摄得到的图像作为待识别图像,当拍摄的为视频时,对视频进行帧提取,将提取到的帧图像作为待识别图像;也可以通过网络从图像数据库中获取;还可以从设备本地内存中读取得到,等等。
302,获取标准长度与标准宽度。
303,根据所述标准长度与标准宽度,对所述待识别图像的长度和宽度进行处理,获得处理长度与宽度后的待识别图像。
获取待识别图像对应的标准长度与标准宽度,其中,标准长度与标准宽度可通过待识别图像的当前长度与预设值的比值,以及当前宽度与预设值的比值计算得到。具体地,将待识别图像的当前长度与预设值进行相除,得到待识别图像的当前长度与预设值的比值,若待识别图像的当前长度与预设值的比值为整数,则待识别图像对应的标准长度即为当前长度;若待识别图像的当前长度与预设值的比值为非整数,则首先获取此时与待识别图像的当前长度与预设值的比值最接近的整数值,比如,假设此时待识别图像的当前长度与预设值的比值为1.8,则此时与1.8最接近的整数值为2,此时,待识别图像的标准长度为2与预设值的乘积。即可将待识别图像的当前长度,调整为计算得到的标准长度。同理计算待识别图像的标准宽度,然后将待识别图像的当前宽度调整为计算得到的标准宽度,从而获得处理长度与宽度后的待识别图像。
进一步地,在获得处理长度与宽度后的待识别图像之后,可以进一步对待识别图像的像素pix进行处理,具体地,可以将待识别图像进行图像减均值,即将待识别图像的RGB三个通道同时减去对应的均值,然后除以方差,其中均值的取值可以为[0.485,0.456,0.406],方差取值可以为[0.229,0.224,0.225],具体地,对于每个像素pix的处理公式可以为:(pix/255.0-mean)/std。从而统一待识别图像的格式,减少后续处理待识别图像的时间,提高识别效率。
304,将所述处理长度与宽度后的待识别图像进行文本位置识别,并将识别到的文本位置作为所述处理长度与宽度后的待识别图像的待识别区域。
其中,文本位置识别即识别待识别图像中出现文本的区域,文本可包括各种形状的中英文以及符号等。
在一些实施例中,可以采用DBnet模型识别待识别图像的文本位置识别,
其中,参考图3b,该DBnet模型可以包括卷积层、融合层以及输出层,卷积层对待识别图像进行卷积处理,获得待识别图像的probabilily map,即分隔图,和threshold map,即阈值图,然后将分隔图与阈值图进行融合,即进行自适应二值化处理,approximatebinary map,得到二值化图,再结合分隔图,即可获得待识别区域。
具体地,将所述预处理后的待识别图像进行文本位置识别,并将识别到的文本位置作为所述预处理后的帧图像的待识别区域,包括:
A1,将所述处理长度与宽度后的待识别图像输入第一预设模型中进行卷积,获得所述处理长度与宽度后的待识别图像后的待识别图像的分隔图和阈值图;
A2,将所述分隔图和阈值图进行二值化处理,获得所述处理长度与宽度后的待识别图像的二值化图;
A3,获取所述二值化图中阈值大于预设值的区域;
A4,将所述阈值大于预设值的区域设置为待识别区域。
在本实施例中,第一预设模型可以为DBnet模型,当然,还可以为EAST模型,在此不做限制,本实施例以第一预设模型为DBnet模型进行举例说明。具体地,将处理长度与宽度后的待识别图像输入DBnet模型的卷积层中进行卷积处理,获得待识别图像的分隔图与阈值图,其中,阈值图中的阈值是从网络中学习到的自适应阈值,也就是说将训练数据传入网络训练之后得到的参数。在实施过程中,将训练得到的参数,作为DBnet模型的卷积处理的参数,对待识别图像进行卷积处理,得到分隔图与阈值图。分隔图(probability map),大小为图像长*图像宽*1,代表像素点是文本的概率。阈值图(threshold map),大小为图像长*图像宽*1,代表每个像素点的阈值。
将分隔图和阈值图通过DBnet模型的融合层进行融合后,得到融合图,对融合图进行二值化处理,获得待识别图像的二值化图,获取二值化图中阈值大于预设值的区域。将阈值大于预设值的区域设置为待识别区域,即可获得待识别区域,待识别区域可通过DBnet模型的输出层进行输出。由于在对DBnet模型训练过程中,是基于可微分的二值化函数以及损失函数进行结合,从而将二值化过程嵌入到网络中实现了端到端的优化。具体训练过程中,对于网络输出采用了可微分的二值化函数,嵌入到网络中实现端到端的优化。其中,损失函数L=L
通过DBnet模型对待识别图像进行处理,提高了处理的准确率,尤其在多方向文字和弯曲文字方面。并且因为DBnet模型简化了输出结果后处理,从而提高了处理速度。
然后获取二值化图中阈值大于预设值的区域,具体实施过程中,二值化图的像素值,即阈值范围可设置为0-1,将像素值大于0.3的区域认为是有文字的区域,因此,将阈值大于预设值,即大于0.3的区域设置为待识别区域。
305、根据所述待识别区域的文本高宽比将所述待识别区域进行角度调整处理,得到处理后的待识别区域。
在本实施例中,结合文本高宽比对待识别区域进行角度调整处理,从而保证将文字调整为正向状态。
具体地,步骤306可包括:
B1,建立所述待识别区域的文本图像轮廓的边界框;
B2,获取所述文本图像轮廓的边界框的坐标;
B3,根据所述文本图像轮廓的边界框的坐标获取所述待识别区域的文本高宽比;
B4,根据所述文本图像轮廓边界框的坐标获取文本倾斜角度;
B5,根据所述文本倾斜角度与所述文本高宽比对待识别区域进行角度调整处理,得到角度处理后的待识别区域。
通过Opencv的轮廓查找方法对待识别区域进行文本图像轮廓查找,并建立查找到的文本图像轮廓的边界框,具体可设置文本图像轮廓的参数为:mode=RETR_LIST,method=CHAIN_APPROX_SIMPLE,从而只检测文本最外层轮廓,并且保存轮廓上所有点。然后获取文本图像轮廓的边界框的坐标,具体在建立查找到的文本图像轮廓的边界框之后,可根据实际情况建立坐标系,从而获得边界框的坐标,即文本轮廓四个顶点的坐标,然后根据文本轮廓四个顶点的坐标,计算文本的高与宽,并根据文本的高与宽,计算文本高宽比,根据文本图像轮廓边界框的坐标获取文本倾斜角度,具体可通过Opencv(OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。)的min Area Rect(最小矩形区域)函数拟合文本边界框的坐标,得到文本倾斜的角度angle,根据文本倾斜角度与文本高宽比对待识别区域进行角度调整处理,得到处理后的待识别区域。
其中,在采用Opencv的最小矩形区域方法拟合文本边界框的坐标的方法,计算文本倾斜角度时,具体可根据待识别区域的宽的坐标进行计算。
即具体地,步骤B2可包括:
C1,获取所述文本图像轮廓的边界框中,边长宽与高的坐标;
C2,根据所述边长宽与高的坐标计算文本倾斜角度。
其中,边界框的坐标可包括边长宽与高的顶点的坐标,在本实施例中,限定邻近X轴的边即为字图像轮廓边界框的宽,另一边即为高。此时,可以运行在Linux、Windows、Android和Mac OS操作系统上。)的min Area Rect(最小矩形区域)函数拟合文本框边长宽与高的顶点的坐标,得到文本倾斜的角度angle。
具体地,步骤B4可包括:
D1,根据所述文本高宽比判断所述待识别区域的文本为纵向或者横向;
D2,若所述待识别区域的文本为横向,则根据所述文本倾斜角度,对所述待识别区域进行与所述文本倾斜角度对应的角度旋转;
D3,若所述待识别区域的文本为纵向,则对所述待识别区域进行与所述文本倾斜角度对应的角度旋转之后,将所述待识别区域调整为横向。
由于min Area Rect函数返回的角度范围,即文本倾斜角度为[-90~0),当文本图像轮廓边界框的边界与坐标轴平行时,函数返回的角度为-90度。但此时待识别区域的文本有可能为纵向,也有可能为横向,此时单独通过文本倾斜角度无法获知待识别区域中的文本本身是横向还是竖向,若此时待识别区域的文本为横向,则可以不进行调整,当待识别区域中的文本为纵向时,此时不调整,则后续识别的文本为倒向。此时,可获取待识别区域的文本的高宽比;根据待识别区域的文本的高宽比,判断待识别区域为横向还是竖向。若待识别区域的文本为横向,则根据文本倾斜角度,对待识别区域进行与所述文本倾斜角度对应的角度旋转,若待识别区域的文本为纵向,则对待识别区域进行与所述文本倾斜角度对应的角度旋转之后,将所述待识别区域调整为横向。最终得到调整为正向的待识别区域,使得最终识别的文本的状态都是正向的,从而提高文本识别的准确率与效率。
具体地,步骤D1可包括:
E1,将所述文本高宽比与预设值进行对比;
E2,若所述文本高宽比大于所述预设值,则确定所述待识别区域的文本为纵向;
E3,若所述文本高宽比等于或小于所述预设值,则确定所述待识别区域的文本为横向。
具体地,将文本高宽比与预设值进行对比,在本实施例中,预设值可取值为1.3,若所述高宽比大于预设值,则确定此时文本为纵向,若所述高宽比小于或等于预设值,则确定此时文本为横向。
306、对处理后的待识别区域进行文本识别,得到文本识别结果。
在对待识别区域进行调整之后,即可对待识别区域进行文本识别,从而得到文本识别结果。在本实施例中,为了提高文本识别的准确性,采用卷积循环神经网络对待识别区域进行文本识别,卷积循环神经网络的结构示意图可参考图3c。
在一些实施例中,为了降低计算量、提高计算效率,卷积循环神经网络的卷积层可以为任意一种轻量级的分组卷积网络网络,如Shufflenet、Mobilenet,等等。
在一些实施例中,为了提高文本内容的识别准确率、提高文本之间在时序上的逻辑紧密性,卷积循环神经网络的循环层可以为任意一种双向循环网络,如双向长短时间记忆网络(DEEP-directional Long Short-Term Memory,深度双向LSTM)。
具体地,通过卷积循环神经网络进行文本识别时,对处理后的待识别区域进行文本识别,得到文本识别结果,包括:
F1、通过第二预设模型对所述处理后的待识别区域进行卷积,获得所述处理后的待识别区域的卷积特征矩阵;
F2、根据所述卷积特征矩阵获取所述处理后的待识别区域的文本序列特征;
F3、根据所述文本序列特征获取对应的预测标签;
F4、根据所述预测标签输出所述处理后的待识别区域的文本识别结果。
具体地,将处理后的图像输入第二预设模型中,即卷积循环神经网络,通过卷积循环神经网络对处理后的图像进行卷积,获得处理后的图像的卷积特征矩阵,根据卷积特征矩阵获取处理后的图像的文本序列特征,具体为通过卷积循环神经网络的循环层,进一步提取卷积特征矩阵中的序列特征,得到文本序列特征。卷积循环神经网络的循环层的结构图可参考图3d,循环层具体包括forget gate(遗忘门)、input gate(输入门)output gate(输出门),通过遗忘门判断需要丢弃的干扰信息;通过输入门输入需要保存的信息或者待更新的信息;通过输出门决定当前神经原细胞输出的隐向量;根据forget gate(遗忘门)、input gate(输入门)output gate(输出门)结合提取卷积特征图中的序列特征。具体地,在获得卷积特征矩阵之后,通过遗忘门将卷积特征矩阵中需要丢弃的干扰信息去除;通过输入门保存卷积特征矩阵中需要保存的信息或者待更新的信息;通过输出门获得当前卷积特征矩阵神经原细胞输出的隐向量,通过将输入门的信息与输出门的隐向量进行内积,得到序列特征。
然后通过转录层获取对应的预测标签,以及根据预测标签输出处理后的图像的文本识别结果。具体地,转录层获取对应的预测标签具体做法是在每帧预测的条件下计算出所有字典的概率,取最大的即为最终的预测字符串。以“-”符号代表blank,RNN输出序列时,在文本标签中的重复的字符之间插入一个“-”,即有blank字符隔开的话,连续相同字符就不进行合并,对字符序列先删除连续重复字符,然后从路径中删除所有“-”字符。
本申请通过获取包含文本的待识别图像以及标准长度与标准宽度;根据所述标准长度与标准宽度,对所述待识别图像的长度和宽度进行处理,获得处理长度与宽度后的待识别图像;将所述处理长度与宽度后的待识别图像进行文本位置识别,并将识别到的文本位置作为所述处理长度与宽度后的待识别图像的待识别区域;根据所述待识别区域的文本高宽比将所述待识别区域进行角度调整处理,得到处理后的待识别区域;通过结合文本高宽比判断文本的具体朝向,比如为纵向或者横向,然后再对待识别区域进行角度调整处理,并在角度调整之后,根据文本高宽比进行进一步的调整,从而确保将待识别区域调整为文本处于正向的状态,再对处理后的待识别区域进行文本识别,得到文本识别结果,从而避免了进行文本识别时,由于文本不处于正向的状态,造成文本识别的效率以及准确率不高的问题,即提高了文本识别的准确率以及效率,提高了用户体验。
为了更好地实施以上方法,本申请实施例还可以提供一种文本识别装置。
例如,如图4a所示,该文本识别装置可以包括第一获取单元401、第二获取单元402,处理单元403、第一识别单元403、调整单元404和第二识别单元405,如下:
(1)第一获取单元401
第一获取单元401,用于获取包含文本的待识别图像。
具体地,待识别图像是指包含了等待被进行文本识别的图像,可包括广告牌、电子元件、电子设备、证件等物件对应的图像。
而获取待识别图像的方式具有多种,比如,可以通过设备包含的摄像头拍摄待识别物件,从而获取待识别图像,其中,通过摄像头进行拍摄时,具体可进行视频拍摄或者图像拍摄,当拍摄的为图像时,直接将拍摄得到的图像作为待识别图像,当拍摄的为视频时,对视频进行帧提取,将提取到的帧图像作为待识别图像;也可以通过网络从图像数据库中获取;还可以从设备本地内存中读取得到,等等。
(2)第二获取单元402
第二获取单元,用于获取标准长度与标准宽度。
(3)处理单元403
处理单元403,用于根据所述标准长度与标准宽度,对所述待识别图像的长度和宽度进行处理,获得处理长度与宽度后的待识别图像。
获取待识别图像对应的标准长度与标准宽度,其中,标准长度与标准宽度可通过待识别图像的当前长度与预设值的比值,以及当前宽度与预设值的比值计算得到。具体地,将待识别图像的当前长度与预设值进行相除,得到待识别图像的当前长度与预设值的比值,若待识别图像的当前长度与预设值的比值为整数,则待识别图像对应的标准长度即为当前长度;若待识别图像的当前长度与预设值的比值为非整数,则首先获取此时与待识别图像的当前长度与预设值的比值最接近的整数值,比如,假设此时待识别图像的当前长度与预设值的比值为1.8,则此时与1.8最接近的整数值为2,此时,待识别图像的标准长度为2与预设值的乘积。即可将待识别图像的当前长度,调整为计算得到的标准长度。同理计算待识别图像的标准宽度,然后将待识别图像的当前宽度调整为计算得到的标准宽度,从而获得处理长度与宽度后的待识别图像。
进一步地,在获得处理长度与宽度后的待识别图像之后,可以进一步对待识别图像的像素pix进行处理,具体地,可以将待识别图像进行图像减均值,即将待识别图像的RGB三个通道同时减去对应的均值,然后除以方差,其中均值的取值可以为[0.485,0.456,0.406],方差取值可以为[0.229,0.224,0.225],具体地,对于每个像素pix的处理公式可以为:(pix/255.0-mean)/std。从而统一待识别图像的格式,减少后续处理待识别图像的时间,提高识别效率。
(4)第一识别单元404
第一识别单元404,用于将所述处理长度与宽度后的待识别图像进行文本位置识别,并将识别到的文本位置作为所述处理长度与宽度后的待识别图像的待识别区域。
其中,文本位置识别即识别待识别图像中出现文本的区域,文本可包括各种形状的中英文以及符号等。
在一些实施例中,可以采用DBnet模型识别待识别图像的文本位置识别,
其中,参考图3b,该DBnet模型可以包括卷积层、融合层以及输出层,卷积层对待识别图像进行卷积处理,获得待识别图像的probabilily map,即分隔图,和threshold map,即阈值图,然后将分隔图与阈值图进行融合,即进行自适应二值化处理,approximatebinary map,得到二值化图,再结合分隔图,即可获得待识别区域。
(5)调整单元405
调整单元405,用于根据所述待识别区域的文本高宽比将所述待识别区域进行角度调整处理,得到处理后的待识别区域。
在本实施例中,结合文本高宽比对待识别区域进行角度调整处理,从而保证将文字调整为正向状态。
(6)第二识别单元406
第二识别单元406,用于对处理后的待识别区域进行文本识别,得到文本识别结果。
在对待识别区域进行调整之后,即可对待识别区域进行文本识别,从而得到文本识别结果。在本实施例中,为了提高文本识别的准确性,采用卷积循环神经网络对待识别区域进行文本识别,卷积循环神经网络的结构示意图可参考图3c。
在一些实施例中,为了降低计算量、提高计算效率,卷积循环神经网络的卷积层可以为任意一种轻量级的分组卷积网络网络,如Shufflenet、Mobilenet,等等。
在一些实施例中,为了提高文本内容的识别准确率、提高文本之间在时序上的逻辑紧密性,卷积循环神经网络的循环层可以为任意一种双向循环网络,如双向长短时间记忆网络(DEEP-directional Long Short-Term Memory,深度双向LSTM)。
具体地,如图4b所示,所述第一识别单元,包括卷积子单元407、二值化处理子单元408、第一获取子单元409和设置子单元410,具体地:
卷积子单元407,用于将所述处理长度与宽度后的待识别图像输入第一预设模型中进行卷积,获得所述处理长度与宽度后的待识别图像的分隔图和阈值图;
二值化处理子单元408,用于将所述分隔图和阈值图进行二值化处理,获得所述预处理后的待识别图像的二值化图;
第一获取子单元409,用于获取所述二值化图中阈值大于预设值的区域;
设置子单元410,用于将所述阈值大于预设值的区域设置为待识别区域。
在本实施例中,第一预设模型可以为DBnet模型,当然,还可以为EAST模型,在此不做限制,本实施例以第一预设模型为DBnet模型进行举例说明。具体地,将处理长度与宽度后的待识别图像输入DBnet模型的卷积层中进行卷积处理,获得待识别图像的分隔图与阈值图,其中,阈值图中的阈值是从网络中学习到的自适应阈值,也就是说将训练数据传入网络训练之后得到的参数。在实施过程中,将训练得到的参数,作为DBnet模型的卷积处理的参数,对待识别图像进行卷积处理,得到分隔图与阈值图。分隔图(probability map),大小为图像长*图像宽*1,代表像素点是文本的概率。阈值图(threshold map),大小为图像长*图像宽*1,代表每个像素点的阈值。
将分隔图和阈值图通过DBnet模型的融合层进行融合后,得到融合图,对融合图进行二值化处理,获得待识别图像的二值化图,获取二值化图中阈值大于预设值的区域。将阈值大于预设值的区域设置为待识别区域,即可获得待识别区域,待识别区域可通过DBnet模型的输出层进行输出。由于在对DBnet模型训练过程中,是基于可微分的二值化函数以及损失函数进行结合,从而将二值化过程嵌入到网络中实现了端到端的优化。具体训练过程中,对于网络输出采用了可微分的二值化函数,嵌入到网络中实现端到端的优化。其中,损失函数L=L
通过DBnet模型对待识别图像进行处理,提高了处理的准确率,尤其在多方向文字和弯曲文字方面。并且因为DBnet模型简化了输出结果后处理,从而提高了处理速度。
然后获取二值化图中阈值大于预设值的区域,具体实施过程中,二值化图的像素值,即阈值范围可设置为0-1,将像素值大于0.3的区域认为是有文字的区域,因此,将阈值大于预设值,即大于0.3的区域设置为待识别区域。
具体地,如图4c所示,调整单元,包括:建立子单元411、第二获取子单元412、第三获取子单元413、第四获取子单元414和调整子单元415,具体地:
建立子单元411,用于建立所述待识别区域的文本图像轮廓的边界框;
第二获取子单元412,用于获取所述文本图像轮廓的边界框的坐标;
第三获取子单元413,用于根据所述文本图像轮廓的边界框的坐标获取所述待识别区域的文本高宽比;
第四获取子单元414,用于根据所述文本图像轮廓的边界框的坐标获取文本倾斜角度;
调整子单元415,用于根据所述文本倾斜角度与所述文本高宽比对待识别区域进行角度调整处理,得到角度处理后的待识别区域。
通过Opencv的轮廓查找方法对待识别区域进行文本图像轮廓查找,并建立查找到的文本图像轮廓的边界框,具体可设置文本图像轮廓的参数为:mode=RETR_LIST,method=CHAIN_APPROX_SIMPLE,从而只检测文本最外层轮廓,并且保存轮廓上所有点。然后获取文本图像轮廓的边界框的坐标,具体在建立查找到的文本图像轮廓的边界框之后,可根据实际情况建立坐标系,从而获得边界框的坐标,即文本轮廓四个顶点的坐标,然后根据文本轮廓四个顶点的坐标,计算文本的高与宽,并根据文本的高与宽,计算文本高宽比,根据文本图像轮廓边界框的坐标获取文本倾斜角度,具体可通过Opencv(OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。)的min Area Rect(最小矩形区域)函数拟合文本边界框的坐标,得到文本倾斜的角度angle,根据文本倾斜角度与文本高宽比对待识别区域进行角度调整处理,得到处理后的待识别区域。
由上可知,本实施例的文本识别装置,通过第一获取单元401与第二获取单元402获取包含文本的待识别图像以及标准长度与标准宽度;通过处理单元403根据所述标准长度与标准宽度,对所述待识别图像的长度和宽度进行处理,获得处理长度与宽度后的待识别图像;通过第一识别单元404将所述处理长度与宽度后的待识别图像进行文本位置识别,并将识别到的文本位置作为所述处理长度与宽度后的待识别图像的待识别区域;通过调整单元405根据所述待识别区域的文本高宽比将所述待识别区域进行角度调整处理,得到处理后的待识别区域;通过结合文本高宽比判断文本的具体朝向,比如为纵向或者横向,然后再对待识别区域进行角度调整处理,并在角度调整之后,根据文本高宽比进行进一步的调整,从而确保将待识别区域调整为文本处于正向的状态,通过第二识别单元406对处理后的待识别区域进行文本识别,得到文本识别结果,从而避免了进行文本识别时,由于文本不处于正向的状态,造成文本识别的效率以及准确率不高的问题,即提高了文本识别的准确率以及效率,提高了用户体验。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种文本识别方法中的步骤。例如,该指令可以执行如下步骤:
获取包含文本的待识别图像;
获取标准长度与标准宽度;
根据所述标准长度与标准宽度,对所述待识别图像的长度和宽度进行处理,获得处理长度与宽度后的待识别图像;
将所述处理长度与宽度后的待识别图像进行文本位置识别,并将识别到的文本位置作为所述处理长度与宽度后的待识别图像的待识别区域;
根据所述待识别区域的文本高宽比将所述待识别区域进行角度调整处理,得到处理后的待识别区域;
对处理后的待识别区域进行文本识别,得到文本识别结果。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的指令,可以执行本申请实施例所提供的任一种文本识别方法中的步骤,因此,可以实现本申请实施例所提供的任一种文本识别方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种文本识别方法、装置、设备及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。
- 一种文本识别方法、文本识别装置及可读存储介质
- 文本情绪识别方法、装置、计算机设备和可读存储介质