CN116052175A - 文字检测方法、电子设备、存储介质及计算机程序产品 - Google Patents
文字检测方法、电子设备、存储介质及计算机程序产品 Download PDFInfo
- Publication number
- CN116052175A CN116052175A CN202211337889.3A CN202211337889A CN116052175A CN 116052175 A CN116052175 A CN 116052175A CN 202211337889 A CN202211337889 A CN 202211337889A CN 116052175 A CN116052175 A CN 116052175A
- Authority
- CN
- China
- Prior art keywords
- text
- frame
- frames
- line
- combination
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/1444—Selective acquisition, locating or processing of specific regions, e.g. highlighted text, fiducial marks or predetermined fields
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/148—Segmentation of character regions
- G06V30/153—Segmentation of character regions using recognition of characters or words
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/18—Extraction of features or characteristics of the image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/191—Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
- G06V30/19107—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/191—Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
- G06V30/19173—Classification techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Character Input (AREA)
Abstract
本申请实施例提供一种文字检测方法、电子设备、存储介质及计算机程序产品。方法包括:获取待处理图像;将待处理图像输入文字检测模型,获得待处理图像中的至少一个文字框和至少一个中心线,文字框是包围预测文字区域中的至少一部分区域的框,中心线是预测文字区域的中心线;对至少一个文字框和至少一个中心线进行聚类,获得至少一个框线组合,每个框线组合包括单个中心线以及一个或多个文字框;对于至少一个框线组合中的任一框线组合,基于该框线组合中的中心线和/或文字框确定该框线组合所对应的预测文字区域的位置信息。通过文字框和中心线的组合就可以有效检测弯曲文字以及拥有极大长宽比的文字。
Description
技术领域
本申请涉及图像处理技术领域,更具体地涉及一种文字检测方法、电子设备、存储介质及计算机程序产品。
背景技术
现有的文字检测技术方案根据模型预测方式可以划分为3类:基于回归的检测方案、基于分割的检测方案以及混合二者的检测方案,三者各有优缺点。基于回归的检测方案召回率更高,对于文字排列方向更敏感,但是对于弯曲文字及长宽比较大文字的检测效果不好。基于分割的检测方案能有效解决基于回归方案的缺点,但是对文字排列方向不敏感,因此对网格排版文字检测效果不好,同时也不能较好地检测存在重叠的文字。因此,混合上述二者产生的方案可以取长补短,取得更优结果,但是大部分混合方案的模型结构比较复杂,且若要适用于弯曲文字检测,多数方案是基于先回归后分割的串行结构(先通过回归检测矩形框,再通过分割完成弯曲文字区域检测)或者依赖更昂贵的单字符标注,因此在实用性上很受限制。
发明内容
考虑到上述问题而提出了本申请。本申请提供了一种文字检测方法、目标检测方法、电子设备、存储介质及计算机程序产品。
根据本申请一方面,提供了一种文字检测方法,包括:获取待处理图像;将待处理图像输入文字检测模型,获得待处理图像中的至少一个文字框和至少一个中心线,文字框是包围预测文字区域中的至少一部分区域的框,中心线是预测文字区域的中心线;对至少一个文字框和至少一个中心线进行聚类,获得至少一个框线组合,每个框线组合包括单个中心线以及一个或多个文字框;对于至少一个框线组合中的任一框线组合,基于该框线组合中的中心线和/或文字框确定该框线组合所对应的预测文字区域的位置信息。
示例性地,对至少一个文字框和至少一个中心线进行聚类,获得至少一个框线组合包括:计算至少一个文字框中的任一文字框与至少一个中心线中的任一中心线之间的关联度;对于任一文字框,将该文字框与相关中心线聚类到同一组合用于构成与相关中心线相对应的框线组合,其中,相关中心线是与该文字框之间的关联度最大且关联度超过第一关联度阈值的中心线。
示例性地,对至少一个文字框和至少一个中心线进行聚类,获得至少一个框线组合还包括:如果存在零散文字框,则计算零散文字框与任一特定框线组合中的每个文字框之间的关联度以及相对位置关系,零散文字框是不属于任何框线组合的文字框;如果零散文字框与特定框线组合中的任一特定文字框之间的关联度大于第二关联度阈值且零散文字框与特定文字框之间的相对位置关系满足目标要求,则将零散文字框分配给特定框线组合。
示例性地,位置信息包括区域轮廓,基于该框线组合中的文字框确定该框线组合所对应的预测文字区域的位置信息包括:针对该框线组合中的第一部分文字框,将第一部分文字框按目标延伸方向排列,获得排列文字框集合,其中,目标延伸方向为第二部分文字框各自包含的特征点的连线的延伸方向,第一部分文字框是该框线组合中的至少部分文字框,第二部分文字框是第一部分文字框中的至少部分文字框;沿着顺时针或逆时针的方向,将排列文字框集合中的至少部分角点连接在一起,获得区域轮廓。
示例性地,沿着顺时针或逆时针的方向,将排列文字框集合中的至少部分角点连接在一起,获得区域轮廓包括:循环执行以下角点连接操作直至排列文字框集合中的至少部分角点全部连接完成:沿着顺时针或逆时针的方向,将当前文字框集合中的前两个文字框的至少部分角点连接在一起,获得新的文字框,并将新的文字框与当前文字框集合中的剩余文字框确定为新的文字框集合,其中,在执行第一次角点连接操作时当前文字框集合为排列文字框集合,任一次角点连接操作所确定的新的文字框集合为下一次角点连接操作所对应的当前文字框集合。
示例性地,沿着顺时针或逆时针的方向,将当前文字框集合中的前两个文字框的至少部分角点连接在一起,获得新的文字框包括:在当前文字框集合中的前两个文字框不存在交集的情况下,沿着顺时针或逆时针的方向将前两个文字框中的所有角点连接在一起,获得新的文字框;在当前文字框集合中的前两个文字框存在交集的情况下,舍弃前两个文字框中位于左侧的文字框的右上角点以及位于右侧的文字框的左下角点,并沿着顺时针或逆时针的方向将剩余的角点连接在一起,获得新的文字框。
示例性地,在针对该框线组合中的第一部分文字框,将第一部分文字框按目标延伸方向排列之前,基于该框线组合中的文字框确定该框线组合所对应的预测文字区域的位置信息还包括:将该框线组合中面积大于标准文字框的面积的第一目标倍数的文字框和/或面积小于标准文字框的第二目标倍数的文字框过滤掉,获得第一部分文字框,其中,标准文字框是该框线组合中面积处于中位数的文字框。
示例性地,位置信息包括区域轮廓,基于该框线组合中的中心线确定该框线组合所对应的预测文字区域的位置信息包括:将该框线组合中的中心线的高度膨胀为第一目标高度,其中,第一目标高度为固定值,或者第一目标高度为第一高度和第二高度的平均值,或者第一目标高度等于中心线在膨胀前的高度按目标膨胀系数膨胀后达到的高度,第一高度为该框线组合中的位于最左侧的文字框的左侧边的高度,第二高度为该框线组合中的位于最右侧的文字框的右侧边的高度;确定膨胀后的中心线的轮廓线为区域轮廓。
示例性地,基于该框线组合中的中心线确定该框线组合所对应的预测文字区域的位置信息的步骤在该框线组合中的中心线超出目标范围的情况下执行,目标范围是基于该框线组合中的文字框确定的区域轮廓的范围。
示例性地,文字检测模型通过以下方式训练获得:获取样本图像和文字框标注数据,文字框标注数据包括初始文字框的位置信息,初始文字框是包围样本图像中的真实文字区域的文字框;将初始文字框划分成目标数目的样本文字框;基于目标数目的样本文字框,确定样本中心线,样本中心线是真实文字区域的中心线;基于样本图像、目标数目的样本文字框以及样本中心线,对文字检测模型进行训练。
示例性地,基于目标数目的样本文字框,确定样本中心线包括:对于目标数目的样本文字框中的位于第一长边上的任一角点与目标数目的样本文字框中的位于相对的第二长边上的对应角点,确定这两个角点的中心点;将所有中心点连接起来,获得初始中心线;确定初始中心线或新中心线为样本中心线;其中,新中心线通过以下方式获得:将初始中心线的两端按目标比例收缩;和/或,将初始中心线的高度膨胀为第二目标高度。
示例性地,将初始文字框划分成目标数目的样本文字框包括:将初始文字框的第一长边按照目标数目均分,获得第一组角点;将初始文字框的第二长边按照目标数目均分,获得第二组角点;将第一组角点中的每两个相邻的角点与第二组角点中的两个对应的相邻角点组合在一起,形成样本文字框。
根据本申请的另一方面,还提供了一种电子设备,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行上述的文字检测方法。
根据本申请另一方面,提供了一种存储介质,在所述存储介质上存储了程序指令,所述程序指令在运行时用于执行上述的文字检测方法。
根据本申请另一方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序在运行时用于执行上述文字检测方法。
根据本申请实施例的文字检测方法、电子设备、存储介质及计算机程序产品,利用文字检测模型预测中心线和文字框,通过中心线与文字框的聚类分组来确定与每个预测文字区域对应的中心线和文字框,进而确定预测文字区域的位置。这种方案可以用文字框的组合而非单个文字框表示文字区域,同时用中心线辅助进行文字区域的定位以及文字框的分组,这样,通过文字框和中心线的组合就可以有效检测弯曲文字以及拥有极大长宽比的文字。此外,在召回率方面,文字框和中心线分别在大尺度和小尺度上有较为明显的召回效果,二者联合可以有效提升整体的检测召回率。此外,本申请的文字检测模型无需先回归后分割,而是可以直接获得文字框和中心线的预测结果,再结合后处理(聚类和位置信息确定等操作)确定文字区域的位置,这种网络模型相对比较简单实用。
附图说明
通过结合附图对本申请实施例进行更详细的描述,本申请的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与本申请实施例一起用于解释本申请,并不构成对本申请的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1示出用于实现根据本申请实施例的文字检测方法和装置的示例电子设备的示意性框图;
图2示出了根据本申请一个实施例的文字检测方法的示意流程图;
图3a示出根据本申请一个实施例的文字区域以及对应的文字框的示意图;
图3b示出根据本申请一个实施例的文字区域以及对应的中心线的示意图;
图4示出根据本申请一个实施例的文字框与中心线组成的框线组合的示意图;
图5示出根据本申请一个实施例的区域轮廓的示意图;
图6a示出根据本申请一个实施例的对文字框的角点进行连接的示意图;
图6b示出根据本申请另一个实施例的对文字框的角点进行连接的示意图;
图7a示出根据本申请一个实施例通过对初始文字框的边进行均分获得角点的示意图;
图7b示出通过将角点组合形成样本文字框的示意图;
图8示出根据本申请一个实施例的通过角点的中心点获得初始中心线的示意图;
图9示出根据本申请一个实施例的将图8所示的初始中心线收缩之后的示意图;
图10示出根据本申请一个实施例的文字检测模型的训练流程的示意图;
图11示出了根据本申请一个实施例的文字检测装置的示意性框图;以及
图12示出根据本申请一个实施例的电子设备的示意性框图。
具体实施方式
近年来,基于人工智能的计算机视觉、深度学习、机器学习、图像处理、图像识别等技术研究取得了重要进展。人工智能(Artificial Intelligence,AI)是研究、开发用于模拟、延伸人的智能的理论、方法、技术及应用系统的新兴科学技术。人工智能学科是一门综合性学科,涉及芯片、大数据、云计算、物联网、分布式存储、深度学习、机器学习、神经网络等诸多技术种类。计算机视觉作为人工智能的一个重要分支,具体是让机器识别世界,计算机视觉技术通常包括人脸识别、图像处理、指纹识别与防伪验证、生物特征识别、人脸检测、行人检测、目标检测、行人识别、图像处理、图像识别、图像语义理解、图像检索、文字识别、视频处理、视频内容识别、三维重建、虚拟现实、增强现实、同步定位与地图构建(SLAM)、计算摄影、机器人导航与定位等技术。随着人工智能技术的研究和进步,该项技术在众多领域展开了应用,例如城市管理、交通管理、楼宇管理、园区管理、人脸通行、人脸考勤、物流管理、仓储管理、机器人、智能营销、计算摄影、手机影像、云服务、智能家居、穿戴设备、无人驾驶、自动驾驶、智能医疗、人脸支付、人脸解锁、指纹解锁、人证核验、智慧屏、智能电视、摄像机、移动互联网、网络直播、美颜、美妆、医疗美容、智能测温等领域。
为了使得本申请的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本申请的示例实施例。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是本申请的全部实施例,应理解,本申请不受这里描述的示例实施例的限制。基于本申请中描述的本申请实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本申请的保护范围之内。
本申请实施例提供了一种文字检测方法、电子设备、存储介质及计算机程序产品。根据本申请实施例的文字检测方法,可以有效检测弯曲文字以及拥有极大长宽比的文字。根据本申请实施例的文字检测技术可以应用于任何涉及文字检测的领域。
首先,参照图1来描述用于实现根据本申请实施例的文字检测方法和装置的示例电子设备100。
如图1所示,电子设备100包括一个或多个处理器102、一个或多个存储装置104。可选地,电子设备100还可以包括输入装置106、输出装置108、以及图像拍摄装置110,这些组件通过总线系统112和/或其它形式的连接机构(未示出)互连。应当注意,图1所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,所述电子设备也可以具有其他组件和结构。
所述处理器102可以采用数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、微处理器中的至少一种硬件形式来实现,所述处理器102可以是中央处理单元(CPU)、图像处理器(GPU)、专用的集成电路(ASIC)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元中的一种或几种的组合,并且可以控制所述电子设备100中的其它组件以执行期望的功能。
所述存储装置104可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器102可以运行所述程序指令,以实现下文所述的本申请实施例中(由处理器实现)的客户端功能以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。
所述输入装置106可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。
所述输出装置108可以向外部(例如用户)输出各种信息(例如图像和/或声音),并且可以包括显示器、扬声器等中的一个或多个。可选地,所述输入装置106和所述输出装置108可以集成在一起,采用同一交互装置(例如触摸屏)实现。
所述图像拍摄装置110可以采集图像,并且将所采集的图像存储在所述存储装置104中以供其它组件使用。图像拍摄装置110可以是单独的相机或移动终端中的摄像头等。应当理解,图像拍摄装置110仅是示例,电子设备100可以不包括图像拍摄装置110。在这种情况下,可以利用其他具有图像采集能力的器件采集图像,并将采集的图像发送给电子设备100。
示例性地,用于实现根据本申请实施例的文字检测方法和装置的示例电子设备可以在诸如个人计算机、终端设备、考勤机、面板机、相机或远程服务器等的设备上实现。其中,终端设备包括但不限于:平板电脑、手机、PDA(Personal Digital Assistant,个人数字助理)、可触屏一体机、可穿戴设备等。
下面,将参考图2描述根据本申请实施例的文字检测方法。图2示出根据本申请一个实施例的文字检测方法200的示意性流程图。如图2所示,文字检测方法200包括步骤S210、S220、S230和S240。
步骤S210,获取待处理图像。
示例性地,待处理图像可以是任意类型的包含文字在内的图像。待处理图像可以是静态图像,也可以是动态视频中的任一视频帧。待处理图像可以是图像采集装置(例如相机中的图像传感器)采集到的原始图像,也可以是对原始图像进行预处理(诸如数字化、归一化、平滑等)之后获得的图像。需注意,对原始图像的预处理可以包括从图像采集装置采集到的原始图像中提取包含文字的子图像进而获得待处理图像的操作。
待处理图像可以由外部设备(例如云端服务器)发送到电子设备100以由电子设备100的处理器102进行处理,还可以由电子设备100包括的图像采集装置110(例如摄像头)采集并传送到处理器102进行处理,还可以由电子设备100包括的存储装置104存储并传送到处理器102进行处理。
步骤S220,将待处理图像输入文字检测模型,获得待处理图像中的至少一个文字框和至少一个中心线,文字框是包围预测文字区域中的至少一部分区域的框,中心线是预测文字区域的中心线。
文字检测模型可以采用任何合适的现有的或将来可能出现的能够实现文字检测功能的神经网络模型实现。示例性而非限制性地,文字检测模型可以包括以下一种或多种网络:区域卷积神经网络(Region-based Convolutional Neural Network,RCNN)、全卷积单阶段目标检测器(Fully Convolutional One-Stage Object Detector,FCOS)、连接文字区域网络(connection text proposal network,CTPN)等。在一个示例中,文字检测模型可以包括文字框检测模块和中心线检测模块。文字框检测模块可以采用与诸如FCOS的常规文字检测网络类似的结构实现,主要用于检测文字框。中心线检测模块可以采用与诸如全卷积网络(Fully Convolutional Networks,FCN)的常规图像分割网络类似的结构实现,主要用于检测中心线。文字框检测模块和中心线检测模块可以彼此独立,也可以共享特征提取模块。
通过文字检测模型,可以检测获得若干文字框和若干中心线。每个文字框是包围预测文字区域中的至少一部分区域的框。每个文字框是四边形的框。预测文字区域是通过文字检测模型预测的文字区域,其具体位置(例如轮廓大小)可以通过后续的步骤S230和S240确定。本文所述的文字区域(包括预测文字区域和下述真实文字区域)可以包括任意长度的文字,且文字区域可以具有任意形状,例如可以是矩形或弯曲形状等。文字区域可以进一步分成多个小一些的文字框。文字检测模型预测出的中心线是预测文字区域的中心线。本文所述的文字区域(包括预测文字区域和下述真实文字区域)可以具有中心线,该中心线可以具有特定高度。该特定高度可以等于或大于0。示例性地,可以用像素数目表示高度的值,例如特定高度可以是1个像素、3个像素、5个像素等。
图3a示出根据本申请一个实施例的文字区域以及对应的文字框的示意图。图3b示出根据本申请一个实施例的文字区域以及对应的中心线的示意图。图3a用实体框表示文字框。图3b用虚线表示中心线。从图3a可以看出,一个文字区域可以分为多个文字框,或者说可以用多个文字框来表示。从图3b可以看出,一个文字区域对应于一条中心线。
在步骤S230,对至少一个文字框和至少一个中心线进行聚类,获得至少一个框线组合,每个框线组合包括单个中心线以及一个或多个文字框。每个框线组合可以包括与同一预测文字区域相对应的单个中心线以及一个或多个文字框。
可以将文字框和中心线进行聚类分组,使得每个框线组合包含一个中心线和至少一个文字框。每个框线组合可以对应一个预测文字区域。
在步骤S240,对于至少一个框线组合中的任一框线组合,基于该框线组合中的中心线和/或文字框确定该框线组合所对应的预测文字区域的位置信息。
预测文字区域的位置信息可以包括以下一种或多种:预测文字区域的区域轮廓、预测文字区域的多个角点的位置信息(多个角点彼此连接后所包围的区域可以视为预测文字区域)。
可以基于任一框线组合中的中心线和/或文字框确定该框线组合所对应的预测文字区域的位置信息,具体确定位置信息的实现方案有多种,这将在下文描述。
根据本申请实施例的文字检测方法,利用文字检测模型预测中心线和文字框,通过中心线与文字框的聚类分组来确定与每个预测文字区域对应的中心线和文字框,进而确定预测文字区域的位置。这种方案可以用文字框的组合而非单个文字框表示文字区域,同时用中心线辅助进行文字区域的定位以及文字框的分组,这样,通过文字框和中心线的组合就可以有效检测弯曲文字以及拥有极大长宽比的文字。此外,在召回率方面,文字框和中心线分别在大尺度和小尺度上有较为明显的召回效果,二者联合可以有效提升整体的检测召回率。此外,本申请的文字检测模型无需先回归后分割,而是可以直接获得文字框和中心线的预测结果,再结合后处理(聚类和位置信息确定等操作)确定文字区域的位置,这种网络模型相对比较简单实用。
根据本申请实施例的文字检测方法可以部署在终端处,例如,可以部署在个人终端或服务器端处。
替代地,根据本申请实施例的文字检测方法还可以分布地部署在服务器端(或云端)和客户端处。例如,可以在客户端采集待处理图像,客户端将待处理图像传送给服务器端(或云端),由服务器端(或云端)进行文字检测。
根据本申请实施例,对至少一个文字框和至少一个中心线进行聚类,获得至少一个框线组合包括:计算至少一个文字框中的任一文字框与至少一个中心线中的任一中心线之间的关联度;对于任一文字框,将该文字框与相关中心线聚类到同一组合用于构成与相关中心线相对应的框线组合,其中,相关中心线是与该文字框之间的关联度最大且关联度超过第一关联度阈值的中心线。
第一关联度阈值可以根据需要设定为任何合适的值,其可以是大于或等于0的值,例如0.01等。
同一文字区域可以采用单个中心线和多个文字框表示。因此,可以将在空间上关联相对紧密的文字框和中心线进行聚类分组,找出与每个文字区域相对应的文字框和中心线。示例性地,可以通过计算文字框与中心线之间的关联度的方式来进行聚类。关联度可以采用文字框和中心线之间的交并比(IOU)表示。例如,关联度的计算方式可以如下:文字框A和中心线C之间的关联度=文字框A和中心线C重叠区域的面积/(文字框A的面积+中心线C的面积)。
示例性地,可以在待处理图像上建立图像坐标系。例如,可以以待处理图像的左上角作为原点,以待处理图像的宽度方向作为x轴,以待处理图像的高度方向作为y轴,建立平面图像坐标系。为方便理解,下文均沿用这种坐标系来描述各种位置信息。当然,上述图像坐标系的建立方式仅是示例,图像坐标系还可以有其他合适的建立方式。
示例性地,为了计算关联度,可以确定每个文字框的x轴最大值及最小值以及y轴最大值及最小值。此外,还可以确定每个中心线的x轴最大值及最小值以及y轴最大值及最小值。随后,可以根据任一文字框的x轴最大值及最小值以及y轴最大值及最小值,并根据任一中心线的x轴最大值及最小值以及y轴最大值及最小值,来计算该文字框和该中心线之间的关联度(即上述IOU)。本领域技术人员可以理解IOU的具体计算方式,本文不赘述。
在一个示例中,可以直接计算每个文字框与每个中心线之间的关联度。在另一个示例中,对于任一文字框来说,可以首先排除与该文字框没有交集的中心线,仅针对与其有交集的中心线计算关联度。例如,可以通过任一文字框的x轴最大值及最小值以及y轴最大值及最小值,并根据任一中心线的x轴最大值及最小值以及y轴最大值及最小值,来判断该文字框与该中心线是否有交集。
计算关联度之后,可以进一步根据中心线与文字框之间的关联度分组。例如,如果对于文字框A1来说,其与中心线C2之间的关联度最大且超过第一关联度阈值(例如0.01),则可以确定文字框A1与中心线C2属于同一组合(group)。通过这种方式,可以将各个文字框聚类到各中心线所对应的组合中。聚类完成后,可以获得与每个中心线相对应的框线组合。可以理解,有多少个中心线就可以产生多少个框线组合。图4示出根据本申请一个实施例的文字框与中心线组成的框线组合的示意图。参见图4,该图片上半部分的5个文字框可以与上方的中心线组合在一起,形成框线组合,图片下半部分的5个文字框则可以与下方的中心线组合在一起,形成另一个框线组合。此外,可以看出,上方的框线组合对应于“EXCELSIOR”所在的文字区域,下方的框线组合对应于“CAFFE”所在的文字区域。
通过计算文字框与中心线的关联度的方式可以快速方便地将文字框与中心线分组,这种方案计算量小,实现简单。当然,可选地,还可以采用其他方式对文字框和中心线进行聚类分组,例如可以将文字框与中心线输入训练好的聚类模型中进行聚类分组。聚类模型可以是神经网络模型。
根据本申请实施例,对至少一个文字框和至少一个中心线进行聚类,获得至少一个框线组合还包括:如果存在零散文字框,则计算零散文字框与任一特定框线组合中的每个文字框之间的关联度以及相对位置关系,零散文字框是不属于任何框线组合的文字框;如果零散文字框与特定框线组合中的任一特定文字框之间的关联度大于第二关联度阈值且零散文字框与特定文字框之间的相对位置关系满足目标要求,则将零散文字框分配给特定框线组合。
第二关联度阈值可以根据需要设定为任何合适的值,其可以是大于或等于0的值,例如0.01。第二关联度阈值与上述第一关联度阈值可以相等,也可以不相等。
如果存在某个文字框没有被聚类到任何一个框线组合,则可以认为该文字框为零散文字框。示例性地,零散文字框可以是基于与中心线之间的关联度确定其不属于任何框线组合的文字框。对于零散文字框,可以进一步将其与每个框线组合中的文字框计算关联度,来确定是否可以聚类到某个框线组合中。例如,可以计算零散文字框与各个框线组合中文字框的关联度以及相对位置关系,若存在某个框线组合中的任一文字框与该零散文字框之间的关联度大于第二关联度阈值(例如0)且这两个文字框之间的相对位置关系满足目标要求,则可以将该零散文字框划入该框线组合中。
对于零散文字框,进一步将其与框线组合中的文字框进行关联度的计算并基于这一关联度信息进行分组,这种方案可以提高文字框的聚类精度,有助于提高文字检测的精度。
根据本申请实施例,相对位置关系基于两个文字框的中心点坐标之间的距离表征,目标要求是小于距离阈值。
两个文字框之间的相对位置关系可以用这两个文字框的中心点坐标之间的距离表示,但是这仅是示例,两个文字框之间的相对位置关系还可以用其他信息表示。例如,两个文字框之间的相对位置关系还可以是这两个文字框的两个对应角点之间的距离。对应角点是指在各自文字框中所处的相对位置相同的角点,例如都是左上角点,或者都是右下角点等等。
距离阈值可以是任何合适的值,其可以根据需要设定,本申请不对此进行限制。例如,目标要求可以是要求两个文字框的中心点坐标之间的距离在20个像素以内。
根据本申请实施例,基于该框线组合中的文字框确定该框线组合所对应的预测文字区域的位置信息包括:针对该框线组合中的第一部分文字框,将第一部分文字框按目标延伸方向排列,获得排列文字框集合;沿着顺时针或逆时针的方向,从排列文字框集合中确定至少部分角点;基于该至少部分角点获得预测文字区域的位置信息。
示例性地,预测文字区域的位置信息可以包括预测文字区域的角点的角点位置信息。这种情况下,在一个示例中,可以仅从排列文字框集合中确定出至少部分角点用于组成预测文字区域即可,无需将这些角点连接。在另一个示例中,可以通过下述角点连接操作确定预测文字区域的区域轮廓之后,再从区域轮廓上确定多个轮廓点作为预测文字区域的角点。轮廓点的位置信息就作为预测文字区域的角点的角点位置信息。
示例性地,预测文字区域的位置信息可以包括预测文字区域的区域轮廓。此时,可以通过下述角点连接操作来确定预测文字区域的区域轮廓。
根据本申请实施例,沿着顺时针或逆时针的方向,从排列文字框集合中确定至少部分角点可以包括:循环执行以下角点组合操作直至排列文字框集合中的至少部分角点全部组合完成:沿着顺时针或逆时针的方向,将当前文字框集合中的前两个文字框的至少部分角点组合在一起,获得新的文字框,并将新的文字框与当前文字框集合中的剩余文字框确定为新的文字框集合,其中,在执行第一次角点组合操作时当前文字框集合为排列文字框集合,任一次角点组合操作所确定的新的文字框集合为下一次角点组合操作所对应的当前文字框集合,最后一次角点组合操作所确定的新的文字框集合中包含的全部角点为所确定的至少部分角点。
根据本申请实施例,沿着顺时针或逆时针的方向,将当前文字框集合中的前两个文字框的至少部分角点组合在一起,获得新的文字框包括:在当前文字框集合中的前两个文字框不存在交集的情况下,沿着顺时针或逆时针的方向将前两个文字框中的所有角点组合在一起,获得新的文字框;在当前文字框集合中的前两个文字框存在交集的情况下,舍弃前两个文字框中位于左侧的文字框的右上角点以及位于右侧的文字框的左下角点,并沿着顺时针或逆时针的方向将剩余的角点组合在一起,获得新的文字框。
在预测文字区域的位置信息包括预测文字区域的区域轮廓的情况下,上述角点组合操作可以实现为角点连接操作,下面描述确定区域轮廓的实施例,根据下述实施例也可以理解上述从排列文字框集合中确定至少部分角点的实现方式。
根据本申请实施例,位置信息包括区域轮廓,基于该框线组合中的文字框确定该框线组合所对应的预测文字区域的位置信息包括:针对该框线组合中的第一部分文字框,将第一部分文字框按目标延伸方向排列,获得排列文字框集合,其中,目标延伸方向为第二部分文字框各自包含的特征点的连线的延伸方向,第一部分文字框是该框线组合中的至少部分文字框,第二部分文字框是第一部分文字框中的至少部分文字框;沿着顺时针或逆时针的方向,将排列文字框集合中的至少部分角点连接在一起,获得区域轮廓。
目标延伸方向是第一部分文字框统一的延伸方向,也可以理解为第一部分文字框中包含的文字的延伸方向。具体地,目标延伸方向可以为第二部分文字框各自包含的特征点的连线的延伸方向。不同文字框中的特征点在对应文字框中的相对位置可以是一致的,例如都是文字框的中心点等。不同文字框中的特征点在对应文字框中的相对位置也可以是不一致的,这可以参见下述示例理解。
示例性地,第二部分文字框可以是第一部分文字框中的全部文字框,目标延伸方向可以通过以下方式确定:确定第二部分文字框中的每个文字框的中心点;确定第二部分文字框的所有中心点的连线的延伸方向为目标延伸方向。若中心点的连线在x轴方向延伸较y轴方向延伸得多,则可以认为文字框的延伸方向为横向,反之则认为文字框的延伸方向为纵向。任一文字框的中心点为文字框的两条对角线的交点。中心点的连线在x轴方向延伸多还是在y轴方向延伸多可以通过以下方式确定。例如,可以计算所有中心点的x轴最大值与x轴最小值之间的差距,并可以计算所有中心点的y轴最大值与y轴最小值之间的差距,x轴差距更大则确定中心点的连线在x轴方向延伸较y轴方向延伸得多,y轴差距更大则确定中心点的连线在y轴方向延伸较x轴方向延伸得多。
当然,也可以直接确定任一框线组合中的第一部分文字框中的所有角点中的x轴最大值与x轴最小值(例如最右侧的文字框的右上角点的x值为x轴最大值,最左侧的文字框的左上角点的x值为x轴最小值),以及所有角点中的y轴最大值与y轴最小值(例如最右侧的文字框的右下角点的y值为y轴最大值,最左侧的文字框的左上角点的y值为y轴最小值),可以计算x轴最大值与x轴最小值之间的差距,并计算y轴最大值与y轴最小值之间的差距,x轴差距更大则确定中心点的连线在x轴方向延伸较y轴方向延伸得多,y轴差距更大则确定中心点的连线在y轴方向延伸较x轴方向延伸得多。这种实施例中,第二部分文字框可以是第一部分文字框中的部分文字框,例如是第一部分文字框中的最右侧的文字框和最左侧的文字框。并且,这种实施例中,不同文字框的特征点在对应文字框中的相对位置可以不同。
示例性地,可以将第一部分文字框按顺序排列,若目标延伸方向为横向则将所有文字框按照x轴的坐标进行升序排列,反之则可以按照y轴的坐标进行升序排列。
排列好之后,对于排列好的文字框(排列文字框集合)的至少部分角点,可以按照顺时针或逆时针的方向,将这些角点连接在一起,获得区域轮廓。图5示出根据本申请一个实施例的区域轮廓的示意图。如图5所示,基于图4中示出的两种框线组合可以分别获得两个文字区域的区域轮廓。
根据本申请实施例,沿着顺时针或逆时针的方向,将排列文字框集合中的至少部分角点连接在一起,获得区域轮廓包括:循环执行以下角点连接操作直至排列文字框集合中的至少部分角点全部连接完成:沿着顺时针或逆时针的方向,将当前文字框集合中的前两个文字框的至少部分角点连接在一起,获得新的文字框,并将新的文字框与当前文字框集合中的剩余文字框确定为新的文字框集合,其中,在执行第一次角点连接操作时当前文字框集合为排列文字框集合,任一次角点连接操作所确定的新的文字框集合为下一次角点连接操作所对应的当前文字框集合。
重新参考图4,对于上方的5个文字框,可以首先将左侧的两个文字框的角点连接在一起,形成新的文字框,加上剩余的3个文字框,获得4个文字框。随后,针对更新后的4个文字框,再将左侧的两个文字框的角点连接在一起,形成新的文字框,加上剩余的两个文字框,获得3个文字框。随后,针对更新后的3个文字框,再将左侧的两个文字框的角点连接在一起,形成新的文字框,加上剩余的一个文字框,获得两个文字框。最后,将这两个文字框的角点连接在一起,获得所需的区域轮廓。也就是说,上述角点连接操作可以每次针对两个相邻的文字框进行,并可以循环执行,直至最后所有文字框的角点连接完成。当然,这种循环执行的方式仅是示例,可以可选地一次性将排列文字框集合中的所有角点连接在一起。
根据本申请实施例,沿着顺时针或逆时针的方向,将当前文字框集合中的前两个文字框的至少部分角点连接在一起,获得新的文字框包括:在当前文字框集合中的前两个文字框不存在交集的情况下,沿着顺时针或逆时针的方向将前两个文字框中的所有角点连接在一起,获得新的文字框;在当前文字框集合中的前两个文字框存在交集的情况下,舍弃前两个文字框中位于左侧的文字框的右上角点以及位于右侧的文字框的左下角点,并沿着顺时针或逆时针的方向将剩余的角点连接在一起,获得新的文字框。
如果两个文字框之间不存在交集,则可以采用全部角点作为轮廓关键点生成区域轮廓。图6a示出根据本申请一个实施例的对文字框的角点进行连接的示意图。如图6a所示,该文字区域整体检测出5个文字框,这5个文字框中的前两个相邻文字框彼此不相交。此时,对于第1个文字框(文字框1)和第2个文字框(文字框2)来说,可以按照以下顺序选择角点作为区域轮廓的关键点,形成区域轮廓:“文字框1”左上角点—“文字框1”右上角点—“文字框2”左上角点—“文字框2”右上角点—“文字框2”右下角点—“文字框2”左下角点—“文字框1”右下角点—“文字框1”左下角点,如图6a所示即为点0—点1—点2—点3—点4—点5—点6—点7。
如果两个文字框之间存在一定的交集,则可以舍弃其中的部分角点,利用剩余角点作为轮廓关键点生成区域轮廓。这样可以有效避免出现轮廓线折叠的问题。图6b示出根据本申请另一个实施例的对文字框的角点进行连接的示意图。如图6b所示,该文字区域整体检测出5个文字框,这5个文字框中的前两个相邻文字框彼此相交。此时,对于第1个文字框(文字框1)和第2个文字框(文字框2)来说,可以按照以下顺序选择角点作为区域轮廓的关键点,形成区域轮廓:“文字框1”左上角点—“文字框2”左上角点—“文字框2”右上角点—“文字框2”右下角点—“文字框1”右下角点—“文字框1”左下角点,如图6b所示即为点0—点2—点3—点4—点6—点7。
根据本申请实施例,在针对该框线组合中的第一部分文字框,将第一部分文字框按目标延伸方向排列之前,基于该框线组合中的文字框确定该框线组合所对应的预测文字区域的位置信息还包括:将该框线组合中面积大于标准文字框的面积的第一目标倍数的文字框和/或面积小于标准文字框的第二目标倍数的文字框过滤掉,获得第一部分文字框,其中,标准文字框是该框线组合中面积处于中位数的文字框。
第一目标倍数和第二目标倍数可以根据需要设定为任何合适的值,本申请不对此进行限制。第一目标倍数大于第二目标倍数。
可选地,对于每个框线组合,可以将其中形状差异较大的文字框剔除。例如,文字框面积大于标准文字框面积的5倍或者小于标准文字框面积的1/5即可以认为是形状差异较大的文字框。由于该类文字框往往是质量低的噪声文字框,因此剔除这类文字框有助于提高文字检测的精度。
根据本申请实施例,位置信息包括区域轮廓,基于该框线组合中的中心线确定该框线组合所对应的预测文字区域的位置信息包括:将该框线组合中的中心线的高度膨胀为第一目标高度,其中,第一目标高度为固定值,或者第一目标高度为第一高度和第二高度的平均值,或者第一目标高度等于中心线在膨胀前的高度按目标膨胀系数膨胀后达到的高度,第一高度为该框线组合中的位于最左侧的文字框的左侧边的高度,第二高度为该框线组合中的位于最右侧的文字框的右侧边的高度;确定膨胀后的中心线的轮廓线为区域轮廓。
区域轮廓还可以基于中心线生成,即可以将中心线膨胀作为区域轮廓。框线组合中的中心线的膨胀后的高度(即第一目标高度)或者框线组合中的中心线的目标膨胀系数(膨胀系数也就是膨胀倍数)可以需要设定为任何合适的值。这种轮廓生成方式实现简单,处理速度快。
示例性地,在预测文字区域的位置信息包括预测文字区域的角点的角点位置信息的情况下,可以从上述区域轮廓中确定多个轮廓点作为预测文字区域的角点的角点。轮廓点的位置信息就作为预测文字区域的角点的角点位置信息。
根据本申请实施例,在基于该框线组合中的中心线确定该框线组合所对应的预测文字区域的位置信息之前,方法还包括:对该框线组合中的位于最左侧的文字框的左侧边的高度与该框线组合中的位于最右侧的文字框的右侧边的高度求平均,获得第一目标高度。
示例性而非限制性地,第一目标高度或目标膨胀系数可以根据框线组合内文字框的平均高度确定。文字框的平均高度可以通过对框线组合中的位于最左侧的文字框的左侧边的高度与框线组合中的位于最右侧的文字框的右侧边的高度求平均的方式计算获得。当然,这仅是示例,文字框的平均高度还可以通过其他方式计算获得。例如,还可以分别计算每个文字框的高度,并对所有文字框的高度求平均,获得文字框的平均高度。每个文字框的高度可以通过对该文字框的左侧边的高度与该文字框的右侧边的高度求平均的方式获得。
示例性地,第一目标高度或目标膨胀系数还可以是固定值,例如可以预设设定好第一目标高度或目标膨胀系数的值。
根据本申请实施例,基于该框线组合中的中心线确定该框线组合所对应的预测文字区域的位置信息的步骤在该框线组合中的中心线超出目标范围的情况下执行,目标范围是基于该框线组合中的文字框确定的区域轮廓的范围。
在由于文字框缺少而导致基于文字框构造的区域轮廓比中心线还短的情况下,可以通过使中心线膨胀的方式获得区域轮廓。这种方式可以弥补文字框漏检、错检等导致区域轮廓定位不准的问题,有助于提高文字检测的精度。
示例性地,可以确定任一框线组合中的中心线的x轴最小值、x轴最大值、y轴最小值和y轴最大值,并可以确定该框线组合中的用于获得区域轮廓的至少部分文字框的x轴最小值、x轴最大值、y轴最小值和y轴最大值。可选地,此处的至少部分文字框的x轴最小值、x轴最大值、y轴最小值和y轴最大值可以沿用在关联度计算操作中确定的文字框的坐标数据。并且,需注意,至少部分文字框的x轴最小值、x轴最大值、y轴最小值和y轴最大值是指至少部分文字框中的所有角点中的x轴最小值、x轴最大值、y轴最小值和y轴最大值,而非至少部分文字框的每个文字框各自角点的x轴最小值、x轴最大值、y轴最小值和y轴最大值。例如,至少部分文字框包括10个文字框,则至少部分文字框的x轴最小值可以是指例如第1个文字框的左下角点的x值,至少部分文字框的x轴最大值可以是指例如第10个文字框的右上角点的x值,至少部分文字框的y轴最小值可以是指例如第1个文字框的左上角点的y值,至少部分文字框的y轴最大值可以是指例如第10个文字框的右下角点的y值。
将中心线的x轴最小值、x轴最大值、y轴最小值和y轴最大值与至少部分文字框的x轴最小值、x轴最大值、y轴最小值和y轴最大值进行对应比较,可以确定中心线是否超出目标范围。
根据本申请实施例,文字检测模型通过以下方式训练获得:获取样本图像和文字框标注数据,文字框标注数据包括初始文字框的位置信息,初始文字框是包围样本图像中的真实文字区域的文字框;将初始文字框划分成目标数目的样本文字框;基于目标数目的样本文字框,确定样本中心线,样本中心线是真实文字区域的中心线;基于样本图像、目标数目的样本文字框以及样本中心线,对文字检测模型进行训练,获得文字检测模型。
初始文字框可以具有任意形状,例如四边形或弯曲多边形等。可以将初始文字框拆解成目标数目个样本文字框,该操作可以理解为是将弯曲等复杂形状的文字框进行“降维”,变成小的样本文字框,这样更容易准确检测。样本文字框是比初始文字框小一些的文字框,样本文字框可以是四边形文字框。目标数目可以是任意合适的数目,其可以根据需要设定,本申请不对此进行限制。示例性地,目标数目可以是诸如3、5、8、10等。
基于所述目标数目的样本文字框,还可以进一步确定用于指示样本图像中的文字所在位置的样本中心线。样本中心线是真实文字区域的中心线。确定样本中心线的示例性实现方式将在下文描述。当然,可选地,样本中心线也可以通过人工标注的方式直接标注在样本图像上。
随后,利用样本图像、目标数目的样本文字框以及样本中心线,对文字检测模型进行训练。可以理解,初始的文字检测模型与最后训练获得的文字检测模型的网络结构相同,只是其中的参数值(例如网络层的权重和偏置等)存在区别。
上述文字检测模型的训练方式比较简单。
根据本申请实施例,将初始文字框划分成目标数目的样本文字框包括:将初始文字框的第一长边按照目标数目均分,获得第一组角点;将初始文字框的第二长边按照目标数目均分,获得第二组角点;将第一组角点中的每两个相邻的角点与第二组角点中的两个对应的相邻角点组合在一起,形成样本文字框。两个相邻的样本文字框共享中间的两个角点。
对于一个用2N个点表示的任意形状的初始文字框,该文字框的上下边分别使用N个点表示。在本申请中,可以首先调整表示上下边的点,使得每条边使用间距近似相等或完全相等的M+1个点进行表示。M即为目标数目。假设M是5,则可以将初始文字框的上下边分别均分成5等分。然后按照顺序将上下边上的等分点进行连接,构成5个几乎均分的小四边形,即5个样本文字框。每个样本文字框都是由4个角点构成,文字检测模型需要对这4个角点进行回归预测。
图7a示出根据本申请一个实施例通过对初始文字框的边进行均分获得角点的示意图。图7b示出通过将角点组合形成样本文字框的示意图。图7a示出初始文字框710并示出在初始文字框710的上下两边上均分获得的6个点。图7b示出将图7a的对应角点连接获得的样本文字框。
根据本申请实施例,基于目标数目的样本文字框,确定样本中心线包括:对于目标数目的样本文字框中的位于第一长边上的任一角点与目标数目的样本文字框中的位于相对的第二长边上的对应角点,确定这两个角点的中心点;将所有中心点连接起来,获得初始中心线;确定初始中心线或新中心线为样本中心线,新中心线基于初始中心线获得。
例如,沿用上述通过均分方式获得角点组并进而获得样本文字框的实施例,这些文字框共有2(M+1)个角点(相邻文字框共享部分角点),可以将上下边上的对应角点相连,取中点作为中心线的节点,于是得到M+1个中心线节点,按顺序连接起来即可形成中心线。图8示出根据本申请一个实施例的通过角点的中心点获得初始中心线的示意图。图8中采用虚线示出初始中心线。
根据本申请实施例,新中心线通过以下方式获得:在初始中心线的中点固定的情况下,将初始中心线位于中点两侧的部分分别按目标比例收缩;和/或,将初始中心线的高度膨胀为第二目标高度。
目标比例和第二目标高度均可以根据需要设定为任何合适的值,本申请不对此进行限制。
可以将初始中心线的左右两半部分各自进行一定比例的收缩,使得其两个端点向中心靠近。图9示出根据本申请一个实施例的将图8所示的初始中心线收缩之后的示意图。将中心线进行适当的收缩可以防止两个文字区域靠的过近使得两条中心线贴在一起,进而影响模型的训练效果。
此外,还可以将初始中心线膨胀为具有一定高度的线段。初始中心线不膨胀的话高度仅一个像素,如果出现漏检,则可能导致中心线断掉。而将初始中心线膨胀的话可以避免这类问题,进而可以提高模型预测的容错率。第二目标高度可以是任何合适的高度,例如5个像素、10个像素等。
将初始中心线收缩以及将初始中心线的高度膨胀的实施例可以仅实施其中一者,也可以两者皆实施。例如,可以首先将初始中心线收缩之后,再进一步将其膨胀为一定高度的线段,进而获得新中心线。
根据本申请实施例,基于样本图像、目标数目的样本文字框以及样本中心线,对初始检测模型进行训练,获得文字检测模型包括:将样本图像输入文字检测模型中的特征提取模块,获得经提取的特征;将经提取的特征分别输入文字检测模型中的分类模块、回归模块和分割模块,获得分类模块输出的各锚点(anchor)的预测类别信息、回归模块输出的各锚点的预测回归信息和分割模块输出的各锚点的预测分割信息,预测类别信息用于指示锚点属于预测文字框还是背景,预测回归信息用于指示锚点到对应的预测文字框的四个角点的距离,预测分割信息用于指示锚点是否属于中心线,每个锚点对应于样本图像上的至少部分像素;基于预测类别信息和目标数目的样本文字框计算第一损失,基于预测回归信息和目标数目的样本文字框计算第二损失,并基于预测分割信息和样本中心线计算第三损失;基于第一损失、第二损失和第三损失计算总损失;基于总损失对文字检测模型进行训练。
图10示出根据本申请一个实施例的文字检测模型的训练流程的示意图。如图10所示,文字检测模型可以包括特征提取模块和两个分支,一个是文字框回归分支,一个是中心线分割分支。文字框回归分支可以包括分类模块(可以称为分类头)和回归模块(可以称为回归头)。中心线分割分支可以包括分割模块(可以称为分割头)。
示例性地,可以将样本图像输入文字检测模型,获得文字检测模型预测输出的预测类别信息、位置回归信息和中心线分割信息。根据目标数目的样本文字框可以确定各锚点的真实类别信息和真实回归信息,然后就可以计算第一损失和第二损失。此外,根据样本中心线还可以确定各锚点的真实分割信息,就可以计算对应的第三损失。示例性而非限制性地,第一损失可以是广义聚焦损失(generalized focal loss),第二损失可以是平均绝对误差损失(L1 loss),第三损失可以是骰子损失(dice loss)。与常规的聚焦损失相比,广义聚焦损失可以提升训练获得的模型的推理精度。
在本申请中,回归信息用于指示锚点到对应的文字框的四个角点的距离,这样使得文字检测模型能够适用于对任意的四边形文字框的预测,而不局限于矩形。
可以基于预测类别信息和真实类别信息计算第一损失,基于预测回归信息和真实回归信息计算第二损失,基于预测分割信息和真实分割信息计算第三损失,基于以上损失计算总损失。例如,可以直接将第一损失、第二损失、第三损失相加,获得总损失。随后,基于总损失,利用反向传播和梯度下降算法优化文字检测模型的参数,迭代训练多次之后最终获得符合要求的文字检测模型。
在上述实施例中,将中心线分割分支与文字框回归分支一起训练,有助于前置特征提取模块对文字视觉特征的学习,进而达到与文字框回归分支隐式协同优化的目的。
需注意,本文的描述中,术语“左”、“右”、“上”、“下”并不局限于特定的方位,其可以根据需要设定。例如,在建立上述图像坐标系的情况下,可以将x坐标小的点视为位于x坐标大的点的左侧,并可以将y坐标小的点视为位于y坐标大的点的上方。
根据本申请另一方面,提供一种文字检测装置。图11示出了根据本申请一个实施例的文字检测装置1100的示意性框图。
如图11所示,根据本申请实施例的文字检测装置1100包括获取模块1110、输入模块1120、聚类模块1130和确定模块1140。各个模块可分别执行上文中图2描述的文字检测方法的各个步骤。以下仅对该文字检测装置1100的各部件的主要功能进行描述,而省略以上已经描述过的细节内容。
获取模块1110用于获取待处理图像。获取模块1110可以由图1所示的电子设备中的处理器102运行存储装置104中存储的程序指令来实现。
输入模块1120用于将待处理图像输入文字检测模型,获得待处理图像中的至少一个文字框和至少一个中心线,文字框是包围预测文字区域中的至少一部分区域的框,中心线是预测文字区域的中心线。输入模块1120可以由图1所示的电子设备中的处理器102运行存储装置104中存储的程序指令来实现。
聚类模块1130用于对至少一个文字框和至少一个中心线进行聚类,获得至少一个框线组合,每个框线组合包括单个中心线以及一个或多个文字框。聚类模块1130可以由图1所示的电子设备中的处理器102运行存储装置104中存储的程序指令来实现。
确定模块1140用于对于至少一个框线组合中的任一框线组合,基于该框线组合中的中心线和/或文字框确定该框线组合所对应的预测文字区域的位置信息。确定模块1140可以由图1所示的电子设备中的处理器102运行存储装置104中存储的程序指令来实现。
图12示出了根据本申请一个实施例的电子设备1200的示意性框图。电子设备1200包括存储器1210和处理器1220。
存储器1210存储用于实现根据本申请实施例的文字检测方法中的相应步骤的计算机程序指令。
处理器1220用于运行存储器1210中存储的计算机程序指令,以执行根据本申请实施例的文字检测方法的相应步骤。
在一个实施例中,计算机程序指令被处理器1220运行时用于执行以下步骤:获取待处理图像;将待处理图像输入文字检测模型,获得待处理图像中的至少一个文字框和至少一个中心线,文字框是包围预测文字区域中的至少一部分区域的框,中心线是预测文字区域的中心线;对至少一个文字框和至少一个中心线进行聚类,获得至少一个框线组合,每个框线组合包括单个中心线以及一个或多个文字框;对于至少一个框线组合中的任一框线组合,基于该框线组合中的中心线和/或文字框确定该框线组合所对应的预测文字区域的位置信息。
示例性地,电子设备1200还可以包括图像采集装置1230。图像采集装置1230用于采集待处理图像。图像采集装置1230是可选的,电子设备1200也可以不包括图像采集装置1230。此时处理器1220可以通过其他方式获取待处理图像,例如从外部设备或从存储器1210中获取待处理图像。
此外,根据本申请实施例,还提供了一种存储介质,在存储介质上存储了程序指令,在程序指令被计算机或处理器运行时用于执行本申请实施例的文字检测方法的相应步骤,并且用于实现根据本申请实施例的文字检测装置中的相应模块。存储介质例如可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、或者上述存储介质的任意组合。
在一个实施例中,程序指令在被计算机或处理器运行时可以使得计算机或处理器实现根据本申请实施例的文字检测装置的各个功能模块,并和/或者可以执行根据本申请实施例的文字检测方法。
在一个实施例中,程序指令在运行时用于执行以下步骤:获取待处理图像;将待处理图像输入文字检测模型,获得待处理图像中的至少一个文字框和至少一个中心线,文字框是包围预测文字区域中的至少一部分区域的框,中心线是预测文字区域的中心线;对至少一个文字框和至少一个中心线进行聚类,获得至少一个框线组合,每个框线组合包括单个中心线以及一个或多个文字框;对于至少一个框线组合中的任一框线组合,基于该框线组合中的中心线和/或文字框确定该框线组合所对应的预测文字区域的位置信息。
此外,根据本申请实施例,还提供了一种计算机程序产品,计算机程序产品包括计算机程序,计算机程序在运行时用于执行上述文字检测方法200。
根据本申请实施例的电子设备中的各模块可以通过根据本申请实施例的实施文字检测或文字检测的电子设备的处理器运行在存储器中存储的计算机程序指令来实现,或者可以在根据本申请实施例的计算机程序产品的计算机可读存储介质中存储的计算机指令被计算机运行时实现。
此外,根据本申请实施例,还提供了一种计算机程序,该计算机程序在运行时用于执行上述文字检测方法200。
尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本申请的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本申请的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本申请的范围之内。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本申请并帮助理解各个申请方面中的一个或多个,在对本申请的示例性实施例的描述中,本申请的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本申请的方法解释成反映如下意图:即所要求保护的本申请要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的单独实施例。
本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本申请的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本申请实施例的文字检测装置中的一些模块的一些或者全部功能。本申请还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本申请的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本申请进行说明而不是对本申请进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上,仅为本申请的具体实施方式或对具体实施方式的说明,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。本申请的保护范围应以权利要求的保护范围为准。
Claims (15)
1.一种文字检测方法,包括:
获取待处理图像;
将所述待处理图像输入文字检测模型,获得所述待处理图像中的至少一个文字框和至少一个中心线,所述文字框是包围预测文字区域中的至少一部分区域的框,所述中心线是预测文字区域的中心线;
对所述至少一个文字框和所述至少一个中心线进行聚类,获得至少一个框线组合,每个框线组合包括单个中心线以及一个或多个文字框;
对于所述至少一个框线组合中的任一框线组合,基于该框线组合中的中心线和/或文字框确定该框线组合所对应的预测文字区域的位置信息。
2.如权利要求1所述的方法,其中,所述对所述至少一个文字框和所述至少一个中心线进行聚类,获得至少一个框线组合包括:
计算所述至少一个文字框中的任一文字框与所述至少一个中心线中的任一中心线之间的关联度;
对于任一文字框,将该文字框与相关中心线聚类到同一组合用于构成与所述相关中心线相对应的框线组合,其中,所述相关中心线是与该文字框之间的关联度最大且关联度超过第一关联度阈值的中心线。
3.如权利要求2所述的方法,其中,所述对所述至少一个文字框和所述至少一个中心线进行聚类,获得至少一个框线组合还包括:
如果存在零散文字框,则计算所述零散文字框与任一特定框线组合中的每个文字框之间的关联度以及相对位置关系,所述零散文字框是不属于任何框线组合的文字框;
如果所述零散文字框与所述特定框线组合中的任一特定文字框之间的关联度大于第二关联度阈值且所述零散文字框与所述特定文字框之间的相对位置关系满足目标要求,则将所述零散文字框分配给所述特定框线组合。
4.如权利要求1-3任一项所述的方法,其中,所述位置信息包括区域轮廓,基于该框线组合中的文字框确定该框线组合所对应的预测文字区域的位置信息包括:
针对该框线组合中的第一部分文字框,将所述第一部分文字框按目标延伸方向排列,获得排列文字框集合,其中,所述目标延伸方向为第二部分文字框各自包含的特征点的连线的延伸方向,所述第一部分文字框是该框线组合中的至少部分文字框,所述第二部分文字框是所述第一部分文字框中的至少部分文字框;
沿着顺时针或逆时针的方向,将所述排列文字框集合中的至少部分角点连接在一起,获得所述区域轮廓。
5.如权利要求4所述的方法,其中,所述沿着顺时针或逆时针的方向,将所述排列文字框集合中的至少部分角点连接在一起,获得所述区域轮廓包括:
循环执行以下角点连接操作直至所述排列文字框集合中的所述至少部分角点全部连接完成:
沿着顺时针或逆时针的方向,将当前文字框集合中的前两个文字框的至少部分角点连接在一起,获得新的文字框,并将所述新的文字框与所述当前文字框集合中的剩余文字框确定为新的文字框集合,其中,在执行第一次角点连接操作时所述当前文字框集合为所述排列文字框集合,任一次角点连接操作所确定的新的文字框集合为下一次角点连接操作所对应的当前文字框集合。
6.如权利要求5所述的方法,其中,所述沿着顺时针或逆时针的方向,将当前文字框集合中的前两个文字框的至少部分角点连接在一起,获得新的文字框包括:
在所述当前文字框集合中的前两个文字框不存在交集的情况下,沿着顺时针或逆时针的方向将所述前两个文字框中的所有角点连接在一起,获得所述新的文字框;
在所述当前文字框集合中的前两个文字框存在交集的情况下,舍弃所述前两个文字框中位于左侧的文字框的右上角点以及位于右侧的文字框的左下角点,并沿着顺时针或逆时针的方向将剩余的角点连接在一起,获得所述新的文字框。
7.如权利要求4所述的方法,其中,在所述针对该框线组合中的第一部分文字框,将所述第一部分文字框按目标延伸方向排列之前,所述基于该框线组合中的文字框确定该框线组合所对应的预测文字区域的位置信息还包括:
将该框线组合中面积大于标准文字框的面积的第一目标倍数的文字框和/或面积小于所述标准文字框的第二目标倍数的文字框过滤掉,获得所述第一部分文字框,其中,所述标准文字框是该框线组合中面积处于中位数的文字框。
8.如权利要求1-3任一项所述的方法,其中,所述位置信息包括区域轮廓,基于该框线组合中的中心线确定该框线组合所对应的预测文字区域的位置信息包括:
将该框线组合中的中心线的高度膨胀为第一目标高度,其中,所述第一目标高度为固定值,或者所述第一目标高度为第一高度和第二高度的平均值,或者所述第一目标高度等于所述中心线在膨胀前的高度按目标膨胀系数膨胀后达到的高度,所述第一高度为该框线组合中的位于最左侧的文字框的左侧边的高度,所述第二高度为该框线组合中的位于最右侧的文字框的右侧边的高度;
确定膨胀后的中心线的轮廓线为所述区域轮廓。
9.如权利要求8所述的方法,其中,所述基于该框线组合中的中心线确定该框线组合所对应的预测文字区域的位置信息的步骤在该框线组合中的中心线超出目标范围的情况下执行,所述目标范围是基于该框线组合中的文字框确定的区域轮廓的范围。
10.如权利要求1-3任一项所述的方法,其中,所述文字检测模型通过以下方式训练获得:
获取样本图像和文字框标注数据,所述文字框标注数据包括初始文字框的位置信息,所述初始文字框是包围所述样本图像中的真实文字区域的文字框;
将所述初始文字框划分成目标数目的样本文字框;
基于所述目标数目的样本文字框,确定样本中心线,所述样本中心线是所述真实文字区域的中心线;
基于所述样本图像、所述目标数目的样本文字框以及所述样本中心线,对所述文字检测模型进行训练。
11.如权利要求10所述的方法,其中,所述基于所述目标数目的样本文字框,确定样本中心线包括:
对于所述目标数目的样本文字框中的位于第一长边上的任一角点与所述目标数目的样本文字框中的位于相对的第二长边上的对应角点,确定这两个角点的中心点;
将所有中心点连接起来,获得初始中心线;
确定所述初始中心线或新中心线为所述样本中心线;
其中,所述新中心线通过以下方式获得:
在所述初始中心线的中点固定的情况下,将所述初始中心线位于所述中点两侧的部分分别按目标比例收缩;和/或,
将所述初始中心线的高度膨胀为第二目标高度。
12.如权利要求10所述的方法,其中,所述将所述初始文字框划分成目标数目的样本文字框包括:
将所述初始文字框的第一长边按照所述目标数目均分,获得第一组角点;
将所述初始文字框的第二长边按照所述目标数目均分,获得第二组角点;
将所述第一组角点中的每两个相邻的角点与所述第二组角点中的两个对应的相邻角点组合在一起,形成样本文字框。
13.一种电子设备,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行如权利要求1至12任一项所述的文字检测方法。
14.一种存储介质,在所述存储介质上存储了程序指令,其中,所述程序指令在运行时用于执行如权利要求1至12任一项所述的文字检测方法。
15.一种计算机程序产品,所述计算机程序产品包括计算机程序,其中,所述计算机程序在运行时用于执行如权利要求1至12任一项所述的文字检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211337889.3A CN116052175A (zh) | 2022-10-28 | 2022-10-28 | 文字检测方法、电子设备、存储介质及计算机程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211337889.3A CN116052175A (zh) | 2022-10-28 | 2022-10-28 | 文字检测方法、电子设备、存储介质及计算机程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116052175A true CN116052175A (zh) | 2023-05-02 |
Family
ID=86118977
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211337889.3A Pending CN116052175A (zh) | 2022-10-28 | 2022-10-28 | 文字检测方法、电子设备、存储介质及计算机程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116052175A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116543189A (zh) * | 2023-06-29 | 2023-08-04 | 天津所托瑞安汽车科技有限公司 | 一种目标检测方法、装置、设备及存储介质 |
-
2022
- 2022-10-28 CN CN202211337889.3A patent/CN116052175A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116543189A (zh) * | 2023-06-29 | 2023-08-04 | 天津所托瑞安汽车科技有限公司 | 一种目标检测方法、装置、设备及存储介质 |
CN116543189B (zh) * | 2023-06-29 | 2023-09-26 | 天津所托瑞安汽车科技有限公司 | 一种目标检测方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110008808B (zh) | 全景分割方法、装置和系统及存储介质 | |
CN110852285A (zh) | 对象检测方法、装置、计算机设备和存储介质 | |
CN114049512A (zh) | 模型蒸馏方法、目标检测方法、装置及电子设备 | |
CN111353325A (zh) | 关键点检测模型训练方法及装置 | |
CN110910334A (zh) | 一种实例分割方法、图像处理设备及计算机可读存储介质 | |
Yang et al. | Building detection in high spatial resolution remote sensing imagery with the U-Rotation Detection Network | |
CN116052175A (zh) | 文字检测方法、电子设备、存储介质及计算机程序产品 | |
Wang et al. | Geometric consistency enhanced deep convolutional encoder-decoder for urban seismic damage assessment by UAV images | |
CN108875501B (zh) | 人体属性识别方法、装置、系统及存储介质 | |
CN113537026A (zh) | 建筑平面图中的图元检测方法、装置、设备及介质 | |
Zhang et al. | A self-occlusion detection approach based on depth image using SVM | |
Geng et al. | SANet: A novel segmented attention mechanism and multi-level information fusion network for 6D object pose estimation | |
Croitoru et al. | Monocular right-angle building hypothesis generation in regularized urban areas by pose clustering | |
CN117011481A (zh) | 构建三维地图的方法、装置、电子设备及存储介质 | |
CN115147469A (zh) | 配准方法、装置、设备及存储介质 | |
CN115272741A (zh) | 一种细长柔性物体检测方法、终端设备及存储介质 | |
CN114359352A (zh) | 图像处理方法、装置、设备、存储介质及计算机程序产品 | |
Sun et al. | Contextual models for automatic building extraction in high resolution remote sensing image using object-based boosting method | |
El Sayed et al. | 3D face detection based on salient features extraction and skin colour detection using data mining | |
Gupta et al. | Image feature detection using an improved implementation of maximally stable extremal regions for augmented reality applications | |
Liu et al. | BDHE-Net: A Novel Building Damage Heterogeneity Enhancement Network for Accurate and Efficient Post-Earthquake Assessment Using Aerial and Remote Sensing Data | |
CN116740721B (zh) | 手指查句方法、装置、电子设备及计算机存储介质 | |
Wu et al. | Attention-based object detection with saliency loss in remote sensing images | |
CN115641430B (zh) | 一种兴趣面确定方法、装置、介质及计算机设备 | |
Korovin et al. | Human pose estimation applying ANN while RGB-D cameras video handling |
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 |