pythonocr训练模型_生成用于训练深度学习OCR模型的文本图像
Text RendererGenerate text images for training deep learning OCR model (e.g. CRNN). Support both latin and non-latin text.SetupUbuntu 16.04python 3.5+Install dependencies:pip3 install -r requirements.
Text Renderer
Generate text images for training deep learning OCR model (e.g. CRNN). Support both latin and non-latin text.
Setup
Ubuntu 16.04
python 3.5+
Install dependencies:
pip3 install -r requirements.txt
Demo
By default, simply run python3 main.py will generate 20 text images and a labels.txt file in output/default/.
Use your own data to generate image
Please run python3 main.py --help to see all optional arguments and their meanings. And put your own data in corresponding folder.
Config text effects and fraction in configs/default.yaml file(or create a new config file and use it by --config_file option), here are some examples:
Effect name
Image
Origin(Font size 25)
Perspective Transform
Random Crop
Curve
Light border
Dark border
Random char space big
Random char space small
Middle line
Table line
Under line
Emboss
Reverse color
Blur
Text color
Line color
Run main.py file.
Strict mode
For no-latin language(e.g Chinese), it's very common that some fonts only support limited chars. In this case, you will get bad results like these:
Select fonts that support all chars in --chars_file is annoying. Run main.py with --strict option, renderer will retry get text from corpus during generate processing until all chars are supported by a font.
Tools
You can use check_font.py script to check how many chars your font not support in --chars_file:
python3 tools/check_font.py
checking font ./data/fonts/eng/Hack-Regular.ttf
chars not supported(4971):
['第', '朱', '广', '沪', '联', '自', '治', '县', '驼', '身', '进', '行', '纳', '税', '防', '火', '墙', '掏', '心', '内', '容', '万', '警','钟', '上', '了', '解'...]
0 fonts support all chars(5071) in ./data/chars/chn.txt:
[]
Generate image using GPU
If you want to use GPU to make generate image faster, first compile opencv with CUDA. Compiling OpenCV with CUDA support
Then build Cython part, and add --gpu option when run main.py
cd libs/gpu
python3 setup.py build_ext --inplace
Debug mode
Run python3 main.py --debug will save images with extract information. You can see how perspectiveTransform works and all bounding/rotated boxes.
Todo
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)