龙空技术网

常见目标追踪算法解析

安防李誉 341

前言:

目前姐妹们对“检测跟踪算法”大概比较珍视,同学们都想要了解一些“检测跟踪算法”的相关资讯。那么小编也在网上收集了一些对于“检测跟踪算法””的相关内容,希望看官们能喜欢,我们一起来学习一下吧!

视频跟踪是计算机视觉中的一项重要任务, 是指对视频序列中的目标状态进行持续推断的过程,其任务在于通过在视频的每一帧中定位目标, 以生成目标的运动轨迹, 并在每一时刻提供完整的目标区域。视频跟踪技术在军事和民用方面都有着十分广泛的应用, 军事方面包括无人飞行器、精确制导、空中预警、战场监视等;民用方面包括移动机器人、智能视频监控、智能交通系统、人机交互、虚拟现实等。

定义

跟踪可定义为估计物体围绕一个场景运动时在图像平面中的轨迹,即一个跟踪系统给同一个视频中不同帧的跟踪目标分配相一致的标签。目标跟踪是一个颇具挑战性的问题。在计算机视觉领域目标跟踪是一项重要工作。随着相机的普及,对自动视频分析与日俱增的需求引起人们对目标跟踪算法的浓厚兴趣。

应用领域

目前,目标跟踪技术主要应用于以下领域:

1.智能视频监控:基于运动识别(基于步法的人类识别、自动物体检测等),自动化监测(监视一个场景以检测可疑行为);交通监视(实时收集交通数据用来指挥交通流动);

2.人机交互:传统人机交互是通过计算机键盘和鼠标进行的,为了使计算机具有识别和理解人的姿态、动作、手势等能力,跟踪技术是关键;

3.机器人视觉导航:在智能机器人中,跟踪技术可用于计算拍摄物体的运动轨迹;

4.虚拟现实:虚拟环境中3D交互和虚拟角色动作模拟直接得益于视频人体运动分析的研究成果,可给参与者更加丰富的交互形式,人体跟踪分析是其关键技术;

5.医学诊断:跟踪技术在超声波和核磁序列图像的自动分析中有广泛应用,由于超声波图像中的噪声经常会淹没单帧图像有用信息,使静态分析十分困难,而通过跟踪技术利用序列图像中目标在几何上的连续性和时间上的相关性,可以得到更准确的结果。

经典的目标跟踪算法

目标跟踪的目的是定位目标在每帧视频图像中的位置,产生目标运动轨迹。目前,基于视觉的目标跟踪算法依据目标类型大致可以分为两类:点目标跟踪、以及对于目标占有一定区域有纹理、轮廓等特征的目标跟踪,其中后者可分为基于特征点检测的方法、基于背景相减的帧差法、基于分割思想的方法、基于监督学习的方法、及基于目标形状轮廓等特征的方法。

下面介绍一些比较经典的目标跟踪算法。

Mean-Shift算法

Mean-Shift算法又称均值漂移算法,是一个基于梯度分析的无参数快速模式匹配算法,可用于多种应用的通用的数据分析方法。Mean-Shift算法的步骤如下:(1)选择搜索窗口,确定窗口的初始位置、类型、形状、大小;(2)计算窗口(可能带有权重)的重心;(3)将窗口的中心设置在计算出的重心处;(4)循环第二步,直至窗口位置不再变化。

CamShift算法

CamShift(Continuously Adaptive Mean-Shift)算法是Mean-Shift算法的改进算法,成为连续自适应的均值漂移。

CamShift算法的步骤如下:

(1)首先在影像串列中选择1个区域。

(2) 计算此区域的颜色2D机率分布。

(3)用Mean-Shift演算法来收敛欲跟踪的区域。

(4)集中收敛的区域,并标示之。

(5)每个帧图像重复第(3)、(4)步骤。

Mean-Shift算法和CamShift算法的优缺点如下表所示。CamShift同经典的Mean-Shift算法的基本思想是相同的,所不同的它是建立在颜色概率分布图和矩的基础之上。CamShift对室内环境下的目标跟踪具有较高的鲁棒性。

粒子滤波(Particle Filter)算法

粒子滤波(Particle Filter,简称PF)利用粒子集来表示概率,可以用在任何形式的状态空间模型上,其核心思想是通过从后验概率中抽取的随机状态粒子来表达其分布,是一种顺序重要性采样法。粒子滤波算法包括以下步骤:(1)初始化所有粒子;(2)更新粒子当前位置;(3)评估每个粒子的重要性;(4)根据粒子重要性重新采样。粒子滤波跟踪算法可用于视频监控领域,可以跟踪速度较快的跟踪目标。虽然粒子滤波算法可以作为解决SLAM(simultaneous localization and mapping,即时定位与地图构建)问题的有效手段,但该算法需要用大量的样本数量才能很好地近似系统的后验概率密度,当面临的环境越复杂,描述后验概率分布所需要的样本数量就越多,算法的复杂度就越高。

TLD算法

TLD(tracking learning detection)算法是一个用于针对视频中未知物体长期跟踪的架构,由跟踪模块、检测模块、学习模块三部分组成,图1给出了TLD的框架图)。

图1 TLD的框架图

1跟踪模块

根据物体在前一帧已知的位置估计在当前帧的位置,这样就会产生一条物体运动的轨迹,从这条轨迹可以为学习模块产生正样本(Tracking->Learning);

2检测模块

对每一帧图像都做全面的扫描,找到与目标物体相似的所有外观的位置,从检测产生的结果中产生正样本和负样本,交给学习模块(Detection->Learning);从所有正样本中选出一个最可信的位置作为这一帧TLD的输出结果,然后用这个结果更新追踪器的起始位置(Detection->Tracking);

3学习模块

根据追踪器和检测器产生的正负样本,迭代训练分类器,改善检测器的精度(Learning->Detection)。

TLD算法特点将传统的跟踪算法和传统的检测算法相结合来解决被跟踪目标在被跟踪过程中发生的形变、部分遮挡等问题;通过一种改进的在线学习机制不断更新跟踪模块的“显著特征点”和检测模块的目标类型及相关参数,从而使得跟踪效果更加稳定、鲁棒、可靠。

跟踪算法演示视频:

视频加载中...

目标跟踪算法是ADAS系统的关键技术之一,我们在行车安全、车牌识别等功能模块中也采用了目标跟踪算法。与现有的目标跟踪算法相比,我们的目标跟踪算法跟踪效果更加稳定、鲁棒、可靠。 与其他公司的嵌入式算法不同,我们将目标跟踪算法在芯片上实现了智能硬化。含有目标跟踪硬化算子的芯片可以实现直接在相机端进行实时处理,提高了运算速率,节约了运算时间和成本。

标签: #检测跟踪算法