Skip to content

jizhihang/pysaliency

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pysaliency

Pysaliency is a python package for saliency modelling. It aims at providing a unified interface to both the traditional saliency maps used in saliency modeling as well as probabilistic saliency models. Pysaliency has a range of influential models prepackaged and ready for use, as well as some public available datasets. These models are using the original code which is often matlab. Therefore, a matlab licence is required to make use of these models, although quite some of them work with octave, too (see below).

Installation

Make sure all packages from requirements.txt are installed. Then as usual, the package is installed by

python setup.py install

If you want to use the SALICON dataset you have to install the salicon python api.

Quickstart

import pysaliency

dataset_location = 'datasets'
model_location = 'models'

mit_stimuli, mit_fixations = pysaliency.external_datasets.get_mit1003(location=dataset_location)
aim = pysaliency.AIM(location=model_locations)
saliency_map = aim.saliency_map(mit_stimuli.stimuli[0])

plt.imshow(saliency_map)


auc = aim.AUC(mit_stimuli, mit_fixations)

If you already have saliency maps for some dataset, you can import them into pysaliency easily:

my_model = pysaliency.SaliencyMapModelFromDirectory(mit_stimuli, '/path/to/my/saliency_maps')
auc = my_model.AUC(mit_stimuli, mit_fixations)

Using Octave

pysaliency will fall back to octave if no matlab is installed. Some models might work with octave, e.g. AIM and GBVSIttiKoch. In Debian/Ubuntu you need to install octave, octave-image, octave-statistics, liboctave-dev.

These models and dataset seem to work with octave:

  • models
    • AIM
    • GBVSIttiKoch
  • datasets
    • Toronto
    • MIT1003
    • MIT300
    • SALICON

About

Python Framework for Saliency Modeling and Evaluation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 55.8%
  • Python 43.5%
  • Other 0.7%