#dataset #coco #format #visualize #functionalities #load #path

bin+lib cocotools

Package providing functionalities to work with COCO format datasets

7 releases

0.0.7 May 25, 2023
0.0.6 May 17, 2023
0.0.3 Mar 27, 2023

#1721 in Command line utilities

MIT/Apache

80KB
1.5K SLoC

Cocotools

cocotools ci Crate Minimum rustc 1.64 Documentation

The cocotools crate provides tools to load, manipulate/convert and visualize COCO format datasets.

Setup

Get the crate from crates.io.

API Usage

You can find the documentation here.

Example

use std::path::PathBuf;
use cocotools::COCO;

let annotations_file_path = PathBuf::from("../data_samples/coco_25k/annotations.json");
let image_folder_path = PathBuf::from("../data_samples/coco_25k/images");
let coco_dataset = COCO::new(&annotations_file_path, &image_folder_path)?;
let file_name = dataset.get_img(17627)?.file_name;

Program Usage

cargo run -- visualize  ../data_samples/coco_25k/annotations.json ../data_samples/coco_25k/images -s 000000017627
cargo run -- convert-segmentation ../data_samples/coco_25k/annotations.json rle -o annotations_rle.json

Future features

  • Add support for keypoint detection format.
  • Add conversion from/to PascalVOC format.
  • Add conversion from/to SOLO format.
  • Add validation of the data when loading it, for example check that sum(rle) == nb pixels in the image (behind a crate feature flags ?)
  • Use rayon when loading/converting the data ?

Dependencies

~23–33MB
~331K SLoC