Skip to main content

Missed Detection Bias

Available

object_detection.missed_detection_bias

How evenly the model finds objects across classes, exposing classes that are disproportionately missed.

Contract​

FieldValue
version1.0.0
metric_typepointwise
scorer_contractper_row
directionlower_is_better
entrypointaip_metrics_object_detection.answered.missed_detection_bias
target_kindNone

Required columns​

  • image_id
  • label
  • predictions

Accepted schemas​

[
{
"name": "gdi_image_v1",
"task_types": [
"detection"
]
}
]

Methodology​

  1. Deterministic - no LLM. Uses Resaro's cv-eval library (custom Jaccard IoU, default threshold 0.5).
  2. A ground-truth box counts as found when a same-class prediction overlaps it above the IoU threshold.
  3. Sum missed boxes per class and report total missed / total ground-truth, plus the per-class breakdown.

Score semantics​

Scores capture the overall miss rate, with a per-class breakdown of what is missed. A low score means few objects are missed across classes; a high score means many are missed. Lower is better.

Worked example​

4 ground-truth boxes with only 1 matched by a same-class prediction -> 3 missed -> miss rate = 3/4 = 0.75.

Configuration schema​

{
"properties": {
"inverted": {
"default": true,
"title": "Inverted",
"type": "boolean",
"x-aip-param-role": "scoring_metadata"
},
"iou_threshold": {
"default": 0.5,
"title": "Iou Threshold",
"type": "number"
},
"label_map": {
"anyOf": [
{
"additionalProperties": {
"type": "integer"
},
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Label Map"
},
"max": {
"default": 1.0,
"title": "Max",
"type": "number",
"x-aip-param-role": "scoring_metadata"
},
"metric_name": {
"default": "missed_detection_bias",
"title": "Metric Name",
"type": "string",
"x-aip-param-role": "scoring_metadata"
},
"min": {
"default": 0.0,
"title": "Min",
"type": "number",
"x-aip-param-role": "scoring_metadata"
},
"weight": {
"default": 1.0,
"title": "Weight",
"type": "number",
"x-aip-param-role": "scoring_metadata"
}
},
"title": "InitializationConfig",
"type": "object"
}

Execution​

{
"emits_metric_family": false,
"function_name": null,
"max_concurrency": null,
"processing_kind": "cpu",
"stream_batch_size": null,
"timeout_seconds": 60
}

Complete manifest​

accepts:
- name: gdi_image_v1
task_types:
- detection
config_schema:
properties:
inverted:
default: true
title: Inverted
type: boolean
x-aip-param-role: scoring_metadata
iou_threshold:
default: 0.5
title: Iou Threshold
type: number
label_map:
anyOf:
- additionalProperties:
type: integer
type: object
- type: 'null'
default: null
title: Label Map
max:
default: 1.0
title: Max
type: number
x-aip-param-role: scoring_metadata
metric_name:
default: missed_detection_bias
title: Metric Name
type: string
x-aip-param-role: scoring_metadata
min:
default: 0.0
title: Min
type: number
x-aip-param-role: scoring_metadata
weight:
default: 1.0
title: Weight
type: number
x-aip-param-role: scoring_metadata
title: InitializationConfig
type: object
dependencies: []
description: How evenly does the model find objects across all classes?
direction: lower_is_better
display_name: Missed Detection Bias
entrypoint: aip_metrics_object_detection.answered.missed_detection_bias
execution:
emits_metric_family: false
function_name: null
max_concurrency: null
processing_kind: cpu
stream_batch_size: null
timeout_seconds: 60
kind: metric
manifest_version: '1'
max_prompt_slots: 0
metric_metadata:
methodology:
- Deterministic - no LLM. Uses Resaro's cv-eval library (custom Jaccard IoU, default
threshold 0.5).
- A ground-truth box counts as found when a same-class prediction overlaps it above
the IoU threshold.
- Sum missed boxes per class and report total missed / total ground-truth, plus
the per-class breakdown.
score_semantics: Scores capture the overall miss rate, with a per-class breakdown
of what is missed. A low score means few objects are missed across classes; a
high score means many are missed. Lower is better.
summary: How evenly the model finds objects across classes, exposing classes that
are disproportionately missed.
worked_example: 4 ground-truth boxes with only 1 matched by a same-class prediction
-> 3 missed -> miss rate = 3/4 = 0.75.
metric_type: pointwise
name: object_detection.missed_detection_bias
partition_types: []
required_columns:
- image_id
- label
- predictions
required_kinds: []
scorer_contract: per_row
target_kind: null
unsupported_trace_shapes: []
version: 1.0.0