目标跟踪方法及装置
技术领域
本发明涉及计算机视觉技术领域,具体涉及一种目标跟踪方法及装置。
背景技术
目标跟踪是计算机视觉中的基本任务之一,在实际生活中有着广阔的应用。目标跟踪算法从位置跟踪发展到结合位置与尺度的同时跟踪,并且随着深度学习的发展,相关滤波算法将目标的外观特征表示从简单的手工特征演变成多层深度学习特征,然而正是因为多维度的深度特征带来了计算量的提升。
目前,为了降低计算量,常用的目标跟踪算法有结合相关滤波和卷积神经网络的端到端的DCFNet算法,在训练阶段,通过反向传播法计算所得响应图与真实响应图标签之间的误差来训练,在线跟踪阶段,通过相关滤波层得到的响应图来寻找目标位置。DCFNet网络结构简单,仅包含两层卷积层和一层相关滤波层,其速度能够达到70帧每秒。也正是由于网络层次较少,DCFNet无法获取泛化能力强的特征,在目标外观变化较大的情况下表现较差,存在特征鲁棒性不足的问题。
发明内容
本发明的目的是针对上述现有技术的不足提出的一种目标跟踪方法及装置,该目的是通过以下技术方案实现的。
本发明的第一方面提出了一种目标跟踪方法,所述方法包括:
S1:利用参考帧中的待搜索目标的位置从参考帧中抠取目标图,将该目标图输入已训练的网络模型,以分别由所述网络模型中的浅层网络和深层网络提取该目标图的浅层特征和深层特征,并将浅层特征输出到浅层滤波层以初始化浅层滤波层,深层特征输出到深层滤波层以初始化深层滤波层;
S2:以待搜索目标在参考帧中的位置为中心对当前搜索帧进行多尺度采样,针对采样得到的每一候选样本,将该候选样本输入已训练的网络模型,以分别由所述网络模型中的浅层网络和深层网络提取该候选样本的浅层特征和深层特征,并将浅层特征输出到初始化后的浅层滤波层,深层特征输出到初始化后的深层滤波层;
S3:由初始化后的浅层滤波层利用浅层特征计算第一响应图,由初始化后的深层滤波层利用深层特征计算第二响应图;
S4:将第一响应图和第二响应图合并为第三响应图;
S5:利用多个候选样本的第三响应图确定待搜索目标在当前搜索帧中的位置,将当前搜索帧作为下一搜索帧的参考帧,并将下一搜索帧作为当前搜索帧,继续执行步骤S2。
本发明的第二方面提出了一种目标跟踪装置,所述装置包括:
初始化模块,用于利用参考帧中的待搜索目标的位置从参考帧中抠取目标图,将该目标图输入已训练的网络模型,以分别由所述网络模型中的浅层网络和深层网络提取该目标图的浅层特征和深层特征,并将浅层特征输出到浅层滤波层以初始化浅层滤波层,深层特征输出到深层滤波层以初始化深层滤波层;
跟踪模块,用于以待搜索目标在参考帧中的位置为中心对当前搜索帧进行多尺度采样,针对采样得到的每一候选样本,将该候选样本输入已训练的网络模型,以分别由所述网络模型中的浅层网络和深层网络提取该候选样本的浅层特征和深层特征,并将浅层特征输出到初始化后的浅层滤波层,深层特征输出到初始化后的深层滤波层;由初始化后的浅层滤波层利用浅层特征计算第一响应图,由初始化后的深层滤波层利用深层特征计算第二响应图;将第一响应图和第二响应图合并为第三响应图;利用多个候选样本的第三响应图确定待搜索目标在当前搜索帧中的位置,将当前搜索帧作为下一搜索帧的参考帧,并将下一搜索帧作为当前搜索帧,继续执行所述跟踪模块的过程。
在本发明实施例中,在满足实时跟踪速度的前提条件下,通过设计浅层网络和对应的浅层滤波层,及深层网络和对应的深层滤波层,由此通过浅层特征和深层特征的结合实现目标跟踪。由于浅层滤波层能够对目标精准定位,深层滤波层能够提升跟踪的鲁棒性,因此本发明可以解决现有技术存在的特征鲁棒性不足的问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明根据一示例性实施例示出的一种目标跟踪方法的实施例流程图;
图2为本发明根据图1所示实施例示出的一种总体算法结构示意图;
图3为本发明示出的一种不同网络层次的特征示意图;
图4为本发明方案与现有方案的结果对比图;
图5为本发明根据一示例性实施例示出的一种电子设备的硬件结构图;
图6为本发明根据一示例性实施例示出的一种目标跟踪装置的实施例流程图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
图1为本发明根据一示例性实施例示出的一种目标跟踪方法的实施例流程图,所述目标跟踪方法可以应用于电子设备(如摄像机、PC机、终端等设备),下面结合图2所示的总体算法结构示意图对本实施例进行详细阐述。
如图1所示,所述目标跟踪方法包括如下步骤:
步骤101:利用参考帧中的待搜索目标的位置从参考帧中抠取目标图,将该目标图输入已训练的网络模型,以分别由所述网络模型中的浅层网络和深层网络提取该目标图的浅层特征和深层特征,并将浅层特征输出到浅层滤波层以初始化浅层滤波层,深层特征输出到深层滤波层以初始化深层滤波层。
步骤101对应图2所示的初始化阶段,参考帧可以是用户指定的初始帧,该帧中标记有待搜索目标的位置,通过从该帧抠取出目标图,以对浅层滤波层和深层滤波层进行初始化。
具体地,通过最小化零回归函数分别实现浅层滤波层和深层滤波层的初始化阶段,假设经过卷积层提取得到的特征为
其宽度、高度及通道数分别为M*N*D,最小化零回归函数如下:
其中,
表示第d个通道的特征,f
d表示第d个通道的相关滤波器,G表示响应标签(在下面训练阶段进行详细介绍),λ表示正则化系数。
将上述公式(1)转化到傅里叶域,可求解得到相关滤波器:
其中,“-”表示该项转化到傅里叶域,“*”表示该项的共轭复数。
由此可见,浅层滤波层经过初始化后,由浅层特征得到D个通道的浅层滤波器,以在后续搜索帧中,由浅层滤波层通过浅层滤波器对候选样本的浅层特征进行相关操作得到第一响应图;深层滤波层经过初始化后,由深层特征得到D个通道的深层滤波器,以在后续搜索帧中,由深层滤波层通过深层滤波器对候选样本的深层特征进行相关操作得到第二响应图。
在本发明中,深层网络包含的卷积层数量大于浅层网络包含的卷积层数量。另外,浅层滤波层能够对目标精准定位,深层滤波层能够提升跟踪的鲁棒性。
考虑到算法的性能与速度,再如图2所示,浅层网络可以使用两个卷积层(1~2卷积层),深层网络可以使用六个卷积层(1~6卷积层)。
具体的的,1~2卷积层可以使用3*3的卷积核,为了弥补感受野的不足,4~6卷积层的可以分别使用7*7,5*5,3*3,3*3卷积核。
如图3所示,(a)为输入网络模型中的参考图,(b)为经过浅层网络中的1~2卷积层之后的浅层特征图,(c)为经过深层网络中的1~6卷积层之后的深层特征图。
步骤102:以待搜索目标在参考帧中的位置为中心对当前搜索帧进行多尺度采样,针对采样得到的每一候选样本,将该候选样本输入已训练的网络模型,以分别由所述网络模型中的浅层网络和深层网络提取该候选样本的浅层特征和深层特征,并将浅层特征输出到初始化后的浅层滤波层,深层特征输出到初始化后的深层滤波层。
步骤102和步骤103对应图2中所示的跟踪阶段,通过多尺度采样方式,将多个尺度的候选样本依次输入网络模型,假设待搜索目标在参考帧中所占的区域大小为W×H,多尺度采样公式如下:
Z={anW×anH} (3)
其中,
a为尺度因子,n为尺度等级,n的取值为
(每项取值为向下取整),S为采样次数(取奇数),假设采样次数S=3,则n取值为-1,0,1。
步骤103:由初始化后的浅层滤波层利用浅层特征计算第一响应图,由初始化后的深层滤波层利用深层特征计算第二响应图。
步骤104:将第一响应图和第二响应图合并为第三响应图。
基于上述步骤101的描述,由滤波层利用滤波器对候选样本的特征进行相关操作得到响应图的具体公式如下:
其中,
表示反傅里叶变换,
表示将第d个通道的滤波器转化到傅里叶域,
表示将第d个通道的特征转化到傅里叶域。
由此可见,在浅层滤波层中,是按照通道维度利用浅层滤波器对浅层特征进行相关操作得到第一响应图;在深层滤波层中,也是按照通道维度利用深层滤波器对深层特征进行相关操作得到第二响应图。
同样地,在步骤104中,是按照通道维度合并第一响应图和第二响应图,得到第三响应图。
步骤105:利用多个候选样本的第三响应图确定待搜索目标在当前搜索帧中的位置,将当前搜索帧作为下一搜索帧的参考帧,并将下一搜索帧作为当前搜索帧,继续执行步骤102。
在一实施例中,针对利用多个候选样本的第三响应图确定待搜索目标在当前搜索帧中的位置的过程,可以针对每一候选样本的第三响应图,获取该第三响应图中的峰值,并从所述峰值中获取最大峰值,利用最大峰值在所属第三响应图中的像素坐标和所属第三响应图对应的尺度确定待搜索目标在当前搜索帧中的位置。
其中,第三响应图中的峰值指的是响应图中最大的像素值,也即响应图中的最大响应值。待搜索目标在当前搜索帧中的位置表示形式可以是目标框大小和目标框在当前搜索帧中的一个顶点坐标。
假设,待搜索目标在参考帧中的目标框顶点坐标为(xp-1,yp-1),目标框大小为p×q,针对当前搜索帧,最大峰值在所属第三响应图中的像素坐标为(x1,y1),对应的尺度为n′,卷积层输出的特征的大小为M*N,则待搜索目标的偏移量为((x1-0.5M),(y1-0.5N)),进一步可得到待搜索目标在当前搜索帧中的目标框顶点坐标为((xp-1+x1-0.5M),(yp-1+y1-0.5N)),目标框大小为an′p×an′q。
针对上述步骤102至步骤105的过程,第一个搜索帧的参考帧为步骤101中的参考帧,即初始帧,从第二个搜索帧开始,每一搜索帧的参考帧为上一搜索帧。
如图4所示,为现有方案DCFNet与本发明方案的实验结果对比图:
(a)为成功率曲线图,纵坐标为成功率,横坐标为重叠率阈值,当算法所得目标框与真实目标框大于该阈值时,即可认为跟踪成功,此时得成功率为跟踪成功的帧数占总帧数的百分比,另外(a)中分数为成功率曲线的曲线下面积(Area Under Curve,AUC)。分数越高表示算法性能和精度越高。
(b)为距离精度曲线图,横坐标为距离阈值,纵坐标为距离精度得分,(b)中的分数为距离阈值为20像素值的距离精度得分,距离精度是跟踪算法获得的目标中心位置与真实目标中心位置之间的欧式距离,距离精度得分是指距离精度低于一定距离阈值的帧数占总帧数的百分比。
在本实施例中,在满足实时跟踪速度的前提条件下,本发明通过设计浅层网络和对应的浅层滤波层,及深层网络和对应的深层滤波层,由此通过浅层特征和深层特征的结合实现目标跟踪。由于浅层滤波层能够对目标精准定位,深层滤波层能够提升跟踪的鲁棒性,因此本发明可以解决现有技术存在的特征鲁棒性不足的问题。
在一实施例中,再如图2所示,为了保持浅层滤波层和深层滤波层的判别能力,每处理一个搜索帧,利用计算得到的待搜索目标在当前搜索帧中的目标框大小和目标框顶点坐标抠取出更新样本,并将更新样本输入已训练的网络模型,分别由网络模型中的浅层网络和深层网络提取该更新样本的浅层特征和深层特征,并将浅层特征输出到初始化后的浅层滤波层,深层特征输出到初始化后的深层滤波层,进而初始化后的浅层滤波层利用更新样本的浅层特征对浅层滤波器进行更新,初始化后的深层滤波层利用更新样本的深层特征对深层滤波器进行更新。
其中,基于上述公式(2)所示的滤波器公式,利用A表示分子,B表示分母,更新公式如下:
其中,t表示第t帧,η表示学习率。
基于上述图1所示实施例的基础上,网络模型的训练过程包括:
步骤1:从已获取的样本集中选择第一样本帧,并利用第一样本帧中的目标位置从第一样本帧中抠取目标图,将该目标图输入待训练的网络模型,以分别由网络模型中的浅层网络和深层网络提取该目标图的浅层特征和深层特征,并将浅层特征输出到浅层滤波层以初始化浅层滤波层,深层特征输出到深层滤波层以初始化深层滤波层。
步骤2:从所述样本集中选取与第一样本帧包含同一目标的第二样本帧,并利用第二样本帧中的目标位置从第二样本帧中抠取目标图,将该目标图输入待训练的网络模型,以分别由网络模型中的浅层网络和深层网络提取该候选样本的浅层特征和深层特征,并将浅层特征输出到初始化后的浅层滤波层,深层特征输出到初始化后的深层滤波层。
其中,样本集中可以包括多个目标的视频帧序列,并每一视频帧中均预先标记有目标框大小和目标框的顶点坐标。步骤1和步骤2从样本集中选取的第一样本帧和第二样本帧属于同一目标的视频序列。
步骤3:由初始化后的浅层滤波层利用浅层特征计算第一响应图,由初始化后的深层滤波层利用深层特征计算第二响应图。
步骤4:利用第一响应图与已获取的第一响应标签,及第二响应图与已获取的第二响应标签计算损失值,并根据所述损失值调整浅层网络和深层网络中的参数,直至损失值小于预设值。
损失值计算公式如下:
其中,w表示卷积层参数,l表示第l层相关滤波层,l取值为1或2,取1表示浅层滤波层,取2表示深层滤波层。
在本发明中,深层特征关注特征的鲁棒性,而浅层特征对小平移变化更为敏感,可以用于目标的精准定位。而在实际应用中,在响应标签中有过多的正样本会导致无法精确定位目标,因此可以通过改变响应标签的标准差来达到控制正样本数量的目的。
在响应标签函数中,正样本的数量与标准差成正比,响应标签函数如下:
其中,(x,y)为响应标签的坐标,(M,N)分别为响应标签的宽度和高度,也即卷积层输出特征的宽度和高度,标准差σ越大,正样本的比例越高,标准差σ越小,正样本的比例越低。
由此可见,步骤4中所涉及的第一响应标签是由浅层网络输出的浅层特征的宽度、高度以及第一预设标准差得到;第二响应标签是由深层网络输出的深层特征的宽度、高度以及第二预设标准差得到。另外,本发明在利用上述公式(9)生成第一响应标签时所使用的第一预设标准差小于生成第二响应标签时所使用的的第二预设标准差。
至此,完成网络模型的训练过程。
图5为本发明根据一示例性实施例示出的一种电子设备的硬件结构图,该电子设备包括:通信接口501、处理器502、机器可读存储介质503和总线504;其中,通信接口501、处理器502和机器可读存储介质503通过总线504完成相互间的通信。处理器502通过读取并执行机器可读存储介质503中与目标跟踪方法的控制逻辑对应的机器可执行指令,可执行上文描述的目标跟踪方法,该方法的具体内容参见上述实施例,此处不再累述。
本发明中提到的机器可读存储介质503可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:易失存储器、非易失性存储器或者类似的存储介质。具体地,机器可读存储介质503可以是RAM(Radom Access Memory,随机存取存储器)、闪存、存储驱动器(如硬盘驱动器)、任何类型的存储盘(如光盘、DVD等),或者类似的存储介质,或者它们的组合。
与前述目标跟踪方法的实施例相对应,本发明还提供了目标跟踪装置的实施例。
图6为本发明根据一示例性实施例示出的一种目标跟踪装置的实施例流程图,所述目标跟踪装置可以应用在电子设备上,如图6所示,所述目标跟踪装置包括:
初始化模块610,用于利用参考帧中的待搜索目标的位置从参考帧中抠取目标图,将该目标图输入已训练的网络模型,以分别由所述网络模型中的浅层网络和深层网络提取该目标图的浅层特征和深层特征,并将浅层特征输出到浅层滤波层以初始化浅层滤波层,深层特征输出到深层滤波层以初始化深层滤波层;
跟踪模块620,用于以待搜索目标在参考帧中的位置为中心对当前搜索帧进行多尺度采样,针对采样得到的每一候选样本,将该候选样本输入已训练的网络模型,以分别由所述网络模型中的浅层网络和深层网络提取该候选样本的浅层特征和深层特征,并将浅层特征输出到初始化后的浅层滤波层,深层特征输出到初始化后的深层滤波层;由初始化后的浅层滤波层利用浅层特征计算第一响应图,由初始化后的深层滤波层利用深层特征计算第二响应图;将第一响应图和第二响应图合并为第三响应图;利用多个候选样本的第三响应图确定待搜索目标在当前搜索帧中的位置,将当前搜索帧作为下一搜索帧的参考帧,并将下一搜索帧作为当前搜索帧,继续执行所述跟踪模块620的过程。
在一可选实现方式中,所述深层网络包含的卷积层数量大于所述浅层网络包含的卷积层数量。
在一可选实现方式中,所述跟踪模块620,具体用于在利用多个候选样本的第三响应图确定待搜索目标在当前搜索帧中的位置过程中,针对每一候选样本的第三响应图,获取该第三响应图中的峰值;从所述峰值中获取最大峰值;利用最大峰值在所属第三响应图中的像素坐标和所属第三响应图对应的尺度确定待搜索目标在当前搜索帧中的位置。
在一可选实现方式中,所述装置还包括(图6中未示出):
训练模块,用于从已获取的样本集中选择第一样本帧,并利用第一样本帧中的目标位置从第一样本帧中抠取目标图,将该目标图输入待训练的网络模型,以分别由网络模型中的浅层网络和深层网络提取该目标图的浅层特征和深层特征,并将浅层特征输出到浅层滤波层以初始化浅层滤波层,深层特征输出到深层滤波层以初始化深层滤波层;从所述样本集中选取与第一样本帧包含同一目标的第二样本帧,并利用第二样本帧中的目标位置从第二样本帧中抠取目标图,将该目标图输入待训练的网络模型,以分别由网络模型中的浅层网络和深层网络提取该候选样本的浅层特征和深层特征,并将浅层特征输出到初始化后的浅层滤波层,深层特征输出到初始化后的深层滤波层;由初始化后的浅层滤波层利用浅层特征计算第一响应图,由初始化后的深层滤波层利用深层特征计算第二响应图;利用第一响应图与已获取的第一响应标签,及第二响应图与已获取的第二响应标签计算损失值,并根据所述损失值调整浅层网络和深层网络中的参数,直至损失值小于预设值。
在一可选实现方式中,所述第一响应标签由浅层网络输出的浅层特征的宽度、高度以及第一预设标准差得到;所述第二响应标签由深层网络输出的深层特征的宽度、高度以及第二预设标准差得到;所述第一预设标准差小于所述第二预设标准差。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。