在人工智能,特别是计算机视觉和视频理解领域,高质量、大规模的数据集是推动技术进步的关键基石。今天,我们将深入探讨一个由Meta FAIR领衔,联合多所顶尖学术机构发布的重要资源——Action100M。这是一项旨在推动精细粒度视频动作理解的大规模数据集项目。本文将从数据集的构成、核心特性、到具体的使用方法,为你提供一个全面而透彻的解读。
数据集概览:规模与来源
Action100M,顾名思义,其目标规模是包含100万个视频段落的标注。目前,研究团队已在Hugging Face上发布了预览版本(facebook/action100m-preview),该预览版包含了12万行完整数据,即完整数据集的10%,供社区先行体验与研究。
数据来源于YouTube上的公开教学与演示类视频,涵盖了从生活技巧、手工制作、烹饪、园艺到汽车维修、项目管理等极其广泛的主题。每个数据样本对应一个完整的YouTube视频,通过其唯一的video_uid(一个11位字符的字符串)进行标识。数据集的核心价值不仅在于其规模,更在于其独特且精细的分层标注结构——Tree-of-Captions。
核心数据结构:三层信息与分层标注
当你从Hugging Face加载一个数据样本时,你会得到一个包含三个核心字段的字典。理解这三个字段,就掌握了使用Action100M的钥匙。
1. 视频唯一标识与元数据
-
video_uid(字符串): 这是源YouTube视频的ID,是追溯原始视频的唯一凭证。 -
metadata(字典): 包含了视频级别的信息,通常有:-
title: 视频标题。 -
description: 视频描述。 -
ASR transcript: 自动语音识别生成的文字稿(如果可用)。
这些元数据为理解视频的全局上下文提供了丰富的文本信息。
-
2. 精髓所在:分层的“节点”标注
-
nodes(列表[字典]): 这是数据集最核心、最具创新性的部分。它是一个列表,其中每个元素代表视频中的一个时间段(segment)。列表的长度是动态的,根据视频内容和复杂程度,每个视频的节点数在9个到超过5,570个之间不等。每个节点都是一个字典,包含了对这个时间段全面、多角度的描述。我们来拆解节点的每一个字段:
-
时空定位:
-
start,end(浮点数):以秒为单位的精确时间戳,定义了该片段在完整视频中的起止位置。 -
node_id(字符串):片段的全局唯一标识符。 -
parent_id(字符串或null):体现了分层结构。每个片段都有一个父片段(更粗粒度的片段),根节点(代表整个视频)的parent_id为null。 -
level(整数):表示在层次结构中的深度。数值越小,层级越粗,片段越长;数值越大,层级越细,片段越短。这构成了一个从视频整体到具体动作步骤的树状分解视图。
-
-
多模型生成的描述:
-
plm_caption(字符串或null): 由PLM-3B模型生成的对该片段的描述性标题。 -
plm_action(字符串或null): 由PLM-3B模型提取的简短动作标签。 -
llama3_caption(字符串或null): 仅针对最细粒度的“叶子节点”,由LLama-3.2-Vision-11B模型对片段中间帧生成的图像描述。
-
-
核心的GPT标注:
-
gpt(字典或null): 这是Action100M最主要的标注来源,适用于足够长的片段。它进一步细分为两个子维度:-
概要 ( summary):-
brief: 一句话的简洁概括。 -
detailed: 更长的、详细的段落总结。
-
-
动作 ( action):-
brief: 简短的动词短语,命名当前步骤(例如,“切割黄瓜”)。 -
detailed: 以命令式语气描述的详细操作说明(例如,“用锋利的刀将黄瓜切成薄片”)。 -
actor: 执行该动作的主体(名词短语,例如,“厨师”)。
-
-
-
-
这种“主干-枝干-树叶”式的标注体系,使得Action100M不仅能回答“视频里发生了什么”,更能回答“在视频的第X到Y秒,谁,正在以何种方式,执行什么具体的动作步骤”,极大地促进了细粒度视频理解和步骤推理模型的发展。
如何快速上手使用
Action100M的获取和使用非常便捷,得益于Hugging Face datasets库的良好支持。以下是加载预览数据集的推荐方式:
from datasets import load_dataset
# 使用 streaming 模式加载,适合大数据集浏览和迭代
dataset = load_dataset(
“parquet”,
data_files=“hf://datasets/facebook/Action100M-preview/data/*.parquet”,
streaming=True, # 启用流式加载,不一次性下载全部数据
)
# 获取训练集(预览版仅一个split)的迭代器
data_iterator = iter(dataset[“train”])
# 获取第一个样本
first_sample = next(data_iterator)
# 探索样本结构
print(f“视频ID: {first_sample[‘video_uid’]}”)
print(f“视频标题: {first_sample[‘metadata’].get(‘title’)}”)
print(f“该视频共有 {len(first_sample[‘nodes’])} 个标注节点”)
# 查看第一个节点的GPT动作简要描述
if first_sample[‘nodes’][0].get(‘gpt’):
print(f“第一个节点的动作: {first_sample[‘nodes’][0][‘gpt’][‘action’][‘brief’]}”)
通过上述代码,你可以开始遍历数据集,访问每个视频的分层标注信息。项目官方GitHub仓库还提供了从本地Parquet文件加载以及可视化标注的示例,帮助你更直观地理解数据。
从数据到洞察:实例解读
为了让你对标注内容有更感性的认识,让我们设想两个来自数据集的实例(基于文件描述):
-
烹饪视频:一个制作“菜花 Buffalo 鸡翅”的视频。其树状标注可能这样组织:
-
Level 0 (根节点): 整个食谱制作过程。 -
Level 1: 主要阶段,如“准备菜花”、“制作面糊”、“烘烤”、“调制酱汁”。 -
Level 2 (叶子节点): 具体步骤,例如在“准备菜花”阶段下,可能有一个节点 start=45.2, end=68.5,其gpt[“action”][“brief”]为“将菜花切成小块”,actor为“厨师”。
-
-
汽车维修视频:一个“检查电瓶和发电机问题”的视频。
-
其中一个叶子节点可能定位在 start=120.5, end=149.8,gpt[“action”][“detailed”]可能描述为:“将万用表调至电压档,将红色表笔连接至电瓶正极端子,黑色表笔连接至负极端子,读取静态电压值。”actor为“维修技师”。
-
官方提供的示例GIF也展示了这种对应关系:视频片段与gpt[“action”][“brief”]描述的动作(如“加入面粉”、“搅拌混合物”)精准同步,验证了标注的时效性和准确性。
常见问题解答 (FAQ)
Q: Action100M数据集可以免费商用吗?
A: 不可以。根据官方说明,Action100M数据集采用 “FAIR Noncommercial Research License”。这意味着它仅供非商业的研究目的使用。任何商业用途都需要额外授权。在使用前,请务必阅读并遵守其许可证文件中的条款。
Q: 我只想研究视频动作识别,需要关心所有的标注字段吗?
A: 不一定,你可以根据研究目标灵活选择。例如:
-
若研究动作定位与分类,可重点关注 start/end、gpt[“action”][“brief”]和actor。 -
若研究视频段落摘要,可关注 gpt[“summary”]下的字段。 -
若研究多模态模型生成的描述质量,则可对比 plm_caption、llama3_caption与gpt[“summary”]。 -
若研究视频层次结构解析,则必须利用 level、parent_id构建树关系。
Q: 数据集中“节点”的数量波动为什么这么大(9到5.57k+)?
A: 这真实反映了现实世界视频的复杂多样性。一个简单的“开箱视频”可能只有几个步骤,而一个完整的“花园搭建教程”或“软件编程课程”则可能被分解成上千个精细的步骤。这也正是大规模数据集的价值的体现——它能覆盖各种复杂度的真实场景。
Q: 如何在自己的模型中有效利用这种分层结构?
A: 你可以将层次结构视为一种强监督信号。例如:
-
训练模型时,可以设计损失函数,让相同 parent_id下的节点在特征空间更接近。 -
进行步骤预测时,可以利用粗粒度(高 level)节点的预测来约束或初始化细粒度(低level)节点的预测。 -
将树状结构转化为图神经网络(GNN)的输入,显式建模片段间的时序与层次关系。
学术影响与引用
Action100M作为一个新兴的大规模基准数据集,预计将对视频理解社区产生显著影响。它通过提供海量的、具有精细时间粒度、丰富语义描述和清晰层次结构的标注,为训练更强大、更智能的视频理解模型奠定了基础。
如果你在研究中使用了Action100M数据集,请按如下格式引用其预印本论文:
@article{chen2026action100m,
title={Action100M: A Large-scale Video Action Dataset},
author={Chen, Delong and Kasarla, Tejaswi and Bang, Yejin and Shukor, Mustafa and Chung, Willy and Yu, Jade and Bolourchi, Allen and Moutakanni, Théo and Fung, Pascale},
journal={arXiv preprint arXiv:2601.xxxxx},
year={2026}
}
总结
Action100M不仅仅是一个“视频-标签”对的数据集,它是一个结构化的视频知识库。它将冗长的、连续的视频流,解构成一个有组织的、可查询的动作步骤树,每一步都附带了由先进AI模型生成并结合人类校验的多样化描述。对于从事视频动作识别、时序动作定位、步骤推理、视频摘要、指令跟随以及多模态大语言模型研究的研究者和开发者而言,Action100M提供了一个前所未有的、具有深度和广度的实验平台。
通过拥抱这样的开放数据集,我们能够共同推动机器对视觉世界的理解,从“看到了什么”迈向“理解正在如何一步步发生”,最终构建出能够与人类协作处理复杂任务的智能系统。
摘要:Action100M是一个由Meta FAIR等机构发布的大规模视频动作数据集,预览版包含12万条数据。其核心创新在于提供了基于时间分层的“Tree-of-Captions”标注,每个视频片段包含精确的时间戳、层次关系以及由GPT等模型生成的动作概要、详细指令和执行者信息,旨在推动细粒度的视频步骤理解与推理研究。数据集可通过Hugging Face平台直接加载使用。

