码迷,mamicode.com
首页 > 其他好文 > 详细

itti1998代码阅读

时间:2016-02-25 21:07:45      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:

我认为这算法的核心是 用原图减去高斯滤波的结果来表示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

 技术分享

 

itti1998代码阅读

标签:

原文地址:http://www.cnblogs.com/zengxianyu/p/5218149.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!