视觉跟踪算法—deeplearning

视觉跟踪,就是依据目标在第一帧的位置,对后续帧中目标的位置进行判定的过程。其主要困难是如何适应目标在运动过程中受内外部因素的影响而引起的外观变化。主要分为生成模型方法和判别模型方法。所谓生成模型,就是依据历史帧,生成模型,用以检测当前帧中候选目标的重构误差,重构误差最小的即为跟踪结果。判别模型,是将跟踪视为二分类分别,当前区域是由背景及目标组成。通过在当前帧采集正负样本,实现对分类器参数的更新。同时为了降低算法的时间复杂度,可采取一些降维的、提取特征的方法。

深度学习是针对神经网络的弊端由加拿大多伦多大学的Hinton大牛提出来的,所谓的深度学习,也是相对于神经网络的浅层结构学习而言的。在深度学习中,基本的网络结构有RBM和自编码。有许多的网络及其改进就是基于这两种结构提出来的。其中RBM即受限波尔兹曼机,有两层神经元网络结构。其中可见层由图像构成(28x28=784维),另外再加上一个隐层。可见层与隐层各自中的单元相互无连接。两层之间的任意节点之间均相连。

视觉跟踪算法—deeplearning_第1张图片

见层之间各个像素点的分布即由隐层之间的相互关系来描述。

可以采用CD(对比散度)的方法来学习这个网络的权重及偏置等参数,学习时训练数据量非常大。Hinton在Science上的发文称,传统神经网络的权值是随机初始化的,而经过深度学习后,其权重比较接近最优的。

自编码过程分为编码和解码两部分。编码部分对数据实现编码,达到降维和特征浓缩的目的,而解码又将压缩信息还原为数据。所以,可将其想象为3层。有两次连接。每次连接的权重和偏置是一样的。在训练结束之后,将隐层的解码部分去掉,只保留编码层。然后将原来的隐层当作可见层,再次实现编码和解码,重复以上过程,可得到堆栈式去噪自编码。一般的来说隐层节点个数总比可见层少,正是这种"瓶颈"使得SDAE能够学习到鲁棒的特征。

深度学习跟踪器是由香港理工的Naiyan Wang提出来的,实现过程比较简单。首先预训练一个堆栈式网络。在每一帧的跟踪过程中,首先采集正负样本,在已学习到的堆栈式网络上加上一个分类层,利用BP神经网络进行微调,得到一个分类网络。采集候选目标,则候选目标中得分最高的目标即为跟踪结果。继续在当前帧采集正负样本,对其重新进行训练。然后在下一帧收集候选目标,送入新的分类网络中。重复上述过程,即可实现跟踪。整个跟踪过程是由粒子滤波来引导的。

你可能感兴趣的:(视觉跟踪算法—deeplearning)