• L1_APG_Tracker实现代码剖析


         最近在看有关将L1范数最小化运用到视频跟踪上的文章,这里是文章和实现代码的下载地址http://www.dabi.temple.edu/~hbling/code_data.htm,有兴趣的同学可以关注一下,并且希望和各位多多交流。

         我把它的代码好好看了一下,并且对多组图像做了实验,效果还好。下面是我对其代码的剖析:

         

    第一阶段:模板基底T的初始化

    1.手动选定第一个目标模板t1

    2.在高斯分布下随机扰动t1角点的坐标,得到其它9个目标模板t2,t3,...,t9

    3.通过图像的仿射变换,将十个目标模板从原图像中“拿出”(crop),并缩放为同样大小的十幅目标模板图像(如12*15大小)。具体做法如下:

      对每个目标模板,都首先计算出仿射变换参数R=[R(1,1), R(1,2), R(2,1), R(2,2), R(1,3), R(2,3)]。然后,输入R,原图像,和目标模板图像大小,即可通过图像仿射变换处理得到目标模板图像。

    4.将每幅目标模板图像都写作向量形式,并作正规化处理,得到最终的初始化T

     

    第二阶段:粒子样本S的初始化

    1设定粒子样本数为N(如600)

    2初始化S为对应t1模板的R,即每个粒子样本都初始化为对应t1模板的R

     

    第三阶段:

    1.在高斯分布下随机扰动St生成同St具有相同均值与方差的St+1

    2. 对每个粒子样本,输入St+1中对应的仿射参数,通过图像仿射变换处理得到对应的候选模板图像yt+1(i),图像大小等于目标模板图像大小.

    3.将每幅候选模板图像都写作向量形式,并作正规化处理

     

    第四阶段:最小误差限

    1.求解最小二乘问题(9)

    2.算得上限qi,并按降序排列之.

     

    第五阶段:解l1最小化问题(11)

    1. 对qi满足阈值的候选模板yi,用APG方法解(11),并算出对应的观测概率pi。
    2. 对qi不满足阈值的候选模板yi,令pi=0
    3. 选取最大pi对应的系数ci作为要找的目标系数和粒子xi作为要找的目标粒子.

     

    第六阶段 更新

    1,检测遮挡并更新(11)中的u

    2,更新T

    3  通过重采样,更新S。

     

    第七阶段

    画出该帧图画的检测结果

     

     

    End

     

    随后各帧,返回第三阶段,依次处理…

     

          看文章的同时,可以看代码帮助理解文章中的算法和更多的细节。但是对于要做研究的同学,只看懂人家怎么做的还不够,还要更深的理解其中的数学原理,为什么这样做就能产生这一效果,并能预测到若改动一些参数或式子,会产生什么样的效果改变,并通过实验验证之。刚走上这条道,希望技术与科学双丰收,共勉!

  • 相关阅读:
    java网络请求工具类
    MySql 日期比较大小
    JAVA泛型整理
    循环list从list中移除数据
    MySql UNION字段
    session理解
    IDEA鼠标悬停提示变量值
    JAVA常用的RPC框架
    字符串查找重复字符最多的
    java List分组
  • 原文地址:https://www.cnblogs.com/pixel/p/2728243.html
Copyright © 2020-2023  润新知