一种融合检测过程的鲁棒目标追踪方法与流程

文档序号:11922268阅读:206来源:国知局
一种融合检测过程的鲁棒目标追踪方法与流程

本发明涉及电子信息技术领域,尤其涉及一种融合检测过程的鲁棒目标追踪方法。



背景技术:

近年来,自动化设备技术.计算机视觉技术.图像处理技术等一大批高新技术快速发展,无人机在工业,军用等方面有了快速的发展和广泛的应用。在很多场合应用非常频繁,道路交通监控,抗洪救灾,电影拍摄等。目标检测识别追踪算法更是受到成为一大热门研究点。

目标追踪的主要目的是通过获取拍摄得到的图片进行分析处理,获取目标对象信息,对其跟踪分析。实现思路是:根据获取标定的图像序列,计算运动目标在每帧图片的二维坐标位置,然后将一序列的图像联合关联起来,获取运动目标完整运动轨迹。常见的目标追踪算法有:Meanshift,Camshift,TLD等算法。

Meanshift跟踪算法,Meanshift是基于均值漂移的目标跟踪算法,通过计算目标区域和候选区域内像素的特征值的概率得到关于目标模型和候选模型的描述,然后利用相似函数度量初始化和当前帧的候选模块的相似性,选择使相似函数最大的候选模型并得到关于目标模型的Meanshift向量,不断迭代计算Meanshift向量,收敛到目标的真实位置,实现跟踪的目标。

TLD是一种长期,在线,最少先验信息的目标跟踪方法,主要三个部分组成:跟踪器,检测器,学习模块。跟踪模块是由自适应跟踪器构成,在帧间运动不是过大,目标大体部位可见的情况下,用来估计预测选定目标在连续视频帧的运动轨迹,检测模块是由三种分类器合成的。分别是图像元分差分类器,集成分类器,最近邻分类器。检测模块可以对目标进行实时跟踪检测,同时还可以纠正跟踪器。学习模块是评估跟踪模块和检测模块的性能,通过生成有效的训练样本完成检测器的更新,同时消除检测器的误差。

TLD是一套高效的目标跟踪算法,只需要较少的先验信息就可以实现对目标长时间的在线实现跟踪,运算速度很快,同时实时性很高,并且能有效的适用于目标被遮挡的场合,对无人机的目标追踪具有很大的重要的意义。

原本的追踪算法中,CamShift和meanShift方法都存在当目标尺度有所变化时,跟踪就会失败的缺点;而TLD算法的要求存储量比较大,计算速度相对慢,对硬件要求比较高。



技术实现要素:

为克服现有技术的不足,本发明提出一种融合检测过程的鲁棒目标追踪方法。本发明的技术方案是这样实现的:

一种融合检测过程的鲁棒目标追踪方法,包括步骤

S1:从视频流中获取第一帧视频图像,鼠标标定目标对象,预处理图像;

S2:初始化检测模块和Kalman预测模块,同时对图像进行前景检测;

S3:载入下一帧视频图像,进行图像前景预测和图像预处理;

S4:检测模块检测图像中的目标,跟踪模块跟踪目标;

S5:跟踪模块和检测模块进行融合,并判断目标在图像中的情形,生成系统跟踪预框;

S6:判断对象跟踪是否失败,如失败,则进行Kalman预测;如成功,则进行下一步;

S7:判断图像中的目标的遮挡状态,如遮挡严重,则进行Kalman预测并显示目标运动轨迹;如遮挡不严重,则在线学习目标模型,实时更新目标模型,纠正跟踪模块中的追踪器和检测模块中的检测器的错误;

S8:重复步骤S3-S7,直到视频流结束。

进一步地,步骤S3包括步骤

S31:计算背景图像与存在目标图像的绝对差;

S32:将差分图像阈值化,转为二值图像Ibinary,设定阈值为16;

S33:求取二值图像中白色像素的连通区域,标识出连通区域;

S34:将连通区域阈值设定为10*10,判断连通区域面积像素大小,确认前景候选区域是否包含目标。

进一步地,步骤S7中Kalman滤波包括以下步骤

S71:建立系统模型,设定参数;

S72:根据第K-1时刻状态,预测第K时刻系统状态X(K|K-1);

S73:跟踪第K-1时刻的系统预测估计第K时刻的系统预测误差P(K|K-1);

S74:计算卡尔曼增益Kg;

S75:计算系统最优估算值(X(K|K));

S76:计算系统当前时刻的系统预测误差P(K|K)。

本发明的有益效果在于,与现有技术相比,本发明在追踪模块中,借助金字塔光流法实现快速目标追踪;同时融合了检测模块,通过设置前景检测模块降低计算量,借助了Kalman滤波提高目标检测的抗遮挡能力,利用机器学习机制,增强检测模块的追踪鲁棒性。此方法特别适用于无人机等快速移动平台下的复杂目标追踪。

附图说明

图1是本发明一种融合检测过程的鲁棒目标追踪方法流程图。

图2是本发明融合检测过程的鲁棒目标追踪方法的系统结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的核心思想是:在融合检测模块的跟踪系统下,跟踪系统对指定目标帧进行预处理,预处理后的图像用前景检测处理,然后初始化跟踪模块和检测模块,Kalman滤波器,接着启动系统检测模块检测视频帧中的目标对象,追踪模块运用金字塔光流法实现目标追踪。根据追踪模块和检测模块的综合结果,在线更新学习模块,学习模块采用了P-N学习算法。视频帧出现严重遮挡情况,运用kalman滤波预测目标运动轨迹,实现稳健持续跟踪目标。

请参见图1和图2,本发明一种融合检测过程的鲁棒目标追踪方法的一个实施例包括步骤:

通过无人机云台摄像头获取了目标的追踪视频和包含目标的区域。

在PC机上鼠标选定包含目标对象的视频帧,对视频帧进行预处理,初始化系统的跟踪模块,检测模块。生成带样本的方法是:正样本是在目标框中合成的,首先在距离初始的目标框最近的扫描窗口中选择10个bounding box,并且在每个bounding box内部利用几何变换生成20个反射的bounding box。简单来说,就是在每个bounding box内部,进行±1%范围的偏移,±11%范围的尺度变换,±10~的平面内旋转操作,并且可以在每个像素上增加方差为5的高斯噪声,然后对每个bounding box都进行20次这种几何变化,10个bounding box就生成了200个仿射变换的bounding box的周围选择的,负样本无需进行几何变换生成仿射版本。

对视频帧做前景检测,初步判断视频帧是否包含目标。前景检测主要实现如下步骤:

(1)计算背景图像与存在目标图像的绝对差IabsDiff=|Ibg-I|其中Ibg为背景图像,I为存在检测目标对象的图像,求得查分图像IabsDiff

(2)将差分图像阈值化,转为二值图像Ibinary,设定阈值为16.

(3)求二值图像中白色像素的连通区域,运用一种标记算法,标记算法只遍历一次,将图像中连通区域标识出。

(4)第三步求得一个或者多个连通区域,设定阈值为10*10,若连通区域的面积小于100个像素,则将该连通区域排除,剩余的区域则认为是包含目标的前景候选区域,将这些区域的窗口送入检测模块,执行后续的级联检测。

系统检测模块检测目标,跟踪模块跟踪选定目标,具体实施如下:

检测器模块采用扫描窗口对每个视频帧进行处理,每次扫描一个图像片,并给出其中是否还有待检测的目标,扫描窗口的参数设置如下:窗口的尺度缩放系数为1.2,水平方向的步长是宽度的10%,垂直方向的步长是高度的10%;最小的扫描窗口为20像素。

跟踪模块是运用了金字塔的跟踪方法,同时增加了跟踪失败检测算法的新的跟踪方法。根据上一帧的目标框中选择若干像素点作为特征点,在下一帧中寻找上一帧的特征点在当前帧中对应位置的特征点,然后,将这若干个特征点在相邻两帧之间的位置变化进行排序,运用了金字塔光流法正好是在相邻的两个视频帧中寻找上一个帧的若干特征点在当前帧中的位置。

金字塔光流法的实现过程是:将原图像作为金字塔基层,将原图像减采样至原尺寸的1/2N(一般N=1),获得I=1层图像,该层相邻帧间的目标像素运动距离为D/2N(D为原图中相邻帧间的目标像素运动距离)。N到某个定值时(一般为N=4)。即满足条件。算法流程图如图2所示,在最高层,图像细节最小,是f层的光流计算结果,作为下一层图像的运动估计,并根据运算规则计算此帧的光流,直到运算到图像的最底层。具体包括步骤:

对于图像I中的特征点U,计算图像J中与该点对应的特征点V;

建立图像I,J的金字塔:和

初始化金字塔光流估计量:

For L=Lm:-1:0

定位图像IL上点u的位置:

IL对x求偏导数:

IL对y求偏导数:

梯度矩阵:

迭代L-K算法初始化:

Fo r k=1:1:K或

图像不匹配向量:

L-K光流:估计下一次迭代:

End

在第L层上的最终光流:dL=v-K

计算下一层L-1层的光流:

End

最后的光流矢量:d=g0+d0

在图像J上的对应特征点:v=u+d。

由上一步骤判断目标跟踪是否丢失,是否出现严重遮挡情况,进行Kalman滤波预测目标运动轨迹。采用卡尔曼滤波预测可以实现对目标运动参数的估计。基于卡尔曼滤波预测的运动目标快速跟踪算法可以通过预测目标物体在下一帧中的位置,将全局搜索问题转化为局部搜索,提高算法的实时性。

Kalman滤波的实现具体如下;

设计2个卡尔曼滤波器分别描述目标在X轴和Y轴方向上位置和速度的变化。下面仅讨论X轴方向上卡尔曼滤波的实现过程,Y轴方向上同理。

目标物体运动方程为:

式中xk,vk,ak分别为目标在t=k时刻的X轴方向的位置、速度和加速度;T为k帧图像和k+1帧图像之间的时间间隔,akT可以当作白噪声处理。

系统方程式如下:

系统状态方程为:

卡尔曼滤波器系统状态矢量为:

Xk=[xk+vk]T 式(2-2)

状态转移矩阵为:

系统动态噪声矢量为:

系统观测方程为:

卡尔曼滤波器系统观测矢量为:

Zk=xk 式(2-6)

观测系数矩阵为:

Hk=[1 0] 式(2-7)

由观测方程可知,观测噪声为0,所以Rk=0。

建立系统状态方程,观测方程,通过卡尔曼滤波方程式进行递推,不断预测目标在下一帧中的位置。在t=k时刻,对第k帧图像利用目标识别算法识别出的目标位置记为xk,当目标首次出现时,由目标的观测位置来初始化Kalman滤波器

系统初始状态向量协方差矩阵可以在对角线上取较大值,取值根据实际测量情况来获得,但在滤波启动一段时间后影响就不大了。取:

系统动态噪声协方差为Q0,可取为:

通过公式(2-1),计算追踪目标对象在下一帧视频帧中的预测位置。然后在该位置附近,对下一帧视频帧进行局部搜索,识别出的目标质心位置作为目标对象的位置,通过公式(2-2)至公式(2-5)实现对状态向量和状态向量协方差矩阵的更新,为目标位置的下一步预测做好准备,得出新的预测位置,采用图像处理算法,在该位置进行局部搜索,得出新的目标质心位置,一直迭代计算下去,从而实现对目标物体的跟踪。

目标追踪,检测过程中如果没有出现严重遮挡情景,进入在线学习更新目标模型。学习模块主要运用了P-N学习。P-N一种半监督的机器学习算法,P专家实现检出漏检的正样本,寻找数据在时间上的结构性,利用追踪模块的结果预测物体在t+1帧的位置,P专家保证了目标在连续帧出现的位置可以构成连续的轨迹,N专家改正误检的正样本,寻找数据在空间上的结构性,把检测模块产生的和P专家产生的所有正样本进行比较,纠正检测模块,追踪模块错误,实时更新目标模型。

对持续的视频帧不断反复执行上面步骤,进行目标检测,追踪,同时更新检测模块和追踪模块模型,直到视频帧结束。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1