CN112418224B - 一种基于机器学习的通用ocr的训练数据生成系统及方法 - Google Patents
一种基于机器学习的通用ocr的训练数据生成系统及方法 Download PDFInfo
- Publication number
- CN112418224B CN112418224B CN202110084710.7A CN202110084710A CN112418224B CN 112418224 B CN112418224 B CN 112418224B CN 202110084710 A CN202110084710 A CN 202110084710A CN 112418224 B CN112418224 B CN 112418224B
- Authority
- CN
- China
- Prior art keywords
- picture
- information
- background
- text
- color
- 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
- 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
- G06V20/63—Scene text, e.g. street names
-
- 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
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- 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/40—Extraction of image or video features
- G06V10/56—Extraction of image or video features relating 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/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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- 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)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Evolutionary Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Character Input (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于机器学习的通用OCR的训练数据生成系统及方法,该方法基于系统实现的,其步骤包括从语料库中随机抽取5‑10个文字作为文字信息;从字体库中随机选择字体生成字体信息;从图片库中随机抽取背景图片,依据通过字体信息生成的文字信息对图片进行裁剪;对图片背景的像素RGB值进行聚类算法分析找到聚类中心,然后从文字颜色库中随机抽取颜色,计算每种颜色到背景颜色值聚类中心的RGB值的距离再从距离最远的颜色中随机选取文字颜色;将文字信息、字体信息、背景图片、文字颜色结合生成可直接用于文本识别模型训练的图片,该方法采用真实场景背景图片,通过聚类分析来添加字体颜色,实现对文字识别模型的真实训练图片的完全自动模拟生成。
Description
技术领域
本发明属于文字识别方法领域,具体涉及一种基于机器学习的通用OCR的训练数据生成系统及方法。
背景技术
随着机器学习,深度学习的发展,在光学字符识别(OCR)领域,深度学习算法的不断迭代更新,学习能力不断提高,由于深度学习是靠数据驱动的,所以结合数据生成算法生成大量的数据,可以获得很好的识别效果。
但是通用OCR领域涉及的场景非常多而且非常复杂,主要是体现在图像中文本行在不同场景下的放置角度变化很大(横向,纵向,倾斜等各种角度);背景图片越来越复杂(各种图案,颜色混合等复杂背景);图片中含有各类字体的文字混合,导致现有的数据生成算法达不到要求。
本方法涉及光学字符识别领域,尤其是一种基于机器学习的通用OCR的训练数据生成系统。
发明人在实际使用过程中发现,这些现有方法至少存在以下方法问题:
1.现有的数据生成算法主要是解决横向文本的训练数据生成,没有对竖直文本和倾斜角度较大的文本数据进行生成,导致这类数据(比如名称牌匾,广告牌等)在实际场景中识别效果很差。
2.现有的数据生成算法背景是由特定场景图片背景或者单一的纯色背景,对通用场景任务中包括各类图案,混合的颜色等等的复杂背景下的图片识别效果很差。
3.现有的数据生成算法字体采用特定字体或者指定字体,对数据图片(比如网页截图,广告牌等)中混合多种字体的情况的图片识别效果很差。
4.图片和文本融合的时候采用颜色差值算法决定文本颜色和背景颜色,现在的数据大多包含复杂的背景和各种颜色的文本,并且文本颜色和背景颜色有很好的对比度,颜色差值算法适用于颜色单一的背景来融合图片,面对复杂的背景生成的图片中文本和背景的对比度就很差,导致文本很模糊,识别效果较差。
发明内容
为克服上述存在之不足,本发明的发明人通过长期的探索尝试以及多次的实验和努力,不断改革与创新,提出了一种基于机器学习的通用OCR的训练数据生成系统,其可以根据图片的颜色通过聚类分析来添加具有较高区别度颜色的字体,实现对于文字识别模型的真实训练图片的完全自动模拟生成,避免了人工标注,解决现实场景中竖直文本(比如名称牌匾,广告牌等)训练数据缺少的问题并统一训练模型,训练得到的模型识别准确度更高。
1、为实现上述目的本发明所采用的方法方案是:提供一种基于机器学习的通用OCR的训练数据生成方法,其包括以下步骤:文字信息生成:从语料库中随机抽取5-10个文字作为文字信息;字体信息生成:从字体库中随机选择字体生成字体信息;背景图片的选取、尺寸处理:从图片库中随机抽取背景图片,依据通过字体信息生成的文字信息信息对图片进行裁剪;文字颜色选取:1)判断裁剪出的背景图片的尺寸是否符合要求,否则对背景图片进行尺寸转换; 2)对背景图片预处理转换成颜色序列数据; 3)初始化聚类算法,然后对背景图片进行聚类分析,计算每个类别有多少数据并获取多个聚类中心; 4)获取多个聚类中心所属的背景颜色值和到各个聚类中心的差值并对差值从大到小进行排序; 5)从收集的文本文字颜色库中随机选取500个颜色作为候选颜色; 6)根据背景颜色的差值排序结果,设置多个聚类中心的距离计算权重,排序越靠前的权重越大,依次计算每个随机选取的候选颜色到每个聚类中心的差值,将差值进行求和,获取候选颜色到背景颜色的差值,将每个候选颜色计算的差值进行从大到小排序;
7)从候选颜色到背景颜色的差值距离计算结果中选取最大的200个颜色,然后从200个颜色中随机选择1-3种作为文本颜色;图片生成:将文字信息、字体信息、背景图片、文字颜色进行结合,生成一张可直接用于文本识别模型训练的图片,并保存该图片的文本信息为标签数据。
根据本发明所述的一种基于机器学习的通用OCR的训练数据生成方法,其进一步的优选方法方案是:语料库、字体库、图片库、文字颜色库的来源分别为:语料库:随机获取网上公开的各种语言的文字数据,对文字数据整理、去重;字体库:收集整理各类真实场景常用的字体;图片库:收集整理真实场景的背景图像或者各类复杂的图像数据;文字颜色库:收集整理各种公开的文本文字颜色库。
根据本发明所述的一种基于机器学习的通用OCR的训练数据生成方法,其进一步的优选方法方案是:所述文字信息生成与字体信息生成具体步骤为:1)从语料库中随机抽取5-10个文字的字符串作为文字信息;2)从字体库随机抽取1-3种作为字体信息;
3)验证选择的字体是否支持该文字信息,若该字体不支持,则返回步骤1),若该字体支持该文字信息则得到正确的文字信息与字体信息。
根据本发明所述的一种基于机器学习的通用OCR的训练数据生成方法,其进一步的优选方法方案是:所述背景图片的选取与尺寸处理具体步骤为:
1)随机选取一张图片作为背景图片信息;
2)获取图片宽高数据:根据选择的文字信息和字体信息,使用字体信息对文字信息渲染,然后将文本横向、竖向组合,分别获取其对应的高度及宽度信息;
3)根据文本的宽高信息生成一张透明图片;
4)将文本信息和透明图片组成文本掩码图片;
5)用文本掩码图片的宽度和高度分别加上裁剪偏移量作为背景图片的宽高信息,从背景图片中裁剪出需要的背景图片信息。
根据本发明所述的一种基于机器学习的通用OCR的训练数据生成方法,其进一步的优选方法方案是:所述图片生成具体流程为: 1)根据文字信息,字体信息和文本颜色,先把文本样式组成到一张透明的图片上作为文本掩码图片; 2)根据文本掩码图片的维度加上裁剪偏移量,在背景图片信息中裁剪出所需的背景图片; 3)将文本掩码图片填充到裁剪的背景图片上组合为最终的图片数据。
根据本发明所述的一种基于机器学习的通用OCR的训练数据生成方法,其进一步的优选方法方案是:其还对生成的图片进行数据增强:随机选择增加透视变换,仿射变换,线条噪声,高斯模糊,边缘随机丢弃,垂直随机丢失中的一种或几种方式对组合图像进行数据增强。
一种基于机器学习的通用OCR的训练数据生成系统,其包括
语料模块:从语料库中随机抽取5-10个文字作为文字信息;
字体模块:从字体库中随机选择字体生成字体信息;
背景模块:从图片库中随机抽取图片,然后依据字体信息生成的文字信息对图片进行裁剪得到背景图片,对图片背景的像素RGB值进行聚类算法分析找到聚类中心;
颜色模块:从文字颜色库中随机抽取500种颜色,计算每种颜色到背景颜色值聚类中心的RGB值的距离,从距离最远的200种颜色中随机选取作为文字颜色;
数据生成模块:将文字信息、字体信息、背景图片、文字颜色进行结合,生成一张可直接用于文本识别模型训练的图片,并保存该图片的文本信息为标签数据。
根据本发明所述的一种基于机器学习的通用OCR的训练数据生成系统,其进一步的优选方法方案是:其还设置有数据增强模块,数据增强模块随机选择增加透视变换,仿射变换,线条噪声,高斯模糊,边缘随机丢弃,垂直随机丢失中的一种或几种方式对组合图像进行数据增强。
相比现有方法,本发明的方法方案具有如下优点/有益效果:
1.本发明采用文本排版方法配合图片旋转可以生成适用于横向文本识别模型算法的横向和纵向的数据,可以解决现实场景中竖直文本(比如名称牌匾,广告牌等)训练数据缺少的问题并统一训练模型。
2.本发明采用大量的普通图片作为背景图片,并在图片上随机裁剪需要的背景图片,解决了现有的通用OCR的复杂背景。
3.本发明采用大量的常用字体或者特定字体作为字体库,用于在组合图片的时生成含有各类字体的数据,解决了待识别图片中含有多种字体的情况。
4.本发明采用基于机器学习的聚类算法对背景图像的颜色进行分析,从而计算出最合适的文本颜色,可以解决在复杂的背景下文本信息显示模糊的问题。
5.本发明采用字体信息,文字信息和背景信息组合,加上聚类算法对文本颜色的设定,可以解决通用场景下的OCR训练数据生成,实现100%真实训练数据自动生成的能力。
6.本发明对组合的图像进行数据增强,包含透视变换,线条噪声,高斯模糊等等,解决实际场景中不同情况下的图片情况,增加了文本识别模型的拟合能力。
附图说明
为了更清楚地说明本发明实施方式的方法方案,下面将对实施方式中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通方法人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明一种基于机器学习的通用OCR的训练数据生成系统的原理图。
具体实施方式
为使本发明目的、方法方案和优点更加清楚,下面对本发明实施方式中的方法方案进行清楚、完整地描述,显然,所描述的实施方式是本发明的一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通方法人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。因此,以下提供的本发明的实施方式的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施方式。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中可以不对其进行进一步定义和解释。
实施例:
如图1所示,一种基于机器学习的通用OCR的训练数据生成方法,其包括以下步骤:
文字信息生成:从语料库中随机抽取5-10个文字作为文字信息;
字体信息生成:从字体库中随机选择字体生成字体信息;
背景图片的选取、尺寸处理:从图片库中随机抽取背景图片,依据通过字体信息生成的文字信息对图片进行裁剪;
文字颜色选取:对图片背景的像素RGB值进行聚类算法分析找到聚类中心,然后从文字颜色库中随机抽取500种颜色,计算每种颜色到背景颜色值聚类中心的RGB值的距离,从距离最远的200种颜色中随机选取颜色作为文字颜色;
图片生成:将文字信息、字体信息、背景图片、文字颜色进行结合,生成一张可直接用于文本识别模型训练的图片,并保存该图片的文本信息为标签数据。
在本方法当中,语料库、字体库、图片库、文字颜色库的来源分别为:
语料库:随机获取网上公开的各种语言的文字数据,对文字数据整理、去重;
字体库:收集整理各类真实场景常用的字体;
图片库:收集整理真实场景的背景图像或者各类复杂的图像数据;
文字颜色库:收集整理各种公开的文本文字颜色库。
在本方法当中,所述文字信息生成与字体信息生成具体步骤为:
1)从语料库中随机抽取5-10个文字的字符串作为文字信息;
2)从字体库随机抽取1-3种作为字体信息;
3)验证选择的字体是否支持该文字信息,若该字体不支持,则返回步骤1),若该字体支持该文字信息则得到正确的文字信息与字体信息。
在本方法当中,所述背景图片的选取与尺寸处理具体步骤为:
1)随机选取一张图片作为背景图片信息;
2)获取图片宽高数据:根据选择的文字信息和字体信息,使用字体信息对文字信息渲染,然后将文本横向、竖向组合,分别获取其对应的高度及宽度信息;
3)根据文本的宽高信息生成一张透明图片;
4)将文本信息和透明图片组成文本掩码图片;
5)用文本掩码图片的宽度和高度分别加上裁剪偏移量作为背景图片的宽高信息,从背景图片中裁剪出需要的背景图片信息。
在本方法当中,所述文字颜色选取具体流程为
1)判断裁剪出的背景图片的尺寸是否符合要求,否则对背景图片进行尺寸转换;
2)对背景图片预处理转换成颜色序列数据;
3)初始化聚类算法,然后对背景图片进行聚类分析,计算每个类别有多少数据并获取多个聚类中心;
4)获取多个聚类中心所属的背景颜色值和到各个聚类中心的差值并对差值从大到小进行排序;
5)从收集的文本文字颜色库中随机选取500个颜色作为候选颜色;
6)根据背景颜色的差值排序结果,设置多个聚类中心的距离计算权重,排序越靠前的权重越大,依次计算每个随机选取的候选颜色到每个聚类中心的差值,将差值进行求和,获取候选颜色到背景颜色的差值,将每个候选颜色计算的差值进行从大到小排序;
7)为了文本颜色的丰富性,从候选颜色到背景颜色的差值距离计算结果中选取最大的200个颜色,然后从200个颜色中随机选择1-3种作为文本颜色。
在本方法当中,所述图片生成具体流程为:
1)根据文字信息,字体信息和文本颜色,先把文本样式组成到一张透明的图片上作为文本掩码图片;
2)根据文本掩码图片的维度加上裁剪偏移量,在背景图片信息中裁剪出所需的背景图片;
3)将文本掩码图片填充到裁剪的背景图片上组合为最终的图片数据。
其还对生成的图片进行数据增强:随机选择增加透视变换,仿射变换,线条噪声,高斯模糊,边缘随机丢弃,垂直随机丢失中的一种或几种方式对组合图像进行数据增强。
将最终生成的图片缩放适应文本识别模型输入尺寸。
本方法是基于训练数据生成系统设置的,部分描述在系统中进行详细说明。
如图1所示,一种基于机器学习的通用OCR的训练数据生成系统,包括语料模块、字体模块,背景模块,颜色模块,数据生成模块,数据增强模块,完整结构见附图。
各个模块来源与作用如下:
语料模块:随机获取网上公开的文本数据,可以为中文,英文等其他语言,整理为文本语料库,并从中随机抽取字符串作为文字信息。
字体模块:收集各类场景常用的字体,所述的字体为真实场景常用的字体,并随机抽取一个作为字体信息。
背景模块:收集各种图片数据作为背景图像,所述的背景图像为真实场景背景图像或者各类复杂的图像数据,并根据文字信息和字体信息,随机裁剪出对应尺寸的背景图片信息。
颜色模块:预先获取公开的文本颜色库,对裁剪的背景图像信息的背景颜色值信息进行基于机器学习的KMeans聚类算法,分析出该背景图片的背景颜色的聚类中心,计算预先获取的文本颜色到聚类中心的距离,最后选取距离最远的颜色值作为文本颜色信息。
数据生成模块:用于组合所述文本信息、字体信息、背景图片信息和文本颜色信息,获取组合图像,并可以组合成横向图像或者纵向图片。
数据增强模块:随机选择增加透视变换,仿射变换,线条噪声,高斯模糊,边缘随机丢弃,垂直随机丢失中的一种或几种方式对组合图像进行数据增强。
下面描述各个模块配合关系:
一、 语料模块:
1. 随机获取网上公开的文本数据(比如:中文维基百科数据)可以为中文,英文等等,整理为文本语料库。
2. 对文本语料库进行去重得到训练模型需要的字符集。
3. 从中随机抽取字符串(一般为5-10个文字)作为文字信息。
二、字体模块:收集各类场景常用的字体,所述的字体为真实场景常用的字体(比如身份证的字体为华文细黑和方正黑体),在字体库中随机抽取1-3种作为字体信息。
三、根据选择的字体检查是否支持该文字信息,如果该字体不支持,需要重新从语料库中抽取字符串作为文字信息。
四、背景模块:
1. 收集各种图片数据作为背景图像,所述的背景图像为真实场景的背景图像或者各类复杂的图像数据(比如COCO的图片分类数据集)并随机选取一张图片作为背景图片信息。
2. 生成横向文本,根据选择的文字信息从选择的字体里获取文本的宽和高信息。
3. 生成纵向的文本,根据选择的文字信息从选择的字体里获取每个文字的宽高信息,最终的文本的宽高信息为每个文字中最宽的宽度,高度信息为所有文字的高度信息之和。
4. 根据文本的宽高信息生成一张透明图片。
5. 将文本信息和透明图片组成文本掩码图片。
6.将文本掩码图片的维度作为最小维度,将选取的背景图片作为最大维度,从最小维度到最大维度范围,随机选取一个裁剪偏移量,该偏移量的值为最大维度减去最小维度的值。
7. 用文本掩码图片的宽度和高度分别加上裁剪偏移量作为背景图片的宽高信息,从背景图片中裁剪出需要的背景图片信息。
五、颜色模块:
1. 收集公开的文本颜色库,作为文本的可选颜色库。
2. 判断裁剪出的背景图片的size是否大于4800,否则将该图片转成110*16 大小的图片。此处图片的大小指的是背景图片中的颜色值个数是否大于4800个,大于则将该图片转成110x16 个颜色值的图片。
3. 然后将图片处理成(-1, 3)的维度的背景颜色数据。由于颜色在图片中是由RGB三个值来组成的,所有在进行聚类算法分析的之前,需要把数据进行预处理,把需要进行分析的图片转成颜色序列数据,即把上述100x16x3维度的图片转换为1600x3的背景颜色序列数据。
4. 初始化聚类算法,采用kmeans算法并定义类别为8。
初始化聚类算法,设置类别为8,这里以kmeans算法为例:
K-Means 聚类算法的大致意思就是“将相近的颜色分到一起,不同的颜色相互分开”:
4.1. 首先输入 k 的值,即我们指定希望通过聚类得到 k 个分组,这里我们暂定为8,就是将背景颜色分为8个类;
4.2. 从数据集中随机选取8个数据点作为初始(质心);
4.3. 对集合中每一个颜色值,计算与每一个质心的距离,离哪个质心距离近,就分到该质心的类别。
4.4. 这时每一个质心类别下都有一批颜色值,重新进行选取质心,每一批通过算法选出新的质心。
4.5. 如果新质心和原来质心之间的距离小于某一个设置的阈值(表示重新计算的质心的位置变化不大,趋于稳定,或者说收敛),可以认为我们进行的聚类已经达到期望的结果,算法终止,得到最终的聚类中心。
4.6. 如果新质心和原来质心之间距离变化很大,需要迭代3~5步骤。
5. 进行聚类分析,然后计算每个类别有多少数据并获取聚类中心。
6. 根据聚类中心获取到背景颜色聚类结果并进行排序。
7. 从收集的文本颜色库中随机选取500个颜色作为候选。
8. 获取聚类结果得到聚类中心,然后计算这个8个类别中每个类别有多少颜色数据并获取每个类别的聚类中心;
根据聚类中心,获取到这8个聚类中心所属的背景颜色值和到该聚类中心的差值并从大到小进行排序;
从收集的文本文字颜色库中随机选取500个颜色作为候选颜色;
根据背景颜色的排序结果,设置这8个聚类中心距离计算权重,排序越靠前的权重越大,对8个聚类中心依次设置权重为:[1, 0.8, 0.6, 0.4, 0.2, 0.1, 0.05, 0.01];
依次对每个随机选取的候选颜色计算到每个聚类中心的差值,将8个差值进行求和,获取候选颜色到背景颜色的差值,将每个候选颜色计算的差值进行从大到小排序。
9. 为了文本颜色的丰富性,从距离计算结果中选取差值最大的200个颜色,然后从200个颜色中随机选择1-3种作为文本颜色。
需要说明的是,在字体库中随机抽取1-3种作为字体信息以及从200个颜色中随机选择1-3种作为文本颜色是包含两种模式:
单张图片中包含一种字体及一种颜色信息:当设置为程序预先设置生成的单张图片中包含一种字体及一种颜色信息时,从选择的字体中选择1种字体作为字体信息,从距离最远的200颜色中随机选取1种颜色作为颜色信息,并通过多次的程序运行,可以在相同的背景图片上生成多张具有不同文本颜色信息和不同字体信息的融合图片。
单张图片种包含多种字体及多种颜色信息:从选择的字体中选择1-3种字体作为字体混合信息,从距离最远的200颜色中随机选取1-3种颜色作为混合颜色信息,实现通过单次的程序运行,可以在背景图片上生成具有多种文本颜色信息和多种字体信息的融合图片。
六、数据生成模块
1. 根据文字信息,字体信息和文本颜色,先把文本样式组成到一张透明的图片上作为文本掩码图片。
2. 然后根据文本掩码图片的维度加上上述的裁剪偏移量,在背景图片信息中裁剪出所需的背景图片。将文本掩码图片的维度作为最小维度,将选取的背景图片作为最大维度,该偏移量的值为最大维度减去最小维度的值。
3. 最后将文本掩码图片填充到裁剪的背景图片上组合为最终的图片数据。
七、数据增强模块
1. 根据实际场景中有线条干扰的情况,对组合的图片数据采用画线条的模式,在图片的各个方向上填充一些随机颜色的线条噪声。
2. 根据文本检测模型有时对图片中文本行检测不全的情况,对组合的图片数据进行在边缘上的一定随机丢失和在竖直方向的一定随机丢失。
3. 根据实际场景有文本行有一定的倾斜和变形或者模糊的情况,对组合的数据进行透视变换,高斯模糊等增强效果。所述文字在图片中呈横向、竖向排列,倾斜等排列。倾斜体现在数据增强模块的透视变换,仿射变换。
4. 最后在接入到文本识别模型的识别,可以把组合的图片重新转成指定的维度(一般为32x280x3)并结合文本信息,方便训练。
最后将语料模块、字体模块、背景模块、颜色模块、数据生成模块、数据增强模块集成为数据生成器,以便文本识别模型直接调用进行模型训练。
以上仅是本发明的优选实施方式,应当指出的是,上述优选实施方式不应视为对本发明的限制,本发明的保护范围应当以权利要求所限定的范围为准。对于本技术领域的普通技术人员来说,在不脱离本发明的精神和范围内,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1.一种基于机器学习的通用OCR的训练数据生成方法,其特征在于,其包括以下步骤:
文字信息生成:从语料库中随机抽取5-10个文字作为文字信息;
字体信息生成:从字体库中随机选择字体生成字体信息;
背景图片的选取、尺寸处理:从图片库中随机抽取背景图片,依据字体信息生成的文字信息对图片进行裁剪;
文字颜色选取:1)判断裁剪出的背景图片的尺寸是否符合要求,否则对背景图片进行尺寸转换;
2)对背景图片预处理转换成颜色序列数据;
3)初始化聚类算法,然后对背景图片进行聚类分析,计算每个类别有多少数据并获取多个聚类中心;
4)获取多个聚类中心所属的背景颜色值和到各个聚类中心的差值并对差值从大到小进行排序;
5)从收集的文本文字颜色库中随机选取500个颜色作为候选颜色;
6)根据背景颜色的差值排序结果,设置多个聚类中心的距离计算权重,排序越靠前的权重越大,依次计算每个随机选取的候选颜色到每个聚类中心的差值,将差值进行求和,获取候选颜色到背景颜色的差值,将每个候选颜色计算的差值进行从大到小排序;
7)从候选颜色到背景颜色的差值距离计算结果中选取最大的200个颜色,然后从200个颜色中随机选择1-3种作为文本颜色;
图片生成:将文字信息、字体信息、背景图片、文字颜色进行结合,生成一张可直接用于文本识别模型训练的图片,并保存该图片的文本信息为标签数据。
2.根据权利要求1所述的一种基于机器学习的通用OCR的训练数据生成方法,其特征在于,语料库、字体库、图片库、文字颜色库的来源分别为:
语料库:随机获取网上公开的各种语言的文字数据,对文字数据整理、去重;
字体库:收集整理各类真实场景常用的字体;
图片库:收集整理真实场景的背景图像或者各类复杂的图像数据;
文字颜色库:收集整理各种公开的文本文字颜色库。
3.根据权利要求1所述的一种基于机器学习的通用OCR的训练数据生成方法,其特征在于,所述文字信息生成与字体信息生成具体步骤为:
1)从语料库中随机抽取5-10个文字的字符串作为文字信息;
2)从字体库随机抽取1-3种作为字体信息;
3)验证选择的字体是否支持该文字信息,若该字体不支持,则返回步骤1),若该字体支持该文字信息则得到正确的文字信息与字体信息。
4.根据权利要求3所述的一种基于机器学习的通用OCR的训练数据生成方法,其特征在于,所述背景图片的选取与尺寸处理具体步骤为:
1)随机选取一张图片作为背景图片信息;
2)获取图片宽高数据:根据选择的文字信息和字体信息,使用字体信息对文字信息渲染,然后将文本横向、竖向组合,分别获取其对应的高度及宽度信息;
3)根据文本的宽高信息生成一张透明图片;
4)将文本信息和透明图片组成文本掩码图片;
5)用文本掩码图片的宽度和高度分别加上裁剪偏移量作为背景图片的宽高信息,从背景图片中裁剪出需要的背景图片信息。
5.根据权利要求1所述的一种基于机器学习的通用OCR的训练数据生成方法,其特征在于,所述图片生成具体流程为:
1)根据文字信息,字体信息和文本颜色,先把文本样式组成到一张透明的图片上作为文本掩码图片;
2)根据文本掩码图片的维度加上裁剪偏移量,在背景图片信息中裁剪出所需的背景图片; 3)将文本掩码图片填充到裁剪的背景图片上组合为最终的图片数据。
6.根据权利要求1或5所述的一种基于机器学习的通用OCR的训练数据生成方法,其特征在于,其还对生成的图片进行数据增强:随机选择增加透视变换,仿射变换,线条噪声,高斯模糊,边缘随机丢弃,垂直随机丢失中的一种或几种方式对组合图像进行数据增强。
7.一种基于机器学习的通用OCR的训练数据生成系统,其特征在于,其包括
语料模块:从语料库中随机抽取5-10个文字作为文字信息;
字体模块:从字体库中随机选择字体生成字体信息;
背景模块:从图片库中随机抽取图片,然后依据字体信息生成的文字信息对图片进行裁剪得到背景图片,对图片背景的像素RGB值进行聚类算法分析找到聚类中心;
颜色模块:从文字颜色库中随机抽取500种颜色,计算每种颜色到背景颜色值聚类中心的RGB值的距离,从距离最远的200种颜色中随机选取作为文字颜色;
数据生成模块:将文字信息、字体信息、背景图片、文字颜色进行结合,生成一张可直接用于文本识别模型训练的图片,并保存该图片的文本信息为标签数据。
8.根据权利要求7所述的一种基于机器学习的通用OCR的训练数据生成系统,其特征在于,其还设置有通过随机选择增加透视变换,仿射变换,线条噪声,高斯模糊,边缘随机丢弃,垂直随机丢失中的一种或几种方式对组合图像进行数据增强的数据增强模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110084710.7A CN112418224B (zh) | 2021-01-22 | 2021-01-22 | 一种基于机器学习的通用ocr的训练数据生成系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110084710.7A CN112418224B (zh) | 2021-01-22 | 2021-01-22 | 一种基于机器学习的通用ocr的训练数据生成系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112418224A CN112418224A (zh) | 2021-02-26 |
CN112418224B true CN112418224B (zh) | 2021-04-23 |
Family
ID=74782865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110084710.7A Active CN112418224B (zh) | 2021-01-22 | 2021-01-22 | 一种基于机器学习的通用ocr的训练数据生成系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112418224B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112949755B (zh) * | 2021-03-29 | 2022-09-13 | 中国科学院合肥物质科学研究院 | 一种基于图像结构信息的ocr数据合成方法 |
CN113569528B (zh) * | 2021-07-19 | 2024-06-14 | 杭州度康科技有限公司 | 一种自动版面文档标注生成方法 |
CN113435163B (zh) * | 2021-08-25 | 2021-11-16 | 南京中孚信息技术有限公司 | 一种任意字符组合的ocr数据生成的方法 |
CN114863416A (zh) * | 2022-07-07 | 2022-08-05 | 合肥高维数据技术有限公司 | 通用文本ocr的训练数据生成方法及系统 |
CN115620307B (zh) * | 2022-12-02 | 2023-04-18 | 杭州实在智能科技有限公司 | 用于扩充ocr训练集的随机字体样式生成方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111199159A (zh) * | 2018-10-31 | 2020-05-26 | 西安欧思奇软件有限公司 | 基于增强现实的文字翻译及显示方法、装置和电子设备 |
CN111414906A (zh) * | 2020-03-05 | 2020-07-14 | 北京交通大学 | 纸质票据图片的数据合成与文本识别方法 |
US10719701B2 (en) * | 2018-04-25 | 2020-07-21 | Accenture Global Solutions Limited | Optical character recognition of connected characters |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101515325B (zh) * | 2009-04-08 | 2012-05-23 | 北京邮电大学 | 基于字符切分和颜色聚类的数字视频中的字符提取方法 |
JP5577763B2 (ja) * | 2010-03-09 | 2014-08-27 | 富士ゼロックス株式会社 | 画像処理装置、画像処理システム、及び画像処理プログラム |
CN109272043B (zh) * | 2018-09-21 | 2021-03-30 | 京东数字科技控股有限公司 | 用于光学字符识别的训练数据生成方法、系统和电子设备 |
CN109670502A (zh) * | 2018-12-18 | 2019-04-23 | 成都三零凯天通信实业有限公司 | 一种基于维语文字识别的训练数据生成系统及方法 |
CN111144305B (zh) * | 2019-12-26 | 2021-11-30 | 京东数字科技控股有限公司 | 训练数据生成方法、装置、电子设备和介质 |
-
2021
- 2021-01-22 CN CN202110084710.7A patent/CN112418224B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10719701B2 (en) * | 2018-04-25 | 2020-07-21 | Accenture Global Solutions Limited | Optical character recognition of connected characters |
CN111199159A (zh) * | 2018-10-31 | 2020-05-26 | 西安欧思奇软件有限公司 | 基于增强现实的文字翻译及显示方法、装置和电子设备 |
CN111414906A (zh) * | 2020-03-05 | 2020-07-14 | 北京交通大学 | 纸质票据图片的数据合成与文本识别方法 |
Non-Patent Citations (1)
Title |
---|
基于边缘和颜色的视频文本图像分割方法;朱成军等;《系统仿真学报》;20081205;第20卷(第23期);6498-6501 * |
Also Published As
Publication number | Publication date |
---|---|
CN112418224A (zh) | 2021-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112418224B (zh) | 一种基于机器学习的通用ocr的训练数据生成系统及方法 | |
Yuan et al. | A large chinese text dataset in the wild | |
US8335381B2 (en) | Handwritten word spotter using synthesized typed queries | |
US8509537B2 (en) | Learning weights of fonts for typed samples in handwritten keyword spotting | |
Antonacopoulos et al. | ICDAR2005 page segmentation competition | |
US8566349B2 (en) | Handwritten document categorizer and method of training | |
CN109241894A (zh) | 一种基于表格定位和深度学习的针对性票据内容识别系统和方法 | |
KR20190123790A (ko) | 전자 문서로부터 데이터 추출 | |
CN107403130A (zh) | 一种字符识别方法及字符识别装置 | |
CN111832403A (zh) | 文档结构识别方法、文档结构识别的模型训练方法和装置 | |
JP2010140478A (ja) | 文書画像分類のための方法及びシステム | |
CN110196917B (zh) | 个性化logo版式定制方法、系统和存储介质 | |
CN113158977B (zh) | 改进FANnet生成网络的图像字符编辑方法 | |
CN109635808B (zh) | 一种在自然场景图像中对中文关键词及上下文的提取方法 | |
CN111738252B (zh) | 图像中的文本行检测方法、装置及计算机系统 | |
CN112949455B (zh) | 一种增值税发票识别系统及方法 | |
CN109189965A (zh) | 图像文字检索方法及系统 | |
Kumar et al. | Benchmarking recognition results on camera captured word image data sets | |
CN114092700A (zh) | 基于目标检测和知识图谱的古文字识别方法 | |
CN111612081A (zh) | 识别模型的训练方法、装置、设备及存储介质 | |
CN114119949A (zh) | 一种增强文本合成图像的生成方法和系统 | |
CN112488114A (zh) | 一种图片合成方法及装置、文字识别系统 | |
CN114863416A (zh) | 通用文本ocr的训练数据生成方法及系统 | |
Wu et al. | Recursive algorithms for image segmentation based on a discriminant criterion | |
CN112560849B (zh) | 基于神经网络算法的文理分割方法及系统 |
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 | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: A general OCR training data generation system and method based on machine learning Effective date of registration: 20210706 Granted publication date: 20210423 Pledgee: Bank of China Limited Chengdu Jinjiang sub branch Pledgor: CHENGDU NO SUGAR INFORMATION TECH Co.,Ltd. Registration number: Y2021510000147 |