Skip to main content

Images

Encord provides comprehensive support for image annotation. With the image editor, you can:

  • Label using any annotation type
  • Create frame-level & object classifications
  • Reduce manual annotations with automation (e.g., importing model predictions) features

Task Management#

Before we get into the details of the label editor and making annotations, a quick note about scheduling annotation work. Annotation is done in the annotation phase of the task management system. In order to ensure annotation work is saved properly, it's crucial that each labeling task is properly assigned to an annotator, annotators always access the task through the Queue tab in the Task Management System, and only the assigned annotator works on any given task at any given time.

Annotation types#

Objects are annotated using bounding boxes, polygons, polylines, keypoints or primitives. Frames are annotated using classifications. Instantiating objects or classifications in the image editor generates a UUID that uniquely identifies that label in the frame.

Labels can be assigned with static classifications as defined in the specified ontology. Static classifications define the global properties of an object (e.g., the butterfly is of type red admiral and is orange).

You can read more about automation for image annotation here.

Bounding box#

Creating a bounding box requires an ontology with a bounding box annotation type. Instantiate a new bounding box label by clicking on the specified class in the 'Classes' menu, or by using the specified hotkey (e.g., 1, 2, 3).

Bounding box labels can be assigned with static classifications should they be defined in your ontology:

  • Highlight an object by clicking on it in the editor canvas or by clicking on the Plus icon or start/end frame in the range overview for the specified bounding box
  • Assign a classifications by clicking on the relevant buttons or using the set hotkeys (e.g., q, u).

Polygon#

Creating a polygon requires an ontology with a polygon annotation type. Enable or disable free-hand drawing mode by pressing d on your keyboard. Polygon coarseness for polygons drawn free-hand is set in the 'Settings' drawer in the Drawing settings dropdown. Instantiate a new polygon label by clicking on the specified class in the 'Classes' menu or using the specified hotkey (e.g., 1, 2, 3).

A polygon can be closed by double-clicking anywhere on the canvas. Doing so will "snap" creating an edge between the last vertex to the first vertex drawn.

Polygon labels can be assigned with static classifications should they be defined in your ontology:

  • Highlight an object by clicking on it in the editor canvas or by clicking on the Plus icon or start/end frame in the range overview for the specified polygon
  • Assign a classifications by clicking on the relevant buttons or using the set hotkeys (e.g., q, u)

Polyline#

Creating a polyline requires an ontology with a polyline annotation type. Enable or disable free-hand drawing mode by pressing d on your keyboard. Polyline coarseness for polylines drawn free-hand is set in the 'Settings' drawer in the Drawing settings dropdown. Instantiate a new polyline label by clicking on the specified class in the 'Classes' menu or using the specified hotkey (e.g., 1, 2, 3).

Complete a polyline by double-clicking anywhere on the canvas.

Polyline labels can be assigned with static classifications should they be defined in your ontology:

  • Highlight an object by clicking on it in the editor canvas or by clicking on the Plus icon or start/end frame in the range overview for the specified polyline
  • Assign a classification by clicking on the relevant buttons or using the set hotkeys (e.g., q, u)

Keypoint#

Creating a keypoint requires an ontology with a keypoint annotation type. Instantiate a new keypoint label by clicking on the specified class in the 'Classes' menu or using the specified hotkey (e.g., 1, 2, 3).

Keypoints labels can be assigned with static classifications should they be defined in your ontology:

  • Highlight an object by clicking on it in the editor canvas or by clicking on the Plus icon or start/end frame in the range overview for the specified keypoint
  • Assign classifications by clicking on the relevant buttons or using the set hotkeys (e.g., q, u)

Primitives#

Creating a primitive (f.k.a. skeleton templates) requires an ontology with a primitive annotation type. Use primitives to templatize shapes (e.g., 3D cuboids, pose estimation skeletons, rotated bounding boxes) commonly used by your annotation team.

Instantiate a new primitive label by clicking on the specified class in the 'Classes' menu or using the specified hotkey (e.g., 1, 2, 3).

Primitives allow you to define properties of edges defined in your template as visible, occluded, or invisible. Toggle the edge property settings for a primitive by highlighting the primitive and clicking the Show controls button.

Primitive labels can be assigned with static classifications should they be defined in your ontology:

  • Highlight an object by clicking on it in the editor canvas or by clicking on the Plus icon or start/end frame in the range overview for the specified primitive
  • Assign classifications by clicking on the relevant buttons or using the set hotkeys (e.g., q, u)

Frame classification#

Creating frame classification(s) requires an ontology with a classification annotation type. Frame-level classifications consider the frame as a whole, not the objects' localization. Instantiate a frame-level classification label by clicking on the specified class in the 'Classes' menu or using the specified hotkey (e.g., 1, 2, 3).

Encord currently supports radio, checklist, and free-form text input classification types.

Edit existing classification labels by clicking on the Plus icon for the specified label.

Automation#

Import model predictions#

Encord's Python SDK & APIs allow you to import model predictions programmatically. Importing model predictions helps to pre-annotate your data to save annotation costs and use our quality control system for model validation.

Model training & inference#

note

Native support for model training & inference for images is coming soon.

Encord allows you to build models for automated data labeling that target individual features in your ontology in aearn easy-to-use interface. We call these micro-models. Rapidly train micro-models using Encord's GPU-accelerated container orchestration system on sparse amounts of data.

You can read more about model training & inference here.