您的位置:首页 > 其它

TLD取经之路(3)-- 始于足下

2013-01-10 15:46 471 查看
因为考试等等其他事情TLD的代码放了一阵,重新开始看,记录如下

程序运行从run_TLD.m或者run_TLD_demo.m开始,后者的功能更全,可以实现源代码作者主页上那些视频里的效果。

0. run_TLD_demo.m 

    程序启动的接口,这里可以设置DEMO程序的运行参数,结构体opt传递整个程序中的各种参量

.source 是图像的数据源,可以从摄像头读取图像('camera=1')和文件中读取图像序列('camera=0'),

.name 截图保存位置

  初始化了全局变量tld,包括opt中的参数以及tld跟踪监测的各种数据都靠他传递。

 ========================================================== 

1. tldDemo.m

  程序运行的主题,相当于C中的MAIN函数

  首先进行初始化

tldInitSource选择数据源

figure(2); set(2,'KeyPressFcn', @handleKey);  打开图像并初始化键盘输入的指针

tldInitFirstFrame 加载第一帧,加载初始框(就是检测目标框,选择摄像头用鼠标框定,选择文件读入则由文本文件中保存的信息载入)

tld = tldInit(opt,tld); %%关键!! % train initial detector 初始化detector 里面内容很多,另起介绍

===========================================================

2. tldInit.m

  程序的第一行就是:

  lk(0);

  暂时没看,估计为光流跟踪的初始化

  

  下面进入初始化detector的部分

  ---------------------------产生检测网格----------------------

[tld.grid tld.scales] = bb_scan(tld.source.bb,size(tld.source.im0.input),tld.model.min_win);

  输入量分别是初始框,图像大小,和最小框阈值

  网格窗口的步长为0.1倍的长宽,尺度变换的步长为1.2倍,作者设置的最小窗口大小为20像素

  不同的尺度大小保存在sca中

  不同尺度下的所有的网格节点坐标

---------------------------初始化特征----------------------

tld.nGrid =size(tld.grid,2); tld.features =tldGenerateFeatures(tld.model.num_trees,tld.model.num_features,0);

初始化特征产生一个随机森林,也就是初始化TLD的三个串行分类器中的第二个,集合分类器(ensembleclassifier)

未完待续。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  CV tld