一种基于BSSD检测与卡尔曼滤波的目标跟踪方法与装置与流程

文档序号:18839007发布日期:2019-10-09 06:32阅读:322来源:国知局
一种基于BSSD检测与卡尔曼滤波的目标跟踪方法与装置与流程

本发明涉及一种基于bssd(bidirectionsingleshotmultiboxdetector)检测与卡尔曼滤波的目标跟踪方法,用于实现对目标进行快速、准确的跟踪,属于计算机视觉处理技术领域。



背景技术:

目标跟踪是计算机视觉领域最热门且最具挑战性的研究任务之一,在视频分析场景中具有非常广泛的应用,如智能视频监控、无人驾驶、人机交互和虚拟现实等。然而,现实场景复杂多变,目标本身在运动过程中会出现形变、尺度变换等,并且当目标运动速度过快时会出现运动模糊。因此,目标跟踪面临诸多困难,是一个极具挑战性的任务。

当前目标跟踪方法主要分为传统目标跟踪方法、基于相关滤波的目标跟踪方法和基于深度学习的目标跟踪方法。其中传统的目标跟踪方法跟踪速度快但跟踪准确度较低。基于相关滤波的目标跟踪方法跟踪准确度较高,且随着相关研究的深入,准确度提升明显,但是极大地牺牲了跟踪速度。基于深度学习的目标跟踪方法精度最高,但是跟踪速度非常慢,该领域还处于研究阶段,不具有实用价值。在无人驾驶应用场景中,要求目标跟踪方法具备实时性,因而不能使用复杂的、速度慢的目标跟踪方法。传统的目标跟踪方法具有简单、跟踪速度快的优点,能够较好地满足无人驾驶的实时性要求,其中基于卡尔曼滤波的目标跟踪方法是常用的传统目标跟踪方法之一。卡尔曼滤波是一种基于均方误差最小化的线性滤波方法,可以从一组包含噪声和干扰的视频序列中,预测出目标的位置坐标及速度。在噪声符合高斯分布的前提下,卡尔曼滤波使用线性动态系统去解决线性最优化估计的问题,其根据观测方程与目标状态转移方程,通过迭代的形式对跟踪目标的状态进行预测与更新。

基于卡尔曼滤波的目标跟踪方法能够较好的处理遮挡问题,且跟踪速度较快。但是基于卡尔曼滤波的目标跟踪方法对目标运动速度改变的适应性较差,且方法未引入尺度自适应策略,在跟踪的过程中,难以应对跟踪目标的尺度变换问题,容易出现累计误差而导致最终跟踪失败。



技术实现要素:

发明目的:针对现有技术中存在的问题和不足,本发明提供一种基于bssd检测与卡尔曼滤波的目标跟踪方法与装置,用于解决传统的基于卡尔曼滤波的目标跟踪方法难以应对目标尺度与速度变化的问题。

技术方案:为实现上述发明目的,本发明所述的一种基于bssd检测与卡尔曼滤波的目标跟踪方法,该方法将bssd目标检测方法融入到卡尔曼滤波跟踪方法中,并引入去误检模块和位置修正策略,能够很好地解决传统的基于卡尔曼滤波的目标跟踪方法的弊端,提高目标跟踪的准确性。该方法主要包含如下步骤:

(1)跟踪目标初始化:使用bssd检测模型检测出视频序列第一帧图像中的目标,随后利用resnet-18分类器对检测结果进行二次分类,去除误检目标,得到初始跟踪目标;

(2)运动状态估计:使用卡尔曼滤波方法估计跟踪目标的运动状态;

(3)目标位置修正:将卡尔曼滤波方法的估计结果作为初选框输入到bssd检测模型中进行边框回归,如果bssd将边框归类为背景,则不对滤波器进行更新;如果bssd将边框归类为非背景类别,则使用bssd的回归结果替换滤波器的预测结果,并对滤波器进行更新;

(4)目标检测:跟踪过程中,在满足一定触发条件的情况下,重新使用bssd检测模型进行目标检测,并使用resnet-18分类器去除误检目标,对新出现的目标进行初始化;

(5)数据关联:利用目标的深度外观信息、形状信息、运动信息及iou(intersectionoverunion,交并比)距离构建关联矩阵,并计算检测目标与跟踪目标之间的对应关系,得到跟踪结果。

作为优选,所述bssd检测模型基于ssd模型构建,通过线性插值将相对较低的高层特征层与其之前的ssd用于检测最小目标的特征层进行融合,并通过passthrough的方法将相对较高的低层特征层与融合后的特征层进行拼接得到用于小目标检测的特征层。

作为优选,训练bssd检测模型以及resnet-18分类器模型的正负样本比例为1:3。

作为优选,所述关联矩阵中第i个预测目标predi和第j个检出目标detj间的关联关系值为:

aff(predi,detj)=1-w3*affapp(predi,detj)*affshp(predi,detj)

*affmot(predi,detj)*affiou(predi,detj)

其中,

表示resnet-18对第i个预测目标predi提取的外观特征,表示resnet-18对第j个检测目标提取的外观特征,cosine为余弦距离,表示第i个预测目标的高度,表示第j个检出目标的高度,表示第i个预测目标的宽度,表示第j个检出目标的宽度,表示第i个预测目标的x坐标,表示第j个检测目标的y坐标,表示第i个预测目标的x坐标,表示第j个检测目标的y坐标,为第i个预测目标的边界框,为第j个检出目标的边界框,w1、w2、w3为权重参数。

作为优选,步骤(5)中使用kuhn–munkres方法进行数据关联能得到预测目标与检测目标之间的对应关系,若检测目标与预测目标关联成功,则将该检测目标标记为相应的跟踪目标;否则,检测目标为新出现的目标,将其标记为新的跟踪目标。

基于相同的发明构思,本发明所述的一种基于bssd检测与卡尔曼滤波的目标跟踪装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述计算机程序被加载至处理器时实现所述的基于bssd检测与卡尔曼滤波的目标跟踪方法。

有益效果:与现有技术相比,本发明具有如下优点:

1.本发明将bssd目标检测方法融入到传统的卡尔曼滤波跟踪方法中,能够避免手工初始化跟踪目标,并且在后续的跟踪过程中能够实现对新出现目标的跟踪,从而减少遗漏跟踪目标的情况发生。

2.本发明在传统的卡尔曼滤波跟踪方法中引入了位置修正策略,能够有效解决卡尔曼滤波方法难以应对目标尺度与速度变化的问题,提高卡尔曼滤波位置估计的准确性。

3.本发明对bssd检测结果及卡尔曼滤波估计结果进行关联,能够有效提高目标跟踪的准确性。

附图说明

图1为本发明基于bssd检测与卡尔曼滤波的目标跟踪方法流程图。

图2为本发明采样的正负样本示例图。

图3为本发明构建的bssd模型结构图。

图4为本发明构建的resnet-18模型结构图。

具体实施方式

下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。

如图1所示,本发明实施例公开的一种基于bssd检测与卡尔曼滤波的目标跟踪方法,在起始阶段,采用bssd方法和resnet-18分类方法初始化跟踪目标,避免人工干预;在跟踪阶段,在使用卡尔曼滤波进行目标位置预测后,通过位置修正的方式对预测结果的位置进行修正,提高运动状态估计的准确性。与此同时,在满足一定触发条件的情况下,重新运行bssd方法与resnet-18方法进行目标检测,并对检测结果与跟踪目标进行数据关联,以对新出现的目标进行跟踪,提高跟踪准确率,实现长期、准确的目标跟踪。下面首先对本发明实施例的使用的数据集及涉及到的网络模型做说明。

数据集制作。为了方便本发明方法与其他目标跟踪方法的对比,本实施例选用pascalvoc及2dmot2015数据集。在具体的应用场景中,如无人驾驶场景,可采用与场景相关的数据集。首先从pascalvoc2007及pascalvoc2012数据集中采样正负样本,对于正样本,本实施例将pascalvoc中的真实边界框从原始图像中截取出来作为正样本。对于负样本,在每幅图像的每个真实边界框的一定邻域内截取一定数量的负样本,保证每个负样本与真实边界框之间的iou小于0.3,最终正负样本的比例为1:3。正负样本示例如图2所示。对于2dmot2015中的训练集与测试集,分别采用如上的方法采样正负样本,以生成数据集。

bssd检测模型构建与训练。bssd方法是对传统ssd方法的改进,其在传统ssd方法的基础上引入了特征融合策略,其模型结构如图3所示。bssd网络模型通过线性插值将相对较低的高层特征层与其之前的ssd用于检测最小目标的特征层进行融合,并通过passthrough的方法将相对较高的低层特征层与融合后的特征层进行拼接得到用于小目标检测的特征层。ssd使用conv4_3(第四个卷积模块的第三个特征层)检测小目标,但是该层缺乏高层的语义信息,考虑到小目标可能在高特征层已失去相关信息,本实施例选择相对较低的高层特征conv7(第七个特征层)作为与conv4_3融合的高层特征。与此同时,图片中极小的目标可能在conv4_3已经失去相关信息,考虑到低特征层存在特征提取不充分的问题,本实施例选择相对较高的低层特征conv3_3(第三个卷积模块的第三个特征层)作为与conv4_3拼接的低层特征。首先利用双线性插值算法(bilinearup-sampling)将ssd中的conv7特征层上采样到与conv4_3同样的大小,并通过按位相加(element-wisesum)的方式与conv4_3特征层进行融合,得到conv_tmp特征层;然后通过passthrough的方法对conv3_3特征层的结构进行修改,拼接到conv_tmp后,得到用于小目标检测的低特征层conv_conc。

与此同时,bssd方法对传统ssd方法默认框的设置方式及数据扩增策略进行改进,能够检测出更多的小目标。bssd使用k-means聚类算法对pascalvoc数据集中的真实框进行聚类,并根据聚类结果及交叉验证的方式确定bssd中默认框的尺度及长宽比。并且相比于ssd增加了0.1以下的采样比例。

本实施例首先使用imagenet数据集对bssd网络中的vgg16基础网络进行预训练,随后使用pascalvoc数据集对bssd网络进行训练,接着利用2dmot2015提供的标准值作为数据集的标签信息,将2dmot2015的数据集转化成标准的pascalvoc格式,使用2dmot2015的训练集作为对bssd模型进行微调的数据集。在完成对bssd检测模型的微调后,使用2dmot2015的测试集验证bssd模型最终的检测效果。

resnet-18模型构建与训练。resnet-18(hek,zhangx,rens,etal.deepresiduallearningforimagerecognition[c].ieeeconferenceoncomputervisionandpatternrecognition.ieee,2015)以经典的残差网络作为基本的网络单元,以求获得较高的分类准确率。在训练resnet-18模型时,首先使用pascalvoc数据集对该模型进行预训练,随后在2dmot2015数据集上对该模型进行微调。该步骤实施过程分为2个子步骤:

(1)resnet-18模型构建。由于bssd在检测过程中可能会产生误检目标,即将背景类别标记为感兴趣类别。为此,本实施例构建resnet-18分类模型用于去除bssd检测结果中的误检目标。为简化分类任务,提高分类速度,resnet-18仅对图像进行二分类:前景和背景。如图4所示,resnet-18以大小为64×64的图像作为输入,其内部的网络层大都采用3×3的卷积核,并使用步长为2的卷积层替代大部分的池化层以缩小特征图的尺寸。resnet-18在卷积层的末尾添加一个全局池化层和一个全连接层,并在网络的末端添加一个逻辑回归单元,以实现对图像的分类。

(2)resnet-18模型训练。对于resnet-18模型,本实施例首先使用根据pascalvoc数据集构建的训练样本对resnet-18模型进行预训练,随后使用根据2dmot2015训练集构建的数据集对resnet-18模型进行微调。其目标损失函数如公式(1)所示:

其中:m表示所有的训练集,y(i)表示网络对第i个图像的分类结果,y(i)表示第i个图像对应的真实标签。y(i)的计算公式如下:

y=sigmoid(wtx+b)=σ(wtx+b)(2)

其中:y表示目标为前景的置信度,w是与逻辑回归单元连接的权重,wt表示w的转置,b是对应的偏置,sigmoid函数的定义如下式所示:

其中:z是sigmoid函数的输入。

本实施例根据公式(1)定义的目标损失函数,通过标准的反向传播方法对resnet-18分类模型进行训练。

在前述准备工作的基础上,本发明实施例公开的一种基于bssd检测与卡尔曼滤波的目标跟踪方法,主要实施步骤如下:

步骤1,跟踪目标初始化。基于检测的目标跟踪方法需要在跟踪的起始阶段初始化视频序列第一帧图像内的跟踪目标,首先使用bssd目标检测方法检出图像内的目标,随后使用resnet-18分类方法对bssd的检测结果进行二次分类,去除检测结果中的误检目标,防止跟踪方法对误检目标进行跟踪,将剩下的目初始化为跟踪目标。

步骤2,运动状态估计。使用卡尔曼滤波方法估计跟踪目标的运动状态,将其作为跟踪目标在下一帧图像内的初始位置,此时不对卡尔曼滤波器进行更新。

步骤3,目标位置修正。将卡尔曼滤波方法的估计结果作为初选框输入到bssd检测方法中进行边框回归。在检测的过程中,如果bssd方法将边框归类为背景,则说明该边框对应的跟踪目标因为遮挡而无法检出,此时不对该目标的滤波器进行更新;如果bssd方法将边框归类为非背景类别(即识别为跟踪目标),则使用bssd方法的回归结果替换滤波器的预测结果,并对滤波器进行更新。

步骤4,目标检测。跟踪过程中,在满足触发条件的情况下(本实施例定义为每隔5帧),重新使用bssd方法进行目标检测,并通过resnet-18方法去除误检目标,从而对新出现的目标进行初始化。

步骤5,数据关联。数据关联是基于检测的跟踪方法的重点,其本质上是一种多对多的线性指派问题。本实施例首先综合使用目标的深度外观特征信息、形状信息、运动信息和iou距离来构建关联矩阵,随后使用kuhn–munkres方法计算检测目标与预测目标之间的对应关系。

本实施例使用resnet-18的最后一个卷积层提取目标的外观特征,为了适应resnet-18的输入尺寸,需要对检测或预测目标的图像块进行缩放。为了尽可能保留图像块的原有信息,防止产生形变,本实施例对图像块进行等比例缩放,使得最短边的尺度大于64像素。为了使不同大小的图像输入产生相同大小的特征输出,本实施例在resnet-18的最后一个卷积层后附加一个roi池化层。将resnet-18对第i个预测目标predi提取的外观特征表示为则第i个预测目标predi与第j个检出目标detj间的外观关系系数affapp(predi,detj)如公式(4)所示:

其中:表示resnet-18对第j个检测目标提取的外观特征,cosine为余弦距离,向量x和y之间的余弦距离定义如公式(5)所示:

预测目标与检出目标间的形状关系系数affshp(predi,detj)如公式(6)所示:

其中:w1表示权重参数,表示第i个预测目标的高度,表示第j个检出目标的高度,表示第i个预测目标的宽度,表示第j个检出目标的宽度。

预测目标与检出目标间的运动关系系数affmot(predi,detj)如公式(7)所示:

其中:w2为权重参数,表示第i个预测目标的x坐标,表示第j个检测目标的y坐标,表示第i个预测目标的x坐标,表示第j个检测目标的y坐标。

预测目标与检出目标间的iou距离(预测目标边界框与检出目标边界框的交并比,即交集的面积比并集的面积)affiou(predi,detj)如公式(8)所示:

其中:为第i个预测目标的边界框,为第j个检出目标的边界框。

综合上述四种信息,构建如公式(9)所示的关联矩阵:

其中:w3为权重参数。

得到关联矩阵后使用kuhn–munkres方法(munkres,james.algorithmsfortheassignmentandtransportationproblems[j].journalofthesocietyforindustrialandappliedmathematics,1957)进行数据关联,kuhn–munkres方法的求解过程如下:

(1)找到关联矩阵中每一行值最小的元素,并使每一行的所有元素减去该行的最小值。

(2)找到关联矩阵中每一列值最小的元素,并使每一列的所有元素减去该列的最小值。

(3)用尽可能少的行或列标记覆盖矩阵中的所有0,若此时标记的总数等于关联矩阵的行数或列数,则完成数据关联,否则执行下一步。

(4)找到未被行或列标记覆盖的元素的最小值,所有未被行或列标记覆盖的行元素减去该最小值,所有未被覆盖的列元素加上该最小值,转到(3)。

使用kuhn–munkres方法进行数据关联即能得到预测目标与检测目标之间的对应关系,若检测目标与预测目标关联成功,则将该检测目标标记为相应的跟踪目标。否则,检测目标为新出现的目标,将其标记为新的跟踪目标,最终实现对目标长期、准确的跟踪。

基于相同的发明构思,本发明实施例公开的一种基于bssd检测与卡尔曼滤波的目标跟踪装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被加载至处理器时实现上述基于bssd检测与卡尔曼滤波的目标跟踪方法。

本发明提出的一种基于bssd检测与卡尔曼滤波的目标跟踪方法,具有较高的跟踪精度以及较好的鲁棒性,并且跟踪速度较快,能够较好地满足无人驾驶高跟踪精度及高实时性的应用需求。

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