Understanding Labels
A label represents an annotation class in CVAT. Each label has:- Name: Unique identifier for the object class
- Color: Visual color for annotations (auto-generated if not specified)
- Type: Shape type constraint (optional)
- Attributes: Additional properties for labeled objects
- Sublabels: Nested labels for hierarchical classification
Label Types
Labels can be constrained to specific annotation shapes:Creating Labels
In Projects
Labels defined at the project level are shared across all tasks: Using the API:In Standalone Tasks
Tasks without a project can have their own labels:Using the CLI
Label Attributes
Attributes capture additional properties of annotated objects.Attribute Types
Mutable vs Immutable
- Immutable attributes: Set once per object (e.g., vehicle type)
- Mutable attributes: Can change per frame in tracks (e.g., occlusion state)
Defining Attributes
Label Hierarchies (Sublabels)
Create nested label structures for complex classification:Sublabels inherit the parent label’s type if not specified. They can have their own attributes.
Skeleton Labels
For pose estimation and keypoint detection:svg field defines connections between keypoints.
Updating Labels
Update Project Labels
Delete Labels
To delete a label, mark it withdeleted: true:
Retrieving Labels
Get Project Labels
Get Task Labels
Query Labels via API
Importing Label Schemas
From JSON File
labels.json:From Existing Project
Exporting Label Schemas
Best Practices
Design labels for your use case
Design labels for your use case
- Use clear, descriptive names: “pedestrian” not “ped”
- Avoid ambiguous class boundaries
- Consider annotation difficulty when splitting classes
- Balance between specificity and annotator burden
Use appropriate label types
Use appropriate label types
rectangle: Fast annotation for bounding boxespolygon: Precise segmentation when neededpolyline: Lane markings, boundariesskeleton: Human pose, articulated objectstag: Image-level classification
Configure attributes thoughtfully
Configure attributes thoughtfully
- Use
selectfor categorical properties - Set
mutable=truefor properties that change over time - Provide
default_valueto speed annotation - Limit attribute count to avoid annotator fatigue
Maintain color consistency
Maintain color consistency
- Use distinct colors for different classes
- Maintain color scheme across projects
- Consider colorblind-friendly palettes
- Let CVAT auto-generate colors if unsure
Plan for schema evolution
Plan for schema evolution
- Start with core classes, add as needed
- Export label schemas for reuse
- Document label definitions clearly
- Communicate changes to annotation team
Example Label Schemas
Object Detection (COCO-style)
Semantic Segmentation
Document Classification
Next Steps
Quality Control
Set up validation and quality metrics
Managing Tasks
Create tasks and upload data
Annotation Tools
Learn annotation tools and shortcuts
API Reference
Complete labels API documentation