davheld / goturn Goto Github PK
View Code? Open in Web Editor NEWSource code for paper: Learning to Track at 100 FPS with Deep Regression Networks, Held, et al. ECCV 2016
Home Page: http://davheld.github.io/GOTURN/GOTURN.html
License: MIT License
Source code for paper: Learning to Track at 100 FPS with Deep Regression Networks, Held, et al. ECCV 2016
Home Page: http://davheld.github.io/GOTURN/GOTURN.html
License: MIT License
Hello,
I've just read your paper and your network sounds very attractive in terms of inference speed.
I was wondering whether you benchmarked your solution with other architecture for your convolutional layers such as Squeezenet, Res-Net or GoogleNet ? Why did you chose to use CaffeNet as feature extractor ?
Thanks in advance for your answer.
Can your code run on this platform? Or do you want to run this code on other software?I am a novice in this area, so there are many places do not understand, please enlighten. Can you help me ?
while doing the setup I am getting below error when i try to make , please help
51%] Building CXX object CMakeFiles/GOTURN.dir/src/native/vot.cpp.o
/home/deep/GOTURN/src/native/vot.cpp: In member function ‘vot_region* VOT::vot_initialize()’:
/home/deep/GOTURN/src/native/vot.cpp:237:43: warning: ignoring return value of ‘__ssize_t getline(char**, size_t*, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
getline(&linebuf, &linesiz, inputfile);
^
[ 54%] Linking CXX static library libGOTURN.a
[ 54%] Built target GOTURN
[ 57%] Building CXX object CMakeFiles/test_tracker_alov.dir/src/test/test_tracker_alov.cpp.o
[ 60%] Linking CXX executable test_tracker_alov
Hi, when I make GOTURN, I meet this error:
Scanning dependencies of target GOTURN
[ 3%] Building CXX object CMakeFiles/GOTURN.dir/src/helper/bounding_box.cpp.o
[ 7%] Building CXX object CMakeFiles/GOTURN.dir/src/train/example_generator.cpp.o
[ 11%] Building CXX object CMakeFiles/GOTURN.dir/src/helper/helper.cpp.o
[ 15%] Building CXX object CMakeFiles/GOTURN.dir/src/helper/high_res_timer.cpp.o
[ 19%] Building CXX object CMakeFiles/GOTURN.dir/src/helper/image_proc.cpp.o
[ 23%] Building CXX object CMakeFiles/GOTURN.dir/src/loader/loader_alov.cpp.o
[ 26%] Building CXX object CMakeFiles/GOTURN.dir/src/loader/loader_imagenet_det.cpp.o
[ 30%] Building CXX object CMakeFiles/GOTURN.dir/src/loader/loader_vot.cpp.o
[ 34%] Building CXX object CMakeFiles/GOTURN.dir/src/network/regressor.cpp.o
[ 38%] Building CXX object CMakeFiles/GOTURN.dir/src/network/regressor_base.cpp.o
[ 42%] Building CXX object CMakeFiles/GOTURN.dir/src/network/regressor_train.cpp.o
[ 46%] Building CXX object CMakeFiles/GOTURN.dir/src/network/regressor_train_base.cpp.o
[ 50%] Building CXX object CMakeFiles/GOTURN.dir/src/tracker/tracker.cpp.o
[ 53%] Building CXX object CMakeFiles/GOTURN.dir/src/tracker/tracker_manager.cpp.o
[ 57%] Building CXX object CMakeFiles/GOTURN.dir/src/train/tracker_trainer.cpp.o
[ 61%] Building CXX object CMakeFiles/GOTURN.dir/src/loader/video.cpp.o
[ 65%] Building CXX object CMakeFiles/GOTURN.dir/src/loader/video_loader.cpp.o
[ 69%] Building CXX object CMakeFiles/GOTURN.dir/src/native/vot.cpp.o
/home/zmd/GOTURN-master/src/native/vot.cpp: In member function ‘vot_region* VOT::vot_initialize()’:
/home/zmd/GOTURN-master/src/native/vot.cpp:237:43: warning: ignoring return value of ‘__ssize_t getline(char*, size_t, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
getline(&linebuf, &linesiz, inputfile);
^
Linking CXX static library libGOTURN.a
[ 69%] Built target GOTURN
Scanning dependencies of target save_videos_vot
[ 73%] Building CXX object CMakeFiles/save_videos_vot.dir/src/test/save_videos_vot.cpp.o
Linking CXX executable save_videos_vot
/usr/bin/ld: libGOTURN.a(regressor.cpp.o): undefined reference to symbol '_ZN6google4base21CheckOpMessageBuilderD1Ev'
//usr/lib/x86_64-linux-gnu/libglog.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [save_videos_vot] Error 1
make[1]: *** [CMakeFiles/save_videos_vot.dir/all] Error 2
make: *** [all] Error 2
Can anyone help me?
But I found some information in your paper:
"On an Nvidia GeForce GTX Titan X GPU with cuDNN acceleration, our tracker runs at 6.05 ms per frame (not including the 1 ms to load each image in OpenCV), or 165 fps. On a GTX 680 GPU, our tracker runs at an average of 9.98 ms per frame, or 100 fps. If only a CPU is available, the tracker runs at 2.7 fps."
Look at the bold text, does that mean GOTURN can be run with CPU only?If that's true, what should I do?
Thank you!
Is It possibile to get tracking confidence value due to signal target lost?
Thank you.
Can it be used to run on other datasets like UCF-101 and how to?
Thank you.
I'm using the bash scripts/save_videos_test.sh to generate the annotations text file and it works fine. But, I want to generate only the file containing the output annotations without generating the video that visualizes the output of GOTURN, because the video generation takes too much time for the purposes of what I'm trying to do. None of the shell scripts in the GOTURN directory accomplish this specifically. How can I create a shell script to do this?
Hello, I integrate GOTURN into VOT2014 repo according to the introduction .
Also, I get the report "report_vot2014_tracker_challenge", the raw results about GOTURN ,challenge.html:
baseline:Expected overlap :0.2489
region_noise:Expected overlap:0.2410
A little lower than KCF.
But in AR ranking: GOTURN almost ranks top 1 ~~~
I doubt that maybe the vot-toolkit version's difference counts it.
I download the code from Then I mkdir build .cd build. cmake .. ererything goes well.
But when i make i meet with this error as following :
[ 35%] Built target vidl
[ 35%] Built target vidl_gui
[ 35%] Built target vidl_gui_test_include
[ 35%] Built target vidl_test_template_include
[ 35%] Built target vidl_test_include
[ 35%] Built target vidl_test_all
[ 35%] Linking CXX executable ../../../bin/vidl_transcode_video
../../../lib/libvidl.a(vidl_ffmpeg_istream.cxx.o): In function vidl_ffmpeg_istream::open(std::string const&)': vidl_ffmpeg_istream.cxx:(.text+0x3d5): undefined reference to
av_frame_alloc'
../../../lib/libvidl.a(vidl_ffmpeg_ostream.cxx.o): In function vidl_ffmpeg_ostream::close()': vidl_ffmpeg_ostream.cxx:(.text+0x124f): undefined reference to
av_packet_unref'
../../../lib/libvidl.a(vidl_ffmpeg_ostream.cxx.o): In function vidl_ffmpeg_ostream::write_frame(vil_smart_ptr<vidl_frame> const&)': vidl_ffmpeg_ostream.cxx:(.text+0x16f5): undefined reference to
av_frame_alloc'
vidl_ffmpeg_ostream.cxx:(.text+0x1b3b): undefined reference to `av_packet_unref'
collect2: error: ld returned 1 exit status
make[2]: *** [bin/vidl_transcode_video] Error 1
make[1]: *** [core/vidl/examples/CMakeFiles/vidl_transcode_video.dir/all] Error 2
make: *** [all] Error 2
I don't know what's wrong I have got .What i need to do? @puface
hi, I am compiling the code but the errors are like this:
[ 55%] Building CXX object CMakeFiles/test_tracker_alov.dir/src/test/test_tracker_alov.cpp.o
[ 58%] Linking CXX executable test_tracker_alov
libGOTURN.a(loader_alov.cpp.o):在函数‘LoaderAlov::LoaderAlov(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)’中:
loader_alov.cpp:(.text+0x833):对‘find_subfolders(boost::filesystem::path const&, std::vector<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::__cxx11::basic_string<char, std::char_traits, std::allocator > > >)’未定义的引用
loader_alov.cpp:(.text+0xecc):对‘find_matching_files(boost::filesystem::path const&, boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits > >, std::vector<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::__cxx11::basic_string<char, std::char_traits, std::allocator > > >)’未定义的引用
loader_alov.cpp:(.text+0x1574):对‘find_matching_files(boost::filesystem::path const&, boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits > >, std::vector<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::__cxx11::basic_string<char, std::char_traits, std::allocator > > >)’未定义的引用
libGOTURN.a(tracker_manager.cpp.o):在函数‘TrackerTesterAlov::VideoInit(Video const&, unsigned long)’中:
tracker_manager.cpp:(.text+0xfb4):对‘num2strabi:cxx11’未定义的引用
libGOTURN.a(bounding_box.cpp.o):在函数‘BoundingBox::Shift(cv::Mat const&, double, double, double, double, bool, BoundingBox) const’中:
bounding_box.cpp:(.text+0x79b):对‘sample_rand_uniform()’未定义的引用
bounding_box.cpp:(.text+0x839):对‘sample_rand_uniform()’未定义的引用
bounding_box.cpp:(.text+0x8d7):对‘sample_rand_uniform()’未定义的引用
bounding_box.cpp:(.text+0x9ad):对‘sample_rand_uniform()’未定义的引用
bounding_box.cpp:(.text+0xae1):对‘sample_exp_two_sided(double)’未定义的引用
bounding_box.cpp:(.text+0xb7f):对‘sample_exp_two_sided(double)’未定义的引用
bounding_box.cpp:(.text+0xc0d):对‘sample_exp_two_sided(double)’未定义的引用
bounding_box.cpp:(.text+0xcdd):对‘sample_exp_two_sided(double)’未定义的引用
collect2: error: ld returned 1 exit status
CMakeFiles/test_tracker_alov.dir/build.make:129: recipe for target 'test_tracker_alov' failed
make[2]: *** [test_tracker_alov] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/test_tracker_alov.dir/all' failed
make[1]: *** [CMakeFiles/test_tracker_alov.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
I set the path of opencv in CMakeList.txt as following:
#find_package( OpenCV REQUIRED )
set(OpenCV_LIBS "/cluster/6.2/opencv/2.4.10/lib/")
set(OpenCV_INCLUDE_DIRS "/cluster/6.2/opencv/2.4.10/include")
set(OpenCV_VERSION "2.4.10")
message("Open CV version is ${OpenCV_VERSION}")
After cmake .., I have the following warnings:
WARNING: Target "save_videos_vot" requests linking to directory "/cluster/6.2/opencv/2.4.10/lib/". Targets may link only to libraries. CMake is dropping the item.
WARNING: Target "save_videos_vot" requests linking to directory "/MyCaffe/caffe-version-rc3/build/lib". Targets may link only to libraries. CMake is dropping the item.
WARNING: Target "show_alov" requests linking to directory "/cluster/6.2/opencv/2.4.10/lib/". Targets may link only to libraries. CMake is dropping the item.
WARNING: Target "show_alov" requests linking to directory "/MyCaffe/caffe-version-rc3/build/lib". Targets may link only to libraries. CMake is dropping the item.
WARNING: Target "show_alov" requests linking to directory "/cluster/6.2/opencv/2.4.10/lib/". Targets may link only to libraries. CMake is dropping the item.
WARNING: Target "show_alov" requests linking to directory "/MyCaffe/caffe-version-rc3/build/lib". Targets may link only to libraries. CMake is dropping the item.
WARNING: Target "show_imagenet" requests linking to directory "/cluster/6.2/opencv/2.4.10/lib/". Targets may link only to libraries. CMake is dropping the item.
WARNING: Target "show_imagenet" requests linking to directory "/MyCaffe/caffe-version-rc3/build/lib". Targets may
WARNING: Target "train" requests linking to directory "/cluster/6.2/opencv/2.4.10/lib/". Targets may link only to libraries. CMake is dropping the item.
-- Generating done
-- Build files have been written to: /MyCaffe/GOTURN/build
Then I try to make it:
[@gpu build]$ make
It gives me the following errors:
Scanning dependencies of target GOTURN
[ 3%] Building CXX object CMakeFiles/GOTURN.dir/src/helper/bounding_box.cpp.o
In file included from /MyCaffe/GOTURN/src/helper/bounding_box.cpp:1:0:
/MyCaffe/GOTURN/src/helper/bounding_box.h:6:23: fatal error: opencv/cv.h: No such file or directory
compilation terminated.
make[2]: *** [CMakeFiles/GOTURN.dir/src/helper/bounding_box.cpp.o] Error 1
Hi,
When I try to make it I get this error:
morry@morry-W2600CR:~/Documents/poseHG/GOTURN/build$ make -j10
Scanning dependencies of target GOTURN
[ 7%] [ 7%] [ 11%] [ 15%] [ 19%] Building CXX object CMakeFiles/GOTURN.dir/src/helper/bounding_box.cpp.o
Building CXX object CMakeFiles/GOTURN.dir/src/train/example_generator.cpp.o
Building CXX object CMakeFiles/GOTURN.dir/src/helper/helper.cpp.o
[ 23%] [ 26%] Building CXX object CMakeFiles/GOTURN.dir/src/helper/high_res_timer.cpp.o
[ 30%] Building CXX object CMakeFiles/GOTURN.dir/src/helper/image_proc.cpp.o
Building CXX object CMakeFiles/GOTURN.dir/src/loader/loader_alov.cpp.o
Building CXX object CMakeFiles/GOTURN.dir/src/loader/loader_vot.cpp.o
[ 34%] Building CXX object CMakeFiles/GOTURN.dir/src/loader/loader_imagenet_det.cpp.o
[ 38%] Building CXX object CMakeFiles/GOTURN.dir/src/network/regressor.cpp.o
Building CXX object CMakeFiles/GOTURN.dir/src/network/regressor_base.cpp.o
[ 42%] Building CXX object CMakeFiles/GOTURN.dir/src/network/regressor_train.cpp.o
[ 46%] Building CXX object CMakeFiles/GOTURN.dir/src/network/regressor_train_base.cpp.o
[ 50%] Building CXX object CMakeFiles/GOTURN.dir/src/tracker/tracker.cpp.o
[ 53%] Building CXX object CMakeFiles/GOTURN.dir/src/tracker/tracker_manager.cpp.o
[ 57%] Building CXX object CMakeFiles/GOTURN.dir/src/train/tracker_trainer.cpp.o
[ 61%] Building CXX object CMakeFiles/GOTURN.dir/src/loader/video.cpp.o
[ 65%] Building CXX object CMakeFiles/GOTURN.dir/src/loader/video_loader.cpp.o
[ 69%] Building CXX object CMakeFiles/GOTURN.dir/src/native/vot.cpp.o
/home/morry/Documents/poseHG/GOTURN/src/native/vot.cpp: In member function ‘vot_region* VOT::vot_initialize()’:
/home/morry/Documents/poseHG/GOTURN/src/native/vot.cpp:201:54: error: could not convert ‘0l’ from ‘long int’ to ‘trax_logging’
trax_handle = trax_server_setup(config, NULL);
^
/home/morry/Documents/poseHG/GOTURN/src/native/vot.cpp:237:43: warning: ignoring return value of ‘__ssize_t getline(char*, size_t_, FILE_)’, declared with attribute warn_unused_result [-Wunused-result]
getline(&linebuf, &linesiz, inputfile);
^
make[2]: *_* [CMakeFiles/GOTURN.dir/src/native/vot.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/GOTURN.dir/all] Error 2
make: *** [all] Error 2
Do you have any idea what causes this?
Hi David,
I'm a masters student wanting to work on deep networks for tracking and I'm trying to implement your paper for Julia language. However I didn't understand some parts:
1- For ALOV300+, we have the ground-truth bounding box for the frames 1, 6, 11 and so on. We need 2 annotated frames so suppose we are using frames 6 and 11. What I assumed was, for a single forward run in the network, we crop twice the area around the GT box corresponding to frame 6, in frames 6 and 7 (which construct the inputs of the network), make a prediction for bounding box location in frame 7 (output), using this prediction like a new ground-truth, repeat for frames 7 and 8, all the way to frame 11 and calculate the loss between prediction and ground-truth boxes for frame 11. Is this correct?
2- How about data augmentation? On which frames do we take random crops? What about the ground-truth labels for these random crops? This is the part where I'm really lost. Same for imagenet dataset.
3- How does the network deal with varying size input (because ground-truth bounding box sizes aren't constant), since the fully connected layer sizes are fixed?
Appreciate your help.
Serkan
Hi,
Sorry if this is already answered somewhere else, but I couldn't find GOTURN in the the prebuilt OpenCV iOS framework, whereas cv::TrackerGOTURN
is mentioned here in the docs:
http://docs.opencv.org/3.3.0/df/ddd/tracker_8hpp.html
Here is an example of the official download link:
https://sourceforge.net/projects/opencvlibrary/files/opencv-ios/3.3.0/opencv-3.3.0-ios-framework.zip/download
It'd be great if someone could tell me the reason. Thanks a lot in advance!
when i build in ubuntu, the problem is shot as "GOTURN-master/src/native/vot.h:50:22: fatal error: trax.h: No such file or directory", how to fix it?
hi all
i got an error when i run make on my jetson tk1 (ubuntu 14.04 32 bit and opencv 3.1.0 )
[ 68%] Built target GOTURN
Linking CXX executable save_videos_vot
libGOTURN.a(loader_vot.cpp.o): In function LoaderVOT::LoaderVOT(std::string const&)': loader_vot.cpp:(.text+0x74): undefined reference to
find_subfolders(boost::filesystem::path const&, std::vector<std::string, std::allocatorstd::string >)'
loader_vot.cpp:(.text+0x164): undefined reference to find_matching_files(boost::filesystem::path const&, boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >, std::vector<std::string, std::allocator<std::string> >*)' libGOTURN.a(tracker_manager.cpp.o): In function
TrackerTesterAlov::VideoInit(Video const&, unsigned int)':
tracker_manager.cpp:(.text+0x65c): undefined reference to num2str(int)' libGOTURN.a(bounding_box.cpp.o): In function
BoundingBox::Shift(cv::Mat const&, double, double, double, double, bool, BoundingBox) const':
bounding_box.cpp:(.text+0x5e2): undefined reference to sample_exp_two_sided(double)' bounding_box.cpp:(.text+0x65a): undefined reference to
sample_rand_uniform()'
bounding_box.cpp:(.text+0x6c6): undefined reference to sample_rand_uniform()' bounding_box.cpp:(.text+0x76e): undefined reference to
sample_rand_uniform()'
bounding_box.cpp:(.text+0x81a): undefined reference to sample_exp_two_sided(double)' bounding_box.cpp:(.text+0x89a): undefined reference to
sample_exp_two_sided(double)'
bounding_box.cpp:(.text+0x950): undefined reference to sample_rand_uniform()' bounding_box.cpp:(.text+0x9b6): undefined reference to
sample_exp_two_sided(double)'
collect2: error: ld returned 1 exit status
make[2]: *** [save_videos_vot] Error 1
make[1]: *** [CMakeFiles/save_videos_vot.dir/all] Error 2
make: *** [all] Error 2
Currently caffe allows users of Ubuntu of 17.04 to download the pre-compiled caffe. I'm confused regarding your CMakeList.txt
which you need us to insert the CAFFE_LIBRARIES
and CAFFE_INCLUDE_DIRS
.
The problem is I can't found any file regarding caffe except the binary of caffe itself (which is located in /usr/bin/caffe
), thus when I try to insert the CAFFE_LIBRARIES
and CAFFE_INCLUDE
as your hint says it always said not found because all the machine have is the binary of caffe
.
Can anyone help me with this problem?
Hi, thank you for your sharing~
And when i try to follow this install instruction to setup this package,i encounter this error:
[ 25%] Building CXX object CMakeFiles/GOTURN.dir/src/network/regressor.cpp.o
In file included from /home/siahooar/caffe/include/caffe/caffe.hpp:7:0,
from /home/siahooar/GOTURN/src/network/regressor.h:4,
from /home/siahooar/GOTURN/src/network/regressor.cpp:1:
/home/siahooar/caffe/include/caffe/blob.hpp:9:34: fatal error: caffe/proto/caffe.pb.h: No such file or directory
compilation terminated.
CMakeFiles/GOTURN.dir/build.make:254: recipe for target 'CMakeFiles/GOTURN.dir/src/network/regressor.cpp.o' failed
make[2]: *** [CMakeFiles/GOTURN.dir/src/network/regressor.cpp.o] Error 1
CMakeFiles/Makefile2:215: recipe for target 'CMakeFiles/GOTURN.dir/all' failed
make[1]: *** [CMakeFiles/GOTURN.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
Can you give me some advise to solve it?
hi,I am compiling the code,I rebuild my caffe using Cmake ,but now I am having these linking problems, I download from https://github.com/votchallenge/trax/ get trax to build trax libraries and linking it,but it did not help,Do I have to rebuild trax,linking to project? Has anyone succeeded building it ? Want help ,Thank you !
errors are like followings:
[ 80%] Built target show_imagenet [ 84%] Built target show_tracker_alov [ 88%] Built target show_tracker_vot [ 92%] Built target test_tracker_alov Linking CXX executable test_tracker_vot libGOTURN.a(vot.cpp.o): In function
VOT::vot_initialize()':
vot.cpp:(.text+0x25c): undefined reference to trax_server_setup' vot.cpp:(.text+0x274): undefined reference to
trax_server_wait'
vot.cpp:(.text+0x27e): undefined reference to trax_image_get_path' vot.cpp:(.text+0x29a): undefined reference to
trax_server_reply'
vot.cpp:(.text+0x2de): undefined reference to trax_region_get_rectangle' vot.cpp:(.text+0x2e8): undefined reference to
trax_region_release'
vot.cpp:(.text+0x2f2): undefined reference to trax_image_release' libGOTURN.a(vot.cpp.o): In function
VOT::vot_frame()':
vot.cpp:(.text+0x64d): undefined reference to trax_server_wait' vot.cpp:(.text+0x660): undefined reference to
trax_image_get_path'
vot.cpp:(.text+0x675): undefined reference to trax_image_release' libGOTURN.a(vot.cpp.o): In function
VOT::vot_report(vot_region_)':
vot.cpp:(.text+0x6e6): undefined reference to trax_region_create_rectangle' vot.cpp:(.text+0x6f9): undefined reference to
trax_server_reply'
vot.cpp:(.text+0x703): undefined reference to trax_region_release' libGOTURN.a(vot.cpp.o): In function
VOT::vot_quit()':
vot.cpp:(.text+0x4cc): undefined reference to trax_cleanup' collect2: error: ld returned 1 exit status CMakeFiles/test_tracker_vot.dir/build.make:175: recipe for target 'test_tracker_vot' failed make[2]: *_\* [test_tracker_vot] Error 1 CMakeFiles/Makefile2:305: recipe for target 'CMakeFiles/test_tracker_vot.dir/all' failed make[1]: **\* [CMakeFiles/test_tracker_vot.dir/all] Error 2 Makefile:75: recipe for target 'all' failed make: **\* [all] Error 2
Hello, I was wondering whether the code can be changed to track multiple objects per frame? I tried to modify the code to let it accept multiple objects positions input (for each line in the groundtruth.txt
I wrote 8, 16 or 24... numbers to input multi-positions), but then I found the network input is just an image cropped by bounding-box(it is just my understanding...), and I can not find out how to change it.... Do you have any ideas about that? @davheld
@davheld
Great work!
And I 'm wandering if there is a multiple object tracking version?
As in the outdoor, the situation becomes complicated, e.g many vehicles, pedestrians, trunks ...
i didn't see any specific idea about it in the paper, which i care much.
Download caffe, configure openblas and CPU_ONLY.
Make, make test and make runtest all went ok.
ze@ze-FI:~/Development/GOTURN$ cd build/
ze@ze-FI:~/Development/GOTURN/build$ cmake ..
-- No build type selected, default to Release
-- Boost version: 1.54.0
-- Found the following Boost libraries:
-- system
-- filesystem
-- regex
Open CV version is 2.4.8
lib_dirs:/home/ze/Development/caffe/distribute/lib/libcaffe.so
Caffe_DIR is ~/Development/caffe/distribute
-- Configuring done
-- Generating done
-- Build files have been written to: /home/ze/Development/GOTURN/build
ze@ze-FI:~/Development/GOTURN/build$ make
Scanning dependencies of target GOTURN
[ 3%] Building CXX object CMakeFiles/GOTURN.dir/src/helper/bounding_box.cpp.o
[ 7%] Building CXX object CMakeFiles/GOTURN.dir/src/train/example_generator.cpp.o
[ 11%] Building CXX object CMakeFiles/GOTURN.dir/src/helper/helper.cpp.o
[ 15%] Building CXX object CMakeFiles/GOTURN.dir/src/helper/high_res_timer.cpp.o
[ 19%] Building CXX object CMakeFiles/GOTURN.dir/src/helper/image_proc.cpp.o
[ 23%] Building CXX object CMakeFiles/GOTURN.dir/src/loader/loader_alov.cpp.o
[ 26%] Building CXX object CMakeFiles/GOTURN.dir/src/loader/loader_imagenet_det.cpp.o
[ 30%] Building CXX object CMakeFiles/GOTURN.dir/src/loader/loader_vot.cpp.o
[ 34%] Building CXX object CMakeFiles/GOTURN.dir/src/network/regressor.cpp.o
In file included from /home/ze/Development/caffe/distribute/include/caffe/common.hpp:19:0,
from /home/ze/Development/caffe/distribute/include/caffe/blob.hpp:8,
from /home/ze/Development/caffe/distribute/include/caffe/caffe.hpp:7,
from /home/ze/Development/GOTURN/src/network/regressor.h:4,
from /home/ze/Development/GOTURN/src/network/regressor.cpp:1:
/home/ze/Development/caffe/distribute/include/caffe/util/device_alternate.hpp:34:23: fatal error: cublas_v2.h: No such file or directory
#include <cublas_v2.h>
^
compilation terminated.
make[2]: *** [CMakeFiles/GOTURN.dir/src/network/regressor.cpp.o] Error 1
make[1]: *** [CMakeFiles/GOTURN.dir/all] Error 2
make: *** [all] Error 2
ze@ze-FI:~/Development/GOTURN/build$
When I am trying to evaluate my tracker using the ALOV300++ dataset in http://imagelab.ing.unimore.it/dsm/index.php I couldnt proceed further because in the Trackers tab, I am unable to choose any category as after selecting the ALOV300++ no category is been loaded.
Is there any work around or any other site for doing the same?
I'm trying to run test visualization script, as in readme:
bash scripts/show_tracker_test.sh vot_folder
but I get the following error:
build/show_tracker_vot: error while loading shared libraries: libopencv_core.so.3.1: cannot open shared object file: No such file or directory
The thing is that I don't have OpenCV 3.1 installed, I have OpenCV 3.2 (and the cmake script detected it correctly when building).
Basically, in my path/to/opencv/build/lib
I have the file libopencv_core.so.3.2
, however, I'm not sure how to change the GOTURN configs to make it use the right file instead of trying to get libopencv_core.so.3.1
How can I make it use the correct version of OpenCV files?
@davheld The paper gets the statistics across two consecutive frames in training set. But the training set is from ALOV300++, where I find every five frame is signed with gound-truth bounding box. So
(1) if there is no consecutive frames being signed with gound-truth bounding box, how could you get the statistics?
(2)When the original frame or image is shifted, is the ground-truth bounding box shifted at the same time?
thanks
Hi David, any chance there are some python bindings to this code?
According to your paper, the top fifth layer was initiated on tracker_init.caffemodel
. How do you create tracker_init.caffemodel
? Do you copy weigh from CaffeNet
(which is 230M) to both the two sub-net to create a 460M tracker_init.caffemodel
? how can you do that?
I am trying to modify the source code to get frames from a webcam to do real-time tracking of an object. I am stuck as I am getting confused in the code. Can anyone help me with it? I tried by writing a python script to take image sequences and save it to a folder which I passed to the script. I inserted a delay in between and ran the two: capturing images and running the tracking script but it doesn't take all the images in the directory, only the frames captured before initializing tracker are used.
Hi,
due to many reasons we might stop training in half way.
I know that caffe has an option to resume training from a snapshot.
Is it possible to add this feature to GOTURN as well?
This is kind of a suggestion rather than issue.
I am sure it is not only me who want this.
I am now learning this method to do other tasks and I find it not ideal, so that I modify the parameters in 'helper/bouding_box.cpp' including 'kContextFactor ' and 'kScaleFactor ' to let the tracker search in a smaller region.
But I found the output not ideal, all the bouding boxes turn out to be a small red dot finally.
My question is: is it exist a way to modify the parameters of 'sizeof search region' in order to let the tracker do other task(here I use it to track the dead object in background in order to calculate background optical flow so that I want to modify parameters to let it search in a smaller region)without re-train the tracker?
Thank you
Is there anyone, who managed to run it on Windows? I spent a lot of time just with installing caffe, but unsuccessfuly. And if you did it, have you had any issues with it? Thanks
What is the meaning of edge effects
mentioned in file image_proc.cpp
?
edge effects
related to whether remains the edge pixels as ROI ?image_proc.cpp
code
output_image
initialized as an all black image with output_height * output_width
cropped_image
, which is smaller than output_image
, insert into the all black image.*pad_image
, has a black edge with 1 pixel?Why should we consider the edge effect?
could you please provide VOT2014 raw results of you tracker?
Are there any detailed instructions on how to train custom dataset (apart from Imagenet and ALOV dataset) ?
And are there any python implementation to train the tracker?
Hello,
I was trying to test the tracker so I run below command :
./build/test_tracker_vot nets/models/pretrained_model/tracker.prototxt nets/models/pretrained_model/caffenet_train_iter_500000.caffemodel 1
And received following error:
Setting up Caffe in GPU mode with ID: 1
Setting phase to test
Network image size: 227, 227
Initial region file (region.txt) not available. Stopping.
I tried to follow VOT integration tutorial.
However, it seems you already included toolkit files in src/native dir.
Could you help me out or point some direction?
Do I need to take some action to integrate tracker with test_tracker_vot.cpp ?
Thanks!
hi, Is there OTB results about GOTURN method? if not, how can I get it? thank you
Hi,when i try to make this package,i encountered this error:
[ 77%] Linking CXX executable train
/usr/bin/ld: cannot find -lopencv_dep_cudart
collect2: error: ld returned 1 exit status
CMakeFiles/train.dir/build.make:130: recipe for target 'train' failed
make[2]: *** [train] Error 1
CMakeFiles/Makefile2:104: recipe for target 'CMakeFiles/train.dir/all' failed
make[1]: *** [CMakeFiles/train.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
Can anyone give me some advice about this?Thx~
Dear davheld:
I have a question about how do you get the pretrain model, can you give some detials? Question as follows:
(1) Which dataset ( such:ILSVRC2014_DET or ILSVRC2014_CLS) to pretrain the convolutional layer?
(2) If I only use the dataset of ALOV300+ and 2014_DET to train the net get regression value , or don't do the step of pretrain convolution layer, will decresed the tracking performance?
(3) When you train the siamese net, the two network branch will shared the layer params? or has independence parameters?
Looking forward to your reply, best wish!
Hello David!
Thank you for uploading your code! I have been able to use your code to implement a simple tracker on my webcam. It works well! However, I have issues when I put the same code into a thread; the code slows down 10 times! Does the track method of the tracker object use threading? Do you have any clue what could be responsible for this, or how I could rectify this?
Thank you,
Sincerely,
Yevgeniy
My Caffe in installed on local file. Can you share a CMakeLists file to demonstrate how to link Caffe with your project,
Thank you.
There is an extra line of "endif()" causing cmake error in line 19 of the CMakeLists.txt file.
Hi,i just follow the instruction to install this package,but i encounter this error,can someone give me some advise~
--
OpenCV ARCH:
-- OpenCV RUNTIME:
-- OpenCV STATIC: OFF
CMake Warning at /home/siahooar/opencv-2.4.13/cmake/OpenCVConfig.cmake:163 (message):
Found OpenCV Windows Pack but it has not binaries compatible with your
configuration.
You should manually point CMake variable OpenCV_DIR to your build of OpenCV
library.
Call Stack (most recent call first):
CMakeLists.txt:14 (find_package)
CMake Error at CMakeLists.txt:14 (find_package):
Found package configuration file:
/home/siahooar/opencv-2.4.13/cmake/OpenCVConfig.cmake
but it set OpenCV_FOUND to FALSE so package "OpenCV" is considered to be
NOT FOUND.
Thank you in advance~
When I use 'bash scripts/show_tracker_test.sh' to test the algorithm, it only displays the bounding box of groudtruth . No cmake or make error occurs before. Has anyone meet the same situation?
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.