PPOCRLabel使用中遇到的问题以及离线使用

PPOCRLabel是PaddleOCR中提供的一个半自动标注工具,使用起来非常方便,能够大幅提高标注效率。本篇博文简单记录下在使用PPOCRLabel中遇见的问题(本篇博文只记录PPOCRLabel的安装使用,关于PaddleOCR的使用请自行阅读文档)。

label


1 安装PPOCRLabel

安转PPOCRLabel可直接参考原项目安装readme,也可以按照我下面说步骤的安装。
在这里插入图片描述

首先需要克隆PaddleOCR整个项目,项目地址:
https://github.com/PaddlePaddle/PaddleOCR/
克隆项目后,在项目根目录中有个requirements.txt文件,通过该文件批量安装python的依赖环境。在根目录打开终端,输入如下指令安装:

pip install -r  requirements.txt

paddleocr


安装paddlepaddle

除了安装requirements.txt中的包外,还需要安装paddlepaddle,下图是官网给的安装方式,由于我个人使用的win10开发机不能连外网,所以就不通过官方的源下载了(这里以下载CPU版本为例):

pip install paddlepaddle==2.0.0

在这里插入图片描述


安装pyqt5

接着还需要安装pyqt5

pip install pyqt5

安装trash-cli(仅Linux环境需要)

如果你是Linux环境还需要安装trash-cli

pip install trash-cli

安装python-Levenshtein报错:Microsoft Visual C++ 14.0 or greater is required.

我在Ubuntu中安装时没有出现这个问题的,但是在win10开发机中却遇到了该问题,网上也有一堆说要安装这安装那的,其实没必要那么麻烦。直接在这个网站上下载:
https://www.lfd.uci.edu/~gohlke/pythonlibs/#python-levenshtein
然后使用pip本地安装下就行了(注意这个网站的资源仅针对Windows)。


2 启动PPOCRLabel

首先进入PPOCRLabel目录,然后在执行启动指令(--lang ch指定使用中文模型):

python PPOCRLabel.py --lang ch

成功启动后需要联网下载模型权重(如果无法联网会报错,后面会说这么离线使用)


报错找不到geos_c.dll文件

我在win10开发机中启动时,报了如下错误,看了官方提示,说要重新安装shapely库(注意即使成功通过pip安装的shapely库也不行),这里需要在下面这个网址中下载对应的shapely库,下载后通过pip本地安装即可解决。
https://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely


3 离线使用PPOCRLabel

刚刚上面说了,首次启动时需要联网下载模型权重。如果没有网络就会报错。那么这里可以自己手动去官网下载权重,然后拷贝到离线主机中,按照对应目录结构放好即可使用。
通过如下网址,可以看到官方提供的移动端以及服务器端使用的权重(这里默认是针对中英文模型,你也可以下载其他语言的模型):
https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.1/README_ch.md
在这里插入图片描述
这里以下载服务器端的模型权重为例,下载服务器端对应的检测模型权重,方向分类器权重以及识别模型权重(注意是下载推理模型,不是预训练模型)。下载解压后会得到如下三个文件夹,每个文件夹中都有inference.pdiparamsinference.pdiparams.info以及inference.pdmodel三个文件:

在这里插入图片描述


Linux的文件目录摆放结构

如果是Linux系统,在自己用户下有一个.paddleocr的目录,如果没有自己创建一个,例如我的用户是wz那么有/home/wz/.paddleocr。将如上权重依次摆放对应文件夹。

├── .paddleocr: 
│    ├── cls: 存放分类器的权重(分类器不分语言)
│    │     ├── inference.pdiparams
│    │     ├── inference.pdiparams.info
│    │     └── inference.pdmodel
│    │
│    └── 2.1: 注意该目录的名称是根据当前release版本来的,当前使用的release版本是2.1 
│          ├── det: 存放检测器的权重
│          │     └── ch: 代表中英文模型
│          │         ├── inference.pdiparams
│          │         ├── inference.pdiparams.info
│          │         └── inference.pdmodel
│          │
│          └── rec: 存放识别器的权重
│               └── ch: 代表中英文模型
│                     ├── inference.pdiparams
│                     ├── inference.pdiparams.info
│                     └── inference.pdmodel

Windows的文件目录摆放结构

如果是Windows系统,在自己用户下有一个.paddleocr的目录,如果没有自己创建一个,例如我的用户是admin那么有C:\User\admin\.paddleocr。将如上权重依次摆放对应文件夹。

├── .paddleocr: 
│    ├── cls: 存放分类器的权重(分类器不分语言)
│    │     ├── inference.pdiparams
│    │     ├── inference.pdiparams.info
│    │     └── inference.pdmodel
│    │
│    └── 2.1: 注意该目录的名称是根据当前release版本来的,当前使用的release版本是2.1 
│          ├── det: 存放检测器的权重
│          │     └── ch: 代表中英文模型
│          │         ├── inference.pdiparams
│          │         ├── inference.pdiparams.info
│          │         └── inference.pdmodel
│          │
│          └── rec: 存放识别器的权重
│               └── ch: 代表中英文模型
│                     ├── inference.pdiparams
│                     ├── inference.pdiparams.info
│                     └── inference.pdmodel

4 PPOCRLabel使用自己训练的权重

这里和离线使用PPOCRLabel的内容差不多,只需要你将自己模型的权重训练并转换好后放在对应文件目录下即可。

猜你喜欢

转载自blog.csdn.net/qq_37541097/article/details/118638695
今日推荐