itti1998代码阅读

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了itti1998代码阅读相关的知识,希望对你有一定的参考价值。

我认为这算法的核心是 用原图减去高斯滤波的结果来表示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代码阅读的主要内容,如果未能解决你的问题,请参考以下文章

discuz X3.1 源代码阅读,记录代码片段

超实用的php代码片段

推荐net开发cad入门阅读代码片段

21个常用代码片段

PHP 代码片段

Python代码阅读(第19篇):合并多个字典