目标识别与跟踪算法matlab_目标跟踪系列--CSK算法

0425c4aa99cc543709393ee3657882e6.png

原创文章,转载复制先请声明

1、算法概要

概要是很重要的,你能看到作者灵感的由来。

作者在abstract中说明了其想法的由来,在将机器学习方法引入到目标跟踪领域后形成的判别式方法十分吸引人,但是由于所需要的训练样本过多,传统算法基本上都是采用随机稀疏采样子窗口来训练的,因为密集采样所带来的计算负担过重。于是CSK算法从这点入手,研究密集采样下的训练方法,发现了密集采样得到的样本集具有循环矩阵的结构特征。

40d2321c4fa4d2d2da3ff8116dd36911.png

然后在循环矩阵的基础上,作者引入了FFT傅里叶变换加快了算法的速度,并通过引入核技巧将原来的图像空间转换成了非线性高位空间的回归问题,增加了准确性。

读到这里其实可以发现,CSK算法就是对于MOSSE算法的升级和拓展,在MOSSE上引入了核技巧以及后面要介绍的岭回归方法。

作者说了一句非常impressed的话:引入了相关滤波器的算法最重要的一个细节就是在傅氏空间中的计算根本就没有迭代过所有的子窗口。(仔细思考MOSSE中的周期拓扑和CSK中的循环矩阵实际上都是隐式的密集采样了所有子窗口,这也是相关滤波方法最重要的一个特点,而且对于这部分的理解上,CSK引入了padding变量,扩大搜索区域,这样在滑动求相关的过程,只有目标的循环样本到了中心时相应图才会出现高亮,理解起来更有意思,相比MOSSE的一个进步)

2、算法流程

2.1密集采样

tracking-by-detection的核心就是训练一个分类器,以前的算法都是采用随机稀疏采样的方法获得sample的,但是作者却在本文中引入了密集采样的概念,并发现了它具有循环矩阵的结构特征。(其实和MOSSE中的预处理过程是一样的,都是将目标窗口进行了周期拓扑,方便后续的FFT计算)

2.2带有正则项的优化问题

这里是相对于MOSSE算法的一次改进引入了核技巧

有了密集采样后的样本后,作者接着进行了回归拟合,区别于分类,回归的特点是使得特征更加平滑,计算更加方便。于是跟踪问题转化为了一个关于带有正则项代价函数的优化问题:

42c8f0064c87fcc7f054e56ddfcca81c.png
i是密集采样后的样本个数

采用岭回归的方法对问题进行求解,其中

c22c222ce6879d5a5e6c1c1464ebfa2a.png

0a4089b67db40545d38b3c8692d4ee94.png
y就是我们假定的映射函数,通常为高斯函数

正则项增加的目的是为了排除一些循环矩阵变换后变形过度的虚拟样本。如果在此基础上引入核技巧,将会使得算法性能更进一步提升,将输入像素空间的信息投影到高位空间中,定义一下核函数:

83313e97ebbe1e07b337e31388da9f1c.png

由岭回归的知识可以得到w的隐式表达形式:

3974b03944a8445ec9953a1378ee5557.png

引入了核技巧后,对于w进行详细推导:

当输入第i个样本时,f(xi)为

68db600a6f9d1cf5c4f527eb63326097.png

所以,得到:

15f915a06f8899498cd3f261c28397dd.png

而对于正则项:

51f254503de541b8d8cdb3e659e6b952.png

原优化问题可以写为如下形式:

cb7971fdec25813f48cfeb22e089394c.png

51ab95d6845cb8e2298dcb99ff996fcd.png

求导得到

b013d5ee465e7a91cc8ba6efbb132b7f.png

最后得出论文中的结论,此回归问题可解:

a9eccb245d0774d5bf4f3beb5759e773.png

2.3引入循环矩阵求解

e8fd14265fc500f812901b30becd8c40.png

作者介绍了密集采样的概念,实际上密集采样的样本就是利用单一的跟踪窗口生成它的循环矩阵形式,然后去训练分类器。给出了最重要的一个公式:

表示两个序列的周期拓扑相关计算,实际上和MOSSE的相关计算是一样的。

然后作者给出了循环矩阵的一个重要性质,循环矩阵对应的核函数也是循环矩阵形式的,那么对于

的求解就十分容易了。

8a7ef24cd916f54200b14b783eab0db2.png
δ是一个n*1向量用来循环生成单位矩阵

其中,ki是由单一窗口密集采样后生成的核函数对应值

01053dccd7f9f64f77285fcaaa49be48.png

a6c282a9431e2e1a74dcf082aa131da5.png

利用最重要的公式进行推导得到:

afc611dd7c819d70510f020feff49efe.png

2.4目标跟踪的响应过程

在c初始帧上得到

后,对新来的图像进行目标跟踪过程,就是在将搜索窗口代入高维空间中回归函数中,得到:

426454b6af205f185f3b4289f61b7c60.png

K核函数仍然是一个循环矩阵

763139be6259650eae32044bba851cc7.png

利用上面最重要的那个公式就可以得到:

bd8ec60d684b5192773b067d257976dc.png

核函数的计算有多种方法,本文采用了RBF函数,其中

就相当于新的搜索窗口像素值:

ebead307ae8e71a5edd1241e682226a2.png

3、流程图解

c80e7393cf71c864d8d5b014edd53017.png
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值