发明内容
鉴于现有技术中存在的技术缺陷和技术弊端,本发明实施例提供克服上述问题或者至少部分地解决上述问题的一种基于ECO算法和卡尔曼滤波的跟踪方法及装置,将物体的运动信息也考虑进跟踪过程,根据外观信息得到初步结果,辅以融合历史运动信息的卡尔曼滤波预测结果,综合得到最优位置估计。本方法结合了空间上物体外观信息和时间上物体位移信息,同时满足在实际应用中的时空连续性,具体方案如下:
作为本发明的第一方面,提供一种基于ECO算法和卡尔曼滤波的跟踪方法,所述方法包括:
步骤1,读取视频或图像序列的第一帧图像,从所述第一帧图像中确定跟踪目标;
步骤2,将第一帧图像中跟踪目标的位置信息作为样本放入ECO算法训练相关滤波器;
步骤3,读取下一帧图像,利用训练好的相关滤波器卷积当前帧图像候选区域对应的特征,获取图像候选区域的置信度图,置信度图概率最大位置对应当前帧图像的目标位置及其置信度概率,即得到当前帧图像的目标跟踪结果;
重复执行步骤3,直至当前视频或图像序列处理完。
进一步地,步骤3之后还包括:
步骤4,用第一帧图像中跟踪目标的位置信息初始化卡尔曼滤波器;
步骤5,将跟踪结果转化为相对第一帧的位置信息[x1t,y1t];
步骤6,将[x1
t,y1
t]送入初始化后的卡尔曼滤波器得到最优估计位置
计算最优估计位置处的置信度,若该置信度大于预设阈值,返回最优估计位置处切片作为新样本;
步骤7,基于获取的新样本,使用样本融合更新策略,更新ECO算法的样本集,将获取的新样本集放入ECO算法训练相关滤波器,更新相关滤波器;
更新相关滤波器,步骤3中,利用更新后的相关滤波器卷积图像候选区域对应的特征,获取图像候选区域的置信度图,置信度图概率最大位置对应当前帧图像的目标位置及其置信度概率。
进一步地,步骤4具体为:
步骤4.1,设目标状态向量更新方程为:
方程一:xk=Fkxk-1;
其中,
是目标的当前状态矩阵,
是状态转移矩阵,其中,Position=(x,y)为目标位置,velocity为当前速度,P为Position的缩写,v为velocity的缩写;
步骤4.2,设状态协方差矩阵的更新方程为:
方程二:Cov(x)=∑Cov(Ax)=A∑AT;
其中,x为状态矩阵,Pk-1为前一帧的协方差矩阵,等同于求和符号,A为公式推导中的辅助变量;
由于在跟踪时,跟踪目标的主观运动动量是不可知的,即控制矩阵,控制向量和加速度未知,因而跟踪部分的整体更新方程为:
xk=Fkxk-1;
跟踪过程存在不确定的外部影响,会对系统产生不确定的干扰,且无法对这些干扰进行准确的跟踪和量化的,因此,除了外界的确定项,还需要考虑不确定干扰项Wk和Qk,其中,Wk代表对应于xk的干扰矩阵,Qk代表对应于Pk的干扰矩阵,最终的状态方程如下:
xk=Fkxk-1+Wk;
进一步地,步骤6具体为:
步骤6.1,令跟踪结果的运动学方程如下:
Zk=Hkxk+Vk;
其中,Zk是跟踪结果的运动状态,包含当前帧目标相对第一帧目标的位置信息,Hk为转换矩阵,即将跟踪结果转换到和原结果同一坐标系的矩阵,由于这里输入跟踪结果C1t=[x1t,y1t]已经是相对第一帧的同一坐标系,Vk为噪声信息。
步骤6.2,接下来用预测结果和跟踪结果进行高斯分布相乘求极值得到新位置,并同时更新协方差矩阵,即找到相乘后新的高斯分布的均值和方差,此步骤根据高斯分布的相乘方程得到更新方程如下:
其中,
为预测高斯分布和跟踪高斯分布相乘后的卡尔曼增益,求得新位置的置信度,若大于预设阈值,返回位置处切片为新样本,其中,P
k是协方差矩阵,R
k是测量部分,即根据跟踪生成的状态矩阵,Z
k是预测得到的状态矩阵,
是上一帧的最优估计状态矩阵。
进一步地,将目标运动状态转换为对第一帧的相对运动状态[x1t,y1t]具体为:
已知第t帧的跟踪结果Ct=[xt,yt]与上一帧跟踪结果Ct-1=[xt-1,yt-1]做差分,并加上上一帧对第一帧的绝对位置C1t-1=[x1t-1,y1t-1]得到当前帧对第一帧的相对位置C1t=[x1t,y1t]。
作为本发明的第二方面,提供一种基于ECO算法和卡尔曼滤波的跟踪装置,其特征在于,所述装置包括目标确定模块、ECO训练模块以及目标位置计算模块;
所述目标确定模块用于读取视频或图像序列的第一帧图像,从所述第一帧图像中确定跟踪目标;
所述ECO训练模块用于将第一帧图像中跟踪目标的位置信息作为样本放入ECO算法训练相关滤波器;
所述目标位置计算模块用于读取下一帧图像,利用训练好的相关滤波器卷积当前帧图像候选区域对应的特征,获取图像候选区域的置信度图,置信度图概率最大位置对应当前帧图像的目标位置及其置信度概率,即得到当前帧图像的目标跟踪结果,以此将当前视频或图像序列处理完。
进一步地,所述装置还包括样本集更新模块,所述样本集更新模块具体用于:
用第一帧图像中跟踪目标的位置信息初始化卡尔曼滤波器;
将跟踪结果转化为相对第一帧的位置信息[x1t,y1t];
将[x1
t,y1
t]送入初始化后的卡尔曼滤波器得到最优估计位置
计算最优估计位置处的置信度,若该置信度大于预设阈值,返回最优估计位置处切片作为新样本;
基于获取的新样本,使用样本融合更新策略,更新ECO算法的样本集,将获取的新样本集放入ECO算法训练相关滤波器,更新相关滤波器;
更新相关滤波器后,所述目标位置计算模块利用更新后的相关滤波器卷积图像候选区域对应的特征,获取图像候选区域的置信度图,置信度图概率最大位置对应当前帧图像的目标位置及其置信度概率。
进一步地,用第一帧图像中跟踪目标的位置信息初始化卡尔曼滤波器具体为:
设目标状态向量更新方程为:
方程一:xk=Fkxk-1;
其中,
是目标的当前状态矩阵,
是状态转移矩阵,其中,Position=(x,y)为目标位置,velocity为当前速度,P为Position的缩写,v为velocity的缩写;
设状态协方差矩阵的更新方程为:
方程二:Cov(x)=∑Cov(Ax)=A∑AT;
其中,x为状态矩阵,Pk-1为前一帧的协方差矩阵,等同于求和符号,A为公式推导中的辅助变量;
由于在跟踪时,跟踪目标的主观运动动量是不可知的,即控制矩阵,控制向量和加速度未知,因而跟踪部分的整体更新方程为:
xk=Fkxk-1;
跟踪过程存在不确定的外部影响,会对系统产生不确定的干扰,且无法对这些干扰进行准确的跟踪和量化的,因此,除了外界的确定项,还需要考虑不确定干扰项Wk和Qk,其中,Wk代表对应于xk的干扰矩阵,Qk代表对应于Pk的干扰矩阵,最终的状态方程如下:
xk=Fkxk-1+Wk;
进一步地,将[x1
t,y1
t]送入初始化后的卡尔曼滤波器得到最优估计位置
计算最优估计位置处的置信度,若该置信度大于预设阈值,返回最优估计位置处切片作为新样本具体为:
令跟踪结果的运动学方程如下:
Zk=Hkxk+Vk;
其中,Zk是跟踪结果的运动状态,包含当前帧目标相对第一帧目标的位置信息,Hk为转换矩阵,即将跟踪结果转换到和原结果同一坐标系的矩阵,由于这里输入跟踪结果C1t=[x1t,y1t]已经是相对第一帧的同一坐标系,Vk为噪声信息。
接下来用预测结果和跟踪结果进行高斯分布相乘求极值得到新位置,并同时更新协方差矩阵,即找到相乘后新的高斯分布的均值和方差,此步骤根据高斯分布的相乘方程得到更新方程如下:
其中,
为预测高斯分布和跟踪高斯分布相乘后的卡尔曼增益,求得新位置的置信度,若大于预设阈值,返回位置处切片为新样本,其中,P
k是协方差矩阵,R
k是测量部分,即根据跟踪生成的状态矩阵,Z
k是预测得到的状态矩阵,
是上一帧的最优估计状态矩阵。
进一步地,将目标运动状态转换为对第一帧的相对运动状态[xt,yt]具体为:
已知第t帧的跟踪结果Ct=[xt,yt]与上一帧跟踪结果Ct-1=[xt-1,yt-1]做差分,并加上上一帧对第一帧的绝对位置C1t-1=[x1t-1,y1t-1]得到当前帧对第一帧的相对位置C1t=[x1t,y1t]。
本发明具有以下有益效果:
(1)本发明采用了较加入噪声估计的卡尔曼滤波运动学方程,这对应对拍摄视角变化有一定作用;另外根据历史信息的预测和跟踪结果的结合,在一定程度上避免了相似目标混淆下跟踪的丢失,此方法可以较准确地计算待检测图像中目标与历史目标之间的关联性,能达到跟踪技术的高精度目标;
(2)速率快:本发明不涉及重采样,没有引入深度网络,在cpu上即可达到实时且准确的跟踪效果。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供一种基于ECO算法和目标检测的视觉目标跟踪方法,包括以下步骤:
S1、读取视频或图像序列的第一帧图像,人为设定或通过目标检测算法确定跟踪目标
S2、用第一帧图像的位置信息[x1,y1]初始化卡尔曼滤波器,具体包括:
(1)设目标状态向量更新方程为:
xk=Fkxk-1;
其中,
是目标的当前状态矩阵,
是状态转移矩阵,其中,Position=(x,y)为目标位置,velocity为当前速度,P为Position的缩写,v为velocity的缩写。
(2)设状态协方差矩阵的更新方程为:
Cov(x)=∑Cov(Ax)=A∑AT;
其中,x为状态矩阵,Pk-1为前一帧的协方差矩阵,等同于求和符号,A为公式推导中的辅助变量,即此式只代表公式推导,后续运用时,将A换成对应的状态转移矩阵F,协方差矩阵(求和符号)替换为对应的协方差矩阵P。
(3)由于在跟踪时,跟踪目标的主观运动动量是不可知的,即控制矩阵,控制向量和加速度未知,因而观测部分的整体更新方程为:
xk=Fkxk-1;
(4)跟踪过程存在不确定的外部影响,会对系统产生不确定的干扰。如相机的平移,旋转,相机高度变化等,其无法对这些干扰进行准确的跟踪和量化的,所以,除了外界的确定项,还需要考虑不确定干扰项Wk和Qk,其中,Wk代表对应于xk的干扰矩阵,Qk代表对应于Pk的干扰矩阵;
最终的状态方程如下:
xk=Fkxk-1+Wk;
(5)在初始化卡尔曼滤波器时,就是初始化
W
1,Q
1的设置为经验噪声矩阵,即
S3、将当前帧跟踪目标作为样本放入ECO算法训练相关滤波。
S4、读取下一帧图像,利用训练好的相关滤波器卷积图像候选区域对应的特征,获取图像候选区域的置信度图,置信度图概率最大位置对应当前帧图像的目标位置及其置信度概率。
S5、将跟踪结果转化为相对第一帧的位置信息C1t=[x1t,y1t],具体包括:
已知第t帧的跟踪结果Ct=[xt,yt]与上一帧跟踪结果Ct-1=[xt-1,yt-1]做差分,并加上上一帧对第一帧的绝对位置C1t-1=[x1t-1,y1t-1]得到当前帧对第一帧的相对位置C1t=[x1t,y1t]。
S6、将[x1
t,y1
t]送入卡尔曼滤波器得到最优估计位置
求得此处置信度,若大于阈值,返回此处切片为新样本,具体包括
(1)步骤S2得到了根据历史信息预测当前帧位置的更新方程,S6将主要着力于加入跟踪结果(跟踪得到的位置和速度)后,用跟踪结果和预测结果一同优化得到最终的结果,这里跟踪结果的运动学方程如下:
Zk=Hkxk+Vk;
其中,Zk是跟踪结果的运动状态,这里只包含相对第一帧的位置信息,Hk为转换矩阵,即将跟踪结果转换到和原结果同一坐标系的矩阵,由于这里输入跟踪结果C1t=[x1t,y1t]已经是相对第一帧的同一坐标系,Vk为噪声信息。
(2)接下来用预测结果和跟踪结果进行高斯分布相乘求极值得到新位置,并同时更新协方差矩阵,即找到相乘后新的高斯分布的均值和方差,此步骤根据高斯分布的相乘方程得到更新方程如下:
其中,
为预测高斯分布和观测高斯分布相乘后的卡尔曼增益,求得新位置的置信度,若大于阈值,返回此处切片为新样本,其中,P
k是协方差矩阵,R
k是测量部分,即根据跟踪生成的状态矩阵,Z
k是预测得到的状态矩阵,
是上一帧的最优估计状态矩阵;
S7、使用样本融合更新策略,更新ECO算法的样本集
S8、利用获取的样本集训练ECO算法,更新相关滤波器,利用相关滤波器卷积图像候选区域对应的特征,获取图像候选区域的置信度图,置信度图概率最大位置对应当前帧图像的目标位置及其置信度概率。
综上所述,本发明实施例提供的这种基于ECO算法和目标检测YOLO3的视觉目标跟踪方法及装置,算法主体采用ECO目标跟踪算法,同时加入目标检测算法,观察到在遮挡或形变时,ECO算法框中的目标易出现偏离,导致之后不再遮挡或形变时目标跟踪会受影响,于是对于目标出现遮挡或形变时,结合目标检测得到形状轮廓更为完整的目标样本,进行ECO算法的样本集更新,提升训练效果。
作为本发明的第二实施例,提供一种基于ECO算法和卡尔曼滤波的跟踪装置,所述装置包括目标确定模块、ECO训练模块以及目标位置计算模块;
所述目标确定模块用于读取视频或图像序列的第一帧图像,从所述第一帧图像中确定跟踪目标;
所述ECO训练模块用于将第一帧图像中跟踪目标的位置信息作为样本放入ECO算法训练相关滤波器;
所述目标位置计算模块用于读取下一帧图像,利用训练好的相关滤波器卷积当前帧图像候选区域对应的特征,获取图像候选区域的置信度图,置信度图概率最大位置对应当前帧图像的目标位置及其置信度概率,以此将当前视频或图像序列处理完。
本领域普通技术人员可以理解实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read On ly Memory)、随机存取存储器(RAM,Random AccessMemory)、磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。