图像显著性论文(二)—Saliency Detection: A Spectral Residual Approach
《Saliency Detection: A Spectral Residual Approach》是上交高材生侯晓迪在07年的CVPR上发表的一篇论文,这篇文章提出了一个图像视觉显著性的简单计算模型,这个模型和Irri提出的模型是两个截然不同的模型,Irri模型对于图像视觉显著性主要关注整幅图片突出的部分,通过各种特征的融合提取显著性图,而Hou的这个模型一上来关注的点就不在一张图片里突出的地方,而是背景,观察是否大部分图片的背景在某个空间上都满足什么变化,最后剔除背景,自然就只剩下图片突出的部分了,这篇文章之所以简单,是因为它只需要5个matlab公式就可以得到想要的结果,也没有很复杂的公式变换,都是图像处理基本的变换公式。既然这么有趣,那我们就一起来看一下吧,只需花一点点时间就可以知道它的原理,并且实现它,是不是感觉很神奇,学习起来都有动力了。
1、引言
一般的模型都是将显著性问题转化为目标特殊性质检测的问题,例如一些颜色特征、亮度特征、纹理特征等等,面对不可预测、无数的视觉模式类别,我们需要一个通用的显著性检测系统。如果要提出一个通用的显著性检测系统,那么根据以往的模型,就必须找到目标通用的特征,但是这基本上是不可能的事,每个目标都有自己与众不同的特性。既然这样,那么Hou就干脆把问题转化一下,目标通用特性提取不到,那就找一找背景的通用特性。这就是文章创新的地方,敢于跳出已有理论的框架,从另外一个角度考虑问题,往往会有预料之外的收获。
2、谱残差模型
Barlow提出的有效编码假说指出,感知系统的信息处理过程与外界信号的统计特性密切相关。初级感知系统的作用就是去除输入信号的统计冗余。也就是说,大脑之所以能够对外界环境自适应,是因为复杂的外界刺激存在冗余,而大脑的神经元能够有效地去除这些冗余,从而可以利用较少的资源尽可能有效地表达更多的信息。
从信息论的角度来看,有效编码假说将图像信息H(Image)分为两部分:
H(Image)=H(Innovation)+H(Prior Knowledge)
H(Innovation)表示突出的部分,H(Prior Knowledge)则表示冗余的信息。通过去除图像冗余信息,就可以获得图像与众不同的部分,即显著目标。
2.1 log频谱表示
自然图像的统计特性具有变换不变性:即将图像从原来的空间坐标变换到频率坐标系中,图像在空间中具有的统计特性在频域中仍然保留,这种不变性恰好保证了采用能量谱来刻画自然图像空间相关性的可靠性。
在自然图像的统计特性中尺度不变性是最经典也是研究最广泛的特性,这种特性也被称为1/f法则,即自然图像集合的平均傅里叶谱的幅值A(f)服从下式的分布。
下图反映了自然图像的log-log谱和log谱的区别。有图可见,log-log曲线近似为一条直线,而log曲线基本符合1/f法则。由于单幅图像具有尺度不变性以及log-log谱的数据分布不均衡(低频部分数据跨度大,高频部分数据汇集),所以本文采用log谱L(f)表示图像,L(f)=log(A(f))。(注:不知为什么要选用log或者log-log来表示图像,希望高手解答)。
2.2 从谱残差到显著图的获得
对于一个系统模型而言,考虑输入刺激信号的统计相似性可以极大地减少多余的视觉信息,这是因为相似性意味着冗余。不同的图像数据,其log谱却有着相似的分布趋势,而且曲线满足局部线性条件。因此,在不同的log谱中我们只需要关注其差异部分忽略相似部分。
给定一幅图像I(x)首先计算2维离散傅里叶变换,将其从空间域转到频域,对幅值取对数后得到log谱L(f),由于log曲线满足局部线性条件,所以用局部平均滤波器h(f)对其进行平滑,获得平均频谱:
试验中,n取3,因此谱残差就是log谱和其进行均值滤波后的差,可按下面的式子计算:
R(f)=L(f)-V(f)
因此,总共需要的式子有:
先将图片进行傅里叶变换,计算振幅谱A(f),计算相位谱P(f)(复数x+i*y的相位是arctan(y/x)),L(f)是log振幅谱,h是一个n*n均值滤波的卷积核,作者设n=3。R(f)就是Spectral Residual谱,再将R(f)+i*P(f)求出自然指数exp。注意:由欧拉公式可知,exp(r+i*Θ) = exp(r)*(cos(Θ) + i*sin(Θ)) = exp(r)*cos(Θ) + i*exp(r)*sin(Θ),Θ是相位谱,然后对其傅里叶反变换,再进行一个高斯模糊滤波就得到了所谓的显著性区域。
3、实验对比和结果分析(该方法还没弄得特别明白,同样希望高手可以补充说明)
文章使用一种新的对比方法,计算击中率和误警率,公式如下所示:
其中Ok(x)表示第k个观察者标记的显著目标图,图中1代表目标物体,0代表背景,S(x)为计算出来的显著图,用击中率HR(hit rate)和误警率FAR(false alarm rate)来评价检测效果。
这种评价标准说明一个最优的显著性检测系统其HR值应该在没有被标注为显著目标的区域具有最小值,在被大多数人标为显著目标的区域具有最大值。通过比较可以得到以下结果。
由图可以看出本文方法在计算时间上比Itti方法更快,而且准确度也得到提升。
本文参考资料
1、Saliency Detection: A Spectral Residual Approach原文
2、基于谱残差和多分辨率分析的显著目标检测
3、一种简单的图像显著性计算模型
matlab和OpenCV代码在资料3中有贴出,这里就不再贴出。
图像显著性论文(二)—Saliency Detection: A Spectral Residual Approach相关推荐
- 【论文】Saliency Detection: A Spectral Residual Approach阅读笔记
一.思路: 从信息论的角度看,有效编码可以将图片H中信息分为两部分: $$H(Image) = H(Innovation) + H(Prior Knowledge)$$ Innovation变化,即为 ...
- saliency detection论文(一)—Saliency Detection: A Spectral Residual Approach
目录 本文是对Xiaodi Hou和Liqing Zhang写的<Saliency Detection: A Spectral Residual>的翻译与总结: 目录 Abstract 残 ...
- 图像显著性论文 (一)-----(三)
图像显著性论文(一)-A Model of saliency Based Visual Attention for Rapid Scene Analysis 这篇文章是图像显著性领域最具代表性的文章, ...
- 图像显著性论文(1-3)
转自:http://blog.csdn.net/chenjiazhou12/article/details/39456589 图像显著性论文(一)-A Model of saliency Based ...
- 图像显著性论文(一)—A Model of saliency Based Visual Attention for Rapid Scene Analysis
这篇文章是图像显著性领域最具代表性的文章,是在1998年Itti等人提出来的,到目前为止引用的次数超过了5000,是多么可怕的数字,在它的基础上发展起来的有关图像显著性论文更是数不胜数,论文的提出主要 ...
- 图像显著性论文(四)—Context-Aware Saliency Detection
一直想默默的学习,不去理会太多东西,但是外界的影响还是蛮大的,各种找工作,实习,自己还待在实验室研究自己喜欢的东西,心情有点浮躁,又想赶快学好后可以亮一下剑,又感觉理论的东西不能太多急躁,要学扎实,还 ...
- 图像显著性论文(六)—Saliency Filters Contrast Based Filtering for Salient Region Detection
看了这么多篇显著性CVPR经典的显著性论文,真的是受益匪浅,每看一篇论文都觉得这方法实在是太棒了,都不知道怎么改善了,但是下一篇还是能用其他方法得到更好的效果,整个看论文的过程,也让我对图像显著性的发 ...
- 视觉显著性python_OpenCV中的显著性检测(Saliency Detection)
前言 显著性检测,就是使用图像处理技术和计算机视觉算法来定位图片中最"显著"的区域.显著区域就是指图片中引人注目的区域或比较重要的区域,例如人眼在观看一幅图片时会首先关注的区域.例 ...
- 视觉显著性python_OpenCV—python 图像显著性检测算法—HC/RC/LC/FT
文章目录 一.显著性检测研究现状 二.基于谱残差法的显著性检测 三.基于全局对比度图像显著性检测(LC) 2.1 基于直方图对比度的显著性检测(HC) 2.2 基于区域的对比度方法(region-ba ...
- python视觉识别_视觉显著性python_OpenCV—python 图像显著性检测算法—HC/RC/LC/FT
文章目录 一.显著性检测研究现状 二.基于谱残差法的显著性检测 三.基于全局对比度图像显著性检测(LC) 2.1 基于直方图对比度的显著性检测(HC) 2.2 基于区域的对比度方法(region-ba ...
最新文章
- linux怎么编译并安装busybox,linux下安装busybox
- WPF框架教程 | 从0到1:使用Caliburn.Micro(WPF和MVVM)开发简单的计算器
- 微信小程序6 - 页面之间传参及通知系统封装
- 聊聊如何提升推荐系统的结果多样性
- python外部库是什么_如何使用Portable Python安装外部库?
- 【Java】随机发牌程序
- (52)FPGA面试题-利用函数function实现半字节加法功能(Verilog语言实现)
- 关于提高网站性能的几点建议(二)
- VB:谁终结了我的程序
- Hibernate查询用法总结
- 仿微信打飞机小游戏GamePlane(1)----概述
- 智能语言处理之依存树计算句子结构相似度计算
- 单元测试、黑盒测试、白盒测试
- 应聘时漂亮的回答,一生受益的语言
- song -用函数画彩虹
- 获取京东pt_key(cookie)的方法 -- 文末有自动获取cookie的视频
- hibernate 二级缓存 @cache注解
- 基于STM32单片机的差分升级(增量升级)算法
- 百度全景图片展示-20130907
- 用matlab画饼状图和相量图
热门文章
- 第七届“和苑和平节”促和平对话、文明健康、青年空间
- python操作模拟器多开操作_appium+python自动化60-windows上同时启动多个appium服务,让多个android机器并行运行...
- ZBrush中保存历史记录太多该如何解决
- CSS outline 属性
- 大前端之js导入导出
- 申请德国农工大学计算机案例,德州农工大学世界排名怎么样?
- 3G UMTS与4G LTE核心网(一):移动核心网基础
- 判断正方形和圆形相交
- Unity模拟榴弹运动轨迹
- 如何显示电脑已连接的WiFi的密码