# Annotate and review images

Annotations describe geometry relative to the image. DataHub supports multiple annotation types within a project; the available editor tools and downstream format determine how each type is used.

## Choose a label type

| What you want to describe | Useful annotation |
| --- | --- |
| Whether an image belongs to a category | Image-level classification |
| Where an object is | Bounding box, including rotation where needed |
| An object's outline | Polygon or mask |
| A landmark or path | Point or line |
| Text and its location | OCR region with its transcript |
| An articulated object or landmark layout | Pose instance with a skeleton |

Use a box when location is enough. Use a polygon or mask when the boundary matters, such as a defect, organ region, or irregular object. Multiple annotation types can coexist; select an export that fits the labels you intend to train with.

## Label an image

![Demo data · Annotation editor showing a box and polygon on a generated sample image](/docs-assets/annotation-editor.jpg?v=2fef398e628c)

Demo data · Choose a class in the editor, then use a box for location or a polygon for the object's outline. Check the saved annotation before moving to the next image.

1. Open a project image in the annotator.
2. Select a class and an appropriate tool, such as a rectangle, polygon, point, line, or mask.
3. Draw and adjust the object within the image boundary.
4. Check its class and any text or other properties.
5. Save your changes and confirm the save state before moving on.

Use undo and redo to review edits. Avoid relying on an unsaved draft as your only copy when closing a session or resolving a conflict.

### Review a small batch before scaling up

Label a few varied examples first: a clear object, a partial object, and a difficult background. Agree on when to draw an object and how much of its boundary to include. Review the examples together, then use the same class names and geometry rules for the rest of the batch.

A consistent label policy is more useful than adding many loosely defined classes. Keep a separate held-out set for checking whether a trained model works on examples it did not learn from.

## Draw boxes, outlines, and masks

Select a class first so new objects receive a meaningful label. Draw the shape, then use its handles to refine the fit. Zoom in for fine boundaries and zoom back out to check that the overall object still makes sense.

For masks and multipart geometry, review separated regions and holes as well as the outer contour. A source annotation can retain this detail even when a later box-only export uses a simpler representation.

## Label text for OCR

Mark the text region and enter the transcript that belongs to that region. Keep line or word labels aligned with the crop you expect a recognition model to read. A page-level transcript and a set of region-level transcripts serve different purposes.

Recognition exports can produce rectified text crops and transcripts. Detection exports describe text-region geometry. Choose the workflow that matches your model's task.

## Create pose and landmark annotations

The **Pose** panel provides reusable ordered skeletons. Built-in templates include Human · COCO 17, Animal · AP-10K 17, hand and face landmarks, and football, basketball, badminton, and tennis court layouts.

1. Select the class for the instance, such as person, animal, or court.
2. Open **Pose** and choose a skeleton template.
3. Choose **Draw instance**, then drag an instance area on the image.
4. Move each landmark handle to its actual position.
5. Select the pose and set each landmark's visibility: **Visible**, **Occluded**, or **Unlabelled**.
6. Save and inspect the complete instance.

### Customize a skeleton

Choose **Customize** to name the skeleton, enter one ordered landmark name per line, define connecting edges, and add left/right flip pairs. In this panel, pairs use the displayed numbering—for example, `1-2, 2-3`. Choose **Save new version** to create a reusable project template.

Keep the landmark order consistent across examples. Flip pairs help preserve left/right meaning when generating mirrored training data. Sports-court presets are convenient landmark layouts, not automatic camera calibration.

### Expected result

A saved pose contains the instance class, ordered landmarks, visibility, and skeleton definition. COCO Keypoints and YOLO Pose exports carry the corresponding training structure, subject to each format's skeleton requirements.

## Manage classes

Use class management for project-wide class names and colors. A rename should be treated as a dataset change, especially when comparing older versions or reviewing already downloaded exports.

Use the latest visible class mapping when checking labels. An existing generated dataset is a separate object from the current editable project.

## Verify and compare labels

Human verification and model agreement are different signals. Verification records review status; agreement records whether a model's suggestion agrees with an annotation. Filter the review queue using the signal relevant to your task.

## Image changes and save conflicts

Geometry must match the image revision that you edited. If another operation changes the source image, a revision conflict may require a reload. Do not retry by attaching a newer revision to an older annotation draft.

For programmatic edits, use the revision-aware read and save workflow described in the [SDK documentation](/sdk-docs). Keep the annotations and their captured source identity together.

## Check the target format

An annotation can be valid in the editor while requiring a projection or being unsupported in a particular export. Inspect the [export summary](/docs/dataset-versions-exports), especially for rotated boxes, multipart shapes, holes, OCR, and keypoints.
