当前位置:   article > 正文

PaddleOCR训练自己模型(1)----数据准备

paddleocr训练

一、下载地址:

PaddleOCR开源代码(下载的是2.6RC版本的,可以根据自己需求下载)

具体环境安装就不详细介绍了, 挺简单的,也挺多教程的。

二、数据集准备及制作

(1)下载完代码及配置完环境之后,运行PPOCRLabel.py文件,打开标注软件(2.7版本的会运行报错,解决方案如下解决PPOCRLabel.py报错operands could not be broadcast together with shapes (213,488,4) (1,1,3)-CSDN博客

(2)运行成功后,点击文件,导入图片所在的路径,然后点击自动标注

(3)自动标注完之后,核对每一张的标签。核对完成之后点击确认,否则导出的时候不会显示

(4)点击左上角的文件,导出标记结果导出识别结果。两个文件都导出完之后,会多生成几个文件。

 

(5)在PaddleOCR下创建一个train_data文件夹,然后将标注好的整个文件夹复制到train_data里。

(6)打开PPOCRLabel/gen_ocr_train_val_test.py文件,把路径修改为自己的路径,然后运行gen_ocr_train_val_test.py

(7)运行结束之后会在train_data里面生成det和rec两个文件夹,分别对应定位和文字识别的数据

使用2.6版本代码生成的txt文件会有空行,训练时会报错估计是bug。如果有空行可以通过下面代码来修改,把det和rec两个文件夹下的txt文件都修改(代码路径自行修改)

  1. import os
  2. import json
  3. # 1.读取txt文件, 把文件里的空行去除,并更新到原文件
  4. txt_path = r"D:\Github_Code\PaddleOCR\train_data\rec\train.txt"
  5. # 读取txt文件, 把文件里的空行去除,并更新到原文件
  6. def read_txt(txt_path):
  7. with open(txt_path, 'r', encoding='utf-8') as f:
  8. lines = f.readlines()
  9. new_lines = []
  10. for line in lines:
  11. if line.strip() != '':
  12. new_lines.append(line)
  13. with open(txt_path, 'w', encoding='utf-8') as f:
  14. f.writelines(new_lines)
  15. return new_lines
  16. lines = read_txt(txt_path)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/612297
推荐阅读
相关标签
  

闽ICP备14008679号