探索视频理解,这是一种先进的 AI,可以解释视频中的动作和事件。了解它的工作原理以及它如何为自动驾驶和智能安全应用提供支持。
视频理解是计算机视觉(CV)领域中发展迅速的一个领域。 计算机视觉 (CV)和 人工智能(AI)的一个快速发展的领域。 视频理解是计算机视觉(CV)和人工智能(AI)中发展迅速的领域,其重点是使机器能够解释和分析一段时间内的视觉数据。与标准的 图像识别分析静态 不同,视频理解处理的是 帧序列,以理解时间上的 动态、背景和场景中的因果关系。这种能力使系统不仅能识别 物体,还能推断正在发生的事情,预测未来的行动,了解视觉输入背后的 "故事"。 视觉输入背后的 "故事"。这种整体方法对于创建与物理世界自然交互的系统至关重要。 与物理世界自然交互的系统来说,这种整体方法至关重要,从 自动驾驶汽车的交通导航到智能 助手监控家庭安全。
视频理解背后的技术架构比静态物体检测复杂得多。 物体检测复杂得多。要有效处理视频 深度学习模型必须同时处理 空间特征(物体的外观)和时间特征(这些物体如何移动和变化)。
现代系统通常采用多级管道:
这一过程通常由 光流技术的支持,以明确track 帧间的运动 矢量,从而增强模型辨别运动模式的能力。边缘计算 边缘计算的进步使这些计算密集型任务 任务可在本地设备上进行 实时推理。
要了解视频理解的范围,就必须将其与相关的计算机视觉任务区分开来:
理解动态场景的能力推动着各大行业的创新:
视频理解的基础步骤是可靠的目标跟踪。下面的示例演示了如何 实现跟踪。 Ultralytics YOLO11模型实现跟踪。这 建立更高层次分析所需的时间连续性。展望未来,即将推出的 YOLO26等即将推出的模型旨在进一步整合这些功能,以实现 更快的端到端视频处理。
from ultralytics import YOLO
# Load the YOLO11 model (nano version for speed)
model = YOLO("yolo11n.pt")
# Perform object tracking on a video file
# The 'persist=True' argument is crucial for maintaining object IDs across frames
results = model.track(source="path/to/traffic_video.mp4", persist=True, show=True)
# Process results to extract tracking IDs and class names
for result in results:
boxes = result.boxes.xywh.cpu()
track_ids = result.boxes.id.int().cpu().tolist()
print(f"Detected IDs in this frame: {track_ids}")
尽管取得了重大进展,但视频理解仍面临着诸多挑战,如计算成本高、难以处理 计算成本高、难以处理 遮挡物 暂时从视图中消失。研究人员正在积极研究 高效的模型架构以减少延迟,以及 自监督学习来训练模型 在大量无标记视频数据上训练模型。
工具,如 NVIDIA TensorRT和 ONNX经常用于 优化这些重型模型的部署。随着这一领域的发展,我们可以期待更紧密地集成 多模态人工智能,结合视频、音频和文本 以实现更深入的理解。