---
title: 'SodaM: Metric for Omni Dense Captioning'
url: https://www.emergentmind.com/topics/sodam
type: topic
---

# SodaM: Metric for Omni Dense Captioning

SodaM is a unified metric proposed for the Omni Dense Captioning task in "TimeChat-Captioner: Scripting Multi-Scene Videos with Time-Aware and Structural Audio-Visual Captions" [2602.08711]. It is designed to evaluate time-aware detailed descriptions while mitigating scene boundary ambiguity. In this setting, the output is a continuous, fine-grained, and structured audio-visual narrative with explicit timestamps, and SodaM jointly evaluates temporal alignment and semantic coverage for multi-scene, script-like captions.

## 1. Definition and task setting

SodaM is introduced in the context of Omni Dense Captioning, where a model must segment a video into continuous scenes and generate a detailed paragraph for each scene with explicit timestamps [2602.08711]. The task is formulated over a video $V$ with frames and audio,
$$
V \rightarrow F = \{f_1, \ldots, f_T\},\ A = \{a_1, \ldots, a_T\},
$$
and an output script
$$
C = \{(t_1, c_1), (t_2, c_2), \ldots, (t_N, c_N)\},
$$
where $t_i$ is a timestamp range and $c_i$ is a multi-dimensional scene caption.

Each scene description is structured along six dimensions:

1. Overall Audio-Visual Events (Events)  
2. Background and Environment (Background)  
3. Camera State (Camera)  
4. Multi-shot Editing Style (ShotEdit)  
5. Dialogue Content (Dialogue)  
6. Acoustic Cues (Acoustic)

The benchmark associated with this task, OmniDCBench, contains 1,122 videos with continuous multi-scene timestamps and full 6-D captions, with average $\sim 995$ words per video [2602.08711]. Within this benchmark, SodaM is the primary metric reflecting the quality of temporally-aligned, multi-dimensional captions.

## 2. Rationale and design objective

SodaM was introduced because Omni Dense Captioning is substantially more complex than conventional dense video captioning [2602.08711]. The outputs are script-like, long, time-stamped, and explicitly structured. Standard text metrics such as BLEU, METEOR, CIDEr, and SPICE are described as ill-suited for paragraph-length, multi-dimensional descriptions, and they are not time-aware. The metric is therefore designed around two requirements.

First, it must evaluate time-aware detailed descriptions. This means rewarding outputs that both segment the video into scenes with accurate timestamps and provide detailed multi-dimensional text per segment.

Second, it must mitigate scene boundary ambiguity. Different annotators or models may use different numbers of segments and place boundaries slightly differently even when describing essentially the same event. SodaM addresses this by aligning predicted and ground-truth scenes flexibly, allowing many-to-one or one-to-many relationships, using temporal overlap to match segments, and then evaluating semantic coverage within those aligned segments [2602.08711].

The paper explicitly characterizes SodaM as a two-stage metric combining temporal IoU-based alignment with a CheckList-based caption quality score. This design is intended to make the metric both efficient and robust under ambiguous scene boundaries.

## 3. Formal definition and computation

Let the prediction be
$$
P = \{(\hat{t}_1, \hat{c}_1), \ldots, (\hat{t}_M, \hat{c}_M)\},
$$
and the ground truth be
$$
G = \{(t_1, c_1), \ldots, (t_N, c_N)\},
$$
where $M$ and $N$ may differ [2602.08711]. SodaM is computed through per-pair scoring, temporal alignment, prediction merging, and aggregation.

### Per-pair timestamp accuracy

For a predicted timestamp $\hat{t} = [\hat{t}_s, \hat{t}_e]$ and ground-truth timestamp $t = [t_s, t_e]$, temporal Intersection over Union is defined as
$$
\text{IoU}(\hat{t}, t) = \frac{|\hat{t} \cap t|}{|\hat{t} \cup t|}.
$$

### Per-pair caption quality

For each dimension $d \in \mathcal{D}$, the ground-truth scene caption $c$ is decomposed into atomic elements
$$
\mathcal{E}_d = \{e_1, e_2, \ldots, e_{|\mathcal{E}_d|}\}.
$$
Given a predicted caption $\hat{c}$, the CheckList score is defined as
$$
\text{CheckList}(\hat{c}, c) =
\frac{1}{\sum_{d \in \mathcal{D}} |\mathcal{E}_d|}
\sum_{d \in \mathcal{D}} \sum_{i=1}^{|\mathcal{E}_d|}
\text{Judge}(\hat{c}, e_i),
$$
where $\text{Judge}(\hat{c}, e_i) \in \{0,1\}$ indicates whether the predicted caption covers element $e_i$ [2602.08711]. The judge model is Gemini-2.5-Flash.

### Temporal alignment by dynamic programming

Since $M \neq N$ in general, SodaM first aligns predicted scenes to ground-truth scenes using dynamic programming with temporal IoU as the matching score:
$$
S[i][j] = \max
\begin{cases}
S[i-1][j] \\
S[i][j-1] \\
S[i-1][j-1] + \text{IoU}(t_i, \hat{t}_j)
\end{cases}.
$$
This alignment stage uses only temporal IoU, not text, which makes it inexpensive relative to LLM-based judging [2602.08711].

### Many-to-one merging

After alignment, multiple predicted scenes may align to the same ground-truth scene. SodaM handles this by merging those predictions:
$$
\hat{t}_{\text{merged}} = [\min(\hat{t}_{k,s}, \ldots), \max(\hat{t}_{k,e}, \ldots)],
$$
$$
\hat{c}_{\text{merged}} = \text{Concat}(\hat{c}_k, \ldots, \hat{c}_{k+l}).
$$
The paper states that only predictions are merged while keeping the ground truth unchanged to ensure evaluation fairness [2602.08711].

After merging, one obtains a set of aligned pairs
$$
\mathcal{M} = \{(\hat{p}_1, g_1), \ldots, (\hat{p}_K, g_K)\}, \quad K \leq N.
$$

### Aggregation into SodaM

For each matched pair, SodaM evaluates caption quality with the CheckList procedure and then computes an F1 score for all pairs following $\text{SODA}_\text{c}$ [2602.08711]. The paper describes this as a story-level, time-aware F1 over ground-truth keypoints aggregated across scenes and dimensions after temporal alignment.

The same alignment is also used to report timestamp metrics: F1 at IoU thresholds $\{0.3, 0.5, 0.7, 0.9\}$ and mean IoU. These are reported separately as Multi-Scene Seg.: F1 & mIoU rather than being folded into the SodaM scalar [2602.08711].

## 4. Temporal robustness and boundary ambiguity

A central property of SodaM is that it is explicitly temporal in two senses [2602.08711]. First, alignment is based on temporal IoU, so only segments that overlap in time can accumulate high alignment scores. Second, the benchmark also reports timestamp accuracy through F1 at multiple IoU thresholds and mean IoU, using the same alignment path.

Its treatment of boundary ambiguity has three components. Soft matching via IoU avoids requiring exact boundary coincidence. Dynamic programming allows skipping segments in either sequence and selects a global path that maximizes total IoU rather than imposing a rigid one-to-one mapping. Many-to-one merging then consolidates several finer-grained predicted scenes into a single aligned prediction when they correspond to the same human-annotated scene.

This design matters because scene granularity is not stable across annotators or models. Human annotations may treat a temporally extended event as one scene, while a model may split it into two or three smaller segments. SodaM is constructed to evaluate such cases holistically rather than penalizing them as categorical mismatches.

The paper also contrasts SodaM with a direct application of $\text{SODA}_\text{c}$. Compared to $\text{SODA}_\text{c}$, SodaM reduces judge-model cost from $O(MN)$ to $O(K)$ where $K \leq N$ by decoupling IoU matching from text evaluation, and it gracefully handles many-to-one alignments through merging [2602.08711].

## 5. Role in training and benchmark evaluation

SodaM is not only an offline metric; it is also used as a reward component in GRPO training for TimeChat-Captioner-7B [2602.08711]. In that setup, the reward consists of four parts:

- format reward $\mathcal{R}_F$  
- length reward $\mathcal{R}_L$  
- timestamp reward $\mathcal{R}_T$  
- time-aware caption reward $\mathcal{R}_C$

The paper states that $\mathcal{R}_C$ adopts the unified SodaM metric as the reward to encourage comprehensive and temporally-aligned structural captions. The full reward is
$$
\mathcal{R} = \alpha_f \cdot R_F + \alpha_l \cdot R_L + \alpha_t \cdot R_T + \alpha_c \cdot R_C,
$$
with default weights
$\alpha_f = 0.5$,
$\alpha_l = 0.5$,
$\alpha_t = 1.0$,
and
$\alpha_c = 1.0$
[2602.08711].

This coupling between evaluation and reinforcement learning gives SodaM a dual role. As a benchmark metric, it measures temporally aligned semantic coverage. As a reward, it biases the model toward captions that jointly satisfy timestamp accuracy and six-dimensional content coverage.

The ablation reported in the paper shows that removing the SodaM caption reward degrades benchmark performance: GRPO without $R_C$ yields OmniDCBench SodaM $= 32.5$, while GRPO with $R_C$ yields OmniDCBench SodaM $= 35.0$ [2602.08711]. The same paper also states that TimeChat-Captioner-7B achieves state-of-the-art performance, surpassing Gemini-2.5-Pro.

## 6. Properties, limitations, and disambiguation

SodaM is presented as better aligned with Omni Dense Captioning than conventional n-gram metrics because it combines temporal matching with checklist-based semantic recall across Events, Background, Camera, ShotEdit, Dialogue, and Acoustic [2602.08711]. Its strengths, as explicitly described, include dense semantic coverage, robustness to temporal ambiguity, and improved efficiency relative to $\text{SODA}_\text{c}$.

Several limitations are stated or can be marked as plausible implications. An explicit dependency is that CheckList and thus SodaM rely on Gemini-2.5-Flash as judge model. A plausible limitation is sensitivity to judge-model biases or paraphrase failures, because the metric depends on model-based recognition of atomic keypoints. A plausible limitation is that SodaM, being recall-oriented, may favor very long captions that mention many keypoints at once. A plausible limitation is dependence on the quality of the decomposition of ground-truth captions into atomic keypoints per dimension [2602.08711].

A common source of confusion is the name itself. In contemporary arXiv usage, SodaM is not interchangeable with SODA. The exact string “SodaM” does not appear in "Spectrum-Aware Parameter Efficient Fine-Tuning for Diffusion Models" [2405.21050], where the method is SODA for spectral adaptation of diffusion models; it does not appear in "Optimistic Dual Averaging Unifies Modern Optimizers" [2605.11172], where the named methods are SODA, MODA, and SODA wrappers; and it does not appear in "SODA: Semantic-Oriented Distributional Alignment for Generative Recommendation" [2603.00700], where SODA denotes a recommendation objective. In the present context, SodaM specifically names the metric for time-aware, structurally rich, multi-scene audio-visual caption evaluation introduced in TimeChat-Captioner [2602.08711].

SodaM therefore occupies a distinct position: it is a benchmark and reward metric for temporally grounded, multi-dimensional video narration rather than a fine-tuning method, an optimizer framework, or a recommendation objective.

Source: https://www.emergentmind.com/topics/sodam