本篇文章9530字,读完约24分钟
雷锋。(公开号码:雷锋。艾科技评论出版社:这篇文章来自于志虎的提问[什么是计算机视觉中的经典目标跟踪算法?],雷的科技评论已获授权发表。
对于以上内容,请参考计算机视觉,什么是易于使用的目标跟踪算法(一)
五
vot2015竞赛vot 2015挑战赛|首页(vot挑战赛/vot 2015/)如期抵达。今年,有60个精心挑选的序列和62个跟踪器。最大的吸引力在于深度学习开始攻击跟踪,mdnet直接获得了当年的冠军,与深度特征相结合的相关过滤方法deepsrdcf位居第二,而主要解决边界效应的srdcf仅排在最后
随着vot比赛影响力的扩大,组织者们也是用心良苦。经典和顶尖的人聚集在一起,百家争鸣。有多达62个追踪者皇城pk和华山论剑。除了上面提到的深度学习和相关滤波,EBT (zhuanlan.zhihu/p/26654891),它结合了对象建议(建议和跟踪必须说的秘密-Zhihu列),排名第三,均值漂移颜色算法asms是推荐的实时算法。请注意另一个颜色算法,但第九个被击中的不是原来的。此外,我们可以看到经典的方法,如oab,stc,cmt,ct,ncc等。都在倒数位置,而经典的方法已经很远了。因此,在决定使用这些经典方法之前,我们可以测试几个新算法,看看是否会有意外。
在介绍srdcf之前,我们将首先分析相关滤波的缺点。一般来说,相关滤波方法在跟踪快速变形和快速运动时是无效的。
快速变形主要是由于cf是一种模板方法。很容易失去。这很容易理解。分析了相关滤波是一种模板方法。如果目标变形很快,基于hog的梯度模板就跟不上,如果目标颜色变化很快,基于cn的颜色模板就跟不上。这也与模型更新策略和更新速度,以及固定学习率的线性加权更新有关。如果学习率太大、部分或暂时遮挡以及任何检测都不准确,模型将学习背景信息并积累到一定程度,模型将与背景私奔,永不返回。如果学习率太小,目标已经变形,模板仍然是同一个模板,它将变得对目标一无所知。(例如,多年没见的学生可能不会被你认出来,而经常见到你的学生即使变化很大也知道,因为普通学生在你大脑中的模型是不断更新的,而那些多年没见的学生却是很长一段时间都不会更新的。(
快速运动主要是由于边界效应造成的,边界效应产生的错误样本会导致分类器的识别能力不够强,这将在训练阶段和检测阶段分别讨论。
在训练阶段,合成样本降低了识别能力。如果未添加余弦窗口,则移位样本的长度如下:
除了原始样本,所有其他样本都是“合成的”,并且100*100个图像块中只有1/10000是真实的,因此这个样本集根本不能用于训练。如果添加余弦窗口,因为图像边缘的像素值都是0,只要目标在循环移位过程中保持不变,这个样本就是合理的。只有当目标的中心靠近边缘时,目标越过边界的那些样本才是错误的,因此错误但合理的样本的数量增加到大约2/3(填充= 1),即使如此,仍然有1/3(3000/10000)的样本是不合理的。此外,添加余弦窗口不是“免费的”。余弦窗口将图像块边缘区域的所有像素都转换为0,这过滤掉了分类器非常需要学习的大量背景信息。鉴别者在原始训练中能看到的背景信息非常有限。我们还添加了一个余弦窗口来遮挡背景,这进一步降低了分类器的区分度(上帝在我面前遮住窗帘了吗?不是上帝,而是余弦窗)。
在检测阶段,相关滤波对快速运动目标的检测能力较弱。通过相关滤波训练的图像块的大小和检测到的图像块的大小必须相同,也就是说,如果训练100*100的滤波器,则只能检测100*100的区域。如果您计划通过添加更大的填充来扩展检测区域,那么除了增加复杂性之外,这将是无益的。目标的移动可以是目标本身的移动或摄像机的移动。根据目标在探测区域中的位置,有四种情况:
1.如果目标靠近中心,则检测准确且成功。
2.如果目标移动到边界附近,但没有离开边界,在添加余弦窗口后,一些目标像素将被过滤掉。此时,不能保证这里的响应是全局最大值。此外,此时检测到的样本与训练过程中不合理的样本相似,因此有可能失败。
3.如果目标的一部分已经移出该区域,并且我们需要添加余弦窗口,则可能只有剩余的目标像素将被过滤掉,并且检测将失败。
4.如果整个目标已经离开了这个区域,探测肯定会失败。
以上是边界效应。建议使用两种主流方法来解决边界效应,但它们速度较慢,不推荐用于实时应用。
一种方法是由Martin danelljan(cvl.isy.liu.se/research/objrec/visualtracking/ Regvistrack/index)研究用于视觉跟踪的空间调节相关滤波器,其主要思想是:由于边界效应发生在边界附近,因此忽略所有偏移样本的边界像素,或者边界附近的滤波器系数为0:
danelljan m,hager g,shahbaz khan f,等.学习用于视觉跟踪的空间正则相关滤波器[c]// iccv .2015.
Srdcf是基于dcf和类似samf的多尺度。它采用更大的检测区域(填充= 4),并添加空域正则化来惩罚边界区域中的滤波器系数。由于没有封闭解,所以采用高斯-塞德尔方法进行迭代优化。
另一种方法是基于mosse和基于hog的bacf的有限边界相关滤波器(hamed kiani/CFWLB)。主要思想是通过使用较大尺寸的检测图像块和较小尺寸的过滤器来增加真实样本的比例,或者用0填充过滤器以保持它们与检测图像一样大,并且没有封闭的解决方案。采用admm迭代优化:
kiani galoogahi h,sim t,lucey s .有限边界相关滤波器[c]// cvpr,2015 .
kiani galoogahi h,fagg a,lucey s . learning background-awareness correlation filters for visual tracking[c]//arxiv prep int arxiv:1703.04590,2017 .
实际上,这两种解决方案非常相似,它们使用较大的图像块来检测和更新,并使用较小的范围来训练相关滤波器。不同之处在于,srdcf的滤波器系数从中心到边缘平滑过渡到0,而cflm直接用0填充滤波器边缘。
在vot2015中,有deepsrdcf,它在相关过滤中排名第二,并结合了深度特征。因为深度功能非常慢,更不用说在cpu上的高速了,所以它不能被实时访问。虽然性能很高,但这里不推荐,所以先跳过它。
六
vot2016竞赛VOT 2016挑战赛| HOME (VOT挑战赛/VOT 2016/)仍然是vot2015的60个序列,但这次重新标记更公平合理。今年有70名参赛者,预计深度学习将主宰世界。八种纯cnn方法和六种结合深度特征的cf方法是最好的。还有另一种cf方法。最重要的是,良心组织者甚至透露了他们能得到的38个追踪器,一些追踪器代码和主页下载地址:VOT 2016挑战赛|追踪器(VOT挑战赛/VOT 2016/追踪器)(将来,我妈妈再也不用担心我找不到源代码~)。请注意一些下载链接、一些源代码压缩包和一些立即查看比赛结果(这里只列出了前60名):
突出了上述或更重要的方法,与多层深度特征相结合的相关滤波c-cot排名第一,而cnn方法tcnn是vot2016的冠军。作者和mdnet是同一个人,纯色方法dat和asms处于中等水平(事实上,两种方法的测量性能非常接近)。请参考其他跟踪器的文章。从速度上看,smacf没有公共代码,asms仍然很快。前10种方法中有两种速度更快,即stamp在其改进算法中排名第5,stamp+排名第9,而stamp+是今年推荐的实时算法。首先,祝贺luca bertinetto的暹罗和主食,他们表现非常好,然后为大奶牛默哀三分钟(vot2016纸原件):
这在siamfc追踪器和stamp的情况下尤其明显,Siam fc追踪器运行的订单高于实时(尽管是在gpu上),而stamp是实时的,但不正确地属于非实时追踪器。
乌龙茶发生在2016年。报纸上的订书钉是80英尺/秒。为什么这里的efo只有11?幸运的是,公共代码是主食和主食+。如果你感兴趣,你可以实际测试它。虽然我的电脑没有卢卡·贝蒂内托那么大,但我能以60-70fps的速度运行。更可笑的是,钉书钉+比钉书钉慢7-8倍,而efo高4倍。发生什么事了?
先看看订书钉的代码。如果您直接下载stamp并将params.visualization = 1设置为运行,stamp会调用计算机视觉系统工具箱来显示连续图像,但如果您没有此工具箱,默认情况下,imshow(im)用于显示每帧图像,因此速度非常非常慢。设置params.visualization = 0将使您运行非常快。建议您用dsst中相应部分的代码替换显示图像的代码,以便正常运行和显示。
从stamp+的代码来看,改进包括从颜色概率图中额外提取hog特征,特征增加到56个通道(stamp是28个通道),并且平移检测额外增加了大位移光流运动估计的响应,所以它将会非常慢,并且肯定会非常慢。
因此,很可能是vot组织者颠倒了订书钉和订书钉+的efo。vot2016的实时推荐算法应该是第五条主线。相关滤波器与颜色方法相结合,没有深度特征,也没有有线电视新闻网。它也可以以80fps的速度排列。第五,这是接下来的主要介绍,主食,2016年最牛的目标跟踪算法之一(让后面的深度学习算法汗颜,
颜色特征,颜色在目标跟踪中是一个非常重要的特征,不管有多少人在一起,只要目标穿着不同颜色的衣服,这是非常明显的。2014年cvpr的Cn是相关滤波框架下的模板颜色方法。这里,统计颜色特征方法dat学习,识别和监视@ ICG被隆重推出,帧速率为15fps:
possegger h,mauthner t,bisch Hof h . in defence of color-based model-free tracking[c]//cvpr,2015 .
如果要用一句话来介绍牛津大学的robots.ox.ac.uk/~luca/staple,那就是将模板特征方法dsst(基于dcf)和统计特征方法dat结合起来:
bertinetto l,valmadre j,golodetz s,et al . stamp:用于实时跟踪的补充学习者[c]// cvpr,2016 .
在前面的分析中,相关滤波模板特征(hog)不利于快速变形和快速运动,但对于运动模糊和光照变化更好。然而,颜色统计特征(颜色直方图)对变形不敏感,不属于相关的滤波框架,也没有边界效应。快速移动当然没问题,但它不利于光照变化和背景颜色相似。综上所述,这两种方法可以互补,也就是说,dsst和dat可以互补结合:
这两个框架的算法被高效无缝地结合在一起,dsst为25fps,dat为15fps,但结合后的速度达到了80fps。dsst框架将跟踪分为两个问题,即翻译检测和尺度检测。dat被添加到翻译检测部分。相关滤波器有一个响应图,像素级前景概率也有一个响应图。两个响应图被线性加权以获得最终的响应图。其他部分与dsst相似。平移滤波器、比例滤波器和颜色概率模型都是线性加权的,并以固定的学习速率更新。
另一种结合颜色概率的相关滤波方法是csr-dcf,它提出了空域可靠性和信道可靠性,在13fps时的性能几乎与c-cot相当;
卢克。我?沃伊?t?ehovin l,et al . discriminal correlation filter with channel and space reliance[c]//cvpr,2017 .
由csr-dcf中的空域的可靠性获得的二进制掩码类似于cflm中的掩码矩阵p,其中更容易跟踪的目标区域被自适应地选择并且边界效应被减小;过去,多信道特性是直接求和,而csr-dcf中的信道采用加权求和,信道可靠性是自适应加权系数。采用admm迭代优化。
相关滤波中还有第一个c-cot,它像deepsrdcf一样被首先跳过。
七
前面提到的许多cf算法,包括vot竞争,都是针对短期跟踪的,即短期跟踪。我们只关注短期内(如100~500帧)跟踪是否准确。然而,在实际应用中,我们希望正确的跟踪时间会更长,例如几分钟或十分钟,这是长期的跟踪问题。
长期希望追踪者能长期正确追踪。我们分析了以上介绍的方法不适合这种应用,要实现正确的长期跟踪,必须有短期跟踪器和检测器的配合。
用一句话介绍长期,即给普通跟踪器分配一个检测器,当发现跟踪错误时,调用自己的检测器重新检测并纠正跟踪器。
然后,介绍了cf方向上一种有代表性的长期方法——LCT·马超99/LCT跟踪器(github/马超99/LCT跟踪器):
马c,杨x,张c,等。长期相关跟踪[c]// cvpr,2015。
在dsst中的平移相关滤波器rc和尺度相关滤波器的基础上,lct增加了负责检测目标置信度的第三相关滤波器rt。在线检测器是一个用于tld的随机蕨分类器,在代码中改为svm。第三个相关滤波器类似于mosse,没有填充,也没有余弦窗,它放置在平移检测之后。
lct增加了检测机制,理论上更适合遮挡和看不见的情况,速度为27fps。实验只运行otb-2013,跟踪精度很高。根据其他论文,lct对otb-2015和vot的影响稍差,这可能是由于两个核心阈值不适应的事实。关于远期、tld和lct的观点都值得借鉴。
接下来,将介绍跟踪置信度。跟踪算法每次都需要反映跟踪结果的可靠性,这一点非常重要,否则,可能会造成跟踪失败而不知道的情况。有两个指标可以反映相关滤波方法的跟踪置信度:前所未见的最大响应值和前所未见的响应模式,或者综合反映这两点的指标。
Lmcf(mm wang的目标跟踪专栏:目标跟踪算法-智虎专栏)提出多峰值检测和高置信度更新;
王m,刘y,黄z .循环特征映射的大边缘目标跟踪[c]// cvpr,2017 .
高置信度更新是指仅在跟踪置信度较高时更新跟踪模型,这样可以避免目标模型的污染,提高速度。第一个置信度指数是最大响应分数fmax,它是最大响应值(同时提到了钉书钉和lct)。第二个置信度指标是平均峰相关能量(APCE),它反映了响应图的波动程度和检测目标的置信度。这(可能)是目前最好的指数。建议:
跟踪置信度指数还包括mosse中的峰值与旁瓣比(psr),它是根据相关滤波后的峰值以及11*11峰值窗口之外的旁瓣均值和标准差计算的。建议:
还有跟踪信心指标。在csr-dcf的空域可靠性中,使用了两个类似的指标来反映信道可靠性。第一个指标也是每个通道的最大响应峰值,即fmax,第二个指标是响应图中第二个和第一个主模式之间的比值,反映了每个通道响应中主模式的表现力,但有必要先进行最大检测:
这些是在当前相关过滤方法中提到的更好的跟踪置信度指数。
八
最后一部分是martin danelljan的特别表演,主要介绍他的一些作品,特别是结合深度特征的相关滤波方法。这些代码都在他的主页可视化跟踪(CVL . isy . Liu . se/research/obj rec/visualtracking/)上,所以没有一一发布。
danelljan m,shahbaz khan f,felsberg m,et al . adaptive color attributes for real-time visual tracking[c]//cvpr,2014 .
颜色名称是一种非常重要的多通道颜色特征,在cn中提出,并在csk框架中使用,取得了很好的效果。还提出了一种加速算法cn2。通过类似pca的自适应降维方法,特征通道的数量减少了(10 -> 2),平滑项增加了跨越不同特征空时的代价,即pca中的协方差矩阵不能线性更新
danelljan m,hager g,khan f s,et al . discriminal scale space tracking[j].ieee tpami,2017。
Dsst在vot2014中排名第一,开创了平移滤波+比例滤波的方式。在fDsst中加速dsst,pca方法降低平移滤波hog特征通道的维数(31 -> 18),qr方法将尺度滤波器~1000*17特征的维数降低到17*17,最后使用三角插值(频域插值)将尺度数从17插值到33,以获得更精确的尺度定位。
Srdcf在vot2015中排名第四。为了减小边界效应和扩大检测区域,在优化目标中加入了空之间的约束项。平移检测子网格中,高斯-塞德尔法用于迭代优化,牛顿法用于精确目标定位的迭代优化。
danelljan m,hager g,shahbaz khan f,等.训练集的自适应净化:用于辨别性视觉跟踪的统一公式[c]// cvpr,2016 .
srdcfdecon在srdcf的基础上,改进了样本和学习率的问题。以往的相关滤波是一种具有固定学习率的线性加权更新模型。虽然保存以前的样本相对简单,但在定位不准确、遮挡和背景干扰的情况下,会污染模型并导致漂移。Srdcfdecon选择保存之前的样本(图像块包括正样本和负样本),将样本权重参数和正则项加入到优化目标函数中,并采用交替凸搜索。首先,样本权重固定,高斯-塞德尔法迭代优化模型参数,然后模型参数固定,凸二次规划法优化样本权重。
danelljan m,hager g,shahbaz khan f,等.基于相关滤波的视觉跟踪卷积特征[c]// iccvw,2015 .
Deepsrdcf在vot2015中排名第二。用cnn中单个卷积层的深度特征(即卷积网络的激活值)代替srdcf中的hog特征,大大提高了效果。这里使用的是Imagenet-vgg-2048网络,vgg网络的移植能力较强,而且matconvnet属于vgg集团,所以调用matlab非常方便。本文还测试了不同卷积层在目标跟踪任务中的性能:
第一层表现最好,其次是第二层和第五层。由于卷积层数越多,语义信息越多,但纹理细节越少。第1层到第4层变得越来越差的原因之一是特征图的分辨率越来越低,而第5层更高,因为它包含了完整的语义信息并且具有很强的区分性(最初用于识别)。
应注意区分深度特征和基于深度学习的方法。深度特征来源于imagenet上预先训练好的图像分类网络,不存在微调过程和过拟合问题。然而,大多数基于深度学习的方法需要端到端的训练或对跟踪序列进行微调,如果样本的数量和多样性有限,就有可能被过度拟合。
马c,黄j b,杨x,等.用于视觉跟踪的分层卷积特征[c]// iccv,2015 .
还值得一提的是,马超的hcf结合多层卷积特征的增强效果,使用vgg19的conv5-4、conv4-4和conv3-4的激活值作为特征,所有特征都按图像块分辨率进行缩放。虽然目标应该根据论文从粗到细来确定,但代码相对直接,三个卷积层的响应以1、0.5和0.02的固定权重线性加权作为最终响应。虽然使用了多层卷积特征,但没有注意到边界效应,线性加权方法过于简单。hcf在vot2016中仅排在第28位(具有单层卷积深度特征的deepsrdcf排在第13位)。
danelljan m,robinson a,khan f s,et al . beyond correlation filters:learning continuous卷积算子用于视觉跟踪[c]// eccv,2016 .
C-cot是2016年的第一款。它结合了SRD cf 空域的正则化和srdcfdecon的自适应样本权重,并将deepsrdcf单层卷积的深度特征扩展到多层卷积(vgg层1和5)的深度特征。为了解决不同分辨率的不同卷积层问题,采用共轭梯度下降法迭代优化目标函数,比高斯-塞德尔法速度快。自适应样本权重直接采用先验权重,不存在交替凸优化过程。牛顿法用于在检测过程中迭代优化目标位置。
请注意,上述srdcf、srdcfdecon、deepsrdcf和c-cot不能实时使用。尽管这一系列工作的效果越来越好,但它变得越来越复杂。当相关的过滤变得越来越慢,失去速度优势时,martin danelljan对2017cvpr的eco有一个急刹车。上帝会告诉我们什么是好的和快的。不要忘记你的首创精神:
danelljan m,bhat g,khan f s,et al. eco:用于跟踪的有效卷积算子[c]// cvpr,2017 .
Eco是c-cot的加速版本,它从三个方面加速:模型大小、样本集大小和更新策略。它的速度比c-cot高20倍,而且用量减少。预期收益增加13.3%。最强大的是手工制作的eco-hc有60fps。吹完后,让我们看看具体的做法。
首先,减少模型参数,并定义一个因子化卷积算子。这种效果类似于主成分分析,它是用主成分分析初始化的,然后只在第一帧优化降维矩阵,然后在后续帧中直接使用它。简而言之,它是监督降维,当使用深度特征时,模型参数减少了80%。
其次,减少样本数量,即通过高斯混合模型(gmm)结合相似样本建立更具代表性和多样性的样本集的紧凑生成模型,待保存和优化的样本集数量减少到c-cot的1/8。
第三,改变更新策略,稀疏更新方案,每五帧优化更新模型参数,不仅提高了算法的速度,而且提高了抗突变和遮挡的稳定性。然而,样本集每帧更新一次,稀疏更新不会错过样本间隔变化的信息。
当然,关于eco的成功有很多细节,我不太明白其中的一些,但是它们非常强大。在eco实验中,四个数据库(vot2016、uav123、otb-2015和temple color)是第一个,没有拟合问题。仅在性能方面,eco是目前最好的相关滤波算法,也可能是最好的目标跟踪算法。在eco-hc的手工制作功能版本中,hog+cn的原始42维功能被简化为13维,其他部分类似。虽然实验结果没有给出2016年vot2中eco-hc的结果,但其他三个实验结果都很高,本文给出的速度为60fps。
最后,luca bertinetto的robots.ox.ac.uk/~luca/cfnet,其相关滤波器基于跟踪,也可以在cnn中以端到端的方式进行训练:
valmadre j,bertinetto l,henriques j f,等.基于相关滤波器的跟踪的端到端表示学习[c]// cvpr,2017 .
在siamfc的基础上,相关滤波也被认为是cnn中的一个层,最重要的是cf层的前向传播和后向传播公式的推导。具有两个卷积层的cfnet在gpu上是75fps,其综合性能并不惊人。可能很难处理cf层的边界效应,所以这是一种观望态度。
九
目前,以下两组对相关过滤方向(创新和代码)贡献最大:
牛津大学:joao f. henriques和luca bertinetto,代表:csk,kcf/dcf,staple,cfnet (other siamfc,learnet)
林雪平大学:马丁·达内尔扬,代表:中国、DSST、东南非合作论坛、东南非合作论坛、东南非合作论坛、中非合作论坛、经合组织
雷锋文章版权所有。严禁擅自转载。详情请参考转载说明。
标题:计算机视觉中,究竟有哪些好用的目标跟踪算法(下)
地址:http://www.hcsbodzyz.com/hcxw/7245.html