PaddleOCR学习(一)PaddleOCR安装与测试

各种OCR算法试了一圈,还是PaddleOCR比较完善,集成度高,而且各种调试、测试、各种backbone的更改都要方便许多,非常的接地气。网上也有许多paddleocr的相关教程,但是说实话,有很多不清晰的地方,像我这样接触深度学习算法的新手,很多东西都搞不清楚,导致浪费不少时间,趁着网络在训练,我想做一份最最详细的PaddleOCR算法新手教程,确保初次接触深度学习的新手也能快速搞懂。

一、安装PaddleOCR

首先去github下载:https://github.com/PaddlePaddle/PaddleOCR,然后找个文件夹解压。

接下来需要配置PaddleOCR所需的环境,我是win10+anaconda,如果是linux的教程网上也很多,比win10简单多了,就不写了。

首先,推荐新建一个环境:

conda create -n paddle38 python=3.8

接下来,安装PaddlePaddle,推荐使用清华源:

pip install paddlepaddle -i https:

如果要使用gpu版的,安装paddlepaddle-gpu:

pip install paddlepaddle-gpu

然后是安装shapely,但是需要先从https://www.lfd.uci.edu/~gohlke/pythonlibs/下载shapely安装包 Shapely‑1.7.1‑cp38‑cp38‑win_amd64.whl,将其复制到 F:\Anaconda3\envs\paddle38\libs文件夹下(根据自己新建的环境的位置修改),然后在anaconda Prompt中,cd到该目录下,执行:

pip install Shapely‑1.7.1‑cp38‑cp38‑win_amd64.whl

最后cd到刚才解压的PaddleOCR文件夹中,执行:

pip install -r requirements.txt

至此,安装就完成了,我用的是pycharm,记得到pycharm中,将PaddleOCR项目的环境改为paddle38。

PaddleOCR-develop文件夹目录下应该有以下文件:

PaddleOCR学习(一)PaddleOCR安装与测试
这是我已经安装完的文件夹,里面有些文件夹是最初没有的,比如demo、inference、pretrain_models、results、train_data等,这些后面会讲,不影响。

二、试用官方的模型

完成PaddleOCR安装之后,推荐先用官方模型对自己的数据进行下测试看看效果,官方预训练模型的下载地址为:
https://github.com/PaddlePaddle/PaddleOCR/blob/develop/README_ch.md

PaddleOCR学习(一)PaddleOCR安装与测试

如图,我下载的是超轻量OCR模型,检测、方向分类、识别的推理模型我都下载了,在PaddleOCR目录下新建一个inference文件夹,用于存放这些模型:

PaddleOCR学习(一)PaddleOCR安装与测试
接下来就可以准备开始测试自己的图片了,官方也给出了快速开始的教程:
https://github.com/PaddlePaddle/PaddleOCR/blob/develop/doc/doc_en/quickstart_en.md

可以使用如下命令进行单张图片的测试:
这里有两种方法:
(1)直接在paddle-develop文件夹目录下打开cmd,然后conda activate paddle38,在输入以下指令;
(2)在anaconda Prompt中先conda activate paddle38,再一路cd到paddle-develop文件夹下。

python tools/infer/predict_system.py --image_dir="./doc/imgs/11.jpg"
                                      --det_model_dir="./inference/ch_ppocr_mobile_v1.1_det_infer/"
                                      --rec_model_dir="./inference/ch_ppocr_mobile_v1.1_rec_infer/"
                                      --cls_model_dir="./inference/ch_ppocr_mobile_v1.1_cls_infer/"
                                      --use_angle_cls=True
                                      --use_space_char=True

有的网上教程前面是python3开头,不知道为什么,反正在我的环境里跑不起来,甚至没有任何报错反应。

如果不想使用命令运行,而是想在pycharm中使用run的话,需要在代码中进行修改,需要修改的代码在PaddleOCR-develop/tools/infer文件夹下:

PaddleOCR学习(一)PaddleOCR安装与测试
这里面,predict_det是检测文本用的,predict_rec是识别文本用的,而predict_system是既检测又识别。另外,这几个预测文件共用一个参数配置文件utility.py,需要更改的参数如下:
注意这些需要修改的参数在utility文件中不是连续的
是否使用gpu
parser.add_argument("--use_gpu", type=str2bool, default=True)
图片位置(图片位置相对于utility文件位置比较遥远,也可以使用绝对路径)
parser.add_argument("--image_dir", type=str, default="../../demo/sample4.jpg")
检测模型路径
parser.add_argument("--det_model_dir", type=str, default="../../inference/ch_ppocr_mobile_v1.1_det_infer/")
识别模型路径
parser.add_argument("--rec_model_dir", type=str, default="../../inference/ch_ppocr_mobile_v1.1_rec_infer")
字典路径(ic15_dict.txt是英文字典,ppocr_keys_v1.txt是中文字典,检测一般不区分中英文,但是识别需要区分中英文)
parser.add_argument(
        "--rec_char_dict_path",
        type=str,
        default="../../ppocr/utils/ic15_dict.txt")
分类模型
parser.add_argument("--cls_model_dir", type=str, default="../../inference/ch_ppocr_mobile_v1.1_cls_infer")
字体路径
def draw_ocr_box_txt(image,
                     boxes,
                     txts,
                     scores=None,
                     drop_score=0.5,
                     font_path="../../doc/simfang.ttf"):
字体路径
def text_visual(texts,
                scores,
                img_h=400,
                img_w=600,
                threshold=0.,
                font_path="../../doc/simfang.ttf"):

修改完这些文件后,运行predict_system文件,即可,输出结果的位置在predict_system中修改:

draw_img_save = "../../results"

这样即可输出到PaddleOCR-develop/results文件夹中。

同样的,如果只进行文本检测(不识别),运行predict_det,输出结果同样修改。

PaddleOCR学习(一)PaddleOCR安装与测试

Original: https://blog.csdn.net/weixin_42708301/article/details/119864744
Author: 鲸落于北
Title: PaddleOCR学习(一)PaddleOCR安装与测试

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/672353/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球