遇见 YOLO26: 下一代视觉 AI。
Ultralytics
视觉 AI

8 个最佳开源对象跟踪工具和算法

探索 8 个用于实时视频分析的最佳开源对象跟踪工具。看看它们各自如何工作,以及如何为你的项目选择最合适的工具。

ABAbirami Vina
5 min read
开源对象跟踪工具和算法

当车辆闯红灯并自动向驾驶员发送罚单时,或者足球运动员带球冲向球场、摄像头平滑地跟随比赛动态时,AI 正在幕后悄悄地发挥作用。这些系统特别依赖于 计算机视觉,这是 AI 的一个子领域,它使机器能够看见、解析并理解来自世界的视觉信息。

在计算机视觉中,这些应用背后的关键任务之一是 对象追踪。它用于在视频的每一帧中识别对象,然后跟随这些对象,无论它们是移动、相互重叠还是改变方向。

如今有许多 对象追踪工具 和算法可供选择,每一种都针对不同的用例、性能需求和复杂程度而设计。有些专注于速度,能实时追踪数十个对象;而另一些则在遮挡、快速移动或低光照等挑战性条件下优先考虑准确性或长期稳定性。

具体而言,开源项目 在推动该领域发展方面发挥了重要作用。因为它们的源代码是公开可访问的,开发者和研究人员可以研究其运作方式、改进现有方法并将其适配到新的应用中。这种开放性帮助对象追踪迅速演进,并使集成到现实系统变得更加容易。

在本文中,我们将探索八个热门的开源对象追踪工具和算法。让我们开始吧!

Link to this section什么是对象追踪?#

设想一个场景:保安正在监控摄像头的停车场监控录像。他决定盯着一辆红车看。随着视频播放,他在脑海中给那辆车贴上标签,无论它走到哪里都持续追踪它,即使当其他车辆经过或有人走在它前面时也是如此。

AI 驱动的对象追踪与之类似,但它能自动且大规模地进行操作。换句话说,对象追踪就是跟随一个随视频帧移动的对象,并保持其身份从一帧到下一帧的一致性的过程。

在许多系统中,这始于 对象检测,它在每一帧中查找并标记人、车辆或路标等对象。然后,随着这些对象移动、出现、消失或重叠,追踪系统会将这些帧之间的检测结果关联起来,从而知道哪个是哪个,以及每个对象随时间推移的去向。

目标追踪概览

图 1. 对象追踪速览 (来源)

常见的追踪类型有两种:单对象追踪 (SOT),专注于一个主要对象(例如在体育视频中只追踪球),以及多对象追踪 (MOT),同时追踪多个对象并为每个对象分配一个唯一 ID(例如在繁忙路口追踪所有车辆)。

无论哪种追踪类型,大多数系统都依赖于三个核心组件:用于在每一帧中查找对象的检测器、用于预测对象可能如何移动的运动模型,以及用于将新检测结果与先前追踪的对象连接起来的匹配步骤。这些部分将原始视频转化为有关对象随时间如何移动和交互的有效信息。

Link to this section对开源对象追踪工具的需求#

在我们深入细节之前,你可能想知道:是什么让开源对象追踪工具和算法如此特别?

开源工具在使对象追踪更易于使用和更广泛可用方面发挥了巨大作用。由于代码是公开的,开发者和研究人员可以准确了解追踪器的工作原理,从中学习并将其适配到自己的项目中,而不是将其视为黑盒。

它们还受益于强大的社区。许多开源追踪工具由积极的贡献者维护,他们添加新功能、提高速度和准确性、修复错误,并使工具与最新研究保持一致。这种持续的协作有助于它们在不同应用中保持可靠和实用。

成本是它们重要的另一个大原因。由于开源工具是免费的,学生、初创公司和小团队无需担心许可费用或订阅成本,即可进行实验、原型设计并构建现实系统。

Link to this section8 个最佳开源对象跟踪工具和算法#

如今有多种多样的开源选项可用于构建追踪系统。有些是你可以直接插入流水线的追踪算法或模型,而另一些是使运行、管理和集成这些模型变得更简单的库和框架。它们共同涵盖了从核心追踪逻辑到你在实际项目中所需的周边工具的所有内容。

接下来,让我们看看八个热门的开源对象追踪工具和算法。

Link to this sectionUltralytics YOLO 模型和 Ultralytics Python 包#

对象追踪最简单且最实用的选择之一是将 Ultralytics YOLO 模型Ultralytics Python 包 结合使用。Ultralytics YOLO 模型(如 Ultralytics YOLO11 和即将推出的 Ultralytics YOLO26)是支持多种视觉任务(包括对象检测、实例分割、姿态估计和对象追踪)的计算机视觉模型。

使用 YOLO11 检测并追踪对象的示例

图 2. 使用 YOLO11 检测和追踪对象的示例。(来源)

有趣的是,模型本身并不会跨帧追踪对象。相反,简化 Ultralytics YOLO 模型运行和部署的库——Ultralytics Python 包,通过将 YOLO 的逐帧检测结果与 BoT-SORT 和 ByteTrack 等专用多对象追踪算法相结合,实现了追踪功能。

凭借其内置的追踪功能,Ultralytics 包和 Ultralytics YOLO 模型可用于在每一帧中检测对象,然后分配一致的 ID,以便在它们移动、重叠、离开画面并在稍后重新进入时进行跟随。这种方法正日益被制造和零售等行业所采用,从而实现了缺陷检测工作流、库存流追踪和店内客户追踪等应用。

Link to this sectionOpenCV 追踪器#

OpenCV 是一个庞大的计算机视觉库,其中包括一系列对象追踪算法。该库自 1999 年以来一直由 OpenCV 社区开发和维护。

这些追踪器大多不依赖深度学习,而是使用传统的计算机视觉方法,例如相关滤波器和基于核的技术(它们通过匹配视觉外观,如颜色和纹理,从一帧到下一帧来跟随对象,而不是通过神经网络学习特征)。

使用这些算法时,通常可以先选择要追踪的对象,然后随着对象的移动,追踪器会在后续帧中持续搜索最相似的视觉区域。

使用 OpenCV 追踪对象

图 3. 使用 OpenCV 追踪对象 (来源)

虽然这些方法在复杂或拥挤的场景中可能不如现代基于深度学习的追踪系统健壮,但由于它们轻量、快速且易于运行,因此仍然被广泛使用。此外,由于这些追踪器在 CPU 上高效运行且通常不需要 GPU,它们非常适合用于快速实验、课堂学习和兴趣项目。

Link to this sectionByteTrack#

ByteTrack 是最热门的开源多对象追踪算法之一。它不仅匹配模型非常确信的检测结果,还利用了许多系统通常忽略的较低置信度检测结果。

这有助于它跟踪那些短暂难以看到的对象,例如当它们被部分遮挡、距离较远或快速移动时。由于快速且可靠,ByteTrack 常用于流量分析、行人追踪和零售监控等应用中,这些场景对实时性能和一致的 ID 非常看重。

如前所述,如果你正在使用 Ultralytics YOLO 模型进行检测,通过 Ultralytics Python 包启用 ByteTrack 非常简单。但它也可以独立用于自定义流水线,使其适用于从研究原型到使用 C++ 编写的生产系统的各种场景。

Link to this sectionDeepSORT#

另一种广泛使用的多对象追踪算法是 DeepSORT,即 Deep Simple Online and Real-Time Tracking 的缩写。它是 SORT(Simple Online and Real-Time Tracking 的缩写)的改进版本。

与 ByteTrack 类似,SORT 遵循检测驱动追踪方法。然而,SORT 依赖于 Kalman filter,这是一种基于过去运动估计对象未来位置的数学模型,用于预测每个对象接下来可能向哪里移动。

然后,它主要根据位置和边界框重叠将新检测结果与现有追踪关联起来。这使得 SORT 快速且轻量,但当对象重叠、交叉路径或短暂从视野中消失时,它可能会遇到困难。

DeepSORT 通过在追踪过程中添加外观信息对 SORT 进行了改进。除了运动和位置外,它还使用基于深度学习的重识别或 Re-ID 模型来学习对象的外观。这使得追踪器能够跨帧识别同一个对象,即使仅靠运动不足以将其与他人区分开来。

正因如此,DeepSORT 常用于监控和人群监控等应用,在这些场景中人们经常重叠或被短暂遮挡。然而,它在今天被视为一个经典基准,新的追踪方法通常在更具挑战性的场景中表现更好。

Link to this sectionNorfair#

Norfair 是一个轻量级的追踪库,旨在保持灵活性,而不是强迫你进入固定的追踪流水线。它可以在几乎任何检测器之上添加追踪功能,只要检测器的输出可以表示为一组点(例如边界框中心、关键点或自定义坐标数据)。

使用 Norfair 进行真实世界对象追踪

图 4. 使用 Norfair 进行真实世界对象追踪 (来源)

这种灵活性使其在涉及不寻常输入或动态运动模式的项目中特别有效,而标准的多对象追踪工具在这些项目中可能无法胜任。该库还提供了内置的距离函数,用于控制如何在帧之间匹配检测结果。

这些距离函数测量两个点或对象的相似程度,赋予用户对追踪逻辑的完全控制权。Norfair 常用于机器人技术、运动分析、无人机导航以及高度依赖追踪姿态地标或关键点的应用中。

Link to this sectionMMTracking#

MMTracking 是来自 OpenMMLab 团队的开源追踪工具箱,该团队也是 MMDetection 等广泛使用的计算机视觉库的幕后推手。它建立在 MMDetection 之上,提供了一个用于开发和试验追踪系统的灵活框架。

其最大的优势之一是模块化设计。MMTracking 不会让你锁定在单一流水线中,而是让你配置和替换不同的组件,例如检测器、追踪模块,在某些设置中还包括重识别模型。由于这种灵活性,它在研究和高级项目中特别受欢迎,团队可以在这些项目中基准化方法、测试新想法或微调追踪流水线。

Link to this sectionFairMOT#

FairMOT 是一款多对象追踪框架,旨在同时追踪多个对象。与先进行检测再将帧间对象关联作为独立步骤的传统检测驱动追踪流水线不同,FairMOT 在单个网络中同时学习检测和重识别。

FairMOT 框架的工作原理

图 5. FairMOT 框架如何工作 (来源)

这种联合设置有助于它保持更一致的身份,尤其是在人们经常重叠或快速移动的拥挤场景中。FairMOT 常用于行人追踪和人群监控等场景,也应用于零售分析和流量监控等环境,在这些环境中实时追踪多个目标非常重要。

Link to this sectionSiamMask#

SiamMask 是一种单对象追踪方法,它通过生成分割掩码和边界框,比许多追踪器更进一步。简而言之,它不仅是在目标周围画一个矩形。它还在像素级别勾勒出对象的形状,这在目标改变形状、旋转或部分被遮挡时非常有用。

使用 SiamMask 对对象进行追踪和分割

图 6. 使用 SiamMask 追踪和分割对象 (来源)

这种方法采用了暹罗追踪设计,涉及追踪器首先获取目标从第一帧开始的小参考视图(通常称为模板)。然后,在每一帧新画面中,它搜索更大的区域,并找到与该模板相似度最高的位置。

SiamMask 在此基于匹配的理念上进行了构建。它还为目标预测像素级掩码,因此随着视频播放,你既可以获得对象的位置,也能得到更精确的轮廓。

Link to this section选择对象追踪工具的关键因素#

随着当今 AI 领域中开源对象追踪工具的多种选择,你的计算机视觉项目最适合哪种选项取决于你的具体用例需求。以下是一些需要考虑的因素:

  • 准确性: 这在拥挤或视觉复杂的场景中最为重要,视觉系统需要在重叠、遮挡或快速运动期间保持稳定的 ID。
  • 速度: 对于机器人技术、流量监控和体育分析等实时应用,响应能力可能比完美的精确度更重要。
  • 集成简易度: 有些对象追踪工具易于即插即用,只需几行代码即可工作,而另一些则需要更多的设置、配置或自定义流水线工作。
  • 部署限制: 目标环境(例如 GPU 服务器、边缘设备或移动硬件)可以决定哪种追踪方法是实用的。
  • 可扩展性: 如果你的系统需要一次追踪许多对象或处理多个视频流,追踪器应能高效扩展而不会导致性能大幅下降。

每个对象追踪工具或算法都有不同的用途。最终,正确的选择取决于你的特定要求、运行时间限制、性能指标以及你的项目需要多高的可定制性。

Link to this section关键要点#

对象追踪已从早期的手工技术发展到如今最先进的深度学习系统,能够以惊人的准确性解析运动、身份和行为。开源工具一直是推动这一进步的动力。它们让人们能够平等地获取强大的算法,鼓励实验,并使研究人员能够在没有限制性许可或沉重基础设施的情况下构建复杂的追踪流水线。

查看我们的 社区GitHub 存储库 以了解更多关于 AI 的信息。探索我们关于 农业中的 AI制造业中的计算机视觉 的解决方案页面。发现我们的 许可选项 并开始构建你自己的视觉模型。

Explore solutions

Real-time AI that works with your team

机器人技术中的 AI

使用 Ultralytics YOLO 模型为智能机器赋能。机器人技术中的视觉 AI 可推动自主导航、感知、物体跟踪和实时控制。

了解更多
Real-time AI that works with your team

物流中的 AI

使用 Ultralytics YOLO 模型简化物流。视觉 AI 可实现包裹检查、分拣、车辆跟踪和实时仓库安全监控。

了解更多
Real-time AI that works with your team

零售业 AI

使用 Ultralytics YOLO 模型重塑零售业。视觉 AI 推动库存跟踪、货架监控、队列管理和更智能的客户洞察。

了解更多
Real-time AI that works with your team

医疗保健中的 AI

利用 Ultralytics YOLO 模型构建医疗保健解决方案。医疗保健中的视觉 AI 可助力更快速的医学影像分析、更智能的诊断和患者监测。

了解更多
Real-time AI that works with your team

制造业中的 AI

使用 Ultralytics YOLO 模型优化制造业。视觉 AI 推动质量控制、缺陷检测、PPE 合规性和装配线自动化。

了解更多
Real-time AI that works with your operation

汽车中的 AI

将计算机视觉应用于汽车行业,并配合 Ultralytics YOLO 模型。汽车视觉 AI 可提升道路安全、辅助驾驶和车辆自动化,打造更智能的道路。

了解更多
Real-time AI tailored to your operation

农业中的 AI

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。赋能作物监测、牲畜追踪和精准农业,实现更高、更智能的产量。

了解更多
Real-time AI that works with your team

机器人技术中的 AI

使用 Ultralytics YOLO 模型为智能机器赋能。机器人技术中的视觉 AI 可推动自主导航、感知、物体跟踪和实时控制。

了解更多
Real-time AI that works with your team

物流中的 AI

使用 Ultralytics YOLO 模型简化物流。视觉 AI 可实现包裹检查、分拣、车辆跟踪和实时仓库安全监控。

了解更多
Real-time AI that works with your team

零售业 AI

使用 Ultralytics YOLO 模型重塑零售业。视觉 AI 推动库存跟踪、货架监控、队列管理和更智能的客户洞察。

了解更多
Real-time AI that works with your team

医疗保健中的 AI

利用 Ultralytics YOLO 模型构建医疗保健解决方案。医疗保健中的视觉 AI 可助力更快速的医学影像分析、更智能的诊断和患者监测。

了解更多
Real-time AI that works with your team

制造业中的 AI

使用 Ultralytics YOLO 模型优化制造业。视觉 AI 推动质量控制、缺陷检测、PPE 合规性和装配线自动化。

了解更多
Real-time AI that works with your operation

汽车中的 AI

将计算机视觉应用于汽车行业,并配合 Ultralytics YOLO 模型。汽车视觉 AI 可提升道路安全、辅助驾驶和车辆自动化,打造更智能的道路。

了解更多
Real-time AI tailored to your operation

农业中的 AI

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。赋能作物监测、牲畜追踪和精准农业,实现更高、更智能的产量。

了解更多
Real-time AI that works with your team

机器人技术中的 AI

使用 Ultralytics YOLO 模型为智能机器赋能。机器人技术中的视觉 AI 可推动自主导航、感知、物体跟踪和实时控制。

了解更多
Real-time AI that works with your team

物流中的 AI

使用 Ultralytics YOLO 模型简化物流。视觉 AI 可实现包裹检查、分拣、车辆跟踪和实时仓库安全监控。

了解更多
Real-time AI that works with your team

零售业 AI

使用 Ultralytics YOLO 模型重塑零售业。视觉 AI 推动库存跟踪、货架监控、队列管理和更智能的客户洞察。

了解更多
Real-time AI that works with your team

医疗保健中的 AI

利用 Ultralytics YOLO 模型构建医疗保健解决方案。医疗保健中的视觉 AI 可助力更快速的医学影像分析、更智能的诊断和患者监测。

了解更多
Real-time AI that works with your team

制造业中的 AI

使用 Ultralytics YOLO 模型优化制造业。视觉 AI 推动质量控制、缺陷检测、PPE 合规性和装配线自动化。

了解更多
Real-time AI that works with your operation

汽车中的 AI

将计算机视觉应用于汽车行业,并配合 Ultralytics YOLO 模型。汽车视觉 AI 可提升道路安全、辅助驾驶和车辆自动化,打造更智能的道路。

了解更多
Real-time AI tailored to your operation

农业中的 AI

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。赋能作物监测、牲畜追踪和精准农业,实现更高、更智能的产量。

了解更多

让我们一起构建 AI 的未来!

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