发明内容
为解决现有技术存在的上述问题,本发明提供一种对ECO跟踪框的抖动性进行改进的目标跟踪方法及装置。
本发明是这样实现的:
一方面,本发明提供一种对ECO跟踪框的抖动性进行改进的目标跟踪方法,包括以下步骤:
S1、读取视频或图像序列的第一帧图像,确定跟踪目标框;
S2、将第一帧图像的目标框作为样本放入ECO算法训练相关滤波器;同时根据第一针帧图像和对应的目标位置,学习STC/KCF算法对应的时空上下文模型;
S3、读取下一帧图像,分别利用ECO算法和STC/KCF算法计算当前帧的目标框;
S4、计算步骤S3得到的两个目标框对应的IOU,如果IOU大于某个特定的阈值,则使用STC/KCF算法计算的目标框作为当前帧的跟踪结果,否则使用ECO算法计算的目标框作为当前帧的跟踪结果;
S5、利用当前帧的目标框更新ECO算法的相关滤波器以及STC/KCF算法的时空上下文模型;
重复步骤S3-S5,直到视频或图像序列跟踪完毕。
进一步地,所述步骤S2中根据第一针帧图像和对应的目标位置,学习STC/KCF算法对应的时空上下文模型具体包括:
时空上下文模型描述的是条件概率函数,模型如下:
P(x|c(z),o)=hstc(x-z)
其中,hstc(x-z)是一个关于目标x和局部上下文位置z的相对距离和方向的函数,它编码了目标和它的空间上下文的空间关系,其中c是目标位置x似然的置信图,如下:
c(x)=P(x|o)
利用第一帧图像的置信度图c(x)以及先验概率p(c(z)|o),求得时空上下文模型P(x|c(z),o)。
进一步地,所述步骤S3中利用STC/KCF算法计算当前帧的目标框具体包括:利用STC/KCF算法的时空上下文模型计算得到当前帧的置信度图,找到置信度最大的位置作为目标位置。
进一步地,所述步骤S5中利用步骤S4的跟踪结果对应的目标框更新STC/KCF算法的时空上下文模型,具体包括:
利用步骤S4的跟踪结果对应的目标框学习时空上下文模型,然后加权更新上一帧学习得到的时空上下文模型,如下:
进一步地,所述步骤S4中某个特定的阈值为0.7。
另一方面,本发明还提供一种对ECO跟踪框的抖动性进行改进的目标跟踪装置,包括:
跟踪目标确定模块,用于读取视频或图像序列的第一帧图像,确定跟踪目标框;
滤波器训练以及模型学习模块,用于将第一帧图像的目标框作为样本放入ECO算法训练相关滤波器;同时根据第一针帧图像和对应的目标位置,学习STC/KCF算法对应的时空上下文模型;
目标框计算模块,用于读取下一帧图像,分别利用ECO算法和STC/KCF算法计算当前帧的目标框;
跟踪结果确定模块,用于计算目标框计算模块得到的两个目标框对应的IOU,如果IOU大于某个特定的阈值,则使用STC/KCF算法计算的目标框作为当前帧的跟踪结果,否则使用ECO算法计算的目标框作为当前帧的跟踪结果;
算法更新模块,用于利用当前帧的目标框更新ECO算法的相关滤波器以及STC/KCF算法的时空上下文模型;
循环控制模块,用于控制目标框计算模块、跟踪结果确定模块以及算法更新模块循环执行,直到视频或图像序列跟踪完毕。
进一步地,所述滤波器训练以及模型学习模块根据第一针帧图像和对应的目标位置,学习STC/KCF算法对应的时空上下文模型具体包括:
时空上下文模型描述的是条件概率函数,模型如下:
P(x|c(z),o)=hstc(x-z)
其中,hstc(x-z)是一个关于目标x和局部上下文位置z的相对距离和方向的函数,它编码了目标和它的空间上下文的空间关系,其中c是目标位置x似然的置信图,如下:
c(x)=P(x|o)
利用第一帧图像的置信度图c(x)以及先验概率p(c(z)|o),求得时空上下文模型P(x|c(z),o)。
进一步地,所述目标框计算模块利用STC/KCF算法计算当前帧的目标框具体包括:利用STC/KCF算法的时空上下文模型计算得到当前帧的置信度图,找到置信度最大的位置作为目标位置。
进一步地,所述算法更新模块利用跟踪结果确定模块的跟踪结果对应的目标框更新STC/KCF算法的时空上下文模型,具体包括:
利用跟踪结果确定模块的跟踪结果对应的目标框学习时空上下文模型,然后加权更新上一帧学习得到的时空上下文模型,如下:
进一步地,所述某个特定的阈值为0.7。
与现有技术相比,本发明具有以下有益效果:
本发明提供的这种对ECO跟踪框的抖动性进行改进的目标跟踪方法及装置,主要对ECO目标跟踪算法的跟踪框的稳定性进行优化,考虑到STC或者KCF目标跟踪算法得到的跟踪框比较稳定,本发明将ECO目标跟踪算法和STC/KCF目标跟踪算法进行结合,在易跟踪的样本上,即对于STC/KCF和ECO跟踪结果较为接近的样本,采用STC/KCF算法计算的目标框作为跟踪结果,对于跟踪结果不太接近的样本,仍采用ECO算法的跟踪结果,既保证了跟踪的准确性,又达到增强跟踪框的整体稳定性的目的。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供一种对ECO跟踪框的抖动性进行改进的目标跟踪方法,包括以下步骤:
S1、读取视频或图像序列的第一帧图像,确定跟踪目标框;
S2、将第一帧图像的目标框作为样本放入ECO算法训练相关滤波器;同时根据第一针帧图像和对应的目标位置,学习STC/KCF算法对应的时空上下文模型;
S3、读取下一帧图像,分别利用ECO算法和STC/KCF算法计算当前帧的目标框;
S4、计算步骤S3得到的两个目标框对应的IOU,如果IOU大于某个特定的阈值,则使用STC/KCF算法计算的目标框作为当前帧的跟踪结果,否则使用ECO算法计算的目标框作为当前帧的跟踪结果;
S5、利用当前帧的目标框更新ECO算法的相关滤波器以及STC/KCF算法的时空上下文模型;
重复步骤S3-S5,直到视频或图像序列跟踪完毕。
本发明提供的这种对ECO跟踪框的抖动性进行改进的目标跟踪方法,针对ECO目标跟踪算法的跟踪框不稳定的问题,对ECO目标跟踪算法的跟踪框的稳定性进行优化,考虑到STC或者KCF目标跟踪算法得到的跟踪框比较稳定,本发明将ECO目标跟踪算法和STC/KCF目标跟踪算法进行结合,在易跟踪的样本上,即对于STC/KCF和ECO跟踪结果较为接近的样本,采用STC/KCF算法计算的目标框作为跟踪结果,对于跟踪结果不太接近的样本,仍采用ECO算法的跟踪结果,既保证了跟踪的准确性,又达到增强跟踪框的整体稳定性的目的。
需要说明的是,上述ECO算法与STC/KCF算法实际上是分开运行的,二者的跟踪流程分别如图2和图3所示。
下面对上述各步骤进行详细说明。
所述步骤S1中,读取视频或图像序列的第一帧图像后,可以人为设定或通过目标检测算法确定跟踪目标。
所述步骤S2中,将第一帧图像的目标框作为样本放入ECO算法训练相关滤波器具体包括:
先对跟踪目标所在候选区域z提取多尺度特征x,包括hog特征以及颜色cn特征,将提取的特征进行pca降维,然后通过傅里叶变换由时域转为频域,傅里叶转化公式如下:
其中X(n,m)为降维后的离散特征,N、M对应二维离散特征的行数和列数;进一步将傅里叶变换之后的特征值插到连续域,公式如下:
其中Xd是第d层特征,Nd为每层特征的行数,bd为事先计算的权重,T为连续区间的右侧,随后将各个特征图和相关滤波器进行卷积操作,公式如下:
其中,fd对应的是第d层特征通道对应相关滤波器,Jd{xd}为第d层特征通道的连续域特征图,χ为所有特征通道,Sf{x}为样本x的得分置信度;
求解相关滤波器则通过最小化损失函数来实现,公式如下:
其中yj为label,即由当前训练样本对应生成且服从高斯向分布,αj为训练样本xj对应的权重,w为正则化因子。
所述步骤S3中,利用ECO算法计算当前帧的目标框具体包括:利用训练好的相关滤波器卷积图像候选区域对应的特征,获取图像候选区域的置信度图,置信度图概率最大位置对应当前帧图像的目标位置及其置信度概率。
所述步骤S5中,利用ECO算法计算的当前帧的目标框更新ECO算法的相关滤波器,具体包括:
1)使用样本融合更新策略,更新ECO算法的样本集;
设定样本集中最大样本数量,则若
a.样本集未满,将新样本放到空余处;
b.样本集已满,且样本集中有低于阈值权重的样本,此时用新样本替换旧样本;
c.样本集已满,且新样本与所有现有样本的距离中的最小值小于现有样本距离间的最小值,此时将新样本与最近样本融合;
d.样本集已满,且新样本与所有现有样本的距离中的最小值大于现有样本距离间的最小值,此时将两个最近的现有样本融合,并将新样本放在融合后样本集空缺处。
2)利用获取的样本集训练ECO算法,更新相关滤波器。
所述步骤S2中,根据第一针帧图像和对应的目标位置,学习STC/KCF算法对应的时空上下文模型具体包括:
时空上下文模型描述的是条件概率函数,模型如下:
P(x|c(z),o)=hstc(x-z)
其中,hstc(x-z)是一个关于目标x和局部上下文位置z的相对距离和方向的函数,它编码了目标和它的空间上下文的空间关系,其中c是目标位置x似然的置信图,如下:
c(x)=P(x|o)
利用第一帧图像的置信度图c(x)以及先验概率p(c(z)|o),求得时空上下文模型P(x|c(z),o)。
所述步骤S3中,利用STC/KCF算法计算当前帧的目标框具体包括:利用STC/KCF算法的时空上下文模型计算得到当前帧的置信度图,找到置信度最大的位置作为目标位置。
所述步骤S5中利用步骤S4的跟踪结果对应的目标框更新STC/KCF算法的时空上下文模型,即当使用ECO算法计算的目标框作为当前帧的跟踪结果时,将ECO算法计算的目标框重置STC/KCF算法的跟踪结果,对STC/KCF算法的时空上下文模型进行更新,相对于使用STC/KCF算法计算的目标框对STC/KCF算法进行更新,能够使STC/KCF算法的跟踪结果更加准确;该步骤具体包括:
利用步骤S4的跟踪结果对应的目标框学习时空上下文模型,然后加权更新上一帧学习得到的时空上下文模型,如下:
作为优选地,所述步骤S4中某个特定的阈值为0.7,经过大量的实验证明,当阈值为0.7,跟踪效果是最佳的。
基于同一发明构思,本发明实施例还提供了一种对ECO跟踪框的抖动性进行改进的目标跟踪装置,由于该装置所解决问题的原理与前述实施例的方法相似,因此该装置的实施可以参见前述方法的实施,重复之处不再赘述。
如图4所示,为本发明实施例提供的一种对ECO跟踪框的抖动性进行改进的目标跟踪装置,可以用于执行上述方法实施例,该装置包括:
跟踪目标确定模块,用于读取视频或图像序列的第一帧图像,确定跟踪目标框;
滤波器训练以及模型学习模块,用于将第一帧图像的目标框作为样本放入ECO算法训练相关滤波器;同时根据第一针帧图像和对应的目标位置,学习STC/KCF算法对应的时空上下文模型;
目标框计算模块,用于读取下一帧图像,分别利用ECO算法和STC/KCF算法计算当前帧的目标框;
跟踪结果确定模块,用于计算目标框计算模块得到的两个目标框对应的IOU,如果IOU大于某个特定的阈值,则使用STC/KCF算法计算的目标框作为当前帧的跟踪结果,否则使用ECO算法计算的目标框作为当前帧的跟踪结果;
算法更新模块,用于利用当前帧的目标框更新ECO算法的相关滤波器以及STC/KCF算法的时空上下文模型;
循环控制模块,用于控制目标框计算模块、跟踪结果确定模块以及算法更新模块循环执行,直到视频或图像序列跟踪完毕。
在一个实施例中,所述滤波器训练以及模型学习模块根据第一针帧图像和对应的目标位置,学习STC/KCF算法对应的时空上下文模型具体包括:
时空上下文模型描述的是条件概率函数,模型如下:
P(x|c(z),o)=hstc(x-z)
其中,hstc(x-z)是一个关于目标x和局部上下文位置z的相对距离和方向的函数,它编码了目标和它的空间上下文的空间关系,其中c是目标位置x似然的置信图,如下:
c(x)=P(x|o)
利用第一帧图像的置信度图c(x)以及先验概率p(c(z)|o),求得时空上下文模型P(x|c(z),o)。
在一个实施例中,所述目标框计算模块利用STC/KCF算法计算当前帧的目标框具体包括:利用STC/KCF算法的时空上下文模型计算得到当前帧的置信度图,找到置信度最大的位置作为目标位置。
在一个实施例中,所述算法更新模块利用跟踪结果确定模块的跟踪结果对应的目标框更新STC/KCF算法的时空上下文模型,具体包括:
利用跟踪结果确定模块的跟踪结果对应的目标框学习时空上下文模型,然后加权更新上一帧学习得到的时空上下文模型,如下:
在一个实施例中,所述某个特定的阈值为0.7。
本领域普通技术人员可以理解实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁盘或光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。