美文网首页
Dlib多目标跟踪

Dlib多目标跟踪

作者: 魏云舒 | 来源:发表于2018-10-30 16:08 被阅读0次

原文链接
昨天PyImageSearch博主Adrian Rosebrock新发博客,使用Dlib计算机视觉库开发多目标跟踪示例教程,代码和数据都公开,也用我自己的视频去测试了一下,只能使用于短视频单行多人检测。效果并不是太好,倒是实时性较好。

1、代码下载

百度网盘链接地址:
链接:https://pan.baidu.com/s/16DRqaVE-8_KHaoSOD-yC2A 
密码:c3k5

2、附加库的安装

- pip install imutils
- pip install cmake
- pip install dlib
(其中安装dlib之前必须要安装cmake)

3、运行代码

命令行:

python multi_object_tracking_slow.py --prototxt mobilenet_ssd/MobileNetSSD_deploy.prototxt  
--model mobilenet_ssd/MobileNetSSD_deploy.caffemodel --video race.mp4 --output myvideo.avi

4、原理讲解

该教程中,以跟踪多个person为例,使用了OpenCV中的MobileNet-SSD检测算法,Dlib中的correlation tracker单目标跟踪算法,主要流程如下:

  1. 使用MobileNet-SSD检测person 目标,记录每个目标的包围框;
  2. 用检测到的每个目标的包围框初始化多个跟踪器
  3. 使用多个跟踪器在下一帧找到目标的位置,更新每个跟踪器对应的目标的位置,将标签和包围框画出来;
  4. 重复步骤3,直到视频结束。

为了提升速度,作者将每个跟踪器绑定一个线程,利用CPU的并行多核计算能力,使得跟踪速度由13fps上升到24fps.
思路比较简单,但是代码只能作为多目标跟踪的简单范例,这套流程仅适用于段时间的目标跟踪,运用场景比较单一。

5、效果分析及改进

代码测试图
实际效果图1
实际效果图2

很明显,开始一段能够检测到这两个女生的图片,可到了新目标出现后就不能及时的检测到。可以看出,该检测器只能检测同一方向行驶的目标,目标离开后,新进入的目标不能检测到。
具体的改进要看原文认真理解了

6、相关链接

相关文章

网友评论

      本文标题:Dlib多目标跟踪

      本文链接:https://www.haomeiwen.com/subject/wmygtqtx.html