HCFT和HCFTstar在OTB数据集中测试的接口函数
HCFT跟踪算法(Hierarchical Convolutional Features for Visual Tracking)是2015年发表在ICCV上的一篇结合相关滤波和深度特征的跟踪算法,作者Chao Ma、Jia-Bin Huang、Xiaokang Yang、
Ming-Hsuan Yang。
HCFTstar(Robust Visual Tracking via Hierarchical Convolutional Features)是原作者在HCFT基础上的改进,改进了尺度估计和重检测机制。
在OTB数据集上测试两个算法时需要接口函数(前提是已经调试通了两个算法),如下:
HCFT算法的接口函数 run_HCFT.m
function results = run_HCFT(seq, res_path, bSaveImage)addpath('utility','model','cf_scale','external/matconvnet/matlab');vl_setupnn();padding = struct('generic', 1.8, 'large', 1, 'height', 0.4);lambda = 1e-4; % Regularization parameter (see Eqn 3 in our paper)output_sigma_factor = 0.1; % Spatial bandwidth (proportional to the target size)interp_factor = 0.01; % Model learning rate (see Eqn 6a, 6b)cell_size = 4; % Spatial cell sizeshow_visualization = 0;global enableGPU;enableGPU = false;target_sz = seq.init_rect(1,[4,3]);pos = seq.init_rect(1,[2,1]) + floor(target_sz/2);img_files = seq.s_frames;video_path = [];% Call tracker function with all the relevant parameters[rects, time] = tracker_ensemble(video_path, img_files, pos, target_sz, ...padding, lambda, output_sigma_factor, interp_factor, ...cell_size, show_visualization);if bSaveImageimwrite(frame2im(getframe(gcf)),[res_path num2str(frame) '.jpg']); endfps = numel(img_files) / time;results.type = 'rect'; results.res = rects;%each row is a rectangle results.fps = fps; end
HCFTstar算法的接口函数 run_HCFTstar.m
function results = run_HCFTstar(seq, res_path, bSaveImage)addpath('utility','train');% Path to MatConvNet. Please run external/matconvnet/vl_compilenn.m to% set up the MatConvNetaddpath './matconvnet/matlab'vl_setupnn();% Where the 'imagenet-vgg-verydeep-19.mat' file isaddpath './vgg_model'addpath(genpath('edgesbox'));addpath(genpath('piotr_toolbox'));addpath(genpath('Diagnose'))% Extra area surrounding the targetpadding = struct('generic', 1.8, 'large', 1, 'height', 0.4);lambda = 1e-4; % Regularization parameter (see Eqn 3 in our paper)output_sigma_factor = 0.1; % Spatial bandwidth (proportional to the target size)interp_factor = 0.01; % Model learning rate (see Eqn 6a, 6b)cell_size = 4; % Spatial cell sizeconfig.kernel_sigma = 1;config.motion_thresh= 0.181; %0.25 for singer2 0.32;%0.15config.appearance_thresh=0.38; %0.38config.features.hog_orientations = 9;config.features.cell_size = 4; % size of hog grid cell config.features.window_size = 6; % size of local region for intensity historgram config.features.nbins=8; show_visualization = 0;global enableGPU;enableGPU = true;target_sz = seq.init_rect(1,[4,3]);pos = seq.init_rect(1,[2,1]) + floor(target_sz/2);img_files = seq.s_frames;video_path = [];[positions, time,rect_position] = tracker_HCFTstar(video_path, img_files, pos, target_sz, ...padding, lambda, output_sigma_factor, interp_factor, ...cell_size, show_visualization,config); %tracker_ensemble_RPnew1 if bSaveImageimwrite(frame2im(getframe(gcf)),[res_path num2str(frame) '.jpg']); endfps = numel(img_files) / time;results.type = 'rect'; results.res = rect_position;%each row is a rectangle results.fps = fps; end
写接口函数需要注意的几点:
一、 输入参数(seq, res_path, bSaveImage),这3个参数是OTB数据集的工具包tracker_benchmark_v1.0中main_running.m文件使用的,其中指定了参数的具体指。
二、 先把具体算法中用到的准备工作写出来,比如添加路径、编译操作、运行参数等。
三、 添加一句
show_visualization = 0;
因为是在数据集中测试,不需要实时观看算法效果,就把这个可视化的标志位设为0。
四、 这几句基本都会用上
target_sz = seq.init_rect(1,[4,3]);pos = seq.init_rect(1,[2,1]) + floor(target_sz/2);img_files = seq.s_frames;video_path = [];
这几句使用工具包中 main_running.m 给定的参数来给出初始化的相关信息。
五、 调用算法主程序,比如上面
[positions, time,rect_position] = tracker_HCFTstar(video_path, img_files, pos, target_sz, ...padding, lambda, output_sigma_factor, interp_factor, ...cell_size, show_visualization,config); %tracker_ensemble_RPnew1
这里 tracker_HCFTstar( ) 函数用到的各个参数都要在上面的步骤中给定。
六、
if bSaveImageimwrite(frame2im(getframe(gcf)),[res_path num2str(frame) '.jpg']); end
这句都要用,用来保存数据。
七、 最后赋值的几句:
fps = numel(img_files) / time;results.type = 'rect'; results.res = rect_position;%each row is a rectangle results.fps = fps;
就是把结果赋给results。主要是 results.res 要根据算法的主程序的输出值来确定,要找到算法最终预测的目标框。
HCFT和HCFTstar在OTB数据集中测试的接口函数相关推荐
- STM32配置CH375B成HID Host模式读取自定义HID设备的数据 ——STM32配置CH375B接口函数
接着上一篇上传,这个是STM32配置CH375B时用到的接口函数 头文件: #ifndef __BSP_CH375_H__ #define __BSP_CH375_H__#include " ...
- 大数据与测试测量的结合
传统测试测量 在测试测量领域,我们传统的测试方法是一台仪器或者一套测试系统实现一个特定功能的测试,例如示波器用来测试波形,矢量网络分析仪用来分析高频信号,以及由其组成的系统来实现特定产品的检测,例如我 ...
- boost::test模块装饰器数据测试用例测试
boost::test模块装饰器数据测试用例测试 实现功能 C++实现代码 实现功能 boost::test模块装饰器数据测试用例测试 C++实现代码 #define BOOST_TEST_MODUL ...
- boost::mpi模块在序列化数据上测试 any_source
boost::mpi模块在序列化数据上测试 any_source 实现功能 C++实现代码 实现功能 boost::mpi模块在序列化数据上测试 any_source C++实现代码 #include ...
- 数据迁移测试_自动化数据迁移测试
数据迁移测试 Data migrations are notoriously difficult to test. They take a long time to run on large data ...
- 大数据ab 测试_在真实数据上进行AB测试应用程序
大数据ab 测试 Hello Everyone! 大家好! I am back with another article about Data Science. In this article, I ...
- 用python玩转数据慕课答案第四周_大学慕课用Python玩转数据章节测试答案
大学慕课用Python玩转数据章节测试答案 更多相关问题 渗透泵型片剂控释的基本原理是A.减小溶出B.减慢扩散C.片剂膜外渗透压大于片剂膜内,将片内药物从 语义学批评是什么? As usual, __ ...
- fiddler怎么修改服务器返回数据,基于Fiddler实现修改接口返回数据进行测试
方法介绍与比对 在测试的过程中,有的需求是这样的,它需要你修改接口返回的数据,从而检查在客户端手机app内是否显示正确,这也算是一种接口容错测试,接口容错测试属于app性能(专项)测试的其中一种. 通 ...
- sql语句在navicat中可以查询到所有数据但是在idea程序中不行_数据迁移测试实施方案...
点击关注,我们共同每天进步一点点! 最近经历了一场大型的数据迁移测试,因为以前对数据迁移测试研究甚少,所以对测试实施方案的制定非常的棘手,在网上也查询了很多,发现相关资料很少,并且大部分都是一些理论指 ...
最新文章
- 通过rsync+inotify实现数据的实时备份
- 正则表达式30分钟教程
- 认识Python(day01)
- 大数据告诉你,中国女人有多勤奋
- 4408: [Fjoi 2016]神秘数
- Entity Framework关联实体的三种加载方法
- Cocos2d-x编程中的runOnUiThread方法和runOnGLThread方法剖析
- Java 集合系列04之 fail-fast总结(通过ArrayList来说明fail-fast的原理、解决办法)
- 2窗口大小 python_Python编程基础知识系列连载(2)
- 【纯干货】中国的支付清算体系是怎么玩的?
- 常用邮箱后缀总结,常用邮箱域名信息汇总
- 详解AI加速器:为什么说现在是AI加速器的黄金时代?
- Chrome插件开发教程
- 华为模拟器eNSP防火墙配置vlan实验
- 【答粉丝问】桌面运维需要具备的技能有什么?
- 录音m4a怎么转换成mp3
- 图虫:科技赋能图片版权领域创新发展
- PHP后端接入短信接口为用户发送通知短信
- 经颅电刺激促进睡眠振荡及其功能耦合增强轻度认知障碍患者的记忆巩固
- 电脑连接上WiFi但是上不了网