PPOCRLabel标注数据集与Style Text数据合成工具(身份ID识别)

1、项目简介

额外推荐项目,身份证号识别项目从制作数据集到完整识别全流程可参考如下项目,仅项目与数据集供学习使用切勿用于商用或违法犯罪,仅供学习:

基于OCR身份证号码识别全流程
PPOCRLabel半自动工具标注自制身份证数据集

PPOCRLabel半自动标注工具的环境配置比较麻烦,所以这里作者把已经配置好的环境放在百度云盘里面,直接免费提供。conda仓库环境配置,直接解压到本地: Anaconda3/envs/ 目录下即可 提取码:6666 点我直接下载

1.1 本项目简单介绍Style text 与ppocrlabel标注工具。

  • 系统环境Win10
  • ppocrlabel运行工具 :PyCharm 2020.3.3 x64
  • 开发环境配置工具:Anaconda
  • 开发环境:python 3.8

1.2 关于本项目

本项目简单介绍Style textppocrlabel标注工具,使得收集数据更加容易,使用Style text 工具批量制作所需要的数据,然后使用ppocrlabel标注工具做出模型所需要的数据集格式,可直接点我进入项目地址查看代码详情。希望大家多交流观点、介绍经验,共同学习进步,可以互相关注♥。个人主页

1.3 简介

PaddleOCR旨在打造一套丰富、领先、且实用的OCR工具库,助力使用者训练出更好的模型,并应用落地。

Style-Text主要框架包括:1.文本前景风格迁移模块 2.背景抽取模块 3.融合模块。经过这样三步,就可以迅速实现图像文本风格迁移

1.4 主要介绍

  • 数据工具
    • 数据合成工具Style-Text
    • 半自动标注工具PPOCRLabel

1.5 特性

  • 超轻量级中文OCR模型,总模型仅8.6M
    • 单模型支持中英文数字组合识别、竖排文本识别、长文本识别
    • 检测模型DB(4.1M)+识别模型CRNN(4.5M)
  • 实用通用中文OCR模型
  • 多种预测推理部署方案,包括服务部署和端侧部署
  • 多种文本检测训练算法,EAST、DB
  • 多种文本识别训练算法,Rosetta、CRNN、STAR-Net、RARE
  • 可运行于Linux、Windows、MacOS等多种系统

数据合成工具Style-Text详细介绍及其使用请查看项目地址

2、半自动标注工具PPOCRLabel

2.1 在自己的电脑上拉取

git clone https://gitee.com/paddlepaddle/PaddleOCR.git

这里我用的PyCharm打开的项目

PPOCRLabel标注数据集与Style Text数据合成工具(身份ID识别)_第1张图片

2.2 配置环境

  • scikit-image==0.17.2
  • imgaug==0.4.0
  • pyclipper
  • lmdb
  • tqdm
  • numpy
  • paddlepaddle 报错的话 缺什么导入什么
  • visualdl
  • python-Levenshtein
  • opencv-contrib-python==4.2.0.32
  • shapely 这个不要着急导入,一般有点不适配,参考此篇博客导入,点我进入

2.3 使用半自动标注工具PPOCRLabel

首先进入PyCharm,打开终端,cd进入到 PaddleOCR\PPOCRLabel\这个文件夹内,输入"python PPOCRLabel.py --lang ch",环境没问题的话即可打开PPOCRLabel半自动标注工具

PPOCRLabel标注数据集与Style Text数据合成工具(身份ID识别)_第2张图片

#代码实现,将文件夹内不规整的图片名字,逐个输出为示例:“2_1.jpg 、2_2.jpg、2_3.jpg ”等等 ,前面的 "2" 是文件夹名 "_1,_2,_3..."
import os
import re
"""批量修改文件夹的图片名"""
def ReFileName(dirPath,pattern):
    """
    :param dirPath: 文件夹路径
    :pattern:正则

    :return:
    """
    # 对目录下的文件进行遍历
    i = 1
    for file in os.listdir(dirPath):
        # 判断是否是文件
        file_new = os.path.join (dirPath, file)

        if os.path.isfile(file_new) == True and  file_new.endswith(".jpg"):
           #c= os.path.basename(file)
           newName = re.sub(pattern,'M_'+str(i)+'.jpg', file)  #手动修改文件夹名M
           x,y,z = newName.partition ('.')  #按.分割
           newName = x+".jpg"
           newFilename = file.replace(file, newName)
           # 重命名
           os.rename(os.path.join(dirPath, file), os.path.join(dirPath, newFilename))
           i+=1
    print("图片名已全部修改成功")

if __name__ == '__main__':

    dirPath = r"D:\PyCharm\Pro\OCR\PaddleOCR\PPOCRLabel\train_data\/M"  #M文件夹内的图片路径
    pattern = re.compile(r'.*')
    ReFileName(dirPath,pattern)

经过上诉代码输出的名字示例:

PPOCRLabel标注数据集与Style Text数据合成工具(身份ID识别)_第3张图片

2.4 PPOCRLabel开始标注

PPOCRLabel标注数据集与Style Text数据合成工具(身份ID识别)_第4张图片

2.5 PPOCRLabel完成

标注完成后,每个文件夹会生成三个文件,Cache.cach—标注缓存文件、fileState.txt—标注状态文件、Label.txt—标签文件

得到标签文件后就可以,喂给det网络训练啦,标签文件示例:

PPOCRLabel标注数据集与Style Text数据合成工具(身份ID识别)_第5张图片

下一个项目实战,paddleocr

你可能感兴趣的:(NLP,数据整理,数据集标注,人工智能,深度学习,python,自然语言处理,数据挖掘)