README_en.md 10.4 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

W
weishengyu 已提交
9
<div align="center">
H
HydrogenSulfate 已提交
10 11
<img src="./docs/images/recognition.gif"  width = "400" />
<p>PP-ShiTuV2 demo images</p>
W
weishengyu 已提交
12
</div>
H
HydrogenSulfate 已提交
13

W
weishengyu 已提交
14 15 16


<div align="center">
H
HydrogenSulfate 已提交
17
<img src="./docs/images/class_simple_en.gif"  width = "600" />
W
weishengyu 已提交
18

H
HydrogenSulfate 已提交
19
PULC demo images
W
weishengyu 已提交
20 21
</div>

H
HydrogenSulfate 已提交
22 23


W
weishengyu 已提交
24
**Recent updates**
H
HydrogenSulfate 已提交
25
- 🔥️ 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 已提交
26
- 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 已提交
27
- 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 已提交
28

T
Tingquan Gao 已提交
29
- 2021.09.17 Add PP-LCNet series model developed by PaddleClas, these models show strong competitiveness on Intel CPUs.
W
weishengyu 已提交
30
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 已提交
31

W
weishengyu 已提交
32
- 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 已提交
33
- 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 已提交
34
- [more](./docs/en/others/update_history_en.md)
W
weishengyu 已提交
35 36 37

## Features

G
gaotingquan 已提交
38 39
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.
40
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 已提交
41 42


W
weishengyu 已提交
43
![](https://user-images.githubusercontent.com/19523330/173539361-68cf7ab1-7e3b-4e5e-b00f-1500719bd2a2.png)
D
dyning 已提交
44

L
lilithzhou 已提交
45
## Welcome to Join the Technical Exchange Group
W
weishengyu 已提交
46

G
gaotingquan 已提交
47
* 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 已提交
48 49

<div align="center">
G
gaotingquan 已提交
50 51
<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 已提交
52 53
</div>

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

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

## Tutorials

W
weishengyu 已提交
61 62
- [Install Paddle](./docs/en/installation/install_paddle_en.md)
- [Install PaddleClas Environment](./docs/en/installation/install_paddleclas_en.md)
H
HydrogenSulfate 已提交
63
- [PP-ShiTuV2 Image Recognition Systems Introduction](./docs/en/PPShiTu/PPShiTuV2_introduction.md)
H
HydrogenSulfate 已提交
64 65 66 67 68 69 70 71 72 73 74
  - Submodule Introduction and Model Training
    - [Mainbody Detection](./docs/zh_CN/image_recognition_pipeline/mainbody_detection.md)
    - [Feature Extraction](./docs/en/image_recognition_pipeline/feature_extraction_en.md)
    - [Vector Search](./docs/en/image_recognition_pipeline/vector_search_en.md)
    - [Hash Encoding](./docs/zh_CN/image_recognition_pipeline/deep_hashing.md)
  - 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)
    - [Shitu Gallery Manager Tool](docs/zh_CN/inference_deployment/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)
W
weishengyu 已提交
87
- [Quick Start of Recognition](./docs/en/quick_start/quick_start_recognition_en.md)
W
weishengyu 已提交
88
- [Introduction to Image Recognition Systems](#Introduction_to_Image_Recognition_Systems)
W
weishengyu 已提交
89 90
- [Image Recognition Demo images](#Rec_Demo_images)
- [PULC demo images](#Clas_Demo_images)
W
weishengyu 已提交
91
- Algorithms Introduction
W
weishengyu 已提交
92 93 94
    - [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 已提交
95 96
    - [Vector Search](./deploy/vector_search/README.md)
- Inference Model Prediction
W
weishengyu 已提交
97
    - [Python Inference](./docs/en/inference_deployment/python_deploy_en.md)
D
dongshuilong 已提交
98
    - [C++ Classfication Inference](./deploy/cpp/readme_en.md)[C++ PP-ShiTu Inference](deploy/cpp_shitu/readme_en.md)
W
weishengyu 已提交
99 100 101
- 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 已提交
102
    - [Inference Using whl](./docs/en/inference_deployment/whl_deploy_en.md)
L
lilithzhou 已提交
103
- Advanced Tutorial
W
weishengyu 已提交
104
    - [Knowledge Distillation](./docs/en/advanced_tutorials/distillation/distillation_en.md)
W
weishengyu 已提交
105 106
    - [Model Quantization](./docs/en/algorithm_introduction/model_prune_quantization_en.md)
    - [Data Augmentation](./docs/en/advanced_tutorials/DataAugmentation_en.md)
W
weishengyu 已提交
107 108 109
- [License](#License)
- [Contribution](#Contribution)

W
weishengyu 已提交
110 111 112 113 114 115 116 117
<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 已提交
118
<a name="Introduction_to_Image_Recognition_Systems"></a>
L
lilithzhou 已提交
119
## Introduction to Image Recognition Systems
W
weishengyu 已提交
120

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

H
HydrogenSulfate 已提交
125
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 已提交
126
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 已提交
127

H
HydrogenSulfate 已提交
128 129 130 131 132
<a name="Rec_Demo_images"></a>
## PP-ShiTuV2 Demo images

- Drinks recognition

W
weishengyu 已提交
133
<div align="center">
H
HydrogenSulfate 已提交
134
<img src="docs/images/drink_demo.gif">
W
weishengyu 已提交
135 136
</div>

H
HydrogenSulfate 已提交
137

138
- Product recognition
H
HydrogenSulfate 已提交
139

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

H
HydrogenSulfate 已提交
144

145
- Cartoon character recognition
H
HydrogenSulfate 已提交
146

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

H
HydrogenSulfate 已提交
151

152
- Logo recognition
H
HydrogenSulfate 已提交
153

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

H
HydrogenSulfate 已提交
158 159


160
- Car recognition
H
HydrogenSulfate 已提交
161

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

H
HydrogenSulfate 已提交
166 167 168 169 170 171 172 173

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


174
<a name="License"></a>
L
lilithzhou 已提交
175 176
## 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 已提交
177 178 179 180 181 182


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

L
lilithzhou 已提交
183

W
weishengyu 已提交
184 185 186
- 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 已提交
187
- Thank [FutureSI](https://aistudio.baidu.com/aistudio/personalcenter/thirdview/76563) to parse and summarize the PaddleClas code.