Recall
object_detection.recall
The fraction of real objects the model successfully detects.
Contract
| Field | Value |
|---|---|
version | 1.0.0 |
metric_type | pointwise |
scorer_contract | full_dataset |
direction | higher_is_better |
entrypoint | aip_scorers_object_detection.object_detection.rates |
target_kind | None |
Required columns
image_idlabelpredictions
Accepted schemas
[
{
"name": "gdi_image_v1",
"task_types": [
"detection"
]
}
]
Methodology
- Deterministic - no LLM. Uses Resaro's cv-eval library (custom Jaccard IoU, default threshold 0.5).
- Per image, greedily match same-class detections to ground-truth boxes above the IoU threshold.
- Aggregate same-class true-positive, false-positive, and false-negative counts across the dataset.
- Report recall using the configured averaging method (micro by default; macro, weighted, and per-class are also supported).
Score semantics
Scores range 0-1: correctly-detected objects divided by all ground-truth objects. A high score means few objects are missed; a low score means many are missed. Higher is better.
Worked example
2 correct detections out of 3 ground-truth objects -> recall = 2/3 ~ 0.667.
Configuration schema
{
"properties": {
"averaging_method": {
"default": "micro",
"enum": [
"macro",
"micro",
"weighted",
"per_class"
],
"title": "Averaging Method",
"type": "string"
},
"inverted": {
"default": false,
"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": "recall",
"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": true,
"function_name": "object_detection.confusion_matrix",
"max_concurrency": null,
"processing_kind": "cpu",
"stream_batch_size": null,
"timeout_seconds": 600
}
Complete manifest
accepts:
- name: gdi_image_v1
task_types:
- detection
config_schema:
properties:
averaging_method:
default: micro
enum:
- macro
- micro
- weighted
- per_class
title: Averaging Method
type: string
inverted:
default: false
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: recall
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: What fraction of real objects does the model successfully detect?
direction: higher_is_better
display_name: Recall
entrypoint: aip_scorers_object_detection.object_detection.rates
execution:
emits_metric_family: true
function_name: object_detection.confusion_matrix
max_concurrency: null
processing_kind: cpu
stream_batch_size: null
timeout_seconds: 600
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).
- Per image, greedily match same-class detections to ground-truth boxes above the
IoU threshold.
- Aggregate same-class true-positive, false-positive, and false-negative counts
across the dataset.
- Report recall using the configured averaging method (micro by default; macro,
weighted, and per-class are also supported).
score_semantics: 'Scores range 0-1: correctly-detected objects divided by all ground-truth
objects. A high score means few objects are missed; a low score means many are
missed. Higher is better.'
summary: The fraction of real objects the model successfully detects.
worked_example: 2 correct detections out of 3 ground-truth objects -> recall = 2/3
~ 0.667.
metric_type: pointwise
name: object_detection.recall
partition_types: []
required_columns:
- image_id
- label
- predictions
required_kinds: []
scorer_contract: full_dataset
target_kind: null
unsupported_trace_shapes: []
version: 1.0.0