Package for handling COCO datasets types.
Project description
COCO Types
Note: This package loads the data as is and does not create dictionaries mapping ids to lists of images/annotations/categories.
Installation
The package is available on pypi here, you can install it with:
pip install coco-types
Loading COCO data
You can load COCO dataset labels into Pydantic objects by using the Dataset
and DatasetKP
classes.
For an object detection dataset:
import coco_types
with open("path/to/json", encoding="utf-8") as data_file:
dataset = coco_types.Dataset.parse_raw(data_file.read())
For a keypoint detection dataset:
import coco_types
with open("path/to/json", encoding="utf-8") as data_file:
dataset = coco_types.DatasetKP.parse_raw(data_file.read())
Usage example:
import coco_types
with open("path/to/json", encoding="utf-8") as data_file:
dataset = coco_types.Dataset.parse_raw(data_file.read())
img = dataset.images[0]
print(f"Image's filename {img.file_name}")
print(f"Image's id {img.id}")
print(f"Image's height {img.height}")
print(f"Image's width {img.width}")
img_annotations = [annotation for annotation in dataset.annotations
if annotation.image_id == img.id]
ann = img_annotations[0]
print(f"Annotation's id: {ann.id}")
print(f"Annotation's image id: {ann.image_id}")
print(f"Annotation's category id: {ann.category_id}")
print(f"Annotation's iscrowd: {ann.iscrowd}")
print(f"Annotation's bbox: {ann.bbox}")
print(f"Annotation's area {ann.area}")
for cat in dataset.categories:
if cat.id == ann.category_id:
break
print(f"Category's name {cat.name}")
print(f"Category's supercategory {cat.supercategory}")
Keypoints
If using a dataset with keypoints (coco_types.DatasetKP
), then annotations will have two additional attributes: keypoints
and num_keypoints
.
In the same way, categories will have two additional attributes: keypoints
and skeleton
.
TypedDict versions
A TypedDict
version of the pydantic models can be accessed using coco_types.dicts.*
(for example coco_types.dicts.Dataset
). This can be useful if you have data that is slightly malformed / follows a slightly different format but is still usable.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for coco_types-0.0.7-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3fcd55411c191247ef8c0680e3724ecc3214d9041b52dcd4ba0e5de06e7e9e00 |
|
MD5 | d7666895c702d4d9bc5d3963d4175819 |
|
BLAKE2b-256 | 590a277d8df2d4cd1b5e8f60cec9d86b93bedcac7b6eb9c0aa08fddb836d98fd |