技术领域
[0001] 本发明涉及物体运动跟踪领域,尤其是一种利用深度神经网络检测目标的跟踪方法。
相关背景技术
[0002] 运动跟踪是指获得目标在连续图像中位置随时间变化的轨迹。运动跟踪由于受到遮挡、面内旋转、面外旋转、光照强度变化、背景杂波等影响被认为是一项极具挑战的任务,是计算机视觉的重要组成部分。运动跟踪被广泛应用于多个领域,如产品检测、智能交通、视频监控、异常行为检测等。尽管提出了大量的跟踪方法,但仍未达到大规模应用的地步。
[0003] 运动跟踪系统一般由两个模型组成:观测模型和动态模型。观测模型是描述目标物体的模型。动态模型用来确定物体状态及状态的转换。在跟踪系统中观测模型是极为重要的,模型精度对跟踪效果影响极大。精确的观测模型可以提升跟踪成功率,降低中心位置误差。
[0004] 现如今,深度学习跟踪器是运动跟踪方面比较成功的算法之一,该模型主要包括两部分:观测模型和动态模型。观测模型使用深度学习算法能够更有效的提取目标物体的特征,动态模型使用了粒子滤波算法,粒子滤波可以更细致的确定物体的状态。该跟踪器很好地结合了深度学习和粒子滤波,提升了跟踪的精度。但由于跟踪环境的复杂及目标物体的变化,模型无法适应所有的环境,由于粒子滤波需要大量的粒子,导致跟踪速度有所下降。
具体实施方式
[0066] 下面结合附图对本发明做进一步说明:
[0067] 下面结合附图和视频序列“woman”的运动跟踪过程对本发明方法作进一步的说明:
[0068] 本发明所述跟踪算法,如图1所示,其具体内容包含以下步骤:
[0069] 步骤1,离线训练:
[0070] 由于需要跟踪不同物体,在使用观测模型之前需要能够快速适应不同目标的权值,因此需要使用大量不同种类的样本对神经网络进行离线训练,调节网络权值;
[0071] 步骤2,模型初始化:
[0072] 在离线训练所得网络顶端添加logistic分类器,使其能够进行二元分类。重新设置网络的参数并使用指定的目标及附近的负样本利用降噪自动编码训练辅助模型并在辅助模型权值基础上使用BP算法训练观测模型,调节权值适应目标。
[0073] 步骤3,动态粒子调节:
[0074] 跟踪中的动态模型使用粒子滤波。根据跟踪器对目标的确定性使用不同数量的粒子,目标确定性越高使用粒子越少。粒子滤波在新一帧中以上一帧目标为中心采集粒子,将采集到的粒子交给观测模型,观测模型判断粒子的置信度。当发现模型精度快速下降时增加粒子采样数量并从所有粒子中寻找目标。
[0075] 步骤4,目标确认:
[0076] 为了防止由单个粒子确定目标导致偶然性增大。根据观测模型,我们从众多粒子中挑选出若干粒子。目标将从多个候选粒子中选出。在我们的跟踪器中,使用前十个粒子和之前的目标通过降噪自动编码(DAE)对目标进行确认。
[0077] 步骤5,自适应调节:
[0078] 在跟踪过程中物体外观发生变化时往往导致跟踪发生漂移。为了防止漂移的发生,观测模型需要在跟踪过程中进行调节。我们在调节中根据不同的情况使用不同的模式;
[0079] 其中,在步骤2中,所述模型初始化,其流程图如图2所示,其调节过程步骤如下:
[0080] 1)输入:采集的正负样本及标签S={(x1,y1),......,(xn,yn)},其中yi={0,1}分别对应正样本和负样本;
[0081] 2)参数设定:设定降噪自动编码和BP算法的重构误差最小阈值αD和αB、最大训练次数βD和βB、学习率λD和λB、冲量mD和mB和权重惩罚系数wD和wB,降噪自动编码的噪音系数φ;
[0082] 3)训练:执行initTrain(NN,X,Y,opts)过程,即使用降噪自动编码训练分类层以外的网络和使用BP算法训练整个的网络;当重构误差E<α时或训练次数T≥β时,训练结束;
[0083] 以上步骤1)——步骤3)所述是自适应调节训练的整体过程。在步骤3)复合训练中,所述的执行initTrain(NN,X,Y,opts)过程,这里将详细说明。initTrain(NN,X,Y,opts)的具体实施步骤如下,如图3所示:
[0084] (1)输入:输入变量为initTrain(NN,X,Y,opts)中所示,其中NN表示离线训练后的神经网络,X表示目标和背景样本集合,Y表示样本的标签,其顺序和样本一一对应,opts表示设定的参数;
[0085] (2)使用降噪自动编码训练训练辅助更新模型,如图4所示:
[0086] ①参数设定:用opts中的参数对网络参数进行设置
[0087] ②网络训练:
[0088] a.根据噪音系数污染样本
[0089] b.由污染样本通过网络向前传播得到重构图像z:
[0090]
[0091] 并得到重构误差:
[0092]
[0093] c.由重构误差经过反向传播更新权值;
[0094] d.重复以上过程直到重构误差小于阈值αD或达到最大训练次数βD;
[0095] e.将样本通过网络得到第一隐层输出a,其将作为更高层的输入;
[0096] f.根据输入训练除分类层之外的网络
[0097] (3)使用BP算法训练整个网络,如图5所示:
[0098] ①参数设定:用opts中的参数对网络参数进行设置;
[0099] ②网络训练:使用BP算法训练;
[0100] ③重复训练过程直到重构误差小于阈值αB或达到最大训练次数βB。
[0101] 其中,在步骤3中,所述自适应粒子滤波自动调节粒子数量,其流程图如图6所示,其调节过程步骤如下:
[0102] 1)确定参数:确定粒子参数及数量
[0103] a.如果前一帧的置信度Cp>0.9,则确定500粒子参数,否则确定1000粒子参数;
[0104] b.以前目标为中心,随机对6个参数做仿射变换,确定粒子参数;
[0105] 2)采集粒子:从图像中采集粒子
[0106] a.如果前一帧的置信度Cp<0.85,则从图像中采集1000粒子;
[0107] b.0.85<Cp<0.9,则采集500粒子;
[0108] c.Cp>0.9,采集200粒子;
[0109] 3)初步计算:将采集到的粒子交给观测模型,观测模型判断粒子的置信度;
[0110] 4)动态调整:如果置信度发生变化则增加粒子数量
[0111] a.如果前一帧置信度Cp>0.9且置信度C<0.9,则增加300粒子;
[0112] b.如果前一帧Cp>0.85且C<0.85则增加500粒子;
[0113] 5)最终计算:将采集到的粒子交给观测模型,观测模型判断粒子的置信度,将所有的粒子合并;
[0114] 其中,在步骤4中,所述对目标进行核对,其调节过程步骤如下:
[0115] 1)选出候选粒子:从所有粒子中找出置信度最大的10个作为候选粒子;
[0116] 2)初步核对:将平均后的候选目标作为临时目标与前一帧的目标通过DAE进行对比;
[0117] 3)最终核对:如果平均损失大于0.1,则通过DAE算法使用前一帧的目标和所有候选目标对比,平均损失最小的为目标;否则临时目标即为最终目标;
[0118] 以上步骤1)——步骤3)所述是目标核对整体过程。在步骤2)中,所述的核对过程,这里将详细说明。核对具体实施步骤如下,如图7所示:
[0119] (1)输入:网络的最底层nn,候选样本,前一帧目标preTar;
[0120] (2)初步核对:
[0121] ①选出临时目标:对10个候选粒子的参数进行平均作为临时目标tmpTar。
[0122] ②得出平均损失aveL:临时目标tmpTar通过DAE算法与标签preTar做对比得到平均损失。
[0123] a.参数设定:将临时目标tmpTar作为输入,前一帧样本preTar作为标签,其他参数与观测模型网络最底层相同
[0124] b.计算平均损失:临时目标tmpTar通过前向传播得到输出并与标签preTar做对比,对比公式为:
[0125]
[0126] 其中ao为DAE输出。
[0127] 步骤3)的核对过程和步骤2)中基本一致。
[0128] 其中,在步骤5中,所述根据不同情况进行自适应调节,其流程图如图8所示,其调节过程步骤如下:
[0129] 1)输入:采集的正负样本及标签S={(x1,y1),......,(xn,yn)},其中yi={0,1}分别对应正样本和负样本;
[0130] 2)全面更新:如果置信度C<0.55且距上次更新大于15帧(Lf>15)则使用SDAE训练辅助更新模型并更新分类层之外整个网络;
[0131] 3)常规训练:执行convenDCTtrain(NN,X,Y,opts)过程,辅助更新模型的最底层网络并交给表观模型,使用BP算法训练更高层的网络;当重构误差E<α时或训练次数T≥β时,训练结束;
[0132] 4)调整:如果在不是50帧内多次更新则使用BP算法对除最底层外的网络更新,否则使用BP算法更新整个网络;
[0133] 以上步骤1)——步骤4)所述是自适应调节训练的整体过程。在步骤2)、4)中,所述的全面更新,调整过程,详细说明的具体实施步骤和步骤2模型初始化中initTrain(NN,X,Y,opts)函数中的SDAE和BP算法基本一致,这里不再重复叙述。
[0134] 以上所述的实施例仅仅是对本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案做出的各种变形和改进,均应落入本发明权利要求书确定的保护范围内。