Multiple AcuQitation of perceptiBle regiOns for priOr Learning
⭐️ If you like MAQBOOL, give it a star on GitHub! ⭐️
Documentation is available at project website. Please follow the installation guide below.
Test
- Firstly make sure, you have followed installation guide and downloaded datasets and pre-trained models.
- Set correct paths in
localpaths.setup
, it is similar to the NetVLADlocalpaths.m
.datasets_directory
(Main directory of all the datasets).paths.m_directory
(Pre-computed MAQBOOL data).
Before running the main.m
, change configuration in the run_config.m
file. For instance, if you want to use model trained on pittsburgh datasets and test on Tokyo datasets at feature dimension 512. So the configuration will be
net_dataset = 'pitts30k';
% use tokyoTM
if you want to use the tokyo based pre-trained model.
test_on = 'tokyo247';
% use 'pitts30k' if you want to test on pitts30k.
f_dimension = 512;
% use '4096', if you want to test on 4k feature dimension.
Please download pre-trained models and datasets (Pittsburgh, Tokyo247 and ToykoTM) from NetVLAD project website.
We have used VGG-16 + NetVLAD + whitening
related models only as it has top NetVLAD performance.
Install Support (Ubuntu 20.04, Matlab 2019b, Cuda Driver 10.1)
git clone https://github.com/UsmanMaqbool/Maqbool.git
cd maqbool/3rd-party-support
clone these repositiories NetVLAD, Edge Boxes, Edges Boxes Toolbox and Matconvnet into the 3rd-party-support
. Please follow the installation and configuration below.
git clone https://github.com/Relja/netvlad.git
cd netvlad && git clone https://github.com/Relja/relja_matlab.git
Download the databases file (tokyo247.mat) and set the correct dsetSpecDir in localPaths.m and also add paths.
cd maqbool/3rd-party-support
git clone https://github.com/zchrissirhcz/edges
Not official edges, but fixed error for matlab > 2017 Run in MATLAB
cd edges
run linux_startup.m
cd maqbool/3rd-party-support
git clone https://github.com/zchrissirhcz/toolbox.git
cd toolbox
run linux_startup.m
cd maqbool/3rd-party-support
git clone https://github.com/vlfeat/matconvnet.git
Ful Instuctions to install matconvnet
For centos OS, please use previous version wget https://github.com/vlfeat/matconvnet/archive/v1.0-beta18.zip
Run in MATLAB
cd 3rd-party-support/matconvnet
addpath matlab
vl_compilenn('enableGpu', true)
check cuda toolkit according to your matlab version ref
Possible Errors:
-
Also you need to disable the
C++11
flag in.matlab/R2017a/mex_C++_glnxa64.xml
toC++0x
-
if there is NVCC error, try installing Cudatoolkit
sudo apt install nvidia-cuda-toolkit
-
if there is GCC version issue, try switching using update-alternatives. You can follow the tutorial below
Downgrade to GCC 7/8
Useful guide to install specific version of gcc
GCC 7 is available on linux it can be installed as follow :
sudo apt install g++-7 gcc7 g++-8 gcc8
To switch between gcc7 or gcc8
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 1 --slave /usr/bin/g++ g++ /usr/bin/g++-8 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 2 --slave /usr/bin/g++ g++ /usr/bin/g++-9 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 1 --slave /usr/bin/g++ g++ /usr/bin/g++-7 sudo update-alternatives --config gcc # sample output: Selection | Path | Priority | Status ----------|------------------|-----------|----------- * 0 | /usr/bin/gcc-9 | 2 | auto mode 1 | /usr/bin/gcc-6 | 2 | manual mode 2 | /usr/bin/gcc-7 | 1 | manual mode Press <enter> to keep the current choice[*], or type selection number: 2