README_en.md 8.9 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">
W
weishengyu 已提交
10
<img src="./docs/images/class_simple_en.gif"  width = "600" />
W
weishengyu 已提交
11 12 13 14 15 16 17 18

PULC demo images
</div>
&nbsp;


<div align="center">
<img src="./docs/images/recognition.gif"  width = "400" />
W
weishengyu 已提交
19

W
weishengyu 已提交
20 21 22 23
PP-ShiTu demo images
</div>

**Recent updates**
W
Wei Shengyu 已提交
24
- 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 已提交
25
- 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 已提交
26

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

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

## Features

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


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

L
lilithzhou 已提交
43
## Welcome to Join the Technical Exchange Group
W
weishengyu 已提交
44

G
gaotingquan 已提交
45
* 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 已提交
46 47

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

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

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)
C
cuicheng01 已提交
61
- [Practical Ultra Light-weight image Classification solutions](./docs/en/PULC/PULC_train_en.md)
G
gaotingquan 已提交
62 63 64
  - [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 已提交
65
    - [PULC Recognition Model of Person Attribute](docs/en/PULC/PULC_person_attribute_en.md)
G
gaotingquan 已提交
66
    - [PULC Classification Model of Wearing or Unwearing Safety Helmet](docs/en/PULC/PULC_safety_helmet_en.md)
C
cuicheng01 已提交
67
    - [PULC Classification Model of Traffic Sign](docs/en/PULC/PULC_traffic_sign_en.md)
G
gaotingquan 已提交
68
    - [PULC Recognition Model of Vehicle Attribute](docs/en/PULC/PULC_vehicle_attribute_en.md)
G
gaotingquan 已提交
69 70
    - [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 已提交
71 72
    - [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 已提交
73
- [Quick Start of Recognition](./docs/en/quick_start/quick_start_recognition_en.md)
W
weishengyu 已提交
74
- [Introduction to Image Recognition Systems](#Introduction_to_Image_Recognition_Systems)
W
weishengyu 已提交
75 76
- [Image Recognition Demo images](#Rec_Demo_images)
- [PULC demo images](#Clas_Demo_images)
W
weishengyu 已提交
77
- Algorithms Introduction
W
weishengyu 已提交
78 79 80
    - [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 已提交
81 82
    - [Vector Search](./deploy/vector_search/README.md)
- Inference Model Prediction
W
weishengyu 已提交
83
    - [Python Inference](./docs/en/inference_deployment/python_deploy_en.md)
D
dongshuilong 已提交
84
    - [C++ Classfication Inference](./deploy/cpp/readme_en.md)[C++ PP-ShiTu Inference](deploy/cpp_shitu/readme_en.md)
W
weishengyu 已提交
85 86 87
- 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 已提交
88
    - [Inference Using whl](./docs/en/inference_deployment/whl_deploy_en.md)
L
lilithzhou 已提交
89
- Advanced Tutorial
W
weishengyu 已提交
90
    - [Knowledge Distillation](./docs/en/advanced_tutorials/distillation/distillation_en.md)
W
weishengyu 已提交
91 92
    - [Model Quantization](./docs/en/algorithm_introduction/model_prune_quantization_en.md)
    - [Data Augmentation](./docs/en/advanced_tutorials/DataAugmentation_en.md)
W
weishengyu 已提交
93 94 95
- [License](#License)
- [Contribution](#Contribution)

W
weishengyu 已提交
96 97 98 99 100 101 102 103
<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 已提交
104
<a name="Introduction_to_Image_Recognition_Systems"></a>
L
lilithzhou 已提交
105
## Introduction to Image Recognition Systems
W
weishengyu 已提交
106

L
lilithzhou 已提交
107
<div align="center">
W
weishengyu 已提交
108
<img src="./docs/images/structure.jpg"  width = "800" />
L
lilithzhou 已提交
109
</div>
W
weishengyu 已提交
110

L
lilithzhou 已提交
111 112 113 114
Image recognition can be divided into three steps:
- (1)Identify region proposal for target objects through a detection model;
- (2)Extract features for each region proposal;
- (3)Search features in the retrieval database and output results;
W
weishengyu 已提交
115

L
lilithzhou 已提交
116
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 已提交
117

W
weishengyu 已提交
118
<a name="Clas_Demo_images"></a>
W
weishengyu 已提交
119 120
## PULC demo images
<div align="center">
W
weishengyu 已提交
121
<img src="docs/images/classification_en.gif">
W
weishengyu 已提交
122 123 124 125
</div>

<a name="Rec_Demo_images"></a>
## Image Recognition Demo images [more](https://github.com/PaddlePaddle/PaddleClas/tree/release/2.2/docs/images/recognition/more_demo_images)
126 127
- Product recognition
<div align="center">
L
LaraStuStu 已提交
128
<img src="https://user-images.githubusercontent.com/18028216/122769644-51604f80-d2d7-11eb-8290-c53b12a5c1f6.gif"  width = "400" />
129 130 131 132
</div>

- Cartoon character recognition
<div align="center">
L
LaraStuStu 已提交
133
<img src="https://user-images.githubusercontent.com/18028216/122769746-6b019700-d2d7-11eb-86df-f1d710999ba6.gif"  width = "400" />
134 135 136 137
</div>

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

141 142
- Car recognition
<div align="center">
L
LaraStuStu 已提交
143
<img src="https://user-images.githubusercontent.com/18028216/122769916-8ec4dd00-d2d7-11eb-8c60-42d89e25030c.gif"  width = "400" />
144 145 146
</div>

<a name="License"></a>
L
lilithzhou 已提交
147 148
## 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 已提交
149 150 151 152 153 154


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

L
lilithzhou 已提交
155

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