Text Renderer 开源项目教程
text_renderer 项目地址: https://gitcode.com/gh_mirrors/tex/text_renderer
1. 项目介绍
Text Renderer
是一个用于生成文本行图像的工具,主要用于训练深度学习 OCR 模型(如 CRNN)。它具有模块化设计,用户可以轻松添加不同的组件,如语料库、效果和布局。此外,Text Renderer
还集成了 imgaug
,支持在图像的不同渲染阶段应用效果,如语料库效果、布局效果和渲染效果。它还支持生成垂直文本,并能够生成与 PaddleOCR 兼容的 LMDB 数据集。
2. 项目快速启动
2.1 克隆项目
首先,克隆 Text Renderer
项目到本地:
git clone https://github.com/oh-my-ocr/text_renderer.git
cd text_renderer
2.2 安装依赖
安装项目所需的依赖:
python3 setup.py develop
pip3 install -r docker/requirements.txt
2.3 生成图像
使用示例数据生成图像:
python3 main.py \
--config example_data/example.py \
--dataset img \
--num_processes 2 \
--log_period 10
生成的数据将保存在 example_data/output
目录中。
3. 应用案例和最佳实践
3.1 生成 LMDB 数据集
除了生成图像数据集,Text Renderer
还支持生成 LMDB 数据集,适用于 PaddleOCR 等模型训练。使用以下命令生成 LMDB 数据集:
python3 main.py \
--config example_data/example.py \
--dataset lmdb \
--num_processes 2 \
--log_period 10
3.2 自定义配置
用户可以根据自己的需求自定义配置文件。例如,创建一个名为 custom_config.py
的配置文件,指定资源文件的位置、文本采样方法、效果配置等。
import os
from pathlib import Path
from text_renderer.effect import *
from text_renderer.corpus import *
from text_renderer.config import (
RenderCfg, NormPerspectiveTransformCfg, GeneratorCfg, SimpleTextColorCfg
)
CURRENT_DIR = Path(os.path.abspath(os.path.dirname(__file__)))
def custom_data():
return GeneratorCfg(
num_image=10,
save_dir=CURRENT_DIR / "output",
render_cfg=RenderCfg(
bg_dir=CURRENT_DIR / "bg",
height=32,
perspective_transform=NormPerspectiveTransformCfg(20, 20, 1.5),
corpus=WordCorpus(
WordCorpusCfg(
text_paths=[CURRENT_DIR / "corpus" / "eng_text.txt"],
font_dir=CURRENT_DIR / "font",
font_size=(20, 30),
num_word=(2, 3),
)
),
corpus_effects=Effects(Line(0.9, thickness=(2, 5))),
gray=False,
text_color_cfg=SimpleTextColorCfg(),
)
)
configs = [custom_data()]
然后使用自定义配置生成图像:
python3 main.py \
--config custom_config.py \
--dataset img \
--num_processes 2 \
--log_period 10
4. 典型生态项目
4.1 PaddleOCR
Text Renderer
生成的 LMDB 数据集可以直接用于 PaddleOCR 的训练,帮助用户快速构建和训练 OCR 模型。
4.2 imgaug
Text Renderer
集成了 imgaug
,用户可以在图像的不同渲染阶段应用各种图像增强效果,提升模型的泛化能力。
4.3 GAN 模型
Text Renderer
支持生成包含背景和文本掩码的图像,这些图像可以用于训练 GAN 模型,如 EraseNet。
通过以上模块的介绍和实践,用户可以快速上手 Text Renderer
项目,并将其应用于各种 OCR 和图像生成任务中。
text_renderer 项目地址: https://gitcode.com/gh_mirrors/tex/text_renderer
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考