昨天PyImageSearch博主Adrian Rosebrock新发博文,使用Dlib计算机视觉库开发多目标跟踪的示例教程,代码和数据已开源。
先来看看作者发布的结果Gif图:
对于那些检测到的person,跟踪还是比较稳定的。
在这份教程中,以跟踪多个person为例,使用了OpenCV中的MobileNet-SSD检测算法,Dlib中的correlation tracker单目标跟踪算法,其主要流程如下:
1)使用MobileNet-SSD检测person目标,记录每个目标的包围框;
2)用检测到的每个目标的包围框初始化多个跟踪器;
3)使用多个跟踪器在下一帧找到目标的位置,更新每个跟踪器对应的目标的位置,将标签和包围框画出来;
4)重复步骤3,直至视频结束。
为了使速度更快,作者将每个跟踪器绑定一个线程,利用CPU的并行多核计算能力,使跟踪速度由13fps升到24fps。
思路还是比较简单的,代码只能作为多目标跟踪的简单范例,所以Adrian也说这套流程仅适用于短时间的目标跟踪。
代码结构如下:
如何从精度上进行改进?作者说可以像单目标跟踪一样,每隔N帧使用检测器,重新初始化目标。
原文地址:
https://www.pyimagesearch.com/2018/10/29/multi-object-tracking-with-dlib/