本专栏将逐一盘点自然语言处理、计算机视觉等领域下的常见任务,并对在这些任务上取得过 SOTA 的经典模型逐一详解。前往 SOTA!模型资源站(sota.jiqizhixin.com)即可获取本文中包含的模型实现代码、预训练模型及 API 等资源。
本文将分 2 期进行连载,共介绍 10 个在目标追踪任务上曾取得 SOTA 的经典模型。
- 第 1 期:MDNet、SiamFC、ADNet、CFNet、LSTM(RNN)
- 第 2 期:SiamRPN、SiamMask、UpdateNet、SiamAttn、SiamGAT
您正在阅读的是其中的第 1 期。前往 SOTA!模型资源站(sota.jiqizhixin.com)即可获取本文中包含的模型实现代码、预训练模型及 API 等资源。
本期收录模型速览
目标追踪是计算机视觉领域中非常热门且具有挑战性的研究领域之一。目标追踪是指在第一帧图像中给定待追踪目标的情况下,对目标进行特征提取,对感兴趣区域进行分析;然后在后续图像中找到相似的特征和感兴趣区域,并对目标在下一帧中的位置进行预测。目标追踪技术在导弹制导、智能监控系统、视频检索、无人驾驶、人机交互和工业机器人等领域都具有重要的作用。
目标追踪算法主要分为两类:第一类是生成式(generative)目标追踪算法,通过在线学习方式建立目标模型,然后使用模型搜索重建误差最小的图像区域,完成目标定位。这一类方法就是在当前帧对目标区域建模,下一帧寻找与模型最相似的区域并将其确定为预测位置,比较著名的有卡尔曼滤波,粒子滤波,mean-shift等。这类方法的主要问题是没有考虑目标的背景信息,没能有效利用图像信息。第二类是判别式(discrimination)模型,将目标追踪看作是一个二元分类问题,同时提取目标和背景信息(图像特征)来训练分类器,将目标从图像序列背景中分离出来(目标区域为正样本,背景区域为负样本),从而得到当前帧的目标位置。在处理下一帧时则利用训练好的分类器寻找最优区域。这类方法采用机器学习技术,在训练过程中使用背景信息,这样分类器就能专注区分前景和背景,效果较好。
2015年,深度学习技术开始进军目标追踪领域,使用深度学习技术可以更好的提取目标的特征,对目标进行更好的表达。不过,生成式的相关滤波技术在此之后依然不断发展,对边界效应的处理效果越来越好。也就是说,深度学习的模型并未完全取代或是完全胜出于传统的目标追踪方法,这也是这一领域的一大特点。深度学习方法应用于目标追踪任务面临的主要问题是:使用图像分类的大型数据集预训练模型,但是这种数据集与视频追踪所需的实际数据往往存在较大的差异,导致追踪误差较大;另外,随着深度学习网络层数的增加,算法的计算量增大,这会降低追踪过程中的实时性。一般来说,相关滤波技术的处理速度更快,深度学习方法的准确性更高。
本文聚焦于深度学习技术,回顾目标追踪中必备的深度学习TOP模型。本文提到的目标追踪均指单目标追踪SOT(Single Object Tracking)。
1、 MDNet
本文提出了一种新的CNN 框架来处理目标追踪问题。由于CNN依赖于大规模训练数据,所以在目标追踪领域中的应用效果一直有限。本文提出了 Multi-Domain Network (MDNet),从多个标注的视频序列中,来学习物体的共享表示,协助进行追踪,将其中每一个视频都看做是一个单独的域 domain。所提出的网络具有单独的分支,即:domain-specific layers for binary classification。MDNet 上的每一个 domain 都是单独训练的,并且每次都迭代的更新共享层。利用该策略,作者从 domain-specific 得到依赖于 domain 的信息,学习普遍的特征表示用来追踪。
图1 MDNet结构,由共享层和特定域的K个分支组成。黄色和蓝色的边框分别表示每个领域的正、负样本
MDNet的结构如图1所示。它接收107×107的RGB输入,有五个隐藏层,包括三个卷积层(conv1-3)和两个全连接层(fc4-5)。此外,该网络的最后一个全连接层(fc61-fc6K)有K个分支,对应于K个领域。卷积层与VGG-M网络的相应部分相同,只是特征图的大小由输入大小来调整。接下来的两个全连接层有512个输出单元,并与ReLU和dropouts相结合。每一个K分支都包含一个具有softmax交叉熵损失的二元分类层,负责区分每个域的目标和背景。作者把fc61-fc6K称为特定域(domain-specific)的层,把前面所有的层称为共享层。为了获得不同视频序列在追踪中的共同信息,作者采用了如下训练方式,对于K个视频序列,fc6存在着K个batch分支,当训练第K个视频时,使用SGD更新conv1-3、fc4-5和fc6的第K个batch分支,直至网络收敛或者达到训练次数。在测试过程中,作者固定conv1-3的参数,新建fc6,并根据测试序列微调fc4-5、训练fc6。
在应用网络进行目标追踪的过程中,考虑两个互补的特性,即:robustness 和 adaptiveness。Long-term update 是按照常规间隔后进行更新;short-term updates 当出现潜在的追踪失败的时候进行更新,此处潜在的追踪失败是指:预测目标的positive score 小于 0.5。在追踪的过程中保持单独的网络,这两种更新的执行依赖于物体外观变化的速度。为了预测每一帧目标的状态,在前一帧物体周围提取 N 个模板,然后根据网络得到他们的得分,即:正样本得分以及负样本得分。通过找到最大正样本得分作为最优的目标状态:
进一步,作者引入 bounding box regression技术来改善定位的准确度。给定测试视频的第一帧,使用conv3的特征训练一个简单线性回归模型来预测目标物体的位置。在随后的视频帧中,如果预测的目标是可靠的,那么可以调整从上式中得到的目标位置。文章仅仅用第一帧进行 bounding box 回归预测。完整的目标追踪流程如下:
当前SOTA!平台收录MDNet共1个模型实现。
项目 | SOTA!平台项目详情页 |
MDNet | 前往 SOTA!模型平台获取实现资源:https://sota.jiqizhixin.com/project/mdnet |
2、 SiamFC
考虑追踪视频中任意对象的问题,一般来说,初始获取的目标对象为第一帧中的矩形标识,仅凭当前视频的数据仅能学习简单的模型。这种监督数据的稀缺和实时操作的限制影响了深度学习在这种每视频学习一个目标追踪器的范式中的应用。本文提出了一种替代方法,在初始离线阶段训练深度卷积网络以解决更一般的相似性学习问题,然后在追踪期间简单地在线评估此功能。本文的主要贡献在于证明该方法在现代追踪基准测试中以远超帧速率要求的速度获得了非常有竞争力的性能。具体来说,训练了一个孪生网络以在更大的搜索图像中定位示例图像。此外,提出了一个全卷积的孪生体系结构:通过计算两个输入的互相关性的双线性层实现了密集而有效的滑动窗口评估。
本文使用相似性学习的方法学习追踪任意目标。作者提出学习函数f(x,z) ,将示例图像z与相同大小的候选图像x 进行比较,如果两个图像描绘相同的对象则返回高分,否则返回低分。为了在新图像中找到对象位置,我们可以穷尽地测试所有可能的位置并选择与对象过去的外观具有最大相似性的候选者。在实验中,作者简单地使用对象的初始外观作为示例,从具有标记的对象轨迹的视频数据集中学习函数f。作者使用深度卷积网络作为函数f,使用Siamese(孪生)架构解决了使用深度卷积网络进行相似性学习的问题。
Siamese网络是指网络的主体结构分上下两支,这两支像双胞胎一样共享卷积层的权值。上面一支(z)称为模板分支(template),用来提取模板帧的特征。φ表示特征提取方法,文中提取的是深度特征,经过全卷积网络后得到一个6×6×128的feature map φ(z)。下面一支(x)称为检测分支(search),是根据上一帧的结果在当前帧上crop出search region。同样提取了深度特征之后得到一个22×22×128的feature map φ(x)。模版分支的feature map在当前帧的检测区域的feature map上做匹配操作,可以看成是φ(z)在φ(x)上滑动搜索,最后得到一个响应图,图上响应最大的点就是对应这一帧目标的位置。
图2 全卷积孪生Siamese结构。该架构对于搜索图像x来说是全卷积的。其输出是一个标量值的分数图,其维度取决于搜索图像的大小。这使得相似性函数可以在一次评估中对搜索图像中的所有翻译子窗口进行计算。在这个示例中,分数图中的红色和蓝色像素包含了相应子窗口的相似度
全卷积网络的优点是我们可以提供更大的搜索图像作为网络的输入,而不是相同大小的候选图像,它将在一次评估中计算密集网格上所有转化的子窗的相似性。为了实现这一点,作者使用卷积嵌入函数φ并使用互相关层组合得到的特征图:
在追踪期间,使用以目标的先前位置为中心的搜索图像。将最大分数相对于分数图中心的位置乘以网络中设定的步长,可以得到目标在帧与帧之间的位移。通过组装小批量的缩放图像,在单个前向通道中搜索多个标度。使用互相关组合特征图并在较大的搜索图像上对网络进行评估,在数学上等同于使用内积去组合特征图并且独立地评估每个在转换的子窗上的网络。作者采用判别方法,在正负对上训练网络。采用logistic损失函数:
在训练过程中,通过使用包含示例图像和更大搜索图像组成的对,来利用网络的全卷积性质。生成一个分数v:D−>R的映射,有效地为每对生成许多示例。将分数图的损失定义为个体损失的平均值:
对于得分图的每个位置u ∈ D,都要求有一个真实的标签y[u]∈{+1,−1},利用随机梯度下降法(SGD)求解卷积神经网络θ的参数:
通过抽取以目标为中心的样本和搜索图像,从带注释的视频数据集中获得成对。图像是从视频的两帧中提取出来的,这两帧都包含目标,并且最多间隔T帧。在训练时忽略对象的类别。对每个图像内的对象比例进行归一化,而不破坏图像的宽高比。如果得分图的元素位于中心半径R内(考虑到网络的步幅k),则认为它们属于一个正样本。
在训练期间,采用127 x 127的示例图像,并搜索255 x 255像素的图像。加上附加边缘,使得图像缩放后边界框(Bounding Box)具有固定的区域。更确切地说,如果紧密边界框(tight bounding box)具有大小(w,h)并且上下文边距是p,则选择比例因子s使得缩放矩形的面积等于常数:
作者使用示例图像A=127^2的区域并将上下文的量设置为平均维度的一半p=(w+h)/4。提取每帧的示例和搜索图像以避免在训练期间调整图像大小。
本文目的是证明在ImageNet Video上训练时全卷积孪生网络的有效性及其泛化能力,因此作者使用了一种极其简单的算法来执行追踪。与更复杂的追踪器不同,不会更新模型或保留过去的记忆,不会合并其他线索,例如光流或颜色直方图,并且不会使用边界框回归来改进预测。然而,尽管这种方法非常简单,根据本文的离线学习相似度指标,追踪算法仍获得了非常好的效果。
当前SOTA!平台收录SiamFC共8个模型实现。
项目 | SOTA!平台项目详情页 |
SiamFC |
前往 SOTA!模型平台获取实现资源:https://sota.jiqizhixin.com/project/siamfc |