敬请关注 YOLO Vision 2025!
2025年9月25日
英国夏令时 10:00 - 18:00
混合活动
Yolo Vision 2024
词汇表

光流

探索计算机视觉中光流的强大功能。了解它如何估计运动、增强视频分析并推动人工智能创新。

光流是计算机视觉(CV)中的一个核心概念,它涉及估计视觉场景中由观察者(如相机)和场景之间的相对运动引起的物体、表面和边缘的运动。它计算一个矢量场,描述两个连续视频帧之间像素或特征的运动方向和速度。这提供了对事物“如何”移动的详细、低层次的理解,这对于许多动态场景分析任务至关重要。

光流的工作原理

大多数光流算法背后的核心假设是“亮度恒定性”,即假定对应于对象上特定点的像素强度在短时间内保持不变。通过找到保持这种亮度的位移,算法可以估计运动。计算光流有两种主要方法:

  • 密集光流:此方法计算图像中每个像素的运动向量。它提供了一个高度详细的运动场,可用于图像分割和理解复杂的场景动态。Horn-Schunck方法是一个经典示例,而现代深度学习模型(如RAFT)则提供最先进的性能。
  • 稀疏光流: 这种方法不是分析每个像素,而是跟踪跨帧的一组稀疏的“有趣”特征(如角点或关键点)。Lucas-Kanade 方法是一种著名的稀疏算法。这种方法在计算上更有效,并且非常适合只需要特定点的运动的应用,例如 目标跟踪

光流与目标跟踪

虽然相关,但光流和对象跟踪解决的是不同的问题。

  • 光流 描述了像素的低级运动。它的输出是一组表示两个帧之间运动的向量。它本身并不理解“对象”的概念,也不会随着时间的推移保持其身份。
  • 物体跟踪物体跟踪是一项更高级别的任务,主要是定位特定物体,并在多个帧中跟踪其路径,为其分配一个一致的 ID。跟踪算法通常使用光流等技术作为输入,在物体检测模型(如Ultralytics YOLO模型)识别物体后,预测物体在下一帧中的位置。你可以在 Ultralytics 的物体追踪模式中看到这一功能。

简而言之,光流回答了“像素是如何移动的?”,而对象跟踪回答了“那辆车去哪儿了?”。

实际应用

光流对于许多需要理解视频运动的应用至关重要:

  • 自主系统自动驾驶汽车机器人使用光流进行视觉里程计(估计自身运动)、障碍物检测以及理解环境中物体的相对运动。例如,它可以帮助自动驾驶汽车估计其相对于道路的速度或跟踪附近的车辆。Waymo 等公司严重依赖运动感知。请浏览自动驾驶汽车中的人工智能以获取更多背景信息。
  • 视频压缩: 诸如MPEG之类的标准使用类似于光流的运动估计技术,以基于先前的帧来预测后续帧。通过仅编码运动向量和预测误差(残差),可以实现显着的数据压缩。
  • 动作识别:理解视频中的人类行为,是姿态估计的关键部分,通常涉及分析从光流中提取的运动模式。这对于体育分析和智能健身技术中的应用至关重要。
  • 视频稳定: 数字图像稳定技术可以使用光流来估计相机抖动并对其进行补偿,从而产生更流畅的视频。这项技术在现代智能手机和相机中很常见。
  • 医学影像分析:用于跟踪组织运动,如超声心动图中的心肌运动或手术过程中的器官变形。查看期刊等资源 放射学人工智能等资源,了解相关进展。
  • 机器人:使机器人能够导航、与物体互动,并根据周围环境运动的视觉反馈执行任务。与ROS等系统的集成通常包括运动分析。

工具与实现

OpenCV等库提供了经典光流算法的实现,其文档包括详细的OpenCV 光流教程。对于深度学习方法,通常会使用PyTorch(访问PyTorch 官方网站)和TensorFlow(访问TensorFlow 官方网站)等框架,通常会利用Hugging Face 等平台提供的预训练模型。训练这些模型需要具有地面真实流量信息的大规模视频数据集,如FlyingThings3D或 Sintel 数据集。Ultralytics HUB等平台可帮助管理数据集和模型训练工作流,以完成相关的计算机视觉任务。

加入 Ultralytics 社区

加入人工智能的未来。与全球创新者联系、协作和共同成长

立即加入
链接已复制到剪贴板