CN111062365B - 识别混合排版文字的方法、设备、芯片电路和计算机可读存储介质 - Google Patents
识别混合排版文字的方法、设备、芯片电路和计算机可读存储介质 Download PDFInfo
- Publication number
- CN111062365B CN111062365B CN201911393558.XA CN201911393558A CN111062365B CN 111062365 B CN111062365 B CN 111062365B CN 201911393558 A CN201911393558 A CN 201911393558A CN 111062365 B CN111062365 B CN 111062365B
- Authority
- CN
- China
- Prior art keywords
- bounding box
- text
- determining
- column
- sum
- 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
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/40—Document-oriented image-based pattern recognition
-
- 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/40—Document-oriented image-based pattern recognition
- G06V30/41—Analysis of document content
- G06V30/412—Layout analysis of documents structured with printed lines or input boxes, e.g. business forms or tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- 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
-
- 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/20—Image preprocessing
- G06V10/24—Aligning, centring, orientation detection or correction of the image
- G06V10/242—Aligning, centring, orientation detection or correction of the image by image rotation, e.g. by 90 degrees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/62—Text, e.g. of license plates, overlay texts or captions on TV images
-
- 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/146—Aligning or centring of the image pick-up or image-field
-
- 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/158—Segmentation of character regions using character size, text spacings or pitch estimation
-
- 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
- G06V30/18105—Extraction of features or characteristics of the image related to colour
-
- 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/40—Document-oriented image-based pattern recognition
- G06V30/41—Analysis of document content
- G06V30/414—Extracting the geometrical structure, e.g. layout tree; Block segmentation, e.g. bounding boxes for graphics or text
-
- 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/40—Document-oriented image-based pattern recognition
- G06V30/41—Analysis of document content
- G06V30/416—Extracting the logical structure, e.g. chapters, sections or page numbers; Identifying elements of the document, e.g. authors
-
- 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
-
- 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/28—Character recognition specially adapted to the type of the alphabet, e.g. Latin alphabet
- G06V30/287—Character recognition specially adapted to the type of the alphabet, e.g. Latin alphabet of Kanji, Hiragana or Katakana characters
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Processing Or Creating Images (AREA)
- Character Input (AREA)
- Image Analysis (AREA)
- Document Processing Apparatus (AREA)
Abstract
本发明提供了一种用于识别混合排版文字的方法、设备、芯片电路以及计算机可读存储介质。该方法包括:从图片中检测包含文字段落的一个或多个包围盒;基于每个包围盒的几何特性确定所述包围盒的文字排版方向,所述文字排版方向包括横向排版和竖向排版;以及基于所述包围盒的文字排版方向,将所述包围盒输入与所述文字排版方向相对应的文字识别网络,以识别所述包围盒中的文字。
Description
技术领域
本发明涉及图像处理领域,更具体地,涉及一种用于识别混合排版文字的方法、实现这种方法的设备、芯片电路以及计算机可读存储介质。
背景技术
当前的文字检测和识别技术通常是基于单一的文字排版方向的,如横向排版或竖向排版。例如,对于一些地区出版的书籍来说,文字排版方向通常是横向排版的,对这些书籍的文字识别过程包括利用横向排版文字对神经网络模型进行训练以产生相应的识别模型;而对于另一些地区出版的书籍来说,文字排版方向通常是竖向排版的,对这些出版物的文字识别过程包括利用竖向排版文字对神经网络进行训练以产生相应的识别模型。因此,在诸如书籍文字识别和说明书识别之类的大部分应用场景中,使用单一排版的文字对神经网络进行训练就可以满足需求。
然而,在另一些情况下,例如对于报纸、杂志等混合排版的出版物来说,使用单一排版的训练模型无法正常工作。图1示出了混合排版的报纸图片100的示意图。如图1中所示,图片100中既包括多个横向排版的文字段落(如框110中所示的文字段落),又包括多个竖向排版的文字段落(如框120、130和140中所示的文字段落)。
在这种情况下,单一排版的训练模型就无法正常工作。例如,使用横向排版的文字训练得到的识别模型在识别如框120、130和140中所示的竖向排版的文字时识别率就会很低,并且语句的语义完全错误。
发明内容
针对上述问题,本发明提供了一种用于识别混合排版文字的方案,能够识别包含横向排版和纵向排版两种文字排版方向的图片中的文字。
根据本发明的一个方面,提供了一种用于识别混合排版文字的方法。该方法包括:从图片中检测包含文字段落的一个或多个包围盒;基于每个包围盒的几何特性确定所述包围盒的文字排版方向,所述文字排版方向包括横向排版和竖向排版;以及基于所述包围盒的文字排版方向,将所述包围盒输入与所述文字排版方向相对应的文字识别网络,以识别所述包围盒中的文字。
根据本发明的另一个方面,提供了一种用于识别混合排版文字的设备。该设备包括:存储器,其上存储有计算机程序代码;以及处理器,其被配置为运行所述计算机程序代码,以执行如上所述的方法。
根据本发明的又一个方面,提供了一种计算机可读存储介质。该计算机可读存储介质上存储有计算机程序代码,该计算机程序代码在被运行时执行如上所述的方法。
根据本发明的再一个方面,提供了一种芯片电路,包括被配置为在加电时执行如上所述的方法的电路单元。
利用本发明的方案,能够准确地确定混合排版文字中的各个部分的排版方向,从而使用不同的识别模型对这些部分进行文字识别,提供了文字识别的准确性。
附图说明
图1示出了混合排版的报纸图片的示意图;
图2示出了根据本发明的实施例的用于识别混合排版文字的方法的流程图;
图3示出了根据本发明的一种实施例的用于确定包围盒的文字排版方向的步骤的示意图;
图4示出了根据本发明的另一种实施例的用于确定包围盒的文字排版方向的步骤的示意图;
图5示出了根据本发明的再一种实施例的用于确定包围盒的文字排版方向的步骤的示意图;以及
图6示出了可以用来实施本发明的实施例的示例设备的示意性框图。
具体实施方式
以下将结合附图对本发明的各实施例进行详细说明,以便更清楚理解本发明的目的、特点和优点。应理解的是,附图所示的实施例并不是对本发明范围的限制,而只是为了说明本发明技术方案的实质精神。
在下文的描述中,出于说明各种发明的实施例的目的阐述了某些具体细节以提供对各种发明实施例的透彻理解。但是,相关领域技术人员将认识到可在无这些具体细节中的一个或多个细节的情况来实践实施例。在其它情形下,与本申请相关联的熟知的装置、结构和技术可能并未详细地示出或描述从而避免不必要地混淆实施例的描述。
除非语境有其它需要,在整个说明书和权利要求中,词语“包括”和其变型,诸如“包含”和“具有”应被理解为开放的、包含的含义,即应解释为“包括,但不限于”。
在整个说明书中对“一个实施例”或“一实施例”的提及表示结合实施例所描述的特定特点、结构或特征包括于至少一个实施例中。因此,在整个说明书的各个位置“在一个实施例中”或“在一实施例”中的出现不一定全都指相同实施例。另外,特定特点、结构或特征可在一个或多个实施例中以任何方式组合。
此外,说明书和权利要求中所用的第一、第二、第三、第四等术语,仅仅出于描述清楚起见来区分各个对象,而并不限定其所描述的对象的大小或其他顺序等。
图2示出了根据本发明的实施例的用于识别混合排版文字的方法200的流程图。方法200的操作对象例如可以是如图1中所示的报纸图片100,其中图片100包括一个或多个横向排版的文字段落(如框110中所示的文字段落)和一个或多个竖向排版的文字段落(如框120、130和140中所示的文字段落)。
首先,在步骤210,从图片100中检测包含文字段落的一个或多个包围盒。这里,包围盒是指利用各种包围盒(bounding box)算法从图像中检测目标对象的过程中获取到的目标对象的区域。取决于所使用的包围盒算法和要检测的对象的特征,所检测的包围盒的大小可以不同,例如最小包围盒通常仅包括一行文字或一列文字。在本文中,包围盒是指通过对待检测的图片进行版面分析并根据版面分析结果将相邻的最小包围盒邻域联通所形成的包围盒,该包围盒通常包括一个段落,因此在本文中也可以称为段落包围盒。注意,取决于版面分析的结果,包围盒可以仅包括一个最小包围盒(即一行或一列文字),也可以包括多个最小包围盒。本领域技术人员可以理解,在本发明中,可以使用各种已知或未来开发的包围盒算法来进行文字段落的检测而不会限制本发明的范围。
在一种实施例中,步骤210包括:将图片100输入文字检测神经网络以获得图片100中的文字响应区。这里,文字响应区是指图片中包含文字的部分,与图片中的背景部分相对应,获得图片100的文字响应区是指对图片100进行分割,以将图片100中的文字部分与背景部分区分开。在一种实例中,可以利用基于纹理的方法来获得图片的文字响应区。基于纹理的方法的原理是:文字是具有独特纹理特性的物体,可以通过刻画文字的这种纹理特性将图像中的文字部分和背景部分分割开来。通过基于纹理的方法得到的文字响应区基本上能够明显区分于背景部分,然而其与背景部分之间的相交部分可能存在模糊,并且两个部分之间的对比度可能不够大,不足以准确切分出文字部分。
因此,在获取图片100的文字响应区之后,步骤210还可以包括:对文字响应区执行平滑处理、二值化处理和邻域联通处理以获得包含最小包围盒。如前所述,最小包围盒的大小通常仅包括一行或一列文字。
在获得最小包围盒之后,步骤210还可以包括:对图片100进行版面分析,根据版面分析的结果,基于最小包围盒产生包围盒。例如,如果最小包围盒的四周的空白区域都较大,则认为该最小包围盒相对独立,可以单独构成一个本文所述的包围盒。所产生的包围盒例如可以是图1中所示的包围盒110、120、130和140,其中对于包围盒140来说,根据版面分析的结果(例如包围盒140的周围空白区域的大小)确定包围盒140仅包含一列文字,即相当于一个最小包围盒构成一个包围盒。
上面以基于纹理的方法为例进行了描述,然而,本发明并不局限于此,获得文字响应区的方法还可以包括例如基于连通域的方法或基于纹理的方法和基于连通域的方法的结合等,本文中不对此进行详细描述。
接下来,方法200还包括步骤220,其中基于每个包围盒的几何特性确定该包围盒的文字排版方向,即确定包围盒中的文字段落是横向排版还是竖向排版。在一些实施例中,包围盒的几何特性可以包括包围盒的高宽比(或宽高比)。在另一些实施例中,包围盒的几何特性可以包括包围盒内的文字段落的特性。更具体地,包围盒内的文字段落的特性例如可以包括包围盒中的文字段落的文字特性(如文字行的高度、文字行的占比、文字列的宽度、文字列的占比,或者文字行的占比与文字列的占比之间的关系等)和/或文字间隔特性(如文字间隔行的高度、文字间隔行的占比、文字间隔列的宽度、文字间隔列的占比、或者文字间隔行的占比与文字间隔列的占比之间的关系等)。以下通过图3至图5详细描述根据本发明的用于确定包围盒的文字排版方向的步骤220的一些实施例。
图3示出了根据本发明的一种实施例的用于确定包围盒的文字排版方向的步骤220的示意图。
如图3所示,步骤220可以包括子步骤302,其中从图片100中截取步骤210中所获得的一个包围盒的区域。以下以图1所示的包围盒110为例进行描述。
接下来,在子步骤304,计算包围盒110的高宽比k,然后在子步骤306,确定高宽比k是否小于或等于第一阈值th1。这里,第一阈值th1是用来判断横向排版的包围盒的阈值条件,其可以是一个经验值或统计值,或者是根据诸如出版物规范之类的法规预先设置的值。
包围盒110的高宽比k可以简单计算为:
k=h/w,其中h是指包围盒110的高度,w是指包围盒110的宽度,如图1中所示。高度h和宽度w例如可以以像素为单位。
如果子步骤306的判断结果为“是”,即确定高宽比k小于或等于第一阈值th1,则在子步骤308确定包围盒110的文字排版方向为横向排版。在这种情况下,可以将子步骤306的判断结果为“否”的情况确定为包围盒110的文字排版方向为竖向排版(图中未示出)。
或者,作为一种替换方式,还可以通过第二阈值th2来进一步确定包围盒110的文字排版方向。如图3中所示,如果子步骤306的判断结果为“否”,即确定高宽比k大于第一阈值th1,步骤220可以进一步包括子步骤310,其中进一步确定高宽比k是否大于或等于第二阈值th2,其中第二阈值th2大于第一阈值th1。这里,第二阈值th2是用来判断竖向排版的包围盒的阈值条件,其也可以是一个经验值或统计值,或者是根据诸如出版物规范之类的法规预先设置的值。
当子步骤310的判断结果为“是”,即确定高宽比k大于或等于第二阈值th2时,在子步骤312确定包围盒110的文字排版方向为竖向排版。
在图3所示的实施例中,基于包围盒的高宽比来确定包围盒的文字排版方向,这是基于如下的假设或经验,即,横向排版的文字段落通常宽度大于高度,而竖向排版的文字段落通常高度大于宽度。然而,在许多情况下,这种假设或经验并不总是成立,因此存在着无法仅仅通过包围盒的高宽比来确定排版方向的情况。在这种情况下,通过图3的实施例可能会输出错误的检测结果,从而需要其他算法介入纠正。因此,本发明还提供了如下面结合图4和图5所示的通过包围盒中的文字段落的特性来确定文字排版方向的方法。图4或图5所示的方法可以单独用于确定文字排版的方向,或者,图4或图5所示的方法也可以作为图3所示的方法的补充,即,可以在子步骤310的判断为“否”(即包围盒的高宽比k大于第一阈值th1而小于第二阈值th2)时进一步用来确定包围盒的文字排版方向。
图4示出了根据本发明的另一种实施例的用于确定包围盒的文字排版方向的步骤220的示意图。
如图4中所示,步骤220包括子步骤314,其中确定包围盒110中的每个空白像素行。这里,空白(blank)像素行是指没有文字笔划出现的像素行,即背景色的像素行,并不一定由白色(white)像素构成。然而,在大多数报纸、杂志或书籍中,背景色通常是白色,因此以白色作为背景色的判断标准也有很大的适用性。以下分别给出背景色为已知颜色和未知颜色的情况下的具体实现方式。
在一种实现方式中,假设图片100的背景色基本上为白色(如图1中所示),子步骤314可以进一步包括:计算包围盒110中的每个像素行的平均灰度值,确定包围盒110中的每个像素行的平均灰度值是否基本上等于白色像素的灰度值,以及当一个像素行的平均灰度值基本上等于白色像素的灰度值时,确定该像素行是空白像素行。
具体地,例如,可以把白色和黑色之间按照对数关系分成若干级(如256级),称为灰度等级,其中白色像素的灰度值为255,黑色像素的灰度值为0。然后对包围盒110中的每个像素行的所有像素的灰度值求和,并除以该像素行的宽度(即该像素行的像素数),将得到的平均值作为该像素行的平均灰度值。
当一个像素行的平均灰度值基本上等于(或非常接近)白色像素的灰度值(例如在[250,255]范围内)时,判断该像素行是空白像素行,即判断该像素行处于文字行之间的间隔中。
这里,假设图片100本身是灰度图像的情况对子步骤314进行描述,然而,在图片100不是灰度图像的情况下,子步骤314之前还包括将图片100(或包围盒110)转换为灰度图像的过程,在此不再赘述。
此外,以上以图片100的背景色为白色为例对子步骤314进行了描述,然而本领域技术人员可以理解,上述子步骤314的执行过程也可以扩展到背景色为已知的任何其他颜色的情况。例如,在要识别的大量图片具有相同的背景色(如黑色)的情况下,上述子步骤314的执行过程可以等同地替换为将每个像素行的平均灰度值与黑色像素的灰度值进行比较。
此外,本领域技术人员还可以理解,上面的子步骤314的执行也并不局限于上述的像素等级的划分方式和两个极值像素(如白色和黑色)的灰度值的设定方式,而是可以采用任何其他等同替换方式。
在另一种实现方式中,不是根据像素行的平均灰度值而是根据像素行的灰度值离散度来确定空白像素行。具体地,子步骤314可以进一步包括:计算包围盒110中的每个像素行的灰度值离散度,确定每个像素行的灰度值离散度是否基本上等于零,并且当确定一个像素行的灰度值离散度基本上等于零时,确定该像素行是空白像素行。在本文中,灰度值离散度可以包括灰度值的方差或均方差等。然而,本领域技术人员可以理解,本发明并不局限于此,灰度值离散度还可以包括任何能够体现灰度值分布的均匀程度的特征值。
利用这种实现方式,不需要提前知道或假设背景色就能够判断像素行是否是空白像素行,从而具有更高的适用性。
返回图3,在子步骤314中确定了包围盒110中的每个像素行是否是空白像素行之后,在子步骤316,可以组合相邻的空白像素行以确定包围盒的水平方向的每个文字间隔行的高度,并且确定所有文字间隔行的高度之和与包围盒110的高度h之间的行占比rr。这里,如图1中所示,文字间隔行101(图1中仅示例性地标出了一个文字间隔行101)是指包围盒110中的文本段落中相邻的文本行之间的空白间隔,其通常由多个相邻的空白像素行构成;行占比rr是指包围盒110中的文本段落中的所有文字间隔行101的高度之和(例如空白像素行的像素数之和)与包围盒110的高度h(例如以像素为单位的高度)之间的比值。
接下来,在子步骤318,可以确定行占比rr是否大于或等于第三阈值th3,并且当子步骤318的判断结果为“是”,即确定行占比rr大于或等于第三阈值th3时,在子步骤320可以确定包围盒110的文字排版方向是横向排版。
此外,除了考虑文字间隔行的高度之和与包围盒的高度之间的行占比rr之外,在子步骤318还可以确定每个文字间隔行的高度是否大于或等于第四阈值th4,并且当子步骤318的判断结果为“是”,即确定行占比rr大于或等于第三阈值th3且每个文字间隔行的高度都大于或等于第四阈值th4时,在子步骤320确定包围盒110的文字排版方向是横向排版。
也就是说,对于横向排版的文字来说,通常文字间隔行的行占比和自身高度都比较大,因此通过这两个因素来双重检验能够进一步提高检测的准确性。
在上述实施例的子步骤316至320中,基于文字间隔行的大小和行占比来确定包围盒的文字排版方向。然而,上述子步骤316至320也可以等同地替换为以文字行的大小和行占比来确定文字排版方向。具体地,在子步骤316中,在确定了所有文字间隔行的高度之和之后,可以基于所有文字间隔行的高度之和和包围盒110的高度h这二者确定所有文字行的高度之和,并且计算所有文字行的高度之和与包围盒110的高度h之间的行占比。在这种情况下,与利用文字间隔行的行占比不同,在子步骤318,确定计算的文字行的行占比是否小于或等于某一阈值,并且在确定文字行的行占比小于或等于该阈值时,确定包围盒的文字排版方向是横向排版。
或者,在其他实施例中,可以与子步骤316至320并列地或者附加地,基于包围盒110中的文字行的高度的离散度来确定或验证包围盒的文字排版方向。具体地,可以基于相邻文字间隔行的位置确定相邻文字间隔行之间的文字行的高度;确定包围盒110中的所有文字行的高度的离散度;确定所有文字行的高度的离散度是否小于或等于第五阈值th5,并且在确定所有文字行的高度的离散度小于或等于第五阈值th5时,确定包围盒110的文字排版方向是横向排版。
此外,本领域技术人员可以理解,基于文字段落的特性来确定包围盒110内的文字排版方向还可以包括上述方式的变形或组合。例如,与文字行的高度的离散度类似,可以通过包围盒110内的所有文字间隔行的高度的离散度来确定或验证包围盒110的文字排版方向。又例如,还可以通过文字行的高度的离散度和文字间隔行的高度的离散度这二者一起来确定包围盒110的文字排版方向,本文在此不再赘述。
另一方面,如果在子步骤318的判断结果为“否”,即确定行占比rr小于第三阈值th3时,可以确定包围盒110的文字排版方向是横向排版。
替换地或者额外地,还可以通过计算文字间隔列的宽度和列占比来确定包围盒的文字排版方向。具体地,如图4中所示,步骤220还可以包括子步骤322,其中确定包围盒110中的每个空白像素列。这里,与空白像素行类似,空白(blank)像素列是指没有文字笔划出现的像素列,即背景色的像素列,并不一定由白色(white)像素构成。然而,在大多数报纸、杂志或书籍中,背景色通常是白色,因此以白色作为背景色的判断标准也有很大的适用性。以下分别给出背景色为已知颜色和未知颜色的情况下的具体实现方式。这里,确定空白像素列的方式与上述子步骤314中确定空白像素行的方式类似。
在一种实现方式中,假设图片100的背景色基本上为白色(如图1中所示),子步骤322可以进一步包括:计算包围盒110中的每个像素列的平均灰度值,确定包围盒110中的每个像素列的平均灰度值是否基本上等于白色像素的灰度值,以及当一个像素列的平均灰度值基本上等于白色像素的灰度值时,确定该像素列是空白像素列。这里,同样假设图片100是灰度图像,而在图片100不是灰度图像的情况下,子步骤322之前还包括将图片100(或包围盒110)转换为灰度图像的过程,在此不再赘述。
具体地,可以如上所述设置白色和黑色像素之间的灰度等级。然后对包围盒110中的每个像素列的所有像素的灰度值求和,并除以该像素列的高度(即该像素列的像素数),将得到的平均值作为该像素列的平均灰度值。
当一个像素列的平均灰度值基本上等于(或非常接近)白色像素的灰度值时,判断该像素列是空白像素行,即判断该像素列处于文字列之间的间隔中。
以上以图片100的背景色为白色为例对子步骤322进行了描述,然而本领域技术人员可以理解,上述子步骤322的执行过程也可以扩展到背景色为已知的任何其他颜色的情况。例如,在要识别的大量图片具有相同的背景色(如黑色)的情况下,上述子步骤322的执行过程可以等同地替换为将每个像素列的平均灰度值与黑色像素的灰度值进行比较。
此外,本领域技术人员还可以理解,上面的子步骤322的执行也并不局限于上述的像素等级的划分方式和两个极值像素(白色和黑色)的灰度值的设定方式,而是可以采用任何其他等同替换方式。
在另一种实现方式中,不是根据像素列的平均灰度值而是根据像素列的灰度值的离散度来确定空白像素列。具体地,子步骤322可以进一步包括:计算包围盒110中的每个像素列的灰度值离散度,确定每个像素列的灰度值离散度是否基本上等于零,并且当确定一个像素列的灰度值离散度基本上等于零时,确定该像素列是空白像素列。
利用这种实现方式,不需要提前知道或假设背景色就能够判断像素列是否是空白像素列,从而具有更高的适用性。
继续图4,在子步骤322中确定了包围盒110中的每个像素列是否是空白像素列之后,在子步骤324,可以组合相邻的空白像素列以确定包围盒110的竖直方向的每个文字间隔列的宽度,并且确定所有文字间隔列的宽度之和与包围盒110的宽度w之间的列占比rc。这里,如图1中所示,文字间隔列102(图1中仅示例性地标出了一个文字间隔列102)是指包围盒110中的文本段落中相邻的文本列之间的空白间隔,其通常由多个相邻的空白像素列构成;列占比rc是指包围盒110中的文本段落中的所有文字间隔列102的宽度之和(例如空白像素列的像素数之和)与包围盒110的宽度w(例如以像素为单位的宽度)之间的比值。
接下来,在子步骤326,可以确定列占比rc是否大于或等于第六阈值th6,并且当子步骤326的判断结果为“是”,即确定列占比rc大于或等于第六阈值th6时,确定包围盒110的文字排版方向是竖向排版。
此外,除了考虑列占比rc之外,在子步骤326还可以确定每个文字间隔列的宽度是否大于或等于第七阈值th7,并且当子步骤326的判断结果为“是”,即确定列占比rc大于或等于第六阈值th6并且每个文字间隔列的宽度都大于或等于第七阈值th7时,在子步骤328确定包围盒110的文字排版方向是竖向排版。
也就是说,对于竖向排版的文字来说,通常文字间隔列的列占比和自身宽度都比较大,因此通过这两个因素来双重检验能够进一步提高检测的准确性。
在上述实施例的子步骤324至328中,基于文字间隔列的大小和列占比来确定包围盒的文字排版方向。然而,上述子步骤314至328也可以等同地替换为以文字列的大小和列占比来确定文字排版方向。具体地,在子步骤324中,在确定了所有文字间隔列的宽度之和之后,可以基于所有文字间隔列的宽度之和和包围盒110的宽度w这二者确定所有文字列的宽度之和,并且计算所有文字列的宽度之和与包围盒110的宽度w之间的列占比。在这种情况下,与利用文字间隔列的列占比不同,在子步骤326,确定计算的文字列的列占比是否小于或等于某一阈值,并且在确定文字列的列占比小于或等于该阈值时,确定包围盒的文字排版方向是竖向排版。
或者,在其他实施例中,可以与子步骤314至328并列地或者附加地,基于包围盒110中的文字列的宽度的离散度来确定或验证包围盒的文字排版方向。具体地,可以基于相邻文字间隔列的位置确定相邻文字间隔列之间的文字列的宽度;确定包围盒110中的所有文字列的宽度的离散度;确定所有文字列的宽度的离散度是否小于或等于第八阈值th8,并且在确定所有文字列的宽度的离散度小于或等于第八阈值th8时,确定包围盒110的文字排版方向是竖向排版。
此外,本领域技术人员可以理解,基于文字段落的特性来确定包围盒110内的文字排版方向还可以包括上述方式的变形或组合。例如,与文字列的宽度的离散度类似,可以通过包围盒110内的所有文字间隔列的宽度的离散度来确定或验证包围盒110的文字排版方向。又例如,还可以通过文字列的宽度的离散度和文字间隔列的宽度的离散度这二者一起来确定包围盒110的文字排版方向,本文在此不再赘述。
注意,在图3中按照子步骤314至328的顺序进行了描述,然而本领域技术人员可以理解,本发明并不局限于上述特定的顺序。在其他实施例中,步骤220的执行过程可以仅包含子步骤314至320或者仅包含子步骤322至328,或者可以将子步骤322至328放在子步骤314至320之前执行,这些都不影响本发明的范围。
与第一阈值th1和第二阈值th2类似,第三阈值th3、第四阈值th4、第五阈值th5、第六阈值th6、第七阈值th7和第八阈值th8以及其他阈值也都可以是经验值或统计值,或者是根据诸如出版物规范之类的法规预先设置的值。
然而,在一些情况下,可能无法预先确定这些阈值。针对这种情况,本发明提供了进一步的能够确定包围盒的文字排版方向的方法。图5示出了根据本发明的再一种实施例的用于确定包围盒的文字排版方向的步骤220的示意图。
与图4所示的实施例中的子步骤314和316类似,在图5所示的实施例中,在子步骤330和332,分别确定包围盒110中的每个空白像素行和所有文字间隔行的行占比rr。
与图4所示的实施例中的子步骤322和324类似,在图5所示的实施例中,在子步骤334和336,分别确定包围盒110中的每个空白像素列和所有文字间隔列的列占比rc。
与图4所示的实施例不同,在图5所示的实施例中,在子步骤338,确定列占比rc是否大于或等于行占比rr。
在子步骤338的判断结果为“是”时,即列占比rc大于或等于行占比rr时,在子步骤340确定包围盒110的文字排版方向是竖向排版。
另一方面,在子步骤338的判断结果为“否”时,即列占比rc小于行占比rr时,在子步骤342确定包围盒110的文字排版方向是横向排版。
类似的,图5所示的实施例也可以等同的替换为利用文字行的行占比与文字列的列占比之间的关系来确定包围盒的文字排版方向。具体地,在子步骤332,在确定了文字间隔行的高度之和之后,可以基于文字间隔行的高度之和和包围盒的高度h确定包围盒中的文字行的高度之和,并且计算文字行的高度之和与包围盒的高度h之间的行占比。在子步骤336,在确定了文字间隔列的宽度之和之后,可以基于文字间隔列的宽度之和和包围盒的宽度w确定包围盒中的文字列的宽度之和,并且计算文字列的宽度之和与包围盒的宽度w之间的列占比。在这种情况下,在子步骤328,确定文字行的行占比是否大于或等于文字列的列占比,并且在文字行的行占比大于或等于文字列的列占比时,确定包围盒为横向排版,而在文字行的行占比小于文字列的列占比时,确定包围盒是竖向排版。
需要注意的是,虽然上面结合图3至图5分别描述了根据本发明的用于确定包围盒的文字排版方向的不同实施方式,但是这些实施方式可以独立实现,也可以以某些形式组合实现。例如,图4或图5所示的方法可以单独用来确定包围盒的文字排版方向,也可以与图3所示的方法一起组合来确定包围盒的文字排版方向。即,图3基于包围盒的高宽比进行初步确定,在基于高宽比无法确定的情况下(如图3中子步骤310的判断结果为“否”的情况下),利用图4或图5所示的方法进行进一步确定。以图1中所示的框110、120、130和140为例,基于图3所示的方法即可确定包围盒130和140的文字排版方向为竖向排版,而对于框110和120来说,则需要结合图4或图5所示的方法来确定包围盒110的文字排版方向是横向排版,包围盒120的文字排版方向是竖向排版。
返回图2,在步骤220确定了包围盒的文字排版方向之后,在步骤230,基于包围盒的文字排版方向,将包围盒输入与其文字排版方向相对应的文字识别网络,以识别其中的文字。
例如,在步骤220中确定包围盒110的文字排版方向是横向排版,因此在步骤230可以将包围盒110的切图输入横向排版的OCR(光学字符识别)网络,以对其中的文字进行识别。
又例如,在步骤220中确定包围盒120、130和140的文字排版方向是竖向排版,因此在步骤230可以将包围盒120、130和140的切图分别输入竖向排版的OCR网络,以对其中的文字进行识别。
利用上述方案,通过基于包含文字段落的包围盒的几何特性(如包围盒的高宽比和/或文字段落的特性(如文字特性或文字间隔特性))来确定混合排版的文字排版方向,与使用单一模型相比提高了识别的准确性。此外,在确定了混合排版的文字排版方向之后,能够仍然基于利用单一排版文字进行训练的识别模型来进行识别,避免了利用混合排版文字直接进行训练带来的计算复杂度。
图6示出了可以用来实施本发明的实施例的示例设备600的示意性框图。设备600例如可以是用于进行文字识别的台式电脑或便携式电脑等。如图所示,设备600可以包括一个或多个中央处理单元(CPU)610(图中仅示意性地示出了一个),其可以根据存储在只读存储器(ROM)620中的计算机程序指令或者从存储单元680加载到随机访问存储器(RAM)630中的计算机程序指令,来执行各种适当的动作和处理。在RAM 630中,还可存储设备600操作所需的各种程序和数据。CPU 610、ROM 620以及RAM 630通过总线640彼此相连。输入/输出(I/O)接口650也连接至总线640。
设备600中的多个部件连接至I/O接口650,包括:输入单元660,例如键盘、鼠标等;输出单元670,例如各种类型的显示器、扬声器等;存储单元680,例如磁盘、光盘等;以及通信单元690,例如网卡、调制解调器、无线通信收发机等。通信单元690允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的方法200例如可由设备600的处理单元610执行。例如,在一些实施例中,方法200可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元680。在一些实施例中,计算机程序的部分或者全部可以经由ROM 620和/或通信单元690而被载入和/或安装到设备600上。当计算机程序被加载到RAM 630并由CPU 610执行时,可以执行上文描述的方法600的一个或多个操作。此外,通信单元690可以支持有线或无线通信功能。
以上结合附图对根据本发明的用于识别混合排版的文字的方法200和设备600进行了描述。然而本领域技术人员可以理解,设备600并不必须包含图6中所示的所有组件,其可以仅仅包含执行本发明中所述的功能所必须的其中一些组件,并且这些组件的连接方式也不局限于图中所示的形式。例如,在设备600是诸如手机之类的便携式设备的情况下,设备600可以具有与图6中相比不同的结构。
本发明可以实现为方法、设备、芯片电路和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本发明的各个方面的计算机可读程序指令。芯片电路可以包括用于执行本发明的各个方面的电路单元。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言-诸如Smalltalk、C++等,以及常规的过程式编程语言-诸如"C"语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络-包括局域网(LAN)或广域网(WAN)-连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
根据本发明的一些实施例,提供了一种用于识别混合排版文字的方法,包括:从图片中检测包含文字段落的一个或多个包围盒;基于每个包围盒的几何特性确定所述包围盒的文字排版方向,所述文字排版方向包括横向排版和竖向排版;以及基于所述包围盒的文字排版方向,将所述包围盒输入与所述文字排版方向相对应的文字识别网络,以识别所述包围盒中的文字。
根据本发明的一些实施例,其中从图片中检测包含文字段落的一个或多个包围盒包括:将所述图片输入文字检测神经网络以获得所述图片中的文字响应区;对所述文字响应区执行平滑处理、二值化处理和邻域联通处理以获得最小包围盒;以及对所述图片进行版面分析,并且根据版面分析的结果,基于所述最小包围盒产生所述包围盒。
根据本发明的一些实施例,其中确定所述包围盒的文字排版方向包括:从所述图片中截取所述包围盒的区域;计算所述包围盒的高宽比;确定所述高宽比是否小于或等于第一阈值;以及响应于确定所述高宽比小于或等于所述第一阈值,确定所述包围盒的文字排版方向为横向排版。
根据本发明的一些实施例,其中确定所述包围盒的文字排版方向还包括:响应于确定所述高宽比大于所述第一阈值,确定所述高宽比是否大于或等于第二阈值,所述第二阈值大于所述第一阈值;以及响应于确定所述高宽比大于或等于所述第二阈值,确定所述包围盒的文字排版方向为竖向排版。
根据本发明的一些实施例,其中确定所述包围盒的文字排版方向包括:确定所述包围盒中的每个空白像素行;以及根据所述包围盒中所述空白像素行确定所述包围盒的文字排版方向。
根据本发明的一些实施例,其中根据所述包围盒中所述空白像素行确定所述包围盒的文字排版方向包括:组合相邻的空白像素行以确定所述包围盒的水平方向的每个文字间隔行的高度;以及根据所述每个文字间隔行的高度确定所述包围盒的文字排版方向。
根据本发明的一些实施例,其中根据所述每个文字间隔行的高度确定所述包围盒的文字排版方向包括:确定所有文字间隔行的高度之和与所述包围盒的高度之间的行占比;确定所有文字间隔行的高度之和与所述包围盒的高度之间的行占比是否大于或等于第三阈值;以及响应于确定所述行占比大于或等于所述第三阈值,确定所述包围盒的文字排版方向是横向排版。
根据本发明的一些实施例,其中根据所述每个文字间隔行的高度确定所述包围盒的文字排版方向包括:基于相邻文字间隔行的位置确定所述相邻文字间隔行之间的文字行的高度;确定所述包围盒中的所有文字行的高度的离散度;确定所有文字行的高度的离散度是否小于或等于第五阈值;以及响应于确定所有文字行的高度的离散度小于或等于所述第五阈值,确定所述包围盒的文字排版方向是横向排版。
根据本发明的一些实施例,其中确定所述包围盒中的每个空白像素行包括:计算所述包围盒中的每个像素行的平均灰度值;确定所述包围盒中的每个像素行的平均灰度值是否基本上等于白色像素的灰度值;以及响应于所述像素行的平均灰度值基本上等于白色像素的灰度值,确定所述像素行是空白像素行。
根据本发明的一些实施例,其中确定所述包围盒中的每个空白像素行包括:计算所述包围盒中的每个像素行的灰度值离散度;确定所述包围盒中的每个像素行的灰度值离散度是否基本上为零;以及响应于确定所述像素行的灰度值离散度基本上为零,确定所述像素行是空白像素行。
根据本发明的一些实施例,其中确定所有文字间隔行的高度之和与所述包围盒的高度之间的行占比是否大于或等于第三阈值还包括:确定每个文字间隔行的高度是否大于或等于第四阈值;并且其中确定所述包围盒的文字排版方向是横向排版还包括:响应于确定每个文字间隔行的高度都大于或等于所述第四阈值,确定所述包围盒的文字排版方向是横向排版。
根据本发明的一些实施例,其中确定所述包围盒的文字排版方向包括:确定所述包围盒中的每个空白像素列;以及根据所述包围盒中所述空白像素列确定所述包围盒的文字排版方向。
根据本发明的一些实施例,其中根据所述包围盒中所述空白像素列确定所述包围盒的文字排版方向包括:组合相邻的空白像素列以确定所述包围盒的竖直方向的每个文字间隔列的宽度;以及根据所述每个文字间隔列的宽度确定所述包围盒的文字排版方向。
根据本发明的一些实施例,其中根据所述每个文字间隔列的宽度确定所述包围盒的文字排版方向包括:确定所有文字间隔列的宽度之和与所述包围盒的宽度之间的列占比;确定所有文字间隔列的宽度之和与所述包围盒的宽度之间的列占比是否大于或等于第六阈值;以及响应于确定所有文字间隔列的宽度之和与所述包围盒的宽度之间的列占比大于或等于所述第六阈值,确定所述包围盒的文字排版方向是竖向排版。
根据本发明的一些实施例,其中根据所述每个文字间隔列的宽度确定所述包围盒的文字排版方向包括:基于相邻文字间隔列的位置确定所述相邻文字间隔列之间的文字列的宽度;确定所述包围盒中的所有文字列的宽度的离散度;确定所有文字列的宽度的离散度是否小于或等于第八阈值;以及响应于确定所有文字列的宽度的离散度小于或等于所述第八阈值,确定所述包围盒的文字排版方向是竖向排版。
根据本发明的一些实施例,其中确定所述最小包围盒中的每个空白像素列包括:计算所述包围盒中的每个像素列的平均灰度值;确定所述包围盒中的每个像素列的平均灰度值是否基本上等于白色像素的像素值;以及响应于所述像素列的平均灰度值基本上等于白色像素的像素值,确定所述像素列是空白像素列。
根据本发明的一些实施例,其中确定所述包围盒中的每个空白像素列包括:计算所述包围盒中的每个像素列的灰度值离散度;确定所述包围盒中的每个像素列的灰度值离散度是否基本上为零;以及响应于确定所述像素列的灰度值离散度基本上为零,确定所述像素列是空白像素列。
根据本发明的一些实施例,其中确定所述列占比是否大于或等于第六阈值还包括:确定每个文字间隔列的宽度是否大于或等于第七阈值;并且其中确定所述包围盒的文字排版方向是竖向排版还包括:响应于确定每个文字间隔列的宽度都大于或等于所述第七阈值,确定所述包围盒的文字排版方向是竖向排版。
根据本发明的一些实施例,其中确定所述包围盒的文字排版方向包括:确定所述包围盒中的每个空白像素行;组合相邻的空白像素行以确定所述包围盒的水平方向的每个文字间隔行的高度,并且确定所有文字间隔行的高度之和与所述包围盒的高度之间的行占比;确定所述包围盒中的每个空白像素列;组合相邻的空白像素列以确定所述包围盒的竖直方向的每个文字间隔列的宽度,并且确定所有文字间隔列的宽度之和与所述包围盒的宽度之间的列占比;确定所有文字间隔列的宽度之和与所述包围盒的宽度之间的列占比是否大于或等于所有文字间隔行的高度之和与所述包围盒的高度之间的行占比;响应于确定所有文字间隔列的宽度之和与所述包围盒的宽度之间的列占比大于或等于所有文字间隔行的高度之和与所述包围盒的高度之间的行占比,确定所述包围盒的文字排版方向是竖向排版;以及响应于确定所有文字间隔列的宽度之和与所述包围盒的宽度之间的列占比小于所有文字间隔行的高度之和与所述包围盒的高度之间的行占比,确定所述包围盒的文字排版方向是横向排版。
根据本发明的一些实施例,其中确定所述包围盒的文字排版方向包括:确定所述包围盒中的每个空白像素行;组合相邻的空白像素行以确定所述包围盒的水平方向的每个文字间隔行的高度,确定所有文字间隔行的高度之和,基于所有文字间隔行的高度之和和所述包围盒的高度确定所有文字行的高度之和,并且确定所有文字行的高度之和与所述包围盒的高度之间的行占比;确定所述包围盒中的每个空白像素列;组合相邻的空白像素列以确定所述包围盒的竖直方向的每个文字间隔列的宽度,确定所有文字间隔列的宽度之和,基于所有文字间隔列的宽度之和和所述包围盒的宽度确定所有文字列的宽度之和,并且确定所有文字列的高度之和与所述包围盒的宽度之间的列占比;确定所有文字行的高度之和与所述包围盒的高度之间的行占比是否大于或等于所有文字列的高度之和与所述包围盒的宽度之间的列占比;响应于确定所有文字行的高度之和与所述包围盒的高度之间的行占比大于或等于所有文字列的高度之和与所述包围盒的宽度之间的列占比,确定所述包围盒的文字排版方向是横向排版;以及响应于确定所有文字行的高度之和与所述包围盒的高度之间的行占比小于所有文字列的高度之和与所述包围盒的宽度之间的列占比,确定所述包围盒的文字排版方向是竖向排版。
根据本发明的一些实施例,提供了一种用于识别混合排版文字的设备,包括:存储器,其上存储有计算机程序代码;以及处理器,其被配置为运行所述计算机程序代码,以执行上述方法。
根据本发明的一些实施例,提供了一种计算机可读存储介质,其上存储有计算机程序代码,所述计算机程序代码在被运行时执行上述方法。
根据本发明的一些实施例,提供了一种芯片电路,包括被配置为在加电时执行如上所述的方法的电路单元。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (22)
1.一种用于识别混合排版文字的方法,包括:
从图片中检测包含文字段落的一个或多个包围盒;
基于每个包围盒的几何特性确定所述包围盒的文字排版方向,所述文字排版方向包括横向排版和竖向排版;以及
基于所述包围盒的文字排版方向,将所述包围盒输入与所述文字排版方向相对应的文字识别网络,以识别所述包围盒中的文字;
其中从图片中检测包含文字段落的一个或多个包围盒包括:
将所述图片输入文字检测神经网络以获得所述图片中的文字响应区;
对所述文字响应区执行平滑处理、二值化处理和邻域联通处理以获得最小包围盒;以及
对所述图片进行版面分析,并且根据版面分析的结果,基于所述最小包围盒产生所述包围盒。
2.如权利要求1所述的方法,其中确定所述包围盒的文字排版方向包括:
从所述图片中截取所述包围盒的区域;
计算所述包围盒的高宽比;
确定所述高宽比是否小于或等于第一阈值;以及
响应于确定所述高宽比小于或等于所述第一阈值,确定所述包围盒的文字排版方向为横向排版。
3.如权利要求2所述的方法,其中确定所述包围盒的文字排版方向还包括:
响应于确定所述高宽比大于所述第一阈值,确定所述高宽比是否大于或等于第二阈值,所述第二阈值大于所述第一阈值;以及
响应于确定所述高宽比大于或等于所述第二阈值,确定所述包围盒的文字排版方向为竖向排版。
4.如权利要求1或3所述的方法,其中确定所述包围盒的文字排版方向包括:
确定所述包围盒中的每个空白像素行;以及
根据所述包围盒中所述空白像素行确定所述包围盒的文字排版方向。
5.如权利要求4所述的方法,其中根据所述包围盒中所述空白像素行确定所述包围盒的文字排版方向包括:
组合相邻的空白像素行以确定所述包围盒的水平方向的每个文字间隔行的高度;以及
根据所述每个文字间隔行的高度确定所述包围盒的文字排版方向。
6.如权利要求5所述的方法,其中根据所述每个文字间隔行的高度确定所述包围盒的文字排版方向包括:
确定所有文字间隔行的高度之和与所述包围盒的高度之间的行占比;
确定所有文字间隔行的高度之和与所述包围盒的高度之间的行占比是否大于或等于第三阈值;以及
响应于确定所述行占比大于或等于所述第三阈值,确定所述包围盒的文字排版方向是横向排版。
7.如权利要求5所述的方法,其中根据所述每个文字间隔行的高度确定所述包围盒的文字排版方向包括:
基于相邻文字间隔行的位置确定所述相邻文字间隔行之间的文字行的高度;
确定所述包围盒中的所有文字行的高度的离散度;
确定所有文字行的高度的离散度是否小于或等于第五阈值;以及
响应于确定所有文字行的高度的离散度小于或等于所述第五阈值,确定所述包围盒的文字排版方向是横向排版。
8.如权利要求4所述的方法,其中确定所述包围盒中的每个空白像素行包括:
计算所述包围盒中的每个像素行的平均灰度值;
确定所述包围盒中的每个像素行的平均灰度值是否基本上等于白色像素的灰度值;以及
响应于所述像素行的平均灰度值基本上等于白色像素的灰度值,确定所述像素行是空白像素行。
9.如权利要求4所述的方法,其中确定所述包围盒中的每个空白像素行包括:
计算所述包围盒中的每个像素行的灰度值离散度;
确定所述包围盒中的每个像素行的灰度值离散度是否基本上为零;以及
响应于确定所述像素行的灰度值离散度基本上为零,确定所述像素行是空白像素行。
10.如权利要求6所述的方法,其中确定所有文字间隔行的高度之和与所述包围盒的高度之间的行占比是否大于或等于第三阈值还包括:
确定每个文字间隔行的高度是否大于或等于第四阈值;并且
其中确定所述包围盒的文字排版方向是横向排版还包括:
响应于确定每个文字间隔行的高度都大于或等于所述第四阈值,确定所述包围盒的文字排版方向是横向排版。
11.如权利要求4所述的方法,其中确定所述包围盒的文字排版方向包括:
确定所述包围盒中的每个空白像素列;以及
根据所述包围盒中所述空白像素列确定所述包围盒的文字排版方向。
12.如权利要求11所述的方法,其中根据所述包围盒中所述空白像素列确定所述包围盒的文字排版方向包括:
组合相邻的空白像素列以确定所述包围盒的竖直方向的每个文字间隔列的宽度;以及
根据所述每个文字间隔列的宽度确定所述包围盒的文字排版方向。
13.如权利要求12所述的方法,其中根据所述每个文字间隔列的宽度确定所述包围盒的文字排版方向包括:
确定所有文字间隔列的宽度之和与所述包围盒的宽度之间的列占比;
确定所有文字间隔列的宽度之和与所述包围盒的宽度之间的列占比是否大于或等于第六阈值;以及
响应于确定所有文字间隔列的宽度之和与所述包围盒的宽度之间的列占比大于或等于所述第六阈值,确定所述包围盒的文字排版方向是竖向排版。
14.如权利要求12所述的方法,其中根据所述每个文字间隔列的宽度确定所述包围盒的文字排版方向包括:
基于相邻文字间隔列的位置确定所述相邻文字间隔列之间的文字列的宽度;
确定所述包围盒中的所有文字列的宽度的离散度;
确定所有文字列的宽度的离散度是否小于或等于第八阈值;以及
响应于确定所有文字列的宽度的离散度小于或等于所述第八阈值,确定所述包围盒的文字排版方向是竖向排版。
15.如权利要求11所述的方法,其中确定所述包围盒中的每个空白像素列包括:
计算所述包围盒中的每个像素列的平均灰度值;
确定所述包围盒中的每个像素列的平均灰度值是否基本上等于白色像素的像素值;以及
响应于所述像素列的平均灰度值基本上等于白色像素的像素值,确定所述像素列是空白像素列。
16.如权利要求11所述的方法,其中确定所述包围盒中的每个空白像素列包括:
计算所述包围盒中的每个像素列的灰度值离散度;
确定所述包围盒中的每个像素列的灰度值离散度是否基本上为零;以及
响应于确定所述像素列的灰度值离散度基本上为零,确定所述像素列是空白像素列。
17.如权利要求13所述的方法,其中确定所述列占比是否大于或等于第六阈值还包括:
确定每个文字间隔列的宽度是否大于或等于第七阈值;并且
其中确定所述包围盒的文字排版方向是竖向排版还包括:
响应于确定每个文字间隔列的宽度都大于或等于所述第七阈值,确定所述包围盒的文字排版方向是竖向排版。
18.如权利要求1或3所述的方法,其中确定所述包围盒的文字排版方向包括:
确定所述包围盒中的每个空白像素行;
组合相邻的空白像素行以确定所述包围盒的水平方向的每个文字间隔行的高度,并且确定所有文字间隔行的高度之和与所述包围盒的高度之间的行占比;
确定所述包围盒中的每个空白像素列;
组合相邻的空白像素列以确定所述包围盒的竖直方向的每个文字间隔列的宽度,并且确定所有文字间隔列的宽度之和与所述包围盒的宽度之间的列占比;
确定所有文字间隔列的宽度之和与所述包围盒的宽度之间的列占比是否大于或等于所有文字间隔行的高度之和与所述包围盒的高度之间的行占比;
响应于确定所有文字间隔列的宽度之和与所述包围盒的宽度之间的列占比大于或等于所有文字间隔行的高度之和与所述包围盒的高度之间的行占比,确定所述包围盒的文字排版方向是竖向排版;以及
响应于确定所有文字间隔列的宽度之和与所述包围盒的宽度之间的列占比小于所有文字间隔行的高度之和与所述包围盒的高度之间的行占比,确定所述包围盒的文字排版方向是横向排版。
19.如权利要求1或3所述的方法,其中确定所述包围盒的文字排版方向包括:
确定所述包围盒中的每个空白像素行;
组合相邻的空白像素行以确定所述包围盒的水平方向的每个文字间隔行的高度,确定所有文字间隔行的高度之和,基于所有文字间隔行的高度之和和所述包围盒的高度确定所有文字行的高度之和,并且确定所有文字行的高度之和与所述包围盒的高度之间的行占比;
确定所述包围盒中的每个空白像素列;
组合相邻的空白像素列以确定所述包围盒的竖直方向的每个文字间隔列的宽度,确定所有文字间隔列的宽度之和,基于所有文字间隔列的宽度之和和所述包围盒的宽度确定所有文字列的宽度之和,并且确定所有文字列的高度之和与所述包围盒的宽度之间的列占比;
确定所有文字行的高度之和与所述包围盒的高度之间的行占比是否大于或等于所有文字列的高度之和与所述包围盒的宽度之间的列占比;
响应于确定所有文字行的高度之和与所述包围盒的高度之间的行占比大于或等于所有文字列的高度之和与所述包围盒的宽度之间的列占比,确定所述包围盒的文字排版方向是横向排版;以及
响应于确定所有文字行的高度之和与所述包围盒的高度之间的行占比小于所有文字列的高度之和与所述包围盒的宽度之间的列占比,确定所述包围盒的文字排版方向是竖向排版。
20.一种用于识别混合排版文字的设备,包括:
存储器,其上存储有计算机程序代码;以及
处理器,其被配置为运行所述计算机程序代码,以执行如权利要求1至19中任一项所述的方法。
21.一种计算机可读存储介质,其上存储有计算机程序代码,所述计算机程序代码在被运行时执行如权利要求1至19中任一项所述的方法。
22.一种芯片电路,包括被配置为在加电时执行如权利要求1至19中任一项所述的方法的电路单元。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911393558.XA CN111062365B (zh) | 2019-12-30 | 2019-12-30 | 识别混合排版文字的方法、设备、芯片电路和计算机可读存储介质 |
PCT/CN2020/137553 WO2021135985A1 (zh) | 2019-12-30 | 2020-12-18 | 识别混合排版文字的方法、设备、芯片电路和计算机可读存储介质 |
EP20216900.9A EP3846076A1 (en) | 2019-12-30 | 2020-12-23 | Method, device, chip circuit and computer program product for recognizing mixed typeset texts |
JP2020219402A JP7097099B2 (ja) | 2019-12-30 | 2020-12-28 | 混合組版された文字を認識する方法、装置、チップ回路及びコンピュータプログラム製品 |
US17/136,252 US20210201064A1 (en) | 2019-12-30 | 2020-12-29 | Method, device, and computer readable storage medium for recognizing mixed typeset texts |
KR1020200185432A KR102472821B1 (ko) | 2019-12-30 | 2020-12-29 | 혼합 조판 문자를 인식하는 방법, 기기, 칩 회로 및 컴퓨터 프로그램 제품 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911393558.XA CN111062365B (zh) | 2019-12-30 | 2019-12-30 | 识别混合排版文字的方法、设备、芯片电路和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111062365A CN111062365A (zh) | 2020-04-24 |
CN111062365B true CN111062365B (zh) | 2023-05-26 |
Family
ID=70303084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911393558.XA Active CN111062365B (zh) | 2019-12-30 | 2019-12-30 | 识别混合排版文字的方法、设备、芯片电路和计算机可读存储介质 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20210201064A1 (zh) |
EP (1) | EP3846076A1 (zh) |
JP (1) | JP7097099B2 (zh) |
KR (1) | KR102472821B1 (zh) |
CN (1) | CN111062365B (zh) |
WO (1) | WO2021135985A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111062365B (zh) * | 2019-12-30 | 2023-05-26 | 上海肇观电子科技有限公司 | 识别混合排版文字的方法、设备、芯片电路和计算机可读存储介质 |
US10970458B1 (en) * | 2020-06-25 | 2021-04-06 | Adobe Inc. | Logical grouping of exported text blocks |
CN112183250A (zh) * | 2020-09-14 | 2021-01-05 | 北京三快在线科技有限公司 | 文字识别方法、装置、存储介质及电子设备 |
CN112329777B (zh) * | 2021-01-06 | 2021-05-04 | 平安科技(深圳)有限公司 | 基于方向检测的文字识别方法、装置、设备及介质 |
US20230245481A1 (en) * | 2022-01-31 | 2023-08-03 | International Business Machines Corporation | Text detection algorithm for separating words detected as one text bounding box |
CN115690806B (zh) * | 2022-10-11 | 2023-06-13 | 杭州瑞成信息技术股份有限公司 | 一种基于图像数据处理的非结构化文档格式识别方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007095102A (ja) * | 2006-12-25 | 2007-04-12 | Toshiba Corp | 文書処理装置および文書処理方法 |
CN105117741A (zh) * | 2015-09-28 | 2015-12-02 | 上海海事大学 | 一种书法字风格的识别方法 |
WO2017140233A1 (zh) * | 2016-02-18 | 2017-08-24 | 腾讯科技(深圳)有限公司 | 文字检测方法及系统、设备、存储介质 |
CN109934210A (zh) * | 2019-05-17 | 2019-06-25 | 上海肇观电子科技有限公司 | 版面分析方法、阅读辅助设备、电路和介质 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006227768A (ja) * | 2005-02-16 | 2006-08-31 | Hitachi Omron Terminal Solutions Corp | 携帯端末における文字認識のための方法およびプログラム |
US8457959B2 (en) * | 2007-03-01 | 2013-06-04 | Edward C. Kaiser | Systems and methods for implicitly interpreting semantically redundant communication modes |
US8320674B2 (en) * | 2008-09-03 | 2012-11-27 | Sony Corporation | Text localization for image and video OCR |
JP2011186945A (ja) * | 2010-03-10 | 2011-09-22 | Canon Inc | 画像処理装置、画像処理方法及びプログラム |
US10664695B2 (en) * | 2016-10-26 | 2020-05-26 | Myscript | System and method for managing digital ink typesetting |
CN108416377B (zh) * | 2018-02-26 | 2021-12-10 | 阿博茨德(北京)科技有限公司 | 柱状图中的信息提取方法及装置 |
US10423851B2 (en) * | 2018-02-28 | 2019-09-24 | Konica Minolta Laboratory U.S.A., Inc. | Method, apparatus, and computer-readable medium for processing an image with horizontal and vertical text |
CN110555433B (zh) * | 2018-05-30 | 2024-04-26 | 北京三星通信技术研究有限公司 | 图像处理方法、装置、电子设备及计算机可读存储介质 |
CN110516554A (zh) * | 2019-07-31 | 2019-11-29 | 杭州电子科技大学 | 一种多场景多字体中文文字检测识别方法 |
CN111062365B (zh) * | 2019-12-30 | 2023-05-26 | 上海肇观电子科技有限公司 | 识别混合排版文字的方法、设备、芯片电路和计算机可读存储介质 |
-
2019
- 2019-12-30 CN CN201911393558.XA patent/CN111062365B/zh active Active
-
2020
- 2020-12-18 WO PCT/CN2020/137553 patent/WO2021135985A1/zh active Application Filing
- 2020-12-23 EP EP20216900.9A patent/EP3846076A1/en active Pending
- 2020-12-28 JP JP2020219402A patent/JP7097099B2/ja active Active
- 2020-12-29 US US17/136,252 patent/US20210201064A1/en not_active Abandoned
- 2020-12-29 KR KR1020200185432A patent/KR102472821B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007095102A (ja) * | 2006-12-25 | 2007-04-12 | Toshiba Corp | 文書処理装置および文書処理方法 |
CN105117741A (zh) * | 2015-09-28 | 2015-12-02 | 上海海事大学 | 一种书法字风格的识别方法 |
WO2017140233A1 (zh) * | 2016-02-18 | 2017-08-24 | 腾讯科技(深圳)有限公司 | 文字检测方法及系统、设备、存储介质 |
CN109934210A (zh) * | 2019-05-17 | 2019-06-25 | 上海肇观电子科技有限公司 | 版面分析方法、阅读辅助设备、电路和介质 |
Non-Patent Citations (2)
Title |
---|
章夏芬 ; 张龙海 ; 韩德志 ; 毕坤 ; .自适应书法字图像匹配和检索.浙江大学学报(工学版).2016,(04),全文. * |
陈明,丁晓青,梁健.复杂中文报纸的版面分析、理解和重构.清华大学学报(自然科学版).2001,(01),全文. * |
Also Published As
Publication number | Publication date |
---|---|
JP2021111394A (ja) | 2021-08-02 |
JP7097099B2 (ja) | 2022-07-07 |
EP3846076A1 (en) | 2021-07-07 |
WO2021135985A1 (zh) | 2021-07-08 |
KR102472821B1 (ko) | 2022-12-01 |
US20210201064A1 (en) | 2021-07-01 |
KR20210086980A (ko) | 2021-07-09 |
CN111062365A (zh) | 2020-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111062365B (zh) | 识别混合排版文字的方法、设备、芯片电路和计算机可读存储介质 | |
US10846524B2 (en) | Table layout determination using a machine learning system | |
CN110942074B (zh) | 字符切分识别方法、装置、电子设备、存储介质 | |
CN112016438B (zh) | 一种基于图神经网络识别证件的方法及系统 | |
KR102435365B1 (ko) | 증명서 인식 방법 및 장치, 전자 기기, 컴퓨터 판독 가능한 저장 매체 | |
US20150036920A1 (en) | Convolutional-neural-network-based classifier and classifying method and training methods for the same | |
CN111488826A (zh) | 一种文本识别方法、装置、电子设备和存储介质 | |
WO2019240964A1 (en) | Teacher and student based deep neural network training | |
US10169673B2 (en) | Region-of-interest detection apparatus, region-of-interest detection method, and recording medium | |
CN113065536B (zh) | 处理表格的方法、计算设备和计算机可读存储介质 | |
CN108182457B (zh) | 用于生成信息的方法和装置 | |
US8515175B2 (en) | Storage medium, apparatus and method for recognizing characters in a document image using document recognition | |
JP7244223B2 (ja) | 電子文書における強調テキストの識別 | |
CN108734161B (zh) | 冠字号区域的识别方法、装置、设备及存储介质 | |
CN113436222A (zh) | 图像处理方法、图像处理装置、电子设备及存储介质 | |
CN106611148B (zh) | 基于图像的离线公式识别方法和装置 | |
US20230060459A1 (en) | Image object classification optimizing method, system and computer readable medium | |
CN106663212B (zh) | 文字识别装置、文字识别方法以及计算机可读存储介质 | |
CN111325199A (zh) | 一种文字倾斜角度检测方法及装置 | |
CN115359502A (zh) | 一种图像处理方法、装置、设备以及存储介质 | |
JP6609181B2 (ja) | 文字属性推定装置、及び文字属性推定プログラム | |
CN114511862A (zh) | 表格识别方法、装置及电子设备 | |
CN113128496B (zh) | 一种从图像中提取结构化数据的方法、装置和设备 | |
CN112990165B (zh) | 用于表格识别的方法、电子设备和存储介质 | |
US12062246B2 (en) | Extracting text from an image |
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 |