开发、评估和基准显著性模型的python库
pysalienc的Python项目详细描述
比重
pysalicent是一个用于显著性建模的python包。它旨在提供一个统一的接口 显著性建模中使用的传统显著性映射和概率显著性 模型。
显著性可以评估最常用的显著性指标,包括AUC、SAUC、NSS、CC 基于图像的kl散度、基于固定的kl散度和显著图模型的sim 概率模型的对数似然性和信息增益。
pysalicity提供了几个重要的数据集:
- MIT1003
- MIT300
- 2000类
- 多伦多
- 科勒
- ISUN
- Salicon(2015年版和2017年版,每个版本都有原始鼠标痕迹和推断的固定点)
- 菲格里姆
- OSIE
- nusef(带有公共图像的部分)
以及一些有影响力的模型:
- 瞄准
- 太阳
- 上下文优先级
- BMS
- gbvs
- gbvsittikoch
- 朱德
- Ittikoch
- RARE2012
- 共面
这些模型使用的是通常是Matlab的原始代码。 因此,使用这些模型需要获得Matlab许可证,尽管其中相当一部分模型 也可以使用八度音阶(见下文)。
安装
您可以通过
pip install pysaliency
快速启动
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_location)
saliency_map = aim.saliency_map(mit_stimuli.stimuli[0])
plt.imshow(saliency_map)
auc = aim.AUC(mit_stimuli, mit_fixations)
如果您已经有一些数据集的显著性映射,可以很容易地将它们导入到pysalicity中:
my_model = pysaliency.SaliencyMapModelFromDirectory(mit_stimuli, '/path/to/my/saliency_maps')
auc = my_model.AUC(mit_stimuli, mit_fixations)
使用倍频程
如果没有安装Matlab,PySaliciency将回落到Octave。
有些模型可能适用于倍频程,例如aim和gbvsittikoch。在debian/ubuntu中需要安装
octave
,octave-image
,octave-statistics
,liboctave-dev
。
这些模型和数据集似乎与倍频程一起工作:
- 模型
- 瞄准
- gbvsittikoch
- 数据集
- 多伦多
- MIT1003
- MIT300
- 萨利肯
依赖关系
judd模型需要一些库才能工作。在ubuntu/debian中,您需要安装以下软件包:
libopencv-core-dev, libopencv-flann-dev, libopencv-imgproc-dev, libopencv-photo-dev, libopencv-video-dev, libopencv-features2d-dev, libopencv-objdetect-dev, libopencv-calib3d-dev, libopencv-ml-dev, opencv2/contrib/contrib.hpp