PytorchOCR的检测模块只支持JsonDataset
形式的数据格式
构造数据集
JsonDataset
使用 json 格式来存储标注信息,具体格式为
"data_root": "存放图片文件的目录",
"data_list": [
{
"img_name": "relative/path/xxx.jpg",# 图片相对于 data_root 的相对路径
"annotations": [ # 当前图片的所有标注
"polygon": [[x1,y1],[x2,y2],...,[xn,yn]], # 文本框的多点标注
"text": "label", # 文本框内容
"illegibility":false, # 是否模糊
"language":"Latin", # 文本语言类型
"chars": [ # 当前文本框的字符集标注,标注含义同上
"polygon": [[x1,y1],[x2,y2],...,[xn,yn]],
"char": "c",
"illegibility": false,
"language":"Latin"
]
]
}
]
我们提供了 转换工具 以方便开发者将现有的公开数据集进行转换
除此之外,我们也为你准备了一批准换好的公开数据集,具体请参考 https://github.com/WenmuZhou/OCR_DataSet
PytorchOCR提供了训练脚本和预测脚本,本节将以 DB 检测模型为例,按照如下步骤启动训练:
pytorchocr/det/imagenet
下载预训练模型并放于PytorchOCR/weights
目录下config/det_train_db_config.py
为自己的配置文件修改配置文件
必须修改的字段说明
config.dataset.train.dataset.file
: 训练集json文件路径config.dataset.eval.dataset.file
: 验证集集json文件路径
可选修改字段说明
config.train_options.checkpoint_save_dir
: 模型和日志文件保存地址
其他字段可根据需要修改
通过如下命令启动训练
CUDA_VISIBLE_DEVICES=0 python3 tools/det_train.py --config '你的配置文件路径'
PytorchOCR支持训练和评估交替进行, 可以在 config.train_options
中修改 val_interval
设置评估频率,
评估过程中默认将最佳hmean模型,保存为 best.pth。
只需修改 config.train_options.resume_from
为模型地址,即可从该模型断掉的地方继续训练
通过以下命令启动预测
CUDA_VISIBLE_DEVICES=0 python3 tools/det_infer.py --model_path '' --img_path ''