Skip to main content

Label Quality Metrics

Label Quality Metrics operate on the geometries of objects like bounding boxes, polygons, and polylines.

TitleMetric TypeData Type
Annotation Duplicates - Ranks annotations by how likely they are to represent the same object.imagebounding box, polygon, rotatable bounding box
Annotation closeness to image borders - Ranks annotations by how close they are to image borders.imagebounding box, point, polygon, polyline, rotatable bounding box, skeleton
Detect Occlusion in Video - Tracks objects and detect outliers.sequencebounding box, rotatable bounding box
Frame object density - Computes the percentage of image area that's occupied by objects.imagebounding box, polygon, rotatable bounding box
Image-level Annotation Quality - Compares image classifications against similar images.imageradio
Inconsistent Object Classification and Track IDs - Looks for overlapping objects with different classes (across frames).sequencebounding box, polygon, rotatable bounding box
Missing Objects and Broken Tracks - Identifies missing objects and broken tracks based on object overlaps.sequencebounding box, polygon, rotatable bounding box
Object Annotation Quality - Compares object annotations against similar image crops.imagebounding box, polygon, rotatable bounding box
Object Area - Absolute - Computes object area in amount of pixels.imagebounding box, polygon, rotatable bounding box
Object Area - Relative - Computes object area as a percentage of total image area.imagebounding box, polygon, rotatable bounding box
Object Aspect Ratio - Computes aspect ratios of objects.imagebounding box, polygon, rotatable bounding box
Object Count - Counts number of objects in the image.imagebounding box, checklist, point, polygon, polyline, radio, rotatable bounding box, skeleton, text
Polygon Shape Similarity - Ranks objects by how similar they are to their instances in previous frames.sequencepolygon
Random Values on Objects - Assigns a random value between 0 and 1 to objects.imagebounding box, polygon, rotatable bounding box
Shape outlier detection - Calculates potential outliers by polygon shape.imagepolygon

Annotation Duplicates

Ranks annotations by how likely they are to represent the same object.

Jaccard similarity coefficient is used to measure closeness of two annotations.

Implementation on GitHub

Annotation closeness to image borders

This metric ranks annotations by how close they are to image borders.

Implementation on GitHub

Detect Occlusion in Video

This metric collects information related to object size and aspect ratio for each track and find outliers among them.

Implementation on GitHub

Frame object density

Computes the percentage of image area that's occupied by objects.

Implementation on GitHub

Image-level Annotation Quality

This metric creates embeddings from images. Then, these embeddings are used to build nearest neighbor graph. Similar embeddings' classifications are compared against each other.

Implementation on GitHub

Inconsistent Object Classification and Track IDs

This algorithm looks for overlapping objects in consecutive frames that have different classes. Furthermore, if classes are the same for overlapping objects but have different track-ids, they will be flagged as potential inconsistencies in tracks.

Example 1:

      Frame 1                       Frame 2
┌───────────────────┐ ┌───────────────────┐
│ │ │ │
│ ┌───────┐ │ │ ┌───────┐ │
│ │ │ │ │ │ │ │
│ │ CAT:1 │ │ │ │ DOG:1 │ │
│ │ │ │ │ │ │ │
│ └───────┘ │ │ └───────┘ │
│ │ │ │
└───────────────────┘ └───────────────────┘

Dog:1 will be flagged as potentially wrong class, because it overlaps with CAT:1.

Example 2:

      Frame 1                       Frame 2
┌───────────────────┐ ┌───────────────────┐
│ │ │ │
│ ┌───────┐ │ │ ┌───────┐ │
│ │ │ │ │ │ │ │
│ │ CAT:1 │ │ │ │ CAT:2 │ │
│ │ │ │ │ │ │ │
│ └───────┘ │ │ └───────┘ │
│ │ │ │
└───────────────────┘ └───────────────────┘

Cat:2 will be flagged as potentially having a broken track, because track ids 1 and 2 doesn't match.

Implementation on GitHub

Missing Objects and Broken Tracks

Identifies missing objects by comparing object overlaps based on a running window.

Case 1: If an intermediate frame (frame ii) doesn't include an object in the same region, as the two surrounding frames (i1i-1 and i+1i+1), it is flagged.

      Frame i-1                     Frame i                      Frame i+1
┌───────────────────┐ ┌───────────────────┐ ┌───────────────────┐
│ │ │ │ │ │
│ ┌───────┐ │ │ │ │ ┌───────┐ │
│ │ │ │ │ │ │ │ │ │
│ │ CAT:1 │ │ │ │ │ │ CAT:1 │ │
│ │ │ │ │ │ │ │ │ │
│ └───────┘ │ │ │ │ └───────┘ │
│ │ │ │ │ │
│ │ │ │ │ │
└───────────────────┘ └───────────────────┘ └───────────────────┘

Frame ii will be flagged as potentially missing an object.

Case 2: If objects of the same class overlap in three consecutive frames (i1i-1, ii, and i+1i+1) but do not share object hash, they will be flagged as a potentially broken track.

      Frame i-1                     Frame i                      Frame i+1
┌───────────────────┐ ┌───────────────────┐ ┌───────────────────┐
│ │ │ │ │ │
│ ┌───────┐ │ │ ┌───────┐ │ │ ┌───────┐ │
│ │ │ │ │ │ │ │ │ │ │ │
│ │ CAT:1 │ │ │ │ CAT:2 │ │ │ │ CAT:1 │ │
│ │ │ │ │ │ │ │ │ │ │ │
│ └───────┘ │ │ └───────┘ │ │ └───────┘ │
│ │ │ │ │ │
│ │ │ │ │ │
└───────────────────┘ └───────────────────┘ └───────────────────┘

CAT:2 will be marked as potentially having a wrong track id.

Implementation on GitHub

Object Annotation Quality

This metric transforms polygons into bounding boxes and an embedding for each bounding box is extracted. Then, these embeddings are compared with their neighbors. If the neighbors are annotated differently, a low score is given to it.

Implementation on GitHub

Object Area - Absolute

Computes object area in amount of pixels.

Implementation on GitHub

Object Area - Relative

Computes object area as a percentage of total image area.

Implementation on GitHub

Object Aspect Ratio

Computes aspect ratios (width/heightwidth/height) of objects.

Implementation on GitHub

Object Count

Counts number of objects in the image.

Implementation on GitHub

Polygon Shape Similarity

Ranks objects by how similar they are to their instances in previous frames based on Hu moments. The more an object's shape changes, the lower its score will be.

Implementation on GitHub

Random Values on Objects

Uses a uniform distribution to generate a value between 0 and 1 to each object

Implementation on GitHub

Shape outlier detection

Computes the Euclidean distance between the polygons' Hu moments for each class and the prototypical class moments.

Implementation on GitHub