目标跟踪方法、装置、计算机装置及计算机存储介质与流程

文档序号:17940962发布日期:2019-06-18 23:05阅读:127来源:国知局
目标跟踪方法、装置、计算机装置及计算机存储介质与流程

本发明涉及图像处理技术领域,具体涉及一种目标跟踪方法、装置、计算机装置及计算机存储介质。



背景技术:

目标跟踪是指对视频或图像序列中的运动物体(例如交通视频中的汽车和行人)进行跟踪,得到运动物体在每一帧的位置。目标跟踪在视频监控、自动驾驶和视频娱乐等领域有广泛的应用。

目前的目标跟踪主要采用了trackbydetection架构,在视频或图像序列的每帧图像上通过检测器检测出各个目标的位置信息,然后将当前帧的目标位置信息和前一帧的目标位置信息进行匹配。然而,现有方案目标跟踪的鲁棒性不高,如果光照发生变化,则跟踪效果不佳。



技术实现要素:

鉴于以上内容,有必要提出一种目标跟踪方法、装置、计算机装置及计算机存储介质,其可以提高目标跟踪的鲁棒性和场景适应性。

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

利用目标检测器检测当前图像中的预定类型目标,得到所述当前图像中的第一目标框;

获取所述当前图像的前一帧图像中的第二目标框,利用预测器预测所述第二目标框在所述当前图像中的位置,得到所述第二目标框在所述当前图像中的预测框;

将所述当前图像中的第一目标框与所述预测框进行匹配,得到所述第一目标框与所述预测框的匹配结果;

根据所述第一目标框与所述预测框的匹配结果,在所述当前图像中更新目标的位置。

另一种可能的实现方式中,所述目标检测器是加快区域卷积神经网络模型,所述加快区域卷积神经网络模型包括区域建议网络和快速区域卷积神经网络,所述加快区域卷积神经网络模型在检测所述图像中的预定类型目标之前按照以下步骤进行训练:

第一训练步骤,使用imagenet模型初始化所述区域建议网络,使用第一训练样本集训练所述区域建议网络;

第二训练步骤,使用所述第一训练步骤中训练后的区域建议网络生成所述第一训练样本集中各个样本图像的候选框,利用所述候选框训练所述快速区域卷积神经网络;

第三训练步骤,使用所述第二训练步骤中训练后的快速区域卷积神经网络初始化所述区域建议网络,使用所述第一训练样本集训练所述区域建议网络;

第四训练步骤,使用所述第三训练步骤中训练后的区域建议网络初始化所述快速区域卷积神经网络,并保持所述卷积层固定,使用所述第一训练样本集训练所述快速区域卷积神经网络。

另一种可能的实现方式中,所述加快区域卷积神经网络模型采用zf框架,所述区域建议网络和所述快速区域卷积神经网络共享5个卷积层。

另一种可能的实现方式中,所述预测器是构建有特征金字塔网络的深度神经网络模型。

另一种可能的实现方式中,在所述利用预测器预测所述第二目标框在所述当前图像中的位置,得到所述第二目标框在所述当前图像中的预测框之前,所述方法还包括:

使用第二训练样本集对所述预测器进行训练,所述第二训练样本集包括不同光照、形变和高速运动物体的样本图像。

另一种可能的实现方式中,所述将所述当前图像中的第一目标框与所述预测框进行匹配包括:

计算所述第一目标框与所述预测框的重叠面积比例,根据所述重叠面积比例确定每一对匹配的所述第一目标框与所述预测框;或

计算所述第一目标框与所述预测框的中心点的距离,根据所述距离确定每一对匹配的所述第一目标框与所述预测框。

另一种可能的实现方式中,所述根据所述第一目标框与所述预测框的匹配结果,在所述当前图像中更新目标的位置包括:

若所述第一目标框与所述预测框匹配,则在所述当前图像中将所述第一目标框的位置作为所述预测框对应的目标更新后的位置;

若所述第一目标框与任意所述预测框不匹配,则在所述当前图像中将所述第一目标框的位置作为新的目标的位置;

若所述预测框与任意所述第一目标框不匹配,则在所述当前图像中将所述预测框对应的目标作为丢失的目标。

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

检测模块,用于利用目标检测器检测当前图像中的预定类型目标,得到所述当前图像中的第一目标框;

预测模块,用于获取所述当前图像的前一帧图像中的第二目标框,利用预测器预测所述第二目标框在所述当前图像中的位置,得到所述第二目标框在所述当前图像中的预测框;

匹配模块,用于将所述当前图像中的第一目标框与所述预测框进行匹配,得到所述第一目标框与所述预测框的匹配结果;

更新模块,用于根据所述第一目标框与所述预测框的匹配结果,在所述当前图像中更新目标的位置。

本申请的第三方面提供一种计算机装置,所述计算机装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现所述目标跟踪方法。

本申请的第四方面提供一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述目标跟踪方法。

本发明利用目标检测器检测当前图像中的预定类型目标,得到所述当前图像中的第一目标框;获取所述当前图像的前一帧图像中的第二目标框,利用预测器预测所述第二目标框在所述当前图像中的位置,得到所述第二目标框在所述当前图像中的预测框;将所述当前图像中的第一目标框与所述预测框进行匹配,得到所述第一目标框与所述预测框的匹配结果;根据所述第一目标框与所述预测框的匹配结果,在所述当前图像中更新目标的位置。本发明提高了目标跟踪的鲁棒性和场景适应性。

附图说明

图1是本发明实施例提供的目标跟踪方法的流程图。

图2是本发明实施例提供的目标跟踪装置的结构图。

图3是本发明实施例提供的计算机装置的示意图。

图4是siamfc模型的示意图。

具体实施方式

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。

优选地,本发明的目标跟踪方法应用在一个或者多个计算机装置中。所述计算机装置是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程门阵列(field-programmablegatearray,fpga)、数字处理器(digitalsignalprocessor,dsp)、嵌入式设备等。

所述计算机装置可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机装置可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。

实施例一

图1是本发明实施例一提供的目标跟踪方法的流程图。所述目标跟踪方法应用于计算机装置。

本发明目标跟踪方法对视频或图像序列中特定类型的运动物体(例如行人)进行跟踪,得到运动物体在每一帧图像中的位置。所述目标跟踪方法可以解决现有方案无法对高速运动的目标进行跟踪的缺点,提高了目标跟踪的鲁棒性。

如图1所示,所述目标跟踪方法包括:

步骤101,利用目标检测器检测当前图像中的预定类型目标,得到所述当前图像中的第一目标框。

所述预定类型目标可以包括行人、汽车、飞机、船只等。所述预定类型目标可以是一种类型的目标(例如行人),也可以是多种类型的目标(例如行人和汽车)。

所述目标检测器可以是具有分类和回归功能的神经网络模型。在本实施例中,所述目标检测器可以是加快区域卷积神经网络(fasterregion-basedconvolutionalneuralnetwork,fasterrcnn)模型。

fasterrcnn模型包括区域建议网络(regionproposalnetwork,rpn)和快速区域卷积神经网络(fastregion-basedconvolutionneuralnetwork,fastrcnn)。

所述区域建议网络和所述快速区域卷积神经网络有共享的卷积层,所述卷积层用于提取图像的特征图。所述区域建议网络根据所述特征图生成图像的候选框,并将生成的候选框输入所述快速区域卷积神经网络。所述快速区域卷积神经网络根据所述特征图对所述候选框进行筛选和调整,得到图像的目标框。

在利用目标检测器检测当前图像中的预定类型目标的第一目标框之前,使用第一训练样本集对所述目标检测器进行训练。在训练时,所述卷积层提取第一训练样本集中各个样本图像的特征图,所述区域建议网络根据所述特征图获取所述各个样本图像中的候选框,所述快速区域卷积神经网络根据所述特征图对所述候选框进行筛选和调整,得到所述各个样本图像的目标框。所述目标框可以包括不同类型目标(例如行人、汽车、飞机、船只等)的目标框。

在一较佳实施例中,所述加快区域卷积神经网络模型采用zf框架,所述区域建议网络和所述快速区域卷积神经网络共享5个卷积层。zf框架是一种常用的网络结构,由matthewdzeiler和robfergus于2013年在“visualizingandunderstandingconvolutionalnetworks”论文中提出,属于alexnet网络的变体。zf基于alexnet进行了微调,使用relu激活函数和交叉熵代价函数,使用较小的卷积核以保留更多原始像素信息。

在一具体实施例中,可以按照以下步骤使用第一训练样本集对加快区域卷积神经网络模型进行训练:

(1)使用imagenet模型初始化所述区域建议网络,使用所述第一训练样本集训练所述区域建议网络;

(2)使用(1)中训练后的区域建议网络生成第一训练样本集中各个样本图像的候选框,利用所述候选框训练所述快速区域卷积神经网络。此时,区域建议网络和快速区域卷积神经网络还没有共享卷积层;

(3)使用(2)中训练后的快速区域卷积神经网络初始化所述区域建议网络,使用第一训练样本集训练所述区域建议网络;

(4)使用(3)中训练后的区域建议网络初始化所述快速区域卷积神经网络,并保持所述卷积层固定,使用第一训练样本集训练所述快速区域卷积神经网络。此时,区域建议网络和快速区域卷积神经网络共享相同的卷积层,构成了一个统一的网络模型。

区域建议网络选取的候选框较多,可以根据候选框的目标分类得分筛选了若干个得分最高的候选框输入到快速区域卷积神经网络,以加快训练和检测的速度。

可以使用反向传播算法对区域建议网络进行训练,训练过程中调整区域建议网络的网络参数,使损失函数最小化。损失函数指示区域建议网络预测的候选框的预测置信度与真实置信度的差异。损失函数可以包括目标分类损失和回归损失两部分。

损失函数可以定义为:

其中,i为一个训练批量(mini-batch)中候选框的索引。

是候选框的目标分类损失。ncls为训练批量的大小,例如256。pi是第i个候选框为目标的预测概率。是gt标签,若候选框为正(即分配的标签为正标签,称为正候选框),为1;若候选框为负(即分配的标签为负标签,称为负候选框),为0。可以计算为

是候选框的回归损失。λ为平衡权重,可以取为10。nreg为候选框的数量。可以计算为ti是一个坐标向量,即ti=(tx,ty,tw,th),表示候选框的4个参数化坐标(例如候选框左上角的坐标以及宽度、高度)。是与正候选框对应的gt边界框的坐标向量,即(例如真实目标框左上角的坐标以及宽度、高度)。r为具有鲁棒性的损失函数(smoothl1),定义为:

快速区域卷积网络的训练方法可以参照区域建议网络的训练方法,此处不再赘述。

在本实施例中,在快速区域卷积网络的训练中加入负样本难例挖掘(hardnegativemining,hnm)方法。对于被快速区域卷积网络错误地分类为正样本的负样本(即难例),将这些负样本的信息记录下来,在下次迭代训练的过程中,将这些负样本再次输入到第一训练样本集中,并且加大其损失的权重,增强其对分类器的影响,这样能够保证不停的针对更难的负样本进行分类,使得分类器学到的特征由易到难,涵盖的样本分布也更具多样性。

在其他的实施例中,所述目标检测器还可以是其他的神经网络模型,例如区域卷积神经网络(rcnn)模型、加快卷积神经网络(fasterrcnn)模型。

利用目标检测器检测图像中的预定类型目标时,将所述图像输入所述目标检测器,所述目标检测器对图像中的预定类型目标进行检测,输出所述图像中的预定类型目标的第一目标框的位置。例如,所述目标检测器输出所述图像中的6个第一目标框。第一目标框以矩形框的形式呈现。第一目标框的位置可以用位置坐标表示,所述位置坐标可以包括左上角坐标(x,y)和宽高(w,h)。

所述目标检测器还可以输出每个第一目标框的类型,例如输出5个行人类型的第一目标框和1个汽车类型的第一目标框。

步骤102,获取所述当前图像的前一帧图像中的第二目标框,利用预测器预测所述第二目标框在所述当前图像中的位置,得到所述第二目标框在所述当前图像中的预测框。

前一帧图像中的第二目标框是利用目标检测器检测前一帧图像中的预定类型目标得到的目标框。

预测第二目标框在所述当前图像中的位置,得到所述第二目标框在所述当前图像中的预测框是预测每个第二目标框在所述当前图像中的位置,得到每个第二目标框在所述当前图像中的预测框。例如,当前图像的前一帧图像中检测到4个行人目标框,则预测所述4个行人目标框在所述当前图像中的位置(也就是预测4个行人目标框对应的4个行人在所述当前图像中的位置),得到所述4个行人目标框在所述当前图像中的预测框。

所述预测器可以是深度神经网络模型。

在利用预测器对第二目标框进行预测之前,使用第二训练样本集对所述预测器进行训练。所述预测器学习到的特征为深度特征,其中的颜色特征占比较小,受光照的影响有限。因此,所述预测器在一定程度上可以克服光照带来的影响,提高了目标跟踪的鲁棒性和场景适应性。在本实施例中,第二训练样本集可以包括大量的不同光照、形变和高速运动物体的样本图像。因此,所述预测器可以进一步克服光照的影响,并且可以在一定程度克服形变、高速运动带来的影响,从而本发明实现了对高速运动的目标进行跟踪,提高了目标跟踪的鲁棒性。

在本实施例中,可以在所述深度神经网络模型中构建特征金字塔网络(featurepyramidnetwork,fpn),利用构建有所述特征金字塔网络的所述深度神经网络模型预测所述第二目标框在所述当前图像中的位置。特征金字塔网络把低分辨率、高语义信息的高层特征和高分辨率、低语义信息的低层特征进行自上而下的侧边连接,使得所有尺度下的特征都有丰富的语义信息。特征金字塔网络的连接方法是把高层特征做2倍上采样,然后和对应的前一层特征结合(前一层要经过1*1的卷积核),结合方式就是做像素间的加法。通过这样的连接,每一层预测所用的特征图都融合了不同分辨率、不同语义强度的特征,融合的不同分辨率的特征图分别做对应分辨率大小的物体检测。这样保证了每一层都有合适的分辨率以及强语义特征。在所述深度神经网络模型中构建特征金字塔网络可以提高对第二目标框预测的性能,使得对发生形变的第二目标框仍然得到较好的预测。

在一具体实施例中,所述预测器可以是siamfc网络(fully-convolutionalsiamesenetwork)模型,例如构建有特征金字塔网络的siamfc网络模型。

图4是siamfc模型的示意图。图4中,z代表的是模板图像,即前一帧图像中的第二目标框;x代表的是搜索区域,即当前图像;代表的是一种特征映射操作,将原始图像映射到特定的特征空间,可以采用cnn中的卷积层和池化层;6*6*128代表z经过后得到的特征,是一个128通道6*6大小的特征,同理,22*22*128是x经过后的特征;*代表卷积操作,22*22*128的特征被6*6*128的卷积核卷积,得到一个17*17的得分图,代表搜索区域中各个位置与模板图像的相似度。搜索区域中与模板图像的相似度相似度最高的位置就是预测框的位置。

步骤103,将所述当前图像中的第一目标框与所述预测框进行匹配,得到所述第一目标框与所述预测框的匹配结果。

所述第一目标框与所述预测框的匹配结果可以包括所述第一目标框与所述预测框匹配、所述第一目标框与任意所述预测框不匹配、所述预测框与任意所述第一目标框不匹配。

在本实施例中,可以计算所述第一目标框与所述预测框的重叠面积比例(intersectionoverunion,iou),根据所述重叠面积比例确定每一对匹配的所述第一目标框与所述预测框。

例如,第一目标框包括第一目标框a1、第一目标框a2、第一目标框a3、第一目标框a4,预测框包括预测框p1、预测框p2、预测框p3、预测框p4。预测框p1对应第二目标框b1、预测框p2对应第二目标框b2、预测框p3对应第二目标框b3、预测框p4对应第二目标框b4。对于第一目标框a1,计算第一目标框a1与预测框p1、第一目标框a1与预测框p2、第一目标框a1与预测框p3、第一目标框a1与预测框p4的重叠面积比例,若第一目标框a1与预测框p1的重叠面积比例最大且大于或等于预设阈值(例如70%),则确定第一目标框a1与预测框p1相匹配。类似地,对于第一目标框a2,计算第一目标框a2与预测框p1、第一目标框a2与预测框p2、第一目标框a2与预测框p3、第一目标框a2与预测框p4的重叠面积比例,若第一目标框a2与预测框p2的重叠面积比例最大且大于或等于预设阈值(例如70%),则确定第一目标框a2与预测框p2相匹配;对于第一目标框a3,计算第一目标框a3与预测框p1、第一目标框a3与预测框p2、第一目标框a3与预测框p3、第一目标框a3与预测框p4的重叠面积比例,若第一目标框a3与预测框p3的重叠面积比例最大且大于或等于预设阈值(例如70%),则确定第一目标框a3与预测框p3相匹配;对于第一目标框a4,计算第一目标框a4与预测框p1、第一目标框a4与预测框p2、第一目标框a4与预测框p3、第一目标框a4与预测框p4的重叠面积比例,若第一目标框a4与预测框p4的重叠面积比例最大且大于或等于预设阈值(例如70%),则确定第一目标框a4与预测框p4相匹配。

或者,可以计算所述第一目标框与所述预测框的中心点的距离,根据所述距离确定每一对匹配的所述第一目标框与所述预测框。

例如,在第一目标框包括第一目标框a1、第一目标框a2、第一目标框a3、第一目标框a4,预测框包括预测框p1、预测框p2、预测框p3、预测框p4的例子中,对于第一目标框a1,计算第一目标框a1与预测框p1、第一目标框a1与预测框p2、第一目标框a1与预测框p3、第一目标框a1与预测框p4的中心点的距离,若第一目标框a1与预测框p1的中心点的距离最小且小于或等于预设距离(例如10个像素点),则确定第一目标框a1与预测框p1相匹配。类似地,类似地,对于第一目标框a2,计算第一目标框a2与预测框p1、第一目标框a2与预测框p2、第一目标框a2与预测框p3、第一目标框a2与预测框p4的中心点的距离,若第一目标框a2与预测框p2的中心点的距离最小且小于或等于预设距离(例如10个像素点),则确定第一目标框a2与预测框p2相匹配;对于第一目标框a3,计算第一目标框a3与预测框p1、第一目标框a3与预测框p2、第一目标框a3与预测框p3、第一目标框a3与预测框p4的中心点的距离,若第一目标框a3与预测框p3的中心点的距离最小且小于或等于预设距离(例如10个像素点),则确定第一目标框a3与预测框p3相匹配;对于第一目标框a4,计算第一目标框a4与预测框p1、第一目标框a4与预测框p2、第一目标框a4与预测框p3、第一目标框a4与预测框p4的中心点的距离,若第一目标框a4与预测框p4的中心点的距离最小且小于或等于预设距离(例如10个像素点),则确定第一目标框a4与预测框p4相匹配。

步骤104,根据所述第一目标框与所述预测框的匹配结果,在所述当前图像中更新目标的位置。

根据得到所述第一目标框与所述预测框的匹配结果,在所述当前图像中更新目标的位置可以包括:

若所述第一目标框与所述预测框匹配,则在所述当前图像中将所述第一目标框的位置作为所述预测框对应的目标更新后的位置;

若所述第一目标框与任意所述预测框不匹配,则在所述当前图像中将所述第一目标框的位置作为新的目标的位置;

若所述预测框与任意所述第一目标框不匹配,则在所述当前图像中将所述预测框对应的目标作为丢失的目标。

实施例一的目标跟踪方法利用目标检测器检测当前图像中的预定类型目标,得到所述当前图像中的第一目标框;获取所述当前图像的前一帧图像中的第二目标框,利用预测器预测所述第二目标框在所述当前图像中的位置,得到所述第二目标框在所述当前图像中的预测框;将所述当前图像中的第一目标框与所述预测框进行匹配,得到所述第一目标框与所述预测框的匹配结果;根据所述第一目标框与所述预测框的匹配结果,在所述当前图像中更新目标的位置。实施例一提高了目标跟踪的鲁棒性和场景适应性。

实施例二

图2是本发明实施例二提供的目标跟踪装置的结构图。所述目标跟踪装置20应用于计算机装置。本装置的目标跟踪对视频或图像序列中特定类型的运动物体(例如行人)进行跟踪,得到运动物体在每一帧图像中的位置。所述目标跟踪装置20可以提高目标跟踪的鲁棒性和场景适应性。如图2所示,所述目标跟踪装置20可以包括检测模块201、预测模块202、匹配模块203、更新模块204。

检测模块201,用于利用目标检测器检测当前图像中的预定类型目标,得到所述当前图像中的第一目标框。

所述预定类型目标可以包括行人、汽车、飞机、船只等。所述预定类型目标可以是一种类型的目标(例如行人),也可以是多种类型的目标(例如行人和汽车)。

所述目标检测器可以是具有分类和回归功能的神经网络模型。在本实施例中,所述目标检测器可以是加快区域卷积神经网络(fasterregion-basedconvolutionalneuralnetwork,fasterrcnn)模型。

fasterrcnn模型包括区域建议网络(regionproposalnetwork,rpn)和快速区域卷积神经网络(fastregion-basedconvolutionneuralnetwork,fastrcnn)。

所述区域建议网络和所述快速区域卷积神经网络有共享的卷积层,所述卷积层用于提取图像的特征图。所述区域建议网络根据所述特征图生成图像的候选框,并将生成的候选框输入所述快速区域卷积神经网络。所述快速区域卷积神经网络根据所述特征图对所述候选框进行筛选和调整,得到图像的目标框。

在利用目标检测器检测当前图像中的预定类型目标的第一目标框之前,使用第一训练样本集对所述目标检测器进行训练。在训练时,所述卷积层提取第一训练样本集中各个样本图像的特征图,所述区域建议网络根据所述特征图获取所述各个样本图像中的候选框,所述快速区域卷积神经网络根据所述特征图对所述候选框进行筛选和调整,得到所述各个样本图像的目标框。所述目标框可以包括不同类型目标(例如行人、汽车、飞机、船只等)的目标框。

在一较佳实施例中,所述加快区域卷积神经网络模型采用zf框架,所述区域建议网络和所述快速区域卷积神经网络共享5个卷积层。

在一具体实施例中,可以按照以下步骤使用第一训练样本集对加快区域卷积神经网络模型进行训练:

(1)使用imagenet模型初始化所述区域建议网络,使用所述第一训练样本集训练所述区域建议网络;

(2)使用(1)中训练后的区域建议网络生成第一训练样本集中各个样本图像的候选框,利用所述候选框训练所述快速区域卷积神经网络。此时,区域建议网络和快速区域卷积神经网络还没有共享卷积层;

(3)使用(2)中训练后的快速区域卷积神经网络初始化所述区域建议网络,使用第一训练样本集训练所述区域建议网络;

(4)使用(3)中训练后的区域建议网络初始化所述快速区域卷积神经网络,并保持所述卷积层固定,使用第一训练样本集训练所述快速区域卷积神经网络。此时,区域建议网络和快速区域卷积神经网络共享相同的卷积层,构成了一个统一的网络模型。

区域建议网络选取的候选框较多,可以根据候选框的目标分类得分筛选了若干个得分最高的候选框输入到快速区域卷积神经网络,以加快训练和检测的速度。

可以使用反向传播算法对区域建议网络进行训练,训练过程中调整区域建议网络的网络参数,使损失函数最小化。损失函数指示区域建议网络预测的候选框的预测置信度与真实置信度的差异。损失函数可以包括目标分类损失和回归损失两部分。

其中,i为一个训练批量(mini-batch)中候选框的索引。

是候选框的目标分类损失。ncls为训练批量的大小,例如256。pi是第i个候选框为目标的预测概率。是gt标签,若候选框为正(即分配的标签为正标签,称为正候选框),为1;若候选框为负(即分配的标签为负标签,称为负候选框),为0。可以计算为

是候选框的回归损失。λ为平衡权重,可以取为10。nreg为候选框的数量。可以计算为ti是一个坐标向量,即ti=(tx,ty,tw,th),表示候选框的4个参数化坐标(例如候选框左上角的坐标以及宽度、高度)。是与正候选框对应的gt边界框的坐标向量,即(例如真实目标框左上角的坐标以及宽度、高度)。r为具有鲁棒性的损失函数(smoothl1),定义为:

快速区域卷积网络的训练方法可以参照区域建议网络的训练方法,此处不再赘述。

在本实施例中,在快速区域卷积网络的训练中加入负样本难例挖掘(hardnegativemining,hnm)方法。对于被快速区域卷积网络错误地分类为正样本的负样本(即难例),将这些负样本的信息记录下来,在下次迭代训练的过程中,将这些负样本再次输入到第一训练样本集中,并且加大其损失的权重,增强其对分类器的影响,这样能够保证不停的针对更难的负样本进行分类,使得分类器学到的特征由易到难,涵盖的样本分布也更具多样性。

在其他的实施例中,所述目标检测器还可以是其他的神经网络模型,例如区域卷积神经网络(rcnn)模型、加快卷积神经网络(fasterrcnn)模型。

利用目标检测器检测图像中的预定类型目标时,将所述图像输入所述目标检测器,所述目标检测器对图像中的预定类型目标进行检测,输出所述图像中的预定类型目标的第一目标框的位置。例如,所述目标检测器输出所述图像中的6个第一目标框。第一目标框以矩形框的形式呈现。第一目标框的位置可以用位置坐标表示,所述位置坐标可以包括左上角坐标(x,y)和宽高(w,h)。

所述目标检测器还可以输出每个第一目标框的类型,例如输出5个行人类型的第一目标框和1个汽车类型的第一目标框。

预测模块202,用于获取所述当前图像的前一帧图像中的第二目标框,利用预测器预测所述第二目标框在所述当前图像中的位置,得到所述第二目标框在所述当前图像中的预测框。

前一帧图像中的第二目标框是利用目标检测器检测前一帧图像中的预定类型目标得到的目标框。

预测第二目标框在所述当前图像中的位置,得到所述第二目标框在所述当前图像中的预测框是预测每个第二目标框在所述当前图像中的位置,得到每个第二目标框在所述当前图像中的预测框。例如,当前图像的前一帧图像中检测到4个行人目标框,则预测所述4个行人目标框在所述当前图像中的位置(也就是预测4个行人目标框对应的4个行人在所述当前图像中的位置),得到所述4个行人目标框在所述当前图像中的预测框。

所述预测器可以是深度神经网络模型。

在利用预测器对第二目标框进行预测之前,使用第二训练样本集对所述预测器进行训练。所述预测器学习到的特征为深度特征,其中的颜色特征占比较小,受光照的影响有限。因此,所述预测器在一定程度上可以克服光照带来的影响,提高了目标跟踪的鲁棒性和场景适应性。在本实施例中,第二训练样本集可以包括大量的不同光照、形变和高速运动物体的样本图像。因此,所述预测器可以进一步克服光照的影响,并且可以在一定程度克服形变、高速运动带来的影响,从而本发明实现了对高速运动的目标进行跟踪,提高了目标跟踪的鲁棒性。

在本实施例中,可以在所述深度神经网络模型中构建特征金字塔网络(featurepyramidnetwork,fpn),利用构建有所述特征金字塔网络的所述深度神经网络模型预测所述第二目标框在所述当前图像中的位置。特征金字塔网络把低分辨率、高语义信息的高层特征和高分辨率、低语义信息的低层特征进行自上而下的侧边连接,使得所有尺度下的特征都有丰富的语义信息。特征金字塔网络的连接方法是把高层特征做2倍上采样,然后和对应的前一层特征结合(前一层要经过1*1的卷积核),结合方式就是做像素间的加法。通过这样的连接,每一层预测所用的特征图都融合了不同分辨率、不同语义强度的特征,融合的不同分辨率的特征图分别做对应分辨率大小的物体检测。这样保证了每一层都有合适的分辨率以及强语义特征。在所述深度神经网络模型中构建特征金字塔网络可以提高对第二目标框预测的性能,使得对发生形变的第二目标框仍然得到较好的预测。

在一具体实施例中,所述预测器可以是siamfc网络(fully-convolutionalsiamesenetwork)模型,例如构建有特征金字塔网络的siamfc网络模型。图4是siamfc模型的示意图。

图4中,z代表的是模板图像,即前一帧图像中的第二目标框;x代表的是搜索区域,即当前图像;φ代表的是一种特征映射操作,将原始图像映射到特定的特征空间,可以采用cnn中的卷积层和池化层;6*6*128代表z经过φ后得到的特征,是一个128通道6*6大小的特征,同理,22*22*128是x经过φ后的特征;*代表卷积操作,22*22*128的特征被6*6*128的卷积核卷积,得到一个17*17的得分图,代表搜索区域中各个位置与模板图像的相似度。搜索区域中与模板图像的相似度相似度最高的位置就是预测框的位置。

匹配模块203,用于将所述当前图像中的第一目标框与所述预测框进行匹配,得到所述第一目标框与所述预测框的匹配结果。

所述第一目标框与所述预测框的匹配结果可以包括所述第一目标框与所述预测框匹配、所述第一目标框与任意所述预测框不匹配、所述预测框与任意所述第一目标框不匹配。

在本实施例中,可以计算所述第一目标框与所述预测框的重叠面积比例(intersectionoverunion,iou),根据所述重叠面积比例确定每一对匹配的所述第一目标框与所述预测框。

例如,第一目标框包括第一目标框a1、第一目标框a2、第一目标框a3、第一目标框a4,预测框包括预测框p1、预测框p2、预测框p3、预测框p4。预测框p1对应第二目标框b1、预测框p2对应第二目标框b2、预测框p3对应第二目标框b3、预测框p4对应第二目标框b4。对于第一目标框a1,计算第一目标框a1与预测框p1、第一目标框a1与预测框p2、第一目标框a1与预测框p3、第一目标框a1与预测框p4的重叠面积比例,若第一目标框a1与预测框p1的重叠面积比例最大且大于或等于预设阈值(例如70%),则确定第一目标框a1与预测框p1相匹配。类似地,对于第一目标框a2,计算第一目标框a2与预测框p1、第一目标框a2与预测框p2、第一目标框a2与预测框p3、第一目标框a2与预测框p4的重叠面积比例,若第一目标框a2与预测框p2的重叠面积比例最大且大于或等于预设阈值(例如70%),则确定第一目标框a2与预测框p2相匹配;对于第一目标框a3,计算第一目标框a3与预测框p1、第一目标框a3与预测框p2、第一目标框a3与预测框p3、第一目标框a3与预测框p4的重叠面积比例,若第一目标框a3与预测框p3的重叠面积比例最大且大于或等于预设阈值(例如70%),则确定第一目标框a3与预测框p3相匹配;对于第一目标框a4,计算第一目标框a4与预测框p1、第一目标框a4与预测框p2、第一目标框a4与预测框p3、第一目标框a4与预测框p4的重叠面积比例,若第一目标框a4与预测框p4的重叠面积比例最大且大于或等于预设阈值(例如70%),则确定第一目标框a4与预测框p4相匹配。

或者,可以计算所述第一目标框与所述预测框的中心点的距离,根据所述距离确定每一对匹配的所述第一目标框与所述预测框。

例如,在第一目标框包括第一目标框a1、第一目标框a2、第一目标框a3、第一目标框a4,预测框包括预测框p1、预测框p2、预测框p3、预测框p4的例子中,对于第一目标框a1,计算第一目标框a1与预测框p1、第一目标框a1与预测框p2、第一目标框a1与预测框p3、第一目标框a1与预测框p4的中心点的距离,若第一目标框a1与预测框p1的中心点的距离最小且小于或等于预设距离(例如10个像素点),则确定第一目标框a1与预测框p1相匹配。类似地,类似地,对于第一目标框a2,计算第一目标框a2与预测框p1、第一目标框a2与预测框p2、第一目标框a2与预测框p3、第一目标框a2与预测框p4的中心点的距离,若第一目标框a2与预测框p2的中心点的距离最小且小于或等于预设距离(例如10个像素点),则确定第一目标框a2与预测框p2相匹配;对于第一目标框a3,计算第一目标框a3与预测框p1、第一目标框a3与预测框p2、第一目标框a3与预测框p3、第一目标框a3与预测框p4的中心点的距离,若第一目标框a3与预测框p3的中心点的距离最小且小于或等于预设距离(例如10个像素点),则确定第一目标框a3与预测框p3相匹配;对于第一目标框a4,计算第一目标框a4与预测框p1、第一目标框a4与预测框p2、第一目标框a4与预测框p3、第一目标框a4与预测框p4的中心点的距离,若第一目标框a4与预测框p4的中心点的距离最小且小于或等于预设距离(例如10个像素点),则确定第一目标框a4与预测框p4相匹配。

更新模块204,用于根据所述第一目标框与所述预测框的匹配结果,在所述当前图像中更新目标的位置。

根据得到所述第一目标框与所述预测框的匹配结果,在所述当前图像中更新目标的位置可以包括:

若所述第一目标框与所述预测框匹配,则在所述当前图像中将所述第一目标框的位置作为所述预测框对应的目标更新后的位置;

若所述第一目标框与任意所述预测框不匹配,则在所述当前图像中将所述第一目标框的位置作为新的目标的位置;

若所述预测框与任意所述第一目标框不匹配,则在所述当前图像中将所述预测框对应的目标作为丢失的目标。

本实施例供了一种目标跟踪装置20。所述目标跟踪是对视频或图像序列中特定类型的运动物体(例如行人)进行跟踪,得到运动物体在每一帧图像中的位置。所述目标跟踪装置20利用目标检测器检测当前图像中的预定类型目标,得到所述当前图像中的第一目标框;获取所述当前图像的前一帧图像中的第二目标框,利用预测器预测所述第二目标框在所述当前图像中的位置,得到所述第二目标框在所述当前图像中的预测框;将所述当前图像中的第一目标框与所述预测框进行匹配,得到所述第一目标框与所述预测框的匹配结果;根据所述第一目标框与所述预测框的匹配结果,在所述当前图像中更新目标的位置。本实施例提高了目标跟踪的鲁棒性和场景适应性。

实施例三

本实施例提供一种计算机存储介质,该计算机存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述目标跟踪方法实施例中的步骤,例如图1所示的步骤101-104:

步骤101,利用目标检测器检测当前图像中的预定类型目标,得到所述当前图像中的第一目标框;

步骤102,获取所述当前图像的前一帧图像中的第二目标框,利用预测器预测所述第二目标框在所述当前图像中的位置,得到所述第二目标框在所述当前图像中的预测框;

步骤103,将所述当前图像中的第一目标框与所述预测框进行匹配,得到所述第一目标框与所述预测框的匹配结果;

步骤104,根据所述第一目标框与所述预测框的匹配结果,在所述当前图像中更新目标的位置。

或者,该计算机程序被处理器执行时实现上述装置实施例中各模块的功能,例如图2中的模块201-204:

检测模块201,利用目标检测器检测当前图像中的预定类型目标,得到所述当前图像中的第一目标框;

预测模块202,获取所述当前图像的前一帧图像中的第二目标框,利用预测器预测所述第二目标框在所述当前图像中的位置,得到所述第二目标框在所述当前图像中的预测框;

匹配模块203,用于将所述当前图像中的第一目标框与所述预测框进行匹配,得到所述第一目标框与所述预测框的匹配结果;

更新模块204,用于根据所述第一目标框与所述预测框的匹配结果,在所述当前图像中更新目标的位置。

实施例四

图3为本发明实施例四提供的计算机装置的示意图。所述计算机装置30包括存储器301、处理器302以及存储在所述存储器301中并可在所述处理器302上运行的计算机程序303,例如目标跟踪程序。所述处理器302执行所述计算机程序303时实现上述目标跟踪方法实施例中的步骤,例如图1所示的步骤101-104:

步骤101,利用目标检测器检测当前图像中的预定类型目标,得到所述当前图像中的第一目标框;

步骤102,获取所述当前图像的前一帧图像中的第二目标框,利用预测器预测所述第二目标框在所述当前图像中的位置,得到所述第二目标框在所述当前图像中的预测框;

步骤103,将所述当前图像中的第一目标框与所述预测框进行匹配,得到所述第一目标框与所述预测框的匹配结果;

步骤104,根据所述第一目标框与所述预测框的匹配结果,在所述当前图像中更新目标的位置。

或者,该计算机程序被处理器执行时实现上述装置实施例中各模块的功能,例如图2中的模块201-204:

检测模块201,利用目标检测器检测当前图像中的预定类型目标,得到所述当前图像中的第一目标框;

预测模块202,获取所述当前图像的前一帧图像中的第二目标框,利用预测器预测所述第二目标框在所述当前图像中的位置,得到所述第二目标框在所述当前图像中的预测框;

匹配模块203,用于将所述当前图像中的第一目标框与所述预测框进行匹配,得到所述第一目标框与所述预测框的匹配结果;

更新模块204,用于根据所述第一目标框与所述预测框的匹配结果,在所述当前图像中更新目标的位置。

示例性的,所述计算机程序303可以被分割成一个或多个模块,所述一个或者多个模块被存储在所述存储器301中,并由所述处理器302执行,以完成本方法。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序303在所述计算机装置30中的执行过程。例如,所述计算机程序303可以被分割成图2中的检测模块201、预测模块202、匹配模块203、更新模块204,各模块具体功能参见实施例二。

所述计算机装置30可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。本领域技术人员可以理解,所述示意图3仅仅是计算机装置30的示例,并不构成对计算机装置30的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述计算机装置30还可以包括输入输出设备、网络接入设备、总线等。

所称处理器302可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器302也可以是任何常规的处理器等,所述处理器302是所述计算机装置30的控制中心,利用各种接口和线路连接整个计算机装置30的各个部分。

所述存储器301可用于存储所述计算机程序303,所述处理器302通过运行或执行存储在所述存储器301内的计算机程序或模块,以及调用存储在存储器301内的数据,实现所述计算机装置30的各种功能。所述存储器302可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机装置30的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器301可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

所述计算机装置30集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。

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

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他模块或步骤,单数不排除复数。系统权利要求中陈述的多个模块或装置也可以由一个模块或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1