目录
4、PPOCRLabel产生的文件放在标记图片文件夹下,包含以下5种
注意:点击 “自动标注”按钮后,PPOCRLabel不会对状态为 “√” 的图片重新标注,自动标注完成后,标注结果不会自动保存,其结果还需我们自己确认。
PaddleLabel 是基于飞桨 PaddlePaddle 各个套件功能提供的配套标注工具。目前支持对分类、检测、分割、OCR 四种常见的计算机视觉任务数据集进行标注和管理,除基础的手动标注功能外也支持深度学习辅助标注,可以有效地提升标注效率。您可以使用 PaddleLabel 快捷高效地标注自定义数据集,之后将其导出使用飞桨套件进行模型训练。
PaddleLabel 的代码分布于三个项目中,本项目包含 PaddleLabel 的 Web 后端实现。PaddleLabel-Frontend 是基于 React 和 Ant Design 构建的前端,PaddleLabel-ML 是基于飞桨实现的自动和交互式深度学习辅助标注后端。
PPOCRLabel也是一款适用于OCR领域的半自动化图形标注工具,内置PP-OCR模型对数据自动标注和重新识别。使用Python3和PyQT5编写,支持矩形框标注和四点标注模式,导出格式可直接用于PaddleOCR检测和识别模型的训练。
一、PPOCRLabel工具说明
1、内置模型
模型类型 | 描述 |
---|---|
默认模型 | PPOCRLabel默认使用PaddleOCR中的中英文超轻量OCR模型,支持中英文与数字识别,多种语言检测。用户可通过菜单栏中“PaddleOCR”-“选择模型”切换内置模型语言,目前支持的语言包括法文、德文、韩文、日文等 |
模型语言切换 | 通过菜单栏“PaddleOCR - 选择模型”切换语言,支持法文、德文、韩文、日文,模型下载链接参考PaddleOCR模型列表7 |
自定义模型 | 根据自定义模型代码,修改PPOCRLabel.py中针对PaddleOCR类的实例化来更换为自己的推理模型 |
2、快捷键操作
快捷键 | 说明 |
---|---|
Ctrl + shift + R | 对当前图片的所有标记重新识别 |
W | 新建矩形框 |
Q | 新建四点框 |
Ctrl + E | 编辑所选框标签 |
Ctrl + R | 重新识别所选标记 |
Ctrl + C | 复制并粘贴选中的标记框 |
Ctrl + 鼠标左键 | 多选标记框 |
Backspace | 删除所选框 |
Ctrl + V | 确认本张图片标记 |
Ctrl + Shift + d | 删除本张图片 |
D | 下一张图片 |
A | 上一张图片 |
Ctrl++ | 缩小 |
Ctrl-- | 放大 |
↑→↓← | 移动标记框 |
3、在PPOCRLabel中选择合适的导出方式
对比维度 | 导出识别结果 | 导出标记结果 | 导出表格标注 |
---|---|---|---|
内容 | 识别区域裁剪后的图像、rec_gt.txt(识别标签) | label.txt(标记位置和内容信息) | 表格结构信息、表格内容 |
用途 | 训练文本识别模型 | 训练文本检测模型 | 训练表格识别模型 |
生成文件 | crop_img文件夹、rec_gt.txt | label.txt | 表格结构文件、表格内容文件 |
操作步骤 | 在菜单栏点击“文件”-“导出识别结果” | 在菜单栏点击“文件”-“导出标记结果” | 在菜单栏点击“文件”-“导出表格标注” |
适用场景 | 需要训练文字识别模型时 | 需要训练文字检测模型时 | 需要训练表格识别模型时 |
其中,PPOCRLabel导出标记结果支持三种导出方式:
-
自动导出:点击“文件 - 自动导出标记结果”后,用户每确认过一张图片,程序自动将标记结果写入Label.txt中。若未开启此选项,则检测到用户手动确认过5张图片后进行自动导出。
默认情况下自动导出功能为关闭状态
-
手动导出:点击“文件 - 导出标记结果”手动导出标记。
-
关闭应用程序导出
4、PPOCRLabel产生的文件放在标记图片文件夹下,包含以下5种
文件类型 | 用途 | 写入触发条件 |
---|---|---|
Label.txt | 用于PPOCR检测模型训练的检测标签 | 每保存5张检测结果后自动写入;关闭应用程序或切换文件路径时写入 |
fileState.txt | 保存当前文件夹下已被用户手动确认过的图片名称的图片状态标记文件 | 在图片被用户手动确认时写入相关信息 |
Cache.cach | 保存模型自动识别结果的缓存文件 | 在自动识别过程中生成并写入 |
rec_gt.txt | 用于PPOCR识别模型训练的识别标签 | 需用户手动点击菜单栏“文件 - 保存识别结果”后产生 |
crop_img | 按照检测框切割后的识别数据 | 与rec_gt.txt 同时产生,即在用户手动点击菜单栏“文件 - 保存识别结果”后产生 |
注意:请勿手动更改其中内容,否则可能会引起程序出现异常。
二、PPOCRLabel的安装过程
1、anaconda的安装与配置
【超详细/简单易懂】配置pytorch的CPU环境:Anaconda+pytorch下载_pytorchcpu清华源-优快云博客
看前四个步骤:下载Anaconda、配置清华源、配置环境变量、验证Annconda是否安装成功.
2、创建conda环境(在base环境下输入)
conda create -n py37 python=3.7
conda activate py37
3、安装 paddlepaddle(在py37环境下输入)
pip3 install --upgrade pip
python -m pip install paddlepaddle==2.3.2 -i https://pypi.tuna.tsinghua.edu.cn/simple
注意一:如果出现以下错误,按提示要求复制粘贴所需命令输入即可。
注意二:如果出现访问http失败,可尝试不使用-i链接镜像源,直接下载。
4、安装 PPOCRLabel(在py37环境下输入)
#下载安装PPOCRLabel
pip install PPOCRLabel
注意一:如果出现以下错误:表示尝试安装 PyQt5-sip
时遇到了错误,提示需要安装 Microsoft Visual C++ 14.0
或更高版本。
根据提示的链接Microsoft C++ 生成工具 - Visual Studio,安装访问Microsoft官方网站下载并安装Microsoft Visual C++ Build Tools:
再安装如下选项,其中 c++/cli
一定要选。
当Microsoft Visual C++ Build Tools安装成功,则再次安装 pyqt5-sip和PPOCRLabel即可。
pip install Pyqt5-sip
pip install pyproject.toml
pip install PPOCRLabel
注意二:如果仍然安装失败,可删除该python环境,重新创建一个python环境进行安装(安装步骤同上)。
#
conda activate base
#删除某个虚拟环境
conda env remove -n 环境名称 --all
三、PPOCRLabel的使用
1、启动软件(在py37环境下)
#启动PPOCRLabel
PPOCRLabel --lang ch
2、导入文件并进行标注
简单示范:“文件”--“打开目录”--选择文件/文件夹---矩形标注/多点标注/表格识别。
此时,样本目录自动生成3个文件夹(因未确认标注信息未保存):
(1)标注文字信息和位置:
- 打开文件夹:在菜单栏点击“文件” - “打开目录”,选择待标记图片的文件夹。
- 自动/手动标注:
a、自动标注:点击“自动标注”,使用PP-OCR超轻量模型对图片文件进行自动标注。
b、手动矩形标注:点击“矩形标注”(或点击按键盘中的“W”),用户可对当前图片中模型未检出的部分进行手动绘制标记框。
c、手动四点标注:点击键盘“Q”,则使用四点标注模式(或点击“编辑” - “四点标注”),用户依次点击4个点后,双击左键表示标注完成。
- 重新识别:将图片中的所有检测画绘制/调整完成后,点击“重新识别”,PP-OCR模型会对当前图片中的所有检测框重新识别。
- 内容更改:单击识别结果,对不准确的识别结果进行手动更改。
- 确认标记:点击“确认”,图片状态切换为“√”,跳转至下一张。
(2)表格标注
表格标注的目的是进行表格结构化提取,需把图片中的表格转成Excel格式,标注时要配合打开Excel的外部软件,在PPOCRLabel软件标注表格文字信息(含文字与位置),在Excel文件标注表格结构信息,推荐的步骤为:
-
表格识别:打开表格图片后,点击软件右上角表格识别按钮,软件调用PP-Structure中的表格识别模型,自动为表格打标签,同时弹出Excel
-
更改识别结果:以表格中的单元格为单位增加标注框(即一个单元格内的文字都标记为一个框),标注框上鼠标右键后点击单元格重新识别,可利用模型自动识别单元格内的文字。
-
标注表格结构:将表格图像中有文字的单元格,在Excel中标记为任意标识符,保证Excel中的单元格合并情况与原图相同即可。
-
导出JSON格式:关闭所有表格图像对应的Excel,点击文件-导出表格json标注获得JSON标注结果。
3、导出结果
简单示范:所有图片确认后,点击“文件”-“导出识别结果”,会导出识别结果文件(crop_img、reg_gt.txt
),并会保存在样本目录下:
此时,样本目录又产生2个文件夹:
注意:点击 “自动标注”按钮后,PPOCRLabel不会对状态为 “√” 的图片重新标注,自动标注完成后,标注结果不会自动保存,其结果还需我们自己确认。
标注未“确认”前大小为0KB,表示标注信息未保存。
- 自动标注工具仅提供自动标注功能,只有确认每张图片后才能保存标注结果。
- “×”表示标注结果未保存,在右下角点击“确认”(或使用快捷键“Ctrl+V)所有图片的识别结果后,且文件列表图片名称前都出现“√”符号,表示标注完成且结果已保存。
标注“确认”后大小不再为0KB,表示标注信息已保存。
- 最后还需点击“文件“-”导出/保存识别结果”,否则无法生成结果文件与标签,导出文件如下:
-
其中,crop_img里面的内容就是识别数据:
参考资料:
PaddleOCR/doc/doc_ch/models_list.md at static · PaddlePaddle/PaddleOCR · GitHub