CoolFace
Datasetpublic

vanloc1808/pico-banana-smolvlm-format-with-rejected-answer

pico-banana-smolvlm-format-with-rejected-answer Balanced image-level tampering detection dataset in SmolVLM-style format with chosen/rejected answer pairs, derived from the pico-banana MCQ pipeline. Suitable for preference learning (e.g. DPO) and RLHF-style training. Dataset overview Same as vanloc1808/pico-banana-smolvlm-format, but each example includes a rejected_answer field: the answer from the counterpart sample (same edited/original image pair, opposite… See the full description on the dataset page: https://huggingface.co/datasets/vanloc1808/pico-banana-smolvlm-format-with-rejected-answer.

sourceHugging Faceupdated 7mo agoView on Hugging Face
1likes939downloads
Dataset Card

pico-banana-smolvlm-format-with-rejected-answer

Balanced image-level tampering detection dataset in SmolVLM-style format with chosen/rejected answer pairs, derived from the pico-banana MCQ pipeline. Suitable for preference learning (e.g. DPO) and RLHF-style training.

Dataset overview

Same as vanloc1808/pico-banana-smolvlm-format, but each example includes a rejected_answer field: the answer from the counterpart sample (same edited/original image pair, opposite image_used_as_main). This allows training models to prefer the correct (chosen) explanation over the incorrect (rejected) one.

  • —Each example: one image, one question, chosen answer (answer), rejected answer (rejected_answer), and binary label (0 = original, 1 = edited).
  • —Images stored as datasets.Image; downloaded/decoded automatically.
  • —Produced by add_rejected_answer.py from the balanced JSONL, then pushed to the Hub.

Data fields

  • —image (datasets.Image): The image (original or edited, per label).
  • —question (string): Fixed prompt (same as base dataset).
  • —answer (string): Chosen explanation (correct for this image).
  • —rejected_answer (string): Rejected explanation (from counterpart sample with opposite label).
  • —label (int64): 0 = original, 1 = edited/tampered.

Splits

train and validation (default 90/10 split, seed 42), same as base dataset.

Usage

python
from datasets import load_dataset

repo_id = "vanloc1808/pico-banana-smolvlm-format-with-rejected-answer"
ds = load_dataset(repo_id)
ex = ds["train"][0]
image = ex["image"]
question = ex["question"]
chosen = ex["answer"]
rejected = ex["rejected_answer"]
label = ex["label"]

License and attribution

Same as the base pico-banana dataset. Refer to upstream sources for licensing.