A video demo is available for the Map Annotation Tool.
To sign up for the Map Annotation tool, contact the NVIDIA Isaac Mapping team and provide the following information:
Email address
User name
Name of the company or organization
The NVIDIA Isaac Mapping team will create an account for the user, usually within 24 hours. You will then receive an email from no-reply-deepmap@nvidia.com with the initial password and user name. You can log in to the tool hosted at https://robotictools.deepmap.com/labeling/login
The first time you log in, you will be required to change the password.
Through the main page, select one of the maps or click on the “ADD MAP” button to create one:
You don’t need to add a map if your map has been created by NVIDIA.


Description box will pop up. Enter name (Note: it needs to be unique) and description and click the “SUBMIT” button to create it.

For any given map, a tile shall be created or selected:
Tile Page:

Create the tile for the map:
You don’t need to add a tile if your map has been created by NVIDIA.
Click the ADD TILE button to open the ADD TILE dialog:


Fill out these fields:
Tile Image: 2D occupancy map
Map UUID:
Type: String
Description: When you create the map in the Map Page, it will generate this ID for the map.
Tile Index:
Type: String
Description: The tile index of the map. Since there is currently only one tile per floor per map, the first two values will always be 0, and the third value is the floor number: For example, on the first floor, the index is “0,0,0”, and on the second floor, it will be “0,0,1”.
The following fields are optional:
Pixel Resolution Meter:
Type: float
Default: 0.05
Description: Any pixel with a value smaller than this threshold is considered occupied; usually, this is set to the pixel value of the unknown (gray) pixel.
Occupancy Threshold:
Type: integer
Default: 125
Description: The threshold used to identify if a cell is occupied or not. If the pixel value is less than this threshold, it is occupied; otherwise, it is free If the pixel value is equal to this threshold, it means an unknown(unmapped) range between [0 to 255].
Click the SUBMIT button to create the tile and close the dialog.
In the Tile page, each row of the non-released semantic tile has an Edit icon button. Click it to open the Tile Edit Dialog. If the tile has a map image, it will be displayed, along with a list of buttons to edit, upload, and download the map image.
UPLOAD TILE IMAGE: Uploads a
.png
file to overwrite the current map image.NoteYou don’t need to erase the noise if your map was created by NVIDIA.
NoteWe recommend backing up the current map image before overwriting it.
MANUAL ERASE NOISE: When the image is uploaded, you can use the feature to erase black spots which are not needed (e.g. obstacles that can be moved away or noise caused during acquisition).
Click the MANUAL ERASE NOISE button.
Use the mouse to paint the area to be cleared. The size of the brush can be adjusted by the slider below. You can use the CLEAR button to clear all painted areas.
Click the CONFIRM button to save the image.
NoteSince this tool will directly change the uploaded images, make sure to keep an initial backup locally.
DOWNLOAD IMAGE: Downloads the map image as a
.png
file.

Selection

Hotkey: “S”
You can use it to select the feature. The selected one will become green and it will show the info on the left top.
Ex:
Multiple Selection
Hold the “Shift” key to do the multiple selection.
Modify Polygon

Hotkey: “M”
Use the Select tool to select the feature first. It only supports one feature at a time.
Click the Modify tool. It will show the vertices of the selected feature.
Users can drag the vertex to change the polygon shape.
Snapping the vertex.
Hold the “Shift” key when dragging the vertex.
When the cursor closes to the other feature’s vertex, it will change the cursor style and auto snap the vertex to the vertex.
Auto add association.
Once updated the vertex, the system will check the feature and automatically add/remove the associations.
Draw Polygon

Hotkey: “P”
Click this button, it will enable the draw polygon feature.
It will allow users to click arbitrary points until they click the “Enter” key or click the first point.
Generate the polygon by these points.
Note:
Each polygon needs to have at least three points.
Export

Hotkey: “Shift + E”
Click it to download all the features in this map to a Geojson file.
Note:
This button is used to copy and paste the exsiting features to another empty tile with the same map image. The download file can only be used by the “Import” function below and can not be used as the release file.
Import

Hotkey: “Shift + I”
Click it to import the features from the selected Geojson file.
Preview

Hotkey: “Shift + P”
Click to preview the polygons after processing.
Multiple Delete

Hotkey: “Shift + D”
It will delete all the selected features.
Feature Info Card

Single Delete
Click the “DELETE” button to delete the selected feature.
Edit Config
Click The “EDIT CONFIG” button to edit the selected feature’s configuration.
Feature Config
After creating the polygon feature, it will popup a config dialog. Users need to set feature type (Category), name and customized attributes for this feature.

Feature Types (Category)
OBJECT_TYPE_UNKNOWN
This type can not be selected. It will be auto selected if users try to create a feature with invalid type.
NAVIGABLE_SURFACE
Its polygon can not have overlapping with the other NAVIGABLE_SURFACE type polygon.
OBSTACLE
STAIRS
ELEVATOR
DOCKING_STATION
ROOM
Its polygon can not have overlapping with the other ROOM type polygon.
ZONE
Its polygon can not have overlapping with the other ZONE type polygon.
ENTRANCE
SubType
This field will only show up for the NAVIGABLE_SURFACE.
General
Corridor
Ramp
Other
Name
Optional
Give name to help filter or search later.
Moveable
Default: False
Check the box If this object can be moved/removed.
Inaccessible
Default: true for Obstacle type. False for the other types.
Check the box if this object can not be accessed.
Customized Attributes:
This is a String to String key-value pair.
Users can give arbitrary key-value pairs here for different purposes.
Cancel Button
It will close the dialog and also remove the polygon.
Click “ESC” is the same as clicking “Cancel Button”.
Submit Button
It can only be clicked if the validation passes or click the force created checkbox.
Force create checkbox
It will only show up if it does not pass the validation.
After clicking it, it will create/update a semantic object with the given config and drawing polygon.
Labeling Note (Correct way vs. Wrong way)
Obstacle type can not cut Navigable Surface type to multiple pieces.
Wrong:

Correct:


Navigable Surface Type can only have shared edges with the other Navigable Surface types. (Same for the Zone/Room type).
Correct:

Wrong:

How to check if navigable surfaces have a shared edge?
- If it has a shared edge between navigable surfaces, it will have an
association line between them. Otherwise, it may have overlapping or does not share all nodes on the edge.
When the tile is done labeling, users need to release it to generate the release version. The system will perform preprocessing (cut obstacles from navigable surfaces and do validation) for the labeling data, save it in SemanticMapTile proto format, and provide a JSON file for download. The downstream user can use the download file to support robotics applications. Once the tile is released, the content becomes immutable. The user can create a new version and update in the new version.
In the Tile page, there is a Release icon button for each row.

Click it to open a release dialog.
Automatically process the labeling data.
Show the result map to let users verify.
Shared Edge:
Mark as the blue line.
Isolated Polygon:
The obstacles not fully contained by the navigable surface will be cut off from the navigable surface.
If it does not look good, click CANCEL button and go to the back labeling page to update it.
If it looks good, click the RELEASE button.
It will mark the tile data as released and can not be updated again.
Close the dialog.
Download the released version.
After the tile is released, the Release button will become the Download button for row of released tiles in the Tile page. Click the Download button to open the download dialog, which is similar to release dialog. Click the DOWNLOAD button in the dialog to download the SemanticMapTile data as a
json
file.The system will generate a unique ID to identify the released version.
After the tile is released, it will lock the current tile version so it cannot not be edited or labelled. To edit the tile, you will need to create a new tile version that derives from the current released version.
In the Tile page, the released semantic tile row will display a Derive a new Tile Version button. Click it to derive a new tile version from the released tile version. Once the new version is created, you can also expand the tile row to see the history of old tile versions.