Skip to content

A treasure chest for visual classification and recognition powered by PaddlePaddle

License

Notifications You must be signed in to change notification settings

EmmonsCurse/PaddleClas

 
 

Repository files navigation

简体中文 | English

PaddleClas

Introduction

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.

PULC demo images

 

PP-ShiTu demo images

Recent updates

  • 2022.6.15 Release Practical Ultra Light-weight image Classification solutions. 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.

  • 2022.4.21 Added the related code of the CVPR2022 oral paper MixFormer.

  • 2021.09.17 Add PP-LCNet series model developed by PaddleClas, these models show strong competitiveness on Intel CPUs. For the introduction of PP-LCNet, please refer to paper or PP-LCNet model introduction. The metrics and pretrained model are available here.

  • 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.

  • 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.

  • more

Features

PaddleClas release PP-HGNet、PP-LCNetv2、 PP-LCNet and Simple Semi-supervised Label Distillation algorithms, and support plenty of image classification and image recognition algorithms. Based on th algorithms above, PaddleClas release PP-ShiTu image recognition system and Practical Ultra Light-weight image Classification solutions.

Welcome to Join the Technical Exchange Group

  • 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.

Quick Start

Quick experience of PP-ShiTu image recognition system:Link

Quick experience of Practical Ultra Light-weight image Classification models:Link

Tutorials

Introduction to Practical Ultra Light-weight image Classification solutions

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.

Introduction to Image Recognition Systems

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;

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.

PULC demo images

Image Recognition Demo images more

  • Product recognition
  • Cartoon character recognition
  • Logo recognition
  • Car recognition

License

PaddleClas is released under the Apache 2.0 license Apache 2.0 license

Contribution

Contributions are highly welcomed and we would really appreciate your feedback!!

  • Thank nblib to fix bug of RandErasing.
  • Thank chenpy228 to fix some typos PaddleClas.
  • Thank jm12138 to add ViT, DeiT models and RepVGG models into PaddleClas.
  • Thank FutureSI to parse and summarize the PaddleClas code.

About

A treasure chest for visual classification and recognition powered by PaddlePaddle

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 78.2%
  • C++ 11.8%
  • Shell 8.4%
  • CMake 1.1%
  • Other 0.5%