• 大小: 29KB
    文件类型: .py
    金币: 1
    下载: 0 次
    发布日期: 2021-05-22
  • 语言: Python
  • 标签: python  

资源简介

此为用pysot里面的vot功能DIMP50要用到的修改后的tracker.py文件

资源截图

代码片段和文件信息

import importlib
import os
import numpy as np
from collections import OrderedDict
from pytracking.evaluation.environment import env_settings
import time
import cv2 as cv
from pytracking.utils.visdom import Visdom
import matplotlib.pyplot as plt
import matplotlib.patches as patches
from pytracking.utils.plotting import draw_figure overlay_mask
from pytracking.utils.convert_vot_anno_to_rect import convert_vot_anno_to_rect
from ltr.data.bounding_box_utils import masks_to_bboxes
from pytracking.evaluation.multi_object_wrapper import MultiobjectWrapper
from pytracking.vot_utils.region import vot_overlap
from pathlib import Path
import torch
import warnings
warnings.filterwarnings(‘ignore‘)

_tracker_disp_colors = {1: (0 255 0) 2: (0 0 255) 3: (255 0 0)
                        4: (255 255 255) 5: (0 0 0) 6: (0 255 128)
                        7: (123 123 123) 8: (255 128 0) 9: (128 0 255)}


def trackerlist(name: str parameter_name: str run_ids = None display_name: str = None):
    “““Generate list of trackers.
    args:
        name: Name of tracking method.
        parameter_name: Name of parameter file.
        run_ids: A single or list of run_ids.
        display_name: Name to be displayed in the result plots.
    “““
    if run_ids is None or isinstance(run_ids int):
        run_ids = [run_ids]
    return [Tracker(name parameter_name run_id display_name) for run_id in run_ids]


class Tracker:
    “““Wraps the tracker for evaluation and running purposes.
    args:
        name: Name of tracking method.
        parameter_name: Name of parameter file.
        run_id: The run id.
        display_name: Name to be displayed in the result plots.
    “““

    def __init__(self name: str parameter_name: str run_id: int = None display_name: str = None):
        assert run_id is None or isinstance(run_id int)

        self.name = name
        self.parameter_name = parameter_name
        self.run_id = run_id
        self.display_name = display_name

        env = env_settings()
        if self.run_id is None:
            self.results_dir = ‘{}/{}/{}‘.format(env.results_path self.name self.parameter_name)
            self.segmentation_dir = ‘{}/{}/{}‘.format(env.segmentation_path self.name self.parameter_name)
        else:
            self.results_dir = ‘{}/{}/{}_{:03d}‘.format(env.results_path self.name self.parameter_name self.run_id)
            self.segmentation_dir = ‘{}/{}/{}_{:03d}‘.format(env.segmentation_path self.name self.parameter_name self.run_id)

        tracker_module_abspath = os.path.abspath(os.path.join(os.path.dirname(__file__) ‘..‘ ‘tracker‘ self.name))
        if os.path.isdir(tracker_module_abspath):
            tracker_module = importlib.import_module(‘pytracking.tracker.{}‘.format(self.name))
            self.tracker_class = tracker_module.get_tracker_class() # eg: class DIMP not yet initialize
        else:
            self.tracker_class = None

        self.visdom = None


    def

评论

共有 条评论