掌桥专利:专业的专利平台
掌桥专利
首页

目标跟踪方法、装置和存储介质

文献发布时间:2023-06-19 12:21:13


目标跟踪方法、装置和存储介质

技术领域

本申请涉及图像处理技术领域,尤其涉及一种目标跟踪方法、装置和存储介质。

背景技术

在智能监控、航空航天等领域可能需要目标跟踪技术对物体进行跟踪,特别是对视频中的物体提进行检测和跟踪。跟踪-学习-检测(Tracking-Learning-Detection,简称TLD)算法可以实现对目标的检测和跟踪。但是,TDL算法对复杂场景中的目标进行跟踪时,容易出现跟踪失败的问题。

目前,通过将TLD算法和核化相关滤波器(Kemelized Correlation Filter,简称KCF)算法结合的方式,实现对复杂场景的目标进行跟踪。具体的:确定初始目标帧中目标区域位置和大小,同时将初始帧图像输入到TLD算法模块和KCF算法模块中进行初始化;TLD算法模块和KCF算法模块并行运行,如果对当前帧图像的处理TLD算法模块和KCF算法模块只有一个模块输出跟踪目标的位置,则把该输出的位置作为当前帧图像的跟踪结果;如果两个跟踪模块均输出目标的位置,则分别计算输出的目标的位置与目标模型M之间的相似度,选择相似度中最大者作为目标跟踪结果;通过上述方法对下一帧图像中的目标进行跟踪,确定目标在每一帧图像中的位置。

但是,TLD算法和KCF算法均能够对图像中的目标进行跟踪,可能会出现无法对目标进行跟踪的情况,例如目标被遮挡,此时,无法确定目标在图像中位置,从而降低了对目标在图像中的位置进行确定的准确度。

发明内容

本申请实施例提供了一种目标跟踪方法、装置和存储介质,通过TLD算法对目标进行跟踪,同时通过卡尔曼滤波器对目标在图像中的位置进行预测,从而提高了对目标在图像中的位置进行确定的准确度。

第一方面,本申请实施例提供了一种目标跟踪方法,所述目标跟踪方法包括:

获取待处理视频,并从所述待处理视频的第一帧图像中确定待跟踪的目标。

从所述第一帧图像开始,采用TLD图像跟踪算法中的检测模块检测所述目标,并通过所述TLD图像跟踪算法中的跟踪模块跟踪所述目标,得到所述目标的第一跟踪结果。

从第二帧图像开始,利用所述第二帧图像的前一帧图像输出的目标框的位置和大小初始化卡尔曼滤波器,并通过所述卡尔曼滤波器预测出所述目标在所述第二帧图像中的位置,得到所述目标的第二跟踪结果。

针对所述第一帧图像,根据所述第一跟踪结果,确定所述目标的位置;

从所述第二帧图像开始,根据同一帧图像对应的第一跟踪结果和第二跟踪结果,确定所述目标在所述图像中的位置。

在一种可能的实现方式中,所述根据同一帧图像对应的第一跟踪结果和第二跟踪结果,确定所述目标在所述图像中的位置,包括:

对于同一帧图像,若所述第一跟踪结果为跟踪成功,则分别获取所述TLD图像跟踪算法和所述卡尔曼滤波器各自对应的权重值。

根据所述TLD图像跟踪算法和所述卡尔曼滤波器各自对应的权重值,以及所述第一跟踪结果对应的位置和所述第二跟踪结果对应的位置,确定所述目标在所述图像中的位置。

在一种可能的实现方式中,所述方法还包括:

对于同一帧图像,若所述第一跟踪结果为跟踪失败,则将所述第二跟踪结果对应的位置,确定为所述目标在所述图像中的位置。

在一种可能的实现方式中,所述从所述第一帧图像开始,采用TLD图像跟踪算法中的检测模块检测所述目标,并通过所述TLD图像跟踪算法中的跟踪模块跟踪所述目标,得到第一跟踪结果之前,所述方法还包括:

采用所述目标在第一帧图像中的坐标位置,对所述检测模块和所述跟踪模块进行初始化。

所述从所述第一帧图像开始,采用TLD图像跟踪算法中的检测模块检测所述目标,并通过所述TLD图像跟踪算法中的跟踪模块跟踪所述目标,得到第一跟踪结果,包括:

从所述第一帧图像开始,采用初始化后的检测模块检测所述目标,并通过所述初始化后的跟踪模块跟踪所述目标,得到所述第一跟踪结果。

在一种可能的实现方式中,所述方法还包括:

将所述目标在所述图像中的位置作为所述卡尔曼滤波器的观测值,对所述卡尔曼滤波器更新。

在一种可能的实现方式中,所述对所述卡尔曼滤波器更新,包括:

根据公式:P

其中,P

在一种可能的实现方式中,所述通过所述卡尔曼滤波器预测出所述目标在所述第二帧图像中的位置,包括:

根据公式:X

其中,X

第二方面,本申请实施例提供了一种目标跟踪装置,所述目标跟踪装置包括:

获取单元,用于获取待处理视频,并从所述待处理视频的第一帧图像中确定待跟踪的目标。

处理单元,用于从所述第一帧图像开始,采用TLD图像跟踪算法中的检测模块检测所述目标,并通过所述TLD图像跟踪算法中的跟踪模块跟踪所述目标,得到所述目标的第一跟踪结果。

所述处理单元,还用于从第二帧图像开始,利用所述第二帧图像的前一帧图像输出的目标框的位置和大小初始化卡尔曼滤波器,并通过所述卡尔曼滤波器预测出所述目标在所述第二帧图像中的位置,得到所述目标的第二跟踪结果。

确定单元,用于针对所述第一帧图像,根据所述第一跟踪结果,确定所述目标的位置。

确定单元,还用于从所述第二帧图像开始,根据同一帧图像对应的第一跟踪结果和第二跟踪结果,确定所述目标在所述图像中的位置。

在一种可能的实现方式中,所述确定单元,具体用于对于同一帧图像,若所述第一跟踪结果为跟踪成功,则分别获取所述TLD图像跟踪算法和所述卡尔曼滤波器各自对应的权重值;根据所述TLD图像跟踪算法和所述卡尔曼滤波器各自对应的权重值,以及所述第一跟踪结果对应的位置和所述第二跟踪结果对应的位置,确定所述目标在所述图像中的位置。

在一种可能的实现方式中,所述确定单元,还用于对于同一帧图像,在所述第一跟踪结果为跟踪失败时,将所述第二跟踪结果对应的位置,确定为所述目标在所述图像中的位置。

在一种可能的实现方式中,所述处理单元,还用于采用所述目标在第一帧图像中的坐标位置,对所述检测模块和所述跟踪模块进行初始化。

所述处理单元,具体用于从所述第一帧图像开始,采用初始化后的检测模块检测所述目标,并通过所述初始化后的跟踪模块跟踪所述目标,得到所述第一跟踪结果。

在一种可能的实现方式中,所述处理单元,还用于将所述目标在所述图像中的位置作为所述卡尔曼滤波器的观测值,对所述卡尔曼滤波器更新。

在一种可能的实现方式中,所述处理单元,具体用于根据公式:P

在一种可能的实现方式中,所述处理单元,具体用于根据公式:X

第三方面,本申请实施例还提供了一种目标跟踪装置,该目标跟踪装置可以包括存储器和处理器;其中,

所述存储器,用于存储计算机程序。

所述处理器,用于读取所述存储器存储的计算机程序,并根据所述存储器中的计算机程序执行上述第一方面任一种可能的实现方式中所述的目标跟踪方法。

第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现上述第一方面任一种可能的实现方式中所述的目标跟踪方法。

第五方面,本申请实施例还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,实现上述第一方面任一种可能的实现方式中所述的目标跟踪方法。

由此可见,本申请实施例提供了一种目标跟踪方法、装置和存储介质,获取待处理视频,并从待处理视频的第一帧图像中确定待跟踪的目标;从第一帧图像开始,采用TLD图像跟踪算法中的检测模块检测目标,并通过TLD图像跟踪算法中的跟踪模块跟踪目标,得到目标的第一跟踪结果。从第二帧图像开始,利用第二帧图像的前一帧图像输出的目标框的位置和大小初始化卡尔曼滤波器,并通过卡尔曼滤波器预测出目标在第二帧图像中的位置,得到目标的第二跟踪结果;针对第一帧图像,根据第一跟踪结果,确定目标的位置;从第二帧图像开始,根据同一帧图像对应的第一跟踪结果和第二跟踪结果,确定目标在图像中的位置。本申请提供的技术方案采用TLD图像跟踪算法确定目标在第一帧图像的位置,能够对TLD图像跟踪算法中的检测模块和跟踪模块进行初始化,使得更加准确的确定目标在下一帧图像中的位置。此外,从第二帧图像开始,根据TLD图像跟踪算法对目标进行跟踪,并通过卡尔曼滤波的方法对目标在图像中的位置进行预测,共同确定目标在图像中的位置,由于卡尔曼滤波的方法不需要对目标进行跟踪即可确定目标在图像中的位置,避免了无法跟踪目标而不能确定目标在图像中的位置的问题,从而提高了对图像中的目标跟踪的准确度。

附图说明

图1为本申请实施例提供的一种目标跟踪方法的应用场景示意图;

图2为本申请实施例提供的一种目标跟踪方法的流程示意图;

图3为本申请实施例提供的一种卡尔曼滤波器预测目标位置的方法的流程示意图;

图4为本申请实施例提供的一种目标跟踪方法的框架示意图;

图5为本申请实施例提供的一种目标跟踪装置的结构示意图;

图6为本申请实施例提供的另一种目标跟踪装置的结构示意图。

通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

在本申请的实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。在本申请的文字描述中,字符“/”一般表示前后关联对象是一种“或”的关系。

本申请实施例提供的技术方案可以应用于目标跟踪的场景中,特别是对视频中的目标进行跟踪,例如,对车辆的行驶过程进行监控,或者对飞机的飞行路线进行监控,或者对某用户在具体的活动区域中的位置进行监控等场景。视频跟踪通常使用视觉跟踪算法,视觉跟踪算法可以分为生成式和判别式的方法。生成式模型是对目标直接进行描述,可归结为寻找最大似然概率或者后验概率的待选目标,使用待选目标估计真实目标的状态。然而,与生成式寻找目标模型的复杂形式不同,判别式是通过分类器,在目标和背景之间做一个最优分类,目前比较常用的是判别式方法。

现有技术中,在对视频中的目标进行跟踪时,通常使用TLD算法和KCF算法结合的方法。该方法的具体过程为:首先对视频的第一帧图像进行分析处理,确定目标在第一帧图像中的位置和大小,并对TLD算法模块和KCF算法模块进行初始化。将视频的其余图像输入至TLD算法模块和KCF算法模块中,通过TLD算法模块和KCF算法模块并行运行,同时对第一帧图像进行处理;若TLD算法模块和KCF算法模块中只有一个模块输出跟踪目标的位置,则把输出的位置作为当前帧图像的跟踪结果;若两个跟踪模块均输出目标的位置,则分别计算输出的跟踪目标的位置与目标模型之间的相似度,将相似度较大的作为最终的跟踪结果。通过上述方法对每一帧图像中的目标进行跟踪,确定目标在每一帧图像中的位置。

但是,在对视频中的目标进行跟踪时,可能会出现目标在某帧图像中被遮挡情况,此时,TLD算法和KCF算法均无法对目标进行跟踪,即无法确定目标在图像中位置,从而降低了对目标在图像中的位置确定的准确度。

为了解决TLD算法和KCF算法无法跟踪目标而导致确定的目标位置的准确度较低的问题,可以通过卡尔曼滤波器对目标在图像中的位置进行预测,只需要将前一帧图像中位置输入至卡尔曼滤波器中,即可对目标在下一帧图像的位置进行预测,不需要对目标进行跟踪,解决了TLD算法无法跟踪目标的问题,从而提高了对图像中目标进行跟踪的准确度。

图1为本申请实施例提供的一种目标跟踪方法的应用场景示意图。根据图1所示,将待处理视频输入至目标跟踪模块内,通过目标跟踪模块内的TLD图像跟踪算法以及卡尔曼滤波器对输入的视频中的目标进行逐帧跟踪,确定目标在各帧图像中的位置,并输出目标位置。其中,输出的目标位置,可以为每一帧图像对应的目标位置,也可以为目标的最终位置,本申请实施例对此不做任何限定。

示例的,TLD图像跟踪算法包括跟踪模块、检测模块和学习模块三大模块。其中,TLD图像跟踪算法中的跟踪模块是基于光流跟踪改进的一种跟踪算法,作用是对目标产生的特征点进行跟踪。检测模块是由三个分类器级联构成,目标框依次被输入到方差分类器、随机森林分类器、最近邻分类器,每个分类器会剔除一些不满足分类条件的图像块,只有通过以上三个分类器的目标框,才被认为含有检测目标。TLD学习模块是使用跟踪过程中产生的样本,通过在线的方法提高分类器的性能。

下面,将通过具体的实施例对本申请提供的目标跟踪方法进行详细地说明。可以理解的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。

图2为本申请实施例提供的一种目标跟踪方法的流程示意图。该目标跟踪方法可以由软件和/或硬件装置执行,例如,该硬件装置可以为目标跟踪装置,该目标跟踪装置可以为终端或者终端中的处理芯片。示例的,请参见图2所示,该目标跟踪方法可以包括:

S201、获取待处理视频,并从待处理视频的第一帧图像中确定待跟踪的目标。

示例的,在获取待处理视频时,可以将待处理视频处理为多帧待处理图像的形式,且每帧图像之间的时间间隔相同的。此外,在从待处理视频的第一帧图像中确定待跟踪目标时,可以对目标进行框选,并确定目标在第一帧图像的位置和状态,例如,确定目标在第一帧图像对应的坐标系的坐标位置,以及目标当前的速度等,本申请实施例对于具体的位置和状态不做任何限定。

S202、从第一帧图像开始,采用TLD图像跟踪算法中的检测模块检测目标,并通过TLD图像跟踪算法中的跟踪模块跟踪目标,得到目标的第一跟踪结果。

从第一帧图像开始,在采用TLD图像跟踪算法对目标进行跟踪之前,还可以采用目标在第一帧图像中的坐标位置,对检测模块和跟踪模块进行初始化。使得检测模块和跟踪模块能够根据目标在第一帧图像中的坐标位置,对第二帧图像中的坐标位置进行跟踪。

在对检测模块和跟踪模块进行初始化之后,从第一帧图像开始,采用初始化后的检测模块检测目标,并通过初始化后的跟踪模块跟踪目标,得到第一跟踪结果。示例的,第一跟踪结果可以包括目标在图像中的位置,跟踪目标的是否跟踪成功,目标在图像中的速度等,本申请实施例对于第一跟踪结果不做具体限定。

可以理解的是,在跟踪模块目标进行跟踪时,可以在金字塔LK光流跟踪的基础上利用前向后向误差跟踪进行跟踪,即中值流跟踪法。具体的,通过跟踪器对上一帧图像和当前帧图像进行前向跟踪,生成一个跟踪点在两帧之间的轨迹,并在当前帧图像中通过跟踪点的位置生成另一个轨迹。其中轨迹是通过从当前帧图像中跟踪到的像素点后向跟踪到上一帧图像中对应的像素点而产生的。本申请实施例仅以此为例进行说明,但并不代表本申请实施例仅局限于此。

可以理解的是,TLD图像跟踪算法中的检测模块是由一个分类级联器构成的检测器。其中,级联分类器的第一个分类器是方差分类器,第二个分类器是集合分类器,第三个分类器是最近邻分类器。其中,方差分类器是基于像素值的分类器,能够将像素点的灰度值方差小于被跟踪目标边界框中的所有像素点整体方差的50%进行过滤,对目标进行筛选。例如,方差分类器能够将天空、楼房、街道等对于跟踪目标无用的背景丢弃掉。集合分类器是基于随机森林的集合分类器,通过计算概率的方法,确定目标的大概位置。最近邻分类器通过计算上述两个分类器确定的目标与在线模型的相关相似度,将相似度大于一定阈值的分类作为目标,并确定目标在图像中的位置,生成目标的第一跟踪结果。

进一步的,为了进一步增加TLD图像跟踪算法确定的目标在图像中的坐标位置的准确度,在确定目标样本之后,还可以通过TLD图像跟踪算法中的学习模块对目标样本所在的图像进行处理,保证输出的目标的第一跟踪结果的准确性。

示例的,在对每一帧图像进行处理之后,还可以通过TLD图像跟踪算法中的学习模块不断的对检测模块和跟踪模块进行更新。即,在获取每一帧图像中目标的坐标位置之后,通过学习模块对检测模块和跟踪模块进行更新,使得检测模块和跟踪模块始终能够根据目标在上一帧图像中的位置确定目标在当前图像的坐标位置,从而得到目标的第一跟踪结果。本申请实施例对于学习模块具体的更新过程不做任何限定。

在本申请实施例中,通过对TLD图像跟踪算法中的检测模块和跟踪模块进行初始化,使得TLD图像跟踪算法能够根据目标在第一帧图像中的位置确定在其它帧图像中的位置,并得到第一跟踪结果,能够提高对目标在图像中的位置确定的准确度。

S203、从第二帧图像开始,利用第二帧图像的前一帧图像输出的目标框的位置和大小初始化卡尔曼滤波器,并通过卡尔曼滤波器预测出目标在第二帧图像中的位置,得到目标的第二跟踪结果。

示例的,在通过卡尔曼滤波器预测目标在图像中的位置时,由于卡尔曼滤波器能够根据目标当前的位置预测目标在下一帧图像中的位置。因此,需要采用第二帧图像输出的目标框的位置和大小初始化卡尔曼滤波器,使得卡尔曼滤波器中存在前一帧图像中目标的位置,并根据两帧图像之间的转换关系和转换时间,对第二帧图像中目标的位置进行预测,得到目标的第二跟踪结果。

可以理解的是,第二跟踪结果还可以包括目标在图像中的位置,跟踪目标的是否跟踪成功,目标在图像中的速度等,本申请实施例对于第二跟踪结果不做具体限定。

S204、针对第一帧图像,根据第一跟踪结果,确定目标的位置。

示例的,对于第一帧图像。可以直接根据第一跟踪结果确定目标的位置,具体的,可以通过TLD图像跟踪算法的检测模块、跟踪模块和学习模块进行确定,也可以根据其他方式对第一帧图像中目标的位置进行确定,本申请实施例对此不做任何限定。

S205、从第二帧图像开始,根据同一帧图像对应的第一跟踪结果和第二跟踪结果,确定目标在图像中的位置。

示例的,从第二帧图像开始,对于同一帧图像,需要先确定第一跟踪结果是否为跟踪成功。可以根据对前一帧帧图像进行跟踪确定的结果确定是否跟踪成功,若跟踪模块中的跟踪器输出前一帧图像中的目标框,则可以确定第一跟踪结果为跟踪成功,若跟踪模块中的跟踪器未输出前一帧图像中的目标框,则可以确定第一跟踪结果为跟踪失败。也可以通过其他方式确定第一跟踪结果是否为跟踪成功,本申请实施例对此不做任何限定。

可以理解的是,若第一跟踪结果为跟踪成功,则可以将第一跟踪结果对应的位置和第二跟踪结果对应的位置输入至TLD算法的综合模块,通过综合模块对第一跟踪结果和第二跟踪结果进行处理,确定目标在图像中的位置。本申请实施例对于综合模块的具体处理方法不做任何限定。

示例的,若第一跟踪结果为跟踪成功,则分别获取TLD图像跟踪算法和卡尔曼滤波器各自对应的权重值;根据TLD图像跟踪算法和卡尔曼滤波器各自对应的权重值,以及第一跟踪结果对应的位置和第二跟踪结果对应的位置,确定目标在图像中的位置。即,综合考虑TLD图像跟踪算法确定的第一跟踪结果和卡尔曼滤波器确定的第二跟踪结果,确定目标在图像中的位置。其中,权重值可以根据目标的形状和状态进行确定,例如,目标的速度较大,则TLD图像跟踪算法对应的权重值相比卡尔曼滤波器对应的权重值较大,根据对应的权重值,将第一跟踪结果和第二跟踪结果进行结合,确定目标在图像中的位置。

在另一种可能的实现方式中,还可以将第一跟踪结果和第二跟踪结果输入至预设算法中,通过预设算法的处理直接确定目标在图像中的位置。示例的,预设算法可以是根据不同的场景进行训练得到的。本申请实施例对于预设算法不做任何限定。

可以理解的是,上述TLD图像跟踪算法和卡尔曼滤波器各自对应的权重值,以及将第一跟踪结果和第二跟踪结果输入至预设算法的过程,均可以在TLD算法的综合模块中进行,本申请实施例对此不做任何限定。

在本申请实施例中,若第一跟踪结果为跟踪成功,则根据TLD图像跟踪算法和卡尔曼滤波器各自对应的权重值确定目标在图像中的位置,与仅根据TLD跟踪算法确定目标在图像中的位置相比,能够进一步提高对目标在图像中的位置确定的准确度。

示例的,对于同一帧图像,若第一跟踪结果为跟踪失败,则将第二跟踪结果对应的位置,确定为目标在图像中的位置。即,若第一跟踪结果为跟踪失败,则之间将卡尔曼滤波器确定的第二跟踪结果中目标对应的位置,确定为目标在当前帧图像中的位置。

可以理解的是,导致跟踪结果为跟踪失败的原因可能是目标被遮挡,或者目标消失,或者TLD图像跟踪算法出现问题,或者其他的情况,本申请对于产生跟踪失败的原因不做任何限定。

在本申请实施例中,在TLD跟踪算法的跟踪结果为跟踪失败时,将卡尔曼滤波器预测的第二跟踪结果对应的位置,确定为目标在图像中的位置,能够避免目标跟踪失败,无法确定目标位置的问题,进一步提高了确定目标在图像中的位置的准确度。

示例的,在确定目标在视频的各帧图像中的位置之后,可以根据目标的多个位置,确定目标的移动轨迹。例如,在对赛车行驶过程的视频进行跟踪之后,可以确定赛车在各帧图像的位置,即可以确定赛车在现实中跑道上的位置,根据确定的多个位置,可以绘制出赛车在行驶过程中的行驶路线。

由此可见,本申请实施例提供的目标跟踪方法,获取待处理视频,并从待处理视频的第一帧图像中确定待跟踪的目标,能够对TLD图像跟踪算法中的检测模块和跟踪模块进行初始化,使得更加准确的确定目标在下一帧图像中的位置。从第一帧图像开始,采用TLD图像跟踪算法中的检测模块检测目标,并通过TLD图像跟踪算法中的跟踪模块跟踪目标,得到目标的第一跟踪结果。从第二帧图像开始,利用第二帧图像的前一帧图像输出的目标框的位置和大小初始化卡尔曼滤波器,并通过卡尔曼滤波器预测出目标在第二帧图像中的位置,得到目标的第二跟踪结果;针对第一帧图像,根据第一跟踪结果,确定目标的位置;从第二帧图像开始,根据同一帧图像对应的第一跟踪结果和第二跟踪结果,确定目标在图像中的位置。通过TLD图像跟踪算法对目标进行跟踪,并通过卡尔曼滤波的方法对目标在图像中的位置进行预测,能够解决目标无法被跟踪的问题,从而提高了对目标在图像中的位置进行确定的准确度。

为了便于理解本申请实施例提供的目标跟踪方法,下面,将对卡尔曼滤波器预测目标在图像中的位置进行详细的描述。具体的,可参见图3所述,图3为本申请实施例提供的一种卡尔曼滤波器预测目标位置的方法的流程示意图。该方法包括:

S301、从第二帧图像开始,利用第一帧图像输出的目标框的位置和大小初始化卡尔曼滤波器。

示例的,假设在t时刻目标的中心位置坐标为(P

进一步的,初始状态转移矩阵可以通过下述公式(1)表示:

其中,dt表示两帧图像之间的时间间隔。

再进一步的,在对卡尔曼滤波器进行初始化时,需要先确定初始化观测矩阵、初始化误差协方差、初始化协方差以及初始化观测协方差。其中,初始化观测向量为[P

示例的,误差协方差P可以为一个随机矩阵也可以为0,本申请实施例对于误差协方差矩阵不做任何限定。假设初始化的误差协方差矩阵可以通过下述公式(3)表示:

且初始化的协方差可以通过下述公式4表示:

初始化观测协方差可以通过下述公式(5)表示:

在对卡尔曼滤波器进行初始化设置之后,可以通过卡尔曼滤波器预测目标在第二帧图像中的位置。

S302、根据目标在前一帧图像中的位置,对卡尔曼滤波器进行更新。示例的,在确定目标在第二帧图像中的位置后,需要根据目标在第二帧图像中的位置,对卡尔曼滤波器进行更新。可以理解的是,在确定每一帧图像中的目标的位置时,还可以确定每一帧图像对应的观测值,协方差,误差协方差等数据,使得能够对卡尔曼滤波器进行更新,以预测目标在下一帧图像中的位置。

在对卡尔曼滤波器进行更新时,可以将目标在图像中的位置作为卡尔曼滤波器的观测值,对卡尔曼滤波器更新。

在本申请实施例中,利用目标在当前图像中的位置对卡尔曼滤波器进行更新,使得卡尔曼滤波器始终能够根据目标在当前图像中的位置,预测目标在下一帧图像中位置,从而在目标跟踪失败时,能确定目标在图像中的位置,从而提高了对目标在图像中的位置确定的准确度。

示例的,在对卡尔曼滤波器更新时,可以根据下述公式(6)对卡尔曼滤波器的误差协方差进行更新。

P

其中,P

例如,将初始化误差协方差带入公式(6)即可得到视频的第二帧图像对应的误差协方差,从而对第二帧图像中目标的位置进行预测。

在本申请实施例中,通过对卡尔曼滤波器的误差协方差进行更新,使得能够根据更新后的误差协方差预测目标在下一帧图像中的位置,提高了对目标在图像中的位置确定的准确度。

S303、通过卡尔曼滤波器预测出目标在当前帧图像中的位置。

示例的,可以通过下述公式(7),确定目标在第二帧图像中的位置。

X

其中,X

示例的,在确定视频中第二帧图像中目标的位置之后,可以重复上述步骤,确定剩余帧图像中目标的位置,从而确定目标的最终位置。

在本申请实施例中,根据更新后的卡尔曼滤波器的误差协方差预测目标在第二帧图像中的位置,使得确定的目标在第二帧图像中的位置更加准确。

综上所述,本申请实施例提供的卡尔曼滤波器预测目标位置的方法,通过对卡尔曼滤波器进行初始化,能够预测目标在视频的第二帧图像中的位置;通过对卡尔曼滤波器进行更新,能够根据目标在前一帧图像中的位置,确定目标在当前帧图像中的位置,从而对每一帧图像中目标的位置进行预测。使得在TLD图像跟踪算法跟踪失败的情况下,能够确定目标在图像中的位置,从而提高了对目标在图像中的位置进行确定的准确度。

示例的,在本申请的另一实施例中,可以通过图4所示的方法对目标进行跟踪。图4为本申请实施例提供的一种目标跟踪方法的框架示意图。

根据图4所示,首先获取待处理视频的视频图像,通过对视频帧图像进行处理,确定目标在第一帧图像中的状态,通过上述实施例所述的方法对TLD图像跟踪算法的检测模块,跟踪模块,以及卡尔曼滤波器进行初始化,本申请实施例对于初始化的具体过程不再赘述。在初始化之后,从第一帧图像开始,采用TLD图像跟踪算法中的检测模块检测目标,并通过TLD图像跟踪算法中的跟踪模块跟踪目标,确定目标在各帧图像中的位置。从第二帧图像开始,通过卡尔曼滤波器预测出目标在第二帧图像中的位置,并继续预测第三帧图像的位置。

在确定目标在某一帧图像中的位置时,需要先获取目标当前的状态,即获取目标在前一帧图像中的位置,以及状态参数,并判断目标是否被遮挡。若目标未被遮挡,则根据TLD图像跟踪算法获取的目标在当前帧图像中的位置,以及卡尔曼滤波预测在目标在当前帧图像中的位置,确定并输出目标在当前帧图像中的目标状态。若目标被遮挡,则进一步判断TLD图像跟踪算法是否跟踪失败,若跟踪失败,则直接根据卡尔曼滤波预测目标在当前帧图像中的位置,并输出当前帧图像的目标状态;若未出现跟踪失败的情况,则根据TLD图像跟踪算法获取的目标在当前帧图像中的位置,以及卡尔曼滤波预测在目标在当前帧图像中的位置,确定并输出目标在当前帧图像中的目标状态。示例的,对于判断TLD图像跟踪算法是否跟踪失败的方法可参见上述实施例所述,本申请实施例对此不再赘述。此外,根据TLD图像跟踪算法获取的目标在当前帧图像中的位置,以及卡尔曼滤波预测在目标在当前帧图像中的位置,均与上述实施例所述的方法相同,本申请实施例对此不再赘述。

根据图4所示,输出当前帧图像目标状态之后,还可以将该目标状态作为观测值更新状态矩阵,对目标当前状态进行更新,即对TLD图像跟踪算法中的检测模块,跟踪模块以及卡尔曼滤波器进行更新,使其根据最新的目标状态确定目标在下一帧图像中的位置。

在本申请实施例中,通过TLD图像跟踪算法获取的目标在图像中的位置,以及卡尔曼滤波的方法预测的目标在图像中的位置,共同确定目标在图像中的最终位置,使得在目标跟踪失败时,能够确定目标在图像中位置,从而提高了对目标在图像中的位置进行确定的准确度。

图5为本申请实施例提供的一种目标跟踪装置50的结构示意图,示例的,请参见图5所示,该目标跟踪装置50可以包括:

获取单元501,用于获取待处理视频,并从待处理视频的第一帧图像中确定待跟踪的目标。

处理单元502,用于从第一帧图像开始,采用TLD图像跟踪算法中的检测模块检测目标,并通过TLD图像跟踪算法中的跟踪模块跟踪目标,得到目标的第一跟踪结果。

处理单元502,还用于从第二帧图像开始,利用第二帧图像的前一帧图像输出的目标框的位置和大小初始化卡尔曼滤波器,并通过卡尔曼滤波器预测出目标在第二帧图像中的位置,得到目标的第二跟踪结果。

确定单元503,用于针对第一帧图像,根据第一跟踪结果,确定目标的位置。

确定单元503,还用于从第二帧图像开始,根据同一帧图像对应的第一跟踪结果和第二跟踪结果,确定目标在图像中的位置。

可选的,确定单元503,具体用于对于同一帧图像,若第一跟踪结果为跟踪成功,则分别获取TLD图像跟踪算法和卡尔曼滤波器各自对应的权重值;根据TLD图像跟踪算法和卡尔曼滤波器各自对应的权重值,以及第一跟踪结果对应的位置和第二跟踪结果对应的位置,确定目标在图像中的位置。

可选的,确定单元503,还用于对于同一帧图像,在第一跟踪结果为跟踪失败时,将第二跟踪结果对应的位置,确定为目标在图像中的位置。

可选的,处理单元502,还用于采用目标在第一帧图像中的坐标位置,对检测模块和跟踪模块进行初始化。

处理单元502,具体用于从第一帧图像开始,采用初始化后的检测模块检测目标,并通过初始化后的跟踪模块跟踪目标,得到第一跟踪结果。

可选的,处理单元502,还用于将目标在图像中的位置作为卡尔曼滤波器的观测值,对卡尔曼滤波器更新。

可选的,处理单元502,具体用于根据公式:P

可选的,处理单元502,具体用于根据公式:X

本申请实施例提供的目标跟踪装置,可以执行上述任一实施例中的目标跟踪方法的技术方案,其实现原理以及有益效果与目标跟踪方法的实现原理及有益效果类似,可参见目标跟踪方法的实现原理及有益效果,此处不再进行赘述。

图6为本申请实施例提供的另一种目标跟踪装置60的结构示意图,示例的,请参见图6所示,该目标跟踪装置60可以包括处理器601和存储器602;

其中,

所述存储器602,用于存储计算机程序。

所述处理器601,用于读取所述存储器602存储的计算机程序,并根据所述存储器602中的计算机程序执行上述任一实施例中的目标跟踪方法的技术方案。

可选地,存储器602既可以是独立的,也可以跟处理器601集成在一起。当存储器602是独立于处理器601之外的器件时,目标跟踪装置60还可以包括:总线,用于连接存储器602和处理器601。

可选地,本实施例还包括:通信接口,该通信接口可以通过总线与处理器601连接。处理器601可以控制通信接口来实现上述目标跟踪装置60的接收和发送的功能。

本申请实施例所示的目标跟踪装置60,可以执行上述任一实施例中的目标跟踪方法的技术方案,其实现原理以及有益效果与目标跟踪方法的实现原理及有益效果类似,可参见目标跟踪方法的实现原理及有益效果,此处不再进行赘述。

本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现上述任一实施例中的目标跟踪方法的技术方案,其实现原理以及有益效果与目标跟踪方法的实现原理及有益效果类似,可参见目标跟踪方法的实现原理及有益效果,此处不再进行赘述。

本申请实施例还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,实现上述任一实施例中的目标跟踪方法的技术方案,其实现原理以及有益效果与目标跟踪方法的实现原理及有益效果类似,可参见目标跟踪方法的实现原理及有益效果,此处不再进行赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所展示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元展示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例方法的部分步骤。

应理解的是,上述处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital SignalProcessor,简称:DSP)、专用集成电路(英文:Application Specific IntegratedCircuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。

存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。

总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。

上述计算机可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。

最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

相关技术
  • 目标跟踪方法、目标跟踪装置及计算机可读存储介质
  • 目标跟踪方法、目标跟踪装置、可移动平台和存储介质
技术分类

06120113268862