martin-danelljan / eco Goto Github PK
View Code? Open in Web Editor NEWMatlab implementation of the ECO tracker.
License: GNU General Public License v3.0
Matlab implementation of the ECO tracker.
License: GNU General Public License v3.0
Hello,
I meet a problem when I run the ECO-HC. The success plots and precision that I got from OTB-100 and OTB-50 are 3% lower than the results in the paper.I don’t know what’s wrong.
Can you help me!
QiujieDong
Hello!
I'm using your code on a school project. Recently I ran the demo_ECO and found that the target was chosen in advance. So I wonder if there exists a sub-module that generates the file
"groundtruth_rect.txt" so that I can choose an object in the first frame and track it.
Lot of thanks in advance!
Hello ,DM
I have run the experienment on VOT2016 for several hours. And the EAO is 0.3581 on baseline , lower than 0.375 in the paper . I doubt whether the param causes the difference ?
Hello!
Now,I'm using your code to learn tracking. following your methods, when I run the code of install.m, prompting an error ,this :
ECO-master\external_libs\matconvnet\matlab\src\bits\impl/dispatcher.hpp:50:16: error: request for member 'tensor' in 'h',which is of non-class type 'int'
if ((int)h.tensor && !(int)(h.tensor->isNull())) {
what's the matlab version? and other environment details?
hi Martin,
I'm trying to run_experiment on vot2017 using trax, but it replied 'don't get response'. Maybe some slightly detailed mismatches for the trax protocol?
Thanks for your reply in advance.
best,
Lichao
Hi, when i run the demo_ECO_gpu.m, errors will occured. but i do not know how to configure related parameters, can anyone help me?
Hi Martin,
Where should i add the equation of expected average overlap (EAO) into the matlab code?
Thanks
Best regards,
Lylee
I have succeed to run the demo_ECO.m and demo_ECO_HC.m file. However, I have encountered these errors.
Error using vl_nnconv
An input is not a numeric array (or GPU support not compiled).
Error in vl_simplenn (line 300)
res(i+1).x = vl_nnconv(res(i).x, l.weights{1}, l.weights{2}, ...
Error in get_cnn_layers (line 23)
cnn_feat = vl_simplenn(fparams.net, im,[],[],'CuDNN',true, 'Mode', 'test');
Error in extract_features (line 59)
feature_map(ind:ind+num_blocks-1) = feat.getFeature(img_samples{img_sample_ind},
feat.fparams, gparams);
Error in tracker (line 347)
xl = extract_features(im, sample_pos, currentScaleFactor, features, global_fparams,
feature_extract_info);
Error in testing_ECO_gpu (line 129)
results = tracker(params);
Error in demo_ECO_gpu (line 13)
results = testing_ECO_gpu(seq);
Could you help to fix these problems?
Hey when I run the installation script it says:
install
... Build routine for mtimesx
... Checking for PC
building linux version
Building with 'gcc'.
Warning: You are using gcc version '4.8.4'. The version of
gcc is not supported. The version currently supported with
MEX is '6.3.x'. For a list of currently supported compilers
see:
https://www.mathworks.com/support/compilers/current_release.
> In mtimesx_build (line 111)
In install (line 10)
any help would be great!
The error was:
MEX-file '/home/zl/software/ECO/external_libs/mexResize/mexResize.mexa64' is useless:
lack of '/usr/local/lib/libopencv_core.so.2.4->/home/zl/software/ECO/external_libs/mexResize/mexResize.mexa64' symbol
'_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEPKcmm'
lack of '/usr/local/lib/libopencv_core.so.2.4->/home/zl/software/ECO/external_libs/mexResize/mexResize.mexa64' symbol
'_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofEPKcmm'
lack of '/usr/local/lib/libopencv_core.so.2.4->/home/zl/software/ECO/external_libs/mexResize/mexResize.mexa64' symbol
'_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEcm'
lack of '/usr/local/lib/libopencv_core.so.2.4->/home/zl/software/ECO/external_libs/mexResize/mexResize.mexa64' symbol
'_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEPKcmm'
I have already installed opencv2.4.13 in my ubuntu before,Is opencv path conflict?
the code:
im_patch_scale = getScaleSubwindow(im, pos, base_target_sz, scale_factor*scale_factors, scale_window, scale_model_sz, p.hog_scale_cell_size); xsf = fft(im_patch_scale,[],2);
why the 33 scales multiply the scale_window(shape is 1*33) respectively? It means the farther away 'base_target_sz' the maller probability? Especially, scale_window(1) = scale_window(end) = 0, why don't delete these two scales?
fft(X, [], 2), the arg '2' it means fft by row, but we konw each column of 'im_patch_scale' is a scale. so, why don't set the arg '1' to fft by column for a scale image? PLS.
Hello, I want to know whether can I use this code without GPU?
Hello,
thanks for your excellent work.
My question is how to deploy an instance of ECO onto a cloud service like AWS or azure ? Is this even possible with Matlab code ?
Thanks for your help !
Alexander
I would like to know why CCOT and ECO do not use adaptive decontamination strategy as SRDCF_decon do and scale estimation as fDSST do? Isn't SRDCF_decon an effective method to solve the problem of model update? Though scale estimation strategy from fDSST is included in ECO, it is not used in OTB and VOT test. I am confusing.
HI @martin-danelljan ,
Thanks for your impressive work! I just successfully run the demo_ECO_HC in matlab 2014b and it seems perfect. However, I notice that it only tracks one person, so I am curious about the performance in multi-tracking task.
Also, I am interested in using this tracker in other sequences. I am not sure but it seems that your demo is just read the frame and bbox-info in 'sequence' file? So how can I try it by using my own sequences? Quite confuse when I find out the 'tracker.m' but cannot figure out ways to import sequences... I am a newbie in using Matlab ...
Thx!
sh = mtimesx(samplesf{k1}, permute(hf{k1}, [3 4 1 2]), 'speed');
sh(:,1,1+pad_sz{k}(1):end-pad_sz{k}(1), 1+pad_sz{k}(2):end) = ...
sh(:,1,1+pad_sz{k}(1):end-pad_sz{k}(1), 1+pad_sz{k}(2):end) + mtimesx(samplesf{k}, permute(hf{k}, [3 4 1 2]), 'speed');
hello:
Your work is great.Recently,I plan to implement your ECO using C++,but I met some problems about the variable ''sh'',I have a question of what it denotes in the lhs_operation_joint.m,and I wonder why you occur to implement the two steps.
Hello! How do you train the ECO model? Can you tell me some information?
Hi MD,
Thanks for you great work! One thing I need your help, I tested your code on my PC, which is of 24 GB memory, Intel i7-6700 CPU with 3.40GHz x 8, and NVIDIA TITAN X.
When I run ECO_HC file, the speed is only about 20 fps - 30fps, but in the paper said it can run at 60 fps, There are big difference between the two, I want to know why it happened and how should I do to run it at 60 fps.
Sorry for disturbing you and hope you can help me with it.
Thanks!
Hi, Dear DM. Lately I'm changing VGG in to ResNet for better feature representation, but a little bit confused about how will the downsample parameters influence the outcome. I can't find such details in your paper, could you please give me some intuitive explanations? Much Thanks.
Ps: Using the original VGG, layers[3 14], factorized convolution [16 64], but change downsample into [1 1], I get better outcome(now Precision of OPE 70.9 & original 70.7, Success of OPE now 61.4 & original 61.3).
Error using fliplr (line 18)
X must be a 2-D matrix.
Error in cfft2 (line 19)
xf(end,:,:,:) = conj(fliplr(xf(1,:,:,:)));
Error in tracker (line 297)
xlf = cellfun(@cfft2, xlw, 'uniformoutput', false);
Error in testing_ECO (line 133)
results = tracker(params);
Error in demo_ECO (line 13)
results = testing_ECO(seq);
Hi there, I followed every step but still got this error when I type "install' in matlab.
I'm sure I did these two lines
$ git submodule init
$ git submodule update
Does anyone know how to deal with it? It seems to be something wrong with mtimesx
Thanks a lot!
Windos10, Matlab R2016a
... Build routine for mtimesx
... Checking for PC
... Finding path of mtimesx C source code files
... Found file mtimesx.c in C:\Users\32621\Desktop\ECO\external_libs\mtimesx\mtimesx.c
... Found file mtimesx_RealTimesReal.c in C:\Users\32621\Desktop\ECO\external_libs\mtimesx\mtimesx_RealTimesReal.c
错误使用 mtimesx_build (line 166)
A C/C++ compiler has not been selected with mex -setup
出错 install (line 10)
mtimesx_build;
Is there any implementation of ECO in C++ and Opencv?
There is too many differences between Matlab and C++.
Who has been done it?
Hello ,DM
Thank you for your excellent working. I run the experiments on VOT2016 recently but got strange results. I use the VOT_integration/configuration_file/tracker_ECO.m directly and got 0.3579, the baseline EAO, which is the same as that in #1. And when I use VOT2016_HC_settings, I got 0.28 only, which is much worse than 0.32 in your paper. Can different machine cause so different results? Is there any other reason lead to that?
Your work is really great, and I am implementing your ECO using C++, try to speed up as much as possible, but still have a question of why you arrange your feature matrix like that in non-GPU version with lots of rearrangements of the order, is that for speed? GPU version matrix is quite clear.
Hi! I wanted to try a different combination of features from your paper. So I copied .\runfiles\VOT2016_DEEP_settings.m and changed something.
After I commented struct('getFeature',@get_fhog,'fparams',hog_params),...
without changing any other things and run run_test.m, it reported 'Tracker execution interrupted: Unable to establish connection.
' Do you know the reason?
Hi,dalao MD :
I`m sorry to disturb, but I just wondering how to init the tracker for multiple object tracking in one video in your code.
Hi, sorry to disturb you. how about the robusteness when the the person object turn round? @martin-danelljan @goutamgmb @cybertk
Hello Martin, first I wanted to thank you for an amazing job you have made alongside your peers.
As the title said, I'm getting different results compared to what you showed in the ECO paper.
My first tests were done using the ECO version available at the VOT Challenge website, and obtained the following results:
After seeing those results, I decided to check the code in this GitHub, and found there was a minor difference with the VOT version.
In the code downloaded from VOT the "learning_rate" param was set to "0.011", and in this repo it is set to "0.012". The other difference was the presence of a "neglect_higher_frequency" parameter that is not present in the code from this repo.
After applying those changes, I run the evaluation and analysis again and obtained the following results:
EAO Values 2nd try
I still couldn't reproduce the same results. Why do you think this can be happening and end up with a 0.04 EAO difference?
For the test I used the followings
Again, thanks for the hard work.
Best regards, Lucas.
https://i.imgur.com/6sZzPM9.png
i am getting this error when i am trying to run install.m
'cl.exe' is not recognized as an internal or external command,
operable program or batch file.
Error using vl_compilenn>check_clpath (line 599)
Unable to find cl.exe
Error in vl_compilenn (line 417)
cl_path = fileparts(check_clpath()); % check whether cl.exe in path
Error in install (line 33)
vl_compilenn;
Does this project support windows only and can it run under Linux?
hi, I download the vot2016 datasets, place some video in the directory sequences, run the demo, the program doesn't work. and I find the program has the setting: 'seq.format = otb,' I change it to 'vot', it does't work. how can I change the program? thx @cybertk @goutamgmb @martin-danelljan
Hi, when I compare the 'fdsst' code with 'dsst' code, I find that
The value of ys is:
[1 0.642167199144790 0.170056201828270 0.0185709050136830 0.000836315026159023 1.55311269123150e-05 1.18941188747878e-07 3.75627879293239e-10 4.89192285304428e-13 4.89192285304428e-13 3.75627879293239e-10 1.18941188747878e-07 1.55311269123150e-05 0.000836315026159023 0.0185709050136830 0.170056201828270 0.642167199144790]
The largest value is the first value.
However in DSST code, the largest value is in the middle. As to the transformation filter, the largest value is also different in the both codes. Any suggestion would be appreciated.
```
scale_exp = (-floor((nScales-1)/2):ceil((nScales-1)/2)) * nScalesInterp/nScales;
scale_exp_shift = circshift(scale_exp, [0 -floor((nScales-1)/2)]);
interp_scale_exp = -floor((nScalesInterp-1)/2):ceil((nScalesInterp-1)/2);
interp_scale_exp_shift = circshift(interp_scale_exp, [0 -floor((nScalesInterp-1)/2)]);
scaleSizeFactors = scale_step .^ scale_exp;
interpScaleFactors = scale_step .^ interp_scale_exp_shift;
ys = exp(-0.5 * (scale_exp_shift.^2) /scale_sigma^2);
Hi, Martin,
Your work is really, really great, and I want to ask some questions.
In your paper, the success plot of OPE of ECO is 0.700, ECO-HC is 0.650, C-COT is 0.690, Staple is 0.584. But when I test these modles on OTB-2015, I get the result ECO is 0.688, ECO-HC is 0.635, C-COT is 0.671, Staple is 0.582. You can see that my result is a bit lower than yours. Could you give me some suggestions to increase those values?
Thank you very much.
@martin-danelljan the code runs perfect!
Is there any implementation of ECO in python?
If no, how is the workload?
It is hard for me to estimate the workload due to the additional Toolboxes. Thanks!
I have already run compile
in external_libs/mexResize
But when I try to use mexReize, there is an ERROR:
Invalid MEX-file '/mydir/data/ECO-master/external_libs/mexResize/mexResize.mexa64':
'/mydir/data/ECO-master/external_libs/mexResize/mexResize.mexa64' is not a valid shared library..
I tried !ldd mexResize
in matlab, and the output was:
./mexResize.mexa64: /usr/local/Mathworks/R2017b/sys/os/glnxa64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./mexResize.mexa64)
linux-vdso.so.1 => (0x00007ffdba523000)
libopencv_core.so.2.4 => not found
libopencv_imgproc.so.2.4 => not found
I'm not sure what should I do now to run the mexResize, could you help me please?
Hi Martin,
I use testing_ECO_HC.m to test my datasets , but I want combine with detectors to do real-time object detection & tracking . Can you give me some suggestions ?
Thanks in advance
Hi, I ran into the issues below while trying to clone the external libraries for ECO. It appears to be a failure to clone the pdollar and matconvnet libraries. Do you have any ideas to help me figure out what I should do?
C:\Users\nkiruka\Desktop\tracking>cd ECO
C:\Users\nkiruka\Desktop\tracking\ECO>git submodule init
Submodule 'external_libs/matconvnet' ([email protected]:vlfeat/matconvnet.git) registered for path 'external_libs/matconvnet'
Submodule 'external_libs/pdollar_toolbox' ([email protected]:pdollar/toolbox.git) registered for path 'external_libs/pdollar_toolbox'
C:\Users\nkiruka\Desktop\tracking\ECO>git submodule update
Cloning into 'C:/Users/nkiruka/Desktop/tracking/ECO/external_libs/matconvnet'...
Host key verification failed.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
fatal: clone of '[email protected]:vlfeat/matconvnet.git' into submodule path
'C:/Users/nkiruka/Desktop/tracking/ECO/external_libs/matconvnet' failed
Failed to clone 'external_libs/matconvnet'. Retry scheduled
Cloning into 'C:/Users/nkiruka/Desktop/tracking/ECO/external_libs/pdollar_toolbox'...
Host key verification failed.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
fatal: clone of '[email protected]:pdollar/toolbox.git' into submodule path
'C:/Users/nkiruka/Desktop/tracking/ECO/external_libs/pdollar_toolbox' failed
Failed to clone 'external_libs/pdollar_toolbox'. Retry scheduled
Cloning into 'C:/Users/nkiruka/Desktop/tracking/ECO/external_libs/matconvnet'...
Host key verification failed.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
fatal: clone of '[email protected]:vlfeat/matconvnet.git' into submodule path
'C:/Users/nkiruka/Desktop/tracking/ECO/external_libs/matconvnet' failed
Failed to clone 'external_libs/matconvnet' a second time, aborting
Hello,@martin-danelljan
when I come to the git submodule update,it will have a error:
Please make sure you have the correct access rights
and the repository exists.
fatal: clone of '[email protected]:vlfeat/matconvnet.git' into submodule path 'C:/Users/cpp/ECO/e xternal_libs/matconvnet' failed
Failed to clone 'external_libs/matconvnet' a second time, aborting
then I change the url in gitmudule ,and when I git submodule update again,it still have a error:
fatal: not a git repository: C:/Users/cpp/ECO/external_libs/pdollar_toolbox/../../.git/modules/external_libs/pdollar_toolbox
Failed to clone 'external_libs/pdollar_toolbox'. Retry scheduled
BUG: submodule considered for cloning, doesn't need cloning any more?
Submodule path 'external_libs/matconvnet': checked out '6221423ac64067426bbaa2ffd31557523258d1fe'
fatal: not a git repository: C:/Users/cpp/ECO/external_libs/pdollar_toolbox/../../.git/modules/external_libs/pdollar_toolbox
Unable to fetch in submodule path 'external_libs/pdollar_toolbox'
fatal: not a git repository: C:/Users/cpp/ECO/external_libs/pdollar_toolbox/../../.git/modules/external_libs/pdollar_toolbox
fatal: not a git repository: C:/Users/cpp/ECO/external_libs/pdollar_toolbox/../../.git/modules/external_libs/pdollar_toolbox
fatal: not a git repository: C:/Users/cpp/ECO/external_libs/pdollar_toolbox/../../.git/modules/external_libs/pdollar_toolbox
Fetched in submodule path 'external_libs/pdollar_toolbox', but it did not contain 1a3c9869033548abb0c7a3c2aa6a7902c36f39c2. Direct fetching of that commit failed.
I don't know why,can you help me?
Does this function work on results and sequence obtained using any method proposed in the repository?
I think it does not.
Hi ! I am curious about whether ECO can be used for feature point tracking. Could you please give some instructions on how to use it for feature point tracking if possible? Thanks!
Bus error detected at Fri Nov 16 20:06:56 2018
Configuration:
Crash Decoding : Disabled - No sandbox or build area path
Crash Mode : continue (default)
Current Graphics Driver: Unknown hardware
Current Visual : 0x47 (class 4, depth 24)
Default Encoding : UTF-8
Deployed : false
GNU C Library : 2.23 stable
Host Name : fyj-B85-HD3
MATLAB Architecture : glnxa64
MATLAB Entitlement ID: 6257193
MATLAB Root : /usr/local/MATLAB/R2016b
MATLAB Version : 9.1.0.441655 (R2016b)
OpenGL : hardware
Operating System : Linux 4.15.0-39-generic #42~16.04.1-Ubuntu SMP Wed Oct 24 17:09:54 UTC 2018 x86_64
Processor ID : x86 Family 6 Model 60 Stepping 3, GenuineIntel
Virtual Machine : Java 1.7.0_60-b19 with Oracle Corporation Java HotSpot(TM) 64-Bit Server VM mixed mode
Window System : The X.Org Foundation (11906000), display :0
Fault Count: 1
Abnormal termination:
Bus error
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.