目标跟踪
探索 Ultralytics 的目标跟踪!了解如何使用 YOLO 模型跟踪视频中的运动、行为和交互,以用于实时应用。
目标跟踪是计算机视觉(CV)中的一项基本任务,它涉及识别和跟踪视频帧序列中的一个或多个移动对象。与在单个图像中定位对象的目标检测不同,目标跟踪增加了一个时间维度,通过为每个对象分配一个唯一的ID,并在对象移动、外观变化或暂时被遮挡时保持其身份。这种能力可以更深入地理解对象行为、交互和随时间变化的运动模式,使其成为许多动态视频分析应用的基础。
目标跟踪的工作原理
目标跟踪过程通常首先使用目标检测模型来识别和定位视频第一帧中的目标。每个检测到的目标都被分配一个唯一的跟踪 ID。在随后的帧中,跟踪算法预测这些目标的新位置,并尝试将它们与新检测到的目标进行匹配。此过程依赖于各种技术:
- 运动预测:诸如卡尔曼滤波器 (KF)之类的算法用于根据物体过去的状态(位置、速度)来估计其未来位置。这有助于缩小在下一帧中搜索该物体的范围。
- 外观匹配(Appearance Matching): 这涉及从对象中提取独特的特征,例如颜色直方图或基于深度学习的嵌入。这些特征创建了一个独特的签名,即使在遮挡或外观发生重大变化后,也有助于重新识别对象。
- 数据关联:这是将现有轨迹与新检测结果进行匹配的关键步骤。 诸如匈牙利算法或更高级的方法(如ByteTrack和BoT-SORT)之类的算法可以处理这种关联,即使在具有许多对象的复杂场景中也是如此。
目标跟踪 vs. 目标检测
虽然密切相关,但目标跟踪和目标检测服务于不同的目的。
- 目标检测: 这是识别和分类单个图像或视频帧中的对象的过程。 输出是一组边界框、类别标签和每个对象的置信度分数。 它回答了“此帧中有哪些对象?”这个问题。
- 物体追踪: 这是在目标检测的基础上构建的。它获取每一帧的检测结果,并将它们链接到整个视频序列中,为每个对象分配一个持久 ID。它回答了“这个特定的物体要去哪里?”这个问题。
本质上,您可以将对象检测视为拍摄快照,而对象跟踪则创建每个对象在视频中移动的连续故事。Ultralytics YOLO 模型无缝集成了两者,允许用户以高效率和准确性执行多对象跟踪。
实际应用
目标跟踪是一项变革性技术,在各个行业中都有广泛的应用。
- 智能监控和安全: 在安全领域,目标跟踪用于实时监控人员和车辆。系统可以配置为自动跟踪进入限制区域的人员,跟踪停车场中的可疑车辆,或计算进出建筑物的人数。这无需持续的人工监督即可实现自动警报和取证分析。例如,可以构建一个安全警报系统,以便在人员在非工作时间被跟踪移动到预定义区域时触发。
- 自动驾驶汽车: 对于自动驾驶汽车来说,跟踪其他车辆、行人和骑自行车者对于安全导航至关重要。通过跟踪周围的物体,车辆可以预测它们的轨迹,了解它们的意图(例如,行人即将过马路),并做出明智的决定以避免碰撞。与单帧检测相比,这种连续跟踪提供了对环境更丰富的理解。
- 体育分析: 教练和分析师使用目标跟踪来监控场上球员的移动。通过跟踪每个球员,他们可以分析阵型,测量诸如覆盖距离和速度之类的性能指标,并制定更好的比赛策略。这可以与姿势估计结合使用,以详细分析球员的技术。
- 零售分析: 零售商使用跟踪来了解商店中的客户行为。通过分析客流量模式、在不同通道的停留时间以及与产品的互动,企业可以优化商店布局并改善客户体验。这也可以用于队列管理,以减少结账时的等待时间。
工具与实现
借助现代工具和框架,实施强大的目标跟踪解决方案比以往任何时候都更容易。