CN112784932B - 一种字体识别方法、装置和存储介质 - Google Patents
一种字体识别方法、装置和存储介质 Download PDFInfo
- Publication number
- CN112784932B CN112784932B CN202110227168.6A CN202110227168A CN112784932B CN 112784932 B CN112784932 B CN 112784932B CN 202110227168 A CN202110227168 A CN 202110227168A CN 112784932 B CN112784932 B CN 112784932B
- Authority
- CN
- China
- Prior art keywords
- picture
- font
- text region
- text
- pictures
- 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
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 39
- 238000000605 extraction Methods 0.000 claims abstract description 39
- 238000001914 filtration Methods 0.000 claims description 85
- 238000004590 computer program Methods 0.000 claims description 12
- 238000001514 detection method Methods 0.000 claims description 11
- 238000012015 optical character recognition Methods 0.000 claims description 11
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 230000009466 transformation Effects 0.000 claims description 3
- 239000000758 substrate Substances 0.000 claims 4
- 238000012545 processing Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 239000003086 colorant Substances 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 241001536352 Fraxinus americana Species 0.000 description 1
- 241000565357 Fraxinus nigra Species 0.000 description 1
- 244000172533 Viola sororia Species 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000002203 pretreatment Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
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/24—Character recognition characterised by the processing or recognition method
- G06V30/242—Division of the character sequences into groups prior to recognition; Selection of dictionaries
- G06V30/244—Division of the character sequences into groups prior to recognition; Selection of dictionaries using graphical properties, e.g. alphabet type or font
- G06V30/245—Font recognition
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- 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/22—Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
-
- 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/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/757—Matching configurations of points or features
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Probability & Statistics with Applications (AREA)
- Character Discrimination (AREA)
- Character Input (AREA)
Abstract
本文公开了一种字体识别方法、装置和存储介质。其中,所述方法包括,根据待识别的文本图片,确定至少一个待进行字体识别的文本区域图片;对于每一个待进行字体识别的文本区域图片分别进行如下操作:根据所述文本区域图片和预设的字体库,生成至少一个字体图片;根据预设的特征提取算法提取所述文本区域图片的特征点,根据所述预设的特征提取算法提取每一个字体图片的特征点;分别进行所述文本区域图片和每一个字体图片特征点匹配,并确定对应的特征相似度;选定特征相似度最大的字体图片所对应的字体为所述文本区域图片的字体。
Description
技术领域
本公开涉及但不限于一种计算机图像处理、人工智能等技术,尤其涉及一种字体识别方法、装置和存储介质。
背景技术
目前字体识别的技术方案主要有两种:机器学习和图像处理。机器学习主要是通过搜集大量不同字体样本,不断训练迭代优化模型的方法,达到字体识别的目的,因为字体种类很多,如果要使模型识别的泛化能力更强,必须提供大量不同种类的样本数据。而图像处理方法是通过分析计算字体图片本身的特征,进行特征匹配的方法达到识别的目的;这种方法不需要事先准备大量不同字体样本数据,但需要根据需求提供待识别字体库明细。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本公开实施例提供一种字体识别方法、装置和存储介质,不依赖于大量各类字体的样本,提升了字体识别的准确性和执行效率。
本公开实施例提供一种字体识别方法,包括,
根据待识别的文本图片,确定至少一个待进行字体识别的文本区域图片;
对于每一个待进行字体识别的文本区域图片分别进行如下操作:
根据所述文本区域图片和预设的字体库,生成至少一个字体图片;
根据预设的特征提取算法提取所述文本区域图片的特征点,根据所述预设的特征提取算法提取每一个字体图片的特征点;
分别进行所述文本区域图片和每一个字体图片特征点匹配,并确定对应的特征相似度;
选定特征相似度最大的字体图片所对应的字体为所述文本区域图片的字体。
一些示例性的实施例中,所述根据所述文本区域图片和预设的字体库,生成至少一个字体图片,包括:
根据所述文本区域图片进行光学字符识别OCR,确定文本内容;
根据所述文本区域图片的宽度和高度,确定字号;
根据所述文本区域图片的宽度、高度和所述字号,按照所述预设的字体库中的字体列表,针对所述文本内容生成至少一个字体图片;其中,每一个字体图片分别是所述文本内容采用一种字体时的图片。
一些示例性的实施例中,所述根据待识别的文本图片,确定至少一个待进行字体识别的文本区域图片,包括:
对所述文本图片进行文本区域检测,根据检测结果将所述文本图片划分为至少一个文本区域图片;
对所述至少一个文本区域图片进行过滤,将过滤后保留下来的文本区域图片各自确定为一个待进行字体识别的文本区域图片;
其中,所述对所述至少一个文本区域图片进行过滤包括:
对所述至少一个文本区域图片进行颜色种类过滤;
或者,对所述至少一个文本区域图片进行高度过滤;
或者,对所述至少一个文本区域图片进行颜色种类过滤和高度过滤。
一些示例性的实施例中,对所述至少一个文本区域图片进行颜色种类过滤,包括:
分别确定每一个文本区域图片所包含的颜色种类的数量;
过滤掉文本区域图片所包含的颜色种类的数量小于预设的种类下限数,或大于预设的种类上限数的文本区域图片。
一些示例性的实施例中,对所述至少一个文本区域图片进行高度过滤,包括:
计算全部文本区域图片的高度;根据计算得到的高度按照降序对全部文本区域图片进行排序;
在排序后的前H个文本区域图片中,根据预设的保留条件,选择符合所述保留条件的文本区域图片为被保留的文本区域图片;
过滤掉其他未被选择的文本区域图片;
其中,H为大于1的整数;所述保留条件为:文本区域图片的高度大于第一高度,且该文本区域图片的高度与所述待识别的文本图片的高度的比例大于第一高度比例。
一些示例性的实施例中,所述预设的特征提取算法包括:尺度不变特征转换sift特征提取算法;
所述根据预设的特征提取算法提取所述文本区域图片的特征点,根据所述预设的特征提取算法提取每一个字体图片的特征点,包括:
根据所述sift特征提取算法,提取所述文本区域图片的sift特征;根据所述sift特征提取算法,提取每一个字体图片的sift特征;
所述分别进行所述文本区域图片和每一个字体图片特征点匹配,包括:
对于每一个字体图片,分别执行如下步骤:
采用最小临近距离法,对所述文本区域图片对应的sift特征和该字体图片对应的sift特征进行特征点匹配。
一些示例性的实施例中,所述确定对应的特征相似度,包括:
对于每一个字体图片,分别执行如下步骤:
对根据所述文本区域图片对应的sift特征和该字体图片对应的sift特征进行特征点匹配所得到的特征点对,至少进行以下过滤操作之一:临近距离过滤和主方向过滤;
将过滤前的特征点对的数量和过滤后的特征点对的数量的比值,确定为所述文本图片与该字体图片的相似度。
一些示例性的实施例中,进行临近距离过滤,包括:分别计算所述文本区域图片的每一个sift特征点匹配得到的特征点对中的最小距离和次小距离,当所述最小距离与所述次小距离的比值大于预设比例阈值时,从匹配结果中删除该sift特征点匹配得到了全部特征点对;
进行主方向过滤,包括:分别计算每一个特征点对中特征点的主方向差值;过滤掉主方向差值大于预设的差值阈值的特征点对。
本公开实施例还提供一种电子装置,包括存储器和处理器,所述存储器中存储有用于进行字体识别的计算机程序,所述处理器被设置为读取并运行所述用于进行字体识别的计算机程序以执行上述任一种字体识别的方法。
本公开实施例还提供一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一种字体识别的方法。
可以看到,本公开实施例提供的方案克服了现有字体识别方案的技术局限性,能够对待测图片中目标字体进行快速识别,并显著提高了识别准确率。
在阅读并理解了附图和详细描述后,可以明白其他方面。
附图说明
图1为本公开一实施例中一种字体识别方法的流程图;
图2为本公开一实施例中craft文本检测方案的网络结构示意图;
图3为本公开一实施例中craft文本检测方案的流程图;
图4为本公开一实施例中OCR识别的网络结构示意图;
图5为本公开一实施例中文字的字体图片生成流程图;
图6为本公开一实施例中计算图片包含的颜色种类数量的流程图;
图7为本公开一实施例中进行图片高度过滤的流程图;
图8为本公开一实施例中进行文本区域图片二值化的流程图;
图9为本公开一实施例中进行特征点匹配的流程图;
图10为本公开一实施例中进行相似度计算的流程图;
图11为本公开另一实施例中字体识别方法的流程图;
图12(a)-(f)为本公开实例一中字体识别方法相关步骤的处理图片示意图;
图13为本公开另一实施例中一种字体识别方法的流程图;
图14为本公开另一实施例中一种字体识别装置的结构图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步的详细描述。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
随着计算机互联网多媒体技术的快速发展,为了更吸引人们的注意力,像视频、图片等媒体都编辑很多不常见的特殊字体。大量的字体在未经同意的情况下被拿来在不同场合广泛使用,为了维护字体使用权,需要知道哪些商家、公司、单位使用了这些字体。基于以上背景,需要采用字体识别技术知道哪家单位侵权了哪种字体。
本公开提供的实施例方案采用计算图片文本区域sift特征点作为特征向量,然后通过特征匹配的方法判定待识别字体名称。总体思路是通过检测图片文本区域,对各个文本区域进行光学字符识别ocr识别,将识别后的文字按照字体库文件列表生成对应的字体图片,最后分别计算待识别文本图片和字体图片尺度不变特征转换sift特征,进行特征匹配,计算相似度并排序,相似度最大字体为最终识别字体。
实施例一
本公开实施例提供一种字体识别的方法,如图1所示,包括:
步骤101,对待识别图片进行文本区域检测,将图片分割成多个小文本区域图片;
步骤103,对分割后的文本区域图片进行ocr文字识别;
步骤104,根据字体库文件列表,生成对应的字体图片;
步骤105,分别计算文本区域图片和字体图片sift特征,并进行特征点匹配;
步骤106,计算文本区域图片和字体图片特征相似度并排序;
步骤107,确定相似度最大的字体为最终识别字体。
一些示例性的实施例中,步骤101中采用craft(Character Region AwarenessFor Text detection)文本检测方案,对待识别图片进行文本区域检测。
craft文本检测的主要思路是检测单个字符及字符之间的连接关系,然后根据字符间的连接关系最终确定文本行。它的网络结构(如图2所示)基于vgg16,整体类似于unet,是标准的语义分割模型。包括:
1使用vgg16提取图片特征。
2再使用类似于UNet的方式对特征进行解码decode。
3最终得到两个特征图,分别为region score map和affinity score map。regionscore表示该像素是字符中心的概率,affinity score表示相邻字符中间空白区域中心的概率。根据这两个score map将字符连接成文本。
一些示例性的实施例中,文本区域识别流程,如图3所示。
一些示例性的实施例中,步骤103中,采用OCR文字识别模型进行文本识别,所述OCR文字识别模块由CRNN+CTC(卷积循环神经网络+连接时序分类)实现,包括:
1图像输入卷积神经网络(CNN)提取特征;
2输出的特征矩阵作为循环神经网络(RNN)的输入,循环神经网络的输出经过softmax后为字符的输出;
3输出的概率矩阵经过CTC(Connectionist Temporal Classification)解码成最终的字符串。
一些示例性的实施例中,进行OCR文字识别的网络模型如图4所示。
一些示例性的实施例中,步骤104中,通过OCR识别出文本区域图片中的文字(文本)后,需要按照字体库列表生成对应的字体图片,包括:
1、根据文本区域的宽高设置待生成的字体图片的宽高;
2、根据文本区域的ocr识别结果的文字,设置待生成的字体图片中的文字内容;
3、根据文本区域的宽和高,选择其中数值小的,乘以阈值(小于1),设置为待生成的字体图片中的字体字号;
4、选择相应字体,根据上述设置,生成字体图片。
一些示例性的实施例中,采用开源库pillow中ImageFont方法生成字体图片。本领域技术人员可以根据该示例选择其他生成方法或函数,不限于本公开所记载的示例。
一些示例性的实施例中,根据字体库生成字体图片的流程如图5所示。
例如,字体库中的字体列表包括N种字体,则一个文本区域图片识别出的文字,根据上述设置,分别生成N个字体图片,每一种字体图片对应该文字的一种字体,N个字体图片对应该文字的N种字体所生成的图片。
一些示例性的实施例中,步骤105中对图片进行sift特征点提取与匹配。即,对区域检测后得到的区域图片和生成的多个字体图片分别进行sift特征点提取,并分别对提取的特征点采用相应算法进行特征匹配,确定匹配特征点对,选定匹配准确率最高的。在进行计算sift特征点之前需要进行图像预处理,来提高准确率。
一些示例性的实施例中,步骤103前还包括步骤102,对文本区域图片进行预处理,至少包括图像过滤、二值化等;是进行sift提取之前的预处理。
一些示例性的实施例中,步骤102包括:
1、文本区域图片颜色种类过滤;
2、文本区域图片高度过滤;
3、文本区域图片二值化。
由于根据字体库生成的字体图片都是二值图片,而文本区域图片如果颜色种类过多,生成二值图后干扰太多,所以需要过滤掉颜色种类不合适的图像;例如,过滤掉颜色数小于2或者大于3的文本区域图片,保留剩下的文本区域图片。因此,进行颜色种类过滤,过滤掉文本区域图片所包括的颜色种类数小于预设的种类下限数,或大于预设的种类上限数的文本区域图片。例如,种类下限数为2,种类上限数位3,则当一个文本区域图片所包括的颜色种类为1时,该文本区域图片将被过滤掉;当一个文本区域图片所包括的颜色种类为2时,该文本区域图片将不被过滤掉,被保留;当一个文本区域图片所包括的颜色种类为4时,该文本区域图片将被过滤掉。
一些示例性的实施例中,一个文本区域图片根据以下方式确定自身包括的颜色种类数:
1,将该文本区域图片进行颜色转换,rgb2hsv(红绿蓝to色调饱和度亮度)的颜色转换;
2,根据预先建议的颜色词典中包含的X个颜色种类中每个颜色种类对应的hsv(色调饱和度亮度)颜色空间的阈值范围,针对进行颜色转换后的图片,分别生成X种颜色对应的二值图;
3针对每一种颜色对应的二值图,分别计算非零值占所有像素点的比例,如果该比例大于预设比例阈值,则确定该种颜色被包括在该文本区域图片中;即,该文本区域图片所包含的颜色种类加1。
一些示例性的实施例中,所述X等于10,即预先建立的颜色词典中包含10种颜色:红橙黄绿青蓝紫黑白灰,每一种颜色都对应各自hsv颜色空间的阈值范围。本领域技术人员根据相关技术方案即可知晓所述颜色词典即阈值范围,不限于特定的方式,该方面不属于本公开申请保护的范围。
一些示例性的实施例中,一个文本区域图片确定自身包括的颜色种类的数量的流程如图6所示:
1颜色种类分类:红橙黄绿青蓝紫黑白灰
2建立颜色词典:每种颜色对应各自hsv颜色空间的阈值范围
3将文本区域图片颜色转换(rgb2hsv)
4生成10种颜色词典颜色范围对应的二值图
5计算非零值占所有像素点的比例,如果该比例大约某阈值,该图颜色种类加1。
一些示例性的实施例中,对微信公众号的侵权字体,这种字体往往在图片比较显眼的位置,且字号较大,而其他小字号的文本往往不涉及侵权字体,因此需要对图片中的文本进行过滤。
一些示例性的实施例中,文本区域图片高度过滤包括:
1计算当前所有文本区域高度并排序,取高度最大的前M个。
2相对高度比例大于预设的第一高度比例的文本区域图像。
3高度大于某一阈值(预设的第一高度)的文本区域图像。
满足以上三个条件的为最终筛选后保留的文本区域图像。其中,2也称为相对高度过滤,3也称为绝对高度过滤。
步骤102中进行高度过滤,包括:保留当前文本区域图片中满足上述三个条件的图片,其他图片被过滤掉。
一些示例性的实施例中,所述相对高度比例为该文本区域图像的高度与分割前的待识别图片的高度的比例。相对高度比例较小,则表明该文本区域图像并不是这个待识别图片中较突出的文字。
一些示例性的实施例中,对文本区域图片进行高度过滤的流程如图7所示。
一些示例性的实施例中,由于生成的字体图片都是黑字白底的二值图,而文本区域图片由于背景或者其他原因,生成的二值图有时会出现白字黑底的情况,对于这种必须进行反色,生成白底黑字的图。所以二值化后需确定该图是否白底黑字。
一些示例性的实施例中,文本区域图片二值化包括:
1截取图像上下左右边界四个像素感兴趣区。
2计算四个感兴趣区域中黑色像素点所占比例。
3如果满足比例条件,则确定该文本区域图片为黑底白字,则进行反色处理。
一些示例性的实施例中,文本区域图片二值化的流程如图8所示。
一些示例性的实施例中,步骤105中sift特征点提取并匹配,包括:
计算(提取)文本区域图片的sift特征点;
计算(提取)步骤104所生成的字体图片的sift特征点,N种字体对应的N个字体图片分别提取sift特征点;
文本区域图片的sift特征点分别和N个字体图片的sift特征点构成N组特征点集合,分别对每组特征点集合进行匹配。即,文本区域图片的sift特征点和第1个字体图片的sift特征点构成第1组特征点集合,文本区域图片的sift特征点和第2个字体图片的sift特征点构成第2组特征点集合,……文本区域图片的sift特征点和第N个字体图片的sift特征点构成第N组特征点集合。
sift特征点因为数量较多,但不一定所有的准确率都很高,所以采用最小邻近距离方法进行特征点对匹配,这样就匹配出准确度较高的特征点对;除此之外,特征点还有一个属性就是主方向,每个特征点都有它的主方向,为了提高字体识别准确度,对已匹配出的特征点对再进行主方向范围过滤,过滤掉特征点对中主方向相差较大的。
对每一组特征点进行如下处理:
1、采用最小邻近距离进行特征点对匹配。
2、特征点对主方向过滤,包括:计算匹配特征点对中点的主方向差,从匹配结果中删除(过滤掉)主方向差大于预设的差值阈值的特征点对。
一些示例性的实施例中,特征点匹配的流程如图9所示,还包括特征点对临近距离过滤。
其中,以最小邻近距离KNN(K=2)执行完步骤1为例,所述临近距离过滤如下:例如执行步骤1后,第一图中点a匹配对应第二图中两个最邻近的特征点A、B,此时构成2个特征点对(a,A)和(a,B),特征点对(a,A)间距离为最小距离d1,特征点对(a,B)间距离为次小距离d2,当所述最小距离d1与所述次小距离d2的比值(d1/d2)大于预设比例阈值时,a点的这两个特征点对就被从匹配结果中删除(过滤),不作为特征点匹配的结果。
一些示例性的实施例中,对每一组特征点进行如下处理:
1、采用最小邻近距离进行特征点对匹配。
2、对匹配得到的特征点对进行临近距离过滤。
3、过滤后的特征点对进行主方向过滤。
4、得到最终的匹配的特征点对。
其中,进行临近距离过滤包括:计算文本区域图片的每一个sift特征点匹配得到的特征点对中的最小距离和次小距离,当所述最小距离与所述次小距离的比值大于预设比例阈值时,从匹配结果中删除该sift特征点匹配得到了全部特征点对,未删除的特征点对即为过滤后的特征点对;即,过滤掉该sift特征点匹配得到了全部特征点对。
进行主方向过滤包括:计算每一个匹配特征点对中点的主方向差,从匹配结果中删除主方向差大于预设的差值阈值的特征点对,未删除的特征点对即为过滤后的特征点对;即,过滤掉主方向差值大于预设的差值阈值的特征点对。
文本区域图片和字体图片经过sift特征点提取和匹配后,会计算一个相似度来表示文本与字体的相似程度,字体库列表中每种字体都有一个相似度,将所有相似度排序,并取最大值作为该文本最相似的字体。
一些示例性的实施例中,步骤106中计算文本区域图片和字体图片特征相似度并排序,如图10所示,包括:
1确定文本区域图片与字体图片进行特征匹配后得到的特征点对数目为L;
2确定对特征点对进行了临近距离过滤和/或主方向角度过滤后,剩下的特征点对数目为M;
3确定字体相似度similar=M/L.
4计算相似度similar(i),i=1…N,N为字体图片数量,选择相似度最大字体图片为该文本区域图片最终识别字体。
一些示例性的实施例中,如果步骤101执行后分割得到的多个文本区域图片都被确定为待识别的文本区域图片,则针对每一个待识别的文本区域图片分别执行步骤102-107,确定各自的文本区域图片的字体。即,一个原始的待识别图片中可能包括多个不同字体的文本区域,识别为不同的字体。不限于本实施例所例举的情况,根据本公开实施例的记载本领域技术人员可以推定其他情景的实施方式。
一些示例性的实施例中,步骤105中进行特征点提取还可以采用加速鲁棒特征点提取算法(Speeded Up Robust Features,surf),或者,快速特征点提取和描述算法(Oriented FAST and Rotated BRIEF,orb)进行特征点提取。
一些示例性的实施例中,所述待识别图片可以计算机生成的各类图片,如海报、网页、电影\动画、商品包装等载体上的图片,也可以是对手写文字拍摄的照片,例如签名、签名照等。
一些示例性的实施例中,还提供一种字体识别的方法,其流程如图11所示。
实例一
对如图12(a)所示的待识别图片进行字体识别的过程如下:
图12(a)为原始待识别图片;
图12(b)为步骤102过滤后,保留的文本区域图片;
图12(c)为步骤104,根据字体库文件列表,生成的方萌字体图片(暂未示例其图字体图片);
图12(d)为步骤105中,文本区域图片提取特征点结果;
图12(e)为步骤105中,方萌字体图片提取特征点结果;
图12(f)为步骤105中,文本区域图片和方萌字体图片特征点匹配结果。
实施例二
本公开实施例还提供一种字体识别方法,如图13所示,包括,
步骤1301,根据待识别的文本图片,确定至少一个待进行字体识别的文本区域图片;
对于每一个待进行字体识别的文本区域图片分别进行如下操作:
步骤1302,根据所述文本区域图片和预设的字体库,生成至少一个字体图片;
步骤1303,根据预设的特征提取算法提取所述文本区域图片的特征点,根据所述预设的特征提取算法提取每一个字体图片的特征点;
步骤1304,分别进行所述文本区域图片和每一个字体图片特征点匹配,并确定对应的特征相似度;
步骤1305,选定特征相似度最大的字体图片所对应的字体为所述文本区域图片的字体。
一些示例性的实施例中,所述根据所述文本区域图片和预设的字体库,生成至少一个字体图片,包括:
根据所述文本区域图片进行光学字符识别OCR,确定文本内容;
根据所述文本区域图片的宽度和高度,确定字号;
根据所述文本区域图片的宽度、高度和所述字号,按照所述预设的字体库中的字体列表,针对所述文本内容生成至少一个字体图片;其中,每一个字体图片分别是所述文本内容采用一种字体时的图片。
一些示例性的实施例中,所述根据待识别的文本图片,确定至少一个待进行字体识别的文本区域图片,包括:
对所述文本图片进行文本区域检测,根据检测结果将所述文本图片划分为至少一个文本区域图片;
对所述至少一个文本区域图片进行过滤,将过滤后保留下来的文本区域图片各自确定为一个待进行字体识别的文本区域图片;
其中,所述对所述至少一个文本区域图片进行过滤包括:
对所述至少一个文本区域图片进行颜色种类过滤;
或者,对所述至少一个文本区域图片进行高度过滤;
或者,对所述至少一个文本区域图片进行颜色种类过滤和高度过滤。
一些示例性的实施例中,对所述至少一个文本区域图片进行颜色种类过滤,包括:
分别确定每一个文本区域图片所包含的颜色种类的数量;
过滤掉文本区域图片所包含的颜色种类的数量小于预设的种类下限数,或大于预设的种类上限数的文本区域图片。
一些示例性的实施例中,对所述至少一个文本区域图片进行高度过滤,包括:
计算全部文本区域图片的高度;根据计算得到的高度按照降序对全部文本区域图片进行排序;
在排序后的前H个文本区域图片中,根据预设的保留条件,选择符合所述保留条件的文本区域图片为被保留的文本区域图片;
过滤掉其他未被选择的文本区域图片;
其中,H为大于1的整数;所述保留条件为:文本区域图片的高度大于第一高度,且该文本区域图片的高度与所述待识别的文本图片的高度的比例大于第一高度比例。
一些示例性的实施例中,所述预设的特征提取算法包括:尺度不变特征转换sift特征提取算法;
所述根据预设的特征提取算法提取所述文本区域图片的特征点,根据所述预设的特征提取算法提取每一个字体图片的特征点,包括:
根据所述sift特征提取算法,提取所述文本区域图片的sift特征;根据所述sift特征提取算法,提取每一个字体图片的sift特征;
所述分别进行所述文本区域图片和每一个字体图片特征点匹配,包括:
对于每一个字体图片,分别执行如下步骤:
采用最小临近距离法,对所述文本区域图片对应的sift特征和该字体图片对应的sift特征进行特征点匹配。
一些示例性的实施例中,所述确定对应的特征相似度,包括:
对于每一个字体图片,分别执行如下步骤:
对根据所述文本区域图片对应的sift特征和该字体图片对应的sift特征进行特征点匹配所得到的特征点对,至少进行以下过滤操作之一:临近距离过滤和主方向过滤;
将过滤前的特征点对的数量和过滤后的特征点对的数量的比值,确定为所述文本图片与该字体图片的相似度。
一些示例性的实施例中,所述确定对应的特征相似度,包括:
对于每一个字体图片,分别执行如下步骤:
对根据所述文本区域图片对应的sift特征和该字体图片对应的sift特征进行特征点匹配所得到的特征点对,进行主方向过滤,或者,进行临近距离过滤和主方向过滤;
将过滤前的特征点对的数量和过滤后的特征点对的数量的比值,确定为所述文本图片与该字体图片的相似度。
一些示例性的实施例中,进行临近距离过滤,包括:分别计算所述文本区域图片的每一个sift特征点匹配得到的特征点对中的最小距离和次小距离,当所述最小距离与所述次小距离的比值大于预设比例阈值时,从匹配结果中删除该sift特征点匹配得到了全部特征点对;即,过滤掉该sift特征点匹配得到了全部特征点对;
进行主方向过滤,包括:分别计算每一个特征点对中特征点的主方向差值;过滤掉主方向差值大于预设的差值阈值的特征点对。
一些示例性的实施例中,所述预设的特征提取算法还包括:加速鲁棒特征点提取算法(Speeded Up Robust Features,surf算法)或者快速特征点提取和描述算法(Oriented FAST and Rotated BRIEF,orb算法)。根据上述记载的sift特征提取算法的实施步骤,步骤1303采用surf算法或orb算法进行特征点提取时,本领域技术人员能够知晓相应调整后续步骤1304以达成字体识别的技术目标,详细步骤不在此赘述。
实施例三
本公开实施例还提供一种字体识别装置14,如图14所示,包括,
文本区域识别模块1401,设置为根据待识别的文本图片,确定至少一个待进行字体识别的文本区域图片;
字体图片生成模块1402,设置为根据所述文本区域图片和预设的字体库,生成至少一个字体图片;
特征点提取模块1403,设置为根据预设的特征提取算法提取所述文本区域图片的特征点,根据所述预设的特征提取算法提取每一个字体图片的特征点;
特征相似度确定模块1404,设置为分别进行所述文本区域图片和每一个字体图片特征点匹配,并确定对应的特征相似度;
字体确定模块1405,设置为选定特征相似度最大的字体图片所对应的字体为所述文本区域图片的字体。
本发明实施例还提供一种电子装置,包括存储器和处理器,所述存储器中存储有用于进行字体识别的计算机程序,所述处理器被设置为读取并运行所述用于进行字体识别的计算机程序以执行上述任一种字体识别的方法。
本实施例还提供一种计算机存储介质,所述计算机存储介质中存储有计算机程序,其中,所述计算机程序被设置为在运行时执行上述实施例中任一种字体识别的方法。
与现有技术相比,本发明方案采用机器学习人工智能和图像处理相结合的方法,机器学习模型用于图片文本检测和ocr,图像处理用于提取文本图像的特征属性。本发明方案字体识别采用sift特征点匹配技术,不会局限于缺少某个字体样本而无法识别或者识别错误率高、也不会像其他图像处理方法因特征局限性使得识别准确率很低。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
Claims (7)
1.一种字体识别方法,其特征在于,包括,
根据待识别的文本图片,确定至少一个待进行字体识别的文本区域图片;
对于每一个待进行字体识别的文本区域图片分别进行如下操作:
根据所述文本区域图片和预设的包括多种字体的字体库,生成多个字体图片;所述多个字体图片的每一个字体图片分别是所述文本区域图片的文本内容采用所述字体库中的一种字体时的图片;
根据预设的特征提取算法提取所述文本区域图片的特征点,根据所述预设的特征提取算法提取所述多个字体图片中的每一个字体图片的特征点;
分别进行所述文本区域图片和所述每一个字体图片特征点匹配,并确定对应的特征相似度;
选定特征相似度最大的字体图片所对应的字体为所述文本区域图片的字体;
其中,所述根据所述文本区域图片和预设的包括多种字体的字体库,生成多个字体图片,包括:
根据所述文本区域图片进行光学字符识别OCR,确定文本内容;
根据所述文本区域图片的宽度和高度,确定字号;
根据所述文本区域图片的宽度、高度和所述字号,按照所述预设的包括多种字体的字体库中的字体列表,针对所述文本内容生成多个字体图片;
所述预设的特征提取算法包括:尺度不变特征转换sift特征提取算法;
所述根据预设的特征提取算法提取所述文本区域图片的特征点,根据所述预设的特征提取算法提取所述多个字体图片中的每一个字体图片的特征点,包括:
根据所述sift特征提取算法,提取所述文本区域图片的sift特征;根据所述sift特征提取算法,提取每一个字体图片的sift特征;
所述分别进行所述文本区域图片和所述每一个字体图片特征点匹配,包括:
对于每一个字体图片,分别执行如下步骤:
采用最小临近距离法,对所述文本区域图片对应的sift特征和该字体图片对应的sift特征进行特征点匹配;
所述确定对应的特征相似度,包括:
对于每一个字体图片,分别执行如下步骤:
对根据所述文本区域图片对应的sift特征和该字体图片对应的sift特征进行特征点匹配所得到的特征点对,至少进行以下过滤操作之一:临近距离过滤和主方向过滤;
将过滤前的特征点对的数量和过滤后的特征点对的数量的比值,确定为所述文本图片与该字体图片的相似度。
2.根据权利要求1所述的方法,其特征在于,
所述根据待识别的文本图片,确定至少一个待进行字体识别的文本区域图片,包括:
对所述文本图片进行文本区域检测,根据检测结果将所述文本图片划分为至少一个文本区域图片;
对所述至少一个文本区域图片进行过滤,将过滤后保留下来的文本区域图片各自确定为一个待进行字体识别的文本区域图片;
其中,所述对所述至少一个文本区域图片进行过滤包括:
对所述至少一个文本区域图片进行颜色种类过滤;
或者,对所述至少一个文本区域图片进行高度过滤;
或者,对所述至少一个文本区域图片进行颜色种类过滤和高度过滤。
3.根据权利要求2所述的方法,其特征在于,
对所述至少一个文本区域图片进行颜色种类过滤,包括:
分别确定每一个文本区域图片所包含的颜色种类的数量;
过滤掉文本区域图片所包含的颜色种类的数量小于预设的种类下限数,或大于预设的种类上限数的文本区域图片。
4.根据权利要求2所述的方法,其特征在于,
对所述至少一个文本区域图片进行高度过滤,包括:
计算全部文本区域图片的高度;根据计算得到的高度按照降序对全部文本区域图片进行排序;
在排序后的前H个文本区域图片中,根据预设的保留条件,选择符合所述保留条件的文本区域图片为被保留的文本区域图片;
过滤掉其他未被选择的文本区域图片;
其中,H为大于1的整数;所述保留条件为:文本区域图片的高度大于第一高度,且该文本区域图片的高度与所述待识别的文本图片的高度的比例大于第一高度比例。
5.根据权利要求1所述的方法,其特征在于,
进行临近距离过滤,包括:分别计算所述文本区域图片的每一个sift特征点匹配得到的特征点对中的最小距离和次小距离,当所述最小距离与所述次小距离的比值大于预设比例阈值时,从匹配结果中删除该sift特征点匹配得到了全部特征点对;
进行主方向过滤,包括:分别计算每一个特征点对中特征点的主方向差值;过滤掉主方向差值大于预设的差值阈值的特征点对。
6.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有用于进行字体识别的计算机程序,所述处理器被设置为读取并运行所述用于进行字体识别的计算机程序以执行所述权利要求1至5任一项中所述的方法。
7.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至5任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110227168.6A CN112784932B (zh) | 2021-03-01 | 2021-03-01 | 一种字体识别方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110227168.6A CN112784932B (zh) | 2021-03-01 | 2021-03-01 | 一种字体识别方法、装置和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112784932A CN112784932A (zh) | 2021-05-11 |
CN112784932B true CN112784932B (zh) | 2024-06-07 |
Family
ID=75762076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110227168.6A Active CN112784932B (zh) | 2021-03-01 | 2021-03-01 | 一种字体识别方法、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112784932B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115622997B (zh) * | 2022-10-27 | 2023-07-04 | 广东保伦电子股份有限公司 | 一种共享宿主字体库的方法、装置及存储介质 |
CN116049461B (zh) * | 2023-03-29 | 2023-05-30 | 北京思想天下教育科技有限公司 | 一种基于大数据云平台的题目转化系统 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101561866A (zh) * | 2009-05-27 | 2009-10-21 | 上海交通大学 | 基于sift特征与灰度差值直方图特征的文字识别方法 |
WO2015183015A1 (ko) * | 2014-05-30 | 2015-12-03 | 삼성에스디에스 주식회사 | 문자 인식 방법 및 그 장치 |
CN108446621A (zh) * | 2018-03-14 | 2018-08-24 | 平安科技(深圳)有限公司 | 票据识别方法、服务器及计算机可读存储介质 |
CN109308475A (zh) * | 2018-07-26 | 2019-02-05 | 北京百悟科技有限公司 | 一种字体识别方法及装置 |
CN109753967A (zh) * | 2018-12-29 | 2019-05-14 | 北京师范大学 | 一种图片文字识别方法 |
CN110008997A (zh) * | 2019-03-06 | 2019-07-12 | 平安科技(深圳)有限公司 | 图像纹理相似度识别方法、装置及计算机可读存储介质 |
CN110363199A (zh) * | 2019-07-16 | 2019-10-22 | 济南浪潮高新科技投资发展有限公司 | 基于深度学习的证件图像文本识别方法及系统 |
CN110688949A (zh) * | 2019-09-26 | 2020-01-14 | 北大方正集团有限公司 | 字体识别方法和装置 |
WO2020010547A1 (zh) * | 2018-07-11 | 2020-01-16 | 深圳前海达闼云端智能科技有限公司 | 字符识别方法、装置、存储介质及电子设备 |
CN111382740A (zh) * | 2020-03-13 | 2020-07-07 | 深圳前海环融联易信息科技服务有限公司 | 文本图片解析方法、装置、计算机设备及存储介质 |
CN111401099A (zh) * | 2018-12-28 | 2020-07-10 | 中国电信股份有限公司 | 文本识别方法、装置以及存储介质 |
CN111476227A (zh) * | 2020-03-17 | 2020-07-31 | 平安科技(深圳)有限公司 | 基于ocr的目标字段识别方法、装置及存储介质 |
CN111626383A (zh) * | 2020-05-29 | 2020-09-04 | Oppo广东移动通信有限公司 | 字体识别方法及装置、电子设备、存储介质 |
-
2021
- 2021-03-01 CN CN202110227168.6A patent/CN112784932B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101561866A (zh) * | 2009-05-27 | 2009-10-21 | 上海交通大学 | 基于sift特征与灰度差值直方图特征的文字识别方法 |
WO2015183015A1 (ko) * | 2014-05-30 | 2015-12-03 | 삼성에스디에스 주식회사 | 문자 인식 방법 및 그 장치 |
CN108446621A (zh) * | 2018-03-14 | 2018-08-24 | 平安科技(深圳)有限公司 | 票据识别方法、服务器及计算机可读存储介质 |
WO2020010547A1 (zh) * | 2018-07-11 | 2020-01-16 | 深圳前海达闼云端智能科技有限公司 | 字符识别方法、装置、存储介质及电子设备 |
CN109308475A (zh) * | 2018-07-26 | 2019-02-05 | 北京百悟科技有限公司 | 一种字体识别方法及装置 |
CN111401099A (zh) * | 2018-12-28 | 2020-07-10 | 中国电信股份有限公司 | 文本识别方法、装置以及存储介质 |
CN109753967A (zh) * | 2018-12-29 | 2019-05-14 | 北京师范大学 | 一种图片文字识别方法 |
CN110008997A (zh) * | 2019-03-06 | 2019-07-12 | 平安科技(深圳)有限公司 | 图像纹理相似度识别方法、装置及计算机可读存储介质 |
CN110363199A (zh) * | 2019-07-16 | 2019-10-22 | 济南浪潮高新科技投资发展有限公司 | 基于深度学习的证件图像文本识别方法及系统 |
CN110688949A (zh) * | 2019-09-26 | 2020-01-14 | 北大方正集团有限公司 | 字体识别方法和装置 |
CN111382740A (zh) * | 2020-03-13 | 2020-07-07 | 深圳前海环融联易信息科技服务有限公司 | 文本图片解析方法、装置、计算机设备及存储介质 |
CN111476227A (zh) * | 2020-03-17 | 2020-07-31 | 平安科技(深圳)有限公司 | 基于ocr的目标字段识别方法、装置及存储介质 |
CN111626383A (zh) * | 2020-05-29 | 2020-09-04 | Oppo广东移动通信有限公司 | 字体识别方法及装置、电子设备、存储介质 |
Non-Patent Citations (3)
Title |
---|
Research and implementation of license lpate recognition based on android platform;Yueyue Sun等;matec web of conferences;第03034页 * |
利用OCR识别技术实现视频中文字的提取;陈义;李言俊;孙小炜;;计算机工程与应用(10);第184-187页 * |
王德利.北京宜居之都建设理论与实践研究.北京:知识产权出版社,2012,第99页. * |
Also Published As
Publication number | Publication date |
---|---|
CN112784932A (zh) | 2021-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kakani et al. | Improved OCR based automatic vehicle number plate recognition using features trained neural network | |
US10896357B1 (en) | Automatic key/value pair extraction from document images using deep learning | |
JP5775225B2 (ja) | マルチレイヤ連結成分をヒストグラムと共に用いるテキスト検出 | |
Tamilselvi et al. | A Novel Text Recognition Scheme using Classification Assisted Digital Image Processing Strategy | |
CN111476067A (zh) | 图像的文字识别方法、装置、电子设备及可读存储介质 | |
Zhang et al. | OPMP: An omnidirectional pyramid mask proposal network for arbitrary-shape scene text detection | |
CN112784932B (zh) | 一种字体识别方法、装置和存储介质 | |
Yan et al. | Detection and recognition of text superimposed in images base on layered method | |
Rashedi et al. | A hierarchical algorithm for vehicle license plate localization | |
CN110598566A (zh) | 图像处理方法、装置、终端和计算机可读存储介质 | |
CN111460782A (zh) | 一种信息处理方法、装置及设备 | |
He et al. | Aggregating local context for accurate scene text detection | |
CN111814576A (zh) | 一种基于深度学习的购物小票图片识别方法 | |
CN111626145A (zh) | 一种简捷有效的残缺表格识别及跨页拼接方法 | |
CN112508000B (zh) | 一种用于ocr图像识别模型训练数据生成的方法及设备 | |
Moussaoui et al. | Enhancing automated vehicle identification by integrating YOLO v8 and OCR techniques for high-precision license plate detection and recognition | |
Khan et al. | Text detection and recognition on traffic panel in roadside imagery | |
Chatbri et al. | An application-independent and segmentation-free approach for spotting queries in document images | |
Mohammad et al. | Practical recognition system for text printed on clear reflected material | |
Li et al. | Towards end-to-end container code recognition | |
CN111680691B (zh) | 文字检测方法、装置、电子设备和计算机可读存储介质 | |
Jia et al. | Grayscale-projection based optimal character segmentation for camera-captured faint text recognition | |
Nor et al. | Image segmentation and text extraction: application to the extraction of textual information in scene images | |
Arai et al. | Method for extracting product information from TV commercial | |
Ranjitha et al. | A review on text detection from multi-oriented text images in different approaches |
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 |