NeurIPS‘23来自Meta FAIR的论文“Ego4D Goal-Step: Toward Hierarchical Understanding of Procedural Activities”。
人类活动是面向目标的、分层的,包括顶层的主要目标、中间的步和子步序列、以及最低层的原子动作(actomic action)。因此,识别人类活动需要将原子动作和各步与其功能目标(动作的贡献)联系起来,并建模它们在实现目标方面的顺序和分层依赖关系。当前的活动识别研究主要集中在这个层次结构的最低层,即原子或低层动作,通常出现在经过剪辑的视频中,注释仅持续几秒钟。这项工作引入 Ego4D 目标-步(Goal-Step),这是最近发布在数据集 Ego4D 上的一组新注释集,具有一个面向-目标活动标签的新分层分类。它为 48K 程序步分段(430 小时)提供致密注释,并为 2,807 小时 Ego4D 视频提供高级目标注释。与现有的程序化视频数据集相比,它在规模上要大得多,包含分层动作标签(目标 - 步 - 子步),并提供面向目标的辅助信息,包括自然语言摘要描述、步完成状态和步与目标的相关性信息。采用数据驱动的方法来构建分类法,从而产生致密的步注释,而不会受到先验定义分类所导致的标签数据对齐不良问题造成的影响。本文通过全面的评估和分析,展示 Ego4D Goal-Step 如何支持探索程序化活动理解中的各种问题,包括目标推理、步预测、分层关系学习和长期时间建模。
识别人类活动的复杂模式,一直是计算机视觉和更宽泛人工智能社区广泛研究的主题 [2, 25, 46, 8, 23, 22]。然而,与目标和场景理解相比,进展相对较慢 [59, 32, 36, 62]。主要障碍之一是缺乏用代表复杂人类活动的综合分类注释的大规模数据集。虽然目标识别受益于 WordNet [15],它提供了日常场景中发现的目标广泛分类,但活动识别面临着独特的困难,因为目前还没有现成的分类法涵盖广泛多变的活动粒度,从原子动作(例如拿起杯子、坐下)到程序序列(例如做千层面 lasagna)。
在为人类活动识别构建新数据集的过程中,从心理学中汲取了灵感。研究表明,人类行为具有固有的层次性 [5, 12],最高层为主要目标,中间层为中间的步及其子步,最低层为原子动作。社会认知理论 [3] 表明,这种层次结构是由人类主体刻意设定目标、预测不同行动的潜在后果,并规划出一系列步及其子步以分层方式实现预期目标而形成的。虽然规划的行动顺序不一定与实际执行顺序一致 [5],但对分层表示进行推断和推理已被证明对理解人类行为至关重要 [12, 41]。
大多数现有活动数据集对原子动作的关注,甚至引发了人们对现有视频任务中时间建模必要性 [40, 11, 44] 的质疑,以及它是否适合研究包含较长时间范围内高级活动的现实世界视频。
为此,程序化活动(涉及执行一系列步以实现预定目标的活动)最近受到了特别关注 [29, 60, 49, 61, 48, 34, 4, 43, 55]。识别在长期范围内展开的目标导向步骤需要对长期时间背景进行建模,这使其成为一项具有挑战性的长篇视频理解任务。然而,现有的数据集要么规模较小 [29, 3, 43],要么没有对高级目标进行建模,要么忽略了步之间的层次关系 [49, 61, 4]。此外,步分类法通常是从与视频无关的外部来源构建的(例如来自 wikiHow 的文本文章 [60, 49, 61]),导致构建的标签空间与观察的数据不一致。因此,视频的很大一部分未标记,故提供了不完整的活动记录。
如图所示:Ego4D 目标-步提供具有三个不同级的分层程序活动标签:目标 - 步 - 子步。每个注释都带有时间间隔、分类标签和自然语言描述。它还提供辅助信息,包括步摘要、任务完成状态(is_continued)、任务相关性(is_relevant)和程序化活动指标(is_procedural)。
如表是数据集统计数据:“Ego4D 目标-步”——带有分层步标签的子集,以及“Ego4D 目标-步(目标标签)”——包含带有目标标签但没有步标签的视频完整集;“Hier”表示具有分层标签空间的数据集;Breakfast [29] 和 Assembly101 [43] 提供粗级和细级细分,类似于步和子步细分;报告它们的合并数字;Assembly101 [43] 为每个记录提供 12 个同步视图;报告单个视图统计数据,使这些数字与其他数据集兼容。
相关工作
活动识别在计算机视觉领域已有 20 年的历史。早期的研究使用相对较小规模的秒级视频片段数据集来解决原子动作分类问题 [42, 20, 35, 30, 47]。随着深度神经网络的成功,一些数据集开始专注于通过利用在线视频进行扩展 [27, 1, 8, 28, 21, 37]。认识到对长视频建模的需求,还提出了几个用于未修剪视频中动作检测的数据集 [6, 46, 26, 54, 23]。
最近,社区通过开发程序活动数据集扩大了范围。典型的数据集构建过程,包括预先选择程序任务,例如烹饪中的各种食谱,然后通过参与者录音或挖掘在线视频存储库,为预选任务收集数据。参与者记录的数据集(如 Breakfast [29] 和 Assembly101 [43])受益于受控的收集设置,从而能够开发与数据一致的分类,并产生类似的致密注释和分层的步分段。但是,它们捕获的多样性有限(例如 10 种烹饪食谱),规模较小。
另一方面,Cross-Task [61] 和 COIN [49] 是受益于可扩展性的互联网挖掘数据集。然而,他们依赖外部资源来开发分类(例如 wikiHow),导致标签空间无法准确全面地捕捉视频中所代表的活动。因此,很大一部分视频仍未标记,标记片段的密度低于 40%。此外,带注释的剪辑片段通常仅与步标签部分匹配(例如,由于使用的目标、步顺序等的细微变化),导致数据标记较弱。这些数据集通常也是不分层的,并且仅表示单级的步。
Ego4D 的注释方式多种多样。所有视频都附有场景和旁白注释,分别提供高级和低级动作描述。场景提供活动的粗略分类(例如,建筑、艺术和手工艺),而旁白则描述相机拍摄者在特定时间的动作。旁白以交互为中心,侧重于相机拍摄者在短时间内执行的单个原子动作。例如,“C 拿起勺子”、“C 抚摸狗”、“C 拧开螺丝”,其中 C 代表相机拍摄者。
虽然旁白提供了理解简单动作和手-目标交互的宝贵信息,但在更广泛的活动理解背景下,它们是有限的。人类的行为不是任意的——它们是有意图的,是为了实现特定的目标 [3]。例如,C 拿起勺子给咖啡加糖;C 拧开螺丝拆下自行车轮。这些目标隐藏在现有的叙述中。此外,这些目标本身是更有条理活动的一部分。“加糖”是煮咖啡过程中的一个步,“拆下自行车车轮”是更换爆胎内胎的一个步。虽然叙述明确地捕捉到了正在发生的事情,但它们并没有揭示原因,或者更广泛地说,目的是什么。
叙述构成了在 Ego4D 较小子集上各种其他注释的支架。预测手和目标 (FHO) 注释,把原子动作解析为更简单(动词,名词)二元组。例如,长期预测任务,预测未来原子动作的顺序,而不捕捉总体目标。时刻查询注释,更上一层楼,表示原子动作序列的复合动作,如“在水槽里洗碗”或“穿上安全设备”。虽然它们是更高级别的,但它们仍然是短期活动,并且没有通过它们的长期任务结构连接起来。此外,它们涵盖的类别很少(大约 100 个),粒度不一致(例如,原子动作“切面团”和高级动作“操作面团搅拌机”),并且不打算涵盖完整的活动 / 目标。
总的来说,这些注释继承了叙述狭窄的范围,仅提供对人类活动的短期理解,限制了它们对于有意图、长期和结构化人类活动中程序化活动理解的价值。
Ego4D 视频是在没有预先安排的脚本或分步说明的情况下收集的。因此,数据集中存在的完整活动集是未知的,并且无法事先建立分类。本文以数据驱动的方式克服这个问题,使用分层分块方法进行注释和分类开发。简而言之,首先要求注释者确定每个视频中描述的主要目标。接下来,他们深入研究每个目标片段,识别各个步及其相应的动作序列。然后,注释者再次递归分析每个动作片段以进一步注释较低级的步,构建完整的步分层结构。在整个过程中,给注释者展示不完整且不断发展的分类,并鼓励他们提出缺失的类别。定期审查它们并在注释过程中更新分类。
如图所示说明了目标、步和子步分段的分布。平均而言,目标分段持续 19.64 分钟,而步和子步分段分别持续 50.03 秒和 19.49 秒。子步的平均持续时间与从 wikiHow [4, 60, 49] 派生除分类的那些数据集一致,这表明数据驱动分类与基于固定一步步指令的注释具有相似的粒度。步/子步的平均持续时间为 32.5 秒,比 Breakfast [29] 长 6 倍,比 Assembly101 [43] 长 22 倍。这表明大多数步/子步分段捕获了比 [30, 43] 更长持续时间的操作,而不会牺牲注释密度或捕获短期的原子操作。
该分类包含 319 个目标类别,分为 34 个场景。其中,烹饪场景提供程序步注释,包括 86 个目标类别和 514 个步骤类别。使用分类中的这些步类别来注释步和子步分段。数据集呈现长尾分布,125 个目标类别代表 90% 的标记目标分段,209 个步骤类别覆盖 90% 的标记步/子步分段。
Ego4D Goal-Step 带有各种面向目标的活动标签。大约 92% 的目标分段带有描述(每句 3.03 个字),63% 带有摘要(每个摘要 5.43 个句子,每个句子 4.92 个字)。100% 的步和子步分段带有描述(每句 4.44 个字),其中 15% 包含摘要(每个摘要 4.38 个句子,每个句子 3.1 个字)。如上图所示。
为训练(70%)、验证(15%)和测试(15%)目的提供数据分割。分割是在视频级别进行的,确保在分割中均衡包含步类别。发布训练和验证分割的完整注释,同时保留测试分割。
除 EgoOnly [51] 基线之外的所有实验,都使用 Omnivore [19] 从每个视频中致密提取的预计算剪辑级特征,这些特征可以在官方 Ego4D 存储库中公开下载(用“omnivore_video_swinl”)。Omnivore 模型已经在监督方式下对多种模态(图像、视频和 3D 数据)的组合进行预训练,并已被证明在各种视觉任务中具有强大的泛化能力。EgoOnly [51] 使用 MAE [24] 目标在 Ego4D [22] 的原始帧上从头开始预训练 ViT [14] 主干,然后在监督方式下在四个现有动作识别数据集(Kinetics-600 [7]、Ego4D Moments [22]、EPIC-Kitchens-100 [13]、COIN [49])的组合上对其进行进一步微调。对于在线检测任务中的 EgoOnly,在预训练的 ViT 主干上附加一个单层线性预测头,并对整个模型进行端到端训练。每个预测都是在具有 2 秒时间上下文的输入帧上进行的。对于离线定位任务中的 EgoOnly,采用在线检测任务上微调的 ViT 主干,并在其上附加 ActionFormer 头 [56],并仅训练预测头,同时在整个训练过程中保持 ViT 主干冻结。对于所有任务,用开源的基线方法实现并调整数据集的超参。