Skip to content

vision4robotics/SASR-tracker

Repository files navigation

SASR

This repository is the matlab implementation for "Surrounding-Aware Correlation Filter for UAV Tracking with Selective Spatial Regularization" Video available at YouTube

Publication and Citation

This paper has been published by Signal Processing.

You can find this paper here: https://www.sciencedirect.com/science/article/pii/S0165168419303779.

Please cite this paper as:

@article{FU2020107324,

title = {Surrounding-aware correlation filter for UAV tracking with selective spatial regularization},

author = {Changhong Fu and Weijiang Xiong and Fuling Lin and Yufeng Yue}

journal = {Signal Processing},

volume = {167},

pages = {107324},

year = {2020}

}

Overall Performance

SASR performs favorably against 23 state-of-the-art trackers on challenging UAV tracking sequences from UAV123 and UAVDT.

Figure 1 Performance on 100 challenging sequences from UAV123

Figure 2 Performance TOP-5 trackers from Fig.1 on UAVDT

Installation

  1. Download zipfile of this repository and extract it somewhere or use git:

    $ git clone https://github.com/vision4robotics/SASR-tracker.git

  2. Download matconvnet from the homepage or Github, and Piotr Dollár's toolbox from Webpage or GitHub . Then, extract them at .\SASR_release_v1.0\external_libs

  3. Start Matlab and navigate to this repository, run install.m to compile Piotr Dollár's toolbox and matconvnet. This step may take some time and you may see a lot of warnings. The script will automatically download imagenet-vgg-m-2048.mat used in SASR, it may take some time depending on your Internet. You can manually download it from here. If you have it already, just copy it to .\SASR_release_v1.0\feature_extraction\networks.

  4. Run SASR_single_seq.m, you will be able to chose wakeboard5 with GUI.

Possible Issues

The code is tested on Matlab R2017b with CUDA 8.0.

Matconvnet is also the latest when this work is completed.

If your matlab version is R2018a or later, you may have to make a few modifications in \SASR_release_v1.0\external_libs\matconvnet\matlab\vl_compilenn.m.

First, modify line 359 into

flags.mexlink = {'-lmwblas'};

Then, modify line 620 into

args = horzcat({'-outdir', mex_dir}, ...
flags.base, flags.mexlink, ...
'-R2018a',... % your matlab version here
{['LDFLAGS=$LDFLAGS ' strjoin(flags.mexlink_ldflags)]}, ...
{['LDOPTIMFLAGS=$LDOPTIMFLAGS ' strjoin(flags.mexlink_ldoptimflags)]}, ...
{['LINKLIBS=' strjoin(flags.mexlink_linklibs) ' $LINKLIBS']}, ...
objs) ;

If you want to use cuDNN toolkit, you may have to install cuDNN and modify \SASR_release_v1.0\install.m

Modify line 30 into

        vl_compilenn('enableGpu',true,...
            'cudaRoot','C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0',...% path to your cuda
            'cudaMethod','nvcc',...
            'enableCudnn',true,...    % if you don't want to use cudnn, set it to 'false'
            'cudnnRoot','C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0'); % path to your cudnn

If you are using visual studio 2017 or newer version, matlab may not be able to find cl.exe, in this case, you need to manually set the path to it.

Modify line 659 into

cl_path = "YOUR PATH TO cl.exe";

Acknowledgement

We thank for Dr. Li Feng and his team for their valuable help on our work.

We have borrowed some codes from the STRCF tracker

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published