Struck跟踪算法介绍及代码解读(一)

来源:互联网 发布:安卓软件代码 编辑:程序博客网 时间:2024/05/17 03:47

博客:http://blog.csdn.net/qianxin_dh

邮箱:qianxin_dh@163.com


     《Struck:Structured Output Tracking with Kernels》是 Sam Hare, Amir Saffari, Philip H. S. Torr等人于2011年发表在Computer Vision (ICCV)上的一篇文章。Struck与传统跟踪算法的不同之处在于:传统跟踪算法(下图右手边)将跟踪问题转化为一个分类问题,并通过在线学习技术更新目标模型。然而,为了达到更新的目的,通常需要将一些预估计的目标位置作为已知类别的训练样本,这些分类样本并不一定与实际目标一致,因此难以实现最佳的分类效果。而Struck算法(下图左手边)主要提出一种基于结构输出预测的自适应视觉目标跟踪的框架,通过明确引入输出空间满足跟踪功能,能够避免中间分类环节,直接输出跟踪结果。同时,为了保证实时性,该算法还引入了阈值机制,防止跟踪过程中支持向量的过增长。



      最后,大牛作者们也提供了c++版源代码,有兴趣的朋友可以下载下来,体验下该算法的强大代码下载地址:https://github.com/gnebehay/STRUCK,代码调试需要Opencv2.1以上版本以及Eigen v2.0.15。


         在论文理解以及代码调试的过程中,主要参考了以下资料,感到获益匪浅,列举如下:
        
         1) Eigen的安装及学习
               http://eigen.tuxfamily.org/dox/GettingStarted.html
         
         2) 支持向量机通俗导论(理解SVM的三重境界)
               http://blog.csdn.net/v_july_v/article/details/7624837
         
        视觉目标跟踪作为现今计算机视觉领域中的一个核心技术,已经在人机交互,监控,增强现实等众多领域内得到广泛应用,通过对论文的研读以及代码的理解,更让我深刻感受到视觉领域之魅以及编程之美。我以博客的形式记录自己学习过程中的体会,将收获凝聚为文字,加强自己学习的能力。每个求学的人都是在学习的过程中慢慢成长,不断提高自身,当我对文章或者代码理解错误时,也希望大家能够见谅~。

1 0