使用Python,dlib进行对象实时追踪

Posted 程序媛一枚~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Python,dlib进行对象实时追踪相关的知识,希望对你有一定的参考价值。

这篇博客将介绍如何使用Python,dlib执行对象跟踪。即通过dlib的相关跟踪器来实时跟踪视频流中的对象。
与July的质心跟踪(Centroid Tracking)不同,dlib的对象跟踪算法可以利用从输入RGB图像收集的信息进行自我更新——该算法不需要为输入视频流中的每一帧计算一组边界框。并且dlib的相关跟踪算法非常健壮,能够实时运行。
然而,最大的缺点是如果视点发生实质性变化或要跟踪的对象被遮挡,相关跟踪器可能会变得“混乱”,并丢失希望跟踪的对象。
在这些场景中,可以重新运行(计算成本很高的)对象检测器,以重新确定跟踪对象的位置来优化。

追踪对象的方法有:

  1. 质心跟踪,这是一种简单但有效的方法,1)为图像中的每个对象分配唯一的ID,然后2)在视频流中移动时跟踪每个对象和相关ID。
    这种目标跟踪算法的最大缺点是,必须在每个输入帧上运行单独的目标检测器——在大多数情况下,这种行为是不可取的,因为目标检测器(包括HOG+线性SVM、更快的R-CNN和SSD)的运行计算成本可能会很高。

  2. 执行一次目标检测(或每N帧一次),然后应用一种专用的跟踪算法,可以在后续帧中移动时保持对对象的跟踪,而无需执行对象检测。
    方法2可行,并且可以使用dlib的相关跟踪算法实现。

correlation-based object tracking 基于相关性的对象追踪
correlation tracker 相关性追踪器
Accurate Scale Estimation for Robust Visual Tracking 鲁棒视觉跟踪的精

以上是关于使用Python,dlib进行对象实时追踪的主要内容,如果未能解决你的问题,请参考以下文章

Python 3 利用 Dlib 实现摄像头实时人脸识别

使用 Dlib 进行地标检测期间的 Boost.Python.ArgumentError

OpenCV+dlib实现疲劳检测

人工智能?使用Python和dlib进行人脸检测

深度学习项目演练:如何使用Python和OpenCV进行人脸识别

人工智能神经网络不训练检测模型,如何进行对象的检测与追踪?