当前位置:网站首页>[target tracking] |stark configuration win OTB
[target tracking] |stark configuration win OTB
2022-06-29 17:55:00 【rrr2】
Dataset path generation
python tracking/create_default_local_file.py --workspace_dir . --data_dir ./data --save_dir .
After running, the following two files will be generated
lib/train/admin/local.py # Training profile
lib/test/evaluation/local.py # Test configuration file
Direct operation test Will report a mistake The reason is the path problem , stay local Add... Before all paths in r that will do .
raise RuntimeError('YOU HAVE NOT SETUP YOUR local.py!!!\n Go to "{}" and set all the paths you need. '
RuntimeError: YOU HAVE NOT SETUP YOUR local.py!!!

Change the path of the data set to be tested
If not, change environment.py Medium absolute path
Pre weight configuration
Build a new one in the project checkpoints/train/stark_st2/ route , Then put the downloaded pre training model into it 
Run the test
test otb
modify test.py Parameters in
def main():
#parser = argparse.ArgumentParser(description='Run tracker on sequence or dataset.')
parser = argparse.ArgumentParser()
parser.add_argument('--tracker_name', type=str,default='stark_s', help='Name of tracking method.')
parser.add_argument('--tracker_param', type=str, default='baseline',help='Name of config file.')
parser.add_argument('--runid', type=int, default=None, help='The run id.')
parser.add_argument('--dataset_name', type=str, default='otb', help='Name of dataset (otb, nfs, uav, tpl, vot, tn, gott, gotv, lasot).')
parser.add_argument('--sequence', type=str, default=None, help='Sequence number or name.')
parser.add_argument('--debug', type=int, default=0, help='Debug level.')
parser.add_argument('--threads', type=int, default=0, help='Number of threads.')
parser.add_argument('--num_gpus', type=int, default=1)
args = parser.parse_args()
args.tracker_name='stark_st'
args.tracker_param='baseline'
args.dataset_name='otb'
args.sequence='Jump'
try:
seq_name = int(args.sequence)
except:
seq_name = args.sequence
run_tracker(args.tracker_name, args.tracker_param, args.runid, args.dataset_name, seq_name, args.debug,
args.threads, num_gpus=args.num_gpus)
if __name__ == '__main__':
main()
Tracker: stark_s baseline None , Sequence: Jump
test config: {
'MODEL': {
'HEAD_TYPE': 'CORNER', 'HIDDEN_DIM': 256, 'NUM_OBJECT_QUERIES': 1, 'POSITION_EMBEDDING': 'sine', 'PREDICT_MASK': False, 'BACKBONE': {
'TYPE': 'resnet50', 'OUTPUT_LAYERS': ['layer3'], 'DILATION': False}, 'TRANSFORMER': {
'NHEADS': 8, 'DROPOUT': 0.1, 'DIM_FEEDFORWARD': 2048, 'ENC_LAYERS': 6, 'DEC_LAYERS': 6, 'PRE_NORM': False, 'DIVIDE_NORM': False}}, 'TRAIN': {
'LR': 0.0001, 'WEIGHT_DECAY': 0.0001, 'EPOCH': 500, 'LR_DROP_EPOCH': 400, 'BATCH_SIZE': 16, 'NUM_WORKER': 8, 'OPTIMIZER': 'ADAMW', 'BACKBONE_MULTIPLIER': 0.1, 'GIOU_WEIGHT': 2.0, 'L1_WEIGHT': 5.0, 'DEEP_SUPERVISION': False, 'FREEZE_BACKBONE_BN': True, 'FREEZE_LAYERS': ['conv1', 'layer1'], 'PRINT_INTERVAL': 50, 'VAL_EPOCH_INTERVAL': 20, 'GRAD_CLIP_NORM': 0.1, 'SCHEDULER': {
'TYPE': 'step', 'DECAY_RATE': 0.1}}, 'DATA': {
'MEAN': [0.485, 0.456, 0.406], 'STD': [0.229, 0.224, 0.225], 'MAX_SAMPLE_INTERVAL': 200, 'TRAIN': {
'DATASETS_NAME': ['LASOT', 'GOT10K_vottrain', 'COCO17', 'TRACKINGNET'], 'DATASETS_RATIO': [1, 1, 1, 1], 'SAMPLE_PER_EPOCH': 60000}, 'VAL': {
'DATASETS_NAME': ['GOT10K_votval'], 'DATASETS_RATIO': [1], 'SAMPLE_PER_EPOCH': 10000}, 'SEARCH': {
'SIZE': 320, 'FACTOR': 5.0, 'CENTER_JITTER': 4.5, 'SCALE_JITTER': 0.5}, 'TEMPLATE': {
'SIZE': 128, 'FACTOR': 2.0, 'CENTER_JITTER': 0, 'SCALE_JITTER': 0}}, 'TEST': {
'TEMPLATE_FACTOR': 2.0, 'TEMPLATE_SIZE': 128, 'SEARCH_FACTOR': 5.0, 'SEARCH_SIZE': 320, 'EPOCH': 500}}
head channel: 256
FPS: 46.0861924816578
create tracking result dir: C:\D\code\object_track\strark2\test/tracking_results/stark_s/baseline
Done
Be careful , When run again , You need to delete the last result , Otherwise, it cannot run
Analyze test results
analysis_results.py
File "C:\D\anaconda\lib\site-packages\matplotlib\texmanager.py", line 256, in _run_checked_subprocess
raise RuntimeError(
RuntimeError: Failed to process string with tex because latex could not be found
No, latex typeface
stay lib/test/analysis/plot_results.py line 103
plt.rcParams['text.usetex']=False## False
import _init_paths
import matplotlib.pyplot as plt
plt.rcParams['figure.figsize'] = [8, 8]
from lib.test.analysis.plot_results import plot_results, print_results, print_per_sequence_results
from lib.test.evaluation import get_dataset, trackerlist
trackers = []
dataset_name = 'otb2015'
"""stark"""
trackers.extend(trackerlist(name='stark_s', parameter_name='baseline', dataset_name=dataset_name,
run_ids=None, display_name='STARK-S50'))
trackers.extend(trackerlist(name='stark_st', parameter_name='baseline', dataset_name=dataset_name,
run_ids=None, display_name='STARK-ST50'))
# trackers.extend(trackerlist(name='stark_st', parameter_name='baseline_R101', dataset_name=dataset_name,
# run_ids=None, display_name='STARK-ST101'))
"""TransT"""
# trackers.extend(trackerlist(name='TransT_N2', parameter_name=None, dataset_name=None,
# run_ids=None, display_name='TransT_N2', result_only=True))
# trackers.extend(trackerlist(name='TransT_N4', parameter_name=None, dataset_name=None,
# run_ids=None, display_name='TransT_N4', result_only=True))
"""pytracking"""
# trackers.extend(trackerlist('atom', 'default', None, range(0,5), 'ATOM'))
# trackers.extend(trackerlist('dimp', 'dimp18', None, range(0,5), 'DiMP18'))
# trackers.extend(trackerlist('dimp', 'dimp50', None, range(0,5), 'DiMP50'))
# trackers.extend(trackerlist('dimp', 'prdimp18', None, range(0,5), 'PrDiMP18'))
# trackers.extend(trackerlist('dimp', 'prdimp50', None, range(0,5), 'PrDiMP50'))
# dataset = get_dataset(dataset_name)
#dataset = get_dataset('otb', 'nfs', 'uav', 'tc128ce')
dataset = get_dataset('otb')
plot_results(trackers, dataset, 'OTB2015', merge_results=False, plot_types=('success', 'norm_prec'),
skip_missing_seq=True, force_evaluation=True, plot_bin_gap=0.05)
print_results(trackers, dataset, dataset_name, merge_results=False, plot_types=('success', 'prec'))
# print_results(trackers, dataset, 'UNO', merge_results=True, plot_types=('success', 'prec'))
STARK_Lightning To configure
The weight 
Don't use onnx when ,lib/test/tracker/stark_lightning_X_trt.py Set in use_onnx = False
Parameter setting
args.tracker_name='stark_lightning_X_trt'##'stark_lightning_X_trt'
args.tracker_param='baseline_rephead_4_lite_search5'#'' # baseline
args.dataset_name='otb'
args.sequence='Jump'
Generate onnx
python tracking/ORT_lightning_X_trt_backbone_bottleneck_pe.py # for the template branch
python tracking/ORT_lightning_X_trt_complete.py # for the search region branch
To configure LaSOT Data sets
Set the path
Just change the parameters
边栏推荐
- mysql. What is the concept of sock
- Mysql database literacy, do you really know what a database is
- Visual Studio插件CodeRush正式发布v22.1——优化调试可视化工具
- Opencv+YOLO-V3实现目标跟踪
- Web Scraping with Beautiful Soup for Data Scientist
- 面试中问最常问的海量数据处理你拿捏了没?
- Mongotemplate - distinct use
- What is the MySQL query view command
- Face recognition 4- research on Baidu commercial solutions
- 牛客小Bai月赛52 D 环上食虫(尺取+st表)
猜你喜欢
随机推荐
第42期:MySQL 是否有必要多列分区
剑桥大学教授:经常吃早餐害处多,很危险 - 知乎
Does rapid software delivery really need to be at the cost of security?
小迈科技 X Hologres:高可用的百亿级广告实时数仓建设
Walk with love, educate and run poor families, and promote public welfare undertakings
How MySQL queries character set codes of tables
基于STM32F103ZET6库函数PWM输出实验
lodash深拷贝使用
What value can SRM systems bring to the enterprise?
分布式 | 几步快速拥有读写分离
Maxcompute string replacement function -replace
Top 30 open source software
设置双击运行 jar 文件
Graduation season | Huawei experts teach interview tips: how to get a high salary offer from a large factory?
字典树(随学)
How to create and delete MySQL triggers
一次采集JSON解析错误的修复
Cross border independent station language Unicode to Hebrew
面试中问最常问的海量数据处理你拿捏了没?
【Try to Hack】Cookie和Session









