pytracking中的run_vot2020

Trax:

参考:https://trax.readthedocs.io/en/latest/api_python.html#main-module
跟踪过程的伪代码如下:

# 第一帧数据与初始化
rectangle = 获得第一帧的真值框()
image =  获得第一帧的图片()
rectangle = 用rectangle, image对tracker初始化
记录rectangle
# 跟踪
while True:
    image = 获得下一帧的图片()
    rectangle = 用image对tracker更新
    记录rectangle

使用trax可以简单的实现这一过程:

import trax.server
import trax.region
import trax.image
import time
tracker = Tracker()
with trax.server.Server(trax.region.RECTANGLE, trax.image.PATH) as server:
  while True:
    request = server.wait()
    if request.type in ["quit", "error"]:
      break
    if request.type == "initialize":
      rectangle = tracker.initialize(get_rectangle(request.region),
            load_image(request.image))
    else:
      rectangle = tracker.update(load_image(request.image))
    server.status(get_region(rectangle))

# trax.server.Server 构建server
# server.wait() 获得下一步操作,其中type是操作类型、region是初始化真值、image是图片路径

vot.VOT:给trax包了个壳,把判断request.type 集成进去了

init:选定真值框格式,用trax.Server构建client
region:将配置信息发送给client,接受其返回,返回为区域初始化+第一张图片路径
frame:从client获得frame的图片路径
report:将跟踪结果发送给client(跑帧数次)

vot.make_full_size:给np.pad包了个壳

对输入图像填充到指定大小

run_vot2020:

handle = vot.VOT("mask")  
# 第一帧数据与初始化
vot_anno = handle.region()
image_path = handle.frame()
image = self._read_image(image_path)
vot_anno_mask = vot.make_full_size(vot_anno, (image.shape[1], image.shape[0]))
bbox = masks_to_bboxes(torch.from_numpy(vot_anno_mask), fmt='t').squeeze().tolist()
out = tracker.initialize(image, {'init_mask': vot_anno_mask, 'init_bbox': bbox})
# 跟踪
while True:
    image_path = handle.frame()
    image = self._read_image(image_path)
    pred = out['segmentation'].astype(np.uint8)
    handle.report(pred, 1.0)
    再可视化
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值