Opencv-Python项目(1) | 基于meanshiftT算法的运动目标跟踪技术学习

目标跟踪(object tracking)就是在连续的视频序列中,建立所要跟踪物体的位置关系,得到物体完整的运动轨迹。

目标跟踪分为单目标跟踪和多目标跟踪。本文如无特别指出,均指单目标跟踪。

通常的做法是:

1.在第1帧给一个bbox框住需要跟踪的物体。

2.在不借助重检测(re-detection)的情况下,尽可能长时间的跟住物体。

3.不能使用依赖外部特征的姿态估计(pose estimation)。

当然这是针对目标跟踪算法的要求,至于实际产品中,对象的重检测以及依赖外部特征的姿态估计都是必不可少的。

比如,自动驾驶领域的车辆跟踪,一般都会针对车辆的运动特点建立模型,以辅助目标跟踪。

点跟踪:在连续帧中检测到的目标被表达为点。这种方法需要引入其它方法来进行目标检测。

核跟踪:关联与目标的形状和外观表达。核函数可以是关联与一个直方图的矩形或椭圆模板。目标通过在连续帧中计算核的运动来跟踪。运动可以是参数形式的平移、旋转或仿射等。

轮廓跟踪:由在每帧中估计目标区域进行跟踪。轮廓跟踪方法用到的信息可以是外观密度和形状模型。给定目标模型,轮廓由形状匹配或轮廓推导得到。这些方法都可以视作时域上的目标分割。

按照是否依赖先验知识可分为两类

1.不依赖于先验知识,直接从图像序列中检测到运动目标,并进行目标识别,最终跟踪感兴趣的运动目标;

2.依赖于目标的先验知识,首先为运动目标建模,然后在图像序列中实时找到相匹配的运动目标。

按照摄像机是否固定,可分为:

1.静态背景。

2.运动场。摄像机的运动形式可以分为两种:a)摄像机的支架固定,但摄像机可以偏转、俯仰以及缩放; b)将摄像机装在某个移动的载体上。

经典的目标跟踪算法主要有:meanshift、camshift、Kalman filter、particle filter、Optical flow、TLD、KCF、Struck等。

参考:

https://blog.csdn.net/app_12062011/article/details/48436959

目标跟踪算法的分类(一)

https://blog.csdn.net/app_12062011/article/details/51760256

目标跟踪算法的分类(二)

https://blog.csdn.net/app_12062011/article/details/52277537

目标跟踪算法的分类(三)

参考

https://antkillerfarm.github.io/graphics/2018/07/29/graphics_8.html

meanshif 介绍

https://www.zhihu.com/question/26493945

计算机视觉中,目前有哪些经典的目标跟踪算法?

https://mp.weixin.qq.com/s/Wz-loMz1oOlxtm10gazQRg

目标检测(Object Detection)和目标跟踪(Object Tracking)的区别

 

猜你喜欢

转载自www.cnblogs.com/xiaote/p/10999332.html