README_en.md 10.8 KB
Newer Older
L
littletomatodonkey 已提交
1
[简体中文](README_ch.md) | English
W
weishengyu 已提交
2 3 4 5 6

# PaddleClas

## Introduction

W
weishengyu 已提交
7
PaddleClas is an image classification and image recognition toolset for industry and academia, helping users train better computer vision models and apply them in real scenarios.
W
weishengyu 已提交
8

qq_25193841's avatar
qq_25193841 已提交
9 10 11 12 13 14 15 16
<div align="center">
<img src="https://user-images.githubusercontent.com/50011306/201870645-63319203-9730-44fc-8e2e-054aad164461.gif"  width = "600" />
<p>PP-ShiTuV2</p>
</div>
<div align="center">
<img src="./docs/images/class_simple_en.gif"  width = "600" />
<p>PULC: Practical Ultra Light-weight image Classification solutions</p>
</div>
H
HydrogenSulfate 已提交
17

qq_25193841's avatar
qq_25193841 已提交
18
## 📣 Recent updates
W
weishengyu 已提交
19

H
HydrogenSulfate 已提交
20
- 🔥️ Release [PP-ShiTuV2](./docs/en/PPShiTu/PPShiTuV2_introduction.md), recall1 is improved by nearly 8 points, covering 20+ recognition scenarios, with [index management tool](./deploy/shitu_index_manager) and [Android Demo](./docs/en/quick_start/quick_start_recognition_en.md) for better experience.
W
Wei Shengyu 已提交
21
- 2022.6.15 Release [**P**ractical **U**ltra **L**ight-weight image **C**lassification solutions](./docs/en/PULC/PULC_quickstart_en.md). PULC models inference within 3ms on CPU devices, with accuracy on par with SwinTransformer. We also release 9 practical classification models covering pedestrian, vehicle and OCR scenario.
C
cuicheng01 已提交
22
- 2022.4.21 Added the related [code](https://github.com/PaddlePaddle/PaddleClas/pull/1820/files) of the CVPR2022 oral paper [MixFormer](https://arxiv.org/pdf/2204.02557.pdf).
C
cuicheng01 已提交
23

T
Tingquan Gao 已提交
24
- 2021.09.17 Add PP-LCNet series model developed by PaddleClas, these models show strong competitiveness on Intel CPUs.
W
weishengyu 已提交
25
For the introduction of PP-LCNet, please refer to [paper](https://arxiv.org/pdf/2109.15099.pdf) or [PP-LCNet model introduction](docs/en/models/PP-LCNet_en.md). The metrics and pretrained model are available [here](docs/en/algorithm_introduction/ImageNet_models_en.md).
C
cuicheng01 已提交
26

W
weishengyu 已提交
27
- 2021.06.29 Add [Swin-transformer](docs/en/models/SwinTransformer_en.md)) series model,Highest top1 acc on ImageNet1k dataset reaches 87.2%, training, evaluation and inference are all supported. Pretrained models can be downloaded [here](docs/en/algorithm_introduction/ImageNet_models_en.md#16).
C
cuicheng01 已提交
28
- 2021.06.16 PaddleClas release/2.2. Add metric learning and vector search modules. Add product recognition, animation character recognition, vehicle recognition and logo recognition. Added 30 pretrained models of LeViT, Twins, TNT, DLA, HarDNet, and RedNet, and the accuracy is roughly the same as that of the paper.
W
weishengyu 已提交
29
- [more](./docs/en/others/update_history_en.md)
W
weishengyu 已提交
30

qq_25193841's avatar
qq_25193841 已提交
31
## 🌟 Features
W
weishengyu 已提交
32

qq_25193841's avatar
qq_25193841 已提交
33
PaddleClas release PP-HGNet、PP-LCNetv2、 PP-LCNet and **S**imple **S**emi-supervised **L**abel **D**istillation algorithms, and support plenty of image classification and image recognition algorithms.Based on th algorithms above, PaddleClas release PP-ShiTu image recognition system and [**P**ractical **U**ltra **L**ight-weight image **C**lassification solutions](docs/en/PULC/PULC_quickstart_en.md).
W
weishengyu 已提交
34 35


D
dongshuilong 已提交
36
![](https://user-images.githubusercontent.com/11568925/189268878-43d9d35b-90cf-425a-859e-767f8d94c5f7.png)
D
dyning 已提交
37

L
lilithzhou 已提交
38
## Welcome to Join the Technical Exchange Group
W
weishengyu 已提交
39

G
gaotingquan 已提交
40
* You can also scan the QR code below to join the PaddleClas QQ group and WeChat group (add and replay "C") to get more efficient answers to your questions and to communicate with developers from all walks of life. We look forward to hearing from you.
W
weishengyu 已提交
41 42

<div align="center">
G
gaotingquan 已提交
43 44
<img src="https://user-images.githubusercontent.com/80816848/164383225-e375eb86-716e-41b4-a9e0-4b8a3976c1aa.jpg" width="200"/>
<img src="https://user-images.githubusercontent.com/48054808/160531099-9811bbe6-cfbb-47d5-8bdb-c2b40684d7dd.png" width="200"/>
W
weishengyu 已提交
45 46
</div>

L
littletomatodonkey 已提交
47
## Quick Start
W
weishengyu 已提交
48
Quick experience of PP-ShiTu image recognition system:[Link](./docs/en/quick_start/quick_start_recognition_en.md)
W
weishengyu 已提交
49

H
HydrogenSulfate 已提交
50 51 52 53 54
<div align="center">
<img src="./docs/images/quick_start/android_demo/PPShiTu_qrcode.png"  width = "40%" />
<p>PP-ShiTuV2 Android Demo</p>
</div>

W
weishengyu 已提交
55
Quick experience of **P**ractical **U**ltra **L**ight-weight image **C**lassification models:[Link](docs/en/PULC/PULC_quickstart_en.md)
W
weishengyu 已提交
56 57 58

## Tutorials

W
weishengyu 已提交
59 60
- [Install Paddle](./docs/en/installation/install_paddle_en.md)
- [Install PaddleClas Environment](./docs/en/installation/install_paddleclas_en.md)
H
HydrogenSulfate 已提交
61
- [PP-ShiTuV2 Image Recognition Systems Introduction](./docs/en/PPShiTu/PPShiTuV2_introduction.md)
H
HydrogenSulfate 已提交
62
  - [Image Recognition Quick Start](docs/en/quick_start/quick_start_recognition_en.md)
T
Tingquan Gao 已提交
63
  - [20+ application scenarios](docs/zh_CN/deployment/PP-ShiTu/application_scenarios.md)
H
HydrogenSulfate 已提交
64
  - Submodule Introduction and Model Training
T
Tingquan Gao 已提交
65
    - [Mainbody Detection](docs/zh_CN/training/PP-ShiTu/mainbody_detection.md)
H
HydrogenSulfate 已提交
66 67
    - [Feature Extraction](./docs/en/image_recognition_pipeline/feature_extraction_en.md)
    - [Vector Search](./docs/en/image_recognition_pipeline/vector_search_en.md)
T
Tingquan Gao 已提交
68
    - [Hash Encoding](docs/zh_CN/training/PP-ShiTu/deep_hashing.md)
H
HydrogenSulfate 已提交
69 70 71 72 73
  - PipeLine Inference and Deployment
    - [Python Inference](docs/en/inference_deployment/python_deploy_en.md)
    - [C++ Inference](deploy/cpp_shitu/readme_en.md)
    - [Serving Deployment](docs/en/inference_deployment/recognition_serving_deploy_en.md)
    - [Lite Deployment](docs/en/inference_deployment/paddle_lite_deploy_en.md)
T
Tingquan Gao 已提交
74
    - [Shitu Gallery Manager Tool](docs/zh_CN/deployment/PP-ShiTu/gallery_manager.md)
C
cuicheng01 已提交
75
- [Practical Ultra Light-weight image Classification solutions](./docs/en/PULC/PULC_train_en.md)
G
gaotingquan 已提交
76 77 78
  - [PULC Quick Start](docs/en/PULC/PULC_quickstart_en.md)
  - [PULC Model Zoo](docs/en/PULC/PULC_model_list_en.md)
    - [PULC Classification Model of Someone or Nobody](docs/en/PULC/PULC_person_exists_en.md)
G
gaotingquan 已提交
79
    - [PULC Recognition Model of Person Attribute](docs/en/PULC/PULC_person_attribute_en.md)
G
gaotingquan 已提交
80
    - [PULC Classification Model of Wearing or Unwearing Safety Helmet](docs/en/PULC/PULC_safety_helmet_en.md)
C
cuicheng01 已提交
81
    - [PULC Classification Model of Traffic Sign](docs/en/PULC/PULC_traffic_sign_en.md)
G
gaotingquan 已提交
82
    - [PULC Recognition Model of Vehicle Attribute](docs/en/PULC/PULC_vehicle_attribute_en.md)
G
gaotingquan 已提交
83 84
    - [PULC Classification Model of Containing or Uncontaining Car](docs/en/PULC/PULC_car_exists_en.md)
    - [PULC Classification Model of Text Image Orientation](docs/en/PULC/PULC_text_image_orientation_en.md)
G
gaotingquan 已提交
85 86
    - [PULC Classification Model of Textline Orientation](docs/en/PULC/PULC_textline_orientation_en.md)
    - [PULC Classification Model of Language](docs/en/PULC/PULC_language_classification_en.md)
C
cuicheng01 已提交
87 88 89 90
- PP Series Backbone
    - [PP-HGNet](docs/en/models/PP-HGNet_en.md)
    - [PP-LCNet](docs/en/models/PP-LCNet_en.md)
    - [PP-LCNetv2](docs/en/models/PP-LCNetv2_en.md)
W
weishengyu 已提交
91
- [Introduction to Image Recognition Systems](#Introduction_to_Image_Recognition_Systems)
W
weishengyu 已提交
92 93
- [Image Recognition Demo images](#Rec_Demo_images)
- [PULC demo images](#Clas_Demo_images)
W
weishengyu 已提交
94
- Algorithms Introduction
W
weishengyu 已提交
95 96 97
    - [Backbone Network and Pre-trained Model Library](./docs/en/algorithm_introduction/ImageNet_models_en.md)
    - [Mainbody Detection](./docs/en/image_recognition_pipeline/mainbody_detection_en.md)
    - [Feature Learning](./docs/en/image_recognition_pipeline/feature_extraction_en.md)
W
weishengyu 已提交
98 99
    - [Vector Search](./deploy/vector_search/README.md)
- Inference Model Prediction
W
weishengyu 已提交
100
    - [Python Inference](./docs/en/inference_deployment/python_deploy_en.md)
C
cuicheng01 已提交
101
    - [C++ Classfication Inference](./deploy/cpp/readme_en.md)
W
weishengyu 已提交
102 103 104
- Model Deploy (only support classification for now, recognition coming soon)
    - [Hub Serving Deployment](./deploy/hubserving/readme_en.md)
    - [Mobile Deployment](./deploy/lite/readme_en.md)
W
weishengyu 已提交
105
    - [Inference Using whl](./docs/en/inference_deployment/whl_deploy_en.md)
L
lilithzhou 已提交
106
- Advanced Tutorial
W
weishengyu 已提交
107
    - [Knowledge Distillation](./docs/en/advanced_tutorials/distillation/distillation_en.md)
W
weishengyu 已提交
108 109
    - [Model Quantization](./docs/en/algorithm_introduction/model_prune_quantization_en.md)
    - [Data Augmentation](./docs/en/advanced_tutorials/DataAugmentation_en.md)
W
weishengyu 已提交
110 111 112
- [License](#License)
- [Contribution](#Contribution)

W
weishengyu 已提交
113 114 115 116 117 118 119 120
<a name="Introduction_to_PULC"></a>
## Introduction to Practical Ultra Light-weight image Classification solutions
<div align="center">
<img src="https://user-images.githubusercontent.com/19523330/173011854-b10fcd7a-b799-4dfd-a1cf-9504952a3c44.png"  width = "800" />
</div>
PULC solutions consists of PP-LCNet light-weight backbone, SSLD pretrained models, Ensemble of Data Augmentation strategy and SKL-UGI knowledge distillation.
PULC models inference within 3ms on CPU devices, with accuracy comparable with SwinTransformer. We also release 9 practical models covering pedestrian, vehicle and OCR.

W
weishengyu 已提交
121
<a name="Introduction_to_Image_Recognition_Systems"></a>
L
lilithzhou 已提交
122
## Introduction to Image Recognition Systems
W
weishengyu 已提交
123

L
lilithzhou 已提交
124
<div align="center">
W
weishengyu 已提交
125
<img src="./docs/images/structure.jpg"  width = "800" />
L
lilithzhou 已提交
126
</div>
W
weishengyu 已提交
127

H
HydrogenSulfate 已提交
128
PP-ShiTuV2 is a practical lightweight general image recognition system, which is mainly composed of three modules: mainbody detection model, feature extraction model and vector search tool. The system adopts a variety of strategies including backbone network, loss function, data augmentations, optimal hyperparameters, pre-training model, model pruning and quantization. Compared to V1, PP-ShiTuV2, Recall1 is improved by nearly 8 points. For more details, please refer to [PP-ShiTuV2 introduction](./docs/en/PPShiTu/PPShiTuV2_introduction.md).
L
lilithzhou 已提交
129
For a new unknown category, there is no need to retrain the model, just prepare images of new category, extract features and update retrieval database and the category can be recognised.
W
weishengyu 已提交
130

H
HydrogenSulfate 已提交
131 132 133 134 135
<a name="Rec_Demo_images"></a>
## PP-ShiTuV2 Demo images

- Drinks recognition

W
weishengyu 已提交
136
<div align="center">
H
HydrogenSulfate 已提交
137
<img src="docs/images/drink_demo.gif">
W
weishengyu 已提交
138 139
</div>

H
HydrogenSulfate 已提交
140

141
- Product recognition
H
HydrogenSulfate 已提交
142

143
<div align="center">
L
LaraStuStu 已提交
144
<img src="https://user-images.githubusercontent.com/18028216/122769644-51604f80-d2d7-11eb-8290-c53b12a5c1f6.gif"  width = "400" />
145 146
</div>

H
HydrogenSulfate 已提交
147

148
- Cartoon character recognition
H
HydrogenSulfate 已提交
149

150
<div align="center">
L
LaraStuStu 已提交
151
<img src="https://user-images.githubusercontent.com/18028216/122769746-6b019700-d2d7-11eb-86df-f1d710999ba6.gif"  width = "400" />
152 153
</div>

H
HydrogenSulfate 已提交
154

155
- Logo recognition
H
HydrogenSulfate 已提交
156

157
<div align="center">
L
LaraStuStu 已提交
158
<img src="https://user-images.githubusercontent.com/18028216/122769837-7fde2a80-d2d7-11eb-9b69-04140e9d785f.gif"  width = "400" />
159
</div>
W
weishengyu 已提交
160

H
HydrogenSulfate 已提交
161 162


163
- Car recognition
H
HydrogenSulfate 已提交
164

165
<div align="center">
L
LaraStuStu 已提交
166
<img src="https://user-images.githubusercontent.com/18028216/122769916-8ec4dd00-d2d7-11eb-8c60-42d89e25030c.gif"  width = "400" />
167 168
</div>

H
HydrogenSulfate 已提交
169 170 171 172 173 174 175 176

<a name="Clas_Demo_images"></a>
## PULC demo images
<div align="center">
<img src="docs/images/classification_en.gif">
</div>


177
<a name="License"></a>
L
lilithzhou 已提交
178 179
## License
PaddleClas is released under the Apache 2.0 license <a href="https://github.com/PaddlePaddle/PaddleCLS/blob/master/LICENSE">Apache 2.0 license</a>
W
weishengyu 已提交
180 181 182 183 184 185


<a name="Contribution"></a>
## Contribution
Contributions are highly welcomed and we would really appreciate your feedback!!

L
lilithzhou 已提交
186

W
weishengyu 已提交
187 188 189
- Thank [nblib](https://github.com/nblib) to fix bug of RandErasing.
- Thank [chenpy228](https://github.com/chenpy228) to fix some typos PaddleClas.
- Thank [jm12138](https://github.com/jm12138) to add ViT, DeiT models and RepVGG models into PaddleClas.
L
lilithzhou 已提交
190
- Thank [FutureSI](https://aistudio.baidu.com/aistudio/personalcenter/thirdview/76563) to parse and summarize the PaddleClas code.