介绍
本文,我们将使用欧几里德距离跟踪和轮廓的概念在 Python 中使用 OpenCV 构建车辆计数器系统。
对象追踪
对象跟踪是在视频中定位移动对象的过程。在 OpenCV 中有多种技术可以执行对象跟踪。可以针对 2 种情况执行对象跟踪:
跟踪单个对象
跟踪多个对象
在这里,我们将执行多对象跟踪方法,因为我们在一个时间范围内有多辆车。
流行的追踪算法
DEEP SORT:它是最广泛使用和非常有效的目标跟踪算法之一,它适用于 YOLO 目标检测,使用卡尔曼滤波器进行跟踪。
质心跟踪算法:质心跟踪算法是一种易于理解且非常有效的算法。这是一个多步骤的过程。
步骤 1:获取检测到的对象的边界框坐标并使用边界框的坐标计算质心。
步骤 2:对于每个后续帧,它使用边界框坐标计算质心,并为这些边界框分配一个 id,并计算每个可能的质心之间的欧几里德距离。
步骤 3:我们的假设是给定对象可能会在后续帧中移动,并且它们质心之间的欧几里德距离将是与其他对象相比的最小距离。
步骤 4:将相同的 ID 分配给后续帧之间的最小移动质心。