目标跟踪算法KCF的研究和应用
论文链接:https://link.zhihu.com/?target=http%3A//ieeexplore.ieee.org/abstract/document/6870486/
代码链接:http://www.robots.ox.ac.uk/~joao/
个人认为,这篇论文是近年来跟踪界最经典的论文,没有之一。主要思想就是利用了循环矩阵对角化等性质,使得核化之后的计算变得十分简单。原理很复杂(原文中公式竟然有60多个啊+_+),代码很简单(少到令人感动)。下面废话不多说,谈谈论文的主要思想。
1.总体思路:所谓的相关滤波方法就是根据当前帧的信息和之前帧的信息训练出一个相关滤波器,然后与新输入的帧进行相关性计算,得到的置信图就是预测的跟踪结果,显然,得分最高的那个点(或者块)就是最可能的跟踪结果。由于KCF里并没有任何的流程图,所以我们借助STC[1]中的配图来理解一下,看着配图应该能理解主要的流程了。这里要说一下,为什么能用其它论文的配图,因为我们介绍的这篇KCF和STC都是对12年CSK[2]的改进,不同的是,KCF是在CSK基础上加了HOG特征使得效果大大提升了,STC是在贝叶斯的框架下对CSK进行解释并在其中加入了上下文(context)信息的应用。所以本质上来说,这几个都是一样的流程。
1.1上面的部分就是利用之前帧的跟踪结果图片训练出相关滤波器。我们将原始的问题表述为:
优化函数由凸优化里最简单的最小二乘和正则项组成,也就是最常用的岭回归方法:
这里的理想回归期望(标签)假设是高斯型,直观上理解就是离上一帧跟踪结果越近,那么它是这一帧的跟踪结果的概率也就越大。如下图,下一帧中心点的位置在黄色点周围的可能性大,不会跑太远,所以理想回归函数也就是中间大周围小。
因为最小二乘类的优化方法已经很成熟了,所以我们可以直接用公式求解(其实就是求偏导令其等于0):
看起来比较复杂,又是共轭转置又是求逆的,所以要简化一下。那么本文也是常规思路,把非线性问题转化为线性问题,所以就想到了SVM中也用到的核技巧(注意我们这里推导的时候用的是点积核,但其实核函数还有多项式核、径向基核及高斯核等),引入核函数后能够把参数训练问题简化:
这里的K是两个矩阵的核相关性。看起来似乎已经简化了很多了,但是,还是有求逆!求逆杀伤力太强了,不行,一定还要简化。怎么办呢?这时循环矩阵对角化的性质派上用场了,利用循环矩阵的性质,使得训练过程进一步简化。
这里顶上的符号是复域的意思。不管你信不信,反正我是信了,竟然如此简单,这里详细的推导过程放在后面的部分。
1.2下面的部分就是对新输入的帧进行检测,其实就是跟滤波器计算出相关性再乘上回归系数,如果是新手听不懂没关系,后面会再讲的哦。右下角的置信图(就是各个点是跟踪结果的可能性)用公式来表达就是如下:
没错,就是这么简单就能求出输入帧的跟踪结果了。如上图右下角所示,新的跟踪结果比原跟踪结果往右上方移了一些,直观上来看红色框中David的脸确实往右上方移动了一些,所以结果应该是对的,当然这只是我们肉眼看到的结果,真正结果好不好还要看在数据集上跑的结果,KCF的结果会在之后的实验部分讲,结果是相当好的,当然那是在2014年的时候。
那么这里得到的响应矩阵(置信图)该怎么理解呢?便于理解,故放一张图。这里也是循环采样的精髓之处。
如上图,最后得到的响应矩阵其实可以理解成一种密集的采样对应的响应矩阵,左上角(上图中第1行第1列)的响应值就是预测的当前输入帧以这个点为中心的可能性,当然这个点的预测值肯定是很低的,因为我下一帧很难跑到那里去。以此类推,MxN个响应对应的就是MxN种循环移位。下面一句话是重点,所谓的循环矩阵到这里就大显身手了,仔细想想,第ij块表示原图下移i行右移j列,那么换句话说,好像我所有的这MxN个循环移位的矩阵只要用一个量就可以表示了。
有没有一种熟悉的感觉?对,就是基波和谐波。类比一下,我用一个基波和一个倍数就能表示所有的谐波了,这里的原图就是基波,而位移之后的图就是谐波。自然地,既然那么像,那我们就试试傅立叶变换呗,一试就成了,因为需要计算的量很少,所以速度快,因为密集采样样本大大增加,所以跟踪的效果又很好。
如果你不是做跟踪这行的话,可能会问,右下角t+1帧的时候为什么红色框的中心(也就是黄色小点)不是David的鼻子那里,那是因为这个红色框是根据上一帧的跟踪结果来画的,这个小黄点的位置其实是上一帧David(David也算是个数据集中的明星0.0)鼻子的位置,这也是常见做法,先用上一帧的结果在当前输入帧框出一个大框,然后跟最新的滤波器做相关性计算,相关性最大的就是鼻子那块,也就是当前输入帧的跟踪结果。
2.其实讲到这里已经把精髓讲完了,下面讲一些推导细节,加深理解。
2.1循环矩阵对角化有神奇效果,大大降低了运算量。首先举个例子,来展现它神奇的效果。就拿上文出现的岭回归公式当例子吧,看看能把它简化成什么样。
原始公式:
在复域中(H表示共轭转置)即:
化简过程:
这是我早前推的,比起他的公式,我个人更喜欢他的代码嘻嘻。这个公式推下来并没有用,只是让我们见识一下循环矩阵化简的威力,真正用到代码里去的是下面3个推导。
2.2大家是否还记得我们这里实际上用到的是核化的岭回归啊?也就是比普通的稍微简化了一些的,所以推导起来也比较容易。
原始公式:
化简过程:
嗯,好像看起来还不错哦,既没有求逆又没有很多矩阵乘法运算。它的代码其实更感人。
简单的不能再简单了,至此,训练过程结束。下面看检测过程,同样化简得面目全非。
2.3检测出跟踪结果,就是当前输入的帧和滤波器求相关性,相关性最大的即为跟踪结果。
原始公式:
化简过程:
嗯,这篇论文真是不断地感动着我们这些吃瓜群众,原来可以这么简单。看着公式,代码闭着眼睛都能编了。
现在只剩一个问题了,那就是核相关性怎么求。
2.4核相关性的化简。好像解决了这个就完美了,那这个核相关性好求吗?如果不好求的话,就空亏一篑了,放心,跟踪界的allstar Henriques(葡萄牙人的名字我至今不会读)当然已经帮我们解决好了,依然简单。
原式公式:
化简过程:
我们这里只推导点积核。剩下的多项式核,径向基核,高斯核类比就能得到。论文里效果最好的是高斯核。
注意,代码里第2行是使用HOG特征的关键,他把31层HOG特征全部加起来了,这个简单的操作使得之前的CSK能用很多高维特征,故性能大增。
3.实验。我在OTB50上跑了0.514,因为加入了形状特征HOG,所以抗光照等性能骤升,当时(2014年)能排世界第3,由于实现起来非常简单,在很多人眼里是近年来跟踪界当之无愧的最佳论文(其实是在我眼里)。
本人跑的结果:
作者论文中的对比实验结果:
4.总结
本论文使用了HOG特征+核函数法把相关滤波器领域又推到了一个新的高度上。KCF是原理很复杂,实现很简单的代表作之一。
[1] K. Zhang, L. Zhang, Q. Liu, D. Zhang, and M.-H. Yang. Fast visual tracking via dense spatio-temporal context learning. In Proceedings of the European Conference on Computer Vision, 2014.
[2] J. F. Henriques, R. Caseiro, P. Martins, and J. Batista. Exploiting the circulant structure of tracking-by-detection with kernels. In Proceedings of the European Conference on Computer Vision, 2012.
上一篇: 一种与相关滤波相关的KCF方法初探
下一篇: 2020年RM视觉算法综述
推荐阅读
-
解析入门详细的KCF目标跟踪算法
-
KCF跟踪算法在Python中的应用
-
目标跟踪算法KCF的研究和应用
-
提升KCF:改进的目标跟踪算法之2- KCF算法的增强版
-
Python实现具备单一目标、多目标、多尺度和自定义特征的KCF跟踪算法实例代码
-
【摩尔线程+Colossal-AI强强联手】MusaBert登上CLUE榜单TOP10:技术细节揭秘 - 技术实力:摩尔线程凭借"软硬兼备"的技术底蕴,让MusaBert得以从底层优化到顶层。其内置多功能GPU配备AI加速和并行计算模块,提供了全面的AI与科学计算支持,为AI推理和低资源条件下的大模型训练等场景带来了高效、经济且环保的算力。 - 算法层面亮点:依托Colossal-AI AI大模型开发系统,MusaBert在训练过程中展现出了卓越的并行性能与易用性,特别在预处理阶段对DataLoader进行了优化,适应低资源环境高效处理海量数据。同时,通过精细的建模优化、领域内数据增强以及Adan优化器等手段,挖掘和展示了预训练语言模型出色的语义理解潜力。基于MusaBert,摩尔线程自主研发的MusaSim通过对比学习方法微调,结合百万对标注数据,MusaSim在多个任务如语义相似度、意图识别和情绪分析中均表现出色。 - 数据资源丰富:MusaBert除了自家高质量语义相似数据外,还融合了悟道开源200GB数据、CLUE社区80GB数据,以及浪潮公司提供的1TB高质量数据,保证模型即便在较小规模下仍具备良好性能。 当前,MusaBert已成功应用于摩尔线程的智能客服与数字人项目,并广泛服务于语义相似度、情绪识别、阅读理解与声韵识别等领域。为了降低大模型开发和应用难度,MusaBert及其相关高质量模型代码已在Colossal-AI仓库开源,可快速训练优质中文BERT模型。同时,通过摩尔线程与潞晨科技的深度合作,仅需一张多功能GPU单卡便能高效训练MusaBert或更大规模的GPT2模型,显著降低预训练成本,进一步推动双方在低资源大模型训练领域的共享目标。 MusaBert荣登CLUE榜单TOP10,象征着摩尔线程与潞晨科技联合研发团队在中文预训练研究领域的领先地位。展望未来,双方将携手探索更大规模的自然语言模型研究,充分运用上游数据资源,产出更为强大的模型并开源。持续强化在摩尔线程多功能GPU上的大模型训练能力,特别是在消费级显卡等低资源环境下,致力于降低使用大模型训练的门槛与成本,推动人工智能更加普惠。而潞晨科技作为重要合作伙伴,将继续发挥关键作用。
-
目标追踪中的概率数据关联算法PDA与联合概率数据关联JPDA应用研究
-
目标检测与跟踪 AI 算法模型及边缘计算智能分析网关 V4 的算法应用
-
位置隐私保护方法的研究与应用-融合位置和对称加密传输的隐私保护算法及性能分析-结论
-
OFD, PDF 系列软件说明(OFD 阅读器 - OFD 模板设计器 - OFD 转 PDF - PDF 转 OFD) - 前言 OFD 是一种版式文档格式。所谓版本文档格式,就是以固定电子文档格式呈现的版式。今天,我们接触到的最常见的版本文档是国际上的 PDF。国内则是由工业和信息化部软件司牵头,中国电子技术标准化研究院成立的版本文件编制国家标准OFD(Open Fixed-layout Document)。 版式文档格式是指版式呈现效果固定的一种电子文档格式,版式文档的呈现方式与设备无关,在各种设备上阅读、打印或印刷,版式都是固定的,不运行版本。 也就是说:你在手机上打开某一个版本的文档格式,和你在电脑、PAD、电子书或智能电视上任何一台设备上打开的文件格式都是一样的,标点、缩进都完全一致。这一特点非常有利于当前互联网时代固定图文信息的传输。 OFD标准自2011年形成征求意见稿以来,经过5年时间在多个行业成功实践和应用,得到了市场和用户的广泛认可。2016年10月14日,OFD国家标准正式发布,标准号为:GB/T 33190-2016.2019年,OFD作为国家标准开始在全国推广。 OFD国家标准的发布,使我国电子公文、电子发票、电子证照等领域的应用有据可依,将有力推动相关产业的快速发展。 我很早就开始跟踪研究ofd,开发了一系列相关软件。已完成的功能包括:ofd阅读器、ofd文件转图片、图片封装成ofd、ofd内容查看器、ofd模板编辑软件等。开发语言为 c#,具有完全自主产权,不使用第三方 ofd 开发包。可根据您的需求快速定制,合作灵活。 ofd阅读器程序(已集成图表转换、转PDF功能)下载。