VideoChat:以对话为中心的视频理解新范式
近日,上海人工智能实验室通用视觉团队推出以对话为中心的视频理解新范式VideoChat,基于书生通用视频模型(InternVideo)首次提出整合视频理解基础模型和大语言模型的两种方式:VideoChat-Text(多种感知模型显式描述视频)和VideoChat-Embed(单一视频模型隐式编码视频)。目前,数据和模型已开源。
技术报告:
https://arxiv.org/abs/2305.06355
开源代码:
https://github.com/OpenGVLab/Ask-Anything(点击阅读原文直达链接)
一起看视频、聊视频、做视频
用VideoChat陪你看视频,它不仅能看懂剧情,和你聊剧情,甚至对视频中的舞蹈提供配乐建议。如何做到的?一起来看看吧!
看剧场景
视频理解
VideoChat对视频的理解不仅限于对环境、人物、物品的识别,甚至可以理解视频中人物的表情、情绪以及整体氛围。
例如,针对下面的视频,VideoChat不仅能够“看到”视频内的人穿着白色衬衫和蓝色裤子在冰箱前跳舞,周围有许多卡通人物,还能“感知”到他在跳舞时面带微笑,充满喜悦,享受音乐,带有活力和热情;VideoChat甚至“看懂”了视频中的幽默之处:男子的舞蹈与厨房内的物品形成有趣的对比。
在“看懂”视频的基础上,VideoChat甚至能对视频配乐提出改善建议。例如,针对下面的舞蹈视频,VideoChat的建议是配上动漫音乐,看来它也是懂二次元的。
时间和空间感知
VideoChat-Text和VideoChat-Embed都具备强大的时间和空间感知能力,但VideoChat-Embed的隐式视频编码能更深入地感知视频深层含义,如摄像机的镜头语言等。
在时间感知与分析中,VideoChat-Text(下图右)可以识别出视频中做瑜伽的动作,甚至给出了人物可能摔倒的判断并进行安全提醒。这里用到了视频基础模型InternVideo和其他感知模型强大的视觉建模能力和大语言模型对事件的对话能力。而VideoChat-Embed(下图左)中除了可以正确识别出视频中任务的动作之外,还能够定位事件发生的时间、视频拍摄的地点和摄像机的镜头语言,后者是仅靠显式视频描述与大语言模型结合所难以达成的。
图片理解
如何实现?
2. VideoChat-Embed:将视频映射为文本空间的特征编码
VideoChat-Text
在生成视频文本描述后,将这些细节描述信息通过下述prompt模版结合,输进大语言模型辅助理解。
理论上VideoChat-Text可以通过结合检测、分割、跟踪等模型得到视频的详细描述,并且可以利用ChatGPT等大语言模型得到鲁棒性较强的效果。但缺点是token非常冗余,限制了LLM能力的发挥,且效果受限于感知模型的种类和效果。
VideoChat-Embed
VideoChat-Embed框架和微调数据
VideoChat-Embed则利用视频基础模型,隐式地将视频信息编码为文本对齐的编码。在本论文中,研究人员迁移了BLIP的图文预训练模型。为了增强图像模型的视频理解能力,研究人员借鉴UniFormerV2(点击了解)将图像编码器改造为高效地视频编码器,并利用预训练的QFormer将冗余的视频token压缩,最后使用简单的线性层对齐大语言模型的特征维度。
两阶段训练方式
目前VideoChat对于图像和视频都有较好的感知。未来,团队将基于书生通用视频模型(InternVideo)进一步强化模型计数、位置、时序等能力,设计更丰富的指令微调数据,解决更复杂的长视频因果推理。