主要内容

多个对象跟踪

跟踪定位的过程是一个移动物体或多个视频流对象随时间变化。不像对象检测的过程,也就是定位感兴趣的对象在一个帧,跟踪同事检测对象的多个帧。

跟踪多个对象需要检测、预测和数据关联。

  • 检测——在一个视频帧检测感兴趣的对象。

  • 预测——预测在下一帧对象的位置。

  • 数据协会——使用预测位置关联检测跨框架形成的痕迹。

检测

选择正确的方法对检测对象的利益取决于你想跟踪和摄像头是否固定。

使用固定相机检测对象

检测物体运动与静止的摄像机,可以执行背景减法使用vision.ForegroundDetector系统对象™。背景减法的方法有效地工作,但需要固定摄像机。

使用移动相机检测对象

检测对象在运动移动相机,您可以使用一个滑动窗口检测方法。这种方法通常慢于背景减法的方法工作。探测和跟踪一个特定类别的对象,使用这个表中描述的系统对象或函数。

选择一个检测算法

类型的对象跟踪 相机 功能
任何移动 静止的

的脸,眼睛,鼻子,嘴巴,上半身 静止不动的,动

行人 静止不动的,动

您可以过滤YOLO-based检测器的结果只保留“”类。有关更多信息,请参见检测人使用YOLO v4意思对象探测器的例子。

自定义对象类别 静止不动的,动

预测

跟踪一个物体随着时间的推移,你必须在下一帧预测它的位置。最简单的方法预测假设对象的依然徘徊在最后的位置。换句话说,前面的检测作为下一个预测。该方法在高帧速下尤其有效。然而,使用这个预测方法可以失败当对象不恒定的速度移动,或者当帧率低相对于物体运动的速度。

更复杂的预测方法是使用以前观察到的物体的运动。卡尔曼滤波器(vision.KalmanFilter)预测对象的下一个位置,通过假设它根据运动模型,如恒定速度或加速度恒定。卡尔曼滤波器也考虑过程噪声和测量噪声。过程噪声偏差的实际运动对象的运动模型。测量噪声是检测错误。

更容易地配置一个卡尔曼滤波器,使用configureKalmanFilter函数。这个函数设置滤波器跟踪一个物体移动与恒定速度或加速度恒定在笛卡儿坐标系统。统计数据是相同的所有维度。配置一个卡尔曼滤波器不同假设,您必须构建vision.KalmanFilter直接对象。

卡尔曼滤波器假设运动和测量模型是线性的,而每个模型遵循一个高斯分布的不确定性。当这些假设不正确,如果对象动作,或者当测量是不完整的,您必须使用另一个跟踪滤波器。传感器融合和跟踪工具箱™提供了额外的跟踪滤波器。更多细节,请参阅估计过滤器(传感器融合和跟踪工具箱)

数据协会

数据协会联合检测的过程对应于相同的物理对象在帧。颞上特定对象包括多个检测,称为跟踪。可以包括跟踪表示之前的整个历史对象的位置。或者,它只能由最后已知位置和当前对象的速度。

检测跟踪成本函数

匹配检测跟踪,必须建立评估标准匹配。您可以通过定义一个成本函数建立这些标准。越高成本匹配的跟踪检测,检测的不太可能属于跟踪。您可以定义一个简单的成本函数可以被定义为的边框之间的重叠程度预测和检测对象。的跟踪行人在开动的汽车里例子实现了通过使用这种类型的成本函数bboxOverlapRatio函数。您可以实现更复杂的成本函数,如一个占预测的不确定性,通过使用距离的函数vision.KalmanFilter对象。你也可以实现一个自定义代价函数,可以把信息对象的大小和外观。

消除不匹配

选通方法消除极不可能匹配的考虑,比如通过施加一个阈值在你的成本函数。一个观察不匹配跟踪如果成本超过一定的阈值。使用这个阈值方法有效地导致一个圆形控制区域在每个预测,必须找到在一个检测被认为是比赛。另一种控制技术是使包括浇注区域足够大k最近的邻居的预测。

分配检测跟踪

数据协会减少到最低重量由两部分构成的匹配问题,(面积图论)。一式两份的图顶点代表跟踪和检测。这也代表了匹配检测和跟踪成本之间的加权边缘对应的顶点。

assignDetectionsToTracks函数的实现Munkres变体匈牙利两偶匹配算法。它的输入是成本矩阵,行对应于追踪和列对应于检测。每个条目包含的成本分配一个特定的检测到一个特定的轨道。您可以实现控制通过设置的成本不可能匹配到正无穷。

跟踪管理

数据协会必须占新对象的事实出现在视野,或跟踪对象离开视野。因此,对于任何给定的框架,您可能需要创建一些新的轨道或丢弃一些现有的跟踪。的assignDetectionsToTracks函数返回未赋值的跟踪的指数和未赋值的检测除了配对。

无与伦比的检测是一种处理方式是创建一个新的跟踪从他们每个人。或者,您可以创建新的跟踪只有那些无与伦比的大于一定尺寸的检测,从检测有一定的位置或表象。例如,如果现场有一个单一入口点,如门口,然后你就可以指定,只有无与伦比的检测附近的入口点可以开始新的轨道,并放弃所有其他无与伦比的检测噪声。

你也可以处理无与伦比的轨道通过删除任何跟踪仍然无与伦比的一定数量的帧数。此外,您可以指定删除一个无与伦比的跟踪时最后的位置是一个出口点附近。

另请参阅

对象

功能

相关的例子

更多关于

外部网站