分享

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

 hncdman 2022-05-25 发布于湖南

鲸落于北

于 2021-08-23 14:20:56 发布

https://blog.csdn.net/weixin_42708301/article/details/119868531?spm=1001.2014.3001.5502(

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

1

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

pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple

1

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

pip install paddlepaddle-gpu

1

然后是安装shapely,但是需要先从https://www.lfd./~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

1

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

pip install -r requirements.txt

1

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

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

  

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

二、试用官方的模型

完成PaddleOCR安装之后,推荐先用官方模型对自己的数据进行下测试看看效果,官方预训练模型的下载地址为:

https://github.com/PaddlePaddle/PaddleOCR/blob/develop/README_ch.md

  

这里有必要解释一下,推理模型相当于训练完成的模型,直接拿来就可以进行predict;而预训练模型属于半成品,用于进一步的训练,之后用自己的数据训练模型时需要用到预训练模型。所以这里应该先下载推理模型。

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

  

接下来就可以准备开始测试自己的图片了,官方也给出了快速开始的教程:

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文件夹下:

  

这里面,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"

1

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

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

—————

  

———————————

版权声明:本文为CSDN博主「鲸落于北」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/weixin_42708301/article/details/119864744

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多