CoolFace
Datasetpublic

wovenbytoyota-vai/InstVL

InstVL: A Large-Scale Instance-Aware Vision-Language Dataset This is the official repository for the InstVL dataset, introduced in the paper InstAP: Instance-Aware Vision-Language Pre-Train for Spatial-Temporal Understanding. InstVL is a large-scale dataset of images and videos designed to bridge the gap between holistic scene understanding and fine-grained, instance-level comprehension. Current vision-language pre-training (VLP) paradigms excel at global scene understanding… See the full description on the dataset page: https://huggingface.co/datasets/wovenbytoyota-vai/InstVL.

sourceHugging Faceupdated 6mo agoView on Hugging Face
5likes286downloads
Dataset Card

InstVL: A Large-Scale Instance-Aware Vision-Language Dataset

[image]

This is the official repository for the InstVL dataset, introduced in the paper InstAP: Instance-Aware Vision-Language Pre-Train for Spatial-Temporal Understanding.

InstVL is a large-scale dataset of images and videos designed to bridge the gap between holistic scene understanding and fine-grained, instance-level comprehension. Current vision-language pre-training (VLP) paradigms excel at global scene understanding but struggle with instance-level reasoning due to global-only supervision. InstVL addresses this by providing dual-granularity annotations that enable instance-aware pre-training.

InstVL provides two levels of detailed textual annotations:

  • —Global Captions — A comprehensive description of the entire scene.
  • —Instance Captions — Fine-grained descriptions grounded to specific object regions (in images) or spatial-temporal trajectories (in videos).

The dataset contains 2 million images and 50,000 videos, providing rich supervision for instance-centric pre-training and benchmarking.


💻 How to Load with 🤗 Datasets

You can load the dataset directly using the Hugging Face datasets library. You must specify which configuration (image or video) you want to load.

Loading the Image Dataset

python
from datasets import load_dataset

img_ds = load_dataset(
    "wovenbytoyota-vai/instvl",
    name="image",
    data_files={
        "train": "train/instvl_img_2m.jsonl",
        "test_1k": "test/instvl_img_1k.jsonl",
        "test_10k": "test/instvl_img_10k.jsonl",
        "test_zero_1k": "test/instvl_img_zero_1k.jsonl",
        "test_zero_10k": "test/instvl_img_zero_10k.jsonl",
    },
)

# Access a split
train_split = img_ds["train"]

print(train_split[0])

Loading the Video Dataset

python
from datasets import load_dataset

video_ds = load_dataset(
    "wovenbytoyota-vai/instvl",
    name="video",
    data_files={
        "train": "train/instvl_video_50k.jsonl",
        "test_1k": "test/instvl_video_1k.jsonl",
        "test_10k": "test/instvl_video_10k.jsonl",
    }
)
# Access a split
train_split = video_ds["train"]

# Print the first example
print(train_split[0])

📋 Dataset Structure

The dataset is organized into train and test splits, with data provided in the JSON Lines (.jsonl) format.

text
.
├── test
│   ├── instvl_img_10k.jsonl
│   ├── instvl_img_1k.jsonl
│   ├── instvl_img_zero_10k.jsonl
│   ├── instvl_img_zero_1k.jsonl
│   ├── instvl_video_10k.jsonl
│   └── instvl_video_1k.jsonl
└── train
    ├── instvl_img_2m.jsonl
    └── instvl_video_50k.jsonl

🖼️ Image Data Structure

Each line in the image .jsonl files represents a single image and its annotations.

Fields

KeyData TypeDescription
imageStringThe relative file path to the JPG image.
captionStringA detailed, holistic caption describing the entire image scene.
image_idStringA unique identifier for the image.
instance_dataList of ObjectsA list of annotations for specific object instances within the image. Each annotation pairs a bounding box with a free-form sentence describing that instance. Can be [].

instance_data Object

KeyData TypeDescription
instance_idStringA unique ID for the detected object within the image.
instance_categoryStringThe category or class assigned to the object (e.g., "Shoes", "Player").
bboxList of IntThe bounding box coordinates for the object, in [x, y, width, height] format.
instance_captionStringA fine-grained caption describing only the object within the bounding box.

📹 Video Data Structure

Each line in the video .jsonl files represents a single video segment and its annotations.

Fields

KeyData TypeDescription
videoStringThe filename of the segmented MP4 video clip.
resolutionList of IntThe video's resolution as [height, width].
captionStringA detailed summary of the events and scene within the entire video segment.
durationFloatThe total duration of the video segment in seconds.
segment_frame_rangeList of IntThe [start_frame, end_frame] numbers from the original, full-length source video.
instance_dataList of ObjectsA list containing information about each object tracked across multiple frames. The instance caption is shared by all boxes on an object's trajectory.

instance_data Object

KeyData TypeDescription
instance_idIntegerA unique ID for the tracked object within this video segment.
instance_categoryStringThe category assigned to the tracked object (e.g., "person", "furniture").
instance_captionStringA summary describing the object and its actions throughout the video.
framesList of ObjA list of frame-wise boxes for the object.
frameInteger(Field inside each frames item) The frame index.
bboxList of Int(Field inside each frames item) The bounding box coordinates [x, y, width, height] for the object on a specific frame.

📊 Data Splits

The InstVL dataset is divided into several training and test splits to facilitate robust benchmarking.

SplitFilename# of SamplesDescription
Traintrain/instvl_img_2m.jsonl~2,000,000Main training set for images.
Traintrain/instvl_video_50k.jsonl~50,000Main training set for videos.
Testtest/instvl_img_1k.jsonl2,442Standard image test set.
Testtest/instvl_img_10k.jsonl23,129Larger image test set.
Testtest/instvl_video_1k.jsonl2,508Standard video test set.
Test-Zerotest/instvl_img_zero_1k.jsonl2,570Zero-shot image test set.
Test-Zerotest/instvl_img_zero_10k.jsonl26,029Larger zero-shot image test set.

Meaning of the "Zero" Splits

The img-zero splits are a key component for evaluation. These subsets are sourced entirely from COYO, whereas the main training images (and their corresponding test splits) are from LAION. This introduces a distribution shift that lets us confirm that a model's performance demonstrates true generalization capabilities and is not merely inherited from the training distribution.


🏆 Benchmark Results

The following tables show the performance of the InstAP model on the InstVL test sets and standard zero-shot benchmarks, compared to other state-of-the-art models. All results are from the original paper. UMT-L (InstVL; g) and UMT-L (InstVL; g+i) are baselines trained on the same full training corpus as InstAP, using only InstVL's global captions (g) or with all InstVL captions treated as global (g+i).

Instance-Level Retrieval Performance (R@1)

This task evaluates the model's ability to retrieve the correct fine-grained instance caption. We report T2V / V2T R@1.

MethodInstVL(img) 1KInstVL(img) 10KInstVL(img-zero) 1KInstVL(img-zero) 10KInstVL(video) 1K
VideoPrism28.21 / 34.5222.75 / 29.5121.32 / 27.3913.85 / 20.0440.86 / 39.29
CLIP4Clip25.10 / 33.2118.68 / 28.1917.82 / 25.109.11 / 16.3017.71 / 24.69
Coca11.83 / 21.797.36 / 13.337.08 / 13.194.12 / 7.2614.72 / 11.82
ViCLIP28.38 / 28.9119.46 / 20.0218.25 / 20.939.57 / 11.2121.78 / 21.50
OpenCLIP37.88 / 44.0629.21 / 37.7626.73 / 36.1917.28 / 25.5736.63 / 33.36
CLIP-ViP24.04 / 32.0614.38 / 21.8513.81 / 22.966.60 / 12.1116.78 / 28.32
MCQ19.33 / 22.119.63 / 11.1317.08 / 19.617.04 / 8.5524.41 / 23.72
SigLIP38.17 / 45.1729.76 / 37.8328.25 / 35.5616.98 / 25.1936.43 / 36.14
UMT-L38.44 / 35.6521.34 / 23.0829.34 / 30.1711.09 / 16.3826.38 / 22.43
UMT-L (InstVL; g)34.44 / 41.2422.87 / 30.3725.97 / 31.9713.33 / 19.2141.51 / 40.34
UMT-L (InstVL; g+i)45.74 / 44.2734.83 / 35.1534.68 / 34.9921.13 / 22.8240.38 / 39.33
InstAP (Ours)50.25 / 49.2644.05 / 45.7641.94 / 42.5328.25 / 31.8760.63 / 58.49

Global Retrieval Performance (R@1)

This task evaluates the model's ability to retrieve the correct global caption for the entire scene. We report T2V / V2T R@1.

MethodInstVL(img) 1KInstVL(img) 10KInstVL(img-zero) 1KInstVL(img-zero) 10KInstVL(video) 1K
VideoPrism97.40 / 97.6088.19 / 89.6285.70 / 85.8073.05 / 75.1182.71 / 83.62
CLIP4Clip93.40 / 96.0079.22 / 84.2578.20 / 81.7056.95 / 63.9667.50 / 70.50
Coca86.20 / 91.5070.80 / 76.1667.40 / 70.5046.05 / 50.6446.92 / 43.78
ViCLIP95.10 / 93.5081.47 / 79.3377.80 / 77.6058.51 / 58.2162.89 / 62.69
OpenCLIP94.40 / 98.1084.98 / 92.0683.40 / 86.9070.75 / 78.1382.00 / 77.15
CLIP-ViP78.40 / 89.2054.94 / 72.0055.60 / 73.2032.48 / 51.3035.59 / 61.07
MCQ58.20 / 60.1031.45 / 34.1258.90 / 62.7034.13 / 38.2661.48 / 60.67
SigLIP95.70 / 98.2087.18 / 91.9783.90 / 86.5068.64 / 75.6674.72 / 76.14
UMT-L94.70 / 95.3083.95 / 85.4183.90 / 83.7072.60 / 72.5988.30 / 85.50
UMT-L (InstVL; g)96.20 / 97.1085.70 / 87.0385.30 / 86.4072.50 / 74.1884.80 / 82.40
UMT-L (InstVL; g+i)93.20 / 94.3080.30 / 81.6282.40 / 84.3068.16 / 69.7679.90 / 77.20
InstAP (Ours)99.20 / 99.1095.77 / 94.7188.70 / 88.3083.33 / 82.2194.50 / 95.50

Zero-Shot Text-to-Video Retrieval (R@1 / R@5 / R@10)

This table evaluates generalization on standard zero-shot text-to-video retrieval benchmarks.

MethodMSR-VTTDiDeMoMSVDLSMDCActivityNet
CLIP4Clip32.0 / 57.0 / 66.9--38.5 / 66.9 / 76.815.1 / 28.5 / 36.4--
Frozen in Time18.7 / 39.5 / 51.621.1 / 46.0 / 56.238.7 / 70.1 / 80.19.3 / 22.0 / 30.1--
VIOLET25.9 / 49.5 / 59.723.5 / 49.8 / 59.8------
ALPRO24.1 / 44.7 / 55.423.8 / 47.3 / 57.9------
RAP28.9 / 47.5 / 56.829.5 / 55.7 / 65.635.9 / 64.3 / 73.712.8 / 26.6 / 33.4--
Clover26.4 / 49.5 / 60.029.5 / 55.2 / 66.3--14.7 / 29.2 / 38.2--
TW-BERT26.4 / 50.1 / 59.628.4 / 52.9 / 64.5--14.2 / 30.4 / 36.0--
Singularity28.4 / 50.2 / 59.536.9 / 52.9 / 64.5------
LaT23.4 / 44.1 / 53.322.6 / 45.9 / 58.936.9 / 68.6 / 81.0----
OA-Trans23.4 / 47.5 / 55.623.5 / 50.4 / 59.8------
MCQ26.0 / 46.4 / 56.425.6 / 50.6 / 61.143.6 / 74.9 / 84.912.2 / 25.9 / 32.2--
MILES26.1 / 47.2 / 56.927.2 / 50.3 / 63.644.4 / 76.2 / 87.011.1 / 24.7 / 30.6--
CLIP-ViP31.7 / 51.2 / 63.224.6 / 50.7 / 59.7--12.5 / 26.1 / 33.3--
EA-VTR28.0 / 53.1 / 62.332.7 / 58.9 / 68.946.6 / 78.9 / 86.515.7 / 29.6 / 36.0--
UMT-L39.7 / 61.8 / 70.947.0 / 71.8 / 78.847.0 / 75.4 / 83.626.0 / 43.1 / 51.644.3 / 72.2 / 84.4
UMT-L (InstVL; g)35.4 / 59.4 / 70.244.1 / 72.3 / 79.143.7 / 73.4 / 82.419.9 / 38.4 / 46.539.8 / 66.5 / 76.5
UMT-L (InstVL; g+i)34.0 / 58.5 / 68.542.7 / 69.0 / 77.041.3 / 71.8 / 81.417.5 / 36.6 / 46.537.1 / 64.5 / 74.7
InstAP (Ours)41.1 / 65.2 / 73.654.0 / 78.2 / 84.549.2 / 77.0 / 85.123.5 / 42.7 / 50.350.7 / 77.2 / 86.6

Visual Grounding Performance (IoU@{50, 70, 90}) on InstVL-1K

This task evaluates the model's ability to localize textual mentions to specific spatial-temporal regions.

MethodInstVL(img) IoU@50 / @70 / @90InstVL(img-zero) IoU@50 / @70 / @90InstVL(video) IoU@50 / @70 / @90
UMT-L74.53 / 63.47 / 41.6467.12 / 54.20 / 34.0554.25 / 40.70 / 14.44
InstAP (Ours)76.17 / 67.04 / 48.2068.52 / 58.91 / 42.1460.02 / 48.85 / 25.13

⬇️ Downloading the Original Images & Videos

You can download the original images and videos from the following websites:


🙏 Acknowledgements

This dataset is based on results obtained from a project, JPNP20017, subsidized by the New Energy and Industrial Technology Development Organization (NEDO).

📝 License

Refer to the license CC BY-NC-SA 4.0 for using our dataset.


📜 Citations

If you use this dataset in your research, please cite the original paper:

bibtex
@misc{kumar2026instapinstanceawarevisionlanguagepretrain,
  title={InstAP: Instance-Aware Vision-Language Pre-Train for Spatial-Temporal Understanding},
  author={Ashutosh Kumar and Rajat Saini and Jingjing Pan and Mustafa Erdogan and Mingfang Zhang and Betty Le Dem and Norimasa Kobori and Quan Kong},
  year={2026},
  eprint={2604.08337},
  archivePrefix={arXiv},
  primaryClass={cs.CV},
  url={https://arxiv.org/abs/2604.08337},
}