Video-LLaMA论文解读和项目部署教程

时间:2024-10-15 07:06:55

Video-LLaMA: An Instruction-tuned Audio-Visual Language Model for Video Understanding

相关工作
大型语言模型:

        本文的工作基于这些LLM,并提供即插即用插件,使其能够理解视频中的视觉和听觉内容。

多模态大型语言模型:

        现有的方法可以分为两大类。

        第一类包括使用LLM作为控制器和利用现有的多模态模型作为工具。

        当接收到用户的文本指令时,LLM识别出用户的注意力,并决定调用哪些工具。然后,它通过整合从这些现成的多模态模型中获得的结果,生成全面的响应。

        第二类集中于训练基本的大规模多模态模型。

        关键思想是将用于其他模态的预训练基础模型与文本LLM对齐。

        本文的工作属于第二类,训练基本模型来理解视频中的视觉和听觉内容。

 与之前专注于静态图像的视觉LLM不同,如(MiniGPT-4/LLaVA),Video-LLaMA主要解决了两个挑战

        捕捉视觉场景中的时间变化:提出一种视频QFormer,将预训练的图像编码器组装到我们的视频编码器中,并引入视频到文本生成任务来学习视频语言对应关系。
        整合视听信号:利用ImageBind,这是一种将多个模态对齐的通用嵌入模型,作为预训练的音频编码器,并在ImageBind之上引入音频Q-Former,以学习LLM模块的合理听觉查询嵌入。
为了使视觉和音频编码器的输入与LLM的嵌入空间对齐,使用大量指令调整(instruct-tuned)数据集训练Video-LLaMA。

视频语言模型: 由一个用于从视频帧中提取特征的冻结视觉encoder,一个用于将时间信息注入视频帧的位置嵌入曾,一个聚合帧表示的视频Q-Former和一个将输出视频表示映射到LLM的线性层。
如图1的左部所示,它包括

        一个冻结的预训练图像编码器,用于从视频帧中提取特征;文章使用Blip-2中的视觉预训练组件作为冻结的视觉encoder来提取图像的特征,encoder包括一个Vit模型与一个预训练好的Q-former。

        一个位置嵌入层,用于将时间信息注入视频帧;文章在分支中加入了位置嵌入层作为指示器来将时间信息注入视频帧。

  来自冻结图像编码器的帧表示 v_{i} 是在不考虑任何时间信息的条件下进行计算的,因此需要加入位置嵌入作为帧的事件表示。然后将位置编码的帧表示送入视频Q-Former以获得维度为

\widetilde{v} \epsilon R^{K_{v}*d_{v}} 的视频嵌入向量。给定N个帧组成视频,Visual Encoder首先将每个帧映射到K_{f}个图像嵌入向量中,产生视频帧表示为V = [v1,v2,v3,vN],其中v_{i}