一、前情提要

如果你对目标跟踪和KCF是什么东西还不了解的话欢迎你看前一篇博文KCF入门详解:https://www.cnblogs.com/jins-note/p/10215511.html  。如果你已经对基于KCF的目标跟踪有了一定的了解,并想知道这个算法有怎么样的后续的发展的话,就请听我慢慢介绍以下的东西。 

二、KCF的弊端

说道KCF的缺点的话作者在文章中也已经算是说明了,第一点,KCF因为在跟踪过程当中目标框是已经设定好的,从始至终大小为发生变化,但是我们的跟踪序列当中目标大小时有发生变化,这个就会导致跟踪器跟踪过程当中目标框漂移,从而导致跟踪失败。第二点,KCF对在跟踪过程当中当目标被遮挡时候的处理问题没有进行很好的解决,不过呢,这个问题一直也算是跟踪界的一个大难题,有哪位朋友有看到好的文章和算法的话请与我联系,欢迎赐教。 

三、解决方法

(1)有问题就要解决,对于存在的这两个大的问题有什么解决方法呢,首先对于尺度的解决,近些年来解决比较好的就先看 
1、Danelljan, Martin大神的Accurate Scale Estimation for Robust Visual Tracking论文代码都在这里下载(直接点击此处)。大神在文章中使用尺度池技术,对目标模版进行解决。 
2、Yang Li大神的A Scale Adaptive Kernel Correlation Filter Tracker with Feature Integration 
SAMF下载地址(直接点击此处)两篇文章大同小异,都是使用尺度模版不过是使用的个数不一样和对尺度设计的方法不一样,最终效果都是差不多。 
两篇文章对尺度解决的细节我就不再叙述了,用一张图形象的描述一下两篇文章的思想:对初试目标进行尺度缩放,经过相关滤波器之后得到对应的响应值response,然后比较各个不同尺度的response之间的大小,找到最大的一个,此时的尺度值即为最佳的目标尺度值,使用最佳尺度值对目标进行跟踪,能够解决目标跟踪过程当中目标尺度变化的问题。
(2)对于遮挡问题的解决就相对来说比较困难了,这个问题算是Long-term tracking 的问题。因为对于目标跟踪过程当中,跟踪器是没有办法知道目标是否被遮挡,是不是完全被遮挡还是被遮挡一部分的,对于我们人来说,这个我们很容易就能判断出来,但是对于计算机来说这个是很困难的,近些年来也提出一些方法, 
比如使用分块的方法对目标进行跟踪: 
1、2014年ICPR上的一篇文章Online Learning and Detection with Part-Based, Circulant Structure这个下载的话对于不会FQ的同学比较麻烦,就传到云盘里面了,链接: https://pan.baidu.com/s/1hs3ehA8 密码: yi8v 
2、基于分块的目标跟踪Real-time part-based visual tracking via adaptive correlation filters论文下载地址 
图中很清晰的表达出来了分块的总体思想,就是把要跟踪的目标进行分割,分割成不同的部分去学习特征,然后分别进行跟踪,然后融合起来得到目标最终的位置。 
3、马超大哥的Long-term correlation tracking 

把跟踪分开一个对尺度预测,一个对目标外观变化通过上下文信息进行学习,使用KNN进行分类得到一个最好的目标位置。 

四、其他方法

近些年来对于跟踪当中问题的解决方法的文章也是层出不穷,在这里我也没有办法把所有的文章都列出来完,只能算是把一些经典的东西展现出来给大家做一个参考,这样的话大家可以借助这些方法,进而可以搜素一些其他的相关文献,文章一直都在出,思想没有什么大变化,抓住核心思想,对问题的本质进行理解和探索,这样就能更好的解决问题。 
一些其他的方法诸如PSR对跟踪过程当中目标是否遮挡进行判断,因为这个方法经过自己测试没发现特别大的作用,就不放出来了,有兴趣的可以自己搜索一下相关的文献看一下。 
近两年深度学习的兴起,也使得更好的算法出现,使用深度学习的算法有机会的话会再更新一篇出来,有需要或者什么问题都可以留言联系我。
 
 

KCF的弊端的更多相关文章

  1. nio 弊端

    java-nio在Android上使用的种种弊端 August 12, 2013programming 我们知道,手机上的网络一般会比较慢(使用wifi除外),用户非常不希望自己在使用手机时被考验耐心 ...

  2. js 数组遍历for..in弊端

    //for..in在数组中的弊端 原则上数组Array对象是不能操作的,但是有些程序员开始不注意把Array的原型链上添加了方法就会出现意想不到的bug //例如 ,,]; Array.prototy ...

  3. Atitit 面向对象弊端与问题 坏处 缺点

    Atitit 面向对象弊端与问题 坏处 缺点   1.1. 状态fsm,反模块化,又是反并行的,这是它的非常固有的特征, 1 1.2. 现时的OOP编程有可能不缓存友好(cache friendly) ...

  4. 做贴吧系统,偶然发现使用iframe的弊端

    个人拙见 常听人说起现在不建议使用iframe框架,而我却一再使用,也许是能力有限,一直没在意有什么弊端. 我这此使用的事左右iframe框架,并且只在主页中定义了大背景,每个页面并没有分别定义背景, ...

  5. [No000034]知乎-长期接收碎片化知识有什么弊端?

    你所接受的一切信息,构成了你的思维方式. 所以,长期接受碎片信息的后果,就是让你的思维变得狭隘,难以进行复杂的思考. 碎片信息通常具备这样的特征: •它们往往是一些事实的集合而非逻辑 •它们往往大量简 ...

  6. KCF目标跟踪方法分析与总结

    KCF目标跟踪方法分析与总结 correlation filter Kernelized correlation filter tracking 读"J. F. Henriques, R. ...

  7. java8-3 多态的好处和弊端以及多态的理解

    多态的好处: A:提高了代码的维护性(继承保证) B:提高了代码的扩展性(由多态保证) 猫狗案例代码 class Animal { public void eat(){ System.out.prin ...

  8. exp/imp 有很多弊端

    弊端1. 空表 无法执行导出操作弊端2. 高版本的导出文件  无法使用 低版本的 oracle软件 导入 环境准备:create table test0707(n1 date); 认证弊端1 案例1. ...

  9. new Thread的弊端(转)

    new Thread的弊端如下: a. 每次new Thread新建对象性能差.b. 线程缺乏统一管理,可能无限制新建线程,相互之间竞争,及可能占用过多系统资源导致死机或oom.c. 缺乏更多功能,如 ...

随机推荐

  1. Bash重定向

    1. 基础知识 文件描述符(File Descriptor),是进程对其所打开文件的索引,形式上是个非负整数.类 Unix 系统中,常用的特殊文件描述符如下: 文件描述符 名称 常用缩写 默认值 0 ...

  2. 分享.NET 轻量级的ORM

    ORM https://github.com/StackExchange/dapper-dot-net http://fluentdata.codeplex.com/ https://github.c ...

  3. Maven install [WARNING] The artifact aspectj:aspectjrt:jar:1.5.4 has been relocated to org.aspectj:aspectjrt:jar:1.5.4

    一.背景 最近在给项目打包的时候,在控制台老是出现一行警告:[WARNING] The artifact aspectj:aspectjrt:jar:1.5.4 has been relocated ...

  4. Spring Security和JWT实现登录授权认证

     目标 1.Token鉴权 2.Restful API 3.Spring Security+JWT 开始 自行新建Spring Boot工程 引入相关依赖 <dependency> < ...

  5. es-01-简介

    1, 基于lucene的实时搜索软件 分布式的restful风格的搜索和数据分析引擎, 2, 和kibana, logstash 构成 elk生态圈 es: 数据存储和查询 kibana: 可视化 l ...

  6. 软件架构设计学习总结(19):详解分布式系统中的session同步问题

    几周前,有个盆友问老王,说现在有多台服务器,怎么样来解决这些服务器间的session同步问题?老王一下就来精神了,因为在n年以前,老王还在学校和几个同学一起所谓创业的时候,也遇到了类似的问题.当时查了 ...

  7. Java 容器源码分析之1.8HashMap方法讲解

    前言:Java8之后新增挺多新东西,在网上找了些相关资料,关于HashMap在自己被血虐之后痛定思痛决定整理一下相关知识方便自己看.图和有些内容参考的这个文章:http://www.importnew ...

  8. 自我总结(四) ---java web项目完结,j2ee的开始

    自我完善的过程就是在不断的自我总结不断的改进. 前半个月刚好把项目做完了,项目也答辩了.总的来说吧,我觉得自己在java web这块知识上不算是彻彻底底把他弄懂了,就是说到的知识点都能够回答的上来一些 ...

  9. JS作用域,作用域,作用链详解

    前言   通过本文,你大概明白作用域,作用域链是什么,毕竟这也算JS中的基本概念. 一.作用域(scope) 什么是作用域,你可以理解为你所声明变量的可用范围,我在某个范围内申明了一个变量,且这个变量 ...

  10. python的Web框架,Django模板变量,过滤器和静态文件引入

    HTML模板的路径查找 在setting中设置查找路径: #默认的查找在此处填写,优先级最高,为在manage.py的同级路径中,添加(常规是template)文件夹,在(template)文件夹中配 ...