一种简单的图像显著性计算模型

一种简单的图像显著性计算模型
《Saliency Detection: A Spectral Residual Approach》是上交高材生侯晓迪在07年的CVPR上发表的一篇论文。这篇文章提出了一个图像视觉显著性的简单计算模型。有关算法原理可以参见此篇论文以及作者主页:http://www.klab.caltech.edu/~xhou/projects/spectralResidual/spectralresidual.html

这篇文章的核心思想如下:
从信息理论角度:信息可分为冗余部分和变化部分。人们的视觉对变化部分更敏感。视觉系统的一个基本原则就是抑制对频繁出现的特征的响应,同时对非常规的特征保持敏感。那么就将图像分为如下两部分:
H(image)=H(Innovation)+H(PriorKnowledge),
而作者对图像的log频谱发下了如下规律(log是自然对数):
E{A(f)}1/f
大量图像的log频谱的平均值是和频率呈现正比关系的。

这里写图片描述

如图可知大量图像的log频谱和频率的曲线形状,在log-log scale上,几乎是一条直线。文中的log频谱就是对图像傅里叶变换后的振幅谱取自然对数。然后作者又提出了既然大量图像的log振幅谱都差不多趋近一条直线,那么一幅图像的log振幅谱减去平均log振幅谱不就是显著性部分了吗?这就是作者提出的:Spectral Residual理论。
这里写图片描述
作者如下的定义Spectral Residual:

R(f)=L(f)A(f)
其中L(f)就是图像f的log振幅谱,A(f)是平均log振幅谱,作者就是将L(f)进行3*3的均值滤波得到的A(f)。R(f)就是图像f的Spectral Residual。计算过程如下表示:
A(f)=R(F[I(x)])
P(f)=Q(F[I(x)])
L(f)=log(A(f))
R(f)=L(f)hn(f)L(f)
S(x)=g(x)F1[exp(R(f)+P(f))]2
其中输入图像为I(x),对其傅里叶变换,并且求出振幅谱为 A(f) P(f) 是其相位谱(复数 x+iy 的相位是 arctan(y/x) )。 L(f) log 振幅谱。 h 是一个nn均值滤波的卷积核,作者设 n=3 R(f) 就是Spectral Residual谱。再将 R(f)+iP(f) 求出自然指数 exp 。注意:由欧拉公式可知, exp(r+iΘ)=exp(r)(cos(Θ)+isin(Θ))=exp(r)cos(Θ)+iexp(r)sin(Θ ), Θ 是相位谱。其实Θ的正余弦也可由傅里叶谱的实部和虚部求出: sin(Θ)=ImageIm/Amplitude;cos(Θ)=ImageRe/Amplitude 。然后对其,傅里叶反变换,在进行一个高斯模糊滤波就得到了所谓的显著性区域。效果如下:

这里写图片描述

clear
clc
close all;
%% Read image from file
inImg = im2double(rgb2gray(imread('2.jpg')));
%%inImg = imresize(inImg, 64/size(inImg, 2));

%% Spectral Residual
myFFT = fft2(inImg);
myLogAmplitude = log(abs(myFFT));
myPhase = angle(myFFT);
mySpectralResidual = myLogAmplitude - imfilter(myLogAmplitude, fspecial('average', 3), 'replicate');
saliencyMap = abs(ifft2(exp(mySpectralResidual + i*myPhase))).^2;

%% After Effect
saliencyMap = mat2gray(imfilter(saliencyMap, fspecial('gaussian', [10, 10], 5)));
figure(1)
imshow(inImg);
figure(2)
imshow(saliencyMap);
inImg(find(saliencyMap<0.1))=0;
figure(3)
imshow(inImg);、

效果
这里写图片描述

这里写图片描述
这里写图片描述
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值