基于改进的Camshift算法的目标跟踪研究

时间:2022-10-26 04:05:10

基于改进的Camshift算法的目标跟踪研究

【摘要】研究了几种常用的目标跟踪算法,为了提高目标跟踪的准确率和鲁棒性,提出一种改进的Camshift目标跟踪算法。。将色彩空间由RGB空间转化为HSV空间,利用反向投影法把目标概率分布映射到目标图像上,构建跟踪窗口,采用改进的Camshift算法在视频中跟踪运动目标。实验表明,改进的Camshift算法跟踪目标准确率高、鲁棒性好。

【关键词】目标跟踪;Camshift;色彩空间;反向投影;均值漂移

1.引言

目标跟踪是图像处理领域的一个研究热点,在视频监控、公安安防、医疗诊断、人工智能等方面应用广泛。目标跟踪是指提取视频序列中每帧图像中目标的位置,在跟踪过程中,目标的外观、运动参数等信息也同步更新,提高目标检测算法的稳定性、鲁棒性和准确性是当前该领域的研究热点。

由于目标检测研究的重要性和紧迫性,国内外众多学者围绕该课题进行了研究,提出了许多卓有成效的方法,主流的目标跟踪算法可分为如下三类:基于均值漂移的方法(Meanshift),基于Kalman滤波的方法和基于滤波理论的方法。Meanshift算法[1]不需要参数,模式匹配速度快,但是该算法缺少必要的模板更新,当跟踪目标运动速度过快或者存在尺寸变化时,跟踪的准确率不高。为了解决Meanshift算法在特殊情况下检测不准的问题,Bradski[2]将Meanshift扩展到整个连续的视频序列中,根据跟踪目标的大小自动调整跟踪窗口大小,提出了自适应的均值漂移方法,即Camshift算法。该算法不易受目标形状、大小及光照等环境因素的影响,只要给定被跟踪目标,就可以对目标区域进行连续跟踪。但Camshift算法仅在单一特征上检测,以此结果作为滤波器的观测值不可靠,造成跟踪准确率下降。本文提出了一种改进的Camshift算法的目标跟踪算法,实验证明,提出的算法准确率显著提高,鲁棒性好。

2.改进的Camshift算法

2.1 颜色空间转换

为了用计算机来表示和处理颜色,必须采用定量的方法来描述颜色,即建立颜色彩空间。Camshift算法是一种基于颜色信息的目标跟踪算法,在进行Camshift跟踪之前,必须先建立被跟踪目标的颜色概率模型。常用的色彩空间有RGB空间、HSV空间、YCbCr空间,考虑到HSV色彩空间常用于描述人的颜色视觉,Camshift算法使用HSV颜色模型中色度(H)来提取目标的颜色特征,达到跟踪的目的。

HSV空间是以色调为基础的颜色空间,它是从RGB空间变换而来,具有将亮度从色彩信息中分离出来的特点。H(hue)指色调即颜色的色调,用以区别颜色的名称或种类。S(saturation)是饱和度,指颜色纯洁性,可以用来区别颜色明暗的程度,V(value)是指图像的亮度值。它们的优点是指定颜色方式直观,很容易选择所需要的色调,调整饱和度和亮度就可以改变颜色。HSV色彩空间如图1所示。采用HSV颜色模型作为被跟踪目标颜色分布统计的映射空间时,受光照影响较小,除了V通道外,其他两个通道变化都不大,能较好地限制目标颜色分布区域。RGB色彩空间转换为HSV色彩空间的公式如下:

(1)

(2)

(3)

图1 HSV颜色空间

2.2 反向投影法

反向投影法[3]是一种把目标概率分布映射到观测图像上的简单方法,用于建立反向投影图,具体步骤为:

(1)计算被跟踪目标的色彩直方图。将视频图像中的每个像素从RGB空间转化到HSV空间,根据公式(3-1)求出H分量的大小,对H分量值采样并计算统计直方图,将直方图保存下来作为目标颜色的直方图模型。直方图代表了不同H分量值出现的概率或者像素个数,从直方图中可以查找出H分量大小为h的概率或者像素个数,得到颜色概率查找表。

(2)用颜色出现的概率替换视频图像的每个像素值,得到颜色概率分布图。设直方图的数据分布是60,180,240,70,30,20,…,则待转换图像(H通道图像)的每一个像素值,按照直方图的对应数据,用像素值出现的次数代替该像素值,如当遇到像素值为1的时候变60,像素值为2的时候变180,依此类推。这时颜色概率分布图中的每个像素值代表原图像中该象素在上述分布下的出现概率。

(3)归一化反向投影图,获得概率分布图,亮度越亮,表示该点出现的可能性越大。

2.3 均值漂移算法

均值漂移(Mean Shift)算法是一种在数据的密度分布中寻找局部极值的方法,基本思想[4]是:从初始位置出发,使偏移向量指向核概率密度最大的方向,沿着归一化的概率密度梯度方向进行迭代运算,逐步搜索到样本分布的核估计的局部稳定点,从而实现目标的匹配跟踪。Meanshift算法是Camshift算法的基础,其步骤如下:

(1)选定搜索窗口,在颜色概率分布图中选取需要跟踪的初始子窗口。包括设定窗口的初始位置;选择窗口的类型,如均匀、多项式、指数或者高斯类型等;规定窗口的形状(圆形或矩形,对称或者歪斜);设置窗口的大小;

(2)根据窗口中的数据密度分布计算选定子窗口的质心,在二维离散概率分布图像中,计算某窗口质心可利用窗口的零阶矩和点的一阶矩,的关系来计算。

设为窗口中某一点的坐标,为的像素值,所以和的变化范围为搜索窗的大小。计算搜索窗的零阶矩,计算公式为:

(4)

计算和的一阶矩和,计算公式为:

(5)

(6)

设搜索窗的质心的坐标为,则质心的计算公式为:

(7)

(3)根据调整搜索窗口的大小,重新设定大小为:

(8)

并移动搜索窗口的中心到质心位置。

(4)如果移动距离大于预设的固定阀值,则重复2、3步,重新计算调整后的窗口质心,进行新一轮的窗口位置和尺寸调整。直到质心收敛,即质心的位置移动的距离变化量小于预设的固定阈值,窗口的位置不再变化,到达局部极值点,或者循环运算的次数达到某一最大值,停止计算。

2.4 改进的Camshift算法

Camshift算法是一种动态变化分布的密度函数梯度估计的非参数方法,采用目标的颜色直方图作为特征,利用反向投影图像作为匹配模板,确定当前视频帧中目标的大小和位置,进行下一帧视频的目标跟踪时,以当前的位置初始化窗口,完成对目标的连续跟踪。本文改进的Camshift算法的跟踪步骤为:

(1)利用目标检测模块或者手工标定的方法选取跟踪的初始化窗口。

(2)采样跟踪窗口上的颜色直方图,计算跟踪帧的颜色分布概率。

(3)以跟踪窗口的形心()为中心,构建比跟踪窗口稍大的计算区。

(4)通过直方图反向投影计算计算区的颜色概率分布图。

(5)为了找到概率图像的质心,跌代运行Mean Shift算法。保存跟踪目标的分布区域以及该区域的质心位置。

(6)对后面的图像帧,用步骤(2)中得到跟踪目标的分布区域以及质心对新的搜索窗口进行尺度调整。返回(2)。

改进的Camshift算法流程如图2所示。

3.实验仿真

为了验证改进的Camshift算法的有效性,实验采集的图像大小360×240,10fps,序列总长共200帧。软件平台为matlab7.0,实验结果如图3所示。

仿真实验表明,本文改进的CamShift目标跟踪算法对目标进行运动估算[5],不管对慢速还是快速的运动物体都有很强的适应能力,可实现自动跟踪目标。算法跟踪目标的稳定好,鲁棒性高,结果准确,可以适应复杂背景环境的要求。

图2 改进的Camshift算法流程图

图3 改进的Camshift目标跟踪

4.结束语

为了提高目标跟踪的准确性和鲁棒性,根据均值漂移算法,本文提出了一种改进的Camshift算法。将色彩空间由RGB空间转化为HSV空间,利用反向投影法把目标概率分布映射到目标图像上,构建跟踪窗口,采用改进的Camshift算法在视频中跟踪运动目标。仿真实验表明,本文提出的改进的Camshift算法跟踪目标准确率高、鲁棒性好。

参考文献

[1]Cheng Y Z.MeanShift:Mode seeking and clustering[J].IEEE,Transactions on Pattern Analysis and Machine Intelligence,1995,17(8):790-799.

[2]BRADSKI G puter vision face tracking for use in perceptual user interface[J].Intel Technology Journal,1998,2(2):1-15.

[3]杨帆.数字图像处理与分析[M].北京航空航天大学出版社,2010.

[4]王建华,冯帆,梁伟.基于Mean-shift的运动目标跟踪[J].科学技术与工程,2012,12(3):564-567.

[5]吴慧敏,郑晓势.改进的高效Camshift跟踪算法[J].计算机工程与应用,2009(27).

作者简介:

王寻(1989—),男,山东淄博人,硕士研究生,研究方向:武警信息化建设。

赵怀勋(1961—),男,陕西宝鸡人,硕士,武警工程大学教授,硕士生导师。

上一篇:浅析电路分析与应用教学方法改革 下一篇:基于单片机的智能温度预警系统的设计