Skip to content

Latest commit

 

History

History
93 lines (84 loc) · 3.51 KB

DATASET.md

File metadata and controls

93 lines (84 loc) · 3.51 KB

Dataset

The MouseSIS dataset consists of 33 sequences with an approximate duration of 20s each. Each sequences contains pixel-aligned frames and events with accurate time-alignment (hardware-triggered). Additionally, we provide mask-accurate tracking labels for all mice in the sequences (a task we term spatio-temporal instance segmentation (SIS)).

The data itself can be found here. Each sequence is saved as a .hdf5 file in it's respective split folder. The annotations are provided as .json files in a format similar to the YouTubeVIS format (one per split).

You can comprehend the dataset structure using this visualization script:

python scripts/visualize_events_frames_and_masks.py --h5_path data/MouseSIS/top/val/seq25.h5 --annotation_path data/MouseSIS/val_annotations.json

If you download the whole dataset, the structure of the dataset looks like this.

data/MouseSIS
├── top/
│   ├── train
│   │   ├── seq_02.hdf5
│   │   ├── seq_05.hdf5
│   │   ├── ...
│   │   └── seq_33.hdf5
|   ├── val
│   │   ├── seq_03.hdf5
│   │   ├── seq_04.hdf5
│   │   ├── ...
│   │   └── seq_25.hdf5
│   └── test
│       ├── seq_01.hdf5
│       ├── seq_07.hdf5
│       ├── ...
│       └── seq_32.hdf5
├── dataset_info.csv
├── val_annotations.json
└── train_annotations.json

The .hdf5 files have the following fields ():

images: (num_images, height, width, 3) uint8
img2event: (num_images,) int64
img_ts: (num_images,) float64  # timestamps in microseconds
p: (num_events,) uint8
t: (num_events,) uint32  # timestamps in microseconds
x: (num_events,) float64
y: (num_events,) float64

The field img2event is the index of the last event occuring before the start of exposure of an image.

The annotations files have this format:

{
    "info": {
        "description": "string",     // Dataset description
        "version": "string",         // Version identifier
        "date_created": "string"     // Creation timestamp
    },
    "videos": [
        {
            "id": "string",          // Video identifier (range: "01" to "33")
            "width": integer,        // Frame width in pixels (1280)
            "height": integer,       // Frame height in pixels (720)
            "length": integer        // Total number of frames
        }
    ],
    "annotations": [
        {
            "id": integer,           // Unique instance identifier
            "video_id": "string",    // Reference to parent video
            "category_id": integer,  // Object category (1 = mouse)
            "segmentations": [
                {
                    "size": [height: integer, width: integer],  // Mask dimensions
                    "counts": "string"                          // RLE-encoded segmentation mask
                }
            ],
            "areas": [float],        // Object area in pixels
            "bboxes": [              // Bounding box coordinates
                [x_min: float, y_min: float, width: float, height: float]
            ],
            "iscrowd": integer      // Crowd annotation flag (0 or 1)
        }
    ],
    "categories": [
        {
            "id": integer,          // Category identifier
            "name": "string",       // Category name
            "supercategory": "string" // Parent category
        }
    ]
}