2021-06-21 17:12:49 +08:00
|
|
|
|
简体中文 | [English](README_en.md)
|
|
|
|
|
|
|
|
|
|
# PaddleClas
|
|
|
|
|
|
|
|
|
|
## 简介
|
|
|
|
|
|
|
|
|
|
飞桨图像识别套件PaddleClas是飞桨为工业界和学术界所准备的一个图像识别任务的工具集,助力使用者训练出更好的视觉模型和应用落地。
|
|
|
|
|
|
|
|
|
|
**近期更新**
|
2021-11-01 14:52:15 +08:00
|
|
|
|
- 2021.10.31 发布[PP-ShiTu技术报告](./docs/PP_ShiTu.pdf),优化文档,新增饮料识别demo
|
2021-11-01 16:59:44 +08:00
|
|
|
|
- 2021.10.23 发布PP-ShiTu图像识别系统,新增轻量级检测、特征提取模型,速度提升800%,新增DeepHash模块,检索模块切换为faiss,支持PaddleServing和PaddleSlim。
|
|
|
|
|
[点击这里](./docs/zh_CN/quick_start/quick_start_recognition.md)立即体验
|
2021-11-01 16:47:21 +08:00
|
|
|
|
- 2021.09.17 增加PaddleClas自研PP-LCNet系列模型, 这些模型在Intel CPU上有较强的竞争力。PP-LCNet的介绍可以参考[论文](https://arxiv.org/pdf/2109.15099.pdf), 或者[PP-LCNet模型介绍](docs/zh_CN/models/PP-LCNet.md),相关指标和预训练权重可以从 [这里](docs/zh_CN/ImageNet_models_cn.md)下载。
|
2021-11-01 11:09:12 +08:00
|
|
|
|
- [more](./docs/zh_CN/others/update_history.md)
|
2021-06-21 17:12:49 +08:00
|
|
|
|
|
2021-11-01 16:47:21 +08:00
|
|
|
|
## 特性
|
2021-11-01 14:52:15 +08:00
|
|
|
|
|
2021-11-01 16:47:21 +08:00
|
|
|
|
- PP-ShiTu轻量图像识别系统:集成了目标检测、特征学习、图像检索等模块,广泛适用于各类图像识别任务。
|
2021-11-01 16:59:44 +08:00
|
|
|
|
笔记本cpu上200ms即可完成在10w+库的图像识别。
|
|
|
|
|
详细介绍见[PP-ShiTu: A Practical Lightweight Image Recognition System](./docs/PP_ShiTu.pdf)
|
2021-11-01 14:52:15 +08:00
|
|
|
|
|
2021-11-01 16:47:21 +08:00
|
|
|
|
- PP-LCNet轻量级CPU骨干网络:专门为CPU设备打造轻量级骨干网络,速度、精度均超越竞品。
|
2021-11-01 16:59:44 +08:00
|
|
|
|
详细介绍见[PP-LCNet: A Lightweight CPU Convolutional Neural Network](https://arxiv.org/pdf/2109.15099.pdf),
|
2021-11-01 16:47:21 +08:00
|
|
|
|
或者[PP-LCNet模型介绍](docs/zh_CN/models/PP-LCNet.md)。
|
2021-06-21 17:12:49 +08:00
|
|
|
|
|
2021-07-07 19:39:26 +08:00
|
|
|
|
- 丰富的预训练模型库:提供了35个系列共164个ImageNet预训练模型,其中6个精选系列模型支持结构快速修改。
|
2021-06-21 17:12:49 +08:00
|
|
|
|
|
|
|
|
|
- 全面易用的特征学习组件:集成arcmargin, triplet loss等12度量学习方法,通过配置文件即可随意组合切换。
|
|
|
|
|
|
|
|
|
|
- SSLD知识蒸馏:14个分类预训练模型,精度普遍提升3%以上;其中ResNet50_vd模型在ImageNet-1k数据集上的Top-1精度达到了84.0%,
|
|
|
|
|
Res2Net200_vd预训练模型Top-1精度高达85.1%。
|
|
|
|
|
|
|
|
|
|
- 数据增广:支持AutoAugment、Cutout、Cutmix等8种数据增广算法详细介绍、代码复现和在统一实验环境下的效果评估。
|
|
|
|
|
|
2021-11-01 16:47:21 +08:00
|
|
|
|
|
|
|
|
|
<div align="center">
|
|
|
|
|
<img src="./docs/images/recognition.gif" width = "400" />
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
2021-06-21 17:12:49 +08:00
|
|
|
|
## 欢迎加入技术交流群
|
|
|
|
|
|
|
|
|
|
* 您可以扫描下面的微信群二维码, 加入PaddleClas 微信交流群。获得更高效的问题答疑,与各行各业开发者充分交流,期待您的加入。
|
|
|
|
|
|
|
|
|
|
<div align="center">
|
2021-06-24 11:01:08 +08:00
|
|
|
|
<img src="./docs/images/wx_group.png" width = "200" />
|
2021-06-21 17:12:49 +08:00
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
## 快速体验
|
2021-11-01 16:59:44 +08:00
|
|
|
|
PP-ShiTu图像识别快速体验:[点击这里](./docs/zh_CN/quick_start/quick_start_recognition.md)
|
2021-06-21 17:12:49 +08:00
|
|
|
|
|
2021-11-02 09:49:04 +08:00
|
|
|
|
## 文档教程
|
2021-11-01 16:47:21 +08:00
|
|
|
|
- 安装说明
|
|
|
|
|
- [安装Paddle](./docs/zh_CN/installation/install_paddle.md)
|
|
|
|
|
- [安装PaddleClas](./docs/zh_CN/installation/install_paddleclas.md)
|
|
|
|
|
- 快速体验
|
2021-11-01 16:59:44 +08:00
|
|
|
|
- [PP-ShiTu图像识别快速体验](./docs/zh_CN/quick_start/quick_start_recognition.md)
|
2021-11-01 16:47:21 +08:00
|
|
|
|
- 图像分类快速体验
|
2021-11-01 02:04:23 +08:00
|
|
|
|
- [尝鲜版](./docs/zh_CN/quick_start/quick_start_classification_new_user.md)
|
2021-11-01 16:47:21 +08:00
|
|
|
|
- [进阶版](./docs/zh_CN/quick_start/quick_start_classification_professional.md)
|
|
|
|
|
- [PP-ShiTu图像识别系统介绍](#图像识别系统介绍)
|
|
|
|
|
- [主体检测](./docs/zh_CN/algorithm_introduction/mainbody_detection.md)
|
|
|
|
|
- [特征学习](./docs/zh_CN/algorithm_introduction/metric_learning.md)
|
|
|
|
|
- [向量检索](./deploy/vector_search/README.md)
|
|
|
|
|
- 数据准备
|
|
|
|
|
- [图像分类数据集介绍](./docs/zh_CN/data_preparation/classification_dataset.md)
|
|
|
|
|
- [图像识别数据集介绍](./docs/zh_CN/data_preparation/recognition_dataset.md)
|
|
|
|
|
- 模型训练
|
2021-11-01 11:09:12 +08:00
|
|
|
|
- [图像分类任务](./docs/zh_CN/models_training/classification.md)
|
2021-11-01 16:47:21 +08:00
|
|
|
|
- [图像识别任务](./docs/zh_CN/models_training/recognition.md)
|
|
|
|
|
- [训练参数调整策略](./docs/zh_CN/models_training/train_strategy.md)
|
|
|
|
|
- [配置文件说明](./docs/zh_CN/models_training/config_description.md)
|
|
|
|
|
- 模型预测部署
|
|
|
|
|
- [模型导出](./docs/zh_CN/inference_deployment/export_model.md)
|
|
|
|
|
- Python/C++ 预测引擎
|
|
|
|
|
- [基于Python预测引擎预测推理](./docs/zh_CN/inference_deployment/python_deploy.md)
|
|
|
|
|
- [基于C++预测引擎预测推理](./docs/zh_CN/inference_deployment/cpp_deploy.md)(当前只支持图像分类任务,图像识别更新中)
|
|
|
|
|
- 服务化部署
|
|
|
|
|
- [Paddle Serving服务化部署(推荐)](./docs/zh_CN/inference_deployment/paddle_serving_deploy.md)
|
|
|
|
|
- [Hub serving服务化部署](./docs/zh_CN/inference_deployment/paddle_hub_serving_deploy.md)
|
2021-06-21 17:12:49 +08:00
|
|
|
|
- [端侧部署](./deploy/lite/readme.md)
|
2021-11-01 11:09:12 +08:00
|
|
|
|
- [whl包预测](./docs/zh_CN/inference_deployment/whl_deploy.md)
|
2021-11-01 16:47:21 +08:00
|
|
|
|
- 算法介绍
|
|
|
|
|
- [图像分类任务介绍](./docs/zh_CN/algorithm_introduction/image_classification.md)
|
|
|
|
|
- [度量学习介绍](./docs/zh_CN/algorithm_introduction/metric_learning.md)
|
|
|
|
|
- [骨干网络和预训练模型库](./docs/zh_CN/algorithm_introduction/ImageNet_models.md)
|
2021-06-21 17:12:49 +08:00
|
|
|
|
- 高阶使用
|
2021-11-01 02:04:23 +08:00
|
|
|
|
- [数据增广](./docs/zh_CN/advanced_tutorials/DataAugmentation.md)
|
2021-11-01 16:47:21 +08:00
|
|
|
|
- [模型量化](./docs/zh_CN/advanced_tutorials/model_prune_quantization.md)
|
|
|
|
|
- [知识蒸馏](./docs/zh_CN/advanced_tutorials/knowledge_distillation.md)
|
|
|
|
|
- [PaddleClas结构解析](./docs/zh_CN/advanced_tutorials/code_overview.md)
|
|
|
|
|
- [社区贡献指南](./docs/zh_CN/advanced_tutorials/how_to_contribute.md)
|
2021-07-28 11:07:57 +08:00
|
|
|
|
- FAQ
|
2021-11-01 16:47:21 +08:00
|
|
|
|
- [图像识别精选问题](docs/zh_CN/faq_series/faq_2021_s2.md)
|
|
|
|
|
- [图像分类精选问题](docs/zh_CN/faq_series/faq.md)
|
|
|
|
|
- [图像分类FAQ第一季](docs/zh_CN/faq_series/faq_2020_s1.md)
|
|
|
|
|
- [图像分类FAQ第二季](docs/zh_CN/faq_series/faq_2021_s1.md)
|
2021-06-21 17:12:49 +08:00
|
|
|
|
- [许可证书](#许可证书)
|
|
|
|
|
- [贡献代码](#贡献代码)
|
|
|
|
|
|
2021-11-01 16:47:21 +08:00
|
|
|
|
<a name="图像识别系统介绍"></a>
|
|
|
|
|
## PP-ShiTu图像识别系统介绍
|
|
|
|
|
|
|
|
|
|
<div align="center">
|
|
|
|
|
<img src="./docs/images/structure.jpg" width = "800" />
|
|
|
|
|
</div>
|
|
|
|
|
|
2021-11-01 16:59:44 +08:00
|
|
|
|
PP-ShiTu图像识别系统分为三步:(1)通过一个目标检测模型,检测图像物体候选区域(2)对每个候选区域进行特征提取(3)与检索库中图像进行特征匹配,提取识别结果。
|
2021-11-01 16:47:21 +08:00
|
|
|
|
|
|
|
|
|
对于新的未知类别,无需重新训练模型,只需要在检索库补入该类别图像,重新建立检索库,就可以识别该类别。
|
|
|
|
|
|
2021-06-21 17:12:49 +08:00
|
|
|
|
<a name="识别效果展示"></a>
|
2021-06-21 22:11:47 +08:00
|
|
|
|
## 更多效果展示 [more](https://github.com/PaddlePaddle/PaddleClas/tree/release/2.2/docs/images/recognition/more_demo_images)
|
2021-11-01 01:31:57 +08:00
|
|
|
|
- 瓶装饮料识别
|
|
|
|
|
<div align="center">
|
|
|
|
|
<img src="docs/images/drink_demo.gif">
|
|
|
|
|
</div>
|
2021-11-01 01:33:23 +08:00
|
|
|
|
|
2021-06-21 17:12:49 +08:00
|
|
|
|
- 商品识别
|
|
|
|
|
<div align="center">
|
2021-06-21 21:28:39 +08:00
|
|
|
|
<img src="https://user-images.githubusercontent.com/18028216/122769644-51604f80-d2d7-11eb-8290-c53b12a5c1f6.gif" width = "400" />
|
2021-06-21 17:12:49 +08:00
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
- 动漫人物识别
|
|
|
|
|
<div align="center">
|
2021-06-21 21:28:39 +08:00
|
|
|
|
<img src="https://user-images.githubusercontent.com/18028216/122769746-6b019700-d2d7-11eb-86df-f1d710999ba6.gif" width = "400" />
|
2021-06-21 17:12:49 +08:00
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
- logo识别
|
|
|
|
|
<div align="center">
|
2021-06-21 21:28:39 +08:00
|
|
|
|
<img src="https://user-images.githubusercontent.com/18028216/122769837-7fde2a80-d2d7-11eb-9b69-04140e9d785f.gif" width = "400" />
|
2021-06-21 17:12:49 +08:00
|
|
|
|
</div>
|
|
|
|
|
|
2021-06-21 21:28:39 +08:00
|
|
|
|
|
2021-06-21 17:12:49 +08:00
|
|
|
|
- 车辆识别
|
|
|
|
|
<div align="center">
|
2021-06-21 21:28:39 +08:00
|
|
|
|
<img src="https://user-images.githubusercontent.com/18028216/122769916-8ec4dd00-d2d7-11eb-8c60-42d89e25030c.gif" width = "400" />
|
2021-06-21 17:12:49 +08:00
|
|
|
|
</div>
|
|
|
|
|
|
2021-06-21 21:28:39 +08:00
|
|
|
|
|
2021-06-21 17:12:49 +08:00
|
|
|
|
<a name="许可证书"></a>
|
|
|
|
|
|
|
|
|
|
## 许可证书
|
|
|
|
|
本项目的发布受<a href="https://github.com/PaddlePaddle/PaddleCLS/blob/master/LICENSE">Apache 2.0 license</a>许可认证。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a name="贡献代码"></a>
|
|
|
|
|
## 贡献代码
|
|
|
|
|
我们非常欢迎你为PaddleClas贡献代码,也十分感谢你的反馈。
|
2021-11-01 11:09:12 +08:00
|
|
|
|
如果想为PaddleCLas贡献代码,可以参考[贡献指南](./docs/zh_CN/advanced_tutorials/how_to_contribute.md)。
|
|
|
|
|
|
2021-06-21 17:12:49 +08:00
|
|
|
|
- 非常感谢[nblib](https://github.com/nblib)修正了PaddleClas中RandErasing的数据增广配置文件。
|
|
|
|
|
- 非常感谢[chenpy228](https://github.com/chenpy228)修正了PaddleClas文档中的部分错别字。
|
|
|
|
|
- 非常感谢[jm12138](https://github.com/jm12138)为PaddleClas添加ViT,DeiT系列模型和RepVGG系列模型。
|
|
|
|
|
- 非常感谢[FutureSI](https://aistudio.baidu.com/aistudio/personalcenter/thirdview/76563)对PaddleClas代码的解析与总结。
|