Back to blog
8 min read

Keeping Annotations Consistent Across Multiple Annotators

Inter-annotator agreement scoring diagram

When two annotators label the same frame differently, your model learns from noise. Annotation inconsistency doesn't show up as an obvious failure: the dataset looks complete, the training run starts, and you only discover the problem when evaluation reveals your model has learned multiple conflicting decision boundaries for the same object class.

Inter-annotator agreement, how consistently multiple annotators label the same content, is a measurable quantity. Most teams that discover it's low are surprised because their individual annotators look competent when reviewed independently. The disagreement is often systematic rather than random, and systematic disagreement is fixable.

The three main sources of annotation variance

Ambiguous labeling guidelines are the most common cause. If your annotation guide says "draw a box around the vehicle," but doesn't specify how to handle a vehicle that is partially occluded by another object, different annotators will make different choices. One annotator boxes the visible portion. Another boxes the full estimated extent of the vehicle. A third skips partially occluded objects entirely. Without explicit guidance on the edge case, all three interpretations are defensible, and your model gets three different correct answers for the same input.

The second source is inconsistent thresholds on edge cases. How small can an object be before you stop labeling it? How occluded can it be before you skip it? How blurry is too blurry for a label? Annotators develop implicit thresholds over time, and those thresholds diverge when they don't have feedback that their thresholds are drifting apart.

The third source is fatigue and attention effects. An annotator who labels 400 frames in a session will make different decisions at frame 380 than at frame 20, even on objectively identical content. Fatigue reduces precision on box placement and increases the probability of skipping ambiguous objects rather than resolving them.

Measuring inter-annotator agreement on your dataset

For object detection, Cohen's kappa is the standard summary statistic for agreement, but it's abstract. The more actionable measurement is overlap IoU on a double-annotated sample. Take 100 frames from your dataset, have two annotators label them independently, then compute the IoU between paired boxes. Distribution of IoU scores below 0.7 on the same object class in multiple frames points to a guideline gap for that class.

Run double annotation on a 2% sample continuously, not once at the start of a project. Annotator consistency degrades over long projects as individual interpretations drift. Continuous double-annotation sampling catches drift before it affects a large fraction of your dataset.

How pre-labeling changes the consistency picture

One underappreciated benefit of pre-labeling is that it partially solves the systematic disagreement problem by anchoring annotators to the same starting point. When two annotators both start from the same AI-suggested bounding box and make independent correction decisions, their corrections are much more likely to converge than when they both draw from scratch. The pre-label provides a shared visual reference that reduces the variance introduced by different drawing habits and threshold interpretations.

This doesn't eliminate the need for clear guidelines, but it means the guidelines can focus on the genuinely hard cases rather than also covering the easy cases that annotators would have agreed on anyway. If the AI pre-labeler is handling the straightforward 91% of detections, your labeling guide needs to resolve the 9% of edge cases, not the full decision space.

Structured feedback loops for annotation teams

Annotation consistency doesn't improve through passive sampling alone. When the double-annotation sample reveals a disagreement, the root cause needs to be communicated to annotators in a structured way. A weekly calibration session, where the team reviews the disagreements from the past week's sample and discusses the correct interpretation, produces faster consistency improvements than written guideline updates alone.

The format that works best is showing the two conflicting annotations side by side without revealing which annotator made each, discussing the correct interpretation as a group, and updating the guideline document in the same session so the resolution is captured before it's forgotten. This creates an organizational memory of edge-case resolutions that new annotators can access during ramp.

Consistency metrics for different annotation types

The measurement approach varies by annotation type. For bounding boxes, IoU between paired annotations is the right metric, with a threshold of 0.7 as a reasonable minimum for general object detection. For polygon annotations on irregular shapes, pixel-level Dice coefficient is more appropriate because IoU is sensitive to small boundary variations that don't meaningfully affect segmentation training. For keypoint annotations on pose estimation tasks, per-joint distance in pixels is the standard, with acceptable thresholds depending on image resolution and the precision requirements of the downstream pose estimation model.

Keypoint consistency is particularly sensitive to annotator fatigue because joint placement requires precise cursor positioning at small target areas. For high-volume pose datasets, limiting session length for keypoint annotation tasks and increasing rest frequency produces measurable consistency improvements compared to marathon annotation sessions.

When to escalate consistency issues

Not all consistency problems are solvable through guidelines and calibration. If IoU scores on a specific object class remain below 0.6 after guideline revisions and two rounds of calibration sessions, the problem may be the object class definition itself rather than annotator execution. Classes that are genuinely ambiguous at the annotation level, where experts disagree about where the object boundary should be, may need to be split into two more precisely defined classes or merged with an adjacent class if the distinction doesn't meaningfully affect model behavior.

Escalating to a domain expert for class definition review is appropriate when consistency data shows the problem is systematic and guideline-resistant. This is not an annotation failure; it's useful information about the class structure of your problem that emerges from annotation quality data and would otherwise remain hidden until model evaluation revealed the ambiguity.

Improve consistency with AI pre-labeling

New articles on annotation and CV data pipelines.

Published monthly. Technical content only.