GithubHelp home page GithubHelp logo

strangerzhang / pysot-toolkit Goto Github PK

View Code? Open in Web Editor NEW
405.0 11.0 69.0 190 KB

Python Single Object Tracking Evaluation

License: MIT License

Python 74.92% C 25.08%
sot single object tracking evaluation ope eao

pysot-toolkit's Introduction

pysot-toolkit

The purpose of this repo is to provide evaluation API of Current Single Object Tracking Dataset, including

Install

git clone https://github.com/StrangerZhang/pysot-toolkit
pip install -r requirements.txt
cd pysot/utils/
python setup.py build_ext --inplace
# if you need to draw graph, you need latex installed on your system

Download Dataset

Download json files used in our toolkit baidu pan or Google Drive

  1. Put CVRP13.json, OTB100.json, OTB50.json in OTB100 dataset directory (you need to copy Jogging to Jogging-1 and Jogging-2, and copy Skating2 to Skating2-1 and Skating2-2 or using softlink)

    The directory should have the below format

    | -- OTB100/

    ​ | -- Basketball

    ​ | ......

    ​ | -- Woman

    ​ | -- OTB100.json

    ​ | -- OTB50.json

    ​ | -- CVPR13.json

  2. Put all other jsons in the dataset directory like in step 1

Usage

1. Evaluation on VOT2018(VOT2016)

cd /path/to/pysot-toolkit
python bin/eval.py \
	--dataset_dir /path/to/dataset/root \		# dataset path
	--dataset VOT2018 \				# dataset name(VOT2018, VOT2016)
	--tracker_result_dir /path/to/tracker/dir \	# tracker dir
	--trackers ECO UPDT SiamRPNpp 			# tracker names 

# you will see
------------------------------------------------------------
|Tracker Name| Accuracy | Robustness | Lost Number |  EAO  |
------------------------------------------------------------
| SiamRPNpp  |  0.600   |   0.234    |    50.0     | 0.415 |
|    UPDT    |  0.536   |   0.184    |    39.2     | 0.378 |
|    ECO     |  0.484   |   0.276    |    59.0     | 0.280 |
------------------------------------------------------------

2. Evaluation on OTB100(UAV123, NFS, LaSOT)

converted *.txt tracking results will be released soon

cd /path/to/pysot-toolkit
python bin/eval.py \
	--dataset_dir /path/to/dataset/root \		# dataset path
	--dataset OTB100 \				# dataset name(OTB100, UAV123, NFS, LaSOT)
	--tracker_result_dir /path/to/tracker/dir \	# tracker dir
	--trackers SiamRPN++ C-COT DaSiamRPN ECO  \	# tracker names 
	--num 4 \				  	# evaluation thread
	--show_video_level \ 	  			# wether to show video results
	--vis 					  	# draw graph

# you will see (Normalized Precision not used in OTB evaluation)
-----------------------------------------------------
|Tracker name| Success | Norm Precision | Precision |
-----------------------------------------------------
| SiamRPN++  |  0.696  |     0.000      |   0.914   |
|    ECO     |  0.691  |     0.000      |   0.910   |
|   C-COT    |  0.671  |     0.000      |   0.898   |
| DaSiamRPN  |  0.658  |     0.000      |   0.880   |
-----------------------------------------------------

-----------------------------------------------------------------------------------------
|    Tracker name     |      SiamRPN++      |      DaSiamRPN      |         ECO         |
-----------------------------------------------------------------------------------------
|     Video name      | success | precision | success | precision | success | precision |
-----------------------------------------------------------------------------------------
|     Basketball      |  0.423  |   0.555   |  0.677  |   0.865   |  0.653  |   0.800   |
|        Biker        |  0.728  |   0.932   |  0.319  |   0.448   |  0.506  |   0.832   |
|        Bird1        |  0.207  |   0.360   |  0.274  |   0.508   |  0.192  |   0.302   |
|        Bird2        |  0.629  |   0.742   |  0.604  |   0.697   |  0.775  |   0.882   |
|      BlurBody       |  0.823  |   0.879   |  0.759  |   0.767   |  0.713  |   0.894   |
|      BlurCar1       |  0.803  |   0.917   |  0.837  |   0.895   |  0.851  |   0.934   |
|      BlurCar2       |  0.864  |   0.926   |  0.794  |   0.872   |  0.883  |   0.931   |
......
|        Vase         |  0.564  |   0.698   |  0.554  |   0.742   |  0.544  |   0.752   |
|       Walking       |  0.761  |   0.956   |  0.745  |   0.932   |  0.709  |   0.955   |
|      Walking2       |  0.362  |   0.476   |  0.263  |   0.371   |  0.793  |   0.941   |
|        Woman        |  0.615  |   0.908   |  0.648  |   0.887   |  0.771  |   0.936   |
-----------------------------------------------------------------------------------------
OTB100 Success Plot OTB100 Precision Plot

3. Evaluation on VOT2018-LT

cd /path/to/pysot-toolkit
python bin/eval.py \
	--dataset_dir /path/to/dataset/root \		# dataset path
	--dataset VOT2018-LT \				# dataset name
	--tracker_result_dir /path/to/tracker/dir \	# tracker dir
	--trackers SiamRPN++ MBMD DaSiam-LT \		# tracker names 
	--num 4 \				  	# evaluation thread
	--vis \					  	# wether to draw graph

# you will see
-------------------------------------------
|Tracker Name| Precision | Recall |  F1   |
-------------------------------------------
| SiamRPN++  |   0.649   | 0.610  | 0.629 |
|    MBMD    |   0.634   | 0.588  | 0.610 |
| DaSiam-LT  |   0.627   | 0.588  | 0.607 |
|    MMLT    |   0.574   | 0.521  | 0.546 |
|  FuCoLoT   |   0.538   | 0.432  | 0.479 |
|  SiamVGG   |   0.552   | 0.393  | 0.459 |
|   SiamFC   |   0.600   | 0.334  | 0.429 |
-------------------------------------------

Get Tracking Results of Your Own Tracker

Add pysot-toolkit to your PYTHONPATH

export PYTHONPATH=/path/to/pysot-toolkit:$PYTHONPATH

1. OPE (One Pass Evaluation)

from pysot.datasets import DatasetFactory

dataset = DatasetFactory.create_dataset(name=dataset_name,
                                       	dataset_root=datset_root,
                                        load_img=False)
for video in dataset:
    for idx, (img, gt_bbox) in enumerate(video):
        if idx == 0:
            # init your tracker here
        else:
            # get tracking result here

2. Restarted Evaluation

from pysot.datasets import DatasetFactory
from pysot.utils.region import vot_overlap

dataset = DatasetFactory.create_dataset(name=dataset_name,
                                       	dataset_root=datset_root,
                                        load_img=False)
frame_counter = 0
pred_bboxes = []
for video in dataset:
    for idx, (img, gt_bbox) in enumerate(video):
        if idx == frame_counter:
            # init your tracker here
            pred_bbox.append(1)
        elif idx > frame_counter:
            # get tracking result here
            pred_bbox = 
            overlap = vot_overlap(pred_bbox, gt_bbox, (img.shape[1], img.shape[0]))
            if overlap > 0: 
	    	# continue tracking
                pred_bboxes.append(pred_bbox)
            else: 
	    	# lost target, restart
                pred_bboxes.append(2)
                frame_counter = idx + 5
        else:
            pred_bboxes.append(0)

pysot-toolkit's People

Contributors

strangerzhang 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

pysot-toolkit's Issues

有关SiamRPN++训练的问题

您好!

​ 我是上海交通大学的一名学生,最近在跑SiamRPN++的代码,根据github(https://github.com/STVIR/pysot/blob/master/TRAIN.md)上提供的代码,遇到了如下问题,还希望您能给予帮助:

  1. 我只有2张1080ti,使用的config是8gpu的: cd experiments/siamrpn_r50_l234_dwxcorr_8gpu
    CUDA_VISIBLE_DEVICES=0,1 python -m torch.distributed.launch --nproc_per_node=2 --master_port=2333 ../../tools/train.py --cfg config.yaml
    训练结束之后,按照github提示进行test以及eval,得到的结果中robustness以及EAO与文章的0.234,0.414相差的还是挺6~7个点,你知道是哪些原因导致的吗?
    2.还想问一下 siamrpn_r50_l234_dwxcorr_lt 里的lt是什么意思哦?

BGR

hi Zhang,
for idx, (img, gt_bbox) in enumerate(video):
the 'img' is BGR format?

how about with got10k

Hi Dear
got10k is a benchmark platform for tracking , it contains various dataset readers ,OOP tracker implementations and result collected leaderboard .
however ,it lack of visual Evaluation toolkit

How about if send pull request to got10k?

trackers数量超过10个画图时会报错

作者你好,感谢你的toolkit,极大地方便了我的工作。
在使用过程中发现个小bug:由于draw_utils中COLOR ,LINE_STYLE的个数只有10,所以tracker数量超过10个时,draw_success_precision.py中以下内容:
plt.plot(thresholds, np.mean(value, axis=0), color=COLOR[idx], linestyle=LINE_STYLE[idx], label=label, linewidth=2)
会报索引超出界限,建议修改为
plt.plot(thresholds, np.mean(value, axis=0), color=COLOR[idx % 10], linestyle=LINE_STYLE[divmod(idx, 10)[0]], label=label, linewidth=2)

numba.core.errors.TypingError: Failed in nopython mode pipeline

While I try to run the eval.py following the instructions, it gives me the numba core errors as bellow:

multiprocessing.pool.RemoteTraceback:
"""
Traceback (most recent call last):
File "/home/dlp/anaconda3/envs/pysot-toolkit/lib/python3.7/multiprocessing/pool.py", line 121, in worker
result = (True, func(*args, **kwds))
File "./pysot/evaluation/ope_benchmark.py", line 50, in eval_success
success_ret_[video.name] = success_overlap(gt_traj, tracker_traj, n_frame)
File "/home/dlp/anaconda3/envs/pysot-toolkit/lib/python3.7/site-packages/numba/core/dispatcher.py", line 420, in _compile_for_args
error_rewrite(e, 'typing')
File "/home/dlp/anaconda3/envs/pysot-toolkit/lib/python3.7/site-packages/numba/core/dispatcher.py", line 361, in error_rewrite
raise e.with_traceback(None)
numba.core.errors.TypingError: Failed in nopython mode pipeline (step: nopython frontend)
non-precise type array(pyobject, 0d, C)
During: typing of argument at ./pysot/utils/statistics.py (104)

File "pysot/utils/statistics.py", line 104:
def success_overlap(gt_bb, result_bb, n_frame):
thresholds_overlap = np.arange(0, 1.05, 0.05)
^

"""

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "bin/eval.py", line 40, in
trackers), desc='eval success', total=len(trackers), ncols=100):
File "/home/dlp/.local/lib/python3.7/site-packages/tqdm/_tqdm.py", line 1032, in iter
for obj in iterable:
File "/home/dlp/anaconda3/envs/pysot-toolkit/lib/python3.7/multiprocessing/pool.py", line 748, in next
raise value
numba.core.errors.TypingError: Failed in nopython mode pipeline (step: nopython frontend)
non-precise type array(pyobject, 0d, C)
During: typing of argument at ./pysot/utils/statistics.py (104)

File "pysot/utils/statistics.py", line 104:
def success_overlap(gt_bb, result_bb, n_frame):
thresholds_overlap = np.arange(0, 1.05, 0.05)
^

Any idea why is this happens? Appreciate your help.

numba error when running ‘eval.py'

I met such error when I run 'eval.py',how can I solve it?
Thanks!

python bin/eval.py --dataset_dir /home/zy/dataset/OTB100 --dataset OTB100 --tracker_result_dir /home/zy/code/pysot-toolkit/tracker/ --trackers SiamRPN++ C-COT DaSiamRPN ECO --num 4 --show_video_level --vis
loading OTB100: 100%|█████████████████████████████████████| 100/100 [00:00<00:00, 300.43it/s, Board]
eval success: 0%| | 0/4 [00:00<?, ?it/s]/home/zy/code/pysot-toolkit/tracker/SiamRPN++/basketball.txt
/home/zy/code/pysot-toolkit/tracker/C-COT/basketball.txt
/home/zy/code/pysot-toolkit/tracker/DaSiamRPN/basketball.txt
/home/zy/code/pysot-toolkit/tracker/ECO/basketball.txt
multiprocessing.pool.RemoteTraceback:
"""
Traceback (most recent call last):
File "/home/zy/anaconda3/lib/python3.5/multiprocessing/pool.py", line 119, in worker
result = (True, func(*args, **kwds))
File "./pysot/evaluation/ope_benchmark.py", line 50, in eval_success
success_ret_[video.name] = success_overlap(gt_traj, tracker_traj, n_frame)
File "/home/zy/anaconda3/lib/python3.5/site-packages/numba/dispatcher.py", line 349, in _compile_for_args
error_rewrite(e, 'typing')
File "/home/zy/anaconda3/lib/python3.5/site-packages/numba/dispatcher.py", line 316, in error_rewrite
reraise(type(e), e, None)
File "/home/zy/anaconda3/lib/python3.5/site-packages/numba/six.py", line 658, in reraise
raise value.with_traceback(tb)
numba.errors.TypingError: Failed at nopython (nopython frontend)
Internal error at <numba.typeinfer.ArgConstraint object at 0x7f88e1d2fb38>:
--%<----------------------------------------------------------------------------
Traceback (most recent call last):
File "/home/zy/anaconda3/lib/python3.5/site-packages/numba/errors.py", line 577, in new_error_context
yield
File "/home/zy/anaconda3/lib/python3.5/site-packages/numba/typeinfer.py", line 199, in call
assert ty.is_precise()
AssertionError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/zy/anaconda3/lib/python3.5/site-packages/numba/typeinfer.py", line 142, in propagate
constraint(typeinfer)
File "/home/zy/anaconda3/lib/python3.5/site-packages/numba/typeinfer.py", line 200, in call
typeinfer.add_type(self.dst, ty, loc=self.loc)
File "/home/zy/anaconda3/lib/python3.5/contextlib.py", line 77, in exit
self.gen.throw(type, value, traceback)
File "/home/zy/anaconda3/lib/python3.5/site-packages/numba/errors.py", line 585, in new_error_context
six.reraise(type(newerr), newerr, tb)
File "/home/zy/anaconda3/lib/python3.5/site-packages/numba/six.py", line 659, in reraise
raise value
numba.errors.InternalError:
[1] During: typing of argument at ./pysot/utils/statistics.py (104)
--%<----------------------------------------------------------------------------

File "pysot/utils/statistics.py", line 104:
def success_overlap(gt_bb, result_bb, n_frame):
thresholds_overlap = np.arange(0, 1.05, 0.05)
^

This error may have been caused by the following argument(s):

  • argument 1: Unsupported array dtype: object

This is not usually a problem with Numba itself but instead often caused by
the use of unsupported features or an issue in resolving types.

To see Python/NumPy features supported by the latest release of Numba visit:
http://numba.pydata.org/numba-doc/dev/reference/pysupported.html
and
http://numba.pydata.org/numba-doc/dev/reference/numpysupported.html

For more information about typing errors and how to debug them visit:
http://numba.pydata.org/numba-doc/latest/user/troubleshoot.html#my-code-doesn-t-compile

If you think your code should work with Numba, please report the error message
and traceback, along with a minimal reproducer at:
https://github.com/numba/numba/issues/new

"""

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "bin/eval.py", line 40, in
trackers), desc='eval success', total=len(trackers), ncols=100):
File "/home/zy/anaconda3/lib/python3.5/site-packages/tqdm/_tqdm.py", line 1022, in iter
for obj in iterable:
File "/home/zy/anaconda3/lib/python3.5/multiprocessing/pool.py", line 695, in next
raise value
numba.errors.TypingError: Failed at nopython (nopython frontend)
Internal error at <numba.typeinfer.ArgConstraint object at 0x7f88e1d2fb38>:
--%<----------------------------------------------------------------------------
Traceback (most recent call last):
File "/home/zy/anaconda3/lib/python3.5/site-packages/numba/errors.py", line 577, in new_error_context
yield
File "/home/zy/anaconda3/lib/python3.5/site-packages/numba/typeinfer.py", line 199, in call
assert ty.is_precise()
AssertionError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/zy/anaconda3/lib/python3.5/site-packages/numba/typeinfer.py", line 142, in propagate
constraint(typeinfer)
File "/home/zy/anaconda3/lib/python3.5/site-packages/numba/typeinfer.py", line 200, in call
typeinfer.add_type(self.dst, ty, loc=self.loc)
File "/home/zy/anaconda3/lib/python3.5/contextlib.py", line 77, in exit
self.gen.throw(type, value, traceback)
File "/home/zy/anaconda3/lib/python3.5/site-packages/numba/errors.py", line 585, in new_error_context
six.reraise(type(newerr), newerr, tb)
File "/home/zy/anaconda3/lib/python3.5/site-packages/numba/six.py", line 659, in reraise
raise value
numba.errors.InternalError:
[1] During: typing of argument at ./pysot/utils/statistics.py (104)
--%<----------------------------------------------------------------------------

File "pysot/utils/statistics.py", line 104:
def success_overlap(gt_bb, result_bb, n_frame):
thresholds_overlap = np.arange(0, 1.05, 0.05)
^

This error may have been caused by the following argument(s):

  • argument 1: Unsupported array dtype: object

This is not usually a problem with Numba itself but instead often caused by
the use of unsupported features or an issue in resolving types.

To see Python/NumPy features supported by the latest release of Numba visit:
http://numba.pydata.org/numba-doc/dev/reference/pysupported.html
and
http://numba.pydata.org/numba-doc/dev/reference/numpysupported.html

For more information about typing errors and how to debug them visit:
http://numba.pydata.org/numba-doc/latest/user/troubleshoot.html#my-code-doesn-t-compile

If you think your code should work with Numba, please report the error message
and traceback, along with a minimal reproducer at:
https://github.com/numba/numba/issues/new

绘图出现错误

已经安装了latex,但还是报错了,请问是什么原因造成的呢?

以下是部分错误报告:
Here is the full report generated by latex:
This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017/Debian) (preloaded format=latex)
restricted \write18 enabled.
entering extended mode
(/home/mo/.cache/matplotlib/tex.cache/605ab5cb88e476a4ef8fa458b494e5ef.tex
LaTeX2e <2017-04-15>
Babel <3.18> and hyphenation patterns for 84 language(s) loaded.
(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
(/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo))
(/usr/share/texlive/texmf-dist/tex/latex/type1cm/type1cm.sty)
(/usr/share/texmf/tex/latex/cm-super/type1ec.sty
(/usr/share/texlive/texmf-dist/tex/latex/base/t1cmr.fd))
(/usr/share/texlive/texmf-dist/tex/latex/psnfss/helvet.sty
(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty))
(/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty
(/usr/share/texlive/texmf-dist/tex/latex/base/utf8.def
(/usr/share/texlive/texmf-dist/tex/latex/base/t1enc.dfu)
(/usr/share/texlive/texmf-dist/tex/latex/base/ot1enc.dfu)
(/usr/share/texlive/texmf-dist/tex/latex/base/omsenc.dfu)))
(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty)
(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty)

Package geometry Warning: Over-specification in h'-direction. width' (5058.9pt) is ignored.

Package geometry Warning: Over-specification in v'-direction. height' (5058.9pt) is ignored.

) (/usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty
(/usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.def
(/usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.dfu)))
(./605ab5cb88e476a4ef8fa458b494e5ef.aux)
(/usr/share/texlive/texmf-dist/tex/latex/base/ts1cmr.fd)
geometry driver: auto-detecting
geometry detected driver: dvips
(/usr/share/texlive/texmf-dist/tex/latex/psnfss/ot1phv.fd)
! Missing $ inserted.

$
l.19 {\sffamily [0.475] DCF_
HOG}
No pages of output.
Transcript written on 605ab5cb88e476a4ef8fa458b494e5ef.log.

绘图时报错

ValueError: keyword grid_b is not recognized; valid keywords are ['size', 'width', 'color', 'tickdir', 'pad', 'labelsize', 'labelcolor', 'zorder', 'gridOn', 'tick1On', 'tick2On', 'label1On', 'label2On', 'length', 'direction', 'left', 'bottom', 'right', 'top', 'labelleft', 'labelbottom', 'labelright', 'labeltop', 'labelrotation', 'grid_agg_filter', 'grid_alpha', 'grid_animated', 'grid_antialiased', 'grid_clip_box', 'grid_clip_on', 'grid_clip_path', 'grid_color', 'grid_dash_capstyle', 'grid_dash_joinstyle', 'grid_dashes', 'grid_data', 'grid_drawstyle', 'grid_figure', 'grid_fillstyle', 'grid_gapcolor', 'grid_gid', 'grid_in_layout', 'grid_label', 'grid_linestyle', 'grid_linewidth', 'grid_marker', 'grid_markeredgecolor', 'grid_markeredgewidth', 'grid_markerfacecolor', 'grid_markerfacecoloralt', 'grid_markersize', 'grid_markevery', 'grid_mouseover', 'grid_path_effects', 'grid_picker', 'grid_pickradius', 'grid_rasterized', 'grid_sketch_params', 'grid_snap', 'grid_solid_capstyle', 'grid_solid_joinstyle', 'grid_transform', 'grid_url', 'grid_visible', 'grid_xdata', 'grid_ydata', 'grid_zorder', 'grid_aa', 'grid_c', 'grid_ds', 'grid_ls', 'grid_lw', 'grid_mec', 'grid_mew', 'grid_mfc', 'grid_mfcalt', 'grid_ms']

A small bug in the README.MD

In the part of Download Dataset, the correct name of Google netdisk is Google Drive, instead of Google Driver. Actually, this problem is so small that it doesn't influence us to understand the meaning.

the results is not so correct

"NOTE we not use gmm to generate low, high, peak value" ------in pysot-oolkit/pysot/evaluation/eao_benchmark.py

The result evaluated by the tookit is not so correct, because the values of "low"、“high "、"peak" is fixed, but it should be auto computed by KDE(GMM) , I will appreciate it if the author can update the compute code.

How to evaluate trackers?

In "Get Tracking Results of Your Own Tracker" part, the tracking results are saved in pred_bboxes, what's next? How to save these results, and in what format?
Thanks

how can i draw Precision plots , there is only Success plots that i can draw

i have run these code

python bin/eval.py
--dataset_dir /path/to/dataset/root \ # dataset path
--dataset OTB100 \ # dataset name(OTB100, UAV123, NFS, LaSOT)
--tracker_result_dir /path/to/tracker/dir \ # tracker dir
--trackers SiamRPN++ C-COT DaSiamRPN ECO \ # tracker names
--num 4 \ # evaluation thread
--show_video_level \ # wether to show video results
--vis # draw graph

only 1 picture has showup
Figure_1

any plan to support VOT2019?

Hi there,

Thanks for this great toolkit, any plan to support VOT2019 any time soon.

I currently downloaded the json file from

https://drive.google.com/drive/folders/10cfXjwQQBQeu48XMf2xc_W1LucpistPI

and tweak your code a bit to correct the path issue. However, got following error at the stage of eval eao. Any suggestion is greatly appreciated in advance.

The detailed error message:

Connected to pydev debugger (build 193.6494.30)
loading VOT2019: 100%|██████████████████████████████████| 60/60 [00:00<00:00, 68.92it/s, zebrafish1]
eval ar: 100%|████████████████████████████████████████████████████████| 6/6 [00:29<00:00, 5.99s/it]
eval eao: 0%| | 0/6 [00:00<?, ?it/s]multiprocessing.pool.RemoteTraceback:
"""
Traceback (most recent call last):
File "/condaenv/lib/python/multiprocessing/pool.py", line 119, in worker
result = (True, func(*args, **kwds))
File "/path/to/pysot-toolkit/pysot/evaluation/eao_benchmark.py", line 43, in eval
eao = self._calculate_eao(tracker_name, self.tags)
File "/path/to/pysot-toolkit/pysot/evaluation/eao_benchmark.py", line 153, in _calculate_eao
weight[self.low-1:self.high-1+1] = 1
AttributeError: 'EAOBenchmark' object has no attribute 'low'
"""

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/path/to/pysot-toolkit/bin/eval.py", line 204, in
trackers), desc='eval eao', total=len(trackers), ncols=100):
File "/condaenv/lib/python/site-packages/tqdm/_tqdm.py", line 1005, in iter
for obj in iterable:
File "/condaenv/lib/python/multiprocessing/pool.py", line 735, in next
raise value
AttributeError: 'EAOBenchmark' object has no attribute 'low'

problem about drawing picture

i can get the results like precision and rubost but i can not get the picture , do i need to run draw_eao.py in visualization or i just need to run eva.py and install latex

如何在LaSOT上画属性雷达图

你好,请问如何在LaSOT上画出属性雷达图呢,
我添加了这行代码
draw_eao(success_ret)
之后报错:
raise ValueError("x and y must have same first dimension, but "
ValueError: x and y must have same first dimension, but have shapes (8,) and (281, 21)

draw graph

Thanks for your good work!
Runnig this project ,I can get 'Success' and 'Precision', but doesn't show the graph.
It displays :

/home/pysot-toolkit/pysot/visualization/draw_success_precision.py:9: RuntimeWarning: More than 20 figures have been opened. Figures created through the pyplot interface (matplotlib.pyplot.figure) are retained until explicitly closed and may consume too much memory. (To control this warning, see the rcParam figure.max_open_warning).
fig, ax = plt.subplots()
/home/pysot-toolkit/pysot/visualization/draw_success_precision.py:47: RuntimeWarning: More than 20 figures have been opened. Figures created through the pyplot interface (matplotlib.pyplot.figure) are retained until explicitly closed and may consume too much memory. (To control this warning, see the rcParam figure.max_open_warning).
fig, ax = plt.subplots()

I have installed latex, but it doesn't diaply too.How can I solve the prolem?
Looking forward to your reply!

Import error

python bin/eval.py
from pysot.datasets import VOTDataset, OTBDataset, UAVDataset, LaSOTDataset, NFSDataset, VOTLTDataset
ImportError: cannot import name 'VOTDataset' from 'pysot.datasets' (/home/tttt/pysot/pysot/datasets/init.py) ?
I look for option to change path.

error

sorry to bother,
i got a error when run the code.
''Traceback (most recent call last):
File "eval.py", line 40, in
trackers), desc='eval success', total=len(trackers), ncols=100):
File "/home/yongwu/anaconda3/envs/mx/lib/python3.7/site-packages/tqdm/std.py", line 1081, in iter
for obj in iterable:
File "/home/yongwu/anaconda3/envs/mx/lib/python3.7/multiprocessing/pool.py", line 748, in next
raise value
ValueError: could not convert string to float: '198\t214\t34\t81'
"

question about run eval.py

首先感谢这么棒的工作!
我运行eval.py跑otb100,结果跑出来了,但是success_precision的图没有画出来,报错FileNotFoundError: [WinError 2] 系统找不到指定的文件。pycharm有提示Package requirements 'glob','opencv-python' are not satisfied,不知道是不是这个问题,我应该怎么解决呢?

.txt tracking results

Thanks for your excellent works. I want to know when will you release the .txt tracking result files?

Problem about ‘SyntaxError: invalid syntax’ when running 'eval.py'

I run 'eval.py' and it shows following error:
Traceback (most recent call last):
File "bin/eval.py", line 12, in
from pysot.evaluation import OPEBenchmark, AccuracyRobustnessBenchmark, EAOBenchmark, F1Benchmark
File ".\pysot\evaluation_init_.py", line 1, in
from .ar_benchmark import AccuracyRobustnessBenchmark
File ".\pysot\evaluation\ar_benchmark.py", line 107
row += f'{Fore.RED}{accuracy_str}{Style.RESET_ALL}|'
^
SyntaxError: invalid syntax

could anyone help me? pls. Is it related to python verison?

python setup.py build_ext --inplace error安装过程错误

hello
when I executed this "python setup.py build_ext --inplace",there appeared an error:"error: Error executing cmd /u /c "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x86_amd64 && set"
can u tell me solution
我运行这句python setup.py build_ext --inplace命令时,出现了错误error: Error executing cmd /u /c "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x86_amd64 && set。

How to eval on NEW dataset

Thanks for the author's efforts. Could you please tell me what I should do if I evaluate the algorithm performance on a new dataset similar to UAV123? Can you provide a Json file generated code. thank you!!

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.