README_en.md 8.1 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 10 11 12 13 14 15 16 17 18
<div align="center">
<img src="./docs/images/class_simple.gif"  width = "600" />

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**
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 comparable with SwinTransformer. We also release 9 practical models covering pedestrian, vehicle and OCR.
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.
C
cuicheng01 已提交
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/ImageNet_models_en.md).
C
cuicheng01 已提交
29

littletomatodonkey's avatar
littletomatodonkey 已提交
30
- 2021.06.29 Add Swin-transformer 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/models/models_intro_en.md).
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 33 34 35
- [more](./docs/en/update_history_en.md)

## Features

W
weishengyu 已提交
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/173347904-f2998e00-7b86-4adf-b546-23c684fc67b9.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/tutorials/quick_start_recognition_en.md)
54
Quick experience of **P**ractical **U**ltra **L**ight-weight image **C**lassification models:[Link](docs/en/PULC/PULC_quickstart.md)
W
weishengyu 已提交
55 56 57

## Tutorials

B
Bin Lu 已提交
58
- [Quick Installation](./docs/en/tutorials/install_en.md)
59
- [Practical Ultra Light-weight image Classification solutions](./docs/en/PULC/PULC_quickstart_en.md)
W
weishengyu 已提交
60
- [Quick Start of Recognition](./docs/en/tutorials/quick_start_recognition_en.md)
W
weishengyu 已提交
61 62
- [Introduction to Image Recognition Systems](#Introduction_to_Image_Recognition_Systems)
- [Demo images](#Demo_images)
W
weishengyu 已提交
63
- Algorithms Introduction
C
cuicheng01 已提交
64
    - [Backbone Network and Pre-trained Model Library](./docs/en/ImageNet_models_en.md)
L
littletomatodonkey 已提交
65
    - [Mainbody Detection](./docs/en/application/mainbody_detection_en.md)
W
weishengyu 已提交
66 67 68 69 70 71
    - [Image Classification](./docs/en/tutorials/image_classification_en.md)
    - [Feature Learning](./docs/en/application/feature_learning_en.md)
        - [Product Recognition](./docs/en/application/product_recognition_en.md)
        - [Vehicle Recognition](./docs/en/application/vehicle_recognition_en.md)
        - [Logo Recognition](./docs/en/application/logo_recognition_en.md)
        - [Animation Character Recognition](./docs/en/application/cartoon_character_recognition_en.md)
W
weishengyu 已提交
72
    - [Vector Search](./deploy/vector_search/README.md)
L
lilithzhou 已提交
73
- Models Training/Evaluation
W
weishengyu 已提交
74
    - [Image Classification](./docs/en/tutorials/getting_started_en.md)
W
weishengyu 已提交
75
    - [Feature Learning](./docs/en/tutorials/getting_started_retrieval_en.md)
W
weishengyu 已提交
76
- Inference Model Prediction
W
weishengyu 已提交
77
    - [Python Inference](./docs/en/inference.md)
D
dongshuilong 已提交
78
    - [C++ Classfication Inference](./deploy/cpp/readme_en.md)[C++ PP-ShiTu Inference](deploy/cpp_shitu/readme_en.md)
W
weishengyu 已提交
79 80 81 82
- 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)
    - [Inference Using whl](./docs/en/whl_en.md)
L
lilithzhou 已提交
83
- Advanced Tutorial
W
weishengyu 已提交
84 85 86
    - [Knowledge Distillation](./docs/en/advanced_tutorials/distillation/distillation_en.md)
    - [Model Quantization](./docs/en/extension/paddle_quantization_en.md)
    - [Data Augmentation](./docs/en/advanced_tutorials/image_augmentation/ImageAugment_en.md)
W
weishengyu 已提交
87 88 89
- [License](#License)
- [Contribution](#Contribution)

W
weishengyu 已提交
90 91 92 93 94 95 96 97
<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 已提交
98
<a name="Introduction_to_Image_Recognition_Systems"></a>
L
lilithzhou 已提交
99
## Introduction to Image Recognition Systems
W
weishengyu 已提交
100

L
lilithzhou 已提交
101
<div align="center">
W
weishengyu 已提交
102
<img src="./docs/images/structure.jpg"  width = "800" />
L
lilithzhou 已提交
103
</div>
W
weishengyu 已提交
104

L
lilithzhou 已提交
105 106 107 108
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 已提交
109

L
lilithzhou 已提交
110
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 已提交
111

W
weishengyu 已提交
112 113 114 115 116 117 118
## PULC demo images
<div align="center">
<img src="docs/images/classification.gif">
</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)
119 120
- Product recognition
<div align="center">
L
LaraStuStu 已提交
121
<img src="https://user-images.githubusercontent.com/18028216/122769644-51604f80-d2d7-11eb-8290-c53b12a5c1f6.gif"  width = "400" />
122 123 124 125
</div>

- Cartoon character recognition
<div align="center">
L
LaraStuStu 已提交
126
<img src="https://user-images.githubusercontent.com/18028216/122769746-6b019700-d2d7-11eb-86df-f1d710999ba6.gif"  width = "400" />
127 128 129 130
</div>

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

134 135
- Car recognition
<div align="center">
L
LaraStuStu 已提交
136
<img src="https://user-images.githubusercontent.com/18028216/122769916-8ec4dd00-d2d7-11eb-8c60-42d89e25030c.gif"  width = "400" />
137 138 139
</div>

<a name="License"></a>
L
lilithzhou 已提交
140 141
## 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 已提交
142 143 144 145 146 147


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

L
lilithzhou 已提交
148

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