User Hub Quickstart
From Zero To Calibrated In Five Minutes
The Tangram Vision Platform is meant to be both powerful and easy to use. To that effect: let's add and calibrate a system in five minutes!
For this tutorial, you'll need three things: 1. A Plex, which is Tangram's patent-pending data structure which describes the relationship between the components (aka sensors) to be calibrated; 2. An object space, like a calibration target or a marker; and, 3. A calibration dataset, which is a collection of object space observations captured by the system. Download the following sample data:
- An uncalibrated Plex for our system: input-plex.json
- An Object Space JSON describing the calibration target in the dataset: objspace-9x7-aruco5x5_250.json
- A Calibration Dataset (captured using TVMux): dataset.tar.gz (21.4 MB)
This tutorial is based on a sample system the Tangram Vision team put together to help new users like you learn how to use the Platform. This particular dataset is comprised of the three cameras of a single Intel® RealSense™ D435i, but there's no reason we couldn't simultaneously calibrate all 12 cameras in the four D435i's shown below!
Plexes, Object Space, Datasets?
Each of these are covered in the Tangram Vision Platform documentation:
- Plex: Universal Data Structure for Perception Systems
- Object Space: Known Points In Calibration Data
- Calibration Datasets: Best Practices
Create Your First System
A system is a perception-powered device like a robot or an autonomous vehicle. To add a system, navigate to the Systems page in the Hub. You'll find the system creation form above the systems table, where you'll be able to add a new system and give it a name. Type in "demo" for your new system name and click "Create New System".
Upload a System Plex
You should now see the system in the systems table. Click on it to be taken to its System Detail page.
At this point, your new system doesn't have a Plex to describe its state or components. A Plex is Tangram Vision's patent-pending data structure that describes a system and all its connected components. Let's fix that by uploading a vaild Plex JSON file into the Plex table. We'll use the one that you downloaded at the beginning of this tutorial:
The Plex that we uploaded doesn't accurately represent the state of our system. That is because this Plex is not based on any actual data from the system's components; it's just a best guess. Therefore, you can assume that it's not very accurate or precise.
How do we turn this "best guess" Plex into something that actually describes our system state and the relationship between all of our system's components? All it takes is a little calibration.
Start a Calibration using TVCal
Let's use TVCal to calibrate our system with a calibration dataset. The result will be a refined Plex that accurately represents the system's state and the relationship between all of the components.
Scroll down to the "Calibration" section at the bottom of the System Detail page. Click the button "Start a New Calibration" to be taken to a configuration page to start a new calibration.
Now you can upload the calibration dataset and object space file that you downloaded at the beginning of this tutorial. Select the Plex that you uploaded as a best guess.
Now click "Calibrate!", and wait a minute or two. Literally.
Once TVCal is done calibrating, it will send an email with the completed calibration parameters to the user who initiated the calibration (in this case...you!). You can also see if the calibration process is complete by going to the Dashboard; as you can see below, the Hub has posted an update telling us our calibration is complete.
Following this link will take you back to the System Detail page for the system we named "demo". The newly calibrated Plex that was generated by TVCal is now added to the Plex history for the system. If this were a real system, you would download the resulting JSON file, load it into your system, and have a perfectly calibrated set of components. As an added bonus, this calibrated Plex is stored as part of the system's history. It can be accessed anytime, providing a snapshot into the system's past state that can be compared to any other state captured with the Platform.
That's all there is to it. We've learned how to
- Create and name a new system
- Upload a calinbration dataset, Plex, and object space file for that system
- Start a calibration through TVCal and receive a calibrated system Plex
- Build a system calibration history for comparisons anytime now and into the future
With these tools, you have a sophisticated calibration suite at your disposal.
Of course, the Tangram Vision Platform is more than calibration. We have an extensive roadmap with many new features and modules in mind for even the toughest systems and situations. Stay tuned!