# Ssd Voc2007 Eval

> Evaluates real-time object detection capability by predicting bounding boxes and class scores directly from multi-scale feature maps, eliminating traditional proposal generation steps. It measures how well the model localizes and classifies objects across varying scales and aspect ratios under strict latency constraints. Use when the user wants to benchmark on PASCAL VOC2007, or asks about evaluating this task. Reports mAP.

- Skill: `qhjqhj00/ssd-voc2007-eval` (Agent Skill)
- Install (CLI): `npx skillmds add qhjqhj00/ssd-voc2007-eval`
- Raw SKILL.md: https://api.skillmd.com/api/skills/qhjqhj00/ssd-voc2007-eval/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: qhjqhj00 (https://skillmd.com/u/qhjqhj00)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/qhjqhj00/ssd-voc2007-eval

---


# ssd-voc2007-eval

> SSD: Single Shot MultiBox Detector — Wei Liu et al. (2015) (arXiv:1512.02325, 2015)

## What this evaluates

Evaluates real-time object detection capability by predicting bounding boxes and class scores directly from multi-scale feature maps, eliminating traditional proposal generation steps. It measures how well the model localizes and classifies objects across varying scales and aspect ratios under strict latency constraints.

## Datasets

- **PASCAL VOC2007** — total 4952; splits: test (4952)

## Metrics

- `mAP` **(primary)** — range: percent
  - Mean Average Precision averaged over 20 object categories. Computed as the area under the precision-recall curve for each class, then averaged.

## Input / output format

**Input**: RGB image resized to 300x300 or 512x512 pixels

**Output**: List of predicted bounding boxes with associated class labels and confidence scores

## Scoring recipe

```python
def compute_mAP(preds, gts):
    ap_scores = []
    for cls in range(20):
        cls_preds = sorted([p for p in preds if p['class'] == cls], key=lambda x: x['score'], reverse=True)
        cls_gts = [g for g in gts if g['class'] == cls]
        tp, fp, matched = 0, 0, set()
        for p in cls_preds:
            best_iou, best_gt = 0, None
            for g in cls_gts:
                if g['id'] not in matched:
                    iou = calc_iou(p['bbox'], g['bbox'])
                    if iou > best_iou: best_iou, best_gt = iou, g
            if best_iou >= 0.5: tp += 1; matched.add(best_gt['id'])
            else: fp += 1
        precisions = [tp / (tp + fp + 1e-9) for _ in range(len(cls_preds))]
        recalls = [tp / max(len(cls_gts), 1) for _ in range(len(cls_preds))]
        ap_scores.append(trapezoidal(precisions, recalls))
    return sum(ap_scores) / 20
```

## Common pitfalls

- Performance degrades significantly on small objects due to limited information in top feature layers.
- High confusion rates between visually similar categories (e.g., animals) because the model shares location predictions across classes.

## Evidence (verbatim from paper)

> Table 1 shows that our low resolution SSD300 model is already more accurate than Fast R-CNN. When we train SSD on a larger 512 × 512 input image, it is even more accurate, surpassing Faster R-CNN by 1.7% mAP.

## Citation

```bibtex
@misc{liu2015ssd,
  title={SSD: Single Shot MultiBox Detector},
  author={Wei Liu et al. (2015)},
  year={2015},
  note={arXiv:1512.02325}
}
```

- arXiv: 1512.02325

