Skip to content

Unity-Technologies/pysolotools

Repository files navigation

The open-source tool for loading and analyzing Unity SOLO datasets

PyPI version License

Introduction

pysolotools is a python package for managing SOLO datasets. It helps to perform following tasks:

  • Parse SOLO datasets generated with Unity Perception
  • Dataset iterables
  • Convert SOLO to COCO format
  • Compute common statistics

You can read more about SOLO schema here.

Pre-Requisites

Installation

pip install pysolotools --index-url=https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple

SOLO Dataset

Load and iterate frames
from pysolotools.consumers import Solo
solo = Solo(data_path="src_data_path")

for frame in solo.frames():
    # perform operations on frame
SOLO2COCO conversion

Supports conversion for these labels: 2d bbox, keypoints, instance, semantic.

from pysolotools.converters.solo2coco import SOLO2COCOConverter
from pysolotools.consumers import Solo

solo = Solo("src_data_path")
dataset = SOLO2COCOConverter(solo)
dataset.convert(output_path="output_path")
Stats computation

Supports bbox, keypoints and image analysis on SOLO dataset.

from pysolotools.consumers import Solo
from pysolotools.stats.analyzers.bbox_analyzer import BBoxHeatMapStatsAnalyzer, BBoxSizeStatsAnalyzer
from pysolotools.stats.handler import StatsHandler

bbheat=BBoxHeatMapStatsAnalyzer()
bbsize=BBoxSizeStatsAnalyzer()
solo = Solo("data_path")
bbh= StatsHandler(solo=solo)
bbh.handle(analyzers=[bbheat,bbsize],cat_ids=[])

Community and Feedback

The Unity Computer Vision demos are open-source and we encourage and welcome contributions. If you wish to contribute, be sure to review our contribution guidelines and code of conduct.

Support

For feature requests, bugs, or other issues, please file a GitHub issue using the provided templates we will investigate as soon as possible.

License

Apache License 2.0