标签:
我认为这算法的核心是 用原图减去高斯滤波的结果来表示surrounds 对 center的抑制;用不同的feature 通道来表示眼睛的不同感受神经;用N(.)强调峰值;
1)使用默认参数
2)计算Gabor滤波器
从0º~180º等间隔选择Gabor角,为param.gabor
计算saliency map的长和宽,和原图像等比例
imgs{1, 2, 3} 三种center scale
如果原图像没有三个通道(rgb)则feature maps不要C和D通道
3)计算D通道的feature map:getchan()
对于每个center scale(默认3个128,64,32)
D通道:
如果原图有rgb三个颜色通道,则把原图从rgb转换到dkl空间,dkl空间的三个通道都加入chan{}中
getchan()计算D通道的feature maps 返回时,chans里面有9个cell,分别是三个scale的dkl分量。
4)计算D通道每个feature map的pixel saliency:pixsal()函数
调用mygausskernel()产生给定surrounds sigma(默认为2和8)的高斯核函数,一维的
这个feature map(局部变量img)和高斯核向量ker做卷积,在和ker的转置做卷积。这就是高斯模糊处理了(好像不是这样的???)
将原图和高斯模糊的结果做差的平方,然后化到0,1之间 (直接减去高斯滤波的结果?文章里是cross scale减啊????)
调用mypeakiness()做文中说的N(.)处理,这里面调用了一个找局部极值的mexLocalMaximaGBVS,是某个开源库里的东西?
最后把不同的surrounds sigma的到的结果加起来,对这个和在化到0,1之间
以128*128为例,d分量和各自saliency分别为:
对于D通道的各个maps,全都resize到mapSize,再用N(.)求得的权值求加权和作为D通道的saliency map
5)直接求三个颜色分量的均值,就是I通道的feature。I通道128*128的feature和saliency如下
I通道的加权和为
6)O通道,0º,128*128的feature和saliency:
O通道加权和:
三个通道求加权和:blurring处理(高斯滤波模糊):加中心偏置(乘以高斯函数):
最后化到0,1区间的到最终saliency map
标签:
原文地址:http://www.cnblogs.com/zengxianyu/p/5218149.html