資源簡介
此為用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
評論
共有 條評論