README_en.md 7.1 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
lilithzhou 已提交
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

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

L
lilithzhou 已提交
46
* 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 已提交
47 48

<div align="center">
L
lilithzhou 已提交
49
<img src="./docs/images/wx_group.png"  width = "200" />
W
weishengyu 已提交
50 51
</div>

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

## Tutorials

W
weishengyu 已提交
57 58
- [Quick Installatiopn](./docs/en/tutorials/install_en.md)
- [Quick Start of Recognition](./docs/en/tutorials/quick_start_recognition_en.md)
W
weishengyu 已提交
59 60
- [Introduction to Image Recognition Systems](#Introduction_to_Image_Recognition_Systems)
- [Demo images](#Demo_images)
W
weishengyu 已提交
61
- Algorithms Introduction
W
weishengyu 已提交
62
    - [Backbone Network and Pre-trained Model Library](./docs/en/ImageNet_models.md)
L
littletomatodonkey 已提交
63
    - [Mainbody Detection](./docs/en/application/mainbody_detection_en.md)
W
weishengyu 已提交
64 65 66 67 68 69
    - [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 已提交
70
    - [Vector Search](./deploy/vector_search/README.md)
L
lilithzhou 已提交
71
- Models Training/Evaluation
W
weishengyu 已提交
72
    - [Image Classification](./docs/en/tutorials/getting_started_en.md)
W
weishengyu 已提交
73
    - [Feature Learning](./docs/en/tutorials/getting_started_retrieval_en.md)
W
weishengyu 已提交
74
- Inference Model Prediction
W
weishengyu 已提交
75
    - [Python Inference](./docs/en/inference.md)
W
weishengyu 已提交
76 77 78 79 80
    - [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 已提交
81
- Advanced Tutorial
W
weishengyu 已提交
82 83 84
    - [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 已提交
85 86 87
- [License](#License)
- [Contribution](#Contribution)

W
weishengyu 已提交
88
<a name="Introduction_to_Image_Recognition_Systems"></a>
L
lilithzhou 已提交
89
## Introduction to Image Recognition Systems
W
weishengyu 已提交
90

L
lilithzhou 已提交
91 92 93
<div align="center">
<img src="./docs/images/structure.png"  width = "400" />
</div>
W
weishengyu 已提交
94

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

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

W
weishengyu 已提交
102
<a name="Demo_images"></a>
103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
## Demo images [more](./docs/en/more_demo.md)
- Product recognition
<div align="center">
<img src="./docs/images/recognition/more_demo_images/output_product/channelhandle_5.jpg"  width = "400" />
</div>
<div align="center">
<img src="./docs/images/recognition/more_demo_images/output_product/daoxiangcunjinzhubing_10.jpg"  width = "400" />
</div>

- Cartoon character recognition
<div align="center">
<img src="./docs/images/recognition/more_demo_images/output_cartoon/labixiaoxin-005.jpeg"  width = "400" />
</div>
<div align="center">
<img src="./docs/images/recognition/more_demo_images/output_cartoon/liuchuanfeng-010.jpeg"  width = "400" />
</div>

- Logo recognition
<div align="center">
<img src="./docs/images/recognition/more_demo_images/output_logo/cctv_4.jpg"  width = "400" />
</div>
<div align="center">
<img src="./docs/images/recognition/more_demo_images/output_logo/mangguo_8.jpeg"  width = "400" />
</div>
W
weishengyu 已提交
127

128 129 130 131 132 133 134 135 136
- Car recognition
<div align="center">
<img src="./docs/images/recognition/more_demo_images/output_vehicle/audia5-115.jpeg"  width = "400" />
</div>
<div align="center">
<img src="./docs/images/recognition/more_demo_images/output_vehicle/bentian-yage-101.jpeg"  width = "400" />
</div>

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


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

L
lilithzhou 已提交
145

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