CPPE - 5 (Medical Personal Protective Equipment) is a new challenging object detection dataset

Overview

CPPE - 5 Twitter

GitHub Repo stars PyPI Code style: black

CPPE - 5 (Medical Personal Protective Equipment) is a new challenging dataset with the goal to allow the study of subordinate categorization of medical personal protective equipments, which is not possible with other popular data sets that focus on broad level categories.

Accompanying paper: CPPE - 5: Medical Personal Protective Equipment Dataset

by Rishit Dagli and Ali Mustufa Shaikh.

Some features of this dataset are:

  • high quality images and annotations (~4.6 bounding boxes per image)
  • real-life images unlike any current such dataset
  • majority of non-iconic images (allowing easy deployment to real-world environments)
  • >15 pre-trained models in the model zoo availaible to directly use (also for mobile and edge devices)

Get the data

We strongly recommend you use either the downlaoder script or the Python package to download the dataset however you could also download and extract it manually.

Name Size Drive Bucket MD5 checksum
dataset.tar.gz ~230 MB Download Download f4e043f983cff94ef82ef7d57a879212

Downloader Script

The easiest way to download the dataset is to use the downloader script:

git clone https://github.com/Rishit-dagli/CPPE-Dataset.git
cd CPPE-Dataset
bash tools/download.sh

Python package

You can also use the Python package to get the dataset:

pip install cppe5
import cppe5
cppe5.download_data()

Labels

The dataset contains the following labels:

Label Description
1 Coverall
2 Face_Shield
3 Gloves
4 Goggles
5 Mask

Model Zoo

More information about the pre-trained models (like modlel complexity or FPS benchmark) could be found in MODEL_ZOO.md and LITE_MODEL_ZOO.md includes models ready for deployment on mobile and edge devices.

Baseline Models

This section contains the baseline models that are trained on the CPPE-5 dataset . More information about how these are trained could be found in the original paper and the config files.

Method APbox AP50box AP75box APSbox APMbox APLbox Configs TensorBoard.dev PyTorch model TensorFlow model
SSD 29.50 57.0 24.9 32.1 23.1 34.6 config tb.dev bucket bucket
YOLO 38.5 79.4 35.3 23.1 28.4 49.0 config tb.dev bucket bucket
Faster RCNN 44.0 73.8 47.8 30.0 34.7 52.5 config tb.dev bucket bucket

SoTA Models

This section contains the SoTA models that are trained on the CPPE-5 dataset . More information about how these are trained could be found in the original paper and the config files.

Method APbox AP50box AP75box APSbox APMbox APLbox Configs TensorBoard.dev PyTorch model TensorFlow model
RepPoints 43.0 75.9 40.1 27.3 36.7 48.0 config tb.dev bucket -
Sparse RCNN 44.0 69.6 44.6 30.0 30.6 54.7 config tb.dev bucket -
FCOS 44.4 79.5 45.9 36.7 39.2 51.7 config tb.dev bucket bucket
Grid RCNN 47.5 77.9 50.6 43.4 37.2 54.4 config tb.dev bucket -
Deformable DETR 48.0 76.9 52.8 36.4 35.2 53.9 config tb.dev bucket -
FSAF 49.2 84.7 48.2 45.3 39.6 56.7 config tb.dev bucket bucket
Localization Distillation 50.9 76.5 58.8 45.8 43.0 59.4 config tb.dev bucket -
VarifocalNet 51.0 82.6 56.7 39.0 42.1 58.8 config tb.dev bucket -
RegNet 51.3 85.3 51.8 35.7 41.1 60.5 config tb.dev bucket bucket
Double Heads 52.0 87.3 55.2 38.6 41.0 60.8 config tb.dev bucket -
DCN 51.6 87.1 55.9 36.3 41.4 61.3 config tb.dev bucket -
Empirical Attention 52.5 86.5 54.1 38.7 43.4 61.0 config tb.dev bucket -
TridentNet 52.9 85.1 58.3 42.6 41.3 62.6 config tb.dev bucket bucket

Tools

We also include the following tools in this repository to make working with the dataset a lot easier:

  • Download data
  • Download TF Record files
  • Convert PNG images in dataset to JPG Images
  • Converting Pascal VOC to COCO format
  • Update dataset to use relative paths

More information about each tool can be found in the tools/README.md file.

Tutorials

We also present some tutorials on how to use the dataset in this repository as Colab notebooks:

In this notebook we will load the CPPE - 5 dataset in PyTorch and also see a quick example of fine-tuning the Faster RCNN model with torchvision on this dataset.

In this notebook we will load the CPPE - 5 dataset through TF Record files in TensorFlow.

In this notebook, we will visualize the CPPE-5 dataset, which could be really helpful to see some sample images and annotations from the dataset.

Citation

If you use this dataset, please cite the following paper:

[WIP]

Acknoweldgements

The authors would like to thank Google for supporting this work by providing Google Cloud credits. The authors would also like to thank Google TPU Research Cloud (TRC) program for providing access to TPUs. The authors are also grateful to Omkar Agrawal for help with verifying the difficult annotations.

Want to Contribute 🙋‍♂️ ?

Awesome! If you want to contribute to this project, you're always welcome! See Contributing Guidelines. You can also take a look at open issues for getting more information about current or upcoming tasks.

Want to discuss? 💬

Have any questions, doubts or want to present your opinions, views? You're always welcome. You can start discussions.

Have you used this work in your paper, blog, experiments, or more please share it with us by making a discussion under the Show and Tell category.

Comments
  • [ImgBot] Optimize images

    [ImgBot] Optimize images

    Beep boop. Your images are optimized!

    Your image file size has been reduced by 10% 🎉

    Details

    | File | Before | After | Percent reduction | |:--|:--|:--|:--| | /media/image_vs_sqrt_width_height.png | 13.00kb | 7.78kb | 40.13% | | /media/image_vs_width_height.png | 12.11kb | 8.02kb | 33.77% | | /media/flops.png | 443.40kb | 376.09kb | 15.18% | | /media/non_iconic_and_iconic.png | 5,313.39kb | 4,531.29kb | 14.72% | | /media/params.png | 483.86kb | 413.81kb | 14.48% | | /media/image_stats.png | 28.35kb | 25.94kb | 8.47% | | /media/annotation_type.png | 2,166.55kb | 2,065.88kb | 4.65% | | /media/sample_images.jpg | 2,128.97kb | 2,091.09kb | 1.78% | | | | | | | Total : | 10,589.62kb | 9,519.91kb | 10.10% |


    📝 docs | :octocat: repo | 🙋🏾 issues | 🏪 marketplace

    ~Imgbot - Part of Optimole family

    opened by imgbot[bot] 0
  • [ImgBot] Optimize images

    [ImgBot] Optimize images

    Beep boop. Your images are optimized!

    Your image file size has been reduced by 10% 🎉

    Details

    | File | Before | After | Percent reduction | |:--|:--|:--|:--| | /media/image_vs_sqrt_width_height.png | 13.00kb | 7.78kb | 40.13% | | /media/image_vs_width_height.png | 12.11kb | 8.02kb | 33.77% | | /media/non_iconic_and_iconic.png | 5,313.39kb | 4,531.29kb | 14.72% | | /media/model_complexity.png | 17.24kb | 15.42kb | 10.57% | | /media/image_stats.png | 28.35kb | 25.94kb | 8.47% | | /media/annotation_type.png | 2,166.55kb | 2,065.88kb | 4.65% | | /media/sample_images.jpg | 2,128.97kb | 2,091.09kb | 1.78% | | | | | | | Total : | 9,679.60kb | 8,745.43kb | 9.65% |


    📝 docs | :octocat: repo | 🙋🏾 issues | 🏪 marketplace

    ~Imgbot - Part of Optimole family

    opened by imgbot[bot] 0
  • Update annotations on data_loader

    Update annotations on data_loader

    :camera: Screenshots

    Changes

    :page_facing_up: Context

    I realized in your code before, that you just assign '1' as the labels for each object. This is proved by creating a tensor of ones for labels like this labels = torch.ones((num_objs,), dtype=torch.int64). When I tried my model to do inference on my sample image, I got the labels '1' for each object and then I realized there was something wrong with the dataset.

    :pencil: Changes

    I just add a little bit of code on your custom Cppe dataset in torch.py. Now, the labels not only '1' for each object in an image, but also have a correspondence with each object based on your dataset.

    :paperclip: Related PR

    :no_entry_sign: Breaking

    None so far.

    :hammer_and_wrench: How to test

    :stopwatch: Next steps

    opened by danielsyahputra 0
  • Request for the test dataset contained 100 images in the paper, thanks

    Request for the test dataset contained 100 images in the paper, thanks

    I want to implement your paper "CPPE - 5: MEDICAL PERSONAL PROTECTIVE EQUIPMENT DATASET" and experiment with it. In the dataset downloaded from your github website, the training set contains 1000 images and the test set contains 29 images. However, I did not find the test set you used in your paper which contains another 100 images. I would highly appreciate it if you could share the test dataset in your paper.

    enhancement 
    opened by pgy1go 0
  • the test dataset in paper request

    the test dataset in paper request

    I want to implement your paper "CPPE - 5: MEDICAL PERSONAL PROTECTIVE EQUIPMENT DATASET" and experiment with it. In the dataset downloaded from your github website, the training set contains 1000 images and the test set contains 29 images. However, I did not find the test set you used in your paper which contains another 100 images. I would highly appreciate it if you could share the test dataset in your paper.

    bug 
    opened by pgy1go 0
  • License Restrictions on dataset

    License Restrictions on dataset

    Hi, please share the dataset license restrictions and image copyright mentions. I would like to use your dataset for a course/book am writing on deep learning.

    Thanks.

    question 
    opened by abhi-kumar 1
Releases(v0.1.0)
  • v0.1.0(Dec 14, 2021)

    CPPE - 5 (Medical Personal Protective Equipment) is a new challenging dataset with the goal to allow the study of subordinate categorization of medical personal protective equipments, which is not possible with other popular data sets that focus on broad level categories.

    Some features of this dataset are:

    • high quality images and annotations (~4.6 bounding boxes per image)
    • real-life images unlike any current such dataset
    • majority of non-iconic images (allowing easy deployment to real-world environments)
    • >15 pre-trained models in the model zoo availaible to directly use (also for mobile and edge devices)

    The Python package allows to:

    • download data easily
    • download TF records
    • loading dataset in PyTorch and TensorFlow
    Source code(tar.gz)
    Source code(zip)
Owner
Rishit Dagli
High School,TEDx,2xTED-Ed speaker | International Speaker | Microsoft Student Ambassador | Mentor, @TFUGMumbai | Organize @KotlinMumbai
Rishit Dagli
[NeurIPS2021] Code Release of Learning Transferable Perturbations

Learning Transferable Adversarial Perturbations This is an official release of the paper Learning Transferable Adversarial Perturbations. The code is

Krishna Kanth 17 Nov 11, 2022
Code for layerwise detection of linguistic anomaly paper (ACL 2021)

Layerwise Anomaly This repository contains the source code and data for our ACL 2021 paper: "How is BERT surprised? Layerwise detection of linguistic

6 Dec 07, 2022
Makes patches from huge resolution .svs slide files using openslide

openslide_patcher Makes patches from huge resolution .svs slide files using openslide Example collage I made from outputs:

2 Dec 23, 2021
This is the official repository of the paper Stocastic bandits with groups of similar arms (NeurIPS 2021). It contains the code that was used to compute the figures and experiments of the paper.

Experiments How to reproduce experimental results of Stochastic bandits with groups of similar arms submitted paper ? Section 5 of the paper To reprod

Fabien 0 Oct 25, 2021
[NeurIPS 2021] A weak-shot object detection approach by transferring semantic similarity and mask prior.

TransMaS This repository is the official pytorch implementation of the following paper: NIPS2021 Mixed Supervised Object Detection by TransferringMask

BCMI 49 Jul 27, 2022
Codebase for "Revisiting spatio-temporal layouts for compositional action recognition" (Oral at BMVC 2021).

Revisiting spatio-temporal layouts for compositional action recognition Codebase for "Revisiting spatio-temporal layouts for compositional action reco

Gorjan 20 Dec 15, 2022
Official Implementation for "StyleCLIP: Text-Driven Manipulation of StyleGAN Imagery" (ICCV 2021 Oral)

StyleCLIP: Text-Driven Manipulation of StyleGAN Imagery (ICCV 2021 Oral) Run this model on Replicate Optimization: Global directions: Mapper: Check ou

3.3k Jan 05, 2023
Practical and Real-world applications of ML based on the homework of Hung-yi Lee Machine Learning Course 2021

Machine Learning Theory and Application Overview This repository is inspired by the Hung-yi Lee Machine Learning Course 2021. In that course, professo

SilenceJiang 35 Nov 22, 2022
Implementation of ML models like Decision tree, Naive Bayes, Logistic Regression and many other

ML_Model_implementaion Implementation of ML models like Decision tree, Naive Bayes, Logistic Regression and many other dectree_model: Implementation o

Anshuman Dalai 3 Jan 24, 2022
code for "AttentiveNAS Improving Neural Architecture Search via Attentive Sampling"

code for "AttentiveNAS Improving Neural Architecture Search via Attentive Sampling"

Facebook Research 94 Oct 26, 2022
Learned Initializations for Optimizing Coordinate-Based Neural Representations

Learned Initializations for Optimizing Coordinate-Based Neural Representations Project Page | Paper Matthew Tancik*1, Ben Mildenhall*1, Terrance Wang1

Matthew Tancik 127 Jan 03, 2023
Codes to calculate solar-sensor zenith and azimuth angles directly from hyperspectral images collected by UAV. Works only for UAVs that have high resolution GNSS/IMU unit.

UAV Solar-Sensor Angle Calculation Table of Contents About The Project Built With Getting Started Prerequisites Installation Datasets Contributing Lic

Sourav Bhadra 1 Jan 15, 2022
Code for the upcoming CVPR 2021 paper

The Temporal Opportunist: Self-Supervised Multi-Frame Monocular Depth Jamie Watson, Oisin Mac Aodha, Victor Prisacariu, Gabriel J. Brostow and Michael

Niantic Labs 496 Dec 30, 2022
RaftMLP: How Much Can Be Done Without Attention and with Less Spatial Locality?

RaftMLP RaftMLP: How Much Can Be Done Without Attention and with Less Spatial Locality? By Yuki Tatsunami and Masato Taki (Rikkyo University) [arxiv]

Okojo 20 Aug 31, 2022
ML powered analytics engine for outlier detection and root cause analysis.

Website • Docs • Blog • LinkedIn • Community Slack ML powered analytics engine for outlier detection and root cause analysis ✨ What is Chaos Genius? C

Chaos Genius 523 Jan 04, 2023
Make Watson Assistant send messages to your Discord Server

Make Watson Assistant send messages to your Discord Server Prerequisites Sign up for an IBM Cloud account. Fill in the required information and press

1 Jan 10, 2022
The code of paper 'Learning to Aggregate and Personalize 3D Face from In-the-Wild Photo Collection'

Learning to Aggregate and Personalize 3D Face from In-the-Wild Photo Collection Pytorch implemetation of paper 'Learning to Aggregate and Personalize

Tencent YouTu Research 136 Dec 29, 2022
A toy compiler that can convert Python scripts to pickle bytecode 🥒

Pickora 🐰 A small compiler that can convert Python scripts to pickle bytecode. Requirements Python 3.8+ No third-party modules are required. Usage us

ꌗᖘ꒒ꀤ꓄꒒ꀤꈤꍟ 68 Jan 04, 2023
PyTorch implementation of Interpretable Explanations of Black Boxes by Meaningful Perturbation

PyTorch implementation of Interpretable Explanations of Black Boxes by Meaningful Perturbation The paper: https://arxiv.org/abs/1704.03296 What makes

Jacob Gildenblat 322 Dec 17, 2022
Source code for the GPT-2 story generation models in the EMNLP 2020 paper "STORIUM: A Dataset and Evaluation Platform for Human-in-the-Loop Story Generation"

Storium GPT-2 Models This is the official repository for the GPT-2 models described in the EMNLP 2020 paper [STORIUM: A Dataset and Evaluation Platfor

Nader Akoury 27 Dec 20, 2022