StreamingBench : Assessing the Gap for MLLMs to Achieve Streaming Video Understanding
标题
本文是一个 benchmark, 主要用于评测现有mllm 对于流视频的理解能力(也就是实时理解)
作者
作者均来自于清华, 主要是 THUNLP 的人员在做的, 其中一作是我的学长 junming lin
概要
StreamingBench 有三个核心考察点
- 实时视觉理解
- 全源信息理解, 也就是多模态理解能力
- 上下文理解
结论: 当前最先进的多模态模型与人类理解能力仍有很大差距
介绍
先前工作
mllm 发展迅速, 也在视频理解方面有出色的表现, 但是当前许多工作都是评估的离线视频, 流视频理解有以下特点:
- query 可能在任何时刻出现
- 需要处理多模态信息
- 需要考虑上下文影响
先前的唯一基准是 Vstream-QA, 它存在一些缺陷:
- 每个问题和解答都有时间戳, 问题只和之前内容相关
- 视频类型有限
- 任务类型单一
- 只关注视觉模态
- 问题单一, 不具有上下文连续性
解决方法
提出 StreamingBench , 解决了以上的问题, 重点考察以下三个方面:
- 实时视觉理解: 考察流视频任务的动态性
- 全模态理解:能够整合视觉, 听觉信息
- 上下文理解:侧重考察上下文能力(检测异常, 过滤误导信息…)
实验
对当前最主流且先进的多模态模型进行测试, 由于无法接受流视频输入, 把每个流媒体转换为离线任务, 其中 gemini 表现最好
问题: 人类的准确率是怎么得到的? 什么标准?
- 当前模型处理流视频能力较差, 可能是因为他们都是用离线视频训练的.
- 模型缺乏理解上下文作用的能力
- 视频上在稳重冗余信息会显著影响性能.
相关工作
视频 mllm
当前模型多采用采样, 编码成视频帧的形式, 再转化成 token 输入模型中.(视频都是离线视频)
学界也开始关注流视频理解, 但缺少系统性的评测
视频理解 benchmark
当前主要 bench 都是集中于评估综合视频/长视频理解能力
仅有上文提到的一个评测流视频, 且有局限性
正文: StreamingBench
分类
主要设计了三个任务类别, 主要是针对流视频的三个主要特点,上面已经提过很多次
实时视觉理解
每个问题都有时间戳, 问题都仅仅与时间戳之前内容相关.
同时, 问题会包含时间指标: 现在, 当前
设计了 10 个此类别的任务, 含盖主要的视觉理解任务
多模态能力
评估视频对于同步的视觉, 听觉信息处理能力
包含: 情感识别, 场景理解, 来源分别, 多模态对齐
特意设计了, 如果没有出色多模态能力无法回答问题
上下文理解能力
误导性上下文理解, 异常上下文, 顺序问题, 主动输出(这个感觉和我们项目准备做的 trigger 比较像)
数据构建
视频选择
这里流媒体覆盖领域比较全面, 主要包含八个不同类别
问答对生成
混合标注流程
- 对视频帧采样, gpt 4o 生成问答对
- 人工标注生成问答对
质量控制
对问答对进行人工审查
实验
设定
当下的 mllm 都没有流视频理解能力, 因此将任务转化为离线任务
就像之前说的, 打个时间戳, 看能否基于之前的视频内容回答问题
- 对于 SQA (流式问答), 这里的不同点是, 需要添加之前的问答对作为上下文信息
- 对于主动输出任务, 这里使用间隔查询方法, 每隔一段时间对问题进行查询
结果
所有模型都在实时视觉理解表现良好, 但是多模态理解和上下文理解比较差, 表现也落后于人类
gemini 1.5pro 在多模态理解表现较好, 因为具有处理音频的能力
claude 3.5 在主动输出内得分最高
不同视频长度下的模型性能
以一分钟作为短视频/长视频的分界, 所有模型在长视频的处理较差 (我觉得是上下文长度的问题)
Qwen-2VL 在因果推理, 剪辑摘要中表现较好
不同时间线索的模型性能
模型性能和线索数量, 与位置密切相关
模型对于线索在问题前的表现更好, 对于当下和之后的线索表现较差
可能原因:
现有训练数据集中, 大多数问答都是线索在问题前, 后两种任务较少
上下文理解任务
冗余信息
冗余信息会显著影响模型上下文理解能力, 所有模型在误导信息, 异常信息这两方面表现较差
模型应该提高从冗余信息中提取关键信息的能力
多轮问答中的引用
大多数模型处理关联的问题不是很好
当明确问题间的关联和引用后, 表现会有所提升
主动输出
模型难以适应主动输出的问答方式; 且模型的时序精读不足
改一下问题的问法后, 表现会有所提升
结论
在 StreamingBench 中, Gemini 1.5pro 表现最好, 但还是远低于人类. 本文提出了一些改进方向
我的总结
本文提出了一种 benchmark, 主要是针对流视频理解方向做了一些特定的设计
流视频理解主要面临三个问题, 也是三个区别于离线视频的特点
当前的 mllm 并没有处理流视频的能力
即使把任务转换成离线视频, 也发现了关于多模态理解, 上下文理解的一些问题. 主要是由于上下文长度, 模态处理能力, 以及训练数据不够全面导致的.
其中的主动输出能力似乎和我们的方向比较匹配, 值得多关注