PaddleOCRv3之二:TextRecognitionDataGenerator训练集构造

本文介绍了如何利用TextRecognitionDataGenerator创建OCR训练数据,包括字体调整、背景选择、旋转和模糊等技巧,以提升模型在复杂环境下的识别能力。通过预训练和真实数据结合,优化模型效果。


OCR识别部分数据集中字体和背景是比较重要的方面,在实际的场景下收集不到那么多真实的样本,在训练开始的时候手工构造一批训练数据还是很有必要的。可以用这一批数据预训练后面用真实数据来微调,也可以直接把这些数据和真实数据混合在一起训练。
在构造数据集的方面TextRecognitionDataGenerator还是比较好用了,这是按行生成文本的,可以生成bounding boxes,和mask。

1. 开源项目TextRecognitionDataGenerator

链接TextRecognitionDataGenerator
在这里插入图片描述
支持的一些有用的操作

  • blur 模糊操作
  • 在背景图上写字(这个很有用,选择一些真实场景的背景图,然后把文字写在上面,看起来更真实一些)
  • 角度旋转
  • 生成boundingbox和mask标签
  • 字间距调整
  • 字体颜色设置
  • 拉丁语系的提供了100多种字体

安装有两种方式,

  • pip 安装
pip install trdg
  • 源码安装
    下载源码,cd进入setup.py所在目录,然后安装依赖项
pip install -r requirements.txt

使用的时候用trdg文件夹下的run.py文件生成数据,默认在TextRecognitionDataGenerator-master\trdg路径下
在这里插入图片描述

2. 使用

常用选项

python run.py 
--font_dir fonts\latin 	#字体文件,可以选择文件夹或者单个字体库
--dict dicts\myDict.txt 	#字典路径
-c 50 		#一共生成多少个图片
--output_dir outputs #保存路径
-k 5 -rk  		#-k 5表示旋转的角度为5°,后面接-rk表示在-5,+5范围内随机,
-bl 3 -rbl		#-bl 表示blur 高斯模糊,后面接半径, -rbl表示高斯核的半径在0-3之间
--case upper 	#upper表示使用大写字符,lower表示用小写
-b 3 -id images	#-b表示背景,3表示用图片做背景,-id:image_dir,指定背景图片路径
-f 64		# --format ,生成的图片的高度
-tc #22211f	#--text_color 6位的16进制数,RGB格式直接翻译,例如:rgb=[10,15,255]==>#0a 0e ff 
-obb 1		#生成bonding box,
		#格式是嵌套的,第一行:4个数,分别为第一个字符左上角x,y 最后一个字符的右下角的x,y
		#第二行:4个数,分别为第二个字符左上角的x,y,最后一个字符的右下角的x,y
		#第n行:4个数,分别为第n个字符左上角的x,y,最后一个字符的右下角的x,y

例如:

python run.py --font_dir fonts\latin --dict dicts\OCRDict.txt -c 52 --output_dir K:\imageData\OCR\ocr_dataset\test  -k 6 -rk -bl 1 -rbl -b 3 -id K:\imageData\OCR\ocr_background\yellow -f 80

查看使用帮助就能只知道完整的用法了

python run.py --help
usage: run.py [-h] [--ou
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值