一种基于循环神经网络的目标预测与跟踪方法与流程

文档序号:14873531发布日期:2018-07-07 02:59阅读:149来源:国知局

本发明涉及视觉跟踪领域,特别是一种基于循环神经网络的目标预测与跟踪方法。



背景技术:

视觉目标跟踪的核心任务是预测目标的运动轨迹,提取目标区域的有效特征,建立合适的匹配函数,完成视频序列中目标状态信息的捕捉。在医疗诊断方面,采用目标跟踪可以有效地分析器官、细胞的运动,为医生提供了辅助诊断信息;在智能交通方面,跟踪技术可以为车流量统计、行人违规行为检测、车辆超速监测、交通拥堵分析等提供有力的技术支持;在人机交互方面,跟踪技术为人类提供了一种新的与电脑非接触、灵活的交互方式,例如通过捕捉手势的运动轨迹进而识别以产生输入信息;在自动驾驶方面,视觉跟踪是主动安全驾驶中重要的一环,检测并跟踪当前行车前方的行人、车辆和动物等,通过实时收集与目标之间的距离信息控制制动装置以实现车辆在安全行车范围,可以减少事故发生概率。目标跟踪技术诞生于上世纪50年代,经过不断发展,逐步形成了基于概率模型和基于检测等两大目标跟踪方法。

基于概率模型的跟踪方法主要任务是学习目标的运动规律,根据运动特点建立数学模型并在实际数据上进行优化,最终完成视频序列中目标的位置预测,典型方法有粒子滤波、均值漂移等,该类方法运算速度快,在目标运动状态稳定且符合某种分布时跟踪性能显著,但目前仍无法有效地应对非特定目标的复杂运动,易受相似目标的干扰。

基于检测的跟踪方法得益于机器学习方法的不断成熟和应用,主要思想是将目标与背景当作两类对象区分,在有效范围内采用目标检测的方法选取相似度最高的区域。此类方法的主要工作在特征选取和匹配函数的设计上,常见的特征包括局部二值模式特征、方向梯度直方图以及目前流行的卷积特征,匹配函数主要有支持向量机分类器、基于深度学习的分类、聚类方法等。这类方法能有效克服复杂背景的干扰以应对目标形变、遮挡等问题,但无法有效解决快速运动问题且算法效率较低。

上述方法已经应用到了一些特定场景并取得了不错的跟踪效果。但是,当面临的跟踪任务包括各类复杂情况且相互作用时,例如存在形变、姿态变化、复杂运动等目标内在变化和光照变化、遮挡、背景杂乱等外在变化时,现有的方法还无法完全应对。

因此,本专利基于上述分析,构造一种基于循环神经网络的目标预测与跟踪方法,能够在复杂情形下良好地进行检测。



技术实现要素:

有鉴于此,本发明的目的是提出一种基于循环神经网络的目标预测与跟踪方法,能够对复杂情形下的物体进行跟踪。

本发明采用以下方案实现:一种基于循环神经网络的目标预测与跟踪方法,具体包括以下步骤:

步骤s1:将当前帧输入特征提取模型sfe-net+的单支网络获取深度特征;

步骤s2:将步骤s1获得的深度特征以及上一帧目标的中心位置输入运动模型sm-net中,预测目标在当前帧中的中心位置,随机采样所述中心位置周围的候选框;

步骤s3:将步骤s2获得的候选框以及第一帧目标框输入匹配模型中逐一进行相似性判定,选取最高相似度的候选框,获得当前帧目标的最终位置区域。

进一步地,所述步骤s1具体包括以下步骤:

步骤s11:构建特征提取模型sfe-net+;

步骤s12:将当前帧输入所述特征提取模型sfe-net+的单支网络中,获得1000维特征。

进一步地,所述特征提取模型sfe-net+的结构如下:

第一层为卷积层,用以获取低层特征;该层的卷积核尺寸为11×11,卷积核个数为96,步长为2;输出经过正则化函数batchnormalization正则化,用于防止梯度消失,加快网络训练深度;

第二层为最大池化层,用以降低特征维度,防止模型过拟合;该层的池化层尺寸为3×3,步长为2;

第三层为卷积层,用以获取抽象特征,该层的卷积核尺寸为5×5,卷积核个数为256,步长为1;输出经过正则化函数batchnormalization正则化,用于防止梯度消失,加快网络训练深度;

第四层也为最大池化层,用以降低特征维度;该层的池化层尺寸为3×3,步长为2;

第五层、第六层、以及第七层均为卷积层,用以获取抽象特征,这三层的卷积核尺寸均为3×3,卷积核个数分别为192、192和128,第五层和第六层输出通过正则化函数batchnormalization正则化,用于防止梯度消失,加快网络训练深度,第七层没有正则化操作;

第八层为全连接层,输出单元为1000个。

进一步地,步骤s2具体包括以下步骤:

步骤s21:构建运动模型sm-net;

步骤s22:将步骤s12得到的1000维特征和上一帧目标的中心位置输入运动模型sm-net中预测当前帧中目标的中心位置,用随机采样的方法在该中心位置周围获取设定数量的候选样本框。

进一步地,所述运动模型sm-net的结构为:共设置20个lstm单元,每个lstm单元均包含一个基础记忆单元;每个lstm单元均输出关于目标中心位置的预测和隐藏层信息。

进一步地,步骤s3具体包括以下步骤:

步骤s31:构建匹配模型smt-net;

步骤s32:将获得的候选框与第一帧目标框输入所述匹配模型smt-net中逐一进行相似性判定,选取最高相似度候选框,其在原始图像中所占的区域即为当前帧目标最终所在的区域。

进一步地,所述匹配模型的结构如下:

第一层为卷积层,用以获取低层特征;该层的卷积核尺寸为11×11,卷积核个数为96,步长为2;输出经过正则化函数batchnormalization正则化;

第二层为最大池化层,用以降低特征维度,防止模型过拟合;该层的池化层尺寸为3×3,步长为2;

第三层为卷积层,用以获取抽象特征,该层的卷积核尺寸为5×5,卷积核个数为256,步长为1;输出经过正则化函数batchnormalization正则化,用于防止梯度消失,加快网络训练深度;

第四层为最大池化层,用以降低特征维度;该层的池化层尺寸为3×3,步长为2;

第五层、第六层、第七层均为卷积层,用以获取抽象特征,这三层的卷积核尺寸均为3×3,卷积核个数分别为192、192和128,第五层和第六层输出通过正则化函数batchnormalization正则化,用于防止梯度消失,加快网络训练深度,第七层没有正则化操作;

第八层为全连接层,输出单元为1000个;

第九层为l1度量层,用以计算两个分支网络在第八层的特征单元之间的距离,其中计算采用下式:

dis=|net1,fc-net2,fc|;

其中,net1,fc与net2,fc分别表示孪生网络的第一个分支网络和第二个分支网络分别得到的特征向量;

第十层为全连接层,将1000个特征单元映射为1个单元,判定两个输入是否为同一个类别,相同为1,不同则为0;

在所述匹配模型中,进行训练时采用以下的损失函数:

其中,n表示网络每次训练的样本数量,y表示两个输入样本间的标签。

与现有技术相比,本发明有以下有益效果:本发明提出了一种基于循环神经网络的目标预测与跟踪方法,采用sfe-net+特征提取模型提取视频帧特征与上一帧中目标的中心坐标联合输入到lstm模块(运动模型sm-net)中进行学习,预测出当前帧目标的中心坐标,将其结合匹配模型smt-net进行匹配得到目标最终所在区域实现目标定位,该方法在快速运动、形变和遮挡这三种情况下具有良好的跟踪效果。

附图说明

图1为本发明方法流程示意图。

图2为本发明实施例中特征提取模型sfe-net+和匹配模型smt-net的结构图。

图3为本发明实施例中运动模型sm-net的网络结构图。

具体实施方式

下面结合附图及实施例对本发明做进一步说明。

如图1、图2以及图3所示,本实施例提供了一种基于循环神经网络的目标预测与跟踪方法,具体包括以下步骤:

步骤s1:将当前帧输入特征提取模型sfe-net+的单支网络获取深度特征;

步骤s2:将步骤s1获得的深度特征以及上一帧目标的中心位置输入运动模型sm-net中,预测目标在当前帧中的中心位置,随机采样所述中心位置周围的候选框;

步骤s3:将步骤s2获得的候选框以及第一帧目标框输入匹配模型中逐一进行相似性判定,选取最高相似度的候选框,获得当前帧目标的最终位置区域。

在本实施例中,所述步骤s1具体包括以下步骤:

步骤s11:构建特征提取模型sfe-net+;

步骤s12:将当前帧输入所述特征提取模型sfe-net+的单支网络中,获得1000维特征。

在本实施例中,所述特征提取模型sfe-net+的结构如下:

第一层为卷积层,用以获取低层特征;该层的卷积核尺寸为11×11,卷积核个数为96,步长为2;输出经过正则化函数batchnormalization正则化,用于防止梯度消失,加快网络训练深度;

第二层为最大池化层,用以降低特征维度,防止模型过拟合;该层的池化层尺寸为3×3,步长为2;

第三层为卷积层,用以获取抽象特征,该层的卷积核尺寸为5×5,卷积核个数为256,步长为1;输出经过正则化函数batchnormalization正则化,用于防止梯度消失,加快网络训练深度;

第四层也为最大池化层,用以降低特征维度;该层的池化层尺寸为3×3,步长为2;

第五层、第六层、以及第七层均为卷积层,用以获取抽象特征,这三层的卷积核尺寸均为3×3,卷积核个数分别为192、192和128,第五层和第六层输出通过正则化函数batchnormalization正则化,用于防止梯度消失,加快网络训练深度,第七层没有正则化操作;

第八层为全连接层,输出单元为1000个。

在本实施例中,步骤s2具体包括以下步骤:

步骤s21:构建运动模型sm-net;

步骤s22:将步骤s12得到的1000维特征和上一帧目标的中心位置输入运动模型sm-net中预测当前帧中目标的中心位置,用随机采样的方法在该中心位置周围获取设定数量的候选样本框。

在本实施例中,所述运动模型sm-net的结构为:共设置20个lstm单元,每个lstm单元均包含一个基础记忆单元;每个lstm单元均输出关于目标中心位置的预测和隐藏层信息。

在本实施例中,步骤s3具体包括以下步骤:

步骤s31:构建匹配模型smt-net;

步骤s32:将获得的候选框与第一帧目标框输入所述匹配模型smt-net中逐一进行相似性判定,选取最高相似度候选框,其在原始图像中所占的区域即为当前帧目标最终所在的区域。

在本实施例中,所述匹配模型的结构如下:

第一层为卷积层,用以获取低层特征;该层的卷积核尺寸为11×11,卷积核个数为96,步长为2;输出经过正则化函数batchnormalization正则化;

第二层为最大池化层,用以降低特征维度,防止模型过拟合;该层的池化层尺寸为3×3,步长为2;

第三层为卷积层,用以获取抽象特征,该层的卷积核尺寸为5×5,卷积核个数为256,步长为1;输出经过正则化函数batchnormalization正则化,用于防止梯度消失,加快网络训练深度;

第四层为最大池化层,用以降低特征维度;该层的池化层尺寸为3×3,步长为2;

第五层、第六层、第七层均为卷积层,用以获取抽象特征,这三层的卷积核尺寸均为3×3,卷积核个数分别为192、192和128,第五层和第六层输出通过正则化函数batchnormalization正则化,用于防止梯度消失,加快网络训练深度,第七层没有正则化操作;

第八层为全连接层,输出单元为1000个;

第九层为l1度量层,用以计算两个分支网络在第八层的特征单元之间的距离,其中计算采用下式:

dis=|net1,fc-net2,fc|;

其中,net1,fc与net2,fc分别表示孪生网络的第一个分支网络和第二个分支网络分别得到的特征向量;

第十层为全连接层,将1000个特征单元映射为1个单元,判定两个输入是否为同一个类别,相同为1,不同则为0;

在所述匹配模型中,进行训练时采用以下的损失函数:

其中,n表示网络每次训练的样本数量,y表示两个输入样本间的标签。

特别的,在本实施例中,以遮挡人脸检测为例,根据以上方法给出实例,具体包括以下步骤:

步骤1:将人脸当前帧输入特征提取模型sfe-net+的单支网络获取特征,具体步骤如下:

步骤11:构建特征提取模型sfe-net+。

特征提取模型sfe-net+结构如下:

第一层为卷积层,获取低层特征;卷积核尺寸为11×11,卷积核个数为96,步长为2;输出经过正则化函数batchnormalization,用于防止梯度消失,加快网络训练深度。

第二层为最大池化层,用于降低特征维度,防止模型过拟合;池化层尺寸为3×3,步长为2。

第三层为卷积层,获取抽象特征,卷积核尺寸为5×5,卷积核个数为256,步长为1;输出经过正则化函数batchnormalization,用于防止梯度消失,加快网络训练深度。

第四层为最大池化层,用于降低特征维度;池化层尺寸为3×3,步长为2。

第五、六、七层均为卷积层,获取抽象特征,卷积核尺寸均为3×3,卷积核个数分别为192、192和128,第五层和第六层输出都需要进行batchnormalization正则化,第七层没有正则化操作。

第八层为全连接层,输出单元为1000个。

步骤12:把人脸当前帧输入特征提取模型sfe-net+的单支中,获得1000维特征;

步骤2:将步骤1获得的特征及上一帧中人脸的中心位置输入运动模型sm-net中,预测当前帧中人脸的中心位置,随机采样其周围的候选框。具体步骤如下:

步骤21:构建运动模型sm-net。

运动模型sm-net结构如下:

网络一共设置了20个lstm单元,每个lstm单元均含一个基础的记忆单元。每个lstm网络输出关于人脸中心位置的预测和隐藏层信息。

步骤22:将当前带有人脸的视频帧的1000维特征和上一帧中人脸的中心位置输入运动模型sm-net中预测当前帧中人脸的中心位置,用随机采样的方法在其中心位置周围获取一定数量样本框。

步骤3:将步骤2获得的候选框与第一帧人脸所在区域输入匹配模型中逐一进行相似性判定,选取最高相似度候选框,获得当前帧人脸最终所在的区域。具体步骤如下:

步骤31:构建匹配模型smt-net。

匹配模型smt-net结构如下:

第一层为卷积层,获取低层特征;卷积核尺寸为11×11,卷积核个数为96,步长为2;输出经过正则化函数batchnormalization,用于防止梯度消失,加快网络训练深度。

第二层为最大池化层,用于降低特征维度,防止模型过拟合;池化层尺寸为3×3,步长为2。

第三层为卷积层,获取抽象特征,卷积核尺寸为5×5,卷积核个数为256,步长为1;输出经过正则化函数batchnormalization,用于防止梯度消失,加快网络训练深度。

第四层为最大池化层,用于降低特征维度;池化层尺寸为3×3,步长为2。

第五、六、七层均为卷积层,获取抽象特征,卷积核尺寸均为3×3,卷积核个数分别为192、192和128,第五层和第六层输出都需要进行batchnormalization正则化,第七层没有正则化操作。

第八层为全连接层,输出单元为1000个。

第九层为l1度量层,计算两个分支网络在第八层的特征单元之间的距离:

dis=|net1,fc-net2,fc|;

第十层为全连接层,将1000个特征单元映射为1个单元,判定两个输入是否为同一个类别,相同为1,不同则为0。

损失层采用对比损失函数(contrastiveloss)进行训练:

步骤32:将获得的关于人脸的候选样本框集与第一帧中人脸所在区域输入匹配模型中逐一进行相似性判定,选取最高相似度候选框,获得当前帧中人脸最终所在的区域。

以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

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