Ultralytics YOLO27:
返回 Ultralytics 术语表

Optical Flow

探索计算机视觉中的光流基础。了解运动向量如何推动视频理解,并增强 Ultralytics YOLO26 中的跟踪能力。

光流是视觉场景中物体、表面和边缘的表观运动模式,由观察者与场景之间的相对运动引起。在计算机视觉领域,这一概念对于理解视频序列中的时间动态至关重要。通过分析连续两帧之间像素的位移,光流算法会生成一个矢量场,其中每个矢量表示特定点的运动方向和幅度。这种底层视觉线索使人工智能系统不仅能够感知图像中有什么,还能感知其如何运动,从而衔接静态图像分析与动态视频理解

光流的核心机制#

光流的计算通常依赖亮度恒常性假设,即使物体发生移动,其上某个像素的亮度值从一帧到下一帧仍保持不变。算法利用这一原理,通过以下两种主要方法求解运动矢量:

  • 稀疏光流 这种方法会计算特定子集中的不同特征(例如通过特征提取检测到的角点或边缘)的运动矢量。Lucas-Kanade 方法等算法计算效率高,非常适合实时推理任务,因为这类任务只需跟踪特定的关注点即可。
  • 稠密光流 这种方法会为帧中的每个像素计算运动矢量。虽然其计算量显著更大,但它能提供完整的运动图,这对于图像分割和结构分析等细粒度任务至关重要。现代深度学习架构通常通过从大型数据集中学习复杂的运动模式,在稠密光流估计方面超越传统数学方法。

光流与目标跟踪#

虽然光流常与目标跟踪结合使用,但区分二者至关重要。光流是一种描述瞬时像素运动的底层操作;它本身并不理解物体的身份或持续存在性。

相比之下,目标跟踪是一项高层任务,负责定位特定实体,并为其分配一个随时间保持一致的 ID。高级跟踪器(例如集成在Ultralytics YOLO26中的跟踪器)通常会先执行目标检测来找到物体,然后利用运动线索(有时来自光流)将不同帧中的检测结果关联起来。光流回答的是“这些像素现在移动得有多快?”,而跟踪回答的是“5号车去哪儿了?”

实际应用#

在像素层面估计运动的能力为众多先进技术提供了动力:

  • 自动驾驶汽车与机器人技术: 光流可用于视觉里程计,使机器人或汽车能够估计自身相对于环境的运动。通过分析视野中物体扩张或移动的速度,光流还可辅助深度估计和避障。
  • 视频稳定: 相机和编辑软件利用光流矢量检测非预期的相机抖动。通过补偿这种全局运动,系统可以对视频素材进行数字防抖。这是智能手机和运动相机等现代消费电子产品中的标准功能。
  • 动作识别 在体育分析和安防领域,分析像素的时间流动有助于系统识别复杂的人体动作。例如,可以将姿态估计模型与光流数据结合,根据肢体运动的速度区分人员是在行走还是在奔跑。
  • 视频压缩: MPEG 视频编码等标准高度依赖运动估计。编解码器不会存储每一幅完整帧,而是存储光流(运动矢量)以及帧与帧之间的差异(残差),从而显著减小用于流式传输和存储的文件大小。

实现示例#

以下示例演示如何使用OpenCV 库计算稠密光流。OpenCV 是计算机视觉生态系统中的标准工具。该代码片段使用 Farneback 算法生成连续两帧之间的光流图。

import cv2
import numpy as np

# Simulate two consecutive frames (replace with actual image paths)
frame1 = np.zeros((100, 100, 3), dtype=np.uint8)
frame2 = np.zeros((100, 100, 3), dtype=np.uint8)
cv2.rectangle(frame1, (20, 20), (40, 40), (255, 255, 255), -1)  # Object at pos 1
cv2.rectangle(frame2, (25, 25), (45, 45), (255, 255, 255), -1)  # Object moved

# Convert to grayscale for flow calculation
prvs = cv2.cvtColor(frame1, cv2.COLOR_BGR2GRAY)
next = cv2.cvtColor(frame2, cv2.COLOR_BGR2GRAY)

# Calculate dense optical flow
flow = cv2.calcOpticalFlowFarneback(prvs, next, None, 0.5, 3, 15, 3, 5, 1.2, 0)

# Compute magnitude and angle of 2D vectors
mag, ang = cv2.cartToPolar(flow[..., 0], flow[..., 1])

print(f"Max motion detected: {np.max(mag):.2f} pixels")

对于需要保持物体持续存在而不是仅关注原始像素运动的高层应用,用户应考虑Ultralytics YOLO11YOLO26中提供的跟踪模式。这些模型抽象了运动分析的复杂性,开箱即用地提供可靠的物体 ID 和轨迹,适用于从交通监控到零售分析等各种任务。

Explore solutions

用于航拍影像的计算机视觉

用于航拍影像的计算机视觉

使用 Ultralytics YOLO 将无人机和航拍影像转化为针对农业、水产养殖、环境监测、自然保护及地理空间分析的实时洞察。
了解更多
航空航天中的计算机视觉

航空航天中的计算机视觉

借助 Ultralytics YOLO 模型将视觉 AI 引入空中监测。使用计算机视觉解决方案赋能无人机、航空航天工作流、环境保护与地理空间行业。
了解更多

使用 Ultralytics YOLO 模型保护每个站点。视觉 AI 赋能周界监控、威胁检测、车牌识别和工作场所安全。
了解更多
机器人计算机视觉

机器人计算机视觉

借助 Ultralytics YOLO 模型打造更智能的机器。机器人技术中的视觉 AI 可实现自主导航、感知、目标跟踪和实时控制。
了解更多
物流计算机视觉

物流计算机视觉

使用 Ultralytics YOLO 模型提升物流效率。视觉 AI 可实现包裹检测、分拣、车辆跟踪和仓库安全实时监控。
了解更多
零售计算机视觉

零售计算机视觉

使用 Ultralytics YOLO 模型重新构想零售。视觉 AI 为库存跟踪、货架监控、队列管理和更智能的客户洞察提供支持。
了解更多
医疗领域的计算机视觉

医疗领域的计算机视觉

使用 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可实现更快的医学影像处理、更智能的诊断和患者监护。
了解更多
制造业中的计算机视觉

制造业中的计算机视觉

使用 Ultralytics YOLO 模型优化制造业。视觉 AI 可推动质量控制、缺陷检测、PPE 合规和装配线自动化。
了解更多
汽车行业中的计算机视觉

汽车行业中的计算机视觉

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

农业中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 带入智能农业。为作物监测、牲畜追踪和精准农业提供支持,提升产量与智能化水平。
了解更多
用于航拍影像的计算机视觉

用于航拍影像的计算机视觉

使用 Ultralytics YOLO 将无人机和航拍影像转化为针对农业、水产养殖、环境监测、自然保护及地理空间分析的实时洞察。
了解更多
航空航天中的计算机视觉

航空航天中的计算机视觉

借助 Ultralytics YOLO 模型将视觉 AI 引入空中监测。使用计算机视觉解决方案赋能无人机、航空航天工作流、环境保护与地理空间行业。
了解更多

使用 Ultralytics YOLO 模型保护每个站点。视觉 AI 赋能周界监控、威胁检测、车牌识别和工作场所安全。
了解更多
机器人计算机视觉

机器人计算机视觉

借助 Ultralytics YOLO 模型打造更智能的机器。机器人技术中的视觉 AI 可实现自主导航、感知、目标跟踪和实时控制。
了解更多
物流计算机视觉

物流计算机视觉

使用 Ultralytics YOLO 模型提升物流效率。视觉 AI 可实现包裹检测、分拣、车辆跟踪和仓库安全实时监控。
了解更多
零售计算机视觉

零售计算机视觉

使用 Ultralytics YOLO 模型重新构想零售。视觉 AI 为库存跟踪、货架监控、队列管理和更智能的客户洞察提供支持。
了解更多
医疗领域的计算机视觉

医疗领域的计算机视觉

使用 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可实现更快的医学影像处理、更智能的诊断和患者监护。
了解更多
制造业中的计算机视觉

制造业中的计算机视觉

使用 Ultralytics YOLO 模型优化制造业。视觉 AI 可推动质量控制、缺陷检测、PPE 合规和装配线自动化。
了解更多
汽车行业中的计算机视觉

汽车行业中的计算机视觉

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

农业中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 带入智能农业。为作物监测、牲畜追踪和精准农业提供支持,提升产量与智能化水平。
了解更多
用于航拍影像的计算机视觉

用于航拍影像的计算机视觉

使用 Ultralytics YOLO 将无人机和航拍影像转化为针对农业、水产养殖、环境监测、自然保护及地理空间分析的实时洞察。
了解更多
航空航天中的计算机视觉

航空航天中的计算机视觉

借助 Ultralytics YOLO 模型将视觉 AI 引入空中监测。使用计算机视觉解决方案赋能无人机、航空航天工作流、环境保护与地理空间行业。
了解更多

使用 Ultralytics YOLO 模型保护每个站点。视觉 AI 赋能周界监控、威胁检测、车牌识别和工作场所安全。
了解更多
机器人计算机视觉

机器人计算机视觉

借助 Ultralytics YOLO 模型打造更智能的机器。机器人技术中的视觉 AI 可实现自主导航、感知、目标跟踪和实时控制。
了解更多
物流计算机视觉

物流计算机视觉

使用 Ultralytics YOLO 模型提升物流效率。视觉 AI 可实现包裹检测、分拣、车辆跟踪和仓库安全实时监控。
了解更多
零售计算机视觉

零售计算机视觉

使用 Ultralytics YOLO 模型重新构想零售。视觉 AI 为库存跟踪、货架监控、队列管理和更智能的客户洞察提供支持。
了解更多
医疗领域的计算机视觉

医疗领域的计算机视觉

使用 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可实现更快的医学影像处理、更智能的诊断和患者监护。
了解更多
制造业中的计算机视觉

制造业中的计算机视觉

使用 Ultralytics YOLO 模型优化制造业。视觉 AI 可推动质量控制、缺陷检测、PPE 合规和装配线自动化。
了解更多
汽车行业中的计算机视觉

汽车行业中的计算机视觉

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

农业中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 带入智能农业。为作物监测、牲畜追踪和精准农业提供支持,提升产量与智能化水平。
了解更多

让我们共同构建 AI 的未来!

开启你的机器学习未来之旅