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

# PaddleClas

## Introduction

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

L
lilithzhou 已提交
9
**Recent updates**
W
weishengyu 已提交
10

D
dyning 已提交
11 12 13
- 🔥🔥🔥: 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.
- 2021.05.14 Add `SwinTransformer` series pretrained models.
- 2021.04.15 Add MixNet and ReXNet pretrained models.
W
weishengyu 已提交
14 15 16 17
- [more](./docs/en/update_history_en.md)

## Features

L
lilithzhou 已提交
18 19
- A practical image recognition system consist of detection, feature learning and retrieval modules, widely applicable to all types of image recognition tasks.
Four sample solutions are provided, including product recognition, vehicle recognition, logo recognition and animation character recognition.
W
weishengyu 已提交
20

L
lilithzhou 已提交
21
- Rich library of pre-trained models: Provide a total of 164 ImageNet pre-trained models in 34 series, among which 6 selected series of models support fast structural modification.
W
weishengyu 已提交
22

L
lilithzhou 已提交
23
- Comprehensive and easy-to-use feature learning components: 12 metric learning methods are integrated and can be combined and switched at will through configuration files.
W
weishengyu 已提交
24

L
lilithzhou 已提交
25
- SSLD knowledge distillation: The 14 classification pre-training models generally improved their accuracy by more than 3%; among them, the ResNet50_vd model achieved a Top-1 accuracy of 84.0% on the Image-Net-1k dataset and the Res2Net200_vd pre-training model achieved a Top-1 accuracy of 85.1%.
W
weishengyu 已提交
26

L
lilithzhou 已提交
27
- Data augmentation: Provide 8 data augmentation algorithms such as AutoAugment, Cutout, Cutmix, etc.  with detailed introduction, code replication and evaluation of effectiveness in a unified experimental environment.
W
weishengyu 已提交
28

L
littletomatodonkey 已提交
29

W
weishengyu 已提交
30

L
lilithzhou 已提交
31 32
## Image Recognition System Effect Demonstration
<div align="center">
L
littletomatodonkey 已提交
33
<img src="./docs/images/recognition_en.gif"  width = "400" />
L
lilithzhou 已提交
34
</div>
W
weishengyu 已提交
35

D
dyning 已提交
36 37
For more effect pictures, please see [Demo images](./docs/en/more_demo.md).

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

L
lilithzhou 已提交
40
* You can also scan the QR code below to join the PaddleClas WeChat group 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">
W
weishengyu 已提交
43
<img src="./docs/images/wx_group.jpeg"  width = "200" />
W
weishengyu 已提交
44 45
</div>

L
littletomatodonkey 已提交
46
## Quick Start
L
littletomatodonkey 已提交
47
Quick experience of image recognition:[Link](./docs/en/tutorials/quick_start_recognition_en.md)
W
weishengyu 已提交
48 49 50

## Tutorials

B
Bin Lu 已提交
51
- [Quick Installation](./docs/en/tutorials/install_en.md)
W
weishengyu 已提交
52
- [Quick Start of Recognition](./docs/en/tutorials/quick_start_recognition_en.md)
W
weishengyu 已提交
53 54
- [Introduction to Image Recognition Systems](#Introduction_to_Image_Recognition_Systems)
- [Demo images](#Demo_images)
W
weishengyu 已提交
55
- Algorithms Introduction
W
weishengyu 已提交
56
    - [Backbone Network and Pre-trained Model Library](./docs/en/ImageNet_models.md)
L
littletomatodonkey 已提交
57
    - [Mainbody Detection](./docs/en/application/mainbody_detection_en.md)
W
weishengyu 已提交
58 59 60 61 62 63
    - [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 已提交
64
    - [Vector Search](./deploy/vector_search/README.md)
L
lilithzhou 已提交
65
- Models Training/Evaluation
W
weishengyu 已提交
66
    - [Image Classification](./docs/en/tutorials/getting_started_en.md)
W
weishengyu 已提交
67
    - [Feature Learning](./docs/en/tutorials/getting_started_retrieval_en.md)
W
weishengyu 已提交
68
- Inference Model Prediction
W
weishengyu 已提交
69
    - [Python Inference](./docs/en/inference.md)
W
weishengyu 已提交
70 71 72 73 74
    - [C++ Inference](./deploy/cpp/readme_en.md)(only support classification for now, recognition coming soon)
- 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 已提交
75
- Advanced Tutorial
W
weishengyu 已提交
76 77 78
    - [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 已提交
79 80 81
- [License](#License)
- [Contribution](#Contribution)

W
weishengyu 已提交
82
<a name="Introduction_to_Image_Recognition_Systems"></a>
L
lilithzhou 已提交
83
## Introduction to Image Recognition Systems
W
weishengyu 已提交
84

L
lilithzhou 已提交
85
<div align="center">
L
littletomatodonkey 已提交
86
<img src="./docs/images/mainpage/recognition_pipeline_en.png"  width = "400" />
L
lilithzhou 已提交
87
</div>
W
weishengyu 已提交
88

L
lilithzhou 已提交
89 90 91 92
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 已提交
93

L
lilithzhou 已提交
94
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 已提交
95

W
weishengyu 已提交
96
<a name="Demo_images"></a>
97 98 99
## Demo images [more](./docs/en/more_demo.md)
- Product recognition
<div align="center">
B
Bin Lu 已提交
100
<img src="./docs/images/recognition/more_demo_images/output_product/channelhandle_5_en.jpg"  width = "400" />
101 102
</div>
<div align="center">
B
Bin Lu 已提交
103
<img src="./docs/images/recognition/more_demo_images/output_product/daoxiangcunjinzhubing_10_en.jpg"  width = "400" />
104 105 106 107
</div>

- Cartoon character recognition
<div align="center">
B
Bin Lu 已提交
108
<img src="./docs/images/recognition/more_demo_images/output_cartoon/labixiaoxin-005_en.jpeg"  width = "400" />
109 110
</div>
<div align="center">
B
Bin Lu 已提交
111
<img src="./docs/images/recognition/more_demo_images/output_cartoon/liuchuanfeng-010_en.jpeg"  width = "400" />
112 113 114 115
</div>

- Logo recognition
<div align="center">
B
Bin Lu 已提交
116
<img src="./docs/images/recognition/more_demo_images/output_logo/cctv_4_en.jpg"  width = "400" />
117 118
</div>
<div align="center">
B
Bin Lu 已提交
119
<img src="./docs/images/recognition/more_demo_images/output_logo/mangguo_8_en.jpeg"  width = "400" />
120
</div>
W
weishengyu 已提交
121

122 123
- Car recognition
<div align="center">
B
Bin Lu 已提交
124
<img src="./docs/images/recognition/more_demo_images/output_vehicle/audia5-115_en.jpeg"  width = "400" />
125 126
</div>
<div align="center">
B
Bin Lu 已提交
127
<img src="./docs/images/recognition/more_demo_images/output_vehicle/bentian-yage-101_en.jpeg"  width = "400" />
128 129 130
</div>

<a name="License"></a>
L
lilithzhou 已提交
131 132
## 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 已提交
133 134 135 136 137 138


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

L
lilithzhou 已提交
139

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