目标跟踪

目标跟踪模块可用于对目标物体进行跟踪和计数。

本节内容包含:

模块原理

通过该模块,可实现对产线上目标物体的跟踪和计数。示例场景如下图所示。

图 1 场景示意图

目标跟踪和计数,基于算法对以下五个元素的处理和计算实现。

  • ROI:在相机采集图像中预设的感兴趣区域(Region of Interest,ROI)。

  • 计数线:一般为ROI在跟踪方向(即目标移动方向)上的中线,即上图和下图中的橙线。

  • 有效计数目标:进入ROI且越过计数线的目标物体。出现在图像中,但是不符合上述条件的物体,不产生计数值累加。

  • 跟踪框:算法在图像上生成的可跟踪目标物体的矩形框。

  • X/Y方向速度:跟踪框对于目标物体的跟踪速度。根据目标物体在图像上的移动方向(从左至右或从上至下),跟踪速度分为横向跟踪速度和纵向跟踪速度两种,可分别通过下文参数配置中提及的X方向速度Y方向速度配置。

图 2 目标跟踪效果图

使用方法

前后序模块

在流程中,目标跟踪的:

  • 前序模块一般为DL目标检测和定位类型的模块(如模板匹配BLOB分析)。这些模块可为目标跟踪提供待跟踪/计数的目标。

  • 后序模块无特殊要求。

主要配置步骤

在流程中调用目标跟踪模块后,该模块的主要配置步骤如下:

  1. 基本参数页签配置图像输入、Box输入和检测区域。

  2. 单击执行连续执行查看运行结果。

  3. 根据实际需求配置运行参数。例如,跟踪状态不理想时,可调节X/Y方向速度

  4. (可选)单击清空计数清除当前计数,重新从0开始计数。

参数配置

以下仅介绍该模块的基本参数和运行参数的详情。通过配置基本参数,可定义数据输入。通过配置运行参数,可定义当前模块如何处理输入的数据。

说明:

结果显示参数详情,请参见结果显示

基本参数详情如下。

图像输入

图像源为采集到的流水线上移动的目标的连续帧图像。图像必须按照采集的时间序列排序。

BOX输入

为前序模块的输出目标信息矩形,可订阅目标信息矩形检测区域

检测区域

为跟踪和计数的区域。根据目标进入和离开该区域的状态对其进行计数

为了避免计数遗漏,检测区域应尽量位于图像中央,且:

  • 区域宽度应尽量与图像宽度相同。

  • 区域高度按目标尺寸进行设置,包含3~5个目标高度为最佳。

恰当和欠妥的检测区域选取,请参见如下四张示意图。

恰当的检测区域选取

检测区域高度过小

检测区域宽度过小

检测区域位置偏上

运行参数详情如下。

检测区速度
X方向速度

跟踪框对在图像上横向移动(从左至右)的物体的跟踪速度,默认值为1.0。如果跟踪效果不理想,可按需调整取值:

  • 跟踪框的移动速度比目标物体移动速度慢时,微调增大取值,例如逐次尝试取值1.1、1.2、1.3……,直至两者移动速度基本一致。

  • 跟踪框的移动速度比目标物体移动速度快时,微调减少取值,例如逐次尝试取值0.9、0.8、0.7……,直至两者移动速度基本一致。

Y方向速度

跟踪框对于在图像上纵向移动(从上至下)的物体的跟踪速度,默认值为1.0。如果跟踪效果不理想,可按需调整取值。调整方式同上。

运行参数
允许缺帧数

若目标检测模块出现未检测到目标的情况,此时目标跟踪模块的输入Box接收不到数据,定义为丢帧。可通过允许缺帧数设置最多丢帧数。

未超过时,不影响目标的计数;超过时,则认为前后是同一个目标,不进行计数。

轨迹重叠率

可根据实际情况对轨迹重叠率参数进行设置,该参数的默认值为30,范围为1~100。当两个目标框之间的重叠率超过设置的轨迹重叠率,则会认为是同一个目标。

模块结果

该模块输出结果中各项参数详情,请参见目标跟踪模块的输出结果