Why Do Vision Language Models Struggle To Recognize Human Emotions?

The University of Edinburgh, UK
Qualitative failure analysis of SOTA VLMs

Qualitative failure analysis of SOTA VLMs on video emotion recognition. VLMs such as Gemini2.5-Flash, Qwen2.5-VL and EmotionQwen misclassify emotions by failing to capture subtle, temporal cues — overlooking a brief smile (top, Happiness → Sadness/Neutral/Disgust) or a tensed expression (bottom, Anger → Neutral/Anxiety).

Abstract

Understanding emotions is a fundamental ability for intelligent systems to be able to interact with humans. Vision-language models (VLMs) have made tremendous progress in the last few years for many visual tasks, potentially offering a promising solution for understanding emotions. However, it is surprising that even the most sophisticated contemporary VLMs struggle to recognize human emotions or to outperform even specialized vision-only classifiers. In this paper we ask the question “Why do VLMs struggle to recognize human emotions?”, and observe that the inherently continuous and dynamic task of facial expression recognition (DFER) exposes two critical VLM vulnerabilities. First, emotion datasets are naturally long-tailed, and the web-scale data used to pre-train VLMs exacerbates this head-class bias, causing them to systematically collapse rare, under-represented emotions into common categories. We propose alternative sampling strategies that prevent favoring common concepts. Second, temporal information is critical for understanding emotions. However, VLMs are unable to represent temporal information over dense frame sequences, as they are limited by context size and the number of tokens that can fit in memory, which poses a clear challenge for emotion recognition. We demonstrate that the sparse temporal sampling strategy used in VLMs is inherently misaligned with the fleeting nature of micro-expressions (0.25–0.5 seconds), which are often the most critical affective signal. As a diagnostic probe, we propose a multi-stage context enrichment strategy that utilizes the information from ‘in-between’ frames by first converting them into natural language summaries. This enriched textual context is provided as input to the VLM alongside sparse keyframes, preventing attentional dilution from excessive visual data while preserving the emotional trajectory.

Key Findings

1. Emotion recognition inherits a long-tail bias. Per-class VLM accuracy correlates strongly with the lexical frequency of emotion terms in web-scale text, with cross-lingual consistency (English & Chinese) pointing to a deep linguistic/cultural skew rather than mere pre-training statistics.

Correlation between lexical frequency and VLM accuracy

Correlation between lexical frequency and VLM accuracy. Per-class F1 plotted against Google Books Ngram frequency on MAFW and DFEW. Rarer emotions (e.g. contempt, helplessness) have lower lexical frequency and weaker VLM performance.

2. Rare emotions collapse into common ones. Confusion matrices reveal a strong ‘neutral’ sink: low-frequency emotions are systematically absorbed into high-frequency categories. Decoupled pretrain-then-balanced fine-tuning makes predictions markedly more uniform, confirming the issue is data bias rather than incapacity.

Confusion matrices on MAFW

Confusion matrices on MAFW. Original distribution (top row) vs. balanced fine-tuning (bottom row), for MAE-DFER, HiCMAE and Qwen2.5-VL. Balancing reduces head-class collapse and improves tail-class recall.

3. More frames is not better — attention gets diluted. Accuracy rises then falls as frame rate increases (peaking near 5 FPS), as redundant visual tokens saturate the context window — and even at its peak, VLM performance stays below the vision-only baselines.

VLM performance vs input frame rate

VLM performance vs. input frame rate. Macro-F1 of Qwen2.5-VL and EmotionQwen on MAFW. The quasi-bell-shaped curve shows performance improving (1–5 FPS) then degrading (>5 FPS) — evidence of attentional dilution from redundant visual tokens.

4. Frame order barely matters — VLMs process a ‘bag of frames’. When the temporal order of frames is destroyed by shuffling (FS), vision-only classifiers drop sharply, while VLM scores are essentially unchanged (and sometimes even improve). This order-agnostic behaviour indicates that VLMs aggregate per-frame appearance rather than reasoning over temporal dynamics.

Model Setting MAFW DFEW
PrecisionRecallF1 PrecisionRecallF1
Vision-only classifiers
MAE-DFEROriginal0.43940.39190.36020.68830.60860.5645
Shuffled0.49590.33540.30410.50060.52290.4802
HiCMAEOriginal0.50400.44040.39930.69350.62140.5725
Shuffled0.49790.37780.33450.48070.53290.4797
Vision-Language Models
Qwen2.5-VLOriginal0.28490.27270.24490.50530.46140.4552
Shuffled0.35270.27270.25060.50150.46430.4534
Qwen2.5-OmniOriginal0.45170.32530.30600.55570.47000.4296
Shuffled0.45020.31720.29720.52760.46140.4226
Qwen3-VLOriginal0.41800.33130.27380.63800.58430.5511
Shuffled0.31980.32730.26150.64680.58710.5538
EmotionQwenOriginal0.34780.29250.25810.55210.53290.5010
Shuffled0.31850.30570.25170.53830.49680.4895
Video-LLaVAOriginal0.11260.16300.08700.14900.28000.1654
Shuffled0.08110.15690.08140.15140.25700.1531
LLaVA-NeXT-VOriginal0.18530.20400.14380.53510.34740.2969
Shuffled0.17050.19800.13820.43660.33140.2712
InternVL-3.0Original0.34410.28280.24450.55610.53570.5044
Shuffled0.33700.26670.23260.56690.52140.4985
Gemini2.5-FlashOriginal0.41120.38690.37580.64120.63310.6008
Shuffled0.42860.38170.36260.62460.61200.5778

Model performance on MAFW and DFEW for normal videos vs. Frame Shuffled (FS) videos, using vision-only classifiers (top) and VLM-based architectures (bottom). Vision-only classifiers drop sharply under frame shuffling, whereas VLM scores barely move — evidence of order-agnostic ‘bag-of-frames’ processing.

Mitigation Method: Multi-Stage Context Enrichment

VLMs face a dilemma: sparse sampling misses fleeting micro-expressions, while dense sampling floods the context window with redundant tokens. Rather than discarding the ‘in-between’ frames, MSCE translates their motion cues into compact natural-language summaries that VLMs process effectively, then interleaves these summaries with sparse keyframes for a final, temporally-aware classification.

Multi-Stage Context Enrichment pipeline

Multi-Stage Context Enrichment (MSCE) is a two-stage inference pipeline. Top (baseline): a VLM given only sparse keyframes misses the micro-expression and predicts Neutral. Bottom (MSCE): Stage 1 converts the in-between frames into a compact motion description; Stage 2 interleaves this text with the sparse keyframes, recovering the correct label (Happiness).

BibTeX

@InProceedings{Agarwal_2026_ECCV,
    author    = {Agarwal, Madhav and Tsaftaris, Sotirios A. and Sevilla-Lara, Laura and McDonagh, Steven},
    title     = {Why Do Vision Language Models Struggle To Recognize Human Emotions?},
    booktitle = {Proceedings of the European Conference on Computer Vision (ECCV)},
    year      = {2026}
}