24年7月来自上海AI实验室、浙大、南大、复旦、东大和中科院深圳研究所等多个高校研究机构的论文“EgoVideo: Exploring Egocentric Foundation Model and Downstream Adaptation”。
这是 CVPR 2024 中 EgoVis 挑战赛的解决方案,包括 Ego4D 挑战赛中的五个赛道和 EPIC-Kitchens 挑战赛中的三个赛道。基于视觉-语言双-塔模型,并利用以自我中心视频数据,引入一种名为 EgoVideo 的新型基础模型。该模型专为迎合以自我中心视频的独特特征而设计,其在 Ego4D 挑战赛中,解决各种任务,包括自然语言查询、步骤落地、时刻查询、短期目标交互预测和长期动作预测。此外,还参加 EPIC-Kitchens 挑战赛,参与动作识别、多实例检索和动作识别域适配等赛道。将 EgoVideo 应用于这些不同的任务,展示其在不同的以自我为中心视频分析场景中的多功能性和有效性,证明 EgoVideo 作为以自我为中心基础模型的强大表示能力。
代码库和预训练模型: GitHub - OpenGVLab/EgoVideo: [CVPR 2024 Champions] Solutions for EgoVis Chanllenges in CVPR 2024
EgoVideo 训练过程的工作流程如图所示:包括 3 个阶段,在第一阶段,从多个现有数据集中过滤并选择高质量的以自我为中心的视频-文本对;然后,用标准视频-文本对比学习,使用第一阶段的数据执行后期处理;最后,将预训练的 EgoVideo 模型适应不同的下游任务。
第一阶段:为了更好地将在一般视频域中学习的视频基础模型迁移到以自我中心的视频域,采用自动过滤技术从公共视频数据集(例如 Ego4d [12]、HowTo100M [23]、EgoExoLearn [17] 和 Ego4d Goal-Step [27])中收集大量成对的自我中心视频-文本对,为了确保更广泛的自我中心数据并保持相关的数据质量。这产生大约 700 万个视频-文本对。
第二阶段:采用 InternVideo2 [31],这是一种视频基础模型,已在数百万个视频-文本对 [30] 上进行了预训练。 InternVideo2 是通过渐进式学习方案构建的,包括特征蒸馏、多模态对齐和视觉语言连接。因此,预训练的视频基础模型是后续特征学习过程的良好起点。然后,执行后预训练过程,并在第一阶段的混合数据上对模型进行 5 个epochs的训练,提高以自我为中心的视频理解能力。该模型通过标准视觉-文本对比损失进行优化。在训练过程中,还在 EPIC-Kitchen-100 零样本多示例检索基准 [5] 上检查了模型的自我中心视频理解能力,结果如表所示。这个自我中心的视频基础模型称为 EgoVideo,由强大的自我中心视频编码器 EgoVideo-V 和文本编码器 EgoVideo-T 组成。
第三阶段:经过第二阶段的训练,获得针对自我中心域的视频基础模型 EgoVideo。用此模型在该阶段初始化模型。在此阶段,对训练集进行特定任务的微调。
任务特定微调分以下几个应用:
任务 1:自然语言查询(NLQ)
解决方案以 GroundNLQ [14] 为基础,并用 EgoVideo 提取视频和文本特征。GroundNLQ 提出一种多模态多尺度 Transformer 编码器模块,用于对视频和文本特征进行编码,然后有效地融合它们。按照 GroundNLQ,首先在 NaQ [25] 数据上进行预训练,然后在 NLQ 数据上进行微调。
1)特征提取:用 EgoVideo 的 ViT-1B 为每个片段提取视频特征,其中包含 s = 16 个连续帧,间隔 δ = 16。文本特征由 EgoVideo 的 BERT-Large 提取。
2)训练设置:在预训练阶段,将批大小设置为 8,总 epochs 设置为 10,预热 4 个 epochs,最大学习率为 2e-4。在微调阶段,将批大小设置为 2,总 epochs 设置为 10,预热 4 个 epochs,最大学习率为 5e-5。
任务 2: 目标步-步骤落地(GoalStep - Step Grounding)
与NLQ类似,用GroundNLQ作为基础模型,并采用EgoVideo提取视频和文本特征。
采用与 NLQ 一致的配置进行特征提取。在微调阶段,用批处理大小 8,以 0.2 的概率应用 dropout,并将drop path 率设置为 0.2。其他超参与 NLQ 保持相同。
任务 3:时刻查询
采用 ASL [26] 作为特定任务的解决方案。ASL 将任务分为两个子任务:分类和定位。它包含一个动作敏感度评估器模块来评估每个帧相对于动作的重要性,从而指导每个子任务的学习过程。
1)特征提取:为了进一步提高仅视觉性能,在 MQ 数据上微调 EgoVideo-V 的视频编码器,得到的模型称为 EgoVideo-MQ。与 NLQ 和 GoalStep 的配置一致,采用 EgoVideo-V 和 EgoVideo-MQ 来提取两种类型的视频特征。
2)训练设置:InternVideo、EgoVideo-V 和 EgoVideo-MQ 特征均投影到 512 维,其他超参与 ASL 保持一致。
任务 4:短时目标-交互预测
使用 Stillfast [24] 作为下游解决方案。该方法分别提取高分辨率、低帧率的图像信息和低分辨率、高帧率的视频信息,然后融合它们以获得多模态时空特征。Stillfast [24] 使用 X3D-M [9] 作为视频特征提取的主干。用更强大的 VideoEgo-V 替换 X3D-M。与原始 Stillfast 框架不同,其融合 X3D-M(快速)和 ResNet(静止)的多个多尺度中间层,而这里将 VideoEgo-V 的最后一层特征图插值成不同的大小,并将它们融合到 ResNet 生成的多尺度静止特征中。
采用与 Stillfast 一致的训练设置。不同之处在于drop path 率设置为 0.3,将逐层学习率衰减设置为 0.9。同时,启用BF16进行稳定训练。
任务 5:长时动作预测(LTA)
利用大语言模型 (LLM) 的方法 [20, 38] 将视频动作转换为自然语言序列,在 LTA 任务中表现出色,然后 LLM 使用这些序列来预测未来的动作。对于基于 LLM 的方法,更好的分类预测和更强大的 LLM 直观地带来了更强的语言理解和预测能力。
视频片段分类。以前的方法通常使用视频编码器(如 EgoVLP [20, 38] 或 CLIP [38])结合基于 Transformer 的分类头来获取动词和名词。只是在 LTA 数据上微调 EgoVideo-V,用更好的推理结果替换之前的分类预测。
LLM 预测。采用 Vicuna-7B [42] 模型作为 LLM。在微调过程中,将历史动作序列长度固定为 8,并使用后续 20 个动作作为标签。用 EgoVLP [22] 提取特征并扩充训练集。
按照 [38] 的方法,在微调阶段,将所有模型的学习率设置为 3e-4、gamma 设置为 0.85、批量大小设置为 32、epoch 数设置为 3。还使用 LoRA [15] 来提高微调的速度和效率。
任务 6:动作识别
按照先前的研究 [39, 41],在训练集上对模型进行了 100 个 epochs 训练,学习率为 1e-5,批大小为 48。使用交叉熵损失进行了 2 个 epochs 热身训练。该模型在 16 个 A100 GPU 上进行训练。
任务 7:多实例检索
按照先前的研究 [39, 41],在训练集上对模型进行 50 个 epochs 训练,学习率为 1e-5,批大小为 8。用经典的视频文本对比损失进行了 1 个 epoch 热身训练。该模型在 8 个 A100 GPU 上训练了 12 小时。
任务 8:动作识别的域适配
与动作识别的训练设置类似,不同之处在于只在源域上训练模型。