KCF和CN的运动跟踪算法

对运动跟踪的工作有一段时间,由最开始使用OpenCv自带的CamShift跟踪算法到(Exploiting the Circulant Structure of
Tracking-by-detection with Kernels)Csk算法,再到其升级版的(Adaptive Color Attributes for Real-Time Visual Tracking)CN跟踪算法。CSK是2012年ECCV发表的一篇非常高效的运动跟踪文章(150FPS左右),其分析是在灰度空间上进行的,缺乏颜色信息,而CN则在CSK的基础上增加彩色信息,效果比CSK要好,但效率有所下降(100FPS左右),感觉CN的跟踪比tld、ct更加平滑,实时性也比较高。其缺点是对多尺度目标的跟踪效果较差,并且由于其分析是在频域上进行,当跟踪窗的尺寸较大时,其效率会直线下滑,且一旦丢失目标后,就无法再次进行跟踪。本博文主要介绍Csk和CN的算法原理和实现步骤.
先给出两篇论文的官方网址
Csk跟踪算法的官方地址:http://home.isr.uc.pt/~henriques/circulant/index.html
CN论文的官方地
址:http://www.cvl.isy.liu.se/research/objrec/visualtracking/colvistrack/index.html

CSK跟踪原理

由于CN是对CSK的改进,我们先了解CSK的跟踪原理。

大体上,大部分运动跟踪都是通过查找两个相邻帧的相互关系,再确定目标对象的运动方向,无限迭代后,能完整地跟踪对象,CSK也是如此。在确定跟踪对象后,根据目标位置扣出该帧的目标窗和下一帧的目标窗,再对这两个窗进行FFT,转化后在频域图直接点乘。这个过程可简单理解为是求两个相连帧的频域共振位置,然后将共振频域图利用核函数进行核映射,再进行训练。
训练过程引入原始响应Y,Y可以理解为是对象的起始位置,因为起始位置都是第一帧的中心,所以能看到Y的图像是根据跟踪窗大小的建立的高斯函数。
训练的目的则是要找出当前帧对应的α\alpha,其训练公式如下:
(Eq. 7)
训练完毕后,根据下一帧的核映射,可检测出对应的响应图像yˆ\widehat y,检测公式如下:
(Eq. 9)
其中,起始帧的起始响应Y和下一帧的响应yˆ\widehat y的图像分别如下
Y:
yˆ\widehat y:
可看出,响应图yˆ\widehat y出现微弱的偏移,该偏移便是跟踪对象的运动方向,根据最新位置,更新下一帧的起始位置,并重复上诉步骤,则能得到对象的位置序列.
下图是CSK文章中的主要逻辑图,其关键点便是训练和检测。

为什么CSK这么快?
如CSK文章的标题所示,CSK使用了循环结构进行相邻帧的相关性检测。所谓的循环结构,其实质是两帧在频域上进行点乘操作,即两帧在时域上做卷积。在以前的运动跟踪,相关性检测都是使用滑窗法完成的,若窗的滑动步长为1,即可看作是两帧之间做卷积。但在时域上做卷积的运算量是非常惊人的,而在频域上做点乘,运算量则小得多,因而CSK使用的循环结构在频域上做分析,则能很好地提速。

CN跟踪算法

CN其实是一种颜色命名方式,与RGB、HSV同属一类,CN的文章中的研究表明,CN空间的效果比其他空间都要好,因而使用了CN颜色空间对CSK进行颜色扩展。CN的拓展思路非常简单,先将RGB空间的图像映射到CN空间(CN空间是11通道,分别是black , blue , brown , grey , green , orange , pink , purple , red , white , yellow),并对每一个通道均进行FFT、核映射,最后将11通道的频域信号线性相加(sum),继而完成CSK的 计算,如α\alpha的计算、训练、检测等。但这种做法的运算量显然非常大。
为降低运算,CN的论文中提出使用PCA降维。CN的11个通道的颜色并非均有意义,其中能代表主要颜色的可能只有2维,因而使用PCA降唯,11个通道通过降维矩阵降至2维,其运算量也能提高不少。

结果
下面贴上CN最后的跟踪结果,由于csdn只支持2M的gif图,只能贴一小部分了。

CN和CSK运动跟踪算法相关推荐

  1. CSK目标跟踪算法理解与代码运行

    先贴上代码(MATLAB),我就在里面放了两个小数据集,自己想测试其它的自己加 链接:https://pan.baidu.com/s/1oZljkQxr_VuuCaCKRjQhSg 提取码:rmah ...

  2. 采取更简单的路线,以低功率,9轴运动跟踪

    对于越来越多的可穿戴设备和物联网设计,检测方向和跟踪运动的能力正在成为一个关键的要求.尽管有大量可用的运动传感器,但工程师们不断受到挑战,要求更快速有效地将这些设备集成到更低的功率中,这对额外的传感器 ...

  3. [运动控制算法]Pure Pursuit纯路径跟踪算法

    纯路径跟踪 Pure Pursuit是一种用于路径跟踪的控制算法.它通过计算角速度控制机器人从当前位置移到机器人前方的某个预瞄点.假定线速度是恒定的,当然可以随意更改机器人的线速度.该算法会根据机器人 ...

  4. 应用先进的传感器和算法进行低成本运动跟踪---凯利讯半导体

    高性能运动跟踪技术已经从深奥的军事.航空电子设备.海洋和工业应用领域,发展到越来越多的消费者应用领域.然而,将高性能的运动跟踪带到消费者市场往往会迫使设计师们协调一致的目标,特别是在成本.功耗和计算资 ...

  5. 90+目标跟踪算法九大benchmark!基于判别滤波器和孪生网络的视觉目标跟踪:综述与展望...

    点击下方卡片,关注"自动驾驶之心"公众号 ADAS巨卷干货,即可获取 点击进入→自动驾驶之心[目标跟踪]技术交流群 后台回复[视觉目标跟踪综述]获取本文论文! 准确和鲁棒的视觉目标 ...

  6. 目标跟踪算法综述与分析

    本人硕士期间研究过10个月左右的目标跟踪算法,刚入门时苦于没人指点,自己每天乱看文章,后来发现看的好多文章都是没有意义的(ps....看了一大堆meanshift,kalman啥的......),做了 ...

  7. 2017目标跟踪算法综述

    转自  https://www.zhihu.com/question/26493945 作者:YaqiLYU 链接:https://www.zhihu.com/question/26493945/an ...

  8. 2016年之前目标跟踪算法总结

    作者:YaqiLYU 链接:https://www.zhihu.com/question/26493945/answer/156025576 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权, ...

  9. 2018目标跟踪算法综述

    转自  https://www.zhihu.com/question/26493945 作者:YaqiLYU 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 相信很多来这里的人和 ...

最新文章

  1. [MaxCompute MapReduce实践]通过简单瘦身,解决Dataworks 10M文件限制问题
  2. 要注意页面中加载的第三方脚本
  3. 要你命3000List31
  4. Java 8 - 收集器Collectors_分组groupingBy
  5. 阮一峰react demo代码研究的学习笔记 - demo10 debug
  6. 使用 Source Generator 代替 T4 动态生成代码
  7. [Qt入门]QMainWindow创建
  8. CentOS6实现路由器功能
  9. selenium通过autoit实现上传和下载
  10. 猴子摘桃python代码_阿尔法python练习(4-6答案)
  11. OpenShift 4 - 为集群配置镜像签名功能,只能运行被签名的本地镜像
  12. SAP License:第三只眼看经济-固定资产最佳折旧率的条件
  13. 【转】Maven 手动添加 JAR 包到本地仓库
  14. 【Ubuntu 休眠】设置合上笔记本盖子不休眠的方法
  15. 眼科准分子激光治疗仪行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  16. w7计算机超级管理员权限,win7系统取得管理员最高权限的操作方法
  17. 基于jQuery省市县联动插件
  18. wet-英语困难户的好选择-控制台翻译
  19. linux获取pc指针地址,为什么pc可以看成使程序存储器的地址指针
  20. xposed android 4.4.2,xposed新版54

热门文章

  1. 利用物联网+数据建模+数据可视化软件等工具,解决物联网大数据在行业中的应用与挑战
  2. 今天14:00 | 12位一作华人学者开启 ICLR 2022
  3. NOIP2017day2题解
  4. 中国广告公司恶意感染8500万台手机:月赚200万
  5. 如何在Outlook中单击邮件后立即将其标记为已读
  6. 蚂蚁链开源跨链技术 加速大规模创新应用“涌现”
  7. BP神经网络原理分析及c++代码实现(下)
  8. 什么是云HIS?为什么HIS系统要上云?云HIS系统有哪些特点?
  9. Hive3.1.3 安装配置
  10. Caused by: java.lang.IllegalArgumentException: Illegal base64 character 2d