一种基于KCF算法的运动预测方法与流程

文档序号:16393601发布日期:2018-12-25 19:34阅读:1194来源:国知局
一种基于KCF算法的运动预测方法与流程

本发明总体而言涉及图像处理领域,具体而言涉及一种基于kcf算法的运动预测方法。

背景技术

kcf(kernelcorrelationfilter核相关滤波算法)是一种鉴别式追踪方法,这类方法一般在追踪过程中训练一个目标检测器,然后使用目标检测器去检测下一帧预测位置是否是目标,随后再使用新检测结果去更新训练集进而更新目标检测器。在训练目标检测器时一般选取目标区域为正样本,目标的周围区域为负样本,因此越靠近目标的区域为正样本的可能性越大。kcf跟踪器对发生光照变化、遮挡、非刚性形变、运动模糊、背景杂乱等的视频均能跟踪良好,且速度较快。

kcf跟踪算法的主要特点有:

(1)使用目标周围区域的循环矩阵采集正负样本,利用脊回归训练目标检测器,并成功的利用循环矩阵在傅里叶空间可对角化的性质将矩阵的运算转化为向量的hadamad积,即元素的点乘,大大降低了运算量,提高了运算速度,使算法满足实时性要求。

(2)将线性空间的脊回归通过核函数映射到非线性空间,在非线性空间通过求解一个对偶问题和某些常见的约束,同样的可以使用循环矩阵傅里叶空间对角化简化计算。

(3)引进了多通道特征,减小光线变化影响。

尽管目前在既能满足运动跟踪效果要求,跟踪速度又非常快的方案中,kcf跟踪算法在目标预测跟踪应用中,要比利用传感器、建立多层金字塔等方法在速度、准确性和运动模糊等方面的效果要好。然而,由于kcf跟踪算法主要通过平移产生大量样本来得到每个样本离中心的距离,然后对目标进行学习跟踪,因此该方法对于在平移运动中模糊运动的目标的跟踪效果和速度比较理想,但是对于在运动中旋转的目标的预测效果不好,不能满足使用需求。



技术实现要素:

本发明的任务是提供一种基于核相关滤波kcf算法的运动预测方法,通过该方法,既能够快速、准确地跟踪目标运动,从而快速、准确地预测目标运动趋势,又能解决目标运动模糊、旋转时跟踪不准确或失败的问题。

根据本发明,前述任务通过一种基于核相关滤波kcf算法的运动预测方法来解决,该方法包括下列步骤:

在模板图像中选取四个以上非共线的点x1、x2、x3、x4;

在模板图像中分别以所选取的点x1、x2、x3、x4为中心选取矩形块;

根据模板图像与上一帧的图像位置关系确定所选取的点x1、x2、x3、x4在上一帧中的位置x1’、x2’、x3’、x4’;

在当前帧中分别以位置x1’、x2’、x3’、x4’为中心选取相应矩形块作为kcf算法的搜索区域;

使用核相关滤波kcf算法在所述搜索区域中确定x1、x2、x3、x4在当前帧中的粗略位置x1”、x2”、x3”、x4”;

使用匹配算法根据所述粗略位置x1”、x2”、x3”、x4”在以x1”、x2”、x3”、x4”为中心的矩形区域(或称x1”、x2”、x3”、x4”的匹配算法搜索区域)中进行匹配以确定x1、x2、x3、x4在当前帧中的精细位置x1”’、x2”’、x3”’、x4”’。

在本发明的一个优选方案中规定,根据模板图像与上一帧的图像位置关系确定所选取的点x1、x2、x3、x4在上一帧中的位置x1’、x2’、x3’、x4’包括:

根据表征模板图像与上一帧的图像位置关系的单应矩阵hn-1确定所选取的点x1、x2、x3、x4在上一帧中的位置x1’、x2’、x3’、x4’作为当前帧的搜索中心点。

通过该优选方案,可以以计算成本快速地确定所选取的点在上一帧中的位置。但是在此应当指出,在本发明的教导下,其它方式也是可设想的,例如位置对照表查找、匹配等。

在本发明的另一优选方案中规定,使用匹配算法根据所述粗略位置x1”、x2”、x3”、x4”在在以x1”、x2”、x3”、x4”为中心的矩形区域中进行匹配以确定x1、x2、x3、x4在当前帧中的精细位置x1”’、x2”’、x3”’、x4”’包括:

确定表征模板图像与当前帧的粗略图像位置关系的单应矩阵hn’;以及

使用匹配算法根据单应矩阵hn’在所述矩形区域中进行匹配以确定x1、x2、x3、x4在当前帧中的精细位置x1”’、x2”’、x3”’、x4”’。

通过该优选方案,可以以计算成本快速地确定所选取的点在当前帧中的粗略位置。但是在此应当指出,在本发明的教导下,其它方式也是可设想的,例如位置对照表查找、匹配等。

在本发明的又一优选方案中规定,使用匹配算法根据所述粗略位置x1”、x2”、x3”、x4”在所述在以x1”、x2”、x3”、x4”为中心的矩形区域中进行匹配以确定x1、x2、x3、x4在当前帧中的精细位置x1”’、x2”’、x3”’、x4”’包括:

根据精细位置x1”’、x2”’、x3”’、x4”’确定表征模板图像与当前帧的精细图像位置关系的单应矩阵hn。

通过该优选方案,可以以计算成本快速地确定所选取的点在当前帧中的精细位置。但是在此应当指出,在本发明的教导下,其它方式也是可设想的,例如位置对照表查找、匹配等。

在本发明的一个扩展方案中规定,该方法还包括:

用单应矩阵hn更新通过kcf算法得到的单应矩阵hn’以供用于下一帧的运动预测。

在本发明的另一扩展方案中规定,所述匹配算法为小范围块匹配算法。在此应当指出,在本发明的教导下,其它精确匹配算法也是可设想的。

本发明还提供了一种机器可读存储介质,其具有存储在其上的计算机程序,所述计算机程序被配置为执行根据本发明的方法。

本发明至少具有下列有益效果:

(1)解决了目标运动模糊、旋转时跟踪不准确或失败的问题;

(2)能够快速准确预测目标运动趋势;

(3)能够快速准确跟踪运动目标。

附图说明

下面结合附图参考具体实施例来进一步阐述本发明。

图1示出了根据本发明的基于核相关滤波kcf算法的运动预测方法的示意图;

以及图2-4示出了根据本发明的基于核相关滤波kcf算法的运动预测方法的流程图。

具体实施方式

应当指出,各附图中的各组件可能为了图解说明而被夸大地示出,而不一定是比例正确的。

在本发明中,除非特别指出,“布置在…上”、“布置在…上方”以及“布置在…之上”并未排除二者之间存在中间物的情况。

在本发明中,各实施例仅仅旨在说明本发明的方案,而不应被理解为限制性的。

在本发明中,除非特别指出,量词“一个”、“一”并未排除多个元素的场景。

在此还应当指出,在本发明的实施例中,为清楚、简单起见,可能示出了仅仅一部分部件或组件,但是本领域的普通技术人员能够理解,在本发明的教导下,可根据具体场景需要添加所需的部件或组件。

本发明的特点是改进kcf算法的使用方法并结合其它跟踪算法来实现目标跟踪:先联合使用多个kcf算法粗略预测运动轨迹,然后采用其它跟踪算法在预测的范围内进行精确计算,实现目标的快速精确跟踪定位。

改进kcf算法的使用方法能够使得整个方法在运动预测中运算速度更快,并且在运动模糊跟踪效果好的基础上,解决了目标运动带旋转时跟踪失败或不准确的问题。两种(或更多种)算法联合应用满足了系统的跟踪实时性要求和高精度的需求。

本发明主要技术方案是:在目标图像中选取多个非共线的目标块分别作为目标区域,每个目标区域都采用kcf跟踪算法对各自目标区域进行学习跟踪,快速对每个目标区域进行运动预测,并综合各目标区域的运动预测结果,粗略预测出目标区域运动趋势和范围,输出图像对应关系、如单应矩阵,接下来通过其它跟踪算法和输出的图像对应关系、如单应矩阵,计算精确的目标运动轨迹,从而快速精确跟踪到目标。

下面结合具体实施例进一步阐述本发明。

图1示出了根据本发明的基于核相关滤波kcf算法的运动预测方法的示意图。

首先,在模板图像101中选取非共线的多个点(不少于四个点,以下以四个点为例说明)。例如,在模板图像101中选取非共线的四个点x1、x2、x3、x4,并分别以四个点x1、x2、x3、x4为中心选取小矩形块、如正方形块。

然后,根据描述模板图像101与上一帧图像103之间的位置关系的单应矩阵hn-1,得到所选取的点x1、x2、x3、x4在上一帧103中的位置,即点x1’、x2’、x3’、x4’。

接着,分别以点x1’、x2’、x3’、x4’为中心点,在当前帧106中选取适当大小(大小例如根据精确度要求和应用场景来选择)的矩形块为kcf跟踪算法的搜索区域102,并且分别通过kcf跟踪算法,计算四个点x1、x2、x3、x4在当前帧中的粗略位置(或预测位置)104,即点x1”、x2”、x3”、x4”,并得到描述模板图像101与当前帧106的粗略图像位置关系的单应矩阵hn’。

然后,使用其它精确匹配算法、例如小范围块匹配算法,根据单应矩阵hn’,确定当前帧106的图像运动的大致范围,在kcf预测的范围内进行精确计算匹配,得到四个点x1、x2、x3、x4在当前帧106中的精细位置,即点x1”’、x2”’、x3”’、x4”’。在此应当指出,其它精确匹配算法可任意选择。

在经过其它精确匹配算法精确匹配后,根据点x1”’、x2”’、x3”’、x4”’,计算出描述模板图像101与当前帧106的精细图像位置关系的单应矩阵hn,并更新kcf计算得到的单应矩阵hn’,并提供给下一帧运动预测使用。

从图1中可以得知,尽管在当前帧中,与以x1、x2、x3、x4为中心的矩形块相对应的块(即以x1”’、x2”’、x3”’、x4”’为中心的块)具有一定的旋转,但是通过本发明的方法仍然较好地被识别。此外,本发明能够并行地进行多个目标的运动预测。

图2-4示出了根据本发明的基于核相关滤波kcf算法的运动预测方法的流程图,其中图2示出了总体流程图,图3示出了kcf预测流程图,并且图4示出了更新位置和数据的流程图。

如图2所示,方法的总流程为:

首先,在步骤201,对所选取的四个非共线点执行多次(如四次)kcf算法。具体流程参见图3:首先,在步骤301,在模板上选取四个或更多个非共线点x1、x2、x3、x4,然后在步骤302,通过单应矩阵hn确定所选点在上一帧的位置x1’、x2’、x3’、x4’,接着在在步骤303,针对所述点各执行一次kcf算法以得到表示粗略位置关系的单应矩阵hn’以及粗略位置x1”、x2”、x3”、x4”。

然后,在步骤202,执行匹配算法根据所述粗略位置x1”、x2”、x3”、x4”在以x1”、x2”、x3”、x4”为中心的矩形区域中进行匹配以确定x1、x2、x3、x4在当前帧中的精细位置x1”’、x2”’、x3”’、x4”’。

最后,更新相应位置和数据。

在图4中示出了更新位置和数据的流程图。

在步骤401,执行匹配算法。

然后在步骤402,表示确定精细位置关系的单应矩阵hn。

最后,用新的单应矩阵hn替换表示粗略位置关系的单应矩阵hn’。

本发明至少具有下列有益效果:

(1)解决了目标运动模糊、旋转时跟踪不准确或失败的问题;

(2)能够快速准确预测目标运动趋势;

(3)能够快速准确跟踪运动目标。

虽然本发明的一些实施方式已经在本申请文件中予以了描述,但是对本领域技术人员显而易见的是,这些实施方式仅仅是作为示例示出的。本领域技术人员可以想到众多的变型方案、替代方案和改进方案而不超出本发明的范围。所附权利要求书旨在限定本发明的范围,并藉此涵盖这些权利要求本身及其等同变换的范围内的方法和结构。

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