在进行文字识别时候,需要使用的数据集样式为一张含有文本的图片以及对应文本内容的标签。但是一般而言,实际情况是构建的文本字典中,每个字至少要出现200次才能有好的识别效果,因此,先对所有的label进行单字统计,看每个字出现的个数是否超过200次,如果不满足,则需要进一步收集数据。
数据来源有两种:
真实数据的收集是比较费事费力的,因此可以使用一些生成数据的工具来无限量的生成想要的数据。
主要工具有:
Text Recognition Data Generator
: https://github.com/Belval/TextRecognitionDataGeneratorText Render
: https://github.com/oh-my-ocr/text_rendererSynthText
: https://github.com/ankush-me/SynthTextSynthText_Chinese_version
: https://github.com/JarveeLee/SynthText_Chinese_version这里详细介绍Text Recognition Data Generator
工具的使用
有两种安装方式,一种是通过pip安装,另外一种是通过源码安装,建议使用源码安装:
pip install trdg
git clone https://github.com/Belval/TextRecognitionDataGenerator
pip3 install -r requirements.txt
# 如果想使用手写体
pip3 install -r requirements.txt
-i
, --input_file:具体的文本内容文件,文件中是一行行的文本,可以指定生成的图片内容;-c
, --count:设置 生成的图片数量-l
, --language:设定生成的文本语言-t
, --thread_count:设定线程个数,加快生成速度-f
, --format:设定图片高度像素值,默认是32-b
, --background:设定图片的背景样式-W
, --length:设定生成图片中文本的长度具体可以使用
-h
, --help 去查看每个参数的意义样例:
$ python trdg -l cn -c 10000 -b 3 -w 20 -f 64 -t 32
生成10000张图片,生成语言是使用中文,背景图样式是3,每个生成文本长度为20, 图片像素值高度为64,使用32线程去生成