超越“他看着”: 利用 DistinctAD 生成独特的电影口述影像
想象一下闭着眼睛看电影。你完全依赖旁白来描述动作。现在,想象一个紧张的场景,一个角色慢慢意识到自己被监视了。旁白说: “他看着。”几秒钟后: “他看着某样东西。”然后: “他又看了一眼。”
很令人沮丧,对吧?你错过了细微之处——眼睛的睁大、对药瓶的一瞥、门口的黑影。这就是当今许多自动口述影像 (AD) 系统的现状。虽然它们可以识别出一个人和一个大概的动作,但往往无法捕捉到推动叙事发展的具体、独特的细节。
在这篇深度文章中,我们将探讨由香港城市大学和百度公司的研究人员提出的一种名为 DistinctAD 的新框架。这篇论文解决了当前 AI 旁白中的两个关键缺陷: 训练数据与电影之间的领域差距,以及模型在场景看起来相似时容易重复自身内容的问题。读完这篇文章,你将了解 DistinctAD 如何使用一种涉及“上下文期望最大化注意力”的两阶段方法,将重复、乏味的字幕转化为生动、故事驱动的描述。
问题所在: 为什么电影旁白如此困难?
口述影像 (AD) 是一项无障碍服务,旨在将视觉信息转化为口语文本,供盲人和低视力观众使用。与标准的视频字幕 (例如“一只狗在草地上跑”) 不同,电影 AD 必须插入到对话的自然间隙中,并有助于连贯的故事讲述。
研究人员指出了阻碍当前 AI 做好这项工作的两个主要障碍:
- 领域差距 (The Domain Gap): 大多数视觉-语言模型 (VLMs),如 CLIP,都是在网络数据上训练的——即静态图像配对简短、字面的标题。电影 AD 则不同;它们使用文学语言、角色名字,并描述复杂的时间动作。一个在 YouTube 片段或 Google 图片上训练的模型很难说好“电影语言”。
- 上下文冗余 (Contextual Redundancy): 这是一个隐形杀手。在电影中,不同的动作通常发生在相同的场景中,且涉及相同的角色。如果你从一个场景中取出三个连续的 5 秒片段,其视觉特征 (房间、灯光、演员的衣服) 有 90% 是相同的。由于上下文是重复的,标准的 AI 模型会变懒。它们会对连续的片段输出相同的通用描述 (例如“她站在房间里”) ,而不是描述那个特定时刻的独特变化。

如 图 1 所示,以前的方法将每个片段孤立处理,或者未能过滤掉背景噪音,导致重复的“安全”猜测。DistinctAD (b 部分) 通过观察片段序列来找出这个特定时刻的独特之处。
第一阶段: 利用 CLIP-AD 弥合领域差距
在模型能够生成好的故事之前,它需要理解电影的视觉语言。作者使用 CLIP (对比语言-图像预训练) 作为基础。然而,他们发现了一个有趣的异常现象:
- 如果你获取一段 AD 文本并将其输入 CLIP 的文本编码器,语言模型 (如 GPT-2) 可以轻松重构该句子。这说明文本编码器足够理解电影语言。
- 然而,如果你获取视频帧并将其输入 CLIP 的视觉编码器,重构效果很差。
这表明 CLIP 视觉编码器 是薄弱环节——它不知道如何从电影帧中提取具有叙事性的特征。
为了解决这个问题,研究人员提出了 第一阶段: CLIP-AD 适应 (CLIP-AD Adaptation) 。 这不仅仅是简单的微调;这是一种双管齐下的对齐方法。

1. 全局视频-AD 匹配
第一步是标准的对比学习。模型获取一批视频片段及其对应的 AD 句子。它试图最大化正确视频-文本对之间的相似度,同时最小化错误对之间的相似度。
将视频 \(v\) 与 AD 文本 \(AD\) 匹配的损失函数计算如下:

这确保了在宏观层面上,视觉编码器能够学习到特定场景对应于特定句子。
2. 细粒度帧-AD 匹配
电影是“多实例”问题。一个 AD 句子可能会说: “Harry 看到深井底部有微光。”单词“微光 (glow)”可能只对应片段的最后 20 帧,而“Harry”则出现在所有帧中。全局平均可能会错过这些特定的对应关系。
研究人员引入了一种细粒度机制。他们将视频视为一袋帧 (bag of frames),将文本视为单词序列。他们使用注意力机制来计算哪些单词最对应哪些帧:

这里,\(\tilde{\mathbf{T}}_i\) 代表“帧感知”的文本嵌入。本质上,对于每一帧,模型都会根据最匹配该特定帧的单词构建文本表示。
然后,他们应用多实例损失 (Multiple-Instance Loss) 来将单个帧与这些帧感知文本表示对齐:

通过结合全局和细粒度匹配,研究人员生成了一个新的视觉编码器 \(\text{CLIP}_{\text{AD}}\) , 它专门用于“看”出电影帧中的叙事元素。
第二阶段: 独特的 AD 叙述
有了更好的视觉编码器,该框架转向核心挑战: 解决 上下文冗余 。
如果一个角色在餐桌旁坐了五分钟,“桌子”、“晚餐”和“坐着”的视觉特征会出现在每一帧中。如果模型只关注这些强特征,它只会一直说“他坐在桌子旁”。
为了生成独特的描述,模型必须:
- 识别一系列片段中常见的“背景”信息。
- 抑制这种冗余。
- 突出独特的变化。
作者通过一个包含 Perceiver、上下文 EMA 模块 和 独特词损失 (Distinctive Word Loss) 的管道来实现这一目标。

设置
模型获取 \(N\) 个连续的视频片段。这些片段由经过适应的 \(\text{CLIP}_{\text{AD}}\) 编码器处理。一个 Perceiver 模块 (一种 Transformer) 将这些特征重采样为固定大小,创建一个片段向量序列。

上下文 EMA (期望最大化注意力)
这是 DistinctAD 的核心。上下文 EMA 的目标是清理视觉信号。它使用通常用于数据聚类的期望最大化 (EM) 算法。
在这里,“数据”是来自片段序列的视觉特征,而“聚类” (或基,bases) 代表常见的视觉主题 (例如背景景色、主角的脸) 。
步骤 1: 责任估计 (E-Step) 模型估计每一帧在多大程度上属于某个“基” (聚类) 。这就像在问: “这个特征是背景的一部分,还是动作的一部分?”

步骤 2: 似然最大化 (M-Step) 模型更新基,以更好地代表分配给它们的特征。它计算输入特征的加权平均值。

通过迭代这些步骤,模型将视觉信息分离成紧凑的基。然后,研究人员使用这些基重构视觉特征:

为什么要这样做?因为重构的特征 \(\widehat{\mathcal{H}}\) 代表了场景的“通用”或“紧凑”版本。为了找出当前片段的特殊之处,模型还在原始特征和学习到的基之间执行 交叉注意力 (Cross-Attention) :

交叉注意力机制允许模型重新加权信息,有效地关注与当前时刻相关的特定基,同时忽略冗余的基。
可视化效果: 该过程的影响如下所示。在 (a) 中,原始特征是分散的。在 (c) 中,经过上下文 EMA 后,特征被组织成指向特定基的清晰条带状分布。这种结构使得语言模型更容易区分不同的视觉元素。

最后,这些处理过的特征被求和并投影到 LLM 的嵌入空间中:

显式独特词预测
即使拥有完美的视觉特征,大语言模型 (LLM) 也有自己的坏习惯。它们喜欢重复单词。如果模型在上一句生成了“男人在走”,那么它再次生成“男人”和“走”的概率仍然很高。
为了强制 LLM 使用新的词汇,DistinctAD 引入了一种特定的损失函数。研究人员通过查看相邻片段的真实 AD 并过滤掉重复项 (如名字和停用词) ,创建了一组 独特词 (\(w_d\))。剩下的词就是当前片段的“独特”术语。
模型使用标准的自回归损失 (预测下一个词) 进行训练:

加上 一个专门提高那些独特词概率的独特损失:

这迫使 LLM “搜寻”定义当前动作的具体名词和动词,而不是依赖通用的描述。
实验与结果
研究人员在三个主要基准上评估了 DistinctAD: MAD-Eval、CMD-AD 和 TV-AD 。 他们将其与“免训练”方法 (如通过图像提示 GPT-4V) 和其他“部分微调”方法 (如 AutoAD) 进行了比较。
定量成功
MAD-Eval 上的结果显示 DistinctAD 具有明显优势。
- CIDEr: 衡量生成文本与人类参考文本相似度的指标。DistinctAD 达到了 27.3 , 显著高于 AutoAD-II (19.5) 和基于 GPT-4V 的方法 (约 9.8 - 13.5) 。
- Recall@k/N: 这是该论文的一个关键指标。它衡量生成的 AD 与 \(N\) 个邻居中的特定基准真值的匹配程度。得分高意味着描述足够独特,可以与相邻片段的描述区分开来。DistinctAD 达到了 56.0 , 刷新了 SOTA (最先进水平) 。
在 CMD-AD 基准测试中也看到了类似的成功:

消融实验: 所有组件都重要吗?
作者进行了严格的测试,以确保复杂管道的每个部分都是必要的。
- 第一阶段的影响: 使用适应后的 \(\text{CLIP}_{\text{AD}}\) 代替标准 CLIP,在所有配置中均一致提高的分数。
- 第二阶段的影响: 如 表 5 所示,逐步添加重构特征 (\(\widehat{\mathcal{H}}\)) 和独特损失 (\(\mathcal{L}_{dist}\)) 带来了渐进式的提升。所有元素的组合 (C3 行) 给出了最佳结果。

有趣的是,他们还测试了 \(N\) 个片段是否需要是连续的。 表 6 显示,使用连续片段对于 CIDEr (准确性) 至关重要,尽管非连续片段对独特性 (Recall) 略有帮助,这可能是因为视觉差异更明显。

定性分析: 直观测试
数据固然重要,但 AD 关乎用户体验。让我们看看描述读起来到底如何。
在下方的 图 5 中,我们看到了基准真值 (GT)、AutoAD-Zero 和 DistinctAD 之间的比较。
- *场景: * 一个黑暗的房间,床上有一个男人。
- *GT: * “床上的男人背对着房间柔和的灯光坐着……”
- *AutoAD-Zero: * 经常错过细微之处或产生交互幻觉。
- *DistinctAD: * 捕捉到了具体的动作,如“Stephen 拿出他的钱包”,而竞争对手可能只会说“Stephen 站着”。

来自补充材料的另一个例子突出了“角色感知”和具体动作的差异。

在上图中,注意基准真值如何强调光线 (“剪影”、“灯光”) 。DistinctAD 的架构旨在捕捉这些独特的环境特征,而不仅仅是检测“男人”和“床”。
结论
DistinctAD 代表了在使媒体无障碍化方面迈出的重要一步。通过承认电影不仅仅是随机图像的集合,而是连续的、通常重复的视觉数据流,研究人员设计了一个模仿人类感知故事方式的系统。
我们会过滤掉背景。我们会注意到手部的抽动、桌子上的新物体、光线的变化。通过使用 上下文 EMA 在数学上模拟这种过滤过程,并使用 CLIP-AD 适应 来学习电影语言,DistinctAD 让我们远离了机械的“他看着”,转向了真正讲述故事的叙事性描述。
虽然 CIDEr 分数 (约 27.3) 表明要达到人类的熟练程度还有很长的路要走,但高独特性分数证明了 AI 可以被教导去关注那些重要的细节。对于视障群体来说,这些细节决定了一切。
](https://deep-paper.org/en/paper/2411.18180/images/cover.png)