发明内容
本发明为克服上述现有技术所述的至少一种缺陷,本发明提供了解决上述问题的一种基于自适应表达的目标追踪方法、装置及终端,本发明探索并利用候选样本之间的结构关系,用于对视频中指定的目标进行追踪,实现了对处于运动状态的视频目标的准确追踪。
本发明通过下述技术方案实现:
第一方面,本发明提供了一种基于自适应表达的目标追踪方法,包括该方法包括以下步骤:
S10:获取视频当前图像帧;
S11:检查模板是否存在,如果模板不存在,则执行S12进行初始化追踪目标模板;如果模板已存在,则执行S13在当前图像帧中生成候选样本;
S12:初始化追踪目标模板:通过设置或者人工指定确定追踪目标在视频第一帧图像中的位置,在追踪目标附近选取正面模板和负面模板,构造由正面模板和负面模板组成的模板集合,其中,每个模板均被预先转化成向量的形式;本发明中的正面模板是对追踪目标包含的信息进行建模,而本发明中的负面模板是对背景信息进行建模;通过使用正面模板和负面模板,当追踪目标出现了与背景混淆的情况,基于自适应表达的目标追踪方法也能够识别出目标,实现对目标的追踪;
S13:生成候选样本:根据在上一帧图像中追踪到的目标位置,在当前图像帧中选取候选样本,构造由候选样本组成的候选样本集合,其中,每个候选样本均被预先转化成向量的形式;
S14:计算自适应表达:以S13得到的候选样本集合组成的矩阵作为字典,以模板作为稀疏表达的目标,使用迹套索作为正则项,计算得到一个由自适应表达组成的矩阵,即自适应表达矩阵;
S15:通过表达进行跟踪:构造权重矩阵,把权重矩阵与S14得到的自适应表达矩阵进行点乘得到重加权的表达矩阵,重加权的表达矩阵中每个元素代表对应候选样本的可分特征,通过可分特征计算各个候选样本的识别分数,识别分数最高的候选样本就是追踪到的目标;
S16:检查追踪任务是否完成,如果当前图像帧是视频的最后一帧,则目标追踪任务完成;如果当前图像帧不是视频的最后一帧,则执行S17更新追踪目标模板,继续目标追踪任务;
S17:更新追踪目标模板:使用在当前图像帧中追踪到的结果对目标模板进行更新,并返回执行S10。
工作原理是:基于视频的移动目标追踪,现有技术中稀疏追踪方法存在一定的问题,只探索利用了模板之间的关系信息,而忽略了候选样本之间的关系;这是因为对候选样本进行密集采样的策略,一些候选样本可能十分相似,候选样本之间具有低秩的性质。本发明采用上述方案把候选样本与模板结合起来,使用候选样本矩阵作为字典并把模板作为回归目标,这能有效减少算法的计算负担;引入了自适应表达,自适应表达能够探索候选样本矩阵的低秩结构,有效地利用了候选样本之间的结构关系;并使用负面模板作为表达目标,有效的利用了背景信息。与现有技术相比,本发明能够探索并利用候选样本间关系,具有准确率高,鲁棒性强的特点。
本发明提供的方法尤其适用于汽车智能辅助驾驶***中能够产生有效的跟踪效果,通过车载摄像头对前方的道路信息以图像的方式进行实时获取,实现了对前方车辆目标的实时准确跟踪。
进一步的,所述步骤S12具体包括:
S120:在视频第一帧图像帧中,通过设置或人工指定的坐标,确定追踪目标的初始位置;在视频追踪任务中,一般会根据任务的具体性质人工标注好追踪目标的初始位置,或者直接设置追踪目标的初始位置。
S121:在第一帧图像中的追踪目标位置附近,选取指定数量的正面模板构造正面模板集合Tpos=[t1,t2,…,tp],且正面模板满足以下条件,||Qp-Q0||<σ,其中Qp代表正面模板的中心,Q0代表初始目标的中心,σ是指定的内阈值;由于正面模板是一个图像块,为了便于计算,把第i个正面模板转化成向量的形式ti。为了让正面模板能够对追踪目标包含的信息进行建模,需要在追踪目标附近选取正面模板,这样就能使正面模板与追踪目标相似,保留了追踪目标的信息,也能使正面模板与追踪目标略有不同,增加了方法的鲁棒性。
在第一帧图像中的追踪目标位置附近,选取指定数量的负面模板构成负面模板集合T
neg=[t
p+1,t
p+2,…,t
p+n],且负面模板满足以下条件,
其中Q
n代表负面模板的中心,
是指定的外阈值;由于负面模板是一个图像块,为了便于计算,把第j个负面模板转化成向量的形式t
j。为了让负面模板能够对背景信息建模,需要在一个以追踪目标为中心的环形区域内选取负面模板,这样负面模板就与追踪目标产生的较大的差异,并就自然地引入背景信息。
构造由正面模板和负面模板组成的模板集合T=[Tpos,Tneg]=[t1,t2,…,tp+n],这个矩阵包括所有的模板。初始模板集合T包含了追踪目标信息和背景信息。
进一步的,所述步骤S13具体包括:
S130:根据在上一帧图像中追踪到的目标位置,得到上一帧目标对应的状态变量zt-1;状态变量zt-1包含六个映射参数:x坐标,y坐标,旋转角度,尺寸,长宽比,倾斜方向,且这六个映射参数可以在视频图像中定位目标位置。
S131:根据运动模型对候选样本的状态变量z
t进行采样,即以概率分布
对状态变量进行采样,其中Σ是一个对角协方差矩阵;直接在当前帧图像中采样候选样本较为困难,所以选取一种间接的方式,即对候选样本的状态变量z
t进行采样,实现在图像中采样候选样本。追踪目标的运动变化简化为追踪目标对应状态变量的变化,不失一般性,使用高斯分布对状态变量的变化进行建模。高斯分布的期望是上一帧目标对应的状态变量z
t-1,对角协方差矩阵则由追踪数据的具体性质决定,不同的追踪数据,对角协方差矩阵不同。
S132:根据采样得出的状态变量zt,在当前图像帧中选取候选样本,并构造候选样本集合C。使用这些采样得到的状态变量确定候选样本的位置,并把候选样本转化成向量的形式,然后组成候选样本矩阵C。
进一步的,所述步骤S14中采用以下公式(1)计算模板集T对应的自适应表达矩阵X:
其中,xi是对应于模板ti的自适应表达,自适应表达矩阵X是自适应表达的集合,即X=[x1,x2,…,xp+n],Diag(x*)操作符把自适应表达xi转换成对角矩阵Diag(xi),C是视频候选样本集合,λ是正则项系数,p是正面模板的个数,n是负面模板的个数;
所述步骤S14中使用迭代重加权算法求解上述公式(1)。
进一步的,所述步骤S15具体包括:
S150:构造权重矩阵W,权重矩阵通过公式(2)构造:
Wi,j=exp(-||Ci-Tj||2) (2)
其中,Ci是第i个候选样本而且Tj是第j个模板,Wi,j是权重矩阵W第i行第j列的值,同时也代表第i个候选样本和第j个模板之间的相似度;
S151:将权重矩阵W与自适应表达矩阵X进行点乘得到重加权表达矩阵M,即M=W⊙X,把重加权的表达矩阵记为表达图M,并把表达图M分为两部分{Mpos,Mneg};
S152:计算各个候选样本的可分性分数sci,可分性分数通过公式(3)计算,
sci=∑Mi,pos-∑Mi,neg (3)
其中,Mi,pos是矩阵Mpos的第i行,代表第i个候选样本在正面模板集上的可分特征,Mi,neg是矩阵Mneg的第i行,代表了第i个候选样本在负面模板集上的可分特征,sci是第i个候选样本的可分性分数;
S153:识别分数越高,候选样本越相似于追踪目标,因此,选取可分性分数最高的候选样本作为当前图像帧追踪到的目标。
进一步的,所述步骤S17具体包括:
S170:计算相似向量η=(η1,η2,…,ηp),其中ηi是当前追踪结果与第i个正面模板基于欧几里得距离的相似度;
S171:计算最大相似度Ω=max(η),比较最大相似度Ω与更新阈值θ,如果最大相似度Ω大于更新阈值θ,使用当前追踪结果去更新最大相似度对应的正面模板;
S172:在当前追踪结果附近选取指定数量的负面模板作为新的负面模板集合T
neg,且负面模板满足以下条件,
其中σ和
分别是指定的内阈值和外阈值,Q
n和Q
k分别代表负面模板的中心和当前追踪结果的中心。
进一步的,该方法适用于汽车智能辅助驾驶***中,通过车载摄像头对前方的道路信息以图像的方式进行实时获取,实现了对前方车辆目标的实时跟踪。
第二方面,本发明提供了一种基于自适应表示的目标追踪装置,包括:
获取模块,用于获取视频当前图像帧;
第一判断模块,用于判断模板是否存在;
初始化设置模块,用于设置视频图像中追踪目标的初始位置,相应的参数包括但不限于状态变量方差、正面模板更新阈值,启动暂停追踪任务;
追踪目标模板构建模块,用于在指定的追踪目标初始位置附近构建追踪目标的初始正面模板和负面模板;
追踪目标样本生成模块,用于在追踪任务的当前图像帧进行随机抽样,生成追踪目标的样本;
自适应表达计算模块,用于计算模板在候选样本上的自适应表达;
目标追踪模块,用于通过计算得到自适应表达,对当前帧的目标进行追踪;
第二判断模块,用于判断追踪任务是否完成;
追踪目标模板更新模块,用于在追踪过程中根据当前的追踪结果更新追踪目标的正面模板和负面模板。
进一步的,所述追踪目标模板构建模块具体用于:
在第一帧图像中的追踪目标位置附近,选取指定数量的正面模板构造正面模板集合Tpos=[t1,t2,…,tp],且正面模板满足以下条件,||Qp-Q0||<σ,其中Qp代表正面模板的中心,Q0代表初始目标的中心,σ是指定的内阈值;
在第一帧图像中的追踪目标位置附近,选取指定数量的负面模板构成负面模板集合T
neg=[t
p+1,t
p+2,…,t
p+n],且负面模板满足以下条件,
其中Q
n代表负面模板的中心,
是指定的外阈值;
构造由正面模板和负面模板组成的模板集合T=[Tpos,Tneg]=[t1,t2,…,tp+n],这个矩阵包括所有的模板。
进一步的,所述追踪目标样本生成模块具体用于:
根据在上一帧图像中追踪到的目标位置,得到上一帧目标对应的状态变量zt-1;
根据运动模型对候选样本的状态变量z
t进行采样,即以概率分布
对状态变量进行采样,其中Σ是一个对角协方差矩阵;
根据采样得出的状态变量zt,在当前图像帧中选取候选样本,并构造候选样本集合C。
进一步的,所述自适应表达计算模块具体用于:
采用以下公式(1)计算模板集T对应的自适应表达矩阵X:
其中,xi是对应于模板ti的自适应表达,自适应表达矩阵X是自适应表达的集合,即X=[x1,x2,…,xp+n],Diag(x*)操作符把自适应表达xi转换成对角矩阵Diag(xi),C是视频候选样本集合,λ是正则项系数,p是正面模板的个数,n是负面模板的个数;
使用迭代重加权算法求解上述公式(1)。
进一步的,所述目标追踪模块具体用于:
构造权重矩阵W,权重矩阵通过公式(2)构造:
Wi,j=exp(-||Ci-Tj||2) (2)
其中,Ci是第i个候选样本而且Tj是第j个模板,Wi,j是权重矩阵W第i行第j列的值,同时也代表第i个候选样本和第j个模板之间的相似度;
将权重矩阵W与自适应表达矩阵X进行点乘得到重加权表达矩阵M,即M=W⊙X,把重加权的表达矩阵记为表达图M,并把表达图M分为两部分{Mpos,Mneg};
计算各个候选样本的可分性分数sci,可分性分数通过公式(3)计算,
sci=∑Mi,pos-∑Mi,neg (3)
其中,Mi,pos是矩阵Mpos的第i行,代表第i个候选样本在正面模板集上的可分特征,Mi,neg是矩阵Mneg的第i行,代表了第i个候选样本在负面模板集上的可分特征,sci是第i个候选样本的可分性分数;
识别分数越高,候选样本越相似于追踪目标,因此,选取可分性分数最高的候选样本作为当前图像帧追踪到的目标。
进一步的,所述追踪目标模板更新模块具体用于:
计算相似向量η=(η1,η2,…,ηp),其中ηi是当前追踪结果与第i个正面模板基于欧几里得距离的相似度;
计算最大相似度Ω=max(η),比较最大相似度Ω与更新阈值θ,如果最大相似度Ω大于更新阈值θ,使用当前追踪结果去更新最大相似度对应的正面模板;
在当前追踪结果附近选取指定数量的负面模板作为新的负面模板集合T
neg,且负面模板满足以下条件,
其中σ和
分别是指定的内阈值和外阈值,Q
n和Q
k分别代表负面模板的中心和当前追踪结果的中心。
第三方面,本发明提供了一种基于自适应表示的目标追踪终端,该终端包括:处理器以及存储器,其中,所述存储器中存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行上述一种基于自适应表达的目标追踪方法的步骤。
第四方面,本发明还提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述一种基于自适应表达的目标追踪方法的步骤。
本发明与现有技术相比,具有如下的优点和有益效果:
1、本发明把候选样本与模板结合起来,使用候选样本矩阵作为字典并把模板作为回归目标,这能有效减少算法的计算负担;引入了自适应表达,自适应表达能够探索候选样本矩阵的低秩结构,有效地利用了候选样本之间的结构关系;并使用负面模板作为表达目标,有效的利用了背景信息。与现有技术相比,本发明能够探索并利用候选样本间关系,具有准确率高,鲁棒性强的特点。
2、本发明方法尤其适用于汽车智能辅助驾驶***中能够产生有效的跟踪效果,通过车载摄像头对前方的道路信息以图像的方式进行实时获取,实现了对前方车辆目标的实时准确跟踪。
具体实施方式
为了使本发明的目的、技术方案和优点更为清晰,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例1
如图1至图3所示,图1为一种基于自适应表达的目标追踪方法流程图,本发明一种基于自适应表达的目标追踪方法,应用于汽车智能辅助驾驶***中进行追踪,通过车载摄像头对前方的道路信息以图像的方式进行实时获取,实现了对前方车辆目标的实时准确跟踪;包括该方法包括以下步骤:
S10:获取视频当前图像帧;
本发明可以通过视频流或者摄像头获取当前图像帧。
S11:检查模板是否存在,如果模板不存在,则执行S12进行初始化追踪目标模板;如果模板已存在,则执行S13在当前图像帧中生成候选样本;
S12:初始化追踪目标模板:通过设置或者人工指定确定追踪车辆目标在视频第一帧图像中的位置,在追踪车辆目标附近选取正面模板和负面模板,构造由正面模板和负面模板组成的模板集合,其中,每个模板均被预先转化成向量的形式;
本发明中的正面模板是对追踪车辆目标包含的信息进行建模,而本发明中的负面模板是对背景信息进行建模。通过使用正面模板和负面模板,当追踪车辆目标出现了与背景混淆的情况,基于自适应表达的目标追踪方法也能够识别出目标,实现对车辆目标的追踪。
具体地,所述步骤S12具体包括:
S120:在视频第一帧图像帧中,通过设置或人工指定的坐标,确定追踪目标的初始位置;在视频追踪任务中,一般会根据任务的具体性质人工标注好追踪目标的初始位置,或者直接设置追踪目标的初始位置。
S121:在第一帧图像中的追踪目标位置附近,选取指定数量的正面模板构造正面模板集合Tpos=[t1,t2,…,tp],且正面模板满足以下条件,||Qp-Q0||<σ,其中Qp代表正面模板的中心,Q0代表初始目标的中心,σ是指定的内阈值;由于正面模板是一个图像块,为了便于计算,把第i个正面模板转化成向量的形式ti。为了让正面模板能够对追踪目标包含的信息进行建模,需要在追踪目标附近选取正面模板,这样就能使正面模板与追踪目标相似,保留了追踪目标的信息,也能使正面模板与追踪目标略有不同,增加了方法的鲁棒性。
在第一帧图像中的追踪目标位置附近,选取指定数量的负面模板构成负面模板集合T
neg=[t
p+1,t
p+2,…,t
p+n],且负面模板满足以下条件,
其中Q
n代表负面模板的中心,
是指定的外阈值;由于负面模板是一个图像块,为了便于计算,把第j个负面模板转化成向量的形式t
j。为了让负面模板能够对背景信息建模,需要在一个以追踪目标为中心的环形区域内选取负面模板,这样负面模板就与追踪目标产生的较大的差异,并就自然地引入背景信息。
构造由正面模板和负面模板组成的模板集合T=[Tpos,Tneg]=[t1,t2,…,tp+n],这个矩阵包括所有的模板。初始模板集合T包含了追踪目标信息和背景信息。
S13:生成候选样本:根据在上一帧图像中追踪到的目标位置,在当前图像帧中选取候选样本,构造由候选样本组成的候选样本集合,其中,每个候选样本均被预先转化成向量的形式;由于视频中的追踪目标的运动通常具有连续性,所以追踪目标在当前帧的位置与追踪目标在上一帧的位置有很大关系。为了简化模型,本发明使用高斯分布对运动模型进行建模。
具体地,所述步骤S13具体包括:
S130:根据在上一帧图像中追踪到的目标位置,得到上一帧目标对应的状态变量zt-1;状态变量zt-1包含六个映射参数:x坐标,y坐标,旋转角度,尺寸,长宽比,倾斜方向,且这六个映射参数可以在视频图像中定位目标位置。
S131:根据运动模型对候选样本的状态变量z
t进行采样,即以概率分布
对状态变量进行采样,其中Σ是一个对角协方差矩阵;直接在当前帧图像中采样候选样本较为困难,所以选取一种间接的方式,即对候选样本的状态变量z
t进行采样,实现在图像中采样候选样本。追踪目标的运动变化简化为追踪目标对应状态变量的变化,不失一般性,使用高斯分布对状态变量的变化进行建模。高斯分布的期望是上一帧目标对应的状态变量z
t-1,对角协方差矩阵则由追踪数据的具体性质决定,不同的追踪数据,对角协方差矩阵不同。
S132:根据采样得出的状态变量zt,在当前图像帧中选取候选样本,并构造候选样本集合C。使用这些采样得到的状态变量确定候选样本的位置,并把候选样本转化成向量的形式,然后组成候选样本矩阵C。
S14:计算自适应表达:以S13得到的候选样本集合组成的矩阵作为字典,以模板作为稀疏表达的目标,使用迹套索作为正则项,计算得到一个由自适应表达组成的矩阵,即自适应表达矩阵;其中,自适应表达矩阵元素的值表示了模板和对应候选样本之间的关系。例如,Xi,j就展示了第j个模板和第i个候选样本之间的关系。一般来说,矩阵元素值越大,样本和对应的候选样本之间的关系就越强。
具体地,所述步骤S14中采用以下公式(1)计算模板集T对应的自适应表达矩阵X:
其中,xi是对应于模板ti的自适应表达,自适应表达矩阵X是自适应表达的集合,即X=[x1,x2,…,xp+n],Diag(x*)操作符把自适应表达xi转换成对角矩阵Diag(xi),C是视频候选样本集合,λ是正则项系数,p是正面模板的个数,n是负面模板的个数;
当候选样本每个都各不相同时,这意味着候选样本矩阵C是列满秩的,正则被分解为
当候选样本之间高度相关,这意味着样本矩阵C的秩数为1,而且C
TC=11
T(1是元素大小均为一的向量),正则变为
研究表明,候选样本矩阵C不是满秩的.它通常有个大于1的秩数。综上所述,正则项是l
1范数与l
2范数之间的一个平衡,即||x
i||
2<||CDiag(x
i)||
*<||x
i||
1,而且可以根据矩阵样本C的内部结构进行动态调整,从而得到一个自适应于候选样本结构关系的稀疏表达x
i。
所述步骤S14中使用迭代重加权算法求解上述公式(1)。为了对求解方案进行更清晰的说明,本实施例中说明公式(1)的求解思路:
其中,X代表一般意义上的矩阵,||X||
*代表矩阵X的核范数,X
T代表矩阵X的转置,(XX
T)
-1/4代表矩阵XX
T的四次方根,
代表矩阵(XX
T)
-1/4X的弗罗贝尼乌斯范数的平方;
首先使用公式(4),并把表达矩阵X的第j列设为X.j,将公式(1)转化为公式(5):
其中,X是表达矩阵,T是模板集,C是视频候选样本集合,λ是正则项系数,p是正面模板的个数,n是负面模板的个数,X.j代表表达矩阵X的第j列,对应于第j个模板的自适应表达,Diag(X.*)操作符把自适应表达X.j转换成对角矩阵Diag(X.j);
初始化权重矩阵Wj:
其中,C是视频候选样本集合,X.j代表表达矩阵X的第j列,对应于第j个模板的自适应表达,Diag(X.*)操作符把自适应表达X.j转换成对角矩阵Diag(X.j);
然后可得到公式(5)的简单形式:
其中,X是表达矩阵,T是模板集,C是视频候选样本集合,λ是正则项系数,p是正面模板的个数,n是负面模板的个数,X
.j是表达矩阵X的第j列,对应于第j个模板的自适应表达,
是对应于自适应表达X
.j的权重矩阵,Diag(X
.*)操作符把自适应表达X
.j转换成对角矩阵Diag(X
.j);
显然式子(7)可以写成和式:
m=height(X)
其中,X是表达矩阵,T是模板集,T
.j是模板集矩阵T的第j列,C是视频候选样本集合,λ是正则项系数,p是正面模板的个数,n是负面模板的个数,m是矩阵X的行数,X
.j是表达矩阵X的第j列,对应于第j个模板的自适应表达,X
i,j代表矩阵X第i行第j列的值,
是对应于自适应表达X
.j的权重矩阵,
代表权重矩阵
的第i列,操作符把自适应表达X
.j转换成对角矩阵Diag(X
.j);
对公式(9)求导,导数为零即可求得公式(9)的解析解,公式(9)的导数为:
其中,T是模板集,T
.j是模板集矩阵T的第j列,C是视频候选样本集合,λ是正则项系数,
是表达矩阵
的第j列,对应于第j个模板的自适应表达,
是对应于自适应表达
的权重矩阵,
代表权重矩阵
的第i列,
可由对应的
计算得出;
最后使用迭代重加权的方法求解公式(1)。求解过程会重复下面的迭代过程直到结果收敛为止:
其中,T是模板集,T
.j是模板集矩阵T的第j列,C是视频候选样本集合,
是表达矩阵
的第j列,对应于第j个模板的自适应表达,
可由对应的
计算得出;
其中,C是视频候选样本集合,
是表达矩阵
的第j列,对应于第j个模板的自适应表达,Diag(X
.*)操作符把自适应表达
转换成对角矩阵
S15:通过表达进行跟踪:构造权重矩阵,把权重矩阵与S14得到的自适应表达矩阵进行点乘得到重加权的表达矩阵,重加权的表达矩阵中每个元素代表对应候选样本的可分特征,通过可分特征计算各个候选样本的识别分数,识别分数最高的候选样本就是追踪到的目标;其中,权重矩阵W代表了模板与候选样本之间的相似关系,引入权重矩阵W,能够使追踪结果更鲁棒和更准确。
具体地,所述步骤S15具体包括:
S150:构造权重矩阵W,权重矩阵通过公式(2)构造:
Wi,j=exp(-||Ci-Tj||2) (2)
其中,Ci是第i个候选样本而且Tj是第j个模板;Wi,j是权重矩阵W第i行第j列的值,同时也代表第i个候选样本和第j个模板之间的相似度;权重矩阵的元素反映了候选样本与模板之间的相似关系,引入权重矩阵减少了追踪误差。
S151:将权重矩阵W与自适应表达矩阵X进行点乘得到重加权表达矩阵M,即M=W⊙X,把重加权的表达矩阵记为表达图M,并把表达图M分为两部分{Mpos,Mneg};正如把模板集按模板本身的标签分为正面模板集和负面模板集那样,把表达图M也依照每列对应的模板标签分为正面表达图Mpos和负面表达图Mneg。
S152:计算各个候选样本的可分性分数sci,可分性分数通过公式(3)计算,
sci=∑Mi,pos-∑Mi,neg (3)
其中,Mi,pos是矩阵Mpos的第i行,代表第i个候选样本在正面模板集上的可分特征,Mi,neg是矩阵Mneg的第i行,代表了第i个候选样本在负面模板集上的可分特征,sci是第i个候选样本的可分性分数;较大的正面特征值意味着候选样本跟正面模板更加相似,而相反的是,较大的负面特征值意味着候选样本跟负面模板更相似。
S153:识别分数越高,候选样本越相似于追踪目标,因此,选取可分性分数最高的候选样本作为当前图像帧追踪到的目标。一个候选样本如果有较大的正面特征值和较小的负面特征值,则这个候选样本与正面模板更相似而与负面模板更不相似,更有可能是追踪目标,所以选取识别分数最高的候选目标作为追踪到的目标。
S16:检查追踪任务是否完成,如果当前图像帧是视频的最后一帧,则目标追踪任务完成;如果当前图像帧不是视频的最后一帧,则执行S17更新追踪目标模板,继续目标追踪任务;
S17:更新追踪目标模板:使用在当前图像帧中追踪到的结果对目标模板进行更新,并返回执行S10;因为需要在摄像头或者在视频中读取新的图像帧,每一次方法流程都要执行一次读取当前图像帧的操作,所以在更新目标模板后,需要执行的步骤就是读取新的图像帧,S17后返回执行S10;在实际场景中,追踪目标的尺度,姿势等会经常发生变化,如果追踪任务尚未停止,需要对目标模板进行更新。更新后的目标模板能够包含追踪目标最新的信息,使接下来的追踪任务更加准确。
具体地,所述步骤S17具体包括:
S170:计算相似向量η=(η1,η2,…,ηp),其中ηi是当前追踪结果与第i个正面模板基于欧几里得距离的相似度;如果追踪到的目标出现了遮挡的情况,说明追踪到的目标与正面模板相差较大,则不能用当前追踪到的目标去更新模板。为了决定是否要更新正面模板,要先计算当前追踪结果与正面模板的相似度。
S171:计算最大相似度Ω=max(η),比较最大相似度Ω与更新阈值θ,如果最大相似度Ω大于更新阈值θ,使用当前追踪结果去更新最大相似度对应的正面模板;如果追踪到的目标受到遮挡,则最大相似度小于更新阈值,避免了用受遮挡的目标更新模板,使得准确率降低这种情况;如果追踪到的目标未受到遮挡,则最大相似度大于更新阈值,使用追踪到的结果去更新正面模板,能使正面模板包含最新的目标信息,提高接下来的追踪任务的准确率。
S172:在当前追踪结果附近选取指定数量的负面模板作为新的负面模板集合T
neg,且负面模板满足以下条件,
其中σ和
分别是指定的内阈值和外阈值,Q
n和Q
k分别代表负面模板的中心和当前追踪结果的中心。因为在实际场景中,视频中的背景往往变化很快,所以要用当前帧的背景更新模板,这样能使负面模板包含最新的背景信息,提高接下来的追踪任务的准确率。
本实施例中在行驶车辆追踪目标出现动态模糊,光照变化,旋转,背景混淆等情况下,都能准确的追踪到行驶车辆目标。为了验证本发明提供的方法,实验仿真选取了8个具有挑战性的图像序列评估方法性能,并对比了12个先进的追踪器方法,包括:1)IVT;2)APGL1;3)PN;4)TD;5)MIL;6)FragTrack;7)MTT;8)OSPT;9)ASLAS;10)LSAT;11)SCM;12)DSSM。以下实验均是基于Matlab 2019a,计算机内存为8GB,CPU为
Core
TMi5的平台上进行。
本发明实施例的实验采用的评价标准有两种:中心点误差和重叠率。
图像帧中的中心点误差指的是追踪边界框B
T的中心点与对应的标注真实边界框B
G中心点之间的欧几里得距离。而且平均中心点误差指的是追踪器在整个图像序列上的中心点误差的平均值。重叠率是根据PASCALVOC挑战提供的公式进行计算,即
而且平均重叠率指的是追踪器在整个图像序列上的重叠率的平均值。一个好的追踪器不但要有较小的中心点误差,还要有较大的重叠率。
在仿真实验中,参数设置如下:正则参数λ设置为5,模板和候选样本的大小都被调整为20*20,候选样本的个数根据测试视频图像序列的具体形式被设置为500至600,正面模板更新阈值设置为0.4,正面模板和负面模板的个数都设为10。正则参数λ,正面模板个数和负面模板个数均是通过交叉验证方法得到。
表1所示为基于平均中心点误差的各种不同方法性能的比较,其中Average表示所有的平均中心点误差的平均值,平均中心点误差越小追踪性能越好;其中Ours即本发明方法。
表1基于平均中心点误差的各种不同方法性能的比较
表2所示为基于平均重叠率的各种不同方法性能的比较,其中Average表示所以的平均重叠率的平均值,平均重叠率越大追踪性能越好;其中Ours即本发明方法。
表2基于平均重叠率的各种不同方法性能的比较
平均中心点误差和平均重叠率的比较结果分别展示在表1和表2。由此可知,表1和表2的最后一行展示了每个追踪器在所有图像序列上的平均结果。与其它先进的追踪方法进行比较,本发明方法(即表中Ours方法)几乎在所有图像序列上取得了具有竞争性的结果,而且在两表中的平均结果中,本发明方法目标追踪的效果最好的。综上所述,相比现有技术,本发明实施例提供的基于自适应表达的目标追踪方法具有鲁棒性强,准确率高的特点。
本发明采用上述方案把候选样本与模板结合起来,使用候选样本矩阵作为字典并把模板作为回归目标,这能有效减少算法的计算负担;引入了自适应表达,自适应表达能够探索候选样本矩阵的低秩结构,有效地利用了候选样本之间的结构关系;并使用负面模板作为表达目标,有效的利用了背景信息。与现有技术相比,本发明能够探索并利用候选样本间关系,具有准确率高,鲁棒性强的特点。
本发明提供的方法在汽车智能辅助驾驶***中能够产生有效的跟踪效果,通过车载摄像头对前方的道路信息以图像的方式进行实时获取,实现了对前方车辆目标的实时准确跟踪。
实施例2
如图1至图3所示,本实施例与实施例1的区别在于,本发明提供了一种基于自适应表示的目标追踪装置,如图3所示,该装置包括:
获取模块,用于获取视频当前图像帧;
第一判断模块,用于判断模板是否存在;
初始化设置模块,用于设置视频图像中追踪目标的初始位置,相应的参数包括但不限于状态变量方差、正面模板更新阈值,启动暂停追踪任务;
追踪目标模板构建模块,用于在指定的追踪目标初始位置附近构建追踪目标的初始正面模板和负面模板;
追踪目标样本生成模块,用于在追踪任务的当前图像帧进行随机抽样,生成追踪目标的样本;
自适应表达计算模块,用于计算模板在候选样本上的自适应表达;
目标追踪模块,用于通过计算得到自适应表达,对当前帧的目标进行追踪;
第二判断模块,用于判断追踪任务是否完成;
追踪目标模板更新模块,用于在追踪过程中根据当前的追踪结果更新追踪目标的正面模板和负面模板。
进一步的,所述追踪目标模板构建模块具体用于:
在第一帧图像中的追踪目标位置附近,选取指定数量的正面模板构造正面模板集合Tpos=[t1,t2,…,tp],且正面模板满足以下条件,||Qp-Q0||<σ,其中Qp代表正面模板的中心,Q0代表初始目标的中心,σ是指定的内阈值;
在第一帧图像中的追踪目标位置附近,选取指定数量的负面模板构成负面模板集合T
neg=[t
p+1,t
p+2,…,t
p+n],且负面模板满足以下条件,
其中Q
n代表负面模板的中心,
是指定的外阈值;
构造由正面模板和负面模板组成的模板集合T=[Tpos,Tneg]=[t1,t2,…,tp+n],这个矩阵包括所有的模板。
进一步的,所述追踪目标样本生成模块具体用于:
根据在上一帧图像中追踪到的目标位置,得到上一帧目标对应的状态变量zt-1;
根据运动模型对候选样本的状态变量z
t进行采样,即以概率分布
对状态变量进行采样,其中Σ是一个对角协方差矩阵;
根据采样得出的状态变量zt,在当前图像帧中选取候选样本,并构造候选样本集合C。
进一步的,所述自适应表达计算模块具体用于:
采用以下公式(1)计算模板集T对应的自适应表达矩阵X:
其中,xi是对应于模板ti的自适应表达,自适应表达矩阵X是自适应表达的集合,即X=[x1,x2,…,xp+n],Diag(x*)操作符把自适应表达xi转换成对角矩阵Diag(xi),C是视频候选样本集合,λ是正则项系数,p是正面模板的个数,n是负面模板的个数;
使用迭代重加权算法求解上述公式(1)。
进一步的,所述目标追踪模块具体用于:
构造权重矩阵W,权重矩阵通过公式(2)构造:
Wi,j=exp(-||Ci-Tj||2) (2)
其中,Ci是第i个候选样本而且Tj是第j个模板;Wi,j是权重矩阵W第i行第j列的值,同时也代表第i个候选样本和第j个模板之间的相似度;
将权重矩阵W与自适应表达矩阵X进行点乘得到重加权表达矩阵M,即M=W⊙X,把重加权的表达矩阵记为表达图M,并把表达图M分为两部分{Mpos,Mneg};
计算各个候选样本的可分性分数sci,可分性分数通过公式(3)计算,
sci=∑Mi,pos-∑Mi,neg (3)
其中,Mi,pos是矩阵Mpos的第i行,代表第i个候选样本在正面模板集上的可分特征,Mi,neg是矩阵Mneg的第i行,代表了第i个候选样本在负面模板集上的可分特征,sci是第i个候选样本的可分性分数;
识别分数越高,候选样本越相似于追踪目标,因此,选取可分性分数最高的候选样本作为当前图像帧追踪到的目标。
进一步的,所述追踪目标模板更新模块具体用于:
计算相似向量η=(η1,η2,…,ηp),其中ηi是当前追踪结果与第i个正面模板基于欧几里得距离的相似度;
计算最大相似度Ω=max(η),比较最大相似度Ω与更新阈值θ,如果最大相似度Ω大于更新阈值θ,使用当前追踪结果去更新最大相似度对应的正面模板;
在当前追踪结果附近选取指定数量的负面模板作为新的负面模板集合T
neg,且负面模板满足以下条件,
其中σ和
分别是指定的内阈值和外阈值,Q
n和Q
k分别代表负面模板的中心和当前追踪结果的中心。
实施例3
如图1至图3所示,本实施例与实施例1的区别在于,本实施例提供了一种基于自适应表示的目标追踪终端,该终端包括:处理器以及存储器,其中,所述存储器中存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行上述实施例1中的一种基于自适应表达的目标追踪方法的步骤。
由于该终端即是本发明实施例中的方法中的设备,并且该设备解决问题的原理与该方法相似,因此该方法设施的实施可以参见方法的实施,重复之处不再赘述。
具体地,如图2所示,该终端包括:处理器200以及存储器201,其中,所述存储器201存储有程序代码,当所述程序代码被所述处理器200执行时,使得所述处理器200用于执行如下步骤:
S10:获取视频当前图像帧;
S11:检查模板是否存在,如果模板不存在,则执行S12进行初始化追踪目标模板;如果模板已存在,则执行S13在当前图像帧中生成候选样本;
S12:初始化追踪目标模板:通过设置或者人工指定确定追踪目标在视频第一帧图像中的位置,在追踪目标附近选取正面模板和负面模板,构造由正面模板和负面模板组成的模板集合,其中,每个模板均被预先转化成向量的形式;本发明中的正面模板是对追踪目标包含的信息进行建模,而本发明中的负面模板是对背景信息进行建模;通过使用正面模板和负面模板,当追踪目标出现了与背景混淆的情况,基于自适应表达的目标追踪方法也能够识别出目标,实现对目标的追踪;
S13:生成候选样本:根据在上一帧图像中追踪到的目标位置,在当前图像帧中选取候选样本,构造由候选样本组成的候选样本集合,其中,每个候选样本均被预先转化成向量的形式;
S14:计算自适应表达:以S13得到的候选样本集合组成的矩阵作为字典,以模板作为稀疏表达的目标,使用迹套索作为正则项,计算得到一个由自适应表达组成的矩阵,即自适应表达矩阵;
S15:通过表达进行跟踪:构造权重矩阵,把权重矩阵与S14得到的自适应表达矩阵进行点乘得到重加权的表达矩阵,重加权的表达矩阵中每个元素代表对应候选样本的可分特征,通过可分特征计算各个候选样本的识别分数,识别分数最高的候选样本就是追踪到的目标;
S16:检查追踪任务是否完成,如果当前图像帧是视频的最后一帧,则目标追踪任务完成;如果当前图像帧不是视频的最后一帧,则执行S17更新追踪目标模板,继续目标追踪任务;
S17:更新追踪目标模板:使用在当前图像帧中追踪到的结果对目标模板进行更新,并返回执行S10;因为需要在摄像头或者在视频中读取新的图像帧,每一次方法流程都要执行一次读取当前图像帧的操作,所以在更新目标模板后,需要执行的步骤就是读取新的图像帧,S17后返回执行S10。
作为一种可选的实施方式,所述处理器200具体用于:
S120:在视频第一帧图像帧中,通过设置或人工指定的坐标,确定追踪目标的初始位置;在视频追踪任务中,一般会根据任务的具体性质人工标注好追踪目标的初始位置,或者直接设置追踪目标的初始位置。
S121:在第一帧图像中的追踪目标位置附近,选取指定数量的正面模板构造正面模板集合Tpos=[t1,t2,…,tp],且正面模板满足以下条件,||Qp-Q0||<σ,其中Qp代表正面模板的中心,Q0代表初始目标的中心,σ是指定的内阈值;由于正面模板是一个图像块,为了便于计算,把第i个正面模板转化成向量的形式ti。为了让正面模板能够对追踪目标包含的信息进行建模,需要在追踪目标附近选取正面模板,这样就能使正面模板与追踪目标相似,保留了追踪目标的信息,也能使正面模板与追踪目标略有不同,增加了方法的鲁棒性。
在第一帧图像中的追踪目标位置附近,选取指定数量的负面模板构成负面模板集合T
neg=[t
p+1,t
p+2,…,t
p+n],且负面模板满足以下条件,
其中Q
n代表负面模板的中心,
是指定的外阈值;由于负面模板是一个图像块,为了便于计算,把第j个负面模板转化成向量的形式t
j。为了让负面模板能够对背景信息建模,需要在一个以追踪目标为中心的环形区域内选取负面模板,这样负面模板就与追踪目标产生的较大的差异,并就自然地引入背景信息。
构造由正面模板和负面模板组成的模板集合T=[Tpos,Tneg]=[t1,t2,…,tp+n],这个矩阵包括所有的模板。初始模板集合T包含了追踪目标信息和背景信息。
作为一种可选的实施方式,所述处理器200具体用于:
S130:根据在上一帧图像中追踪到的目标位置,得到上一帧目标对应的状态变量zt-1;状态变量zt-1包含六个映射参数:x坐标,y坐标,旋转角度,尺寸,长宽比,倾斜方向,且这六个映射参数可以在视频图像中定位目标位置。
S131:根据运动模型对候选样本的状态变量z
t进行采样,即以概率分布
对状态变量进行采样,其中Σ是一个对角协方差矩阵;直接在当前帧图像中采样候选样本较为困难,所以选取一种间接的方式,即对候选样本的状态变量z
t进行采样,实现在图像中采样候选样本。追踪目标的运动变化简化为追踪目标对应状态变量的变化,不失一般性,使用高斯分布对状态变量的变化进行建模。高斯分布的期望是上一帧目标对应的状态变量z
t-1,对角协方差矩阵则由追踪数据的具体性质决定,不同的追踪数据,对角协方差矩阵不同。
S132:根据采样得出的状态变量zt,在当前图像帧中选取候选样本,并构造候选样本集合C。使用这些采样得到的状态变量确定候选样本的位置,并把候选样本转化成向量的形式,然后组成候选样本矩阵C。
作为一种可选的实施方式,所述处理器200具体用于:
所述步骤S14中采用以下公式(1)计算模板集T对应的自适应表达矩阵X:
其中,xi是对应于模板ti的自适应表达,自适应表达矩阵X是自适应表达的集合,即X=[x1,x2,…,xp+n],Diag(x*)操作符把自适应表达xi转换成对角矩阵Diag(xi);C是视频候选样本集合,λ是正则项系数,p是正面模板的个数,n是负面模板的个数;
所述步骤S14中使用迭代重加权算法求解上述公式(1)。
作为一种可选的实施方式,所述处理器200具体用于:
S150:构造权重矩阵W,权重矩阵通过公式(2)构造:
Wi,j=exp(-||Ci-Tj||2) (2)
其中,Ci是第i个候选样本而且Tj是第j个模板;Wi,j是权重矩阵W第i行第j列的值,同时也代表第i个候选样本和第j个模板之间的相似度;
S151:将权重矩阵W与自适应表达矩阵X进行点乘得到重加权表达矩阵M,即M=W⊙X,把重加权的表达矩阵记为表达图M,并把表达图M分为两部分{Mpos,Mneg};
S152:计算各个候选样本的可分性分数sci,可分性分数通过公式(3)计算,
sci=∑Mi,pos-∑Mi,neg (3)
其中,Mi,pos是矩阵Mpos的第i行,代表第i个候选样本在正面模板集上的可分特征,Mi,neg是矩阵Mneg的第i行,代表了第i个候选样本在负面模板集上的可分特征,sci是第i个候选样本的可分性分数;
S153:识别分数越高,候选样本越相似于追踪目标,因此,选取可分性分数最高的候选样本作为当前图像帧追踪到的目标。
作为一种可选的实施方式,所述处理器200具体用于:
S170:计算相似向量η=(η1,η2,…,ηp),其中ηi是当前追踪结果与第i个正面模板基于欧几里得距离的相似度;
S171:计算最大相似度Ω=max(η),比较最大相似度Ω与更新阈值θ,如果最大相似度Ω大于更新阈值θ,使用当前追踪结果去更新最大相似度对应的正面模板;
S172:在当前追踪结果附近选取指定数量的负面模板作为新的负面模板集合T
neg,且负面模板满足以下条件,
其中σ和
分别是指定的内阈值和外阈值,Q
n和Q
k分别代表负面模板的中心和当前追踪结果的中心。
实施例4
如图1至图3所示,本实施例与实施例1的区别在于,本实施例提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述实施例1中的一种基于自适应表达的目标追踪方法的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。