本发明涉及目标跟踪技术领域,具体是一种在线多示例学习目标跟踪方法、终端设备及存储介质。
背景技术:
基于视觉的目标自动跟踪在智能监控、动作与行为分析、自动驾驶等领域都有重要的应用。例如,在自动驾驶系统中,目标跟踪算法要对运动的车、行人、其他动物的运动进行跟踪,对它们在未来的位置、速度等信息作出预判。根据目标跟踪过程是否更新目标外观模型,目标跟踪方法可以分为离线目标跟踪方法和在线目标跟踪方法。离线目标跟踪方法是使用在跟踪前学习好的目标模型来跟踪视频序列中的目标位置,而在跟踪过程中没有进一步更新模型。该类方法的不足之处在于难以准确跟踪复杂场景下的目标。在线学习的跟踪方法则在跟踪过程中不断更新目标外观模型,从而可以更加鲁棒地应对动态变化的目标,在一定程度上可以避免目标漂移(drifting)问题。
目前,已经有多种机器学习方法被用于目标跟踪领域,包括多示例学习(multipleinstancelearning,mil)等。区别于传统的机器学习方法,mil方法是利用正负包进行学习,在训练阶段,样本保存在集合中(这里使用“包”的概念),然后为包贴上标签,而不是为每个样本贴标签(标签是用于表示正负样本)。mil要求正包中至少含有一个正样本,而负包中必须全部是负样本。虽然mil算法已被成功用于目标跟踪领域,但是仍有许多问题有待解决。传统的基于mil的目标跟踪算法在目标快速移动、遮挡等复杂场景下,跟踪器的目标位置可能不精确,而模型在更新时又会用到这些样本作为正负包的选择,随着时间推移,就会容易出现漂移,最终可能导致跟踪丢失。而多数情况下,当选择正负包的距离参数设置不准确时,正包中还可能含有部分负样本,而负包中也可能会混入正样本,这将导致与mil的基本思想冲突,从而导致学习到的模型更新时遇到歧义,并使得跟踪器的分辨能力下降。
技术实现要素:
为了解决上述问题,本发明提出一种在线多示例学习目标跟踪方法、终端设备及存储介质,使得目标跟踪系统能处理部分或全局遮挡、漂移、快速移动等问题。在传统的mil算法基础上,本发明通过有效地引入相似度度量机制,进而在一定程度上能够提高目标跟踪的鲁棒性和准确性。
本发明一种在线多示例学习目标跟踪方法,包括如下过程:
s1:初始正包和负包中示例的选取:选取两组视频帧图像块,分别作为初始正包
s2:计算初始正包中每个示例的相关相似度:根据正包中每个示例与目标模板的相似程度来计算其相关相似度;
s3:对初始正包进行筛选:将初始正包中与目标模板相关相似度低于某个阈值的示例筛除,得到筛选后的正包;
s4:更新弱分类器:利用s3中筛选后的正包和s1中负包中的示例更新所有的弱分类器;
s5:为筛选后的正包和负包中的示例赋予相应的权重值:将s2中计算得到的相关相似度作为筛选后正包中示例的权重;为负包中每个示例赋予一个给定的权重值w;
s6:对包概率进行加权:利用筛选后的正包与负包中示例的权重来对示例概率进行加权,进一步估计包概率;
s7:获得最优弱分类器:计算包的对数似然函数,并通过最大化包的对数似然函数获得最优弱分类器;
s8:集成强分类器并输出:重复步骤s6-s7,选出最优的k个弱分类器集成为强分类器,并利用该强分类器找到搜索区域中响应值最大的样本作为跟踪目标。
进一步的,s2中,根据正包中每个示例与目标模板的相似程度来计算其相关相似度,具体为:
s21:将包xi中每一个示例进行归一化,任意两个图像块xij、xik的相似度被计算为:s(xij,xik)=0.5(ncc(xij,xik)+1),其中ncc为归一化互相关系数;
s22:计算正包中每个示例的正样本最近邻相似度,计算公式为:
s23:计算正包中每个示例的相关相似度,计算公式为:
更进一步的,s3中,如果sr(x1j,e)≥θ,其中θ为给定的某个阈值,则图像块x1j被筛选进新的正包,并计算它的特征向量,作为筛选后的正包中的示例。
更进一步的,s5中,正包中每个示例的权重被定义为w1j=sr(x1j,e)。
更进一步的,s6中,设i=1表示正包,i=0表示负包,正包和负包中的示例概率的计算公式为:
更进一步的,s7中,包的对数似然函数计算公式为:
更进一步的,s8中,强分类器的计算公式为:
本发明提供一种在线多示例学习目标跟踪终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述在线多示例学习目标跟踪方法的步骤。
本发明还涉及一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述在线多示例学习目标跟踪方法的步骤。
本发明的有益效果是:
本发明采用了相关相似度的度量指标对传统的在线mil目标跟踪算法进行改进,通过相关相似度对正包中的示例进行筛选,使得用于更新分类器的正包中的示例更加准确;同时,smile算法使用相关相似度来计算样本的权重,进而对示例概率进行加权,使得分类器的性能得以提升,从而目标跟踪的鲁棒性也得到了提高。
附图说明
图1为本发明实施例一的方法流程图;
图2为本发明实施例一的样本范围选择示意图。
具体实施方式
为进一步说明各实施例,本发明提供了附图。这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点。图中的组件并未按比例绘制,而类似的组件符号通常用来表示类似的组件。
现结合附图和具体实施方式对本发明进一步说明。
基本原理:
传统的基于mil的目标跟踪算法在选择正负包时常用的做法如下:选择当前跟踪器定位的目标位置的样本加入正包,以及从该位置的很近距离范围内抽取一些样本也作为正包中的样本。并从与目标位置有一定距离的位置抽取大量样本构成负包。该做法存在着一些问题,例如当跟踪定位的目标位置不精确时,会导致出现目标漂移。而多数情况下,当选择正包的距离参数设置不准确时,正包中还可能含有部分负样本,从而导致降低跟踪的准确性和鲁棒性。
在本发明提出的smile(relativesimilaritybasedonlinemultipleinstancelearning)算法中,引入了相关相似度(relativesimilarity)的概念,其是一种度量目标模型的相似度度量方式。相关相似度的取值范围是0~1,其取值越大代表图像越有可能蕴含前景目标。在传统的mil算法基础上,本发明通过有效地引入相似度度量机制,进而在一定程度上能够提高目标跟踪的鲁棒性和准确性。
实施例一:
本发明提供了一种在线多示例学习目标跟踪方法,基于离线学习的多示例学习算法是在训练时需要初始化所有的训练数据。而采用在线的学习方式时,训练数据是逐帧输入的,根据动态训练数据建立分类模型,并能依靠最新的数据整改分类模型,同时更新弱分类器,并能够在一定时间限制内去掉已经没有价值的分类信息。而本发明通过加入相关相似度的度量,能够提高最终强分类器的鲁棒性,具体表现在对正包中的示例重新进行筛选和加权,提高正包内示例的准确率。算法流程如图1所示。
1.在线多示例学习框架
在线多示例学习的主要思想是:结合多示例学习及在线学习来设计框架,从而成功地分类下一帧。在该框架中,更新外观模型是本发明的重点。本发明选取了一组图像块
用于训练二元分类器的传统判别式学习算法是利用{(x1,y1),…,(xn,yn)}作为训练数据集,其中的xi是示例(即图像块计算的特征向量),yi∈{0,1}是样本的二进制标签。不同的是,在多示例学习中,训练数据形如{(x1,y1),…,(xn,yn)},其中包
目前已经提出了许多算法用于解决多示例学习问题。milboost算法采用梯度boosting框架来训练集成分类器mil,即最大化包的对数似然函数
注意是在包上定义可能性而不是示例上,因为在训练过程中示例标签是未知的。但本发明的目标是训练估计p(y|x)的示例分类器。因此,本发明需要根据其示例概率p(yi|xij)来计算包是正包的概率p(yi|xi)。
2.相关相似度
传统的在线多示例学习算法在更新弱分类器过程中,将正包中的样本都视为正样本,这将导致降低分类器的性能。因为正包中可能还含有负样本。为了提高目标跟踪的鲁棒性和准确性,本发明提出的smile算法引入了相关相似度的概念来进一步筛选正包中的样本,并利用相关相似度对示例概率进行加权,从而提高跟踪器的性能。
首先,假设包xi中一个示例用图像块xij表示,图像块xij是从图像上的目标矩形框抽样得到的,然后再归一化到15x15像素的大小,归一化的时候不考虑矩形框的长宽比例。两个图像块xij,xik的相似度被定义为:
s(xij,xik)=0.5(ncc(xij,xik)+1)(1)
其中ncc为归一化互相关系数。
对于任意给定一个包中示例xij,本发明构建一个目标模型,它是一些包中示例的集合
①正样本最近邻相似度,也叫正最近邻相似度,
②负样本最近邻相似度,也叫负最近邻相似度,
③相关相似度定义如下:
相关相似度变化范围从0到1,相关相似度sr的取值越大表示图像块越有可能是目标区域。
相关相似度sr被用于指出一个任意的图像块和目标模型中的部分有多大的相似。给定相关系数θ,如果sr(x1j,e)≥θ,那么图像块x1j被筛选进正包,否则将其从正包中删除。
除此之外,smile算法还通过计算正包中的示例和目标的相关相似度对示例概率进行加权来更准确地估计包的概率p(yi|xi)。本发明设i=1表示正包,i=0表示负包。具体公式如下:
不同wmil算法,本发明提出的smile算法使用相关相似度进行加权,权重为w1j=sr(x1j,e),w1j为正包中每个示例的权重。
而对于负包为负的概率,具体计算公式如下:
由于所有负示例都距离目标样本较远,因此这里w是一个任意给定的权重值。
本发明基于boosting思想,通过最大化包似然函数
3.smile算法
smile算法的具体算法流程如下:
输入:视频帧号k,正负包
初始化:强分类器h(·)=0。
1:选取一组图像块
2:使用smile分类器来对x∈xs估计p(y|x)。
3:更新当前帧的目标位置
4:选取两组正包
5:将包xi中每一个示例进行归一化,任意两个图像块xij、xik的相似度被计算为:s(xij,xik)=0.5(ncc(xij,xik)+1)。
6:计算正包中每个示例的正样本最近邻相似度,
7:计算正包中每个示例的相关相似度
8:如果sr(x1j,e)≥θ,则图像块x1j被筛选进新的正包,并计算它的特征向量。
9:利用筛选后的正包、负包中的示例更新弱分类器。
10:计算正包中每个样本的权重w1j=sr(x1j,e)。
11:计算示例概率
12:根据公式(5)和公式(6)计算加权的包概率。
13:得到
14:重复步骤11-13,直到选出最优的k个弱分类器依次加入当前强分类器
输出:强分类器
4实验数据
为了评估本发明提出的smile算法的目标跟踪性能,选用了七个公共视频数据集。这些数据集的详细信息列在了表1。跟踪这些数据集的难点在于目标遮挡、运动模糊、光照变化、平面旋转和比例的变化以及快速移动等。
表1七个测试序列的信息
实验中,对比本发明提出的smile算法和五种新近提出的目标跟踪算法,包括:ct跟踪算法、csk跟踪算法、改进的mil跟踪算法、onlineboosting(onlineboosting)、onlinesemi-supervisedboosting(semiboosting)。所有对比算法都是根据论文原作者所提供的源代码进行实验。为了保证数据的准确性和实验的公平性,并且减少结果的偶然性,每个数据集都反复测试10次,最后取结果的平均值。本发明的算法是在matlab2016a、opencv2.4.4、visualstudio2010上实现,本发明的计算机配置为intelcorei5-6300hq2.30ghzcpu和8.0gbram。
在本发明提出的smile算法中,将学习率参数设置为0.85。更新时正样本的搜索半径为4.0,负样本的搜索半径为4.0和6.0组成的圆环区域,采样个数为50个。样本框的大小为25×25像素的矩形。弱分类器池由150个弱分类器组成。经过boosting集成学习之后的弱分类器有15个。本文的相关系数θ设置为0.7。
本发明按照常用的中心位置误差(cle)的评估指标来测量每一帧的误差,该公式用于计算每帧跟踪结果和实际目标位置的中心点的误差(即欧式距离)。
计算第i帧误差的公式如下:
其中,函数dist(.,.)用于计算欧式距离,t是运行的总次数,centert(i)和gt(i)分别表示每帧跟踪结果和实际目标位置的中心位置。由此可以得出,cle(i)的值越小,算法的误差就越低。表2给出了各个算法对应各个测试集的平均中心位置误差。对于数据集‘carscale’、‘crossing’、‘david3’、‘deer’,本文的跟踪器都取得了最小的cle误差,在其他的三个数据集上的误差也接近最少。因此本发明的算法得到了最小的平均误差,并且明显优于第二名。这说明本文的算法引入相关相似度来筛选和加权是有效、可行的,是可以明显提高跟踪性能。
表2各算法对应测试集的平均中心位置误差,粗体表示最佳性能,斜体表示次佳。
实施例二:
本发明还提供一种在线多示例学习目标跟踪终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明实施例上述方法实施例的步骤。
进一步地,作为一个可执行方案,所述在线多示例学习目标跟踪终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述在线多示例学习目标跟踪终端设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,上述在线多示例学习目标跟踪终端设备的组成结构仅仅是在线多示例学习目标跟踪终端设备的示例,并不构成对在线多示例学习目标跟踪终端设备的限定,可以包括比上述更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述在线多示例学习目标跟踪终端设备还可以包括输入输出设备、网络接入设备、总线等,本发明实施例对此不做限定。
进一步地,作为一个可执行方案,所称处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述在线多示例学习目标跟踪终端设备的控制中心,利用各种接口和线路连接整个在线多示例学习目标跟踪终端设备的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述在线多示例学习目标跟踪终端设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据手机的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例上述方法的步骤。
所述在线多示例学习目标跟踪终端设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
本发明公开了一种在线多示例学习目标跟踪方法、终端设备及存储介质,通过采用相关相似度的度量指标对传统的在线mil目标跟踪算法进行改进,通过相关相似度对正包中的示例进行筛选,使得用于更新分类器的正包中的示例更加准确;同时,smile算法使用相关相似度来计算样本的权重,从而对示例概率进行加权,使得分类器的性能得以提升,从而目标跟踪的鲁棒性也得到了提高。
尽管结合优选实施方案具体展示和介绍了本发明,但所属领域的技术人员应该明白,在不脱离所附权利要求书所限定的本发明的精神和范围内,在形式上和细节上可以对本发明做出各种变化,均为本发明的保护范围。