Skip to content
Back to skills

Hal Eval Eval

ASecurity

Evaluates Large Vision-Language Models (LVLMs) for hallucinations by measuring their ability to generate faithful image descriptions (generative evaluation) and detect hallucinations in provided captions (discriminative evaluation). It specifically probes fine-grained hallucination categories: object, relation, attribute, and event hallucinations, while also analyzing the impact of output length and Chain-of-Thought prompting. Use when the user wants to benchmark on COCO 2014, or asks about e...

  • 3 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added September 11, 2026
researchpythongo

Security analysis

A100/100

Scanned September 11, 2026

npx -y skills add qhjqhj00/research-skills-pool --skill hal-eval-eval --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Hal Eval Eval?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Hal Eval Eval
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/qhjqhj00-hal-eval-eval/badge)](https://www.skillsdirectory.com/skills/qhjqhj00-hal-eval-eval)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: hal-eval-eval
description: Evaluates Large Vision-Language Models (LVLMs) for hallucinations by measuring their ability to generate faithful image descriptions (generative evaluation) and detect hallucinations in provided captions (discriminative evaluation). It specifically probes fine-grained hallucination categories: object, relation, attribute, and event hallucinations, while also analyzing the impact of output length and Chain-of-Thought prompting. Use when the user wants to benchmark on COCO 2014, or asks about evaluating this task. Reports F1 score, Accuracy.
metadata:
  skill_kind: dataset_eval
  source_arxiv: 2402.15721
  bibtex_key: [REDACTED]
  confidence: high
---

# hal-eval-eval

> Hal-Eval: A Universal and Fine-grained Hallucination Evaluation Framework for Large Vision Language Models — Chaoya Jiang et al. (arXiv:2402.15721, 2024)

## What this evaluates

Evaluates Large Vision-Language Models (LVLMs) for hallucinations by measuring their ability to generate faithful image descriptions (generative evaluation) and detect hallucinations in provided captions (discriminative evaluation). It specifically probes fine-grained hallucination categories: object, relation, attribute, and event hallucinations, while also analyzing the impact of output length and Chain-of-Thought prompting.

## Datasets

- **COCO 2014** — total 10000; splits: in-domain (5000), out-of-domain (5000)

## Metrics

- `F1 score` **(primary)** — range: [0, 1]
  - Harmonic mean of precision and recall for detecting hallucinations per type (object, relation, attribute, event) in discriminative evaluation. Calculated as 2 * (precision * recall) / (precision + recall).
- `Accuracy` **(primary)** — range: percent
  - Percentage of generated image descriptions that contain zero hallucinations according to the AFHA annotation framework in generative evaluation.
- `Hallucination Ratio` — range: percent
  - Proportion of generated outputs that contain a specific hallucination type (object, relation, attribute, or event) out of the total evaluated outputs.
- `Pearson's r / Spearman's ρ / Kendall's τ` — range: [-1, 1]
  - Statistical correlation coefficients measuring the alignment between automated metric scores and human judgment on hallucination presence across a 50-image test set.

## Input / output format

**Input**: Image paired with a text prompt for generation; for discriminative evaluation, image paired with a reference caption or question.

**Output**: Text description of the image (generative); binary classification or hallucination type label (discriminative).

## Scoring recipe

```python
def score_discriminative(predictions, gold_labels):
    tp = sum(1 for p, g in zip(predictions, gold_labels) if p == 'hallucination' and g == 'hallucination')
    fp = sum(1 for p, g in zip(predictions, gold_labels) if p == 'hallucination' and g == 'no')
    fn = sum(1 for p, g in zip(predictions, gold_labels) if p == 'no' and g == 'hallucination')
    precision = tp / (tp + fp) if (tp + fp) > 0 else 0
    recall = tp / (tp + fn) if (tp + fn) > 0 else 0
    return 2 * precision * recall / (precision + recall) if (precision + recall) > 0 else 0

def score_generative(predictions, gold_captions):
    correct = sum(1 for pred in predictions if not contains_hallucination(pred, gold_captions))
    accuracy = correct / len(predictions)
    hallucination_ratio = sum(1 for pred in predictions if has_type_hallucination(pred, target_type)) / len(predictions)
    return accuracy, hallucination_ratio
```

## Common pitfalls

- Models exhibit a strong 'yes' bias in discriminative settings, which can artificially inflate accuracy if not mitigated via specific prompting or filtering.
- Event hallucinations are significantly harder to detect than object/attribute hallucinations, especially in generative settings with long outputs, leading to misleadingly high discriminative scores.
- Output length strongly correlates with hallucination rates; evaluating only short outputs masks the model's true faithfulness on complex descriptions.

## Evidence (verbatim from paper)

> Table [4] displays the average F1 scores for various hallucination types in discriminative assessments and the average hallucination rates for LVLM’s long outputs (>=80) in generative assessments.

## Citation

```bibtex
@misc{jiang2024haleval,
  title={Hal-Eval: A Universal and Fine-grained Hallucination Evaluation Framework for Large Vision Language Models},
  author={Chaoya Jiang et al.},
  year={2024},
  note={arXiv:2402.15721}
}
```

- arXiv: 2402.15721

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.