REACT++ Scene Graph Generation — PSG (yolo12l, yolo12m, yolo12s, yolo12n, yolov8m)

This repository contains REACT++ model checkpoints for scene graph generation (SGG) on the PSG benchmark, across 5 backbone sizes.

REACT++ is a parameter-efficient, attention-augmented relation predictor built on top of a YOLO12 backbone. It uses:

  • DAMP (Detection-Anchored Multi-Scale Pooling), a new simple pooling algorithm for one-stage object detectors such as YOLO
  • SwiGLU gated MLP for all feed-forward blocks (½ the params of ReLU-MLP at equal capacity)
  • Visual x Semantic cross-attention — visual tokens attend to GloVe prototype embeddings
  • Geometry RoPE — box-position encoded as a rotary frequency bias on the Q matrix
  • Prototype Momentum Buffer — per-class EMA prototype bank
  • P5 Scene Context — AIFI-enhanced P5 tokens provide global context via cross-attention

The models were trained with the SGG-Benchmark framework and described in the REACT++ paper (Neau et al., 2026).


Results — SGDet on PSG test split (ONNX, CUDA)

Metrics from end-to-end ONNX evaluation (tools/eval_onnx_psg.py). E2E Latency = image load + pre-process + ONNX forward.

Backbone Params R@20 R@50 R@100 mR@20 mR@50 mR@100 F1@20 F1@50 F1@100 E2E Lat. (ms)
yolo12l ~26.5M 30.99 35.3 36.68 23.2 25.49 26.45 26.53 29.6 30.74 19.6
yolo12m ~20.2M 32.69 37.2 38.58 22.74 25.21 26.08 26.82 30.05 31.12 15.7
yolo12s ~9.2M 29.28 33.48 34.74 21.12 23.21 23.77 24.54 27.41 28.23 12.2
yolo12n ~2.6M 26.88 30.61 31.8 16.88 18.65 19.5 20.74 23.17 24.17 11.4
yolov8m ~25.9M 30.69 35.68 37.43 22.75 25.46 26.4 26.13 29.72 30.96 15.3

Checkpoints

Variant Sub-folder Checkpoint files
yolo12l yolo12l/ yolo12l/model.onnx (ONNX) · yolo12l/best_model_epoch_9.pth (PyTorch)
yolo12m yolo12m/ yolo12m/model.onnx (ONNX) · yolo12m/best_model_epoch_9.pth (PyTorch)
yolo12s yolo12s/ yolo12s/model.onnx (ONNX) · yolo12s/best_model_epoch_6.pth (PyTorch)
yolo12n yolo12n/ yolo12n/model.onnx (ONNX) · yolo12n/best_model_epoch_5.pth (PyTorch)
yolov8m yolov8m/ yolov8m/model.onnx (ONNX) · yolov8m/best_model_epoch_6.pth (PyTorch)

Usage

ONNX (recommended — no Python dependencies beyond onnxruntime)

from huggingface_hub import hf_hub_download

onnx_path = hf_hub_download(
    repo_id="maelic/REACTPlusPlus_PSG",
    filename="yolo12l/react_pp_yolo12m.onnx",
    repo_type="model",
)
# Run with tools/eval_onnx_psg.py or load directly via onnxruntime

PyTorch

# 1. Clone the repository
#    git clone https://github.com/Maelic/SGG-Benchmark

# 2. Install dependencies
#    pip install -e .

# 3. Download checkpoint + config
from huggingface_hub import hf_hub_download

ckpt_path = hf_hub_download(
    repo_id="maelic/REACTPlusPlus_PSG",
    filename="yolo12l/best_model.pth",
    repo_type="model",
)
cfg_path = hf_hub_download(
    repo_id="maelic/REACTPlusPlus_PSG",
    filename="yolo12l/config.yml",
    repo_type="model",
)

# 4. Run evaluation
import subprocess
subprocess.run([
    "python", "tools/relation_eval_hydra.py",
    "--config-path", str(cfg_path),
    "--task", "sgdet",
    "--eval-only",
    "--checkpoint", str(ckpt_path),
])

Citation

@article{neau2026reactpp,
  title   = {REACT++: Efficient Cross-Attention for Real-Time Scene Graph Generation
},
  author  = {Neau, Maëlic and Falomir, Zoe},
  year    = {2026},
  url     = {https://arxiv.org/abs/2603.06386},
}
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Paper for maelic/REACTPlusPlus_PSG

Evaluation results