一种改进CSK目标跟踪算法
2018-02-25刘勇
刘勇
摘要 CSK( circulant structurekernel)运动目标跟踪算法具有跟踪稳定、计算量小、抗光照干扰等优点;根据上一帧图像的基本特征和相关的信息,训练出分类器,来对实时目标进行锁定跟踪。这是如此,CSK算法对抗遮挡的鲁棒性很差,假如跟踪目标在某一时刻被遮挡了,则将跟丢目标。为了解决CSK算法的遮挡问题,本文引入VIBE运动目标检测算法,利用VIBE算法的计算量小,需要的样本少,可在短时间内检测出目标,然后重新对目标进行锁定,从而达到连续跟踪的目的,实验验证,本算法能达到实时性,满足系统需要。
【关键词】VIBE CSK 跟踪 目标检测
运动目标检测跟踪是当前视觉研究的热门方向,广泛各类武器装备中,如:导引头,光电吊舱等设备中。同时在民用领域也占有很大份额,在交通监控、视觉监控中也广泛应用,同时在现阶段热门的AR和VR设备当中也经常能够看到目标跟踪的身影,應用十分广泛。
现阶段的目标跟踪算法,大致可以分为以下四大类:
(1)基于模板匹配的目标跟踪算法,这是在80年代的时候比较先进的算法,典型的代表有MAD、NCC和STC等算法;
(2)根据运动目标的轨迹来进行预测,通过根据预测来进行目标跟踪的,常见的方法有粒子滤波跟踪算法;
(3)通过实时的目标检测,从而达到实时的跟踪效果,以检测来代替跟踪的跟踪策略
(4) 21世纪后,大量的跟踪算法涌现,其中最引人注目的算法类就是基于核函数的滤波跟踪算法。这种跟踪算法不仅计算简便,而且仅仅只需要一张图像就可以进行训练,因此操作起来十分的简洁方便。
传统的跟踪算法,如NCC在进行小目标跟踪时,由于其本身的非旋转性,很多时候出现大量的匹配误差;而粒子滤波在现阶段由于计算量加大,暂时还不能够实现嵌入式平台,因此要想有一个处理速度快,跟踪又稳定的处理算法还是有点困难的,本文就是基于跟踪算法来完成的。运用快速核函数滤波跟踪CSK,CSK算法对运动目标进行锁定跟踪;基于滤波类的跟踪算法具有一个明显的弱点,就是抗遮挡能力非常弱,一旦目标被遮挡了,则在后面的视频当中目标也不在会出现,就算出现也已经报丢失,显示跟踪失败。
CSK算法在目标跟踪算法具有很强的鲁棒性,但是也存在上述的一点缺陷。本文就是为了处理CSK跟踪算法扛遮挡能力差的问题,在一般正常情况下采取CSK算法进行目标跟踪,而如果目标消失不见了或者发生突变现象,则在算法前端加上了运动目标检测算法一VIBE,从而将突变位置的目标位置传送出去,给CSK算法来进行跟踪,从而达到稳定实时的跟踪系统。
1 CSK跟踪算法介绍
图像算法一般分为两种:稠密型的和稀疏型。在大多数情况,为了能够达到实时性,常规做法就是取用较少图像像素点来进行图像处理一稀疏性,这种方式可以减小算法的负责度,使得算法能够达到实时性,但是牺牲了算法性能,造成跟踪或者检测不准确的情况发生。CSK算法通过单张图片,通过循环举证的操作,达到的稠密操作,具体做法是在行和列方向上分别做循环操作,从而达到多样本的目的,最后进行训练。而在检测阶段,算法可以采取求卷积的方式来代替传统的滑窗操作,进一步提高算法的速度。
在分类器的训练阶段,CSK算法从前一帧图像中,以目标为中心采集一个W*H的图像块i,然后对i在行和列方向上分别做循环移位,得到训练样本集Ip={i(w,h)),参数w∈(0,1,2,3…W一1)、h∈(0,1,2,3…H一1),分别表示在w和H方向上做w和h次的循环移位,从而得到多个样本,达到单个样本变成多个样本的目的。样本I(w,h)的训练标记为高斯函数r(W,h),整个训练采用百分制,目标中心位置的值为100%,无穷远处记为O,与其距离成正比关系。最终的训练目的是在样本集Ip上形成一个分类器,在后期的检测中对待检测区域进行检测。
CSK采用岭回归方法(Ridge Regression,即Regularized Least Squares,RLS)学习分类器,最终得到的参数是要使得如下损失函数最小的分类器参数ω,即
CSK算法采用高斯径向基函数作为核函数k(),并利用FFT计算,采用线性插值对表观i和分类器α进行更新,每帧跟踪的计算复杂度成指数形式降低。
2 融合VIBE运动目标检测算法
2.1 Vibe背景建模目标检测算法
Vibe算法是一种用来检测运动目标的检测算法,具有计算量下、背景建模简单、检测目标准确等优点。它的原理是:运用第一张图像通过给每一个像素点建立样本空间,在实时的与实时图像进行比对,看样本空间的像素点点是否位于实时图像的邻域当中,根据处于样本空间中的样本个数来确定实时的区域是否是背景,从而能够将整幅图像进行分隔,将背景和目标进行分割;最后根据像素点在连续图像中的背景次数来进行背景模板跟新,从而达到循环的运动目标检测。具体的算法实现步骤如下:
2.1.1 背景模板初始化
运动目标检测过程中,首先要对目标的背景进行建模:第一步是要对第一张图像进行样本空间的设定,将第一幅图像拓展成为领域上的八个空间。假设SR(Vx)表示的是以实时像素点所构成的圆形值域空间,且用Vx表示的样本空间中的每一个元素与实时元素的欧式距离,如下公式(5):
M(x)={V1,V2…,VN}
(5)
2.1.2 目标实时检测
在得到了特定的运动目标背景以后,我们需要根据背景信息进行运动目标检测。我们将初始化值域空间中的每一个值与实时的像素值进行求欧式距离,若反应的欧式距离小于特定值,在N加一,当N大于特定阈值时,也就是说SR Vx)圆形值域空间中点的个数大于某一个既定的阈值时,在认为该实时像素为背景,如图1所示,在实时像素点的领域中的点个数大于2时,则认为该像素点为背景,反之则可以认为是运动目标。