Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Situation features

Situations, schemas, scripts & event segmentation

This subclass spans two complementary tool families: (1) data-driven event/state boundary detection that segments a continuous feature timeline (neural data, or stimulus-derived embeddings such as visual/semantic features) into discrete events with stable patterns, and (2) situational tagging that labels each segment or timepoint with setting, location, time-of-day, scripts/schemas, and the Event-Indexing situational dimensions (space, time, causation, intention, protagonist). For boundary detection, BrainIAK’s HMM (Baldassano 2017) and Geerligs’ GSBS (statesegmentation) are the canonical, locally deployable algorithms; both run on any feature matrix, not just fMRI, making them directly usable to segment movie-derived embedding timelines. Shot/scene cut detection (PySceneDetect, TransNetV2) gives a fast low-level event-boundary prior. For situational content, scene-recognition CNNs (Places365), movie-tuned CLIP (MovieCLIP), and zero-shot CLIP cover location/setting/time-of-day, while modern open-weight video-LLMs (Qwen2.5-VL, VideoLLaMA3) and text/transcript LLMs (GPT-4-class via prompting) provide human-like event segmentation plus rich, queryable situational dimensions (goals, causes, protagonist, schema/script labels) with second-level temporal grounding. A small lab can run the algorithmic tools and 7B-class VLMs on a single modern GPU.

ToolMeasuresPer-timepoint outputModalityGranularityLocalRatingRec
BrainIAK EventSegment (HMM, Baldassano et al. 2017)Data-driven event boundaries / segmentation of any continuous feature timeline into K discrete events with stable activity (or embedding) patterns; finds discontinuities in pattern correlation as event transitions.Per-timepoint hard or soft (posterior probability) event-label assignment; ordered list of event-boundary timepoints; per-event mean pattern; with model comparison, the optimal number of events K (which yields event duration/granularity). Runs on stimulus-derived embeddings to segment a movie/audio timeline, not only fMRI.multimodalper-second (matches input TR/frame sampling); boundaries at input timestep resolutionyes-cpubest-in-classinclude
GSBS / statesegmentation (Geerligs et al. 2021, 2022)Greedy State Boundary Search: iteratively places event/state boundaries that maximize within-state pattern similarity in a feature timeline; auto-selects optimal number of states via t-distance metric.Per-timepoint state/event label; ranked boundary timepoints (greedy order gives boundary salience/strength); optimal number of states; nested hierarchical boundaries (fine-to-coarse event granularity). Applicable to any T x features matrix including movie embeddings.multimodalper-second / per-input-timestepyes-cpubest-in-classinclude
PySceneDetectLow-level shot/scene cut detection via frame-to-frame content change (HSV histogram / content difference) and adaptive thresholding.List of shot-boundary timestamps and frame indices; per-frame content-change score; shot-segment start/end times. Provides a fast event-boundary prior aligned to the video timeline.video-frameper-frame / per-shotyes-cpustronginclude
TransNetV2Deep-learning shot-boundary detection (hard cuts and gradual transitions/dissolves) trained on labeled shot transitions.Per-frame shot-transition probability (0-1); derived shot-boundary timestamps and shot segments. ~87% shot segmentation accuracy vs ~65% for histogram methods; handles gradual transitions.video-frameper-frame / per-shotyes-gpubest-in-classinclude
Places365-CNN (ResNet50/DenseNet161, CSAILVision)Scene/place category recognition: classifies each frame into one of 365 physical scene/location categories (e.g., restaurant, kitchen, street, forest) plus SUN scene attributes.Per-frame 365-dim scene-category posterior (top-k location/setting labels), indoor/outdoor probability, and ~102 scene-attribute scores (e.g., ‘open area’, ‘man-made’, ‘enclosed’, ‘natural light’). Directly yields location/setting and coarse spatial-layout descriptors.video-frameframe (sample per second/shot)yes-gpustronginclude
MovieCLIP (visual scene recognition in movies)Movie-tuned visual scene recognition over a 179-label movie-centric scene taxonomy curated from scripts (settings like ‘courtroom’, ‘bar’, ‘spaceship’, ‘chase’-relevant locations).Per-shot/per-frame scores over 179 movie scene labels (background location/setting); embeddings usable for setting clustering. Tailored to cinematic settings better than ImageNet/Places taxonomies.video-frameper-shot / frameyes-gpuusablealternative
Zero-shot CLIP / OpenCLIP (ViT-L/14, ViT-H/14)Flexible zero-shot classification of arbitrary situational attributes via text prompts: location/setting, indoor/outdoor, time-of-day, weather, schema/script cues (e.g., ‘a restaurant scene’, ‘a car chase’).Per-frame cosine-similarity / softmax scores for any user-defined prompt set (e.g., morning/afternoon/night; indoor/outdoor; named scripts). Continuous per-label scores per timepoint, fully customizable taxonomy.video-frameframe (sample per second/shot)yes-gpustronginclude
Qwen2.5-VL (3B/7B/72B, open weights)Open-weight video-LLM with second-level temporal grounding: produces human-like event segmentation and free-form situational tagging (location, time of day, goals, causes, protagonist actions, schema/script identification) with timestamps.Timestamped event/segment boundaries (second-level via absolute-time MRoPE encoding); per-segment natural-language situational descriptions queryable into structured Event-Indexing fields (space, time, causation, intention, protagonist); script/schema labels; mIoU 50.9 on Charades-STA temporal grounding (> GPT-4o).video-clipper-second / per-shot / per-segment (timestamped)yes-gpubest-in-classinclude
VideoLLaMA3 (2B/7B, DAMO/Alibaba)Open multimodal video foundation model for dense captioning, temporal grounding, and video QA; produces situational descriptions and event localization across a clip.Timestamped dense captions / event segments; per-segment situational narrative (setting, actors, actions, goals) parseable into situational dimensions; temporal-grounding spans for queried events.video-clipper-segment / per-clip (timestamped grounding)yes-gpustrongalternative
LLM text/transcript event segmentation (GPT-4-class via API; Llama-3 70B open)Human-like narrative event segmentation and situational annotation from text/transcripts: zero-shot prompts mark event boundaries and tag schema/script, goals, causes, protagonist, time, and space per event.Ordered event-boundary positions in the transcript (mappable to timestamps via word/utterance alignment); per-event structured situational fields (location, time-of-day, goal, cause, protagonist, script label). LLM boundaries align with human segmentation and are more consistent than individual humans.transcriptper-utterance / per-event (timestamps via transcript alignment)yes-heavy-gpubest-in-classinclude
Indexter (Event-Indexing computational model)Symbolic computational implementation of Zwaan’s Event-Indexing situation model: tracks the five situational dimensions (time, space, causation, intention, protagonist) and continuity/discontinuity across events.Per-event indices and between-event continuity scores along time, space, protagonist, causation, intention dimensions; situational-change signals predicting event boundaries. Provides the conceptual schema for structuring LLM/VLM situational outputs.textper-eventunclearlegacy/supersededalternative

Recommended (best-in-class): GSBS / statesegmentation (primary data-driven event-boundary detector on stimulus feature timelines); BrainIAK EventSegment HMM (alternative boundary detector + soft event posteriors); TransNetV2 (best shot-boundary prior for video); Qwen2.5-VL-7B (open video-LLM for second-level event segmentation + situational dimensions); Zero-shot OpenCLIP (flexible per-frame location/time-of-day/setting/script attributes); Places365-ResNet50 (calibrated fixed-taxonomy location/setting + scene attributes); GPT-4-class / Llama-3-70B LLM (transcript-based human-like event segmentation + Event-Indexing situational tagging, esp. audio stories)

Likely redundant:

  • PySceneDetect -> superseded for accuracy by TransNetV2 (keep only as a fast CPU prior)
  • MovieCLIP -> overlaps zero-shot CLIP/Places365; use only if its 179 movie-scene taxonomy is a better fit and checkpoints are accessible
  • VideoLLaMA3 -> redundant with Qwen2.5-VL as the situational video-LLM; pick one primary
  • BrainIAK HMM vs GSBS -> overlapping boundary detectors; GSBS generally preferred (auto-K, faster), keep HMM mainly for soft event posteriors / recall-reactivation modeling
  • Indexter -> superseded as a runnable tool by LLM situational tagging; retain only as the target ontology/schema definition

Open questions:

  • Ground-truth/validation: which event-boundary timeline (human dense-rating norms, e.g., per-second boundary agreement) will be used to validate algorithmic vs LLM/VLM boundaries on your specific movies/audio stimuli?
  • Pipeline order: run shot detection (TransNetV2) first and tag shots, vs run GSBS/HMM on a continuous embedding timeline (from CLIP/VLM/text embeddings) to get semantic events independent of camera cuts? These give different granularities.
  • For audio-only stories, the visual tools do not apply; need to confirm WhisperX-style word-level alignment to project transcript LLM event boundaries and situational tags onto the audio timeline.
  • Structured output schema: define a fixed JSON schema for the five Event-Indexing dimensions (space/time/causation/intention/protagonist) + script/schema label so VLM/LLM outputs are consistently parseable per second/segment.
  • Compute budget: is a single 24GB GPU available for 7B video-LLM inference, or should situational tagging fall back to API (GPT-4-class) for the visual stream?
  • Which feature space feeds GSBS/HMM for stimulus segmentation (raw CLIP frame embeddings, VLM hidden states, semantic transcript embeddings) materially changes the events recovered and should be decided/benchmarked.
References
  • BrainIAK EventSegment (HMM, Baldassano et al. 2017) — Baldassano et al. 2017 Neuron ‘Discovering Event Structure in Continuous Narrative Perception and Memory’; github.com/brainiak/brainiak; brainiak.org/examples/Event_Segmentation.html
  • GSBS / statesegmentation (Geerligs et al. 2021, 2022) — Geerligs, van Gerven, Guclu 2021 NeuroImage; Geerligs et al. 2022 eLife ‘A partially nested cortical hierarchy of neural states’; pypi.org/project/statesegmentation
  • PySceneDetect — github.com/Breakthrough/PySceneDetect; scenedetect.com
  • TransNetV2 — Soucek & Lokoc, ‘TransNet V2: An Effective Deep Network for Fast Shot Transition Detection’; github.com/soCzech/TransNetV2
  • Places365-CNN (ResNet50/DenseNet161, CSAILVision) — Zhou et al. 2018 TPAMI ‘Places: A 10 Million Image Database for Scene Recognition’; places2.csail.mit.edu
  • MovieCLIP (visual scene recognition in movies) — Bose et al., WACV 2023, arXiv:2210.11065; project page from USC SAIL
  • Zero-shot CLIP / OpenCLIP (ViT-L/14, ViT-H/14) — Radford et al. 2021 CLIP; github.com/mlfoundations/open_clip; MovieCLIP uses this labeling recipe
  • Qwen2.5-VL (3B/7B/72B, open weights) — Bai et al. 2025 ‘Qwen2.5-VL Technical Report’ arXiv:2502.13923; huggingface.co/Qwen
  • VideoLLaMA3 (2B/7B, DAMO/Alibaba) — Zhang et al. 2025 ‘VideoLLaMA 3’ arXiv:2501.13106; github.com/DAMO-NLP-SG/VideoLLaMA3
  • LLM text/transcript event segmentation (GPT-4-class via API; Llama-3 70B open) — Michelmann et al. 2025 ‘LLMs segment narrative events similarly to humans’ (arXiv:2301.10297); Nature Comms Psychology 2025 s44271-025-00359-7 on LLM-enabled recall/event segmentation
  • Indexter (Event-Indexing computational model) — Cardona-Rivera et al., ‘Indexter: A Computational Model of the Event-Indexing Situation Model’; Zwaan & Radvansky 1998 event-indexing framework