L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Productivité · SKILL.md

pope_negative_sampling

pope_negative_sampling

Select POPE absent-object negatives using random, popular, and adversarial strategies for object hallucination evaluation.

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: pope_negative_sampling description: Select POPE absent-object negatives using random, popular, and adversarial strategies for object hallucination evaluation.

POPE Negative Sampling

Use this skill when constructing POPE-style object hallucination probes from image object annotations. It should be used after records have been normalized to {image, objects} and before emitting negative yes/no questions.

Do not use this skill to answer LVLM questions or to compute final metrics. It only chooses absent objects and computes dataset statistics.

Inputs

  • A list of image records with image and objects fields.
  • A current image's object list.
  • A per-image history of already used object names.
  • A strategy: random, popular, or adversarial.
  • For adversarial sampling, the positive anchor object.
  • Optional random seed for deterministic random selection.

Outputs

  • Dataset object frequencies.
  • Object co-occurrence rankings.
  • A selected negative object that is not present in the current image and not already used in the image history.

Workflow

  1. Normalize object strings by stripping whitespace and removing empties.
  2. Build a vocabulary and global frequency count over all records.
  3. Build co-occurrence rankings by counting other objects appearing in the same image.
  4. For random, choose an eligible absent vocabulary item with the seeded random generator.
  5. For popular, choose the most frequent eligible absent item.
  6. For adversarial, choose the highest-ranked eligible co-occurring item for the anchor; if none is eligible, fall back to popular selection and record that it remains an absent-object probe.
  7. Raise a clear error when no eligible absent object exists.

Validation

Run:

python scripts/pope_negative_sampling.py --self-test
python tests/test_negative_sampling.py

The tests verify frequency counts, co-occurrence rankings, and the invariant that present objects are never selected as negatives.

Limitations

The skill assumes object annotations are already available or have been generated by another component. It does not run segmentation or inspect images.

Skills enregistrées