otb100matlab,ECO for tracking 在 OTB100 基准测试和 VOT2016 数据集中的实验结果

目前本文所涉内容均未使用图形处理器。

运行在有图形处理器环境下的实验将在稍后补充,敬请关注。

需要准备的文章和工具有:

一、集成 OTB100

1.1 下载基准测试

在该目录中可以看到:trackers 目录中已经包含了若干跟踪算法。而我们要做的就是把 ECO 和 ECO_HC 的跟踪算法加进去即可。

ECO 和 ECO_HC 的区别就是:前者使用“深度特征”,后者使用 HOG 和 CNN。

1.2 下载 ECO 代码

可以参照 ECO 的 GitHub 页面中提到的部署代码的方法,将代码下载到 trackers 目录中。

由于 ECO 和 ECO_HC 是两种不同的算法,因此,出于分别测试其性能的考虑,需要下载两份代码,并分别命名为 ECO 和 ECO_HC。如下所示:

b89224b59a4f16e9fc983c53fa9be033.png将 ECO 和 ECO_HC 保存到 OTB100 基准测试的 trackers 目录下。

ECO 和 ECO_HC 的内容完全一样。

1.3 添加集成接口

切换到 ECO 目录下 runfiles 文件夹中,将 OTB_DEEP_settings.m 文件夹复制到上一级目录,并改名为 run_ECO.m,如下所示:

aa9e7313b9b0997da58658131f8e3b86.png从 runfiles 文件夹中复制 OTB_DEEP_settings.m 文件到此目录,并改名为 run_ECO.m

类似的,在 ECO_HC 目录中,将 runfiles 文件夹中的 OTB_HC_settings.m 文件复制到上一级目录,并改名为 run_ECO_HC.m 即可。

1.4 修改基准测试代码并运行基准测试

由于 tracker_benchmark_v1.0 目录的 results 目录下已经有其它跟踪算法的结果,因此我们只需要运行 ECO 和 ECO_HC 的基准测试即可。

OPE、SRE 和 TRE 评价方法可以并行运行,因此我们将 main_running.m 文件复制为三份,分别命名为 main_running_OPE.m 、 main_running_SRE.m 、 main_running_TRE.m ,并分别将其中第 20 行的 evalType 修改为对应评价方法的名称即可。例如 main_running_OPE.m 的第 20 行可以改为:

evalType='OPE';

main_running_SRE.m 和 main_running_TRE.m 的第 20 行可以参照此法修改。

紧接着在 utils 目录中找到 configTrackers.m 文件,将 trackers 变量赋值为仅包含 ECO 和 ECO_HC,意即只运行 ECO 和 ECO_HC 基准测试。如下所示:

045ddeeb6283715754a6e83b083dc97b.png将 trackers 变量修改为只包含 ECO 和 ECO_HC。

基准测试运行完毕后再改回原始状态,以便生成对比图。

接下来运行三个 matlab,然后分别执行 main_running 文件。

注意:SRE 和 TRE 评价方法运行耗时比 OPE 评价方法要长得多,如果要运行完全部 51 个基准测试,约需耗时两天。

如果要并行运行ECO 和 ECO_HC 测试,则需要准备两份 OTB100,并修改对应的 configTrackers.m 的 trackers 变量为分别只包含 ECO 和 ECO_HC

二、OTB100 基准测试下的实验结果对比

三种评价方法运行完毕后,修改 util\configTrackers.m 文件,启用所有跟踪算法,即可开始输出实验结果图。如下所示:

17acde99bcfaf0c1366439ab982e216a.png在 trackers1 变量中加入 ECO 和 ECO_HC 的定义。

将这两个定义加到最前面,输出图片时的图例就会排在最前面。

在 Matlab 中运行 perfPlot.m 文件。随后会弹出比较结果图,并且在 figs 目录下生成相应的图片文件。

以下为 ECO 和 ECO_HC 与其它八种跟踪算法的比较结果图(按不同评价方法和排序方法分别显示。按 AUC 排序的评价方法各 12 张图,按阈值排序的评价方法各 24 张图,按文件名顺序排序):

2.1 OPE(按 AUC 排序)

d401b87e7a2871438f615a3d6362f200.png

57cb7ac7565305fc583ed6935ea2ee86.png

f9aca134801051e1a6f0e3467702bc3f.png

af58d4d1cd27bc28c23bde4f22829a5c.png

2dbfd3d958d6ccd70e944a55b000e76f.png

6413b41323a02141e1e413710bbdf6a1.png

033c211a63cb39965f2445a32f8535ad.png

3c41edd0e5bed1aeb9ef7a857839b675.png

4d1be042370f01b9a1db22b210c9ee57.png

6d27284c3914ae0b77dd5b64a9e57c4f.png

4fbe818a165b292928758b89641b9786.png

ba6ffb37fe289beb1591c10ba23b36ff.png

2.2 SRE(按 AUC 排序)

66d0a41913eae27a0ebbaac5ed9b594f.png

30f970a9e4baea54bc0b06f16dbef492.png

653bade9e608aa78501d83ff785fd21f.png

e4029a7781971b59d20d645ed34b7e20.png

184d7c00843e0cb8551c1329e5590239.png

418d794bf0c1c153ad05464116f304e0.png

233d6434ca0cb87e3275c158211d8428.png

932b39f1bf59ec38dc31fe2c1a82ab7f.png

d065a1f00fff3782c06a4316cd397558.png

dcbdcdb570713277998a53534c3d67cd.png

4dcd6af59e5290d385167679174e7d64.png

3e38176ff9aa87d382bda582428fa9b9.png

2.3 TRE(按 AUC 排序)

bc5d12fa693b4052ecfe9d67d2875ff4.png

898c31acf3d860fc7522e183f300c9c8.png

c588b1ac728612f49a41b1ca40502d10.png

1a9d397bcd4d42a6bce4f042618ade0c.png

70bc712c535cf1389b67121b6e169fe6.png

ffaffc13913944a4faeccfcf900ce9ba.png

f8b0f0c2ba4ae6a2826c5b21cf31ce14.png

79ddf52b56379185e9d3d856b0bc7990.png

afe3382d0b77a09c8472e07689bd6630.png

5ebd26398e63517af9a2d741f6f5ead1.png

753a4b1aec2f9352231b0fd76d4d587c.png

86bdcef603191749192b7d79cc092a19.png

2.4 OPE(按阈值排序,前12张为覆盖阈值,后12张为位置误差阈值,下同)

5e21293ba2c319f3a82b432db66b4449.png

59ff8f114fcd104bafecba2629e475ee.png

3552ce8735927742acb59cbdaaef6871.png

e594c362d060e347eaf1911277a73879.png

a1855cfbc31caefa6db6f05217c72ea2.png

63424682617282cf39d2300bc4e8c1bb.png

54c70b27904349ae3ffc95efb3402450.png

0cf13e04245d2bd39249f575e20b8a60.png

904f198d7a672220d0c1349530f29bf7.png

be9428af5ee3995f52a23059d6cd0a64.png

cb3c7db496947105d5f4f1a5edd27a99.png

adf60d32bb2b8be2c5d7574c2d297e67.png

7e5a2da9cf278c1fc32fc834ed40553e.png

365ee2dffe1d6ab9b2280914f1d2ab9d.png

3809ebe81c739769b1ce2c5be3eba84c.png

f702470bf6235259a2cfd34d1877baac.png

3f99a100e82dd46a765bfcf5f64e4003.png

de709488896128d2b8f0f5b2ec03562a.png

007d8dd3ec6be2f13a65aa2d40866fe6.png

9a5ddb49b60c4f3b2ce7d0854aa40ca7.png

03c0907f9af744c2942545ac53aac304.png

f38fd3a25a16846798db3b85e8487dd9.png

ccdb477001f12f6c80d3377d0beb3c30.png

2cfd2f505642229a399c1bdd737a6797.png

2.5 SRE(按阈值排序)

c665346248372fdedac82bc733988e4a.png

db16c8b1284f8c384431430738d67f7b.png

1a4fa7e24d480ceaf1770506c66c6ec4.png

cd21ab9546e93e7e330e118d2e7f2d8f.png

2db2d13d5b052bdae717b4aefee83cc3.png

ed39650881aae470619361c745556aed.png

ebd374cc0993ef1afc66059fb3eab1dc.png

aa309a3c00f82decc2abf79a2a2e1ea7.png

dbd1078058a8e318eb08e19e2f7c52e0.png

e0fc2f8c37a981f058a484e0aade1dd8.png

837aaead6b3272eb1ea1667d4c06f517.png

5fa40d16549d73b129c9cdc6fb8c1fbd.png

943dea0dc128eec45c7aa8d1bcdc12e3.png

6991a92458fc67c4aa50914cdd94e091.png

080be23de86e8f07fa12bcab51d2684e.png

9db281bb8cde024caf1696820320be39.png

5d18485beaf06c320232d55e82606c01.png

e98f3d148781033409e092f62d4a75ac.png

25bd8e05d339c7c669db31df18d45543.png

33cd1025ea2c37d73e0fa26ae25185e5.png

7df222ec4d25fe6bc40f793ac66082b5.png

6b046c57ab372aab1d67fc97b3af946d.png

6ec8dac25b7fb73e2dd5f0d7d35dcb1d.png

9f1be31c31fe361411ef27237e835265.png

2.6 TRE(按阈值排序)

0337ab8932f6b406afb278c7db3908dd.png

ef3bb45165a7b94950dd8807f9ac3594.png

8ff1e5faf454b0878135f31091f6b59f.png

0a9f77107c6e65a856b96c12ec16ed62.png

18dec5f2473ef2d2a70bf2098618f512.png

7d62e7258d4b1de3a79c2b95443564e2.png

2c68999d55033e711632516510934af8.png

44b71a99d3fc4456671871cf6f9de85d.png

11bea226628299a9c64aa8b4947a0da3.png

f6f7e42925440ee755d346064690bda2.png

a3cc9d5abb7eddded4d1c1494e938461.png

12b4b9e8d3f7be15055eeccab644d9d2.png

1e49135c9ad2078957a4d83e0b0e6e1d.png

a7f5aa8f236a3340b459b786ebdd3f86.png

440612cadd90dc3bb50092632da43445.png

e68ce25b7b34c5f9223be38335cd16cd.png

fd8b484847beca831b763cc274deb18c.png

8d1aca34c563a532eb6ff9fcd1e4d2f6.png

1413e1ab6add81841ca879f1b0855b50.png

7bd1b89a9ce6ff23278d1da29c4ec15b.png

a9db003990eb919d881a37af186d99cf.png

33bc45dbbbecab4fac95d99b1be79071.png

1a5eaccd8ac609ef7f6565bff5805075.png

b508ffdba2bfd5e8af2816cb77fba5a1.png

从以上评价方法的结果图中可以看出,ECO\ECO_HC 的跟踪算法效果明显优于其它八种算法。

2.7 测试结果和修改后的代码下载

三、集成 VOT2015\VOT2016 数据集

3.1 准备 vot-toolkit

然后在 matlab 中切换到此目录。

3.2 准备工作区

切换到此目录后,新建 VOT2015\VOT2015HC\VOT2016\VOT2016HC,分别用于实验 ECO\ECO_HC 针对 VOT2015\VOT2016 数据集的工作目录。如下所示:

a49c8e59fc8218cfb75d96c125b4609e.png新建 VOT2015\VOT2015HC\VOT2016\VOT2016HC 目录

在此目录中运行 toolkit_path.m,然后分别切换到新建的四个目录中,分别运行 workspace_create 命令,并根据提示为当前跟踪算法命名。如下所示:

ded0ad6c4114b59fdeb41efc7596a73a.png

带有 HC 的目录中的跟踪算法可以命名为 ECO_HC,以示区别。

3.3 编写 tracker 文件

回到 ECO 代码目录,在 VOT_integration\configuration_file 目录中找到 tracker_ECO.m 文件,将其内容覆盖刚才生成的四个文件夹下的 tracker_ECO(_HC).m 文件,并修改 ECO_repo_path 变量为 ECO 的根目录。

注意:ECO_repo_path 只接受单引号变量。

切换到 ECO 代码目录,找到 VOT_integration\benchmark_wrapper 目录下的 setup_tracker_paths.m 文件并运行。然后返回四个 VOT 工作目录。

这一步的目的是使 vot 工具能找到 ECO 的目录。

执行每个工作目录下的 run_experiments.m 即可开始实验。

开始实验前会自动下载相应的数据集。由于数据集服务器位于境外,且内容较大,因此建议先自行到官网下载相应的数据集放到 sequences 目录下,然后再运行相关命令。

四个实验可以并行开展。

四、VOT2015\VOT2016 数据集的实验报告

实验运行结束后即可以开始分析实验结果,并与其它跟踪算法进行比较。

其它跟踪算法的结果在 VOT 官网即可找到,在运行分析实验结果命令前,先将对应的结果放置在工作区目录的 results 文件夹中。如下所示:

5942a5d119847e4489fcfa7d136aebc3.png除了 ECO 文件夹为运行实验时生成外,其他均为从 VOT 官网下载

不必将所有算法的结果都放到 results 目录中,挑选你想要作为参考算法的结果即可。

在运行分析命令前,需要先指定比较的算法列表。打开工作区的 run_analysis.m 文件,根据提示填入你想要比较的算法名称,如下所示:

079e6d5581eeed6c2d762b1eb6ccdd1b.png红框中即为要比较的算法名称列表

注意:算法名称要与 results 目录下的文件夹名称一致,否则无法加载。

准备就绪后运行 run_analysis.m 文件,分析结束后会在各自工作区目录中生成一个 report 目录。目录中的内容即为此次实验的报告。

由于 VOT 报告均已网页的形式展示,在此不便展示,您可以使用合适的方式下载后查看:

报告说明

因为此次实验的环境与其它实验的环境存在差异,实验报告中提到的帧率(FPS)与运行实验的计算机配置具有很强的相关性,因此帧率测试结果仅供参考。

实验环境:

Windows 10 1809 x64

未使用图形处理器。

未使用图形处理器的原因有二:主要是目前并不具备实验所指定的图形处理器;其次,论文中提到了使用英特尔酷睿i7处理器时,ECO_HC算法的效率即可达到60帧每秒以上,故本次实验全程都使用中央处理器执行。这也是上述提到的“帧率数据仅供参考”的原因。

如果对实验结果有疑问,请直接在下方留言,或来信咨询(i#vistart.me)。

赞过:

赞 正在加载……

相关

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/559646.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何设置oracle_home变量,oracle-如何在Ubuntu 9.x上正确设置ORACLE_HOME变量?

oracle-如何在Ubuntu 9.x上正确设置ORACLE_HOME变量?我遇到了与此处列出的问题相同的问题:尽管我没有丢失密码,但如何恢复或更改Oracle sysdba密码,我最初在configure脚本中输入了两次,然后登录(localhost:…

oracle脱机什么意思,脱机的是什么意思

1. 或者是,将记录传送到脱机系统去处理,以降低交换机的负荷。Alternatively, the records can be transferred to an off-line system for processing, to reduce the load on the exchange.2. 虽然第三方可用的应用软件很少,但在 Windows 1.…

oracle adg 备份,Oracle Physical Dataguard环境使用RMAN备份和恢复

Oracle Physical Dataguard环境使用RMAN备份和恢复由于Physical Dataguard使用的是块恢复技术来保持和PRIMARY的一致性,因此可以在STANDBY上进行rman备份,从而减轻PRIMARY的压力.当PRIMARY出现数据库故障时,可以使用在STANDBY上的备份来进行恢…

matlab遗传算法配送路径,基于Matlab物流配送路径优化问题遗传算法的实现

维普资讯 http://doc.docsou.com第2 9卷总第 1 1 3期物流商坛物流配送路径优化问题遗传算法的实现The Re lz to f Ge tc Al o ih o a ia i n o ne i g r t m f VRP Ba e o t e M a l b s d n h tap p p p p p p p p p p p p p p ) ≯≯ p p p p ≯ ≯ p≯≯≯≯≯≯≯弓晋丽 .程…

oracle 测试库搭建,Oracle Study之--通过RMAN克隆测试库

Oracle Study之--通过RMAN克隆测试库通过使用数据库备份,DBA可以在同一服务器或其它服务器上建立副本数据库。这个副本数据库可以和主数据库有相同的名称(拷贝)或与主数据库名称不同(克隆)。ORACLE在数据库拷贝和数据库克隆之间惟一不同的是拷贝的数据库不能更改名称…

清空临时表oracle,【Oracle相关】Oracle中如何清空临时表空间

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼【问题】数据库临时表空间占用空间太大,暂用大量磁盘空间。【处理】清空临时表空间Oracle1.启动数据库 startup2.查看当前的数据库默认表空间:SQL>select * from database_properties whereproperty_name…

linux挂载目录到分区,Ubuntu7.10下挂载/home目录到一个分区的方法

最近在一个9.5G的旧硬盘上装了个Ubuntu7.10,在安装时选择了自动分区安装,结果只有两个分区,/和swap,后来觉得一妥,就用gparted重新调整了分区,现在想把砍出事的分区挂载/home目录。昨晚试了一晚都没有弄好&…

linux 内存规划,生产场景怎么对linux系统进行合理规划分区?

分区的根本原则是简单、易用、方便批量管理。根据服务器角色定位建议如下:①单机服务器:如8G内存,300G硬盘分区: /boot 100-200M,swap 16G,内存大小8G*2,/ 80G,/var 20G(也可不分)&a…

linux终端美化,如何美化你的命令行终端Terminal

Linux下的终端是很有魅力的,你可以进行些简单的配置让它变得更加华丽,让枯燥的命令行也变得生动起来。下面进行些配置是我使用的,先看下效果图命令行是以我非常喜欢的Avirl为背景的,同时把终端的字体放大了,字体颜色为…

linux重启服务挂载盘消失,如何处理ECS Linux服务器重启服务器、初始化系统后数据盘不见了的情况...

本文在介绍如何处理ECS Linux服务器重启服务器、初始化系统后数据盘不见了的情况的基础上,重点探讨了其具体步骤,本文内容紧凑,希望大家可以有所收获。ECS Linux服务器重启服务器、初始化系统后数据盘不见了问题现象:Linux系统服务…

linux测试函数耗时tick数,C语言中怎样测验函数执行时间

有4种方法可以达成测算程序运行时间的目的。它们分别是使用clock, times, gettimeofday, getrusage来实现的。下面就来逐一介绍,并比较它们的优劣点。系统测试环境:VirtualBox (Ubuntu 9.10)gcc version 4.4.1libc6 2.10.1-0ubuntu16Core Duo T2500 2GMH…

linux 修改Db2主机名,对DB2服务器主机名的修改的正确操作流程

文章主要描述的是如何正确的对DB2服务器主机名的修改,在实际操作中由于出于多种原因,在DB2数据库的服务器的实际使用过程中,用户有可能对DB2数据库服务器的主机名进行修改,本文详细介绍了修改DB2的主机名需要做的修改工作。环境:产…

x86_64 arm制linux-gcc,arm-linux-gcc 制作

序言:其实,如果没有充裕的时间,交叉编译器完全不用自己建,网上下载直接拿来用就可以了。之所以写这博客,一是为了和大家交流,二是为了防止由于时间的流逝再也找不到当初的笔记。人说好记星不如烂笔头&#…

obs捕获窗口没有窗口_学习工具 | 视频录制软件OBS

小编今天为你们带来了一位新朋友,它就是:OBS了解OBSOBS是免费和开源软件的视频录制和实时流。在 Windows、Mac 或 Linux 上都能够快速轻松地下载并开始流式传输。小知识:流式传输:主要指通过网络传送流媒体(如视频、音频)的技术总…

linux webshell 页面管理,instantbox:30s内快速搭建可通过webshell管理的Linux系统

点击上方蓝色字体,关注我们如何快速搭建一个Linux环境,肯定非docker莫属。但通过instantbox,可以带给我们比docker更好的体验:在不到 30s 内快速搭建一个干净、开箱即用的多个临时的Linux 系统,如Ubuntu、Centos、Arch…

局域网共享工具_局域网文件共享

局域网文件共享的方式都有哪些?局域网文件共享的方式还是比较多的,有几种可参考操作: 在多台电脑上开启网上邻居共享,这样电脑直接打开网上邻居就可以访问对方的文件夹和资料了。 可以安装辅助软件,比如:坚…

linux重启was控制台报错,IHS启动时报错,从was控制台传播插件失败

IHS启动时报错,从was控制台传播插件失败集群IHSWAS,以前单独访问某一个节点http://ip:9080可以访问,最近无法访问(9080可以telnet通),通过日志发现,以下问题请各前辈帮帮忙IHS启动时报错: 版本6.1.0.31[Th…

sdp ddp内存怎么分_旗舰手机跑分66万+,缩短与PC差距,手机成生产力工具也许不是梦...

现在人们无论是在买电脑还是买手机的时候总是喜欢拿跑分来衡量产品的硬件性能,其实长时间的使用产品才是体验产品性能最真实的体验,但是往往需要先有机会拿到产品才行。除此之外也许跑分是最直观的手段。虽然跑分不代表最终体验,但是通过横向…

wave6000可以c语言编程吗,WAVE6000使用教程初步.doc

PAGEPAGE 12WAVE集成调试软件使用初步说明:本文档是对WAVE集成调试软件使用的初步说明,其中调试软件中有许多功能没有涉及,希望同学们通过使用进一步掌握。一、启动启动WAVE可以通过两种方式:(1)桌面上WAVE快捷方式。(2)安装目录下…

安卓虚拟机_安卓中的安卓虚拟机,那些闪退应用有救了

“我们坚持最优质的分享,努力做你身边的资源助手“VMOS VMOS堪称安卓中的安卓虚拟机,可以在手机里面再运行一个全新的安卓系统,由于是独立在运行的操作系统,可以运用的场景非常多,例如多开应用&#xf…