Tools

The FSOCO Tools CLI facilitates preparing your dataset to contribute to the project. It is a small, extensible tool for data manipulation and analysis that is based on Click to sensibly combine scripts into a uniform package. For installation, please refer to the README.

We welcome contributions and would be thrilled to review and, hopefully, accept your contribution as well. If you are interested, please refer to CONTRIBUTING.
A good way to find inspiration is by looking for “Help Wanted” Issues.


In-house Tools

Image Similarity Score

This tool will check your dataset for similarly looking images. Its purpose is to assure that all contributions are actually expanding the dataset, helping to achieve algorithms with greater generalization potential. Please find detailed information and instructions how to use our image similarity scorer on this page.

Label Viewer

The FSOCO label viewer is an easy way to visualize our dataset. Currently, it supports bounding boxes in both Supervisely and Darknet YOLO format and segmentation labels from Supervisely.

Example usage:

# Activate python venv where tools are installed
conda activate fsoco-tools 
fsoco viewers supervisely input_directory/

Team Logo Watermark

This tool allows you to test how your watermarked images will look like when using the Supervisely import plugin for image donations. Please refer to the tool’s help for usage details.

Example usage:

# Activate python venv where tools are installed
conda activate fsoco-tools 
fsoco watermark input_directory/ jpg logo.png

This will generate watermarked images based on the matched contents of input_directory/ with a watermarked_ prefix.

Watermark Details

The generated watermark will consist of your team’s logo and a timestamp. Borders of 140px on each edge will be added to the image. The logo will be resized to a height of 100px, while keeping the aspect ratio unchanged. To guarantee a crisp version of your logo and avoid unexpected distortions, use a version of your logo that fits these constraints. Furthermore, the background on which the logo will be placed is black. To guarantee a good result, use a version of your logo with a black background. Transparency is not guaranteed to work.

Example Watermarked Images
watermarked_mms.jpg
watermarked_amz.png
watermarked_ff.jpeg


Label Converters

The converter tools enable you to quickly convert your dataset of bounding boxes to comply with the submission format. The currently available conversions are:

Label Formats Darknet YOLO Supervisely LabelBox COCO VOC MM NAS
Darknet YOLO - - - - - -
Supervisely - - - - -
LabelBox - - - - - -
COCO [1] - - - - - -
VOC [1] - - - - - -
MM [1] - - - - - -
NAS [1] - - - - - -

[1] These scripts and a summary of their label formats can be found on the documentation page of the deprecated first version of the project.

Example usage:

# Activate python venv where tools are installed
conda activate fsoco-tools
fsoco label-converter yolo2sly -p project_name -d dataset_name img/ darknet_labels/ .

The project_name and dataset_name parameters will set the names of the created directory structure. For uploading the created directories with converted labels and original images to Supervisely, please use the project_name root directory to ensure the correct metadata file meta.json is used. More information is available in the documentation of the Supervisely FSOCO import plugins below.

3rd Party Tools

Supervisely

From Supervisely’s documentation page:

Supervisely is a powerful platform for computer vision development, where individual researchers and large teams can annotate and experiment with datasets and neural networks.

Our mission is to help people with and without machine learning expertise to create state-of-the-art computer vision applications.

Plugins

A Plugin is a set of docker images that can be executed on the node using the agent from the web interface.

Writing a plugin allows you to run any program you would like with data either being imported or already accessible through your Supervisely account, neatly encapsulated in a Docker container. For the purposes of FSOCO, there are two relevant plugins that we provide you with.

  • FSOCO Image Import: Import for raw images that does the watermarking for you, provided a valid logo image.
  • FSOCO Supervisely Import: Import projects in the Supervisely format and have the contained images watermarked and labels adjusted accordingly.

Both plugins are documented to allow for a seamless experience when adjusting your data to fit the required format. If you are interested in writing your own plugin, please refer to Supervisely’s documentation on custom plugins.