Git Product home page Git Product logo

honglinchu / siamtrackers Goto Github PK

View Code? Open in Web Editor NEW
1.3K 17.0 250.0 65.53 MB

(2020-2022)The PyTorch version of SiamFC,SiamRPN,DaSiamRPN, UpdateNet , SiamDW, SiamRPN++, SiamMask, SiamFC++, SiamCAR, SiamBAN, Ocean, LightTrack , TrTr, NanoTrack; Visual object tracking based on deep learning

License: Apache License 2.0

Python 90.88% C 6.93% Shell 0.23% Cython 1.97%
tracking deep-learning visual-tracking

siamtrackers's Introduction

Intro Card2

siamtrackers's People

Contributors

honglinchu avatar zihaomu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

siamtrackers's Issues

数据集下载

学长,您好。readme里百度网盘的数据集,打不开,无法下载。可以重新分享下吗。UAV123 BaiduYun password: 2iq4

VOT2018 BaiduYun password: e5eh

十分感激,谢谢学长

SiamFC运行my_test

出现ZeroDivisionError: division by zero,看了一下主要是在ious = np.nanmean(ious, axis=0)这句,并且查看了ious的值。

ious= [[nan nan nan ... array([0.02229282]) array([0.10334186])
array([0.13032249])]]
Traceback (most recent call last):
File "/home/ubuntu/code/SiamTrackers-master/2-SiamFC/SiamFC-GOT/bin/my_test.py", line 72, in
prec_score,succ_score,succ_rate=e.report([tracker.name])
File "/home/ubuntu/code/SiamTrackers-master/2-SiamFC/SiamFC-GOT/got10k/experiments/vot.py", line 417, in report
ious = np.nanmean(ious, axis=0)

关于TrackingNet数据集

您好,请问您这里的百度云网盘TrackingNet数据集和官方的TrackingNet数据集内容是一样的不

SiamFC-VID问题

您好,感谢您收集的代码,对我帮助很大。我运行了SiamFC-VID里面的代码,下面是一些问题,希望您能解答。

  1. 我从百度云盘上下载了您提供的siamfc_30.pth预训练模型,当我运行 my_test.py后,程序可以运行,但是和您README.md里面提供的accuracy和precision完全不同,性能非常差,只有0.1多。
  2. 当我运行可视化程序查看OTB100中每个视频的跟踪结果时,发现跟踪结果非常差,完全漂移了,并且bbox非常大。如下图所示:
    Snipaste_2020-12-04_15-27-25
  3. 我运行SiamFC-GOT时,效果挺好的,基本和您提供的README.md一样

关于siamfc

用alexnet训练后,在otb和vot2018上进行测试,然后改成resnet22训练,再在otb和vot2018上测试,得到的结果没有变,一个数字都没变,这是为什么。

SiamRPN++的复现结果

大佬您好,我看到你的rpn++复现的结果也不太好,您后面有没有尝试复现出原效果

如何制作跟踪数据?

您好,感谢分享:)
想问一下,自己拍了自行车的几个小时的视频(假设用siamrpn++,只跟踪mobike类别),是不是先用labelimg之类的工具对该跟踪目标进行打标签,之后的步骤怎么处理呢?
多谢!

UpdateNet训练效果问题。

您好,我又来问问题了,不好意思问题有点多。我按照您的README文件训练后发现越训练越差,不知道怎么回事。我在训练过程中,每个stage x-1学习率设置为lrs = np.array([[6,7],[7,8]]),每个stage x-2学习率设置为lrs = np.array([[8,9],[9,10]])。在进行下一阶段训练前都会加载上一阶段的最好模型生成新的训练数据,但是效果是越来越差,不知道怎么回事,感觉很迷惑。

关于UpdateNet训练连数据集问题

您好,我用您提供的程序在ubuntu16.04下面生成训练数据时出现MemoryError问题。当我按照网上的说明 cat /proc/sys/vm/overcommit_memory改为1时,又显示已杀死,没法生成训练数据。请问您是否遇到过同样的问题。或者您是否能够把训练数据分享一下,谢谢。

运行代码

请问是否有运行自己视频进行跟踪的代码,只有测试数据集的代码吗

关于DA

作者您好,我想问下DA是一种互相关操作吗?哪篇
论文中提出来的啊。

GOT10k数据集中visible ratios的计算方式?

林林大佬您好,GOT10K数据集中提供了visible ratios,请教下您,这个visible ratios是怎么计算得到的?论文中只看到这句相关的The regions that are occluded or truncated by image boundary correspond to the invisible parts,麻烦您给指导下?不胜感激

Baidu ISSUE

All the models are uploaded at the Baidu, Baidu is not accessible for us,

Can you upload the models and everything is necessary for running the codes on the Google Drive?

DaSiamRPN测试效果问题

您好,我又发现一个问题。我用DaSiamRPN-GOT加载官方提供的SiamRPNBIG.model,测试OTB2015结果为:
prec_score:0.840 -succ_score:0.634 -succ_rate:0.824。用UpdateNet(选择的step=1)加载SiamRPNBIG.model测试OTB2015结果为:prec_score:0.853 -succ_score:0.641 -succ_rate:0.830。这两个结果不一样,而且低于SiamR-CNN论文中提供的DaSiamRPN评测结果(prec:0.878, succ:0.658)。请问您知道是怎么回事吗?在VOT2018上测试DaSiamRPN结果为acc: 0.586, eao:0.383这个结果还算正常。

transfer learning strategy

Hi.
Can you please share some transfer learning strategy to start with
without training from scratch?
thank you

关于参数调节

可以分享一下单目标跟踪里面关于参数调节的一些技巧吗

SiamFC++test问题,希望学长解答一下

Traceback (most recent call last):
File "./bin/my_test.py", line 66, in
tester.test()
File "/home/c506/lrh/SiamFC++/SiamFCpp-master/siamfcpp/engine/tester/tester_impl/vot.py", line 93, in test
self.run_tracker()
File "/home/c506/lrh/SiamFC++/SiamFCpp-master/siamfcpp/engine/tester/tester_impl/vot.py", line 121, in run_tracker
self.worker(keys, all_devs[0], result_queue, speed_queue)
File "/home/c506/lrh/SiamFC++/SiamFCpp-master/siamfcpp/engine/tester/tester_impl/vot.py", line 174, in worker
lost, speed = self.track_single_video(tracker, video, v_id=v_id)
File "/home/c506/lrh/SiamFC++/SiamFCpp-master/siamfcpp/engine/tester/tester_impl/vot.py", line 238, in track_single_video
package="vot_overlap").vot_overlap
File "/home/c506/anaconda3/envs/siamfc/lib/python3.6/importlib/init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 994, in _gcd_import
File "", line 971, in _find_and_load
File "", line 941, in _find_and_load_unlocked
File "", line 219, in _call_with_frames_removed
File "", line 994, in _gcd_import
File "", line 971, in _find_and_load
File "", line 955, in _find_and_load_unlocked
File "", line 665, in _load_unlocked
File "", line 678, in exec_module
File "", line 219, in _call_with_frames_removed
File "/home/c506/lrh/SiamFC++/SiamFCpp-master/siamfcpp/evaluation/vot_benchmark/pysot/utils/init.py", line 10, in
from . import region
ImportError: cannot import name 'region'
主要是不能加载SiamFC++/SiamFCpp-master/siamfcpp/evaluation/vot_benchmark/pysot/utils/init.py中的region模块
我用pycharm打开看了一下,好像是相对路径导入的问题,新手对这个问题不知道怎么解决,希望学长答复一下。谢谢

vot评估画图问题

up主你好,pysot带的vot只能评测出eao的数据,不能画vot的评估图,对于vot评估图请问你有好的解决方法吗?

GlobalTrack of AAAI-20

Thank you for sharing and i'd like to ask if 2020 AAAI's global track will be shared.
(GlobalTrack: A Simple and Strong Baseline for Long-Term Tracking)

关于siamfcpp的训练速度

同学,你用siamfcpp官方代码训练过吗?我用一片V100在got10k上训练,速度感人,一个epoch要10个小时。你写的代码训练速度是怎样的?

SiamRPN++多卡训练问题,

我在训练时,发现单卡可以正常训练,两张卡时就报错了,请问是跟哪些变量有关啊?

报错如下,求问如何解决:

[2021-05-30 22:39:23,961-rk0-my_train_LT.py#293] init done
fatal: Not a git repository (or any parent up to mount point /media/hdc/data4)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: Not a git repository (or any parent up to mount point /media/hdc/data4)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
[2021-05-30 22:39:23,992-rk0-my_train_LT.py#308] Version Information:
commit :
log :

[2021-05-30 22:39:23,994-rk0-my_train_LT.py#309] config
{
"META_ARC": "siamrpn_r50_l234_dwxcorr_lt",
"CUDA": true,
"TRAIN": {
"THR_HIGH": 0.6,
"THR_LOW": 0.3,
"NEG_NUM": 16,
"POS_NUM": 16,
"TOTAL_NUM": 64,
"EXEMPLAR_SIZE": 127,
"SEARCH_SIZE": 255,
"BASE_SIZE": 8,
"OUTPUT_SIZE": 25,
"RESUME": "",
"LOG_DIR": "./models/siamrpn_lt/logs",
"SNAPSHOT_DIR": "./models/siamrpn_lt/snapshot",
"EPOCH": 20,
"START_EPOCH": 0,
"BATCH_SIZE": 8,
"NUM_WORKERS": 1,
"MOMENTUM": 0.9,
"WEIGHT_DECAY": 0.0001,
"CLS_WEIGHT": 1.0,
"LOC_WEIGHT": 1.2,
"MASK_WEIGHT": 1,
"PRINT_FREQ": 20,
"LOG_GRADS": false,
"GRAD_CLIP": 10.0,
"BASE_LR": 0.005,
"LR": {
"TYPE": "log",
"KWARGS": {
"start_lr": 0.005,
"end_lr": 0.0005
}
},
"LR_WARMUP": {
"WARMUP": true,
"TYPE": "step",
"EPOCH": 5,
"KWARGS": {
"start_lr": 0.001,
"end_lr": 0.005,
"step": 1
}
}
},
"DATASET": {
"TEMPLATE": {
"SHIFT": 4,
"SCALE": 0.05,
"BLUR": 0.0,
"FLIP": 0.0,
"COLOR": 1.0
},
"SEARCH": {
"SHIFT": 64,
"SCALE": 0.18,
"BLUR": 0.2,
"FLIP": 0.0,
"COLOR": 1.0
},
"NEG": 0.2,
"GRAY": 0.0,
"NAMES": [
"GOT"
],
"VID": {
"ROOT": "data/crop511",
"ANNO": "data/crop511/train/train.json",
"FRAME_RANGE": 100,
"NUM_USE": 100000
},
"GOT": {
"ROOT": "./data/crop511",
"ANNO": "./data/crop511/train/train.json",
"FRAME_RANGE": 100,
"NUM_USE": 64000
},
"YOUTUBEBB": {
"ROOT": "data/yt_bb/crop511",
"ANNO": "data/yt_bb/train.json",
"FRAME_RANGE": 3,
"NUM_USE": -1
},
"COCO": {
"ROOT": "data/coco/crop511",
"ANNO": "data/coco/train2017.json",
"FRAME_RANGE": 1,
"NUM_USE": -1
},
"DET": {
"ROOT": "data/det/crop511",
"ANNO": "data/det/train.json",
"FRAME_RANGE": 1,
"NUM_USE": -1
},
"VIDEOS_PER_EPOCH": 64000
},
"BACKBONE": {
"TYPE": "resnet50",
"KWARGS": {
"used_layers": [
2,
3,
4
]
},
"PRETRAINED": "",
"TRAIN_LAYERS": [
"layer2",
"layer3",
"layer4"
],
"LAYERS_LR": 0.1,
"TRAIN_EPOCH": 10
},
"ADJUST": {
"ADJUST": true,
"KWARGS": {
"in_channels": [
512,
1024,
2048
],
"out_channels": [
128,
256,
512
]
},
"TYPE": "AdjustAllLayer"
},
"RPN": {
"TYPE": "MultiRPN",
"KWARGS": {
"anchor_num": 5,
"in_channels": [
128,
256,
512
],
"weighted": true
}
},
"MASK": {
"MASK": false,
"TYPE": "MaskCorr",
"KWARGS": {}
},
"REFINE": {
"REFINE": false,
"TYPE": "Refine"
},
"ANCHOR": {
"STRIDE": 8,
"RATIOS": [
0.33,
0.5,
1,
2,
3
],
"SCALES": [
8
],
"ANCHOR_NUM": 5
},
"TRACK": {
"TYPE": "SiamRPNLTTracker",
"PENALTY_K": 0.05,
"WINDOW_INFLUENCE": 0.28,
"LR": 0.22,
"EXEMPLAR_SIZE": 127,
"INSTANCE_SIZE": 255,
"BASE_SIZE": 8,
"CONTEXT_AMOUNT": 0.5,
"LOST_INSTANCE_SIZE": 831,
"CONFIDENCE_LOW": 0.8,
"CONFIDENCE_HIGH": 0.998,
"MASK_THERSHOLD": 0.3,
"MASK_OUTPUT_SIZE": 127
}
}
[2021-05-30 22:39:27,745-rk0-my_train_LT.py# 75] build train dataset
[2021-05-30 22:39:27,747-rk0-dataset.py# 38] loading GOT
[2021-05-30 22:39:27,759-rk0-dataset.py# 63] GOT loaded
[2021-05-30 22:39:27,783-rk0-dataset.py# 92] GOT start-index 0 select [64000/4] path_format {}.{}.{}.bmp
[2021-05-30 22:39:27,832-rk0-dataset.py#202] shuffle done!
[2021-05-30 22:39:27,833-rk0-dataset.py#203] dataset length 1280000
[2021-05-30 22:39:27,841-rk0-my_train_LT.py# 78] build dataset done
/home/hdc/anaconda3/envs/SiamTrackers/lib/python3.7/site-packages/torch/optim/lr_scheduler.py:122: UserWarning: Detected call of lr_scheduler.step() before optimizer.step(). In PyTorch 1.1.0 and later, you should call them in the opposite order: optimizer.step() before lr_scheduler.step(). Failure to do this will result in PyTorch skipping the first value of the learning rate schedule. See more details at https://pytorch.org/docs/stable/optim.html#how-to-adjust-learning-rate
"https://pytorch.org/docs/stable/optim.html#how-to-adjust-learning-rate", UserWarning)
[2021-05-30 22:39:27,844-rk0-my_train_LT.py#347] (WarmUPScheduler) lr spaces:
[0.001 0.00137973 0.00190365 0.00262653 0.0036239 0.005
0.00424171 0.00359843 0.0030527 0.00258974 0.00219699 0.0018638
0.00158114 0.00134135 0.00113792 0.00096535 0.00081895 0.00069475
0.00058938 0.0005 ]
[2021-05-30 22:39:27,852-rk0-my_train_LT.py#348] model prepare done
/home/hdc/anaconda3/envs/SiamTrackers/lib/python3.7/site-packages/torch/nn/parallel/_functions.py:61: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.
warnings.warn('Was asked to gather along dimension 0, but all '
[2021-05-30 22:39:34,181-rk0-my_train_LT.py#282] Epoch: [1][20/8000] lr: 0.001000
batch_time: 0.161238 (0.315044) data_time: 0.000092 (0.011209)
total_loss: 0.860676 (1.279064) cls_loss: 0.482578 (0.566196)
loc_loss: 0.315082 (0.594057)
[2021-05-30 22:39:34,182-rk0-log_helper.py#111] Progress:20/160000,[0%], Speed:0.315 s/iter,Epoch-period 42:0 (M:S),ETA 0:14:00(D:H:M)

[2021-05-30 22:39:37,413-rk0-my_train_LT.py#282] Epoch: [1][40/8000] lr: 0.001000
batch_time: 0.162611 (0.237624) data_time: 0.000102 (0.005661)
total_loss: 1.051070 (1.156314) cls_loss: 0.447658 (0.500955)
loc_loss: 0.502843 (0.546132)
[2021-05-30 22:39:37,413-rk0-log_helper.py#111] Progress:40/160000,[0%], Speed:0.238 s/iter,Epoch-period 31:40 (M:S),ETA 0:10:33(D:H:M)

Traceback (most recent call last):
File "/media/hdc/data4/wxl/SiamTrackers-master/7-SiamRPNpp/SiamRPNpp-DW/bin/my_train_LT.py", line 357, in
main()
File "/media/hdc/data4/wxl/SiamTrackers-master/7-SiamRPNpp/SiamRPNpp-DW/bin/my_train_LT.py", line 351, in main
train(train_loader, dist_model, optimizer, lr_scheduler, tb_writer)
File "/media/hdc/data4/wxl/SiamTrackers-master/7-SiamRPNpp/SiamRPNpp-DW/bin/my_train_LT.py", line 237, in train
outputs = model(data)
File "/home/hdc/anaconda3/envs/SiamTrackers/lib/python3.7/site-packages/torch/nn/modules/module.py", line 532, in call
result = self.forward(*input, **kwargs)
File "/home/hdc/anaconda3/envs/SiamTrackers/lib/python3.7/site-packages/torch/nn/parallel/data_parallel.py", line 152, in forward
outputs = self.parallel_apply(replicas, inputs, kwargs)
File "/home/hdc/anaconda3/envs/SiamTrackers/lib/python3.7/site-packages/torch/nn/parallel/data_parallel.py", line 162, in parallel_apply
return parallel_apply(replicas, inputs, kwargs, self.device_ids[:len(replicas)])
File "/home/hdc/anaconda3/envs/SiamTrackers/lib/python3.7/site-packages/torch/nn/parallel/parallel_apply.py", line 85, in parallel_apply
output.reraise()
File "/home/hdc/anaconda3/envs/SiamTrackers/lib/python3.7/site-packages/torch/_utils.py", line 394, in reraise
raise self.exc_type(msg)
RuntimeError: Caught RuntimeError in replica 1 on device 1.
Original Traceback (most recent call last):
File "/home/hdc/anaconda3/envs/SiamTrackers/lib/python3.7/site-packages/torch/nn/parallel/parallel_apply.py", line 60, in _worker
output = module(*input, **kwargs)
File "/home/hdc/anaconda3/envs/SiamTrackers/lib/python3.7/site-packages/torch/nn/modules/module.py", line 532, in call
result = self.forward(*input, **kwargs)
File "/media/hdc/data4/wxl/SiamTrackers-master/7-SiamRPNpp/SiamRPNpp-DW/siamrpnpp/models/model_builder.py", line 112, in forward
cls_loss = select_cross_entropy_loss(cls, label_cls)
File "/media/hdc/data4/wxl/SiamTrackers-master/7-SiamRPNpp/SiamRPNpp-DW/siamrpnpp/models/loss.py", line 25, in select_cross_entropy_loss
loss_pos = get_cls_loss(pred, label, pos)
File "/media/hdc/data4/wxl/SiamTrackers-master/7-SiamRPNpp/SiamRPNpp-DW/siamrpnpp/models/loss.py", line 17, in get_cls_loss
return F.nll_loss(pred, label)
File "/home/hdc/anaconda3/envs/SiamTrackers/lib/python3.7/site-packages/torch/nn/functional.py", line 1838, in nll_loss
ret = torch._C._nn.nll_loss(input, target, weight, _Reduction.get_enum(reduction), ignore_index)
RuntimeError: invalid argument 2: non-empty vector or matrix expected at /pytorch/aten/src/THCUNN/generic/ClassNLLCriterion.cu:31

updatenet在测试的时候遇到问题

ValueError: max() arg is an empty sequence
您好,我想问一下在测试的时候已经得到跟踪框的位置,但最后显示这个错误,没能得到eao

Windows下pycharm运行的,文件调用问题。

Traceback (most recent call last):
File "K:/SiamTrackers-master/2-SiamFC/SiamFC-GOT/bin/my_test.py", line 8, in
from got10k.experiments import *
File "K:\SiamTrackers-master\2-SiamFC\SiamFC-GOT\got10k\experiments\got10k.py", line 13, in
from ..datasets import GOT10k
ImportError: attempted relative import with no known parent package

我看前几天其实有人提问过这个问题,但是作者没有解答,我再提问一次。有人懂这个跨文件调用怎么出错了吗?应该1怎么改呀?

SiamFC-GOT 训练出现

您好,我下载了部分GOT 数据,看能不能跑通代码,结果运行出来这样的结果,后面就结束了,没有报epoch loss 等,
1611716451(1) (1)
请问这是哪里出现问题了,在代码里定位不到这一块

SIAMFC算法浮现出现错误

attempted relative import with no known parent package

请问学长 这个问题怎么解决啊
在siamfc程序里出现的

Dataloader加载数据太慢

感谢您的贡献!
我在使用过程中出现了一些问题。
我使用的是siamrpn,我在训练的时候出现了数据加载太慢的情况,我已经将batchsize改为1了,迟迟无法获得数据。
image
我在dataset下调用还是挺快的,train_dataset.getitem(1), 但是不知道为什么在Dataloader中无法输出数据。

got10k测试结果无法在官网上评估

学长,我按照siamFCpp源码训练之后测试了一下,然后将测试得到的.zip文件放到got10官网上评测,却不出结果,格式完全跟他给的fc实例一样,这种情况你有了解,有什么解决办法吗??
image
image

image

关于使用got10k工具评估VOT

作者您好,我想问下使用got10K工具评估VOT数据集会报错吗?
我是报了一个除零错,就是在对iou除去NaN数据后做平均的时候,请问这个您解决了吗?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.