README_en.md 9.0 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)
61
- [Practical Ultra Light-weight image Classification solutions](./docs/en/PULC/PULC_quickstart_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)
G
gaotingquan 已提交
67
    - [PULC Classification Model of Traffic Sing](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/tutorials/quick_start_recognition_en.md)
W
weishengyu 已提交
74
- [Quick Start of Recognition](./docs/en/quick_start/quick_start_recognition_en.md)
W
weishengyu 已提交
75
- [Introduction to Image Recognition Systems](#Introduction_to_Image_Recognition_Systems)
W
weishengyu 已提交
76 77
- [Image Recognition Demo images](#Rec_Demo_images)
- [PULC demo images](#Clas_Demo_images)
W
weishengyu 已提交
78
- Algorithms Introduction
W
weishengyu 已提交
79 80 81
    - [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 已提交
82 83
    - [Vector Search](./deploy/vector_search/README.md)
- Inference Model Prediction
W
weishengyu 已提交
84
    - [Python Inference](./docs/en/inference_deployment/python_deploy_en.md)
D
dongshuilong 已提交
85
    - [C++ Classfication Inference](./deploy/cpp/readme_en.md)[C++ PP-ShiTu Inference](deploy/cpp_shitu/readme_en.md)
W
weishengyu 已提交
86 87 88
- 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 已提交
89
    - [Inference Using whl](./docs/en/inference_deployment/whl_deploy_en.md)
L
lilithzhou 已提交
90
- Advanced Tutorial
W
weishengyu 已提交
91
    - [Knowledge Distillation](./docs/en/advanced_tutorials/distillation/distillation_en.md)
W
weishengyu 已提交
92 93
    - [Model Quantization](./docs/en/algorithm_introduction/model_prune_quantization_en.md)
    - [Data Augmentation](./docs/en/advanced_tutorials/DataAugmentation_en.md)
W
weishengyu 已提交
94 95 96
- [License](#License)
- [Contribution](#Contribution)

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

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

L
lilithzhou 已提交
112 113 114 115
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 已提交
116

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

W
weishengyu 已提交
119
<a name="Clas_Demo_images"></a>
W
weishengyu 已提交
120 121
## PULC demo images
<div align="center">
W
weishengyu 已提交
122
<img src="docs/images/classification_en.gif">
W
weishengyu 已提交
123 124 125 126
</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)
127 128
- Product recognition
<div align="center">
L
LaraStuStu 已提交
129
<img src="https://user-images.githubusercontent.com/18028216/122769644-51604f80-d2d7-11eb-8290-c53b12a5c1f6.gif"  width = "400" />
130 131 132 133
</div>

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

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

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

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


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

L
lilithzhou 已提交
156

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