其中:
-和是超参数,用于平衡各个损失项的重要性。
-是分类损失,用于区分前景(目标片段)和背景(非目标片段)。
-是片段损失,用于衡量预测的时间跨度与真实时间跨度之间的差异。
-是亮点检测损失,用于优化每个视频片段的显著性评分。
具体子损失的组成
分类损失
用于区分预测的片段是否为前景(即与查询相关的目标片段)或背景。采用交叉熵损失(Cross-Entropy Loss)来衡量预测类别与真实类别之间的差异:
其中,是预测的置信度分数。
片段损失
用于衡量预测的时间跨度与真实时间跨度之间的误差。该损失由两部分组成:
- L1 损失:衡量预测的时间跨度中心点和宽度与真实值之间的绝对误差。
- IoU 损失:衡量预测的时间跨度与真实时间跨度之间的交并比(Intersection over Union),用于评估预测和真实跨度的重叠程度。
其中,通过匈牙利算法(Hungarian Algorithm)找到与第个预测最优匹配的真实片段。
亮点检测损失
用于优化每个视频片段的显著性评分,该损失由对比损失(Hinge Loss)和Kullback-Leibler散度(KL Divergence)组成:
对比损失:用于区分高显著性(与查询相关)的片段和低显著性(不相关)的片段。公式如下:
其中,是一个边际值,和分别表示低显著性和高显著性片段的评分。
KL 散度损失:用于衡量生成的显著性评分分布与真实显著性评分分布之间的差异,促进生成模型生成更接近真实分布的评分。
其中,是真实的显著性评分向量,是预测的显著性评分向量。
匹配策略
由于预测和真实片段之间的对应关系并非一一对应,因此引入了匈牙利算法来进行双边匹配,确保每个预测与最相近的真实片段进行匹配,避免不稳定的匹配过程,特别是在训练的早期阶段。匹配过程通过最小化匹配成本函数来实现:
其中,是一组预测,是一组真实片段。
EXPERIMENTS
实验设置
- 实验环境:
- 实验使用 PyTorch 作为环境。
- 运行设备为 1×NVIDIA RTX 3090 GPU。
- 输入限制:
- 每个视频的输入帧数限制为 75 帧。
- 每个查询的输入文本限制为 32 个单词,超出的词会被截断。
- 模型架构:
- 跨模态编码器 包含 6 层自注意力层。
- 时刻去噪解码器 包含 2 层去噪层。
- 模型的隐藏维度设置为。
- 训练设置:
- 模型训练 300 轮,选择验证集上表现最好的模型进行测试。
- 模型权重通过 Xavier 初始化 随机初始化。
- 优化器为 AdamW,初始学习率为,权重衰减为。
- 扩散最大步数。
- 超参数设置:
- 损失函数的超参数设置:
- :损失的权重。
- :IoU 损失的权重。
- :分类损失的权重。
- :显著性损失的权重。
- 提议生成:
- 训练时,提议数量从 1 逐渐增加到 20。
- 推理时,提议数量和采样步骤通过网格搜索策略确定。
- 数据集与特征:
- 使用的数据集及其特征:
- QVHighlights 数据集 :使用官方发布的 SlowFast 和 CLIP 特征。
- Charades-STA 数据集 :使用 SlowFast 和 CLIP 特征。
- TACoS 数据集 :使用 C3D 特征。
- TVSum 和 YouTube Highlights 数据集 :使用 SlowFast 和 CLIP 特征。
- VGG 特征用于 Charades-STA 数据集 。
时刻检索

高光检测

baseline对比

采样步数和候选数量(20,50,70)

损失函数消融实验

训练策略,固定proposal还是逐步增加
