Map Annotation Tool

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:

  1. Email address

  2. User name

  3. 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 with the initial password and user name. You can log in to the tool hosted at

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.


    You don’t need to erase the noise if your map was created by NVIDIA.


    We 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).

    1. Click the MANUAL ERASE NOISE button.

    2. 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.

    3. Click the CONFIRM button to save the image.


    Since 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.




  • 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.

  • 100002010000039400000246A6F1D7E39A87D0DC.png
  • 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.



  • 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.



  • Hotkey: “Shift + I”

  • Click it to import the features from the selected Geojson file.



  • 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)


    • This type can not be selected. It will be auto selected if users try to create a feature with invalid type.


    • Its polygon can not have overlapping with the other NAVIGABLE_SURFACE type polygon.





  • 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.



This field will only show up for the NAVIGABLE_SURFACE.

  • General

  • Corridor

  • Ramp


  • 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.

© Copyright 2018-2023, NVIDIA Corporation. Last updated on Oct 23, 2023.