# Sgg Vg150 Eval

> Evaluates a model's ability to generate structured scene graphs from images without predefined object boxes. It probes visual relationship reasoning, object detection accuracy, and the model's capacity to produce structurally valid outputs under strict spatial and categorical matching criteria. Use when the user wants to benchmark on VG150, PSG, or asks about evaluating this task. Reports Recall.

- Skill: `qhjqhj00/sgg-vg150-eval` (Agent Skill)
- Install (CLI): `npx skillmds add qhjqhj00/sgg-vg150-eval`
- Raw SKILL.md: https://api.skillmd.com/api/skills/qhjqhj00/sgg-vg150-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/sgg-vg150-eval

---


# sgg-vg150-eval

> Compile Scene Graphs with Reinforcement Learning — Chen et al. (2025) (arXiv:2504.13617, 2025)

## What this evaluates

Evaluates a model's ability to generate structured scene graphs from images without predefined object boxes. It probes visual relationship reasoning, object detection accuracy, and the model's capacity to produce structurally valid outputs under strict spatial and categorical matching criteria.

## Datasets

- **VG150** — total 61224; splits: train (56224), val (5000)
- **PSG** — total 48749; splits: train (46563), test (2186)

## Metrics

- `Recall` **(primary)** — range: percent
  - Fraction of ground-truth triplets correctly predicted. A triplet matches if subject and object bounding boxes have IoU ≥ 0.5 with ground truth, and subject category, object category, and relationship label exactly match.
- `mRecall` — range: percent
  - Mean of Recall scores computed independently for each relation category.
- `AP@50` — range: percent
  - Average Precision for object detection at an IoU threshold of 0.5.
- `Failure Rate` — range: percent
  - Percentage of samples where the model fails to produce a structurally valid scene graph (e.g., invalid JSON or missing required fields).

## Input / output format

**Input**: Image paired with a prompt template that includes predefined object classes and relation categories (or omitted in ablation settings).

**Output**: Structured scene graph in JSON format containing subject/object bounding boxes, categories, and relationship labels.

## Scoring recipe

```python
def compute_recall(pred, gt):
    correct = 0
    for gt_trip in gt:
        for pred_trip in pred:
            if (iou(pred.sub_box, gt_trip.sub_box) >= 0.5 and
                iou(pred.obj_box, gt_trip.obj_box) >= 0.5 and
                pred.sub_cat == gt_trip.sub_cat and
                pred.obj_cat == gt_trip.obj_cat and
                pred.rel == gt_trip.rel):
                correct += 1
                break
    return correct / len(gt) if gt else 0.0
def compute_mrecall(recalls_per_cat):
    return sum(recalls_per_cat) / len(recalls_per_cat)
```

## Common pitfalls

- Failure Rate is highly sensitive to format consistency; zero-shot M-LLMs often output invalid JSON, inflating this metric despite correct semantic predictions.
- mRecall is averaged over relation categories rather than images, which can obscure performance drops on rare or long-tail relationships.
- The SGDET protocol explicitly requires generating graphs without predefined object boxes, unlike detection-based baselines that use external detectors.
- IoU threshold for box matching is strictly 0.5; predictions with lower spatial overlap are penalized even if semantically plausible.

## Evidence (verbatim from paper)

> SGDET requires the model to generate scene graphs directly from the image without any predefined object boxes. Performance is evaluated using Recall and mean Recall (mRecall). Recall is computed for each image-graph pair, where a predicted triplet is considered correct if both the subject and object bounding boxes have an Intersection over Union (IoU) of at least 0.5 with the corresponding ground-truth boxes, and the subject category, object category, and relationship label all match the ground truth. Mean Recall (mRecall) is obtained by averaging the Recall across all relation categories.

## Citation

```bibtex
@misc{chen2025compiles,
  title={Compile Scene Graphs with Reinforcement Learning},
  author={Chen et al. (2025)},
  year={2025},
  note={arXiv:2504.13617}
}
```

- arXiv: 2504.13617

