EagleNet: Energy-Aware Fine-Grained Relationship Learning Network for Text-Video Retrieval¶
会议: CVPR 2026
arXiv: 2603.25267
代码: https://github.com/draym28/EagleNet
领域: 多模态VLM / 视频理解
关键词: 文本视频检索, 图注意力网络, 能量模型, 细粒度关系学习, 跨模态对齐
一句话总结¶
EagleNet 通过构建文本-帧关系图并使用关系图注意力网络学习文本-帧和帧-帧之间的细粒度关系,生成融合视频上下文信息的增强文本嵌入,并引入基于能量模型的匹配机制捕获真实文本-视频对分布,在四个基准数据集上取得 SOTA。
研究背景与动机¶
-
领域现状:文本-视频检索(TVR)领域的主流方法大多基于 CLIP 预训练模型,聚焦于学习高质量的视频表征或改进跨模态对齐策略。近期少数工作开始关注文本表达力不足的问题——简短的视频描述难以完整反映视频的丰富语义。
-
现有痛点:
- TMASS、TV-ProxyNet 等方法尝试通过采样或代理方式扩展文本语义,但仅考虑了文本与帧/视频之间的交互
- 完全忽略了视频内部帧与帧之间的关系(frame-frame relations)
- 结果是扩展后的文本嵌入无法捕获帧的上下文信息,导致文本和视频表征之间存在差距
-
核心矛盾:文本语义扩展需要同时理解"每帧说了什么"(文本-帧交互)和"帧之间如何关联"(帧-帧关系),但现有方法只做了前者而忽略了后者,而帧-帧关系对理解视频的全局和时序语义至关重要。
-
本文目标
- 如何生成同时融合文本-帧交互和帧上下文信息的增强文本嵌入?
- 如何从细粒度角度改进跨模态匹配以更精确地捕获真实文本-视频对的分布?
-
切入角度:将文本候选和视频帧视为图节点,建模三种类型的边关系(text-text、text-frame、frame-frame),用关系图注意力网络学习所有关系后聚合为增强文本嵌入。
-
核心 idea:构建文本-帧关系图学习细粒度的文本-帧和帧-帧交互关系,并用基于能量模型的匹配机制捕获真实对分布,从而生成能感知视频上下文的增强文本嵌入。
方法详解¶
整体框架¶
EagleNet 以 CLIP 为骨干网络编码文本与视频帧,再串接两个核心模块:(1) 细粒度关系学习(Fine-Grained Relationship Learning, FRL) 先用随机文本建模采样多个文本候选,把原始文本、文本候选和帧嵌入拼成一张「文本-帧关系图」,用关系图注意力网络(RGAT)同时学习 text-text、frame-frame、text-frame 三类关系,再聚合成融合视频上下文的增强文本嵌入 \(\mathbf{t}^{gen}\);(2) 能量感知匹配(Energy-Aware Matching, EAM) 用基于能量的模型在帧粒度上刻画真实文本-视频对的分布,作为训练时的辅助目标帮助 FRL 学得更准,推理时整块移除。最终用 sigmoid loss 替代 softmax 对比损失,对 \(\mathbf{t}^{gen}\) 与视频做更稳定的跨模态对齐。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400, 'subGraphTitleMargin': {'top': 8, 'bottom': 16}}}}%%
flowchart TD
IN["输入:文本 + 视频帧"] --> CLIP["CLIP ViT 编码器<br/>文本嵌入 t / 帧嵌入 F"]
CLIP --> FRL
subgraph FRL["1. 细粒度关系学习 FRL"]
direction TB
S1["随机文本建模<br/>采样 S=20 个文本候选"] --> S2["节点矩阵 X<br/>1 原文 + 20 候选 + M 帧"]
S2 --> S3["RGAT 学三类边<br/>text-text / frame-frame / text-frame"]
S3 --> S4["取 text-frame 权重聚合<br/>→ 增强文本 t_gen"]
end
FRL -->|仅训练| EAM
FRL --> SIG
subgraph EAM["2. 能量感知匹配 EAM"]
direction TB
E1["逐帧能量取平均<br/>→ 文本-视频能量"] --> E2["MCMC Langevin 造假对<br/>真对低能量 / 假对高能量"]
end
SIG["3. Sigmoid Loss<br/>每对独立打分对齐 t_gen 与视频 v"] --> OUT["检索排序"]
关键设计¶
1. 细粒度关系学习(FRL):让扩展后的文本嵌入"看见"帧与帧之间的关系
TMASS 这类方法扩展文本语义时只问"文本和每帧像不像",却把视频内部帧与帧的上下文关系丢在一边,扩出来的文本嵌入自然抓不住视频的全局和时序语义。FRL 的做法是把所有东西都摆进一张图里一起学:先用随机文本建模策略采样 \(S=20\) 个文本候选 \(\{\mathbf{t}_i^{sto}\}\),连同 1 个原始文本嵌入和 \(M\) 个带时序位置编码的帧嵌入,拼成节点矩阵 \(\mathbf{X}\in\mathbb{R}^{n\times d}\)(\(n=1+S+M\))。比如一段 12 帧的视频,节点矩阵就有 \(1+20+12=33\) 个节点。关系图注意力网络 RGAT 在这张图上同时学三种边——text-text、frame-frame、text-frame,对关系 \(r\)、节点对 \((i,j)\) 算边权重
再经 LeakyReLU 和 softmax 归一化成注意力分数。最后只取文本-帧那部分边权重做平均,对文本节点加权聚合,得到增强文本 \(\mathbf{t}^{gen}=\sum_i w_i \mathbf{X}_i\)。关键就在那条 frame-frame 边:有了它,文本嵌入在被聚合出来之前就已经"知道"帧之间怎么关联,从而过滤掉冗余和噪声,而不是平均地吃下每一帧。
2. 能量感知匹配(EAM):用能量模型在帧粒度上对齐真实的文本-视频对分布
全局对比损失只把文本和整段视频拉到一起,看不见文本到底和哪几帧对得上。EAM 改用基于能量的模型来刻画文本-视频对的联合分布,写成 Boltzmann 形式 \(p_\theta(\mathbf{t},\mathbf{F})=\frac{\exp(-E_\theta(\mathbf{t},\mathbf{F}))}{Z_\theta}\),真实对能量低、假对能量高。要害是把文本-视频能量定义为逐帧能量的平均
这样梯度落到每一帧上,匹配是细粒度的而非整段一锅端。其中 \(E_\theta\) 可选负余弦相似度、双线性评分或 MLP(实验里双线性和 MLP 更好,说明可学习参数有用)。训练用负对数似然,靠 \(K=20\) 步 MCMC Langevin 采样造出"假文本-视频对"来推高它们的能量。EAM 只在训练时生效,推理时整块拿掉,不增加任何检索开销。
3. Sigmoid Loss 替代 Softmax Loss:让每对样本独立打分,契合 TVR 的多匹配本质
softmax 对比损失要在 batch 相似度矩阵的行和列两个方向上做归一化,结果对负样本和 batch size 都很敏感;而 TVR 里"一个文本可能同时语义匹配好几个视频",强行归一化反而会把这些合理的正匹配互相压低。EagleNet 改用 sigmoid loss
其中 \(\mathbb{I}_{ij}\) 是正负对指示符,\(\tau\)、\(b\) 为可学习的温度与偏置。它把每一对样本当成独立的二分类来判"匹配/不匹配",不再受 batch 内其他样本牵连,因此训练更稳,也天然容得下一对多的匹配关系。
损失函数 / 训练策略¶
总训练目标:\(\mathcal{L}_{total} = \mathcal{L}_{sig}(\mathbf{t}^{gen}, \mathbf{v}) + \lambda_{sup}\mathcal{L}_{sig}(\mathbf{t}^{sup}, \mathbf{v}) + \lambda_{eam}\mathcal{L}_{eam}\)
其中 \(\lambda_{sup} = 0.8\),\(\lambda_{eam} = 1.0\)。使用 CLIP ViT-B/32 或 ViT-B/16 初始化,CLIP 模块学习率 \(10^{-7}\),非 CLIP 模块学习率 \(10^{-4}\),batch size 64,训练 5 个 epoch。
实验关键数据¶
主实验 — MSRVTT (ViT-B/16)¶
| 方法 | T2V R@1↑ | T2V R@5↑ | T2V R@10↑ | V2T R@1↑ | Rsum↑ |
|---|---|---|---|---|---|
| CLIP4Clip | 45.2 | 72.2 | 81.4 | 42.9 | 393.2 |
| XPool | 49.2 | 73.9 | 82.6 | 48.0 | 411.5 |
| GLSCL | 49.9 | 76.3 | 84.1 | 48.3 | 419.0 |
| Video-ColBERT | 50.0 | 76.3 | 84.3 | 47.9 | 417.8 |
| EagleNet | 51.0 | 76.2 | 85.6 | 49.2 | 425.7 |
主实验 — DiDeMo & MSVD (ViT-B/16)¶
| 方法 | DiDeMo R@1↑ | MSVD R@1↑ | VATEX R@1↑ | Rsum↑ |
|---|---|---|---|---|
| TV-ProxyNet | 47.9 | 49.7 | 64.0 | 676.6 |
| TempMe | 50.2 | - | - | - |
| EagleNet | 51.5 | 50.9 | 63.6 | 687.7 |
消融实验¶
| 配置 | MSRVTT R@1↑ | DiDeMo R@1↑ | 平均 R@1↑ |
|---|---|---|---|
| Baseline (TMASS) | 48.5 | 42.1 | 45.3 |
| + FRL | 48.8 | 47.9 | 48.4 |
| + EAM | 49.0 | 43.4 | 46.2 |
| + FRL + EAM | 50.5 | 49.2 | 49.9 |
| + Sigmoid Loss | 47.8 | 43.9 | 45.9 |
| + FRL + EAM + Sigmoid (Full) | 51.0 | 51.5 | 51.3 |
关键发现¶
- FRL 对 DiDeMo 提升最大:单独加 FRL 使 DiDeMo R@1 从 42.1 大幅提升到 47.9(+5.8),说明帧间关系建模对长视频尤为重要
- 三个组件互补性强:单独使用任一组件提升有限,但三者组合后 MSRVTT R@1 提升 2.5%,DiDeMo 提升 9.4%
- 能量函数选择:Bilinear 和 MLP 效果接近且优于 CosSim,说明可学习参数有助于更准确地建模文本-帧能量
- Avgpool 聚合帧能量最优:优于 Maxpool、Minpool 和直接用视频级能量 \(E_\theta(\mathbf{t}, \mathbf{v})\)
亮点与洞察¶
- 帧-帧关系建模用于文本语义扩展:这是一个巧妙的洞察——扩展文本语义时不仅要考虑"文本与每帧的对应",还要考虑"帧之间的上下文关系",后者能帮助文本嵌入捕获视频的全局和时序语义
- 首次将 EBM 引入 TVR:能量模型天然适合细粒度的匹配建模,通过 MCMC 采样生成假对来训练能量函数,且仅在训练时使用不增推理开销
- 修正了 TMASS 代码中的数据泄露问题:这种严谨的实验态度值得称赞,重新实现了多个基线方法确保公平比较
局限与展望¶
- RGAT 的设计相对简单,可以探索更高级的图 Transformer 架构
- 文本候选的采样策略(随机高斯采样)比较粗糙,可以考虑基于语义的定向采样
- EAM 的 MCMC 采样步数 K=20 对训练速度有影响,可以探索更高效的采样策略
- 当前主要在短视频数据集上验证,长视频场景的效果待验证
相关工作与启发¶
- vs TMASS: TMASS 仅通过文本-视频相似度来确定随机文本采样的半径,忽略帧间关系;EagleNet 通过构建关系图显式建模帧-帧关系
- vs TV-ProxyNet: TV-ProxyNet 用视频感知的 directors 将文本转为特定代理,但同样忽略帧间上下文;EagleNet 在关系学习中同时建模文本-帧和帧-帧关系
- vs Video-ColBERT: 两者都使用 sigmoid loss,但 EagleNet 额外引入 FRL 和 EAM 在结构化关系学习和细粒度能量匹配方面更深入
评分¶
- 新颖性: ⭐⭐⭐⭐ 将关系图学习和能量模型有机结合到 TVR 中是新颖的尝试
- 实验充分度: ⭐⭐⭐⭐⭐ 四个数据集、两个 CLIP backbone、详尽的消融和多种设计变体分析
- 写作质量: ⭐⭐⭐⭐ 方法描述清晰,但公式较多需要仔细阅读
- 价值: ⭐⭐⭐⭐ 在竞争激烈的 TVR 领域取得一致性的 SOTA 改进