Dataset Viewer
Auto-converted to Parquet Duplicate
video_path
stringlengths
79
84
timeseries_path
stringlengths
78
83
prompt
stringlengths
59k
644k
answer
stringclasses
4 values
video_meta
dict
ts_shape
listlengths
2
2
id
stringlengths
24
27
task
stringclasses
1 value
split
stringclasses
1 value
domain
stringclasses
1 value
variant
stringclasses
1 value
sample/video-timeseries/agibot/video_clips/agibot_test_579_fe3497e8c9_1118_2059.mp4
sample/video-timeseries/agibot/timeseries/agibot_test_579_fe3497e8c9_1118_2059.csv
"You are a robot video anomaly-reason classification assistant.\n\n<scene_description>\nThis clip is(...TRUNCATED)
D
{ "width": 640, "height": 400, "source_fps": 30, "nb_frames": 956, "duration": 31.866667 }
[ 942, 10 ]
agibot_test_579_fe3497e8c9
classification
test
agibot
original
sample/video-timeseries/agibot/video_clips/agibot_test_1035_17888bee94_2132_3450.mp4
sample/video-timeseries/agibot/timeseries/agibot_test_1035_17888bee94_2132_3450.csv
"You are a robot video anomaly-reason classification assistant.\n\n<scene_description>\nThis clip is(...TRUNCATED)
B
{ "width": 640, "height": 400, "source_fps": 30, "nb_frames": 1372, "duration": 45.733333 }
[ 1319, 10 ]
agibot_test_1035_17888bee94
classification
test
agibot
original
sample/video-timeseries/agibot/video_clips/agibot_test_1021_c364c3f23b_1387_2273.mp4
sample/video-timeseries/agibot/timeseries/agibot_test_1021_c364c3f23b_1387_2273.csv
"You are a robot video anomaly-reason classification assistant.\n\n<scene_description>\nThis clip is(...TRUNCATED)
D
{ "width": 640, "height": 400, "source_fps": 30, "nb_frames": 910, "duration": 30.333333 }
[ 887, 10 ]
agibot_test_1021_c364c3f23b
classification
test
agibot
original
sample/video-timeseries/agibot/video_clips/agibot_test_42_2b8c59a09b_1627_2146.mp4
sample/video-timeseries/agibot/timeseries/agibot_test_42_2b8c59a09b_1627_2146.csv
"You are a robot video anomaly-reason classification assistant.\n\n<scene_description>\nThis clip is(...TRUNCATED)
D
{ "width": 640, "height": 400, "source_fps": 30, "nb_frames": 522, "duration": 17.4 }
[ 520, 10 ]
agibot_test_42_2b8c59a09b
classification
test
agibot
original
sample/video-timeseries/agibot/video_clips/agibot_test_623_2789b75774_0_920.mp4
sample/video-timeseries/agibot/timeseries/agibot_test_623_2789b75774_0_920.csv
"You are a robot video anomaly-reason classification assistant.\n\n<scene_description>\nThis clip is(...TRUNCATED)
C
{ "width": 640, "height": 400, "source_fps": 30, "nb_frames": 921, "duration": 30.7 }
[ 921, 10 ]
agibot_test_623_2789b75774
classification
test
agibot
original
sample/video-timeseries/agibot/video_clips/agibot_test_373_91f09db6b3_0_1569.mp4
sample/video-timeseries/agibot/timeseries/agibot_test_373_91f09db6b3_0_1569.csv
"You are a robot video anomaly-reason classification assistant.\n\n<scene_description>\nThis clip is(...TRUNCATED)
B
{ "width": 640, "height": 400, "source_fps": 30, "nb_frames": 1570, "duration": 52.333333 }
[ 1570, 10 ]
agibot_test_373_91f09db6b3
classification
test
agibot
original
sample/video-timeseries/agibot/video_clips/agibot_test_286_70ba4d2a2b_1440_2034.mp4
sample/video-timeseries/agibot/timeseries/agibot_test_286_70ba4d2a2b_1440_2034.csv
"You are a robot video anomaly-reason classification assistant.\n\n<scene_description>\nThis clip is(...TRUNCATED)
D
{ "width": 640, "height": 400, "source_fps": 30, "nb_frames": 605, "duration": 20.166667 }
[ 595, 10 ]
agibot_test_286_70ba4d2a2b
classification
test
agibot
original
sample/video-timeseries/agibot/video_clips/agibot_test_1244_5e55fac59f_3623_5520.mp4
sample/video-timeseries/agibot/timeseries/agibot_test_1244_5e55fac59f_3623_5520.csv
"You are a robot video anomaly-reason classification assistant.\n\n<scene_description>\nThis clip is(...TRUNCATED)
B
{ "width": 640, "height": 400, "source_fps": 30, "nb_frames": 1947, "duration": 64.9 }
[ 1898, 10 ]
agibot_test_1244_5e55fac59f
classification
test
agibot
original
sample/video-timeseries/agibot/video_clips/agibot_test_575_adb0189122_101_897.mp4
sample/video-timeseries/agibot/timeseries/agibot_test_575_adb0189122_101_897.csv
"You are a robot video anomaly-reason classification assistant.\n\n<scene_description>\nThis clip is(...TRUNCATED)
D
{ "width": 640, "height": 400, "source_fps": 30, "nb_frames": 834, "duration": 27.8 }
[ 797, 10 ]
agibot_test_575_adb0189122
classification
test
agibot
original
sample/video-timeseries/agibot/video_clips/agibot_test_1253_21bbcfdda3_633_1479.mp4
sample/video-timeseries/agibot/timeseries/agibot_test_1253_21bbcfdda3_633_1479.csv
"You are a robot video anomaly-reason classification assistant.\n\n<scene_description>\nThis clip is(...TRUNCATED)
D
{ "width": 640, "height": 400, "source_fps": 30, "nb_frames": 895, "duration": 29.833333 }
[ 847, 10 ]
agibot_test_1253_21bbcfdda3
classification
test
agibot
original
End of preview. Expand in Data Studio

MMTA-v1.0

MMTA evaluates multimodal temporal analysis using images, videos, text and time-series observations. This repository contains a distributable test subset with 1,322 original test records and 1,400 alternative Terra channel views. All five configurations use the test split. It also includes processing recipes for six additional task domains whose source data are not redistributed.

Configuration / recipe Records Task
terra 200 Image-conditioned forecasting of seven variables
terra_per_channel 1,400 Forecasting one selected variable per Terra view
agibot 131 Robot anomaly classification
future_factories 46 Industrial missing-part classification
holo_assist 945 Action-correctness classification
mimic_death Code only; generate locally Image-conditioned in-hospital mortality classification
mimic_disch Code only; generate locally Image-conditioned discharge-within-48-hours classification
pixelrec Code only; generate locally Cover-image-conditioned interaction forecasting
sp500 Code only; generate locally Financial forecasting with charts and dated news
covla Code only; generate locally Video-conditioned braking-reason classification
cuhk_x_har Code only; generate locally Video/IMU human activity classification

Rows labeled Code only; generate locally include processing scripts and instructions. Obtain their source data through the upstream providers and build records locally; source data and generated records are not redistributed here. The five rows with numerical record counts are the available Hugging Face load_dataset configurations.

The Terra channel views reuse the same 200 original instances and images. They are alternative evaluation views and should not be counted as additional independent original examples. The released records cover four source domains. The additional recipe directories contain code and instructions for local reconstruction; their source data and generated task records are not included and do not increase the record counts above.

The 6,393 referenced assets occupy approximately 11.65 GiB: 1,149 images, 1,122 video clips, 2,722 history CSVs and 1,400 forecast target CSVs.

Load a configuration

from datasets import load_dataset

test = load_dataset("OpenTSLab/MMTA-v1.0", "terra", split="test")
record = test[0]

The same call supports terra_per_channel, agibot, future_factories and holo_assist. The dataset viewer displays JSONL records. Media and sensor fields contain relative file paths; download a snapshot to open those assets:

import csv
import json
from pathlib import Path
from huggingface_hub import snapshot_download

root = Path(snapshot_download("OpenTSLab/MMTA-v1.0", repo_type="dataset"))
with (root / "sample/image-timeseries/terra/terra.omnits.jsonl").open(
    encoding="utf-8"
) as handle:
    record = json.loads(next(handle))

images = [root / path for path in record["image_path"]]
with (root / record["timeseries_path"]).open(encoding="utf-8", newline="") as handle:
    history = list(csv.DictReader(handle))

Resolve every released record path relative to the repository root. The directory sample/ contains both released test data and the recipe-only directories listed below. answer and forecast_target_path are evaluation references; exclude them from model inputs.

Processing recipes for sources that are not redistributed

The following directories provide download entry points, source-processing scripts and local generation instructions. Because of upstream sharing terms and access requirements, this repository distributes processing code only for these domains. It includes no source datasets, images, videos, patient records or generated benchmark records for them.

Recipe directory Local task Source access and instructions
sample/image-timeseries/mimic_death/ In-hospital mortality classification MIMIC mortality instructions; obtain the required MIMIC tables, notes and chest images through your own approved PhysioNet account.
sample/image-timeseries/mimic_disch/ Discharge-within-48-hours classification MIMIC discharge instructions; the same credentialed source access is required.
sample/image-timeseries/pixelrec/ Cover-image-conditioned interaction forecasting PixelRec instructions; obtain interactions, item metadata and covers from the upstream project.
sample/image-timeseries/sp500/ Financial forecasting with charts and dated news SP500 / FinMultiTime instructions; obtain the upstream prices, news and charts.
sample/video-timeseries/covla/ Driving/braking classification CoVLA instructions; complete upstream Hugging Face access requirements and obtain states, front-car signals and videos.
sample/video-timeseries/cuhk_x_har/ Human activity classification CUHK-X HAR instructions; complete the source data-use agreement and obtain the matching IMU and skeleton archives.

Use your own upstream account and follow each source's current terms. These scripts do not grant access to restricted datasets or permission to share them or their derivatives. Download and unpack sources locally, then run the corresponding generate.py to build task prompts and image/video/CSV records. Shared download and conversion dependencies are included in processing/; see the setup instructions.

For the commands in the per-domain READMEs, run from the directory containing your downloaded MMTA-v1.0 folder:

python -m pip install -r MMTA-v1.0/processing/requirements.txt

# Inspect an upstream download plan without downloading data.
python -B MMTA-v1.0/sample/image-timeseries/pixelrec/download.py \
  --output local_sources/pixelrec --dry-run

# Inspect the inputs accepted by the local task builder.
python -B MMTA-v1.0/sample/image-timeseries/pixelrec/generate.py --help

Install ffmpeg and ffprobe for video processing, and wget for credentialed PhysioNet downloads. Actual downloads require --accept-terms after completing the upstream requirements; a dry run requires no source access. Keep local_sources/ and generated local_work/ directories outside MMTA-v1.0/. Locally generated record paths are relative to the generated domain directory, as described in each recipe README; released record paths remain relative to this repository root.

These six recipes are not Hugging Face dataset configurations. load_dataset loads the five released configurations shown above; snapshot_download also retrieves the processing scripts. Locally reconstructed records are not guaranteed to reproduce the exact original benchmark selection, since available upstream versions and files may differ.

Files and format

sample/
  image-timeseries/terra/
    terra.omnits.jsonl
    terra.percha.omnits.jsonl
    images/
    timeseries/
    forecast_targets/
  image-timeseries/{mimic_death,mimic_disch,pixelrec,sp500}/
    README.md
    download.py
    generate.py
    <source processing scripts>.py
  video-timeseries/{agibot,future_factories,holo_assist}/
    <domain>.omnits.jsonl
    video_clips/
    timeseries/
  video-timeseries/{covla,cuhk_x_har}/
    README.md
    download.py
    generate.py
    <source processing scripts>.py
processing/
  README.md
  requirements.txt
  download.py
  common/

JSONL is UTF-8 with one JSON object per line. IDs are unique across manifests. The release supports image/time-series prediction and video/sensor classification.

Field Meaning
id Globally unique example identifier.
split Always test.
domain Source task domain, matching its parent directory.
variant original; percha denotes an alternative forecasting channel view.
task classification or prediction.
video_path Relative path to the cropped MP4 clip.
timeseries_path Relative path to the history CSV with a header.
prompt Instructions, textual evidence and inline historical sensor observations.
answer Reference option letter or a <forecast> block.
video_meta Actual width, height, source FPS, frame count and duration.
ts_shape [history_rows, signal_columns], excluding timestamp columns.
image_path, image_meta Ordered image paths and matching image dimensions for image tasks.
forecast_horizon, forecast_target_path Future horizon and channel reference target CSV; evaluation labels.
channel_index, channel_name, target_variable Selected forecast channel identifiers for channel views.

All paths are relative to the release root, including sample/. Every asset belongs to the same domain as its manifest. CSVs preserve ordered signal rows; time and task context remain in prompts. Sensor row counts need not equal video frame counts because sampling rates differ.

Empty strings and nan denote missing observations. Preserve them with a missing-value mask. Do not replace them with zero. Reference option letters correspond to the choices in each prompt; they are task-specific, not a shared label vocabulary.

Video metadata describes the actual encoded clip. Some source stream-copy clips contain adjacent keyframe context; filename intervals need not exactly equal the encoded frame count. See README.md for evaluation limits.

Terra ordinary CSVs contain timestamp,v0,v1,v2,v3,v4,v5,v6, mapping to lwd, precipitation, pres, relhumidity, spechumidity, temp, wind in that order. Each channel CSV contains one selected signal column, while the prompt retains all seven historical variables. The instruction requests only target_variable; its answer and target CSV contain that one variable. Reference answers preserve source rounding, while target CSVs preserve full source precision.

Evaluation limits

  • The supplied AgiBot split has 113/131 test examples matching training prompts, answers, sensor CSVs and video bytes. Nine duplicate pairs remain within its test set. Account for this overlap when reporting results.
  • Future Factories and HoloAssist preserve missing sensor observations as empty values or nan. Four Future Factories gripper-load channels are entirely missing. Preserve a missing-value mask when loading sensor data.
  • Some AgiBot and HoloAssist clips include adjacent keyframe context. video_meta describes the actual encoded files.
  • Terra geographic descriptions contain upstream generated text with factual errors. Its channel instructions request only the selected forecast variable, while all seven inline histories remain context.

License and attribution

Original MMTA contributions are released under Creative Commons Attribution 4.0 International (CC BY 4.0). When sharing or adapting original MMTA material, credit MMTA-v1.0, link https://huggingface.co/datasets/OpenTSLab/MMTA-v1.0 and https://creativecommons.org/licenses/by/4.0/, and indicate any changes.

The CC BY 4.0 declaration applies to rights held by MMTA contributors. Third-party source data retain the licenses below. Terra permits noncommercial use and sharing; AgiBot additionally requires share-alike for adaptations. Future Factories requires share-alike for adaptations. HoloAssist requires making its CDLA-Permissive-2.0 agreement available with shared data and modifications. The supplied Terra source review does not establish redistribution permission for its third-party satellite images.

Source components retain their independent attribution and licenses. Inclusion does not imply endorsement of MMTA by their authors.

Component Credit and source Source license
Terra Wei Chen, Xixuan Hao, Yuankai Wu and Yuxuan Liang; original data card, project, Terra: A Multimodal Spatio-Temporal Dataset Spanning the Earth, NeurIPS 2024. CC BY-NC 4.0; third-party satellite-image permission unverified.
AgiBot AgiBot World Team; AgiBot World 2026, tasks task_3641 and task_3777. CC BY-NC-SA 4.0.
Future Factories Ramy Harik, Future Factories Lab, University of South Carolina; FF — 2024 08 13 — Multi-Modal Dataset [3/3], version 1. CC BY-SA 4.0.
HoloAssist The HoloAssist dataset team; official project, HoloAssist: An Egocentric Human Interaction Dataset for Interactive AI Assistants in the Real World, ICCV 2023. CDLA-Permissive-2.0.

Modifications

Source examples were selected into task-specific test splits. Videos were cropped; numerical histories and forecast targets were exported to CSV; task prompts and reference labels were assembled as JSONL. Asset references were normalized to internal paths relative to the dataset repository root.

Terra supplies image-conditioned seven-variable forecasting and alternative channel views. Its 1,400 channel instructions were corrected to request the selected variable. Source numerical observations, reference labels and released split membership were preserved. Satellite images were recovered from existing test archives; image-owner attribution was not supplied in the available source material.

AgiBot supplies anomaly classification with selected robot channels. Future Factories supplies paired-camera cycle videos and PLC histories. HoloAssist supplies coarse-action segments with synchronized sensors and correctness labels.

The full benchmark also uses MIMIC, PixelRec, CoVLA, CUHK-X and SP500/FinMultiTime. Their data are absent from this subset because of source sharing terms and access requirements. The recipe directories above provide processing code for users who obtain those sources themselves. Source agreements remain applicable to locally downloaded data and generated records. Script origins and existing code notices are documented in processing/CODE_PROVENANCE.md and processing/provenance.json; no new license is assigned to third-party code.

Questions about this release can be posted in this repository's Discussions.

Downloads last month
17

Collection including OpenTSLab/MMTA-v1.0