medium_logo

Remo: images and annotations management for Computer Vision

Remo is a web-application for managing and visualising images and annotations.

It was developed for data scientists, engineers and ML researchers to facilitate the exploration, sharing and management of datasets and annotations for Computer Vision.

Use Remo to:

  • visualise and inspect datasets, annotations and predictions
  • search and organise images by classes or tags
  • visualise statistics like # objects per class
  • quickly annotate your images

Remo can be called from code or used as a standalone application.

It runs on Windows, Linux and Mac, and it's written using Python, React.JS and PostgreSQL to store metadata.


Demo

Here is a video showcasing how to explore a dataset's annotations and predictions, including tagging a bad prediction and re-annotating an image.


Python commands

Here is an example of using the Python library to:

  • create a dataset
  • visualise it
  • visualise statistics on annotations
  • call the annotation tool

Simple workflow:

import remo

# if on jupyter, you have remo embedded within the notebook
remo.set_viewer('jupyter')

# create dataset
my_dataset = remo.create_dataset(name = 'open images test',
                            urls = ["https://remo-scripts.s3-eu-west-1.amazonaws.com/open_images_sample_dataset.zip"],
                            annotation_task="Object detection")

# list existing datasets                
remo.list_datasets()

# browse the dataset
my_dataset.view()

my_dataset.list_images()

# view stats
my_dataset.view_annotation_statistics()

# annotate
my_dataset.view_annotate()

Installation

Remo is compatible with Python 3.6+ and runs on Linux, macOS and Windows. The latest remo releases are available over pip.

1. Pip install

You can install remo using pip.

pip install remo

2. Initialise

To complete the installation, run:

python -m remo_app init

This will download some additional packages and create a folder .remo in your home directory. By default, this is the location where Remo looks for its configuration file, remo.json.

3. Optional: separate python library

When installing remo, you also automatically install the remo-python library. Optionally, you can install the python library in a separate Python 3.5+ environment and use it to interface with remo app.

# First activate your Python work environment
pip install remo-python

About remo

Remo is a web-server running on your local or server machine. Once remo is running, you can call it from code in most programming languages through the REST API. We provide an open source Python library to call remo from Python 3.5+ environments.


Launch remo

To launch the web app, run from command line:

python -m remo_app

Remo will be served by default in its own Electron app. But you can also access it through your browser or embed it in a Jupyter Notebook.

Command Line Interface

You can use remo from your command line, doing python -m remo_app and using the following options:

  (no option)     - start server and open the default frontend
  no-browser      - start server
  init            - initialize settings and download additional packages
  run-jobs        - run periodic jobs
  kill            - kill running remo instances
  open            - open the Electron app
  remove-dataset  - delete datasets
  delete          - delete all the datasets and metadata

  --version       - show remo version
  --help          - show help info

Support

In case you need support or want to give us some precious feedback, you can get in touch with us on our forum.

For any other query, you can also to write to us at hello AT remo DOT ai