Skip to main content

Welcome to SAVANT

In this guide, you will learn about SAVANT’s platform functionalities and key concepts. This guide will help you have a better experience as you navigate annotation projects.

Updated over a month ago

Welcome to the Surgical AI Video Annotation Tool (SAVANT). In this guide, you will learn about SAVANT’s platform functionalities and key concepts. This guide will help you have a better experience as you navigate annotation projects.

What is SAVANT and what you can do with it

SAVANT is a platform designed to accelerate AI projects. It empowers teams to manage the labelling of the data that. There are two core use-cases for SAVANT:

  1. Manage annotation projects with functionality that helps coordinate data and people.

  2. Create ground truth labels using a comprehensive toolset to annotate high quality video data.

A key differentiator of SAVANT is that it follows strict quality standards required for the software used in the development of medical devices. The platform has been quality-validated within Medtronic and its validation documentation is regularly updated to include the latest functionality. If you are interested in learning more about the quality compliance of the platform, please get in touch.

Key concepts in SAVANT

If it is your first time using SAVANT, here are some concepts that are handy to keep in mind.

Annotations

These refer to the labels that a user will add to a video. The typical use for these labels is to train AI models, but they are equally useful for any other application that requires labelling data. SAVANT supports labels for videos as time annotations – which allow the user to specify timestamps or time intervals of interest – and frame annotations – which allow the user to label structures within each frame of a video.

Example timestamp annotations

Example frame annotations

Sequence or annotation job

The word “sequence” is used interchangeably with “annotation job”. It refers to the collection of all steps that need to be done on a video or selection of frames to get a ground truth label. In the most typical workflow, a sequence will contain a first annotation step, a QA step and a fix or review step. All changes that happen to the annotation as it goes through the steps are recorded as part of the sequence and are accessible to users via its metadata.

Example of a sequence as it shows in SAVANT

Batch

You will typically want to create sequences in groups so that you can perform bulk operations on them. A group of sequences is called a batch.

Example of batches of sequences as shown in SAVANT

Project

Projects contain all the resources required to manage the annotation of a dataset. Having multiple projects offers the flexibility to organise different teams around different ML projects.

List of projects as shown in SAVANT

Annotation profile

A profile is a configuration which dictates what will be allowed or disallowed during an annotation job. Profiles are critical parts of quality-compliant annotation workflows since they guarantee that annotations will be done according to the defined guidelines.

An annotation profile as seen in SAVANT

Workspace

All the projects and data that you manage are going to be organised within your SAVANT workspace. It is possible to be part of multiple workspaces, and indeed you may want to start new workspaces; for example, if some of your projects require highly sensitive data.

Your SAVANT workspace contains all the data that you need to manage your annotation projects.

Deframing

There are applications for which you will want to select specific frames from a video. We call the process of extracting those frames “deframing”.

SAVANT’s API

SAVANT’s web app will be sufficient for most of the tasks that you need to complete for an annotation project. However, there are tasks that are simply easier to do programmatically. For this purpose, SAVANT implements a REST API that can be accessed by any user. We also provide guides on how to use the API for common tasks (e.g. downloading data from the app) and an API reference documentation should you need to code custom processing flows.

Data hierarchy in SAVANT

The diagram below shows how data is organised in SAVANT. This is a useful schematic to keep as reference when you want to figure out what is the scope of a given resource. Some examples on how you might use this diagram are:

  1. When you are navigating SAVANT and trying to find a particular resource, you can use this schematic to help you find it.

  2. You can see that all the data and projects are contained within a workspace. This means that the same video can be used in multiple projects and access to projects and data are both controlled by workspace-level privileges. Data are not shared between different workspaces.

  3. If we go down the hierarchy, you can observe that sequences are contained within batches. This means that the same sequence cannot simultaneously be part of different batches and – by consequence – it cannot be in different projects.

  4. If you are using the API to read data, you can expect to see resources nested and connected following this graph. However, it will always be best to refer to the API documentation for more details.

The main workflow through the app

Even though you may use SAVANT any way you prefer, there is a recommended workflow through the app. This workflow ensures that you have all the data you need at each step. If it's your first time using SAVANT, we strongly recommend that you follow this workflow, in order, at least once. The rest of the guides in this collection are organised to follow this workflow. The steps are:

  1. Invite users to join your workspace, make sure that they are given the right role so that they have access only to the resources that you expect them to have access to.

  2. Upload data to SAVANT that you wish to annotate. You can do this via direct upload or using our functionality to import directly from the Touch Surgery Ecosystem.

  3. Create an annotation profile with the labels that you need. If you are looking to annotate frames, you will need to create one profile that will be used for the purposes of deframing.

  4. Create a project where you will manage the annotation jobs and invite users to this project. Make sure that you assign users the right roles and status access for the job that you want them to do in your project.

  5. Create batches for video/timestamp annotations. This step is needed even if your goal is to annotate frames if you wish to use the annotations from these batches to extract the frames you need for frame annotations.

  6. Annotate time data by assigning users to the annotation jobs and driving them to the “complete” status. Note that if you are using these annotations for deframing, they must be in “complete” or else they cannot be used.

  7. Create batches for frame annotations using our batch creation service and the annotations that you have done in the previous step.

  8. Annotate frame data by assigning users to the frame annotation jobs and driving all jobs to the “complete” status.

  9. Export data from the platform using a combination of direct exports and SAVANT API calls to get the data that you need to train your AI models.

And that’s it! You have completed an annotation project.

Final words

With these concepts you are now ready to start exploring the app! However, we encourage you to continue reading these guides so that you can make best use of SAVANT. Get started by reading our guide on how to manage users, teams and organisations.

Did this answer your question?