PaddlePaddle 开源产业级文档印章识别PaddleX-Pipeline “seal_recognition”模型 开箱即用篇(一)

AI时代到来,各行各业都在追求细分领域垂直类深度学习模型,今天给大家介绍一个PaddlePaddle旗下,基于PaddleX Pipeline 来完成印章识别的模型"seal_recognition"。

官方地址:https://github.com/PaddlePaddle/PaddleX/blob/release/3.0-beta1/docs/pipeline_usage/tutorials/ocr_pipelines/seal_recognition.md

下面开始在本地使用PaddleX:

一、安装Python:

推荐使用conda(可选)。

Python版本:3.8.19(推荐版本)。

二、安装CUDA

无论运行pytorch、tensflow还是paddlepaddle等深度学习框架,均推荐在GPU上进行推理。若要使用GPU进行推理,请在安装CUDA前提前更新好本机的显卡驱动。

CUDA版本:11.8(推荐)

CUDA参考地址:https://developer.nvidia.com/cuda-11-8-0-download-archive

三、安装PaddlePaddle

既然我们想使用PaddlePaddle深度学习框架旗下的Pipeline,那肯定要提前安装好PaddlePaddle深度学习框架。

PaddlePaddle版本:3.0.0-beta2

PaddlePaddle参考地址:飞桨PaddlePaddle-源于产业实践的开源深度学习平台

至此,我们的基础环境已经安装完成,接下来就可以开始进行使用Pipeline了。

四、获取PaddleX

PaddleX是什么?引用官方介绍:

PaddleX 3.0 是基于飞桨框架构建的低代码开发工具,它集成了众多开箱即用的预训练模型 ,可以实现模型从训练到推理的全流程开发 ,支持国内外多款主流硬件,助力AI 开发者进行产业实践。

模型丰富一键调用 :将覆盖文本图像智能分析、OCR、目标检测、时序预测等多个关键领域的 200+ 飞桨模型 整合为 19 条模型产线 ,通过极简的 Python API 一键调用,快速体验模型效果。同时支持 20+ 单功能模块,方便开发者进行模型组合使用。

官方地址:GitHub - PaddlePaddle/PaddleX: All-in-One Development Tool based on PaddlePaddle(飞桨低代码开发工具)

简单来说,就是PaddlePaddle研发出来的一套开箱即用产品的底座,安装了PaddleX后,就可以通过几行命令来完成不同的任务,比如几行命令完成目标检测,几行命令完成文字识别等。

安装PaddleX的几种方式:

一、Wheel包安装模式:

若你只是希望快速完成模型的推理和集成,那么推荐您使用更便捷更轻量的Wheel包安装模式。快速安装轻量级的Wheel包之后,您即可基于PaddleX支持的所有模型进行推理,并能直接集成进您的项目中。

pip install https://paddle-model-ecology.bj.bcebos.com/paddlex/whl/paddlex-3.0.0b1-py3-none-any.whl

二、插件安装模式:

若您使用PaddleX的应用场景为二次开发 (例如重新训练模型、微调模型、自定义模型结构、自定义推理代码等),那么推荐您使用功能更加强大的插件安装模式。

安装您需要的PaddleX插件之后,您不仅同样能够对插件支持的模型进行推理与集成,还可以对其进行模型训练等二次开发更高级的操作。

git clone https://github.com/PaddlePaddle/PaddleX.git

cd PaddleX

pip install -e .

paddlex --install PaddleXXX # 例如PaddleOCR

五、基于PaddleX安装第一个插件:PaddleOCR

paddlex --install PaddleOCR

六、几行代码完成快速推理(调用文心一言大模型、默认不可修改,需要Access_token,按需付费。 若无需大语言模型,看查看第七条推理方式):

python 复制代码
````
        from paddlex import create_pipeline

        pipeline = create_pipeline(
            pipeline="PP-ChatOCRv3-doc",
            llm_name="ernie-3.5",
            llm_params={"api_type": "qianfan", "ak": "", "sk": ""} # 使用千帆接口,请填入您的ak与sk,否则无法调用大模型
            # llm_params={"api_type": "aistudio", "access_token": ""} # 或者使用AIStudio接口,请填入您的access_token,否则无法调用大模型
            )

        visual_result, visual_info = pipeline.visual_predict("https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/doc_images/practical_tutorial/PP-ChatOCRv3_doc_seal/test.png")

        for res in visual_result:
            res.save_to_img("./output")
            res.save_to_html('./output')
            res.save_to_xlsx('./output')

        vector = pipeline.build_vector(visual_info=visual_info)
        chat_result = pipeline.chat(
            key_list=["印章名称"],
            visual_info=visual_info,
            vector=vector,
            )
        chat_result.print()
    ````

七、几行代码完成快速推理(无需大预言模型,支持本地化部署):

python 复制代码
 ````
        from paddlex import create_pipeline

        pipeline = create_pipeline(pipeline="seal_recognition")

        output = pipeline.predict("./test_images/1387.jpg")
        for res in output:
            res.print() ## 打印预测的结构化输出
            res.save_to_img("./output_images/") ## 保存可视化结果
    ````

八、查看结果

写在最后:下一章节,完成印章识别"seal_recognition"模型的微调与训练。

相关推荐
西猫雷婶3 小时前
CNN卷积计算
人工智能·神经网络·cnn
white-persist4 小时前
Python实例方法与Python类的构造方法全解析
开发语言·前端·python·原型模式
Java 码农4 小时前
Centos7 maven 安装
java·python·centos·maven
格林威4 小时前
常规线扫描镜头有哪些类型?能做什么?
人工智能·深度学习·数码相机·算法·计算机视觉·视觉检测·工业镜头
倔强青铜三5 小时前
苦练Python第63天:零基础玩转TOML配置读写,tomllib模块实战
人工智能·python·面试
浔川python社5 小时前
《网络爬虫技术规范与应用指南系列》(xc—3):合规实操与场景落地
python
B站计算机毕业设计之家6 小时前
智慧交通项目:Python+YOLOv8 实时交通标志系统 深度学习实战(TT100K+PySide6 源码+文档)✅
人工智能·python·深度学习·yolo·计算机视觉·智慧交通·交通标志
高工智能汽车6 小时前
棱镜观察|极氪销量遇阻?千里智驾左手服务吉利、右手对标华为
人工智能·华为
IT森林里的程序猿6 小时前
基于机器学习方法的网球比赛胜负趋势预测
python·机器学习·django
txwtech6 小时前
第6篇 OpenCV RotatedRect如何判断矩形的角度
人工智能·opencv·计算机视觉