diff --git a/README_ch.md b/README_ch.md index 7beb9889e..858a4416e 100644 --- a/README_ch.md +++ b/README_ch.md @@ -13,15 +13,13 @@ ## 📣 近期更新 -- **💥 直播预告:11.1-11.3日每晚8点半**,PaddleClas研发团队详解PP-ShituV2优化策略与真实产业应用。微信扫描下方二维码,关注公众号并填写问卷后进入官方交流群,获取直播链接与20G重磅图像分类学习大礼包(内含20+数据集、4个垂类模型、70+前沿论文集合) +- **🔥2024.10.1 发布PaddleClas release/2.6**: + * 飞桨一站式全流程开发工具PaddleX,依托于PaddleClas的先进技术,支持了图像分类和图像检索领域的**一站式全流程**开发能力: + * 🎨 [**模型丰富一键调用**](docs/zh_CN/paddlex/quick_start.md):将通用图像分类、图像多标签分类、通用图像识别、人脸识别涉及的**98个模型**整合为6条模型产线,通过极简的**Python API一键调用**,快速体验模型效果。此外,同一套API,也支持目标检测、图像分割、文本图像智能分析、通用OCR、时序预测等共计**200+模型**,形成20+单功能模块,方便开发者进行**模型组合使用**。 + * 🚀 [**提高效率降低门槛**](docs/zh_CN/paddlex/overview.md):提供基于**统一命令**和**图形界面**两种方式,实现模型简洁高效的使用、组合与定制。支持**高性能部署、服务化部署和端侧部署**等多种部署方式。此外,对于各种主流硬件如**英伟达GPU、昆仑芯、昇腾、寒武纪和海光**等,进行模型开发时,都可以**无缝切换**。 + * 新增图像分类算法[**MobileNetV4、StarNet、FasterNet**](https://github.com/PaddlePaddle/PaddleX/blob/release/3.0-beta1/docs/module_usage/tutorials/cv_modules/image_classification.md) -
- -
- -- 2022.9.14 发布**商超零售新革命-生鲜智能结算产业应用**范例 - -- **🔥️ 2022.9.13 发布超轻量图像识别系统[PP-ShiTuV2](docs/zh_CN/models/PP-ShiTu/README.md):** +- 2022.9.13 发布超轻量图像识别系统[PP-ShiTuV2](docs/zh_CN/models/PP-ShiTu/README.md): - recall1精度提升8个点,覆盖商品识别、垃圾分类、航拍场景等[20+识别场景](docs/zh_CN/deployment/PP-ShiTu/application_scenarios.md), - 新增[库管理工具](./deploy/shitu_index_manager/),[Android Demo](./docs/zh_CN/quick_start/quick_start_recognition.md)全新体验。 @@ -45,6 +43,7 @@ PaddleClas支持多种前沿图像分类、识别相关算法,发布产业级 ## ⚡ 快速开始 +- [一键调用92个PaddleClas核心模型](docs/zh_CN/paddlex/quick_start.md) - PULC超轻量图像分类方案快速体验:[点击这里](docs/zh_CN/quick_start/PULC.md) - PP-ShiTu图像识别快速体验:[点击这里](./docs/zh_CN/quick_start/quick_start_recognition.md) - PP-ShiTuV2 Android Demo APP,可扫描如下二维码,下载体验 @@ -53,17 +52,7 @@ PaddleClas支持多种前沿图像分类、识别相关算法,发布产业级 -## 👫 开源社区 - -* **📑项目合作:** 如果您是企业开发者且有明确的图像分类应用需求,填写[问卷](https://paddle.wjx.cn/vm/hnGOjfn.aspx# )后可免费与官方团队展开不同层次的合作。 -* **👫加入社区:** 微信扫描二维码并填写问卷之后,加入交流群领取**20G重磅图像分类学习大礼包**,内含 - * **20+场景数据库**,包括各类商品、动植物、航拍图像等数据集 - * 场景应用**模型集合**:包括人员出入管理、生鲜品识别、商品识别等 - * **70+前沿图像分类与识别论文**、历次发版课程视频、PPT与优质社区项目等 - -
- -
+## 🔥 [一站式全流程开发](docs/zh_CN/paddlex/overview.md) ## 🛠️ PP系列模型列表 diff --git a/docs/zh_CN/paddlex/overview.md b/docs/zh_CN/paddlex/overview.md new file mode 100644 index 000000000..82929734d --- /dev/null +++ b/docs/zh_CN/paddlex/overview.md @@ -0,0 +1,156 @@ + +## 目录 +- [简介](#1) +- [快速开始](#2) +- [模型产线列表和教程](#3) +- [单功能模块列表和教程](#4) +- [国产化硬件能力支持](#5) + + + +## 1. 简介 + +飞桨一站式全流程开发工具[PaddleX](https://github.com/PaddlePaddle/PaddleX/tree/release/3.0-beta1),依托于PaddleClas的先进技术,支持了图像分类和图像检索领域的**一站式全流程**开发能力。通过一站式全流程开发,可实现简单且高效的模型使用、组合与定制。这将显著**减少模型开发的时间消耗**,**降低其开发难度**,大大加快模型在行业中的应用和推广速度。特色如下: + +* 🎨 **模型丰富一键调用**:将通用图像分类、图像多标签分类、通用图像识别、人脸识别涉及的**98个模型**整合为6条模型产线,通过极简的**Python API一键调用**,快速体验模型效果。此外,同一套API,也支持目标检测、图像分割、文本图像智能分析、通用OCR、时序预测等共计**200+模型**,形成20+单功能模块,方便开发者进行**模型组合使用**。 + +* 🚀 **提高效率降低门槛**:提供基于**统一命令**和**图形界面**两种方式,实现模型简洁高效的使用、组合与定制。支持**高性能部署、服务化部署和端侧部署**等多种部署方式。此外,对于各种主流硬件如**英伟达GPU、昆仑芯、昇腾、寒武纪和海光**等,进行模型开发时,都可以**无缝切换**。 + +>**说明**:PaddleX 致力于实现产线级别的模型训练、推理与部署。模型产线是指一系列预定义好的、针对特定AI任务的开发流程,其中包含能够独立完成某类任务的单模型(单功能模块)组合。 + + + +## 2. [快速开始](./quick_start.md) + + + +## 3. 模型产线列表和教程 + +- **通用图像分类产线**: [使用教程](https://github.com/PaddlePaddle/PaddleX/blob/release/3.0-beta1/docs/pipeline_usage/tutorials/cv_pipelines/image_classification.md) +- **图像多标签分类产线**: [使用教程](https://github.com/PaddlePaddle/PaddleX/blob/release/3.0-beta1/docs/pipeline_usage/tutorials/cv_pipelines/image_multi_label_classification.md) +- **通用图像识别产线** (coming soon) +- **人脸识别产线** (coming soon) +- **行人属性识别产线** (coming soon) +- **车辆属性识别产线** (coming soon) + + + +## 4. 单功能模块列表和教程 + +- **图像分类模块**: [使用教程](https://github.com/PaddlePaddle/PaddleX/blob/release/3.0-beta1/docs/module_usage/tutorials/cv_modules/image_classification.md) +- **图像多标签分类模块**: [使用教程](https://github.com/PaddlePaddle/PaddleX/blob/release/3.0-beta1/docs/module_usage/tutorials/cv_modules/ml_classification.md) +- **图像特征模块**: [使用教程](https://github.com/PaddlePaddle/PaddleX/blob/release/3.0-beta1/docs/module_usage/tutorials/cv_modules/image_feature.md) +- **主体检测模块**: [使用教程](https://github.com/PaddlePaddle/PaddleX/blob/release/3.0-beta1/docs/module_usage/tutorials/cv_modules/mainbody_detection.md) +- **人脸检测模块**: [使用教程](https://github.com/PaddlePaddle/PaddleX/blob/release/3.0-beta1/docs/module_usage/tutorials/cv_modules/face_detection.md) +- **行人检测模块**: [使用教程](https://github.com/PaddlePaddle/PaddleX/blob/release/3.0-beta1/docs/module_usage/tutorials/cv_modules/human_detection.md) +- **行人属性识别模块**: [使用教程](https://github.com/PaddlePaddle/PaddleX/blob/release/3.0-beta1/docs/module_usage/tutorials/cv_modules/pedestrian_attribute_recognition.md) +- **车辆检测模块**: [使用教程](https://github.com/PaddlePaddle/PaddleX/blob/release/3.0-beta1/docs/module_usage/tutorials/cv_modules/vehicle_detection.md) +- **车辆属性识别模块**: [使用教程](https://github.com/PaddlePaddle/PaddleX/blob/release/3.0-beta1/docs/module_usage/tutorials/cv_modules/vehicle_attribute_recognition.md) + + + +## 5. 能力支持 + +PaddleX中图像分类和图像检索的6条产线均支持本地**快速推理**,部分产线支持**在线体验**,您可以快速体验各个产线的预训练模型效果,如果您对产线的预训练模型效果满意,可以直接对产线进行[高性能部署](https://github.com/PaddlePaddle/PaddleX/blob/release/3.0-beta1/docs/pipeline_deploy/high_performance_deploy.md)/[服务化部署](https://github.com/PaddlePaddle/PaddleX/blob/release/3.0-beta1/docs/pipeline_deploy/service_deploy.md)/[端侧部署](https://github.com/PaddlePaddle/PaddleX/blob/release/3.0-beta1/docs/pipeline_deploy/lite_deploy.md),如果不满意,您也可以使用产线的**二次开发**能力,提升效果。完整的产线开发流程请参考[PaddleX产线使用概览](https://github.com/PaddlePaddle/PaddleX/blob/release/3.0-beta1/docs/pipeline_usage/pipeline_develop_guide.md)或各产线使用教程。 + +此外,PaddleX为开发者提供了基于[云端图形化开发界面](https://aistudio.baidu.com/pipeline/mine)的全流程开发工具, 详细请参考[教程《零门槛开发产业级AI模型》](https://aistudio.baidu.com/practical/introduce/546656605663301) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
在线体验快速推理高性能部署服务化部署端侧部署二次开发星河零代码产线
通用图像分类链接
图像多标签分类🚧🚧🚧
通用图像识别🚧🚧🚧🚧🚧🚧🚧
人脸识别🚧🚧🚧🚧🚧🚧🚧
行人属性识别🚧🚧🚧🚧🚧🚧🚧
车辆属性识别🚧🚧🚧🚧🚧🚧🚧
+ + + +> ❗注:以上功能均基于GPU/CPU实现。PaddleX还可在昆仑、昇腾、寒武纪和海光等主流硬件上进行快速推理和二次开发。下表详细列出了模型产线的支持情况,具体支持的模型列表请参阅 [模型列表(NPU)](https://github.com/PaddlePaddle/PaddleX/blob/release/3.0-beta1/docs/support_list/model_list_npu.md) // [模型列表(XPU)](https://github.com/PaddlePaddle/PaddleX/blob/release/3.0-beta1/docs/support_list/model_list_xpu.md) // [模型列表(MLU)](https://github.com/PaddlePaddle/PaddleX/blob/release/3.0-beta1/docs/support_list/model_list_mlu.md) // [模型列表DCU](https://github.com/PaddlePaddle/PaddleX/blob/release/3.0-beta1/docs/support_list/model_list_dcu.md)。同时我们也在适配更多的模型,并在主流硬件上推动高性能和服务化部署的实施。 + + +**🚀 国产化硬件能力支持** + + + + + + + + + + + + + + + + +
产线名称昇腾 910B昆仑 R200/R300寒武纪 MLU370X8海光 Z100
通用图像分类
diff --git a/docs/zh_CN/paddlex/quick_start.md b/docs/zh_CN/paddlex/quick_start.md new file mode 100644 index 000000000..035115f47 --- /dev/null +++ b/docs/zh_CN/paddlex/quick_start.md @@ -0,0 +1,124 @@ +# 快速开始 + +>**说明:** +>* 飞桨一站式全流程开发工具[PaddleX](https://github.com/PaddlePaddle/PaddleX/tree/release/3.0-beta1),依托于PaddleClas的先进技术,支持了图像分类和图像检索领域的**一站式全流程**开发能力。通过一站式全流程开发,可实现简单且高效的模型使用、组合与定制,详细请参考[PaddleClas一站式全流程开发概览](./overview.md)。 +>* PaddleX 致力于实现产线级别的模型训练、推理与部署。模型产线是指一系列预定义好的、针对特定AI任务的开发流程,其中包含能够独立完成某类任务的单模型(单功能模块)组合。本文档提供**图像分类和图像检索相关产线**的快速使用方式,单功能模块的快速使用请参考[相关模块教程](#-更多)中的**快速集成**教程。 + + +### 🛠️ 安装 + +> ❗安装PaddleX前请先确保您有基础的**Python运行环境**。 +* **安装PaddlePaddle** +```bash +# cpu +python -m pip install paddlepaddle + +# gpu,该命令仅适用于 CUDA 版本为 11.8 的机器环境 + python -m pip install paddlepaddle-gpu==3.0.0b1 -i https://www.paddlepaddle.org.cn/packages/stable/cu118/ + +# gpu,该命令仅适用于 CUDA 版本为 12.3 的机器环境 + python -m pip install paddlepaddle-gpu==3.0.0b1 -i https://www.paddlepaddle.org.cn/packages/stable/cu123/ +``` +> ❗ 更多飞桨 Wheel 版本请参考[飞桨官网](https://www.paddlepaddle.org.cn/install/quick?docurl=/documentation/docs/zh/install/pip/linux-pip.html)。 + +* **安装PaddleX** + +```bash +pip install https://paddle-model-ecology.bj.bcebos.com/paddlex/whl/paddlex-3.0.0.beta1-py3-none-any.whl +``` + +> ❗ 更多安装方式参考[PaddleX安装教程](./installation/installation.md) +### 💻 命令行使用 + +一行命令即可快速体验产线效果,统一的命令行格式为: + +```bash +paddlex --pipeline [产线名称] --input [输入图片] --device [运行设备] +``` + +只需指定三个参数: +* `pipeline`:产线名称 +* `input`:待处理的输入图片的本地路径或URL +* `device`: 使用的GPU序号(例如`gpu:0`表示使用第0块GPU),也可选择使用CPU(`cpu`) + + +以通用OCR产线为例: +```bash +paddlex --pipeline OCR --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_ocr_002.png --device gpu:0 +``` +
+ 👉 点击查看运行结果 + +```bash +{'img_path': '/root/.paddlex/predict_input/general_ocr_002.png', 'dt_polys': [[[5, 12], [88, 10], [88, 29], [5, 31]], [[208, 14], [249, 14], [249, 22], [208, 22]], [[695, 15], [824, 15], [824, 60], [695, 60]], [[158, 27], [355, 23], [356, 70], [159, 73]], [[421, 25], [659, 19], [660, 59], [422, 64]], [[337, 104], [460, 102], [460, 127], [337, 129]], [[486, 103], [650, 100], [650, 125], [486, 128]], [[675, 98], [835, 94], [835, 119], [675, 124]], [[64, 114], [192, 110], [192, 131], [64, 134]], [[210, 108], [318, 106], [318, 128], [210, 130]], [[82, 140], [214, 138], [214, 163], [82, 165]], [[226, 136], [328, 136], [328, 161], [226, 161]], [[404, 134], [432, 134], [432, 161], [404, 161]], [[509, 131], [570, 131], [570, 158], [509, 158]], [[730, 138], [771, 138], [771, 154], [730, 154]], [[806, 136], [817, 136], [817, 146], [806, 146]], [[342, 175], [470, 173], [470, 197], [342, 199]], [[486, 173], [616, 171], [616, 196], [486, 198]], [[677, 169], [813, 166], [813, 191], [677, 194]], [[65, 181], [170, 177], [171, 202], [66, 205]], [[96, 208], [171, 205], [172, 230], [97, 232]], [[336, 220], [476, 215], [476, 237], [336, 242]], [[507, 217], [554, 217], [554, 236], [507, 236]], [[87, 229], [204, 227], [204, 251], [87, 254]], [[344, 240], [483, 236], [483, 258], [344, 262]], [[66, 252], [174, 249], [174, 271], [66, 273]], [[75, 279], [264, 272], [265, 297], [76, 303]], [[459, 297], [581, 295], [581, 320], [459, 322]], [[101, 314], [210, 311], [210, 337], [101, 339]], [[68, 344], [165, 340], [166, 365], [69, 368]], [[345, 350], [662, 346], [662, 368], [345, 371]], [[100, 459], [832, 444], [832, 465], [100, 480]]], 'dt_scores': [0.8183103704439653, 0.7609575621092027, 0.8662357274035412, 0.8619508290334809, 0.8495855993183273, 0.8676840017933314, 0.8807986687956436, 0.822308525056085, 0.8686617037621976, 0.8279022169854463, 0.952332847006758, 0.8742692553015098, 0.8477013022907575, 0.8528771493227294, 0.7622965906848765, 0.8492388224448705, 0.8344203789965632, 0.8078477124353284, 0.6300434587457232, 0.8359967356998494, 0.7618617265751318, 0.9481573079350023, 0.8712182945408912, 0.837416955846334, 0.8292475059403851, 0.7860382856406026, 0.7350527486717117, 0.8701022267947695, 0.87172526903969, 0.8779847108088126, 0.7020437651809734, 0.6611684983372949], 'rec_text': ['www.997', '151', 'PASS', '登机牌', 'BOARDING', '舱位 CLASS', '序号SERIALNO.', '座位号SEATNO', '航班 FLIGHT', '日期DATE', 'MU 2379', '03DEC', 'W', '035', 'F', '1', '始发地FROM', '登机口 GATE', '登机时间BDT', '目的地TO', '福州', 'TAIYUAN', 'G11', 'FUZHOU', '身份识别IDNO.', '姓名NAME', 'ZHANGQIWEI', '票号TKTNO.', '张祺伟', '票价FARE', 'ETKT7813699238489/1', '登机口于起飞前10分钟关闭GATESCLOSE1OMINUTESBEFOREDEPARTURETIME'], 'rec_score': [0.9617719054222107, 0.4199012815952301, 0.9652514457702637, 0.9978302121162415, 0.9853208661079407, 0.9445787072181702, 0.9714463949203491, 0.9841841459274292, 0.9564052224159241, 0.9959094524383545, 0.9386572241783142, 0.9825271368026733, 0.9356589317321777, 0.9985442161560059, 0.3965512812137604, 0.15236201882362366, 0.9976775050163269, 0.9547433257102966, 0.9974752068519592, 0.9646636843681335, 0.9907559156417847, 0.9895358681678772, 0.9374122023582458, 0.9909093379974365, 0.9796401262283325, 0.9899340271949768, 0.992210865020752, 0.9478569626808167, 0.9982215762138367, 0.9924325942993164, 0.9941263794898987, 0.96443772315979]} +...... +``` + +可视化结果如下: + +![alt text](./imgs/boardingpass.png) + +
+ +其他产线的命令行使用,只需将`pipeline`参数调整为相应产线的名称。下面列出了每个产线对应的命令: + + +| 产线名称 | 使用命令 | +|-----------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| 文档场景信息抽取 | | +| 通用图像分类 | `paddlex --pipeline image_classification --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_image_classification_001.jpg --device gpu:0` | +| 通用OCR | `paddlex --pipeline OCR --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_ocr_002.png --device gpu:0` | +| 通用表格识别 | `paddlex --pipeline table_recognition --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/table_recognition.jpg --device gpu:0` | + + +### 📝 Python脚本使用 + +几行代码即可完成产线的快速推理,统一的Python脚本格式如下: +```python +from paddlex import create_pipeline + +pipeline = create_pipeline(pipeline=[产线名称]) +output = pipeline.predict([输入图片名称]) +for batch in output: + for item in batch: + res = item['result'] + res.print() + res.save_to_img("./output/") + res.save_to_json("./output/") +``` +执行了如下几个步骤: + +* `create_pipeline()` 实例化产线对象 +* 传入图片并调用产线对象的`predict` 方法进行推理预测 +* 对预测结果进行处理 + +其他产线的Python脚本使用,只需将`create_pipeline()`方法的`pipeline`参数调整为相应产线的名称。下面列出了每个产线对应的参数名称及详细的使用解释: + +| 产线名称 | 对应参数 | 详细说明 | +|----------|----------------------|------| +| 通用OCR产线 | `OCR` | [通用OCR产线Python脚本使用说明](./pipeline_usage/OCR.md#222-python脚本方式集成) | +| 通用表格识别产线 | `table_recognition` | [通用表格识别产线Python脚本使用说明](./pipeline_usage/table_recognition.md#22-python脚本方式集成) | +| PP-ChatOCRv3产线 | `pp_chatocrv3` | [PP-ChatOCRv3产线Python脚本使用说明](./pipeline_usage/document_scene_information_extraction.md#222-python脚本方式集成) | + +## 🌟 更多 +PaddleX的各个产线均支持**在线体验**和本地**快速推理**,您可以快速体验各个产线的预训练效果,如果您对产线的预训练效果满意,可以直接对产线进行[高性能部署](./pipeline_deploy/high_performance_deploy.md)/[服务化部署](./pipeline_deploy/service_deploy.md)/[端侧部署](./pipeline_deploy/lite_deploy.md),如果不满意,您也可以对产线进行**二次开发**提升产线效果。完整的产线开发流程请参考[PaddleX模型产线使用概览](./pipeline_usage/pipeline_develop_guide.md)。 + +此外,PaddleX为OCR相关的每个产线和单功能模块都提供了详细的开发教程,您可以根据需要选择对应的产线或模块进行开发: + +产线列表: + +* [通用OCR产线使用教程](./pipeline_usage/OCR.md) +* [通用表格识别产线使用教程](./pipeline_usage/table_recognition.md) +* [文档场景信息抽取v3产线使用教程](./pipeline_usage/document_scene_information_extraction.md) + + +单功能模块: + +* [文本检测模块使用教程](./module_usage/text_detection.md) +* [文本识别模块使用教程](./module_usage/text_recognition.md) +* [公式识别模块使用教程](./module_usage/formula_recognition.md) +* [表格结构识别模块使用教程](./module_usage/table_structure_recognition.md) +* [文本图像矫正模块使用教程](./module_usage/text_image_unwarping.md) +* [印章文本检测模块使用教程](./module_usage/seal_text_detection.md) +* [版面区域检测模块使用教程](./module_usage/layout_detection.md) +* [文档图像方向分类模块使用教程](./module_usage/doc_img_orientation_classification.md) \ No newline at end of file