L-CIRR is a benchmark for composed image retrieval (CIR) with long-form modification texts.
Dataset Card
By Junyeong Jang, published under cc-by-4.0, revision a8c77280077b.
L-CIRR: Long-Form Composed Image Retrieval on CIRR
L-CIRR is a benchmark for composed image retrieval (CIR) with long-form modification texts. It extends the CIRR dataset by replacing each short, single-sentence modification text with a long, detailed, multi-sentence description generated by a vision-language model (Gemini-2.5-Flash), while preserving the original image pairs and benchmark protocol.
This dataset accompanies the paper "Beyond Single Sentences: Composed Image Retrieval with Long-Form Modification Texts" (ACCV 2026).
- Paper:coming soon
- Project page: https://junyeong825.github.io/PACE/
- Code (PACE): https://github.com/JunYeong825/PACE
Why L-CIRR?
Existing CIR benchmarks provide only brief, often ambiguous modification texts that capture a small subset of the visual differences between the reference and target images, giving weak supervision for learning fine-grained image–text composition. L-CIRR instead describes compound visual changes — object attributes, spatial relationships, scene context and semantic modifications — explicitly and in full.
| Dataset | Data Type | Tools Used | Avg Length | Avg Attribute | Avg Object | Avg Unique Token |
|---|---|---|---|---|---|---|
| FashionIQ | Synthetic | – | 11.9 | 2.9 | 2.3 | 9.5 |
| CIRCO | Real-world | SEARLE | 10.5 | 0.9 | 2.4 | 9.7 |
| CIRR | Real-world | AMT | 11.8 | 1.1 | 3.5 | 11.0 |
| L-CIRR (Ours) | Real-world | Gemini-2.5-Flash | 113.7 | 21.5 | 27.5 | 76.7 |
Dataset Statistics
| Split | Queries | Unique Images | Avg Words / Text | Avg Sentences / Text | Sentence Range |
|---|---|---|---|---|---|
| train | 28,225 | 16,939 | 102.1 | 6.26 | 2 – 10 |
| validation | 4,181 | 2,297 | 99.2 | 6.13 | 2 – 10 |
Distribution of the number of sentences per modification text in the training set (left) and the validation set (right). Both splits peak at 6 sentences.
A test split is not provided: the CIRR test set does not publicly release ground-truth target image annotations, which precludes VLM-based generation of long-form texts for those image pairs. Following the CIRR protocol, models trained on L-CIRR can still be evaluated on the CIRR test server using short texts.
Dataset Structure
Each record is one retrieval query, using the same field names as CIRR's cap.rc2 annotations:
| Field | Type | Description |
|---|---|---|
pairid |
int |
Unique query id, inherited from CIRR |
reference |
string |
Reference image id (e.g. train-11041-2-img0) |
target_hard |
string |
Ground-truth target image id |
caption |
string |
Long-form modification text (this is what L-CIRR replaces) |
img_set.members |
list[string] |
The 6 image ids forming the subset used for the Rs@K metric |
Example (truncated):
{
"pairid": 0,
"reference": "train-11041-2-img0",
"target_hard": "train-11041-0-img1",
"caption": "Transform the elongated, light wood table into a square, darker-toned piece featuring a prominent central pedestal base. Replace the minimalist stools and the integrated bench with six distinct, dark wood chairs, each upholstered with a dark material. ...",
"img_set": {"members": ["train-5247-3-img1", "train-11041-0-img1", "train-11041-2-img0", "train-10570-3-img0", "train-9206-0-img0", "train-5703-0-img1"]}
}
Files
data/
├── L_cirr_train.json # 28,225 queries
└── L_cirr_val.json # 4,181 queries
assets/
└── sentence_distribution.png # figure used in this dataset card
Each file is a JSON list of records, using the same format as CIRR's cap.rc2.*.json annotations, so it
can be used as a drop-in replacement in existing CIRR-style codebases.
Images
This repository contains annotations only. The images are those of CIRR (built on NLVR2) and are not redistributed here. To use L-CIRR, download the CIRR images separately and keep the original directory layout, then pair them with the annotations by image id:
- Follow the instructions in the CIRR repository to obtain
img_raw/(or the pre-extracted features). - Use the CIRR
image_splitsfiles to map each image id to its file path.
Usage
from datasets import load_dataset
ds = load_dataset("JunYeong825/L-CIRR")
print(ds)
print(ds["train"][0]["caption"])
Split the long text into sentences (as done by PACE's progressive text accumulation):
import re
def split_sentences(text):
return [s for s in re.split(r"(?<=[.!?])\s+", text.strip()) if s]
sentences = split_sentences(ds["train"][0]["caption"])
Or load the raw files directly, exactly as you would CIRR's annotations:
import json
data = json.load(open("data/L_cirr_train.json"))
print(data[0]["caption"])
Dataset Creation
For each CIRR triplet, the reference image and the target image are jointly given to Gemini-2.5-Flash with a prompt instructing it to produce a comprehensive, multi-sentence description of the visual differences between the two images. The generated text replaces the original short modification text, forming the new triplet (reference image, long-form text, target image). The image pairs themselves are unchanged from CIRR.
Limitations
- Modification texts are machine-generated and have not been exhaustively verified by human annotators; they may contain occasional hallucinated or imprecise details.
- The dataset inherits the image distribution and any biases of CIRR / NLVR2.
- Texts are English only.
License
The annotations in this repository — the long-form modification texts and the accompanying metadata — are
released under CC BY 4.0 (see LICENSE). This matches the
licensing of the upstream annotations: CIRR releases its annotations under the MIT License, and NLVR2
releases its annotations under CC BY 4.0.
The images are not covered by this license and are not redistributed here. Cornell University does not hold the copyright to the NLVR2 images and therefore does not license them; access is granted for research purposes through the NLVR2 Terms of Service. Users of L-CIRR must obtain the images themselves and are bound by those terms.
Citation
@inproceedings{jang2026beyond,
title = {Beyond Single Sentences: Composed Image Retrieval with Long-Form Modification Texts},
author = {Jang, Junyeong and Lee, Seongwon},
booktitle = {Proceedings of the Asian Conference on Computer Vision (ACCV)},
year = {2026}
}
Please also cite the original CIRR dataset:
@inproceedings{liu2021image,
title = {Image Retrieval on Real-life Images with Pre-trained Vision-and-Language Models},
author = {Liu, Zheyuan and Rodriguez-Opazo, Cristian and Teney, Damien and Gould, Stephen},
booktitle = {Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)},
pages = {2125--2134},
year = {2021}
}
Structure
default 32,406 rows
| Split | Rows | Size |
|---|---|---|
| train | 28,225 | 24.2 MB |
| validation | 4,181 | 3.4 MB |
Details
- Repository
- JunYeong825/L-CIRR
- Publisher
- Junyeong Jang
- Task category
- Image to image
- Tags
- composed-image-retrieval, image-retrieval, vision-language
- Size category
- 10K<n<100K
- Languages
- en
- Revision
- a8c77280077b6a6cf564494f9b1fcd9f75339666
- Last updated
- 2026-09-28
Files
7 files, 36.0 MB in total.
Every file
| File | Type | Size | SHA-256 |
|---|---|---|---|
| data/L_cirr_train.json | Data | 31.3 MB | 7043b9ddd7e9 |
| data/L_cirr_val.json | Data | 4.5 MB | e212dc5c2623 |
| LICENSE | Documentation | 1.9 KB | — |
| README.md | Documentation | 7.7 KB | — |
| assets/sentence_distribution.png | Other | 71.6 KB | — |
| assets/text_comparison.png | Other | 197.5 KB | b3b8181f5729 |
| .gitattributes | Repository | 43 B | — |
License and Download
- License
- cc-by-4.0
- Access
- No access gate
Released by Junyeong Jang through its official repository on Hugging Face. Read the license.