Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
返回 Ultralytics 术语表

Video Understanding

视频理解是指 AI 解读视频随时间发生的内容:动作、事件及其顺序。介绍相关任务、模型系列和代码。

视频理解是计算机视觉的一个领域,旨在解读视频随时间发生的内容:画面中有哪些物体和人物、他们在做什么、事件何时开始和结束,以及一个事件如何引发另一个事件。图像识别会独立分析每一帧,而视频理解会对运动和时间顺序建模,许多问题都取决于这两点。一帧图像可能显示一个人正半坐在椅子上,只有查看前后帧才能判断此人是在坐下还是站起。这个领域涵盖从短片段标注到回答数小时视频内容的开放式问题。

核心任务#

  • 动作识别: 为一段经过剪辑的短片段分配一个标签,例如“俯卧撑”或“摔倒”。
  • 时间动作定位: 找出长篇未剪辑视频中每个动作的开始和结束时间;时空动作检测还会为每一帧中的每个动作执行者标注边界框。
  • 目标跟踪: 通过持久 ID 跨帧跟踪每个物体,这是计数、速度测量和轨迹分析的基础。
  • 视频分割: 为物体或场景区域生成像素掩码,并确保掩码在各帧之间保持一致。
  • 视频字幕生成与问答: 用文字描述片段,或回答“司机在汽车停下之前做了什么?”之类的问题。
  • 时间定位: 找出与某句话相对应的时刻,例如“守门员接住了球”;这项任务也称为时刻检索。
  • 异常检测: 标记摔倒、打架或车辆逆向行驶等异常事件。

视频模型的工作原理#

视频模型必须捕捉外观(物体看起来是什么样)和运动(物体如何变化)。双流网络通过独立分支处理 RGB 帧和光流;3D 卷积神经网络(CNN)会同时沿高度、宽度和时间维度进行卷积;时间移位模块则通过将每层的部分通道移至相邻帧,让 2D CNN 无需额外计算即可进行时间建模。视频 Transformer 会在时空图块之间应用自注意力;TimeSformer通过分别在时间和空间维度执行注意力计算,使这一方法变得经济可行。在无标注视频上进行自监督预训练,可以得到强大的通用编码器:Meta 的 V-JEPA 2通过预测被遮挡区域的表示,从超过 100 万小时的互联网视频中学习;在 Something-Something v2 上,其 top-1 准确率达到 77.3%。Something-Something v2 是一个基准数据集,其中的手部与物体交互动作主要区别在运动方式。视频语言模型会抽取视频帧,将每帧编码为视觉 token,再传递给大语言模型(LLM),由其用文字回答问题。

系统所需的输出类型在很大程度上决定了它会使用哪类模型:

基于目标轨迹识别事件#

许多实用系统通过分析轨迹来理解视频:检测器在每一帧中寻找物体,跟踪器将它们连接成轨迹,再由规则或模型将轨迹转化为事件,例如进入区域、穿过线段或停留过久。Ultralytics 目标计数解决方案就是通过这种方式,结合 YOLO26跟踪来实现:每个被跟踪物体的路径穿过线段时只计数一次,并根据物体在连续帧中的位置记录移动方向:

import cv2
from ultralytics import solutions

# Count people (COCO class 0) crossing a horizontal line through the middle of the 640x360 frame
counter = solutions.ObjectCounter(model="yolo26n.pt", region=[(0, 180), (640, 180)], classes=[0])

cap = cv2.VideoCapture("https://github.com/ultralytics/assets/releases/download/v0.0.0/solutions_ci_demo.mp4")
while True:
    success, frame = cap.read()
    if not success:
        break
    results = counter(frame)

# A crossing and its direction come from each person's track, so they exist only across frames
print(f"Crossed moving down: {results.in_count}, moving up: {results.out_count}")

这两个计数描述的是单帧图像中不存在的事件,因为要区分一个人向下行走和向上行走,至少需要同一个被跟踪者的两个位置。

  • 图像识别: 对单张图像中的内容进行分类或检测。逐帧处理视频可以得到每帧的结果,但无法识别身份、运动或顺序。
  • 多目标跟踪(MOT): 视频理解的一个组成模块,可在不同帧之间保持目标身份,但不会解读物体正在做什么。
  • 视频生成: 根据文本或图像创建新视频,方向与视频理解相反,不过两者都依赖对场景如何随时间变化进行建模。
  • 多模态人工智能: 将视频与音频、字幕或其他数据结合起来;当音轨或语音包含关键信息时,这种方法很有帮助。

应用场景#

  • 体育分析: 跟踪球员和球,以测量速度、控球情况和阵型,并从整场比赛录像中查找精彩片段。
  • 交通与智慧城市: 统计车辆和行人、测量速度,并检测逆向行驶或车辆滞留。
  • 零售与安全监控: 测量队列长度、标记护理机构中的跌倒事件,并检测有人进入限制区域。
  • 媒体与内容审核: 为大型视频库建立索引以便搜索,并标记违反政策的上传内容。
  • 机器人技术与自动驾驶汽车: 预测行人和其他车辆接下来会移动到哪里。

挑战#

视频会放大处理每张图像的成本:30 帧每秒的一分钟视频包含 1,800 帧,因此模型会稀疏采样,通常每个片段抽取 8 到 64 帧,但仍有可能漏掉短暂事件。长视频会给内存和上下文长度带来压力,而标注动作的精确起止时间也比标注图像耗时得多。Google Gemini API 每秒抽取一帧视频;在默认的低媒体分辨率下,每秒视频约使用 100 个 token。因此,上下文窗口为 100 万 token 的模型最多可处理 3 小时视频,或 1 小时高分辨率视频。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

使用 Ultralytics YOLO 将无人机和航空影像转化为农业、水产养殖、保护工作和地理空间分析的实时洞察。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 将计算机视觉应用于航空航天领域,包括飞机检查、跑道 FOD 检测、机场地面作业和复合材料缺陷检测。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来