一、思路:

从信息论的角度看,有效编码可以将图片H中信息分为两部分:

$$H(Image) = H(Innovation) + H(Prior Knowledge)$$

Innovation变化,即为显著部分;Prior Knowledge先验知识,即为背景部分,冗余部分。

相似就代表着冗余。对一个系统而言要最小化视觉的冗余信息,它必须知道输入图片的统计相似性(即所有图片平均特性)。

那么如何计算统计相似性呢?前人发现一个规律:大量的自然图像(在某个频率下)的平均振幅与该频率成反比,公式表征如下:

$$E\{A(f)\} \propto 1/f$$

f是频率,A(f)频率f对应的幅度(amplitude),E代表平均振幅(ensemble)

加上log,则在log-log 图谱中,自然图像的集合的平均振幅谱大致形状是线性的(统计特性)。

但由于一些原因(在个体图像中不可能发现尺度不变性,没看懂),作者没有使用log-log表征,而是使用log谱表征一幅图像,即$$L(f) = log ( A(f) )$$

当使用log谱表征时,发现如下规律:

所有图像的log谱的趋势是一样的,且大量图像的平均振幅是平滑的(统计特性),于是作者认为吸引我们注意力的部分是那些跳出平滑的部分(尖峰部分),则显著部分可以通过一个图像的幅度减去平均振幅,得到谱残差R(f)(尖峰部分),公式表示如下:

$$R(f) = L(f) - A(f)$$

二,模型特点

1)以往的大多数显著性检测算法,都是研究目标物体的属性,而该论文中提出的算法是探索背景的特性;

2)通过表征背景,找到背景,去掉背景,剩下的就是前景目标;

3) 模型与图像中的目标特征、种类和其他先验知识无关,算法适用性强;

4)算法简单,运行快。

三,模型算法:

对每个图像的对数谱(log spectrum)进行分析,得到谱残差。然后,然后将谱残差变换到空域,得到显著性图

四,代码解释:

clear
clc%% Read image from file
inImg = im2double(rgb2gray(imread('Spectral_Residual.png')));
%%inImg = imresize(inImg, 64/size(inImg, 2));%% Spectral Residual
myFFT = fft2(inImg); % A(f),一个图像的振幅,主要保存图像低频部分的信息
myPhase = angle(myFFT);  % 图像对应的相位图,主要保存图像高频部分的信息% 对低频部分处理,即处理背景部分,使背景部分的振幅接近0,去掉背景,剩下的就是前景目标
myLogAmplitude = log(abs(myFFT)); % L(f) = log(A(f)),图像振幅的log谱,log可以使振幅值区间变小
averageAmplitude = imfilter(myLogAmplitude, fspecial('average', 3), 'replicate');
mySpectralResidual = myLogAmplitude - averageAmplitude;%% to spatial domain
% 用残差振幅(保存的低频信号,且值接近0),替代图像的原振幅(保存的低频信号,且值较大),再结合相位图,反傅里叶变换到空域中。
saliencyMap = abs(ifft2(exp(mySpectralResidual + 1i*myPhase))).^2;%% After Effect
saliencyMap = mat2gray(imfilter(saliencyMap, fspecial('gaussian', [10, 10], 2.5)));
imshow(saliencyMap);

【论文】Saliency Detection: A Spectral Residual Approach阅读笔记相关推荐

  1. saliency detection论文(一)—Saliency Detection: A Spectral Residual Approach

    目录 本文是对Xiaodi Hou和Liqing Zhang写的<Saliency Detection: A Spectral Residual>的翻译与总结: 目录 Abstract 残 ...

  2. [论文笔记] Towards Real-World Prohibited Item Detection: A Large-Scale X-ray Benchmark 阅读笔记

    Towards Real-World Prohibited Item Detection: A Large-Scale X-ray Benchmark 阅读笔记 Towards Real-World ...

  3. T-PAMI-2021论文Semi-Supervised Multi-View Deep Discriminant Representation Learning阅读笔记

    提示:文 0.论文信息 题目:Semi-Supervised Multi-View Deep Discriminant Representation Learning 期刊: IEEE Transac ...

  4. 红外弱小目标检测之“Infrared Patch-Image Model for Small Target Detection in a Single Image”阅读笔记

    Infrared Patch-Image Model for Small Target Detection in a Single Image 原文:Infrared Small Target Det ...

  5. BlumNet: Graph Component Detection for Object Skeleton Extraction阅读笔记

    BlumNet:用于对象骨架提取的图组件检测 摘要: 本文提出一个简单有效的框架:BlumNet,用于提取自然图像和 binary shapes 中的对象骨架.BlumNet有三方面优势:(1)图分解 ...

  6. Scalable Object Detection using Deep Neural Networks 阅读笔记

    Scalable Object Detection using Deep Neural Networks 基于深度神经网络的可伸缩目标检测 14年的文章 是一个用于检测的显著性启发式神经网络模型, 分 ...

  7. saliency detection(显著度检测)用于Background Subtraction(背景扣除)和Segmenting objects(分割物体)

    文章目录 背景知识 1. 介绍 1.1 什么是显著性物体检测 1.2 显著物体检测的发展历史 Segmenting salient objects from images and videos 摘要 ...

  8. 视觉显著性 matlab,转载图像/视觉显著性检测技术发展情况梳理(Saliency Detection、Visual Attention)...

    图像/视觉显著性检测技术发展情况梳理(Saliency Detection.Visual Attention) Sason@CSDN 转载:http://blog.csdn.net/anshan198 ...

  9. Object Region Mining with Adversarial Erasing: A Simple Classification to Semantic Segmentation阅读笔记

    Object Region Mining with Adversarial Erasing: A Simple Classification to Semantic Segmentation Appr ...

最新文章

  1. 《大道至简》读后感(伪代码)
  2. 从命令行使用 wget 调试网页错误
  3. python 搜索pdf文件中的文字_使用python查找搜索字符串在pdf文档中位于哪一页上...
  4. 一个网站项目的开始,定位有多重要?
  5. c语言每瓶啤酒2元答案,【原创源码】C语言 一个喝啤酒小游戏的编程实现(菜鸟级)...
  6. 深入理解javascript原型和闭包(14)——从【自由变量】到【作用域链】
  7. RequestParam注解
  8. aosp 为什么某些目录没有编译_编译Android AOSP代码
  9. 是否可以限制蓝牙传输距离_技术文章—关于蓝牙传输范围的常见误解
  10. restful解决什么问题_当您陷入RESTful,WordPress和一个困难的地方时,如何解决CMS问题...
  11. 热度3年猛增20倍,Serverless云开发的技术架构全解析
  12. 《零基础》MySQL 教程(一)
  13. [转]Javascript 调用MSAgent(Desc:网页中出现魔法巫师)
  14. windows记事本 3
  15. 戴尔服务器怎么win7系统安装系统,戴尔 DELLVostro3400能不能安装windows7系统_戴尔 DELLVostro3400怎么安装win7系统-win7之家...
  16. payoneer企业账号授权代表验证函怎么写
  17. Python实验报告
  18. [SpringBoot](一)基本概念
  19. 最长无重复子数组算法-java实现
  20. 令牌桶生成令牌_使用令牌的经典ASP登录系统

热门文章

  1. OpenCV-Python:图像的几何变换(平移、旋转、仿射变换等)
  2. Kotlin入门:var和val的区别
  3. 关于合格设计师的30条冷知识
  4. 串口通信协议(基于面试),与及树莓派与电脑之间串口通信
  5. Xilinx 黑金ZYNQ开发板AX7020,利用VIVADO进行FPGA程序烧录
  6. C# List排序和数字处理(三位加一撇)
  7. LATEX使用 图文混排,文字环绕插图
  8. RoI Pooling 和 RoI Align
  9. PS照片美化处理实例教程
  10. 纯OC实现iOS DLNA投屏功能了解一下