Hierarchical Cellular Automata for Visual Saliency
Introduction
HCA is a temporally evolving model to intelligently detect salient objects. This package contains the source codes to reproduce the experimental results of HCA. The source code is mainly written in MATLAB.
Publication
Our paper "Hierarchical Cellular Automata for Visual Saliency" has been accepted for publication in Iternational Journal of Computer Vision (IJCV), 2018. [Online-Version]
License
This code is released under the MIT License (refer to the LICENSE file for details).
Contents
- Requirements: software
- Requirements: hardware
- Basic installation
- Demo
- Pre-computed saliency maps
- Visual comparison with state-of-the-art methods
Requirements: software
-
Requirements for
MatConvNet
(see: MatConvNet installation instruction). -
MATLAB.
-
[optional] CUDA (we use CPU to compute FCN features, if you want to use GPU, please compile
MatConvNet
with CUDA enabled). -
Supported OS: the source code was tested on 64-bit Windows OS, it used SLIC to pre-process the images into super-pixels. Here we used the mex file in Windows OS, so the HCA code may not worked on Linux OS for now.
Requirements: hardware
If you compile MatConvNet
with CUDA supported, a GPU with at least 3G of memory suffices.
Installation (sufficient for the demo)
- Clone the HCA repository
git clone https://github.com/ArcherFMY/HCA_saliency_codes.git
-
cd to the root directory of HCA (we will call the directory
HCA_ROOT
), use MATLAB to runcompile_matconvnet.m
. -
Download the pre-trained FCN-32s models from here. Then put it under
$HCA_ROOT/matconvnet-1.0-beta19/Data/
folder with namepascal-fcn32s-dag.mat
.
note
Here we just compiled the MatConvNet
with CPU. Users could compile with GPU supported yourself.
Demo
To run the demo, simply run $HCA_ROOT/runme.m
with MATLAB. Saliency maps will be saved in $HCA_ROOT/saliencmaps/
folder.
Precomputed saliency maps
We provided pre-computed saliency maps for convenience.
Included Datasets: ECSSD
, HKU-IS
, DUT-OMRON
, PASCAL-S
and MSRA5000
.
Visualization
FAQ
Q: Error when running extract_fcn_im_features
at line(23)
A: We modified the matconvnet-1.0-beta19/matlab/+dagnn/@DagNN/eval.m
to allow users to extract features from every layers (conv, pool, relu). So if you are using your own matconvnet
, please modify the corresponding .m
file as we did.