目标跟踪序列化测试以及搜参

4 篇文章 0 订阅
3 篇文章 0 订阅

1、序列化测试

对于一些跟踪算法,特别是siamese系列,一般进行20epochs的训练,对应20个训练模型,特别是backbone解冻的后10个模型,均有可能出现最好的结果(got-10k与lasot的结果一般容易出现在10-15,;otb通用模型的最好结果一般出现在15-20轮)。所以就需要对所有的model进行测试,而手动测试需要自己盯着每次测试结束后再次运行,比较麻烦,所以再此贴出一个序列化测试的代码(自行调整从strat_epoch-end_epoch的模型测试)。

import sys
sys.path.append("..")
import os
import time
import argparse
from mpi4py import MPI

# 多个GPU同时进行测试多个epoch
parser = argparse.ArgumentParser(description="multi-gpu test all epochs")
parser.add_argument("--start_epoch", default=13, type=int, help="test end epoch")
parser.add_argument("--end_epoch", default=20, type=int, help="test end epoch")
parser.add_argument("--gpu_nums", default=2, type=int, help="gpu numbers")
# parser.add_argument("--threads", default=2, type=int, required=True)
parser.add_argument("--dataset", default="VOT2018", type=str, help="benchmark to test")
args = parser.parse_args()

# init gpu and epochs
comm = MPI.COMM_WORLD
size = comm.Get_size()
rank = comm.Get_rank()
GPU_ID = rank % args.gpu_nums
node_name = MPI.Get_processor_name()  # get the name of the node
os.environ["CUDA_VISIBLE_DEVICES"] = str(GPU_ID)
print("node name: {}, GPU_ID: {}".format(node_name, GPU_ID))
time.sleep(rank * 5)

start_epoch = args.start_epoch
# run test scripts -- one epoch for each thread
for i in range(args.end_epoch - args.start_epoch + 1):
    dataset = args.dataset
    # try:
    #     epoch_ID += args.threads
    # except:
    #     epoch_ID = rank % (args.end_epoch - args.start_epoch + 1) + args.start_epoch
    epoch_ID = start_epoch + i

    if epoch_ID > args.end_epoch:
        continue

    snapshot = "snapshot/checkpoint_e{}.pth".format(epoch_ID)
    print("==> test {}th epoch".format(epoch_ID))

    os.system("python test.py  --dataset {0}  --snapshot {1}  --config ../experiments/siamgat_googlenet_vot/config.yaml".format(dataset, snapshot))

2、模型搜参

对于跟踪来说,特别是siamese模型来说,训练出一个模型之后很重要的一点就是模型搜参(window_inf/penalty_k/lr),一个合适的参数对于模型的性能提升很大,这也是为什么复现一些算法模型时,往往不能达到论文中的精度。
这里还是要用到@回忆浅离博主git上的代码,链接:https://github.com/Giveupfree/SiamCAR-CAM/tree/master/tools,执行tune.py即可进行对应的搜参,可以同时对不同的数据集进行搜参,以提高效率。搜参的过程相当于自动使用不同的参数值去测试,“试”出最好的结果,目前设置为500轮,所以需要的时间会比较久,OTB100/GOT-10k大约一周,VOT大约4天,LaSOT大约20多天。
其中关于GOT-10k的搜参,需要将SOTDrawRect项目SOT_eval文件夹中的GOT-10k-test.json更名为GOT-10k.json,并替换GOT-10k数据集中的json(因为默认的json文件没有GT框标注),最后说明GOT-10k搜到的结果与实际有出入,因为是相当于与自制的json做IOU,所以不一定搜到的结果高,实际就高,还需要一一上传官网进行测试。
最后说明,搜出的参数小数很长,如果想要使用搜好的参数进行测试,必须要使用带有全部小数的参数进行测试,才能得到最好的效果。其中的module_builder,以及其中的测试算法需要根据自身实际使用的算法进行对应的小改动。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: CSDN行人跟踪测试视频是一段用于测试行人跟踪技术的视频。这个视频主要用于评估和展示人工智能算法在视频监控和安全领域的应用。通过分析视频中的行人轨迹,算法可以准确而快速地检测、识别和跟踪行人的运动。 在这个测试视频中,算法可以追踪视频中多个行人的位置,并将它们的运动轨迹标记在画面上。该算法利用机器学习和计算机视觉技术,自动识别出行人并在整个视频中跟踪它们的位置和移动方向。这项技术可以用于安全监控系统、交通管理、人群分析等领域,为人们带来更高的安全性和便利性。 使用CSDN行人跟踪测试视频,可以对行人跟踪算法进行性能测试和对比。通过观察和分析视频中行人的跟踪效果,可以评估算法在不同场景下的准确性、稳定性和鲁棒性。同时,这个测试视频也为开发人员提供了一个共享平台,可以讨论和交流行人跟踪相关的技术和经验。通过这种方式,技术人员可以不断改进和提高行人跟踪算法的性能和效果。 总之,CSDN行人跟踪测试视频是一个用于测试评估行人跟踪算法的工具,为技术人员在视频监控和安全领域提供了一个理想的平台。通过这个测试视频,可以不断改进和提高行人跟踪算法的性能,为人们的安全和便利性提供更好的保障。 ### 回答2: CSDN行人跟踪测试视频是一个用于测试、研究和评估行人跟踪算法性能的视频资源。行人跟踪是计算机视觉领域中的一个重要研究方向,其目标是通过计算机视觉技术实时跟踪视频中的行人。 这个测试视频提供了一个包含不同场景和行人行为的视频序列,可以用于评估行人跟踪算法在不同复杂程度的情况下的准确性和鲁棒性。通过使用这个测试视频,研究人员可以对比不同的行人跟踪算法,并选择最合适的算法用于特定的应用场景。 CSDN行人跟踪测试视频不仅提供了视频序列,还提供了一些标注信息,如行人的位置、边界框等。这些标注信息可以帮助研究人员进行算法性能评估和比较,并为进一步的研究提供参考。 这个测试视频可以用于学术研究、算法开发以及相关行人跟踪技术的应用开发。通过使用这个测试视频,研究人员和开发人员可以更好地了解行人跟踪的挑战和机会,并改进现有的算法以提高其性能与稳定性。 总之,CSDN行人跟踪测试视频是一个有助于行人跟踪算法研究和评估的资源,它可以为研究人员和开发人员提供一个标准化和公开的评估平台,促进行人跟踪技术的进步和应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值