本发明属于计算机视觉跟踪技术领域,具体涉及一种基于表观特征和深度特征的目标跟踪方法、系统、装置。
背景技术:
目标跟踪是计算机视觉领域中最基本的问题之一,其任务是估计视频序列中的对象或图像区域的运动轨迹。目标跟踪在实际场景中具有非常广泛的应用,通常充当较大计算机视觉系统中的一个组件。例如,自动驾驶和基于视觉的主动安全系统都依赖于跟踪车辆、骑自行车的人和行人的位置。在机器人系统中,跟踪感兴趣的目标是视觉感知中非常重要的一个方面,进而从相机传感器提取高级信息以用于决策和导航。除了机器人相关的应用,目标跟踪还经常被用于自动视频分析,在自动运动分析中,首先就是通过检测和跟踪比赛中涉及的运动员和物体来提取信息。其他的应用还包括增强现实技术和动态结构技术,它们的任务通常是跟踪不同的局部图像区域。从应用的多样性可以看出,目标跟踪问题本身是非常多样化的。
近几十年来,目标跟踪领域虽然取得了突破性的进展,产生了众多经典的研究成果。但是,目标跟踪领域依旧存在着很多理论和技术问题有待解决,特别是跟踪过程中背景干扰、光照变化、尺度变化、遮挡等在开放环境中遇到的复杂问题。所以如何能够在复杂场景下自适应、实时和鲁棒的跟踪目标一直是广大研究者需要解决的问题,研究价值和研究空间依然很大。
对于单目标跟踪,特征的好坏直接决定跟踪性能的好坏。早期基于手工特征的判别式模型只能够提取到目标对象的一些浅层特征,并不能够很好的描述目标对象的本质,而近期出现的卷积神经网络,通过分层结构,可以学习到目标对象不同层次的特征表达,但是却忽略了目标场景全局的深度信息。深度信息可以作为一种辅助特征为目标提供全局信息,解决目标被遮挡等问题,从而提高模型在复杂场景中的鲁棒性。因此,本发明提出了一种基于表观特征和深度特征的目标跟踪方法。
技术实现要素:
为了解决现有技术中的上述问题,即为了解决现有目标跟踪方法忽略目标场景的深度信息导致跟踪精度低的问题,本发明第一方面,提出了一种基于表观特征和深度特征的目标跟踪的方法,该方法包括:
步骤s10,根据t-1帧的目标位置和预设的目标尺寸,获取待追踪的目标在第t帧图像的区域,将该区域作为目标区域;并基于所述t-1帧的目标位置的中心点获取n倍于所述目标区域大小的区域,将其作为搜索区域;
步骤s20,通过表观特征提取网络、深度特征提取网络分别提取所述目标区域、所述搜索区域对应的表观特征、深度特征;
步骤s30,基于预设权重,分别对所述目标区域、所述搜索区域对应的表观特征、深度特征进行加权平均,得到目标区域的融合特征、搜索区域的融合特征;
步骤s40,根据所述目标区域的融合特征、所述搜索区域的融合特征,通过相关滤波器得到所述待追踪目标的响应图;将所述响应图的峰值对应的位置作为第t帧的目标位置;
其中,
所述表观特征提取网络基于卷积神经网络构建,用于根据输入的图像获取其对应的表观特征;
所述深度特征提取网络基于resnet网络构建,用于根据输入的图像获取其对应的深度特征。
在一些优选的实施方式中,步骤s10中“根据t-1帧的目标位置和预设的目标尺寸,获取待追踪的目标在第t帧图像的区域,将该区域作为目标区域”,其方法为:若t等于1,根据预设的目标位置和预设的目标尺寸,获取目标待追踪目标的目标区域;若t大于1,则根据t-1帧的目标位置和预设的目标尺寸,获取待追踪目标的目标区域。
在一些优选的实施方式中,所述表观特征提取网络其结构为:两个卷积层、一个相关滤波层,每个卷积层后连接一个最大池化层和relu激活函数;所述网络在训练过程中采用反向传播算法进行训练。
在一些优选的实施方式中,所述深度特征提取网络其结构为:5个卷积层、5个反卷积层;所述深度特征提取网络在训练过程中通过双目图像互相重建进行训练。
在一些优选的实施方式中,所述深度特征提取网络在提取深度特征的过程中,若t等于1,其提取方法为:
基于深度特征提取网络获取第一帧图像的深度特征;
基于所述第一帧图像的深度特征、所述预设的目标位置,获取所述目标区域、所述搜索区域的深度特征。
在一些优选的实施方式中,所述相关滤波器其在对所述目标区域进行滤波时,通过尺度变换方法得到不同的尺度,根据不同的尺度对所述目标区域进行放大或者缩小,然后进行滤波。所述尺度变换方法为:
其中,a为尺度系数,s为尺度池,s为预设的尺度数,as为尺度。
在一些优选的实施方式中,在步骤s40之后还包括相关滤波器状态值的更新,其方法为:
获取相关滤波器在t-1帧的状态值;
基于所述状态值、所述第t帧的目标位置、预设的学习率,更新相关滤波器t帧的状态值。
本发明的第二方面,提出了一种基于表观特征和深度特征的目标跟踪的系统,该系统包括获取区域模块、提取特征模块、特征融合模块、输出位置模块;
所述获取区域模块,配置为根据t-1帧的目标位置和预设的目标尺寸,获取待追踪的目标在第t帧图像的区域,将该区域作为目标区域;并基于所述t-1帧的目标位置的中心点获取n倍于所述目标区域大小的区域,将其作为搜索区域;
所述提取特征模块,配置为通过表观特征提取网络、深度特征提取网络分别提取所述目标区域、所述搜索区域对应的表观特征、深度特征;
所述特征融合模块,配置为基于预设权重,分别对所述目标区域、所述搜索区域对应的表观特征、深度特征进行加权平均,得到目标区域的融合特征、搜索区域的融合特征;
所述输出位置模块,配置为根据所述目标区域的融合特征、所述搜索区域的融合特征,通过相关滤波器得到所述待追踪目标的响应图;将所述响应图的峰值对应的位置作为第t帧的目标位置;
其中,
所述表观特征提取网络基于卷积神经网络构建,用于根据输入的图像获取其对应的表观特征;
所述深度特征提取网络基于resnet网络构建,用于根据输入的图像获取其对应的深度特征。
本发明的第三方面,提出了一种存储装置,其中存储有多条程序,所述程序应用由处理器加载并执行以实现上述的基于表观特征和深度特征的目标跟踪方法。
本发明的第四方面,提出了一种处理装置,包括处理器、存储装置;处理器,适用于执行各条程序;存储装置,适用于存储多条程序;所述程序适用于由处理器加载并执行以实现上述的基于表观特征和深度特征的目标跟踪方法。
本发明的有益效果:
本发明提取目标场景的深度信息,提高了目标跟踪的精度。本发明通过将相关滤波融入到卷积神经网络中,使得学习到的卷积特征能够与相关滤波紧密耦合,从而更适应目标跟踪任务。由于相关滤波是在频域推导的,保持了较高的效率,因此能够保证算法在实时性跟踪的前提下大幅提升跟踪效果。
并且,本发明通过将深度特征与表观特征相融合,为单一特征不能够很好的表达目标的属性提供了一种补充特征,由于深度特征是从目标场景整个帧中提取到的,因此具有全局信息,包含了表观特征没有的深度信息,解决了目标被部分遮挡与形变等问题,使跟踪算法具有更好的鲁棒性。
附图说明
通过阅读参照以下附图所做的对非限制性实施例所做的详细描述,本申请的其他特征、目的和优点将会变得更明显。
图1是本发明一种实施例的基于表观特征和深度特征的目标跟踪方法的流程示意图;
图2是本发明一种实施例的基于表观特征和深度特征的目标跟踪方法的框架示意图;
图3是本发明一种实施例的基于表观特征和深度特征的目标跟踪方法的训练过程的框架示意图;
图4是本发明一种实施例的基于表观特征和深度特征的目标跟踪方法的实际应用的示例图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明的基于表观特征和深度特征的目标跟踪方法,包括以下步骤:
步骤s10,根据t-1帧的目标位置和预设的目标尺寸,获取待追踪的目标在第t帧图像的区域,将该区域作为目标区域;并基于所述t-1帧的目标位置的中心点获取n倍于所述目标区域大小的区域,将其作为搜索区域;
步骤s20,通过表观特征提取网络、深度特征提取网络分别提取所述目标区域、所述搜索区域对应的表观特征、深度特征;
步骤s30,基于预设权重,分别对所述目标区域、所述搜索区域对应的表观特征、深度特征进行加权平均,得到目标区域的融合特征、搜索区域的融合特征;
步骤s40,根据所述目标区域的融合特征、所述搜索区域的融合特征,通过相关滤波器得到所述待追踪目标的响应图;将所述响应图的峰值对应的位置作为第t帧的目标位置;
其中,
所述表观特征提取网络基于卷积神经网络构建,用于根据输入的图像获取其对应的表观特征;
所述深度特征提取网络基于resnet网络构建,用于根据输入的图像获取其对应的深度特征。
为了更清晰地对本发明基于表观特征和深度特征的目标跟踪方法进行说明,下面结合附图1对本发明方法一种实施例中各步骤进行展开详述。
在本发明中,采用一台具有2.8g赫兹中央处理器和1g字节内存的计算机,网络的训练过程在pytorch框架下实现,整个网络的训练和测试过程均采用多个nvidiatitanxpgpu并行处理,并用python语言编制了整个目标跟踪技术的工作程序,实现了本发明的方法。
下文优选实施例中,先对表观特征提取网络、深度特征提取网络、相关滤波器进行详述,然后再对采用表观特征提取网络、深度特征提取网络、相关滤波器获取待追踪目标的位置的基于表观特征和深度特征的目标跟踪方法进行详述。
1、表观特征提取网络、深度特征提取网络、相关滤波器的训练
步骤a1,构建训练数据集
在本发明中,训练集的数据来源于otb100数据集,其中包含100个逐帧标注的视频、11种目标表观变化属性、2种评价指标。11种属性分别为:光照变化、尺度变化、遮挡、非刚性形变、运动模糊、快速运动、水平旋转、垂直旋转、移出视野、背景杂乱和低分辨率。
两种评价指标分别为中心点位置误差(centerlocationerror,cle)和矩形框重叠率(centerlocationerror,cle)。针对于第一种基于中心点位置误差的评价指标,也就是精度图,定义为被跟踪目标的中心位置与人工标记矩形框位置中心点之间的平均欧几里德距离,数学表达式如公式(1)所示:
其中,(xg,yg)表示人工标记的矩形框的位置(groundtruth),(xp,yp)是当前帧中预测的目标位置。
如果δgp小于给定的阈值,那么这一帧的结果就被认定为是成功的。在精度图中,δgp的阈值设定为20个像素。精度图并不能给出估计的目标尺寸和形状的对比,因为中心位置误差量化了像素的差异。因此,我们经常使用鲁棒性更强的成功率图来评价算法。针对于第二种基于重叠率的评价标准,也就是成功率图:假设预测的矩形框是rt,人工标注的矩形框是ra,那么重叠率(overlapscore,os)的计算公式如公式(2)所示:
s=|rt∩ra|/|rt∪ra|(2)
其中,∪和∩分别表示两个区域的并集和交集,|·|表示区域内像素的个数。os用于确定跟踪算法是否已成功跟踪当前视频帧中的目标。具有大于阈值的os分数的帧被称为成功跟踪目标的帧。在成功率图中,阈值在0-1之间变化,因此产生的结果图为变化曲线图。我们使用精度图和成功率图的曲线下面积来表示算法的性能。
步骤a2,离线训练表观特征提取网络
首先准备训练数据,imagenet中的vid数据集,包含3000多段视频。其次,设计网络结构,由于目标跟踪的实时性也是评价算法非常重要的指标,因此本发明设计了一个轻量级网络,我们使用siamesenetwork作为网络的基本结构,一共包含两个卷积层,输入数据的大小是125*125,在每一层卷积后都连接了最大值池化层和relu激活函数。在此基础上,添加了相关滤波层,并且推导了网络的反向传播。整个过程可以描述为:给出搜索区域的特征
其中,θ为网络参数,y为标准高斯响应,γ为正则化系数,l(θ)为目标损失函数,d为视频总帧数,l为滤波器通道,
目标函数应该包含显示的正则化,否则,目标将得到非收敛条件。在常规参数优化中使用权重衰减方法来隐含这种正则化。此外,为了限制特征映射值的大小并增加训练过程的稳定性,在卷积层的末尾添加一个局部响应归一化层(localresponsenormalization,lrn)。并基于深度学习框架pytorch对检测分支和学习分支进行反向传播,当误差向后传播到实值特征映射时,其余的反向传播就可以作为传统的cnn优化进行传导。由于相关滤波器层中反向传播的所有操作仍然是在傅里叶频域中的hadamard运算,可以保持(相关滤波器)dcf的高效性并将离线训练应用于大规模数据集。在完成离线训练之后,将获得一个特定的特征提取器,用于在线判性别相关滤波跟踪算法。
步骤a3,训练深度特征网络
在测试时给定单个图像i,目标是学习可以预测每个像素场景深度的函数f,如公式(6)所示:
其中,
大多数现有的基于学习的方法将其视为有监督学习问题。其中它们一般都具有彩色输入图像及其在训练时的相应目标深度值。而作为一种替代方案,可以将深度估计作为训练期间的图像重建问题。具体来说,我们可以输入两幅图片,分别是用标准双目相机在同一时间获取的左、右彩色图像il和ir,l、r代表左、右。尝试去找到一种对应关系dr,将其应用于左图像时,能够重建出右图像,而不是试图直接预测深度信息。将重建的图像il(dr)称为
其中,cap是表观匹配损失函数,表示重建的图像与相应的训练输入相似程度,cds是差异平滑度损失函数,clr是左右差异一致性损失函数,
步骤a4,训练相关滤波器
如图3所示,基于步骤a1构建的训练集,通过步骤a2训练好的表观特征提取网络和步骤a3训练好的深度特征提取网络得到数据集对应的表观特征、深度特征。
为了增加跟踪性能的鲁棒性,防止目标受到背景的干扰,在图3中,目标模板即目标区域,根据t-1帧的目标位置和预设的目标尺寸获取,选取目标区域周围2倍的范围作为搜索区域,输入到表观特征提取网络中。这样做的目的是为了增加更多的背景信息,防止目标漂移,增加了模型的判别性。同样,在深度特征提取网络中分别提取目标模板和搜索区域的深度特征。为了获取更多的深度特征,在视频的第一帧,首先将整个图像输入到深度特征提取网络中,提取到整个图像的深度信息,然后在目标区域处裁剪处深度信息,即我们需要的深度特征。
由于提取到的表观特征和深度特征的维数不匹配,表观特征是32维,而深度特征是1维,因此,为了避免特征融合过程中由于维数相差较大而导致深度特征对算法的影响被削弱,我们引入了一个权重系数α对特征进行融合,融合过程如公式(8)所示:
其中,
将融合特征经过循环移位,产生出正负样本,通过公式
为了训练相关滤波器,关于预测响应图和理想响应图之间差异的优化公式如公式(9)所示:
其中,
在新的一帧到来时,为了检测目标,首先从上一帧估计的目标区域中提取表观特征和深度特征,然后将它们组合在一起获得统一的特征。在相关滤波器层的帮助下,模板在搜索区域上的响应图可以通过公式(10)进行计算:
其中,
接着通过在响应图上的最大值来获得当前视频帧中目标的位置。为了确保所提出的模型的鲁棒性,滤波器h以预定义的学习率η来进行更新,如公式(11)所示:
其中,
至于目标的尺度变化,我们使用具有比例因子的金字塔图像块进行尺度滤波
得出的目标响应图对应着该点是目标的概率值,因此,选择响应图中最大的点为估计的目标位置,当得出新一帧中目标所在位置时,再更新运动模型。在线跟踪期间,只是随着时间的推移而更新滤波器。可以用增量模式表示目标的优化问题,如公式(12)所示:
其中,ε为输出损失,p为第p个样本,t为当前的样本,βt为当前样本的影响因子,
参数βt>0是样本xt的影响因子,与此同时,方程中的闭式解也可以延伸到时间序列,如公式(13)所示:
其中,
这种增量更新的优点是我们不需要保存大量的样本集,因此只需要占用很小的空间。
2、基于表观特征和深度特征的目标跟踪方法
本发明实施例的一种基于表观特征和深度特征的目标跟踪方法,包括以下步骤:
步骤s10,根据t-1帧的目标位置和预设的目标尺寸,获取待追踪的目标在第t帧图像的区域,将该区域作为目标区域;并基于所述t-1帧的目标位置的中心点获取n倍于所述目标区域大小的区域,将其作为搜索区域。
在本实施例中,在视频的第一帧会用矩形框将目标位置和目标尺寸给定。在其他帧的情况下,会根据前一帧的目标位置和预先设定的目标尺寸获取目标在当前帧图像中的位置区域,将其作为目标区域,并以前一帧的目标区域为中心获取2倍于目标区域大小的区域,作为搜索区域。这样可以增加跟踪性能的鲁棒性,防止目标受到背景的干扰。
本实施例中的目标尺寸根据实际的应用情况而设定。
步骤s20,通过表观特征提取网络、深度特征提取网络分别提取所述目标区域、所述搜索区域对应的表观特征、深度特征。
在本实施例中,将步骤s10中获取的目标区域和搜索区域分别输入表观特征提取网络、深度特征提取网络,得到各自对应的表观特征和深度特征。
提取视频第一帧图像的深度特征时,首先将整个图像输入到深度特征提取网络中,提取到整个图像的深度信息,然后在目标位置处裁剪处深度信息,即我们需要的深度特征。
其中,表观特征一共包含32维,大小是125*125*32,深度特征的大小限制到125*125*1。
步骤s30,基于预设权重,分别对所述目标区域、所述搜索区域对应的表观特征、深度特征进行加权平均,得到目标区域的融合特征、搜索区域的融合特征。
在本实施例中,由于提取到的表观特征和深度特征的维数不匹配,表观特征是32维,而深度特征是1维,因此,为了避免特征融合过程中由于维数相差较大而导致深度特征对算法的影响被削弱,我们引入了一个权重系数对特征进行融合,分别得到目标区域和搜索区域的融合特征。
步骤s40,根据所述目标区域的融合特征、所述搜索区域的融合特征,通过相关滤波器得到所述待追踪目标的响应图;将所述响应图的峰值对应的位置作为第t帧的目标位置。
在本实施例中,基于目标区域和搜索区域的融合特征,经过训练好的相关滤波器,得到响应图,通过在响应图上的最大值来获得当前视频帧中待追踪的目标的位置。
在获取到当前帧的目标位置,基于上一帧滤波器的状态值和预设的学习率,更新相关滤波器。
步骤s10-步骤s40,可以参考图4,其中基于目标区域图像(currentimage)和搜索区域图像(searchareaimage)分别通过表观特征提取网络(anet)和深度特征提取网络(dnet),得到表观特征和深度特征,基于预设的权重α进行加权平均,得到currentimage和searchareaimage各自的融合特征,基于相关滤波器(dcf)得到响应图(responsemap),通过在响应图上的最大值来获得目标的位置。
本发明第二实施例的一种基于表观特征和深度特征的目标跟踪系统,如图2所示,包括:获取区域模块100、提取特征模块200、特征融合模块300、输出位置模块400;
获取区域模块100,配置为根据t-1帧的目标位置和预设的目标尺寸,获取待追踪的目标在第t帧图像的区域,将该区域作为目标区域;并基于所述t-1帧的目标位置的中心点获取n倍于所述目标区域大小的区域,将其作为搜索区域;
提取特征模块200,配置为通过表观特征提取网络、深度特征提取网络分别提取所述目标区域、所述搜索区域对应的表观特征、深度特征;
特征融合模块300,配置为基于预设权重,分别对所述目标区域、所述搜索区域对应的表观特征、深度特征进行加权平均,得到目标区域的融合特征、搜索区域的融合特征;
输出位置模块400,配置为根据所述目标区域的融合特征、所述搜索区域的融合特征,通过相关滤波器得到所述待追踪目标的响应图;将所述响应图的峰值对应的位置作为第t帧的目标位置;
其中,
所述表观特征提取网络基于卷积神经网络构建,用于根据输入的图像获取其对应的表观特征;
所述深度特征提取网络基于resnet网络构建,用于根据输入的图像获取其对应的深度特征。
所述技术领域的技术人员可以清楚的了解到,为描述的方便和简洁,上述描述的系统的具体的工作过程及有关说明,可以参考前述方法实施例中的对应过程,在此不再赘述。
需要说明的是,上述实施例提供的基于表观特征和深度特征的目标跟踪系统,仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块来完成,即将本发明实施例中的模块或者步骤再分解或者组合,例如,上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块,以完成以上描述的全部或者部分功能。对于本发明实施例中涉及的模块、步骤的名称,仅仅是为了区分各个模块或者步骤,不视为对本发明的不当限定。
本发明第三实施例的一种存储装置,其中存储有多条程序,所述程序适用于由处理器加载并实现上述的基于表观特征和深度特征的目标跟踪方法。
本发明第四实施例的一种处理装置,包括处理器、存储装置;处理器,适于执行各条程序;存储装置,适于存储多条程序;所述程序适于由处理器加载并执行以实现上述的基于表观特征和深度特征的目标跟踪方法。
所述技术领域的技术人员可以清楚的了解到,未描述的方便和简洁,上述描述的存储装置、处理装置的具体工作过程及有关说明,可以参考前述方法实例中的对应过程,在此不再赘述。
本领域技术人员应该能够意识到,结合本文中所公开的实施例描述的各示例的模块、方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,软件模块、方法步骤对应的程序可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。为了清楚地说明电子硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以电子硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
术语“第一”、“第二”等是用于区别类似的对象,而不是用于描述或表示特定的顺序或先后次序。
术语“包括”或者任何其它类似用语旨在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备/装置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者还包括这些过程、方法、物品或者设备/装置所固有的要素。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。