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.
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 binarylabel(0 = original, 1 = edited). - Images stored as
datasets.Image; downloaded/decoded automatically. - Produced by
add_rejected_answer.pyfrom the balanced JSONL, then pushed to the Hub.
Data fields
image(datasets.Image): The image (original or edited, perlabel).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
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.
