⚔️ ChatVideo: A Tracklet-centric Multimodal and Versatile Video Understanding System
👉 题目可翻译为——ChatVideo:一个以Tracklet为中心的多模态多功能视频理解系统。👈
🖖声明:本博客内容用于自我学习使用,笔记内容与想法均来源于原始论文以及先验知识体系。
📡 论文地址/论文项目页面
🧫 目录
- 解决问题
- 关键思路
- 摘要
- 介绍
- 相关工作
- 方法
- 实验
- 结论和未来畅想
- 参考文献
我们快速了解一下这篇论文然后开始逐段阅读:
解决问题
解决问题:该论文旨在解决现有深度视频模型在特定任务、固定输入输出空间和泛化能力不足方面的局限性,上述问题会使算法模型难以在实际场景中部署。
关键思路
关键思路:该论文的关键思路是基于轨迹为中心的范式,将轨迹视为基本视频单元,并使用各种视频基础模型(ViFMs)来注释它们的属性,例如外观、运动等。所有检测到的轨迹都存储在数据库中,并通过数据库管理器与用户交互。相比当前领域的研究状况,该论文的思路具有较强的新意。
摘要
现有的深度视频模型受到特定任务、固定输入输出空间和泛化能力差等因素的限制,难以在现实场景中进行部署。在本文中,作者提出了一个多模态和多功能的视频理解的视觉原型系统,名字叫ChatVideo。他们这个系统建立在以轨迹tracklets为中心的方法范式基础上,这个方法将轨迹本身视为基本的视频单元,采用多种视觉基础模型来注释它们的属性,例如外观、动作等所有检测到的轨迹片段都存储在数据库中,并通过数据库管理器与用户交互。他们用这个系统对不同类型的野外视频进行了一个广泛的案例研究,证明了这个方法范式可以在回答各种视频相关问题方面的有效性。
介绍
视频理解是重要的一项计算机视觉任务,能够从视频中自动提取和解释有意义的语义,是非常有意义的。在网络广告、增强现实等领域有着广泛的应用。最近,许多视觉基础模型(ViFM),例如:Omnivl和Internvideo等,由于其在不同视频基准上的优秀性能以及对统一视频架构的开创性探索,在社区中获得了越来越多的关注。现有的视觉基础模型仍然专注于某个特定领域,没有一个能够统一所有视觉任务的。例如,OmniVL支持多模态理解和生成任务,例如,OmniTracker通过完全共享的网络解决了各种跟踪任务,如单目标跟踪(SOT)和多目标跟踪(MOT)。这背后的潜在原因在于不同类型的视频任务依赖于多样化的特征建模模式和输出头,使得One-For-All视频模型的开发不仅带来了显着的挑战,而且还消耗了显着的注释和训练成本。然而,以ChatGPT为代表的大型语言模型(LLM)的出现为解决这个问题提供了新的视角。Visual ChatGPT是一项开创性的工作,它利用LLM的理解和推理能力来解开与视觉相关的问题。具体来说,他们建议通过提示管理器将各种图像基础模型(IFM)连接到ChatGPT,该管理器将用户问题分解成一系列指令,然后安排不同的IFM来回答它。这种方法可以被看作是一种自顶向下的可视化理解模式,它首先将一个复合任务分解成若干个子任务,然后调用相应的函数来逐步解决它。将Visual ChatGPT的思想扩展到视频领域,虽然前景光明,但由于视频数据中的信息丰富,需要付出大量的努力。与图像不同,视频记录了场景随时间的变化,不同对象的运动,以及它们之间的互动。因此,丰富的信息量使得对于每个用户问题应用单个或若干顺序执行的ViFM相当低效。相反,作者团队认为自底向上的模式对于构建通用的视频理解系统更可行,即,首先对视频进行全面解析,并在与用户交互过程中自适应地查询有用信息。为此,作者提出了一种以轨迹为中心的视频理解范式,其中不同对象实例的轨迹片段被视为视频的基本单元和属性,例如,外观和轨迹由不同的ViFM预测。通过对不同轨迹的综合注释,可以很容易地获得视频的高级语义,以回答用户的各种问题。作者进一步介绍ChatVideo,通过一种基于聊天的体验方式去实现这个系统。作者团队存储的轨迹tracklets,以及他们的类别,外观,运动于一个数据库中,并引入了一个数据库管理器database manager,将用户的问题翻译成标准的数据库查询命令。最后,LLM对查询结果进行处理、总结和打磨,以向用户提供最终的语言响应。通过这种方式,ChatVideo可以以对话的方式与用户进行交流,并根据上下文和手头的具体问题提供相关答案。这项工作的贡献总结如下:
- 作者团队引入了一个名为ChatVideo的系统,它结合了各种ViFM的丰富功能,沿着ChatGPT的会话和推理能力,用于多模态和多功能的视频理解。
- 作者团队提出了一种新的以tracklet为中心的范例,它解释了视频内容的基本“tracklet”元素。视频中不同轨迹片段的丰富属性由不同的ViFM预测后存储在数据库中,数据库管理器作为数据库和用户之间的桥梁。
- 大量的案例研究进行评估的性能,作者用对应的方法和研究其行为,这表明该系统的有效性在解决诸多视频相关的任务,并展示了其在现实世界中的应用潜力。
相关工作
视觉基础模型
根据感兴趣的下游任务的类型,现有的视频基础模型(ViFM)可以被分类为基于片段的ViFM和基于实例的ViFM。前者擅长总结视频内容,用于序列级决策,如动作识别,文本到视频检索和视频字幕,而后者致力于密集预测任务的实例理解,即,视觉目标跟踪。作者团队在图1中总结了不同类型的ViFM。考虑到音频是理解视频内容的关键信息,如人物的情绪,作者还列出了强大的音频模型。虽然越来越多的下游任务可以容纳到一个模型中,差异化的特征建模方法和输出空间仍然阻碍了所有视频任务的真正统一的基础模型的发展。在这项工作中,作者试图实现一个通用的视频理解系统,通过集成不同的ViFM和音频模型,以充分利用他们在特定领域的专业知识。
交互式视频理解系统
一个理想的交互式视频理解系统应该能够基于视频内容与最终用户进行聊天。在学术界被广泛探索的最相关的话题是视频问答(Video QA),其目的是根据给定的视频回答自然语言问题。然而,将现有的视频QA模型用于交互式视频理解系统面临着两项挑战:
- 受主流测试标准注释的限制,视频问答方法只能回答个别问题,缺乏关联会话上下文的能力,难以为用户提供交流体验。- 由于大多数视频QA方法仅对全局视频特征进行回复以表示视频,因此它们可能难以处理需要细粒度理解能力的复杂问题。
上述问题促使作者团队在这项工作中提出对交互式视频理解系统的实现愿景,即将各种深度视频模型与ChatGPT相结合,以便利用其会话功能实现与用户的交互。
将ChatGPT连接到可视化系统中来
自ChatGPT出现以来,计算机视觉领域的众多研究人员一直在探索如何将其与现有的深度视觉模型集成,以实现创新应用。Visual ChatGPT 开创了通过提示管理器桥接ChatGPT和各种图像基础模型(IFM)的想法,该提示管理器根据用户输入调度具有不同功能的IFM。在此基础上,TaskMatrix.AI和HuggingGPT进一步说明了他们构建一个新型AI生态系统的愿景,该生态系统将ChatGPT连接到Hugging Face中提供的数百万个API或AI模型,这些模型拥有多样化的文本和视觉处理技能。此外,VideoChatCaptioner还提供了注释视频数据的可能性,其中ChatGPT用作提问者,BLIP2起回答的作用。在本文中,作者团队提出了第一次尝试将ChatGPT应用于交互式视频理解。不同的ViFM相互协作来检测tracklet并在视频中注释其属性,而ChatGPT负责信息检索,处理,推理和与用户的交互。
方法
作者团队的目标是建立一个多模式和多功能的视频理解系统,提供全面的功能和良好的交互性。为此,作者建议解释视频内容与一个新的tracklet为中心的范例,并提出了一个原型系统,chatvideo。在本节中,作者首先简要回顾一下ChatGPT和使用到的ViFM。然后介绍了chatvideo的pipeline。最后,说明了ChatVideo如何与用户交互。下图给出了ChatVideo框架的概述。
预备知识
ChatVideo维护了一个基础模型池来存储各种视频基础模型,这些模型具有检测和注释视频中轨迹小片段的不同属性的能力。在这里列出了其中的几个模型:
OmniTracker(上文有提到)是一个基于实例的视频基础模型,它解决了五个跟踪任务,即:单目标跟踪(SOT),视频对象分割(VOS),多目标跟踪(MOT),多目标跟踪和分割(MOTS),和视频实例分割(VIS)。这些任务统一通过完整的共享网络、pipeline和模型权重。具体来说,作者团队提出了一个检测联通跟踪的范式,其中在当前帧中,跟踪补充外观先验知识,检测提供跟踪与候选边界框的时许关联。
OmniVL(上文有提到)是一种基于视频片段的视频基础模型,基于视觉语言预训练模型设计。它遵循一个编码器-解码器结构,其中两个编码器被用来分别提取视觉和文本的表征信息,视觉基础对齐解码器用来进行语义对齐区分,而视觉生成解码器用于对文本进行开放式生成。值得注意的是,OmniVL是第一个在单个模型中支持图像(帧)任务和视频(片段)任务的工作,使其成为构建通用视频理解系统的理想候选者,因为外观和运动注释对于全面准确地描述视频内容同样重要。
Whisper是一个自动语音识别系统,它从互联网上抓取的大规模多语言数据中学习鲁棒的语音表示。
Wav2Vec 2.0以自监督的方式从原始音频数据学习强音频表征信息。它可以被微调以解决各种与音频相关的任务,如音频分类和情感分类等。
值得注意的是,ChatVideo的设计是可扩展的,未来还可以集成更多视频基础模型,支持更多功能,性能上级。
ChatVideo的pipeline
概览
给定一个长达 s s s秒的上传视频 V V V,首先使用ffmpeg等开源工具提取音频 A A A和帧序列 [ X 1 , X 2 , … X T ] [X_1,X_2,…X_T] [X1,X2,…XT],其中 T T T表示帧数,具体可由公示 T = F P S × s T = FPS×s T=FPS×s表示。然后,检测 V V V中的轨迹片段并预测它们的属性,例如,使用上面提到的ViFM的外观、运动和轨迹。最后将所有的tracklets存储在一个数据库中,并检索相关的信息,从数据库中的交互过程中与用户通过一个建议的数据库管理器。
Tracklets数据库构建
给定视频帧 [ X 1 , X 2 , … X T ] [X_1,X_2,…X_T] [X1,X2,…XT]作为输入,OmniTracker首先在其中检测轨迹片段 { K i = ( c i , { b j ) } e d i ∗ j = s t i ) } N ∗ i = 1 \{{K_i=(c_i,\{{b_j)}\}^{ed_i}*{j=st_i})\}}^N*{i=1} {Ki=(ci,{bj)}edi∗j=sti)}N∗i=1,其中的 N N N是检测到的轨迹的数量, c i c_i ci代表第 i i i个轨迹的种类, { b j ) } e d i ∗ j = s t i \{{b_j)}\}^{ed_i}*{j=st_i} {bj)}edi∗j=sti代表的是 s t i st_i sti到 e d i ed_i edi帧的候选bbox。然后,从视频帧中裁剪第 i i i个轨迹片段以形成时空轨迹片段,也就是 R i = { ( t j , r j ) } e d i ∗ j = s t i R_i=\{(t_j,r_j)\}^{ed_i}*{j=st_i} Ri={(tj,rj)}edi∗j=sti,其中 t j t_j tj是以 s s s为单位测量的时间戳,其可以通过 t j = j / F P S t_j = j/FPS tj=j/FPS计算,而 r j r_j rj是第 j j j帧中裁剪出来的区。同时,作者还说明了附加了整个视频作为特殊轨迹集,表示视频发生的环境。
然后,作者采用了OmniVL通过图像和视频注释预测第 i i i个轨迹集的属性。具体如下:
- 对于appearance外观信息,他们在不同的时间步长对 R i R_i Ri中的区域加prompt提示——“what does the { c a t i } \{cat_i\} {cati} look like? The { c a t i } \{cat_i\} {cati}”。
- 对于temporal时序动态信息,作者将 R i R_i Ri分割成具有相等长度的几个片段,然后利用OmniVL以提示prompt进行注释“what is { c a t i } \{cat_i\} {cati} is doing?The { c a t i } \{cat_i\} {cati}"。
- 作者还使用了一个在AudioSet上微调过的音频分类模型对音频 A A A进行分类,如果类别与“speech”相关,则进一步调用多语言ASR模型Whisper 来识别语音内容,并微调Wav2Vec2模型来预测说话者的情绪。
基于此,作者构建了一个数据库 D D D以存储所有检测到的轨迹tracklets的细粒度信息。 D D D中的字段名称和值按以下格式定义:
-
ID:唯一标识记录的主键。
-
Category:由OmniTracker来预测的第 i i i个轨迹(实例)的类别。
-
Appearance:由OmniVL用image captioning预测第 i i i个轨迹片段(实例)的出现。
-
Motion:不同时间片段中的第 i i i个轨迹片段(实例)的运动。作者在每个运动描述之前附加timestamp,并且格式是:
from {segment start} to {segment end} s,the {category} is {description of the motion}。 -
Trajectory:Omnitracker预测的第i个轨迹片段(实例)的轨迹。还添加了时间戳: at {time of the current frame},the {category of the instance} locates at {coordinate}。
-
Audio:可选择性地包含有给定视频中的音频的类别、讲话者的内容和情感。此字段仅适用于包含完整视频的轨迹片段。
与用户的交互
如上所述,ChatGPT的会话和推理能力使系统能够与用户进行交互。遵循Visual ChatGPT,作者首先定义ChatGPT的原则principle,以约束其行为代码和推理过程,例如:它应该对视频的路径敏感。接下来,在与用户的对话期间,假设 Q i Q_i Qi表示来自用户的第 i i i个问题,作者采用数据库管理器 M M M将其转换为数据库查询query Q ^ i : Q ^ i = M ( Q i ) \hat Q_i: \hat Q_i=M(Q_i) Q^i:Q^i=M(Qi)。数据库管理器也是由LLM进行驱动,同样也擅长于将用户问题翻译成正确的查询命令。这里特别需要说明的一点是———过去的对话不会输入到数据库管理器,因此它将返回尽可能多的相关记录,检索结果的选择以及与上下文的关联由ChatGPT完成。然后,可以利用 Q ^ i \hat Q_i Q^i从 D D D中检索相关信息 S i S_i Si。作者将 Q i , S i Q_i,S_i Qi,Si和 H i = { ( Q j , A j ) } j = 1 i − 1 H_i=\{{(Q_j,A_j)}\}^{i-1}_{j=1} Hi={(Qj,Aj)}j=1i−1输入到ChatGPT中,然后返回答案 A i A_i Ai,这是用自然语言描述的。如上所述,除了OmniVL、OmniTracker和Whisper之外的更多基础模型可以被添加到基础模型池。由于涉及更多的模型,当ChatGPT发现从构建的 D D D检索的结果为空或不足以给予准确的答案时,它可以像Visual ChatGPT中的提示管理器一样工作,并使用基础模型池中的其他模型来获取更多信息。
实验
实现细节
为了提高系统的响应效率,作者只选择每个轨迹片段的一帧去注释appearance外观。选择策略是基于边界框的大小和它到每帧边界的距离,如下表示式子: a r g m a x j ( a r e a ( b j ) + d i s t ( b j ) ) \underset j{argmax}(\sqrt{area(b_j)}+dist(b_j)) jargmax(area(bj)+dist(bj)),而对于不同轨迹tracklets的运动,时间段的长度为32帧。作者采用预训练的OmniVL 进行video captioning,并采用COCO上微调之后的模型进行image captioning。对于音频模型,作者采用开源模型进行音频分类,自动语音识别和情感分类。
外观相关问题的案例研究
作者首先评估ChatVideo在回答外观相关问题方面的性能,结果如下图所示。
可以看到,这个系统可以提供有关视频中物体和人的详细信息,包括它们的颜色,发出行为的动机,甚至在特定时刻的动作。这些功能证明了chatvideo系统在各种应用中的通用性和有效性,如内容分析,安全检查和建议。
运动相关问题的案例研究
ChatVideo的时序建模能力是通过询问长视频中与运动相关的问题来进行地评估。与短视频片段相比,长视频通常具有更复杂的内容并且需要更多的内存消耗,使得它们对于视频理解系统的分析更具挑战性。然而,chatvideo是建立在几个强大的ViFM,可以在线处理视频的方式,并理解语义信息自下而上。
上图的结果表明,ChatVideo可以准确地总结视频中的活动,识别特定时间段内的事件,并预测不同对象的位置(和轨迹)。上述内容展示了chatvideo系统的人群计数,长视频注释,和(异常)事件检测的潜力。
音频相关问题的案例研究
音频也是视频中的一个重要信息,它记录了说话者的话语,甚至反映了他/她的情绪。如下图所示:
可以看到:ChatVideo可以识别音频类型及其内容,预测声音的情感等。
跟踪结果可视化与数据库
ChatVideo是建立在以tracklet为中心的视频理解范式之上的,因此,跟踪模型的性能可能对ChatVideo反馈给用户的答案具有显著影响。作者使用Omnitracker去可视化跟踪预测结果,下面的表中是OmniVL产生的注释。为了简洁起见,作者省略了audio字段。
结果表明,ChatVideo可以跟踪视频中的各种类型的实例,并为它们的细粒度属性(如外观和运动)生成准确的注释。
数据集管理器的系统原理
上面说到:数据库管理器是由LLM进行驱动的。作者为它定义以下prompt提示:
"""
Given an input question, first create a
syntactically correct {dialect} query to run,
then look at the results of the query and return
the answer. Use the following format:Question: "Question here"
SQLQuery: "SQL Query to run"
SQLResult: "Result of the SQLQuery"
Answer: "Final answer here"Only use the following tables:
{table_info}
The records in the tables are in the following
format:‘‘‘
ID: the primary key of the record.Category: the category of the tracklet.Appearance: the appearance of the tracklet.Motion: the motion of the tracklet, described as
"from t1 to t2 seconds, movements of the object".Trajectory: the trajectory of the tracklet,
described as "at t seconds, (x1, y1, x2, y2)".
The velocity of the object could be obtained by
calculating the distance between two positions.Audio: the audio in this video‘‘‘The records in the tables are randomly ordered. If the results of the SQLQuery include multiple
records, you should list them separately in your
answers instead of mixing them together.
Question: {input}
"""
失效案例与分析
快速移动物体的跟踪:快速移动物体的跟踪是跟踪界面临的一个重大挑战。由于现有的跟踪模型容易受到这种情况的影响,目前这个系统依然对计数问题或严重依赖于时间相关性的问题给予不准确的答案。
细粒度动作识别:虽然chatvideo系统在识别广泛类别的动作(如行走或跳跃)方面是有效的,但它可能会与细粒度的动作识别(如区分不同类型的跳跃或识别更微妙的动作)依然面临巨大挑战。
音频分类:受限于音频分类模型的泛化能力,chatvideo可能无法预测视频中的声音类别。因此,在实现中,作者团队放宽了条件,即无论音频的类别是什么,都将使用ASR模型来识别其中的内容。
结论和未来畅想
本文介绍了ChatVideo,一个新的视频理解系统,结合ChatGPT和ViFM的能力,实现多模态和多功能的视频理解。作者团队的方法是基于以轨迹tracklets为中心的范例,其中轨迹被认为是用于分析视频内容及其属性的基本单元,例如,外观和运动由不同的ViFM预测。作者团队将不同轨迹的解析信息存储在数据库中,以便以更灵活的方式利用它。在与用户的交互过程中,数据库管理器充当桥梁,将用户的问题转化为数据库查询,查询结果由ChatGPT进行总结和完善,以获得自然语言描述。通过广泛的案例研究,作者团队证明了此类方法在解决各种视频相关的问题和场景的有效性,这验证了作者团队的系统在现实世界中的应用,如视频内容推荐和在线教育的方面具备一定的潜力。
作者的工作代表了一个重要的一步,多模式和多功能的视频理解系统的发展,大胆的预测:它将激励在这一领域的进一步研究。目前作者团队确定了几个值得探索的开放问题或未来方向:
- 更强大的视频基础模型:不难观察到,现有的ViFM经常在in-the-wild视频中遇到问题,其中的场景可能相当复杂,并且相机视点可能有显着的变化,揭示了其较差的泛化能力。为了解决这个问题,未来的研究方向可能包括联合训练ViFM执行更广泛的任务,或收集更高质量的数据。
- 对抗攻击的稳健性:部署视频理解系统的一个关键挑战是保证其对对抗性攻击的鲁棒性。未来工作的一个可能方向是研究使用对抗训练或鲁棒优化技术来提高视频理解系统的鲁棒性。另一个方向是开发用于检测和减轻视频数据中的对抗性攻击的新方法。例如,人们可以探索使用可解释的人工智能技术来更好地理解视频理解系统的行为,并检测它们何时被对抗攻击操纵。
- 有效性:有效性是任何实际视频理解系统的关键因素,其中令人满意的交互式体验是建立在快速的响应基础之上的,一个可能的方向是探索高效视频模型的设计,例如轻量级Transformer模型或网络修剪。另一个方向是研究使用硬件加速,例如GPU或专用硬件,以加速推理过程。
- 使用RLHF机制进行training:另一个有前途的方向是研究使用强化学习与人类反馈(RLHF)机制来训练视频理解系统。RLHF已被证明在提高自然语言处理系统的性能方面是有效的,并且它在训练视频理解系统方面也可以是类似的有效的。例如,可以使用RLHF来优化Video ChatGPT中的响应生成过程,或者优化以轨迹片段为中心的范例中的轨迹片段选择过程。
参考文献
参考文献均来自于原始论文所用到的参考文献,这里不再赘述。感谢您的浏览,让我们继续下一篇论文的学习。