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

# 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

L
littletomatodonkey 已提交
11
- 🔥🔥🔥: 2021.06.16 PaddleClas release/2.2.
L
lilithzhou 已提交
12 13
   - Add metric learning and vector search modules.
   - Add product recognition, animation character recognition, vehicle recognition and logo recognition.
W
weishengyu 已提交
14 15 16 17 18 19 20 21 22 23 24 25
   - 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, whose Top-1 Acc on ImageNet-1k dataset reaches 87.19%.

- 2021.04.15
   - Add `MixNet` and `ReXNet` pretrained models, `MixNet_L`'s Top-1 Acc on ImageNet-1k reaches 78.6% and `ReXNet_3_0` reaches 82.09%.

- [more](./docs/en/update_history_en.md)

## Features

L
lilithzhou 已提交
26 27
- 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 已提交
28

L
lilithzhou 已提交
29
- 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 已提交
30

L
lilithzhou 已提交
31
- 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 已提交
32

L
lilithzhou 已提交
33
- 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 已提交
34

L
lilithzhou 已提交
35
- 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 已提交
36

L
littletomatodonkey 已提交
37

W
weishengyu 已提交
38

L
lilithzhou 已提交
39 40 41 42
## Image Recognition System Effect Demonstration
<div align="center">
<img src="./docs/images/recognition.gif"  width = "400" />
</div>
W
weishengyu 已提交
43

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

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

L
lilithzhou 已提交
48
* 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 已提交
49 50

<div align="center">
W
weishengyu 已提交
51
<img src="./docs/images/wx_group.jpeg"  width = "200" />
W
weishengyu 已提交
52 53
</div>

L
littletomatodonkey 已提交
54
## Quick Start
L
littletomatodonkey 已提交
55
Quick experience of image recognition:[Link](./docs/en/tutorials/quick_start_recognition_en.md)
W
weishengyu 已提交
56 57 58

## Tutorials

B
Bin Lu 已提交
59
- [Quick Installation](./docs/en/tutorials/install_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
W
weishengyu 已提交
64
    - [Backbone Network and Pre-trained Model Library](./docs/en/ImageNet_models.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)
W
weishengyu 已提交
78 79 80 81 82
    - [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 已提交
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
<a name="Introduction_to_Image_Recognition_Systems"></a>
L
lilithzhou 已提交
91
## Introduction to Image Recognition Systems
W
weishengyu 已提交
92

L
lilithzhou 已提交
93
<div align="center">
L
littletomatodonkey 已提交
94
<img src="./docs/images/mainpage/recognition_pipeline_en.png"  width = "400" />
L
lilithzhou 已提交
95
</div>
W
weishengyu 已提交
96

L
lilithzhou 已提交
97 98 99 100
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 已提交
101

L
lilithzhou 已提交
102
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 已提交
103

W
weishengyu 已提交
104
<a name="Demo_images"></a>
105 106 107
## Demo images [more](./docs/en/more_demo.md)
- Product recognition
<div align="center">
B
Bin Lu 已提交
108
<img src="./docs/images/recognition/more_demo_images/output_product/channelhandle_5_en.jpg"  width = "400" />
109 110
</div>
<div align="center">
B
Bin Lu 已提交
111
<img src="./docs/images/recognition/more_demo_images/output_product/daoxiangcunjinzhubing_10_en.jpg"  width = "400" />
112 113 114 115
</div>

- Cartoon character recognition
<div align="center">
B
Bin Lu 已提交
116
<img src="./docs/images/recognition/more_demo_images/output_cartoon/labixiaoxin-005_en.jpeg"  width = "400" />
117 118
</div>
<div align="center">
B
Bin Lu 已提交
119
<img src="./docs/images/recognition/more_demo_images/output_cartoon/liuchuanfeng-010_en.jpeg"  width = "400" />
120 121 122 123
</div>

- Logo recognition
<div align="center">
B
Bin Lu 已提交
124
<img src="./docs/images/recognition/more_demo_images/output_logo/cctv_4_en.jpg"  width = "400" />
125 126
</div>
<div align="center">
B
Bin Lu 已提交
127
<img src="./docs/images/recognition/more_demo_images/output_logo/mangguo_8_en.jpeg"  width = "400" />
128
</div>
W
weishengyu 已提交
129

130 131
- Car recognition
<div align="center">
B
Bin Lu 已提交
132
<img src="./docs/images/recognition/more_demo_images/output_vehicle/audia5-115_en.jpeg"  width = "400" />
133 134
</div>
<div align="center">
B
Bin Lu 已提交
135
<img src="./docs/images/recognition/more_demo_images/output_vehicle/bentian-yage-101_en.jpeg"  width = "400" />
136 137 138
</div>

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


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

L
lilithzhou 已提交
147

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