Attribute annotation

Attribute annotation is the labeling of additional properties on an annotated object, such as its color, state, or occlusion, beyond its class. It enriches each label with descriptive details, so a "vehicle" becomes a "red, parked, partially occluded vehicle."

What is attribute annotation?

Attribute annotation adds qualifiers to an existing label. Once an object is annotated with a class and a shape, a box or mask, attributes capture its properties: a car's color, a traffic light's state (red, yellow, green), a pedestrian's pose, or whether an object is occluded or truncated.
Attributes can be categorical (color), boolean (is_occluded), or numeric, and they are defined in the label schema or ontology so they are applied consistently. They let a dataset express fine distinctions without multiplying classes: instead of "red car," "blue car," and "white car" as separate classes, you have one "car" class with a color attribute.

Key takeaways

  • Attributes are descriptive properties added to a labeled object, beyond its class.
  • They keep schemas clean, one class with attributes instead of many near-duplicate classes.
  • They are defined in the schema or ontology and applied consistently across labels.

What attribute annotation provides

Common attribute types.
Common attribute types.
TypeExamples
CategoricalColor, type, material
StateA traffic light's color, a door open or closed
Boolean flagsOccluded, truncated, visible
NumericCount, size, confidence

How it works

Attributes are defined per class in the schema, then set by annotators or models on each label. In FiftyOne, labels carry attributes alongside their class and geometry, so you can filter and slice a dataset by attribute, all occluded pedestrians, all red lights, and evaluate model performance within each.

Why it matters

Attributes are how a dataset captures the nuance that drives real model behavior, and they are the cleanest alternative to class explosion. Attributes are also the most under-audited part of a label, because review attention goes to the box or mask, so the attribute fields are where silent, systematic errors accumulate, a default value left unchanged, an occlusion flag applied inconsistently. Yet attributes often carry the safety-critical signal, a traffic light's state matters more than the box around it, so slicing evaluation by attribute frequently reveals failures the overall metric hides.

Frequently asked questions

What is attribute annotation?

Labeling descriptive properties on an object, like color, state, or occlusion, in addition to its class.

Why use attributes instead of more classes?

Attributes keep the schema clean and avoid a combinatorial explosion of near-duplicate classes.

Where are attributes defined?

In the label schema or ontology, so they are applied consistently.

Related terms

Last updated July 9, 2026

Building visual or physical AI?

Let's talk.