fine-tune 0 0 0

reeha-parkar/custom-unaligned-CMU-MOSEI

published by @reeha-parkar

Alignment dataset tracked in the /datasets sub-catalog.

Lifetime downloads
603
Last 30 days
29
Likes
1
Size
8.9 GB
Created on HF
2025-08-06
Age
1 years ago

Description

CMU-MOSEI Custom Unaligned Dataset

Dataset Description

This dataset represents a custom preprocessed version of the CMU-MOSEI (Multimodal Opinion Sentiment and Emotion Intensity) dataset with variable-length temporal sequences preserved for enhanced multimodal emotion recognition research. Unlike traditional fixed-alignment preprocessing approaches that truncate sequences to uniform lengths, this dataset maintains the natural temporal dynamics of multimodal… See the full description on the dataset page: https://huggingface.co/datasets/reeha-parkar/custom-unaligned-CMU-MOSEI.

Tags

license:mitsize_categories:n<1Kformat:textmodality:textlibrary:datasetslibrary:mlcroissantregion:us

README current version from Hugging Face


license: mit

CMU-MOSEI Custom Unaligned Dataset

License
Dataset
Python
PyTorch

Dataset Description

This dataset represents a custom preprocessed version of the CMU-MOSEI (Multimodal Opinion Sentiment and Emotion Intensity) dataset with variable-length temporal sequences preserved for enhanced multimodal emotion recognition research. Unlike traditional fixed-alignment preprocessing approaches that truncate sequences to uniform lengths, this dataset maintains the natural temporal dynamics of multimodal expressions.

Key Features

  • Variable-Length Processing: Preserves original temporal intervals across all modalities
  • No Forced Alignment: Maintains authentic temporal asynchrony between modalities
  • Enhanced Temporal Coverage: Up to 217x more temporal information than fixed-alignment approaches
  • Multi-Hot Emotion Labels: 6-dimensional binary emotion vectors for comprehensive emotion modeling
  • Research-Ready Format: Optimized for PyTorch dataloaders with custom collation functions

Dataset Statistics

Split Segments Text Length Range Visual Length Range Audio Length Range
Train 16,322 16-374 timesteps 126-3,140 timesteps 400-10,891 timesteps
Validation 1,871 22-330 timesteps 162-2,850 timesteps 539-9,200 timesteps
Test 4,659 18-350 timesteps 140-2,950 timesteps 450-9,500 timesteps
Total 22,852 Average: ~55 Average: ~535 Average: ~1,781

Processing Summary

  • Processed: 22,852 segments from 23,248 total segments (98.3% success rate)
  • Missing Data: 8 segments (incomplete modality data)
  • Wrong Splits: 388 segments (video ID not in standard splits)
  • Quality Control: Zero dimension issues or empty features

Data Format

File Structure

cmu_mosei_unaligned_ree.pt
├── train/
│   ├── src-text: List[np.ndarray]      # Variable-length text sequences
│   ├── src-visual: List[np.ndarray]    # Variable-length visual sequences  
│   ├── src-audio: List[np.ndarray]     # Variable-length audio sequences
│   └── tgt: List[np.ndarray]           # 6-dimensional emotion labels
├── val/
│   └── [same structure as train]
└── test/
    └── [same structure as train]

Feature Specifications

Text Features (src-text)

  • Source: GloVe word embeddings from CMU_MOSEI_TimestampedWordVectors
  • Dimensions: (timesteps, 300) where timesteps ∈ [16, 374]
  • Format: 300-dimensional GloVe embeddings per word
  • Preprocessing: NaN/Inf values replaced with 0.0

Visual Features (src-visual)

  • Source: FacetNet facial features from CMU_MOSEI_VisualFacet42
  • Dimensions: (timesteps, 35) where timesteps ∈ [126, 3,140]
  • Format: 35-dimensional facial expression features
  • Sampling Rate: ~30 FPS from original video
  • Preprocessing: NaN/Inf values replaced with 0.0

Audio Features (src-audio)

  • Source: COVAREP acoustic features from CMU_MOSEI_COVAREP
  • Dimensions: (timesteps, 74) where timesteps ∈ [400, 10,891]
  • Format: 74-dimensional low-level acoustic features
  • Sampling Rate: ~100 Hz (10ms windows)
  • Preprocessing: NaN/Inf values replaced with 0.0, -Inf clipped to 0.0

Emotion Labels (tgt)

  • Dimensions: (6,) binary vector
  • Emotions: [Happy, Sad, Anger, Surprise, Disgust, Fear]
  • Encoding: Multi-hot binary (1.0 if emotion present, 0.0 otherwise)
  • Source: Averaged annotations from 3 human annotators
  • Threshold: Emotions with intensity > 0.0 marked as present

Example Data Sample

# Sample from train split
sample_segment = {
    'text': np.array([[0.1, 0.2, ...], [0.3, 0.4, ...]]),     # Shape: (55, 300)
    'visual': np.array([[0.5, 0.6, ...], [0.7, 0.8, ...]]),   # Shape: (535, 35) 
    'audio': np.array([[0.9, 1.0, ...], [1.1, 1.2, ...]]),    # Shape: (1781, 74)
    'label': np.array([1., 1., 0., 0., 0., 1.])                # Shape: (6,) - Happy, Sad, Fear present
}

Dataset Creation

Data Sources

Processing Pipeline

  1. Raw Data Loading: Load .csd files using CMU-MultimodalSDK
  2. Label Alignment: Align all modalities to emotion label timestamps
  3. Quality Filtering: Remove segments with missing/corrupted data
  4. Dimension Validation: Ensure consistent feature dimensions per modality
  5. Label Processing: Convert continuous emotion scores to binary labels
  6. Split Assignment: Assign segments to train/val/test using video IDs

Processing Code

Available at: Author's GitHub Repository

Key processing steps:

# Preserve variable lengths without collapse functions
dataset.align(label_field, collapse_functions=None)

# Extract features maintaining original temporal intervals
text_features = dataset[text_field][segment_key]['features'].astype(np.float32)
visual_features = dataset[visual_field][segment_key]['features'].astype(np.float32)
acoustic_features = dataset[acoustic_field][segment_key]['features'].astype(np.float32)

# Process emotion labels to binary format
emotion_labels = (label_features.flatten()[1:7] > 0.0).astype(np.float32)

Technical Details

Temporal Preservation

Unlike traditional approaches that pad or truncate to fixed lengths (typically 50 timesteps), this dataset:

  • Preserves Natural Asynchrony: Text, visual, and audio modalities maintain their original temporal relationships
  • Captures Complete Expressions: Full emotional expressions are preserved without truncation
  • Enables Dynamic Processing: Models can learn from complete temporal dynamics

Citation

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

@misc{parkar2025mosei_unaligned,
  title={CMU-MOSEI Custom Unaligned Dataset for Variable-Length Multimodal Emotion Recognition},
  author={Reeha Parkar},
  year={2025},
  institution={King's College London},
  note={Custom preprocessing of CMU-MOSEI dataset preserving temporal authenticity}
}

@inproceedings{zadeh2018multimodal,
  title={Multimodal language analysis in the wild: CMU-MOSEI dataset and interpretable dynamic fusion graph},
  author={Zadeh, AmirAli Bagher and Liang, Paul Pu and Poria, Soujanya and Cambria, Erik and Morency, Louis-Philippe},
  booktitle={Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics},
  pages={2236--2246},
  year={2018}
}

Related Work

Original CARAT Paper

  • Title: "CARAT: Cross-Modal Adaptive Representation Learning with Attention for Multimodal Emotion Recognition"
  • Focus: Contrastive learning and cross-modal attention

Dataset Motivation

This preprocessing addresses limitations in traditional multimodal datasets:

  • Fixed-Alignment Bias: Standard preprocessing loses temporal authenticity
  • Information Loss: Truncation discards valuable temporal information
  • Unrealistic Assumptions: Real expressions don't follow fixed timing

License

This dataset is derived from CMU-MOSEI and follows the same licensing terms. The preprocessing code and documentation are released under MIT License.

Contact

For questions about this dataset or preprocessing approach:

Acknowledgments

  • CMU Multicomp Lab: Original CMU-MOSEI dataset creators
  • King's College London: Computing resources and academic support
  • CMU-MultimodalSDK: Data processing infrastructure
  • CARAT Authors: Original model architecture inspiration

README history 5 revisions

Every night we snapshot the README of every dataset in the catalog. When the SHA changes we archive the new version and diff it against the last. This is the evolving thought record of the alignment-data field: what the author decided to say about the corpus, and how that framing shifted over time.

  1. 2025-08-06Update README.md0cf524d8.2 KB
    Loading...
  2. 2025-08-06Create LICENSE.txtdd96bf78.2 KB
    Loading...
  3. 2025-08-06Update README.md4984aad8.2 KB
    Loading...
  4. 2025-08-06Upload cmu_mosei_unaligned_ree.pt91c907324 B
    Loading...
  5. 2025-08-06initial commit362ca7724 B
    Loading...

Used by abliterated models none yet

No abliterated models in our catalog have declared this dataset in their YAML metadata yet. This can mean the dataset is used but not declared, is used outside abliteration workflows, or is new. The link will populate automatically as models are indexed.

Community discussions 1 thread · 1 open · 1 comments

Threads posted by the community on Hugging Face: bug reports, questions about usage, pull requests on the README, license clarifications. Click any thread to expand and read the full conversation inline. Newest first.

  1. 2025-08-07[bot] Conversion to Parquetopen1 💬#1
    Loading...

Related datasets same stage · fine-tune

Read further

Metadata

License
mit

Repository

Download the dataset

0

Copy any of these snippets into your notebook or terminal. All three fetch directly from Hugging Face using your own credentials.

Recommended: datasets library (Python)
from datasets import load_dataset
ds = load_dataset("reeha-parkar/custom-unaligned-CMU-MOSEI")
Raw snapshot (Python)
from huggingface_hub import snapshot_download
snapshot_download(repo_id="reeha-parkar/custom-unaligned-CMU-MOSEI", repo_type="dataset")
git clone (requires git-lfs)
git clone https://huggingface.co/datasets/reeha-parkar/custom-unaligned-CMU-MOSEI
Catalog is the map. Apps are the tools.

Run models on your own machine, not in the cloud.

Every model page has an "Open in Abliteration" button that hands the model directly to the first-party desktop client, at the quantization your rig can actually run. No API keys, no subscription, no prompt leakage.

Open in Abliteration