3D Object annotation Using CVAT

April 4, 2023

Is CVAT capable of 3D Object Annotation?

CVAT (Computer Vision Annotation Tool) is primarily designed for 2D object annotation tasks, such as bounding boxes, polygons, and points.

However, it does have some limited support for 3D object annotation. CVAT allows you to upload 3D models in the format of .ply, .obj, .stl, or .off, and you can view and manipulate them in the 3D viewer. You can also create 3D bounding boxes around objects in the 3D viewer.

However, the 3D annotation capabilities in CVAT are not as robust as dedicated 3D annotation tools like Autodesk Maya, Blender, or Labelbox 3D. Therefore, if your annotation task involves complex 3D objects or requires precise measurements and annotations, you may need to consider using a dedicated 3D annotation tool.

How CVAT annotate 3D Objects?

CVAT allows for 3D object annotation by creating 3D bounding boxes around the objects of interest. This process involves several steps:

Upload the 3D model: First, you need to upload the 3D model to the CVAT platform in one of the supported formats (.ply, .obj, .stl, or .off).

Create a 3D task: After uploading the model, you can create a new task and select the “3D” annotation mode.

Set the viewpoint: You can select the viewpoint from which you want to annotate the 3D object. CVAT provides a 3D viewer that allows you to rotate and zoom in on the object from any angle.

Create a 3D bounding box: To annotate the object, you can create a 3D bounding box around it in the 3D viewer. You can adjust the size, position, and orientation of the box to fit the object accurately.

Save and export annotations: Once you have created the 3D bounding box, you can save the annotation and export it to a file in the desired format.

It is worth noting that the 3D annotation capabilities of CVAT are limited compared to dedicated 3D annotation tools. If your annotation task requires more advanced 3D annotations, you may need to use a dedicated 3D annotation tool

Overview of basic operations available when annotating 3D objects

Use the 3D Annotation tool for labeling 3D objects and scenes, such as vehicles, buildings, landscapes, and others.

Navigation:

The 3D annotation canvas looks like the following:

We can navigate, using the mouse, or navigation keys:

You can also use keyboard shortcuts to navigate:

Action Keys
Camera rotation Shift + Arrow (Up, Down, Left, Right)
Left/Right Alt+JAlt+L
Up/down Alt+UAlt+O
Zoom in/ou Alt+KAlt+I

Annotation with cuboids

There are two options available for 3D annotation:

  • Shape: for tasks like object detection.
  • Track: uses interpolation to predict the position of objects in subsequent frames. A unique ID will be assigned to each object and maintained throughout the sequence of images.

Annotation with shapes

To add a 3D shape, do the following:

  1. On the objects pane, select Draw new cuboid > select the label from the drop-down list > Shape.

  1. The cursor will be followed by a cuboid. Place the cuboid on the 3D scene.

      3.  Use projections to adjust the cuboid. Click and hold the left mouse button to edit the label shape on the projection

     4.  (Optional) Move one of the four points to change the size of the cuboid

  5. (Optional) To rotate the cuboid, click on the middle point and then drag the cuboid up/down or to left/right

Tracking with cuboids

To track with cuboids, do the following:

  1. On the objects pane, select Draw new cuboid > select the label from the drop-down list > Track.
  2. The cursor will be followed by a cuboid. Place the cuboid on the 3D scene.
  3. Use projections to adjust the cuboid. Click and hold the left mouse button to edit the label shape on the projection.

  1. (Optional) Move one of the four points to change the size of the cuboid.

        5.  (Optional) To rotate the cuboid, click on the middle point and then drag the cuboid up/down or to left/right.

6. Move several frames forward. You will see the cuboid you’ve added in frame 1. Adjust it, if needed.

7. Repeat to the last frame with the presence of the object you are tracking.