当前位置:首页 期刊杂志

深度单目标跟踪算法综述

时间:2024-05-04

白浩然

(四川大学计算机学院,成都610065)

0 引言

单目标跟踪算法是只根据视频某一帧中某特定一个目标物体的位置信息,在后续帧中对该目标物体进行持续跟踪定位,并给出相应预测出的目标位置的算法,在实际生活中已经在诸多领域中应用,如:自动驾驶、园区安保等。同时,近几年深度学习、神经网络的火热助长了单目标追踪算法在深度嵌入式特征领域的尝试,开拓了一个全新的方向。

1 核心结构与思想

孪生网络是其核心结构,介绍孪生网络前,先引入单目标追踪算法中的一些基本概念:模板帧与搜索帧。单目标追踪算法中处理的数据是视频,视频由帧构成,我们根据任务特点,人为的将视频帧分为两类:一是我们已知目标物体位置的某些视频帧,我们一般将这个已知帧称为模板帧;二是所有未知目标位置的视频帧,需要给出预测的跟踪位置,我们一般将这些帧称为搜索帧。那么单目标追踪算法的核心思想可以概括为:根据模板帧中目标物体的信息,依靠相关性算法,在搜索帧中定位目标物体。

2 难点

深度单目标追踪算法任务上的难点主要包括几部分:

(1)目标消失视野外

指跟踪目标消失在视频画面中,可能消失很长一段时间,或者快速闪入,闪出画面。

(2)目标被遮挡

指跟踪目标还在视频画面中,但被其他不相关物体遮挡住,具体可分为全部遮挡和部分遮挡。

(3)相似目标导致混淆

指视频画面中还存在与跟踪目标外观十分相似的不相关目标,特别是两者距离靠近时,追踪算法不易分辨,有时甚至人眼也无法快速分辨。

(4)运动模糊

指跟踪目标因为其本身快速运动,或镜头快速运动,导致的目标,画面模糊,使跟踪目标不易分辨。

对于这些难点,常见的相关算法提出的解决方案各有侧重点,但始终不会脱离一个基本框架的思想和结构,也就是接下来要介绍的挛生网络结构。

3 孪生网络结构

孪生网络作为深度单目标追踪算法的核心结构,时常以不同的形式出现在各个算法中,它是两支具有相同结构,相同参数的卷积神经网络,多见于深度单目标追踪算法的头部,常见的是AlexNet[1]、ResNet[2],它们一支用于模板帧的特征提取,一支用于搜索帧的特征提取,再将两支所得特征用卷积的方式来计算特征间的相似性,此类结构在单目标追踪领域的首次尝试是SiamFC[3],在SiamFC中,模板帧Z是目标物体的截取,比视频帧X尺寸小很多,搜索帧是完整视频帧。它们分别经过孪生网络φ后,得到的模板帧特征的尺寸也远小于搜索帧的,用这两个特征的embedding对原图进行表征,再将模板帧的嵌入式特征作为卷积核在搜索帧嵌入式特征中做卷积计算*,卷积后的会得到一张基于模板帧相似性的热力图,计算过程入下:

热力图最高响应点便可通过一些后处理算法转换成搜索帧中预测出的目标位置,从而实现跟踪。通过这种方法,将跟踪问题简化成匹配问题。这类方法的最大特点是速度十分快,但因其相关性计算较为简单,直接使用了卷积运算生成的热力图,并且缺少对于目标在多尺度情况下的优化,导致准确率较低。

以深度学习为基础的单目标追踪算法在孪生网络结构的基础上,发展出一系列不同的方法,并对Siam-FC中暴露出的问题进行有倾向性的改进。主要分成三种:孪生网络的优化算法、在线更新的算法、目标检测算法的变种算法,下面将介绍这三种方法。

3.1 基于孪生网络优化的算法

SiamFC中有两个显著的问题:一是相关性计算过于简单,直接用热力图计算预测位置,导致算法准确性较低,且对于目标的多尺度变化较为无力;二是由于网络平移不变性的限制,导致深层网络无法直接引入,而浅层网络提取的特征较为粗糙,不利于精准结果的得到。关于问题一的讨论与改进的代表作是SiamRPN[4],关于问题二的讨论与改进的代表作是SiamRPN++[5]、SiamDW[6]。

在SiamRPN中,引入了Faster R-CNN[7]中最具代表性的RPN网络作为相关性计算模块,在RPN网络中,将目标定位拆解为是否为目标中心点的二分类,目标框长宽尺寸的回归两个任务,并且配合Anchor机制:以每一个像素点为中心点的一组多比例,多尺寸的预定义目标框,先将每一个像素点做二分类,在目标中心点或近中心点上的预定义框上做目标尺寸的回归。这两点改变相辅相成,让计算过程更加平滑,且因为Anchor机制中多尺寸、多比例的预定义目标框让预测多尺度目标框尺寸的回归更加容易,不易出现梯度爆炸,使整体目标定位的准确性和鲁棒性皆有较大提升。

在SiamFC中特征提取的主干网络是移除了padding的AlexNet,虽然一定程度上缓解了padding所产生的平移不变性对于网络的破坏,但导致网络深度受到限制,所提取出的特征质量大打折扣。之所以padding如此关键,是因为卷积计算的一个特点便是平移等变性,padding的引入会使图像边缘被填充,像素点经过带padding的卷积层前后的位置会产生漂移,无法依照下采样倍数一一对应,致使破坏了平移等变性,产生对深层网络有害的平移不变性。SiamRPN++、Siam-DW都对这些问题进行了探讨。SiamRPN++中通过对数据施加特殊的预处理方法,一定程度上缓解了padding带给深层网络对于目标位置的偏见,第一次将深层网络,例如ResNet-50带入相关工作;SiamDW虽然也在关注如何将深层网络引入单目标跟踪,但没有采取类似SiamRPN++中数据预处理的方式,而是在探讨感受野、padding、stride三者的关系,以一种全新的残差模块代替ResNet中的传统模块。

3.2 基于在线更新的算法

在线更新的算法不同于其他训练后固定参数进行测试的算法,此类算法最大特点就是在测试阶段网络参数也同样在变化,网络会定向学习测试数据的特点,但囿于实时性的要求,测试阶段学习的次数较少,且数据都来自过往跟踪到目标的视频帧,所以数据量较小。其核心的思想就是在测试阶段对测试数据进行过拟合,所以通常都可以获得较高的准确性。但一旦某一位置产生错判定,会造成模型对错误数据进行拟合,对网络性能造成渐进的负面影响。可见这类方法的高准确性是一把双刃剑。

ATOM[8]和DiMP[9]作为此类方法的翘楚,ATOM借鉴IOUnet[10]中的思想,即:抛开具体尺寸数值的回归,以预测框与真实框的IOU作为目标进行离线训练,以此训练结果继续在测试中负责预测目标框尺寸,并用一个热力图对预测出的目标框的中心点进行分类,这一步引入了在线更新算法;DiMP的关注点在于Siam-FC中忽略的背景信息的运用上,手段是通过在线更新的算法强化模板帧的特征,使得模板帧特征始终在适应运动中产生形变、模糊等复杂情况,提升整体追踪算法的鲁棒性。

3.3 基于目标检测的算法

对于检测任务和追踪任务的最大区别就是后者需要始终关注同一个目标,产出其运动轨迹,防止发生跟偏,跟丢的情况,除此之外,两者的另一个区别是目标检测关注目标的具体类别,而目标追踪不关注,剩下的部分中两者的区别较为模糊,那么从发展较为成熟的检测算法对追踪任务进行借鉴,是一个十分自然的想法,而需要额外关注的只有如何引入模板帧与搜索帧的相关性计算,GlobalTrack[11]在这个思想的基础上完成度较高。

GlobalTrack的基本框架来自Faster R-CNN,但Faster R-CNN中缺少对于模板帧信息的引入,而Global-Track中通过孪生网络结构与ROI-pooling的结合:将目标的特征经过ROI Pooling后作为卷积核在搜索帧中进行卷积运算,大大提高了网络对于模板帧中目标的鉴别性,并使其对于目标具体类别不再敏感。

4 结语

以深度学习为基础的单目标跟踪算法在相关领域应该有了广泛的应用,并且以为其出色的性能越来越受到人们的关注,其中几种典型的方法各有优缺点:基于孪生网络优化的算法因为其越来越凝聚的结构而使其在跟踪速度方面有较为亮眼的表现,而准确性稍逊一筹;基于在线更新的算法因其对于数据的过拟合而产出高准确性,而因为要持续在测试阶段进行学习,更新网络参数,导致其速度较为受到限制;基于检测算法改进得到的追踪算法因为逐渐模糊检测与追踪之间的界限,为人们提供了一个较为统一的视角。

目前,对于单目标追踪算法的发展,并没有因为方法存在差异而呈现割裂化态势,如何将各自方法中的长处相结合会是今后研究的重点。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!