Skip to main content

A library to easily download, load and work with the CPPE-5 dataset.

Project description

CPPE - 5 Twitter

GitHub Repo stars arXiv Models TF Hub

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)

Updates

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()

Data Loaders

We provide PyTorch and TensorFlow data loaders in this repository, the dataset can also be loaded from Hugging Face Datasets. To use the data loaders in this repository you would need to install the Python package first:

pip install cppe5

Hugging Face Datasets

Install the datasets library first:

pip install datasets
from datasets import load_dataset

dataset = load_dataset("cppe-5")

PyTorch DataLoader

A ready to run Google Colab example can be found at notebooks/pytorch_loader.ipynb.

import cppe5
from cppe5.torch import data_loader
import os

cppe5.download_data()
os.chdir("..")
data_loader = cppe5.torch.data_loader() # torch.utils.data.DataLoader

# Fetch all images and annotations
device = torch.device("cuda") if torch.cuda.is_available() else torch.device("cpu")

# DataLoader is iterable over Dataset
for imgs, annotations in data_loader:
    imgs = list(img.to(device) for img in imgs)
    annotations = [{k: v.to(device) for k, v in t.items()} for t in annotations]

TensorFlow Loader

A ready to run Google Colab example can be found at notebooks/tensorflow_loader.ipynb.

import cppe5
from cppe5.tensorflow import data_loader

cppe5.download_tfrecords()
os.chdir("..")

dataset = cppe5.tensorflow.data_loader() # tf.data.Dataset
iter(dataset).next()

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 work, please cite the following paper:

BibTeX:

@misc{dagli2021cppe5,
      title={CPPE-5: Medical Personal Protective Equipment Dataset}, 
      author={Rishit Dagli and Ali Mustufa Shaikh},
      year={2021},
      eprint={2112.09569},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

MLA:

Dagli, Rishit, and Ali Mustufa Shaikh. ‘CPPE-5: Medical Personal Protective Equipment Dataset’. ArXiv:2112.09569 [Cs], Dec. 2021. arXiv.org, http://arxiv.org/abs/2112.09569.

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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cppe5-0.1.1.tar.gz (17.9 kB view details)

Uploaded Source

Built Distribution

cppe5-0.1.1-py3-none-any.whl (13.4 kB view details)

Uploaded Python 3

File details

Details for the file cppe5-0.1.1.tar.gz.

File metadata

  • Download URL: cppe5-0.1.1.tar.gz
  • Upload date:
  • Size: 17.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for cppe5-0.1.1.tar.gz
Algorithm Hash digest
SHA256 17e27c306c62aa25658f10d91441181164c99f29645fa97b3f41c778d271f9da
MD5 e35921b6fac87b78f22bc75c478ce3be
BLAKE2b-256 82236fe4a815068e37cd3878a32579b1d29703f59db02ff37ae53e8831de3e71

See more details on using hashes here.

File details

Details for the file cppe5-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: cppe5-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 13.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for cppe5-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 37043744ade42484c432c3ae21ed50b4a9e18265c71725fcbe3d5aa12d53157e
MD5 bf51e2c5aed8c8e27a0825c1ed3002c7
BLAKE2b-256 1758c01c76a4ef9c10d32d2f670076f910164694ef5f34b64dc63fe236da2131

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page