Graph-Based Visual Saliency (MATLAB source code)
http://www.klab.caltech.edu/~harel/share/gbvs.php
by Jonathan Harel
jonharel@gmail.com
California Institute of Technology
================================================================================
This is an installation and help file for the saliency map (MATLAB) code here.
What you can do with this code:
1) Compute a "Graph-Based Visual Saliency" map for an image or image sequence (video)
(as described in J. Harel, C. Koch, and P. Perona. "Graph-Based Visual Saliency",
NIPS 2006
http://www.klab.caltech.edu/~harel/pubs/gbvs_nips.pdf)
2) OR -- also -- compute the standard Itti, Koch, Niebur (PAMI 1998)
saliency map.
.. or combinations thereof (see below).
================================================================================
Step-by-step start-up procedure:
(1) Add gbvs to your path:
Change into the directory containing this file, and enter at the matlab prompt:
>> gbvs_install
If you are on a shared machine, you may get an error message such as:
Warning: Unable to save path to file '/opt/matlab/toolbox/local/pathdef.m'
In savepath at 162
In gbvs_install at 5
In that case, comment out the savepath (i.e., 'savepath' => '% savepath')
command in gbvs_install.m, and add this line to your startup.m file:
run ???/gbvs_install
where "???" is replaced by the main gbvs/ directory, which contains the
gbvs_install function
(2) Now you are ready to compute GBVS maps:
Demonstrations:
>> simplest_demonstration
see demo/demonstration.m for more complicated demo or run:
[Note: if you get an error, see point (3) below]
>> demonstration
Basic Usage Example:
>> out = gbvs( 'samplepics/1.jpg' );
You can also compute an Itti/Koch map as follows:
>> out = ittikochmap( 'samplepics/1.jpg' );
Or, to call GBVS simplified to some extent (e.g. no Orientation channel) so that it runs faster, use
>> out = gbvs_fast( 'samplepics/1.jpg');
Now, out.master_map contains your saliency map, and out.master_map_resized is
this saliency map interpolated (bicubic) to the resolution of the original
image.
For video (not static images):
You need to pass into gbvs() previous frame information, which is returned
on output at every call to gbvs().
See demo/flicker_motion_demo.m
Here is the heart of it:
motinfo = []; % previous frame information, initialized to empty
for i = 1 : N
[out{i} motinfo] = gbvs( fname{i}, param , motinfo );
end
(3) If you are not on 32 or 64 bit Windows, or on Intel-based Mac, or 32 or 64 bit Linux,
and calling simplest_demonstration results in an error, you may have to compile
a few .cc source code files into binary "mex" format.
You can do that as follows. From the gbvs/ directory, in matlab, run:
>> gbvs_compile
If this works properly, there should be no output at all, and you're done!
Then go back to step (2), i.e. try running the demonstration.
Error note:
If this is your first time compiling mex files, you may have to run:
>> mex -setup
and follow the instructions (typically, enter a number, to select a co-
mpiler. then you can run "gbvs_compile"; if it doesn't work, run
"mex -setup" again to select a different compiler, run "gbvs_compile"
again, etc.)
================================================================================
Helpful Notes:
(A) inputs of gbvs():
* the first argument to gbvs() can be an image name or image array
* there is an optional, second, parameters argument
(B) outputs of gbvs():
* all put into a single structure with various descriptive fields.
* the GBVS map: master_map
(interpolated to the resolution of the input image: master_map_resized)
* master saliency map for each channel: feat_maps (and their names,
map_types)
* all intermediate maps to create the previous two (intermed_maps). see
gbvs.m for details
(C) the parameter argument:
* initialized by makeGBVSParams.m -- read that for details
Some sparse notes on fields of the parameter argument:
the two 'sigma' parameters control the extent to which information can
travel across the image:
(1) sigma_frac_act
sigma parameter in activation step of GBVS (fraction of image width)
(2) sigma_frac_norm
sigma parameter in normalizaiton step of GBVS (fraction of image width)
cyclic_type default is 1. use 2 to have edge weights computed with
non-cyclic distance rules. this gives rise to a center bias.
tol tolerance parameter. governs how accurately the princi-
pal eigenvector calculation is performed. change it to
higher values to make things run faster.
levels the resolution of the feature maps used to compute the
final master map, relative to the original image size
multilevels determines whether to instantiate one-level or multi-
level lattice of graph nodes for each feature map
useIttiKochInsteadOfGBVS -- set this to 1 to compute Itti/Koch map
(D) Notes on feature maps:
* are produced by util/getFeatureMaps.m
* by default, color, intensity, orientation maps are computed.
which channels are used is controlled by the parameters argument. in part-
icular, you can choose which of these is included by editing the
params.channels string (see makeGBVSParams.m). you can set
their relative weighting also in the parameters.
If you want to introduce a new feature channel, put a new function into
util/featureChannels/ . Make sure to edit the channels string appropria-
tely. Follow pattern of other channels for proper implementation.
(E) If you want to compare saliency maps to fixations (e.g., inferred from
scanpaths recorded by an eye-tracker), use:
>> score = rocScoreSaliencyVsFixations(salmap,X,Y,origimgsize)
This outputs ROC Area-Under-Curve Score between a saliency map and fixat-
ions.
salmap : a saliency map
X : vector of X locations of fixations in original image
Y : vector of Y locations of fixations in original image
origimgsize : size of original image (should have same aspect ratio as
saliency map)
================================================================================
saltoolbox/ directory -- adapted from:
Dirk Walther,
http://www.saliencytoolbox.net/
Thanks to Alex G. Huth for help with making heatmap_overlay.m readable.
================================================================================
Revision History
first authored 8/31/2006
Revised 4/25/2008
Revised 6/5/2008
Revised 6/26/2008 added Itti/Koch algorithm
Revised 8/25/2008 added Flicker/Motion channels
Revised 11/3/2008 added myconv2
Revised 2/19/2010 added initcache to reduce initialization times
Revised 3/18/2010 added attenuateBordersGBVS to O_orientation call
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
GBVS matlab代码 (206个子文件)
flicker_motion_demo.asv 1KB
demonstration1.asv 671B
demonstration2.asv 597B
1.bmp 444KB
1.bmp 444KB
mySubsample.cc 5KB
mexAssignWeights.cc 2KB
myContrast.cc 2KB
mexLocalMaximaGBVS.cc 2KB
mexSumOverScales.cc 1KB
mexArrangeLinear.cc 1KB
mexVectorToMap.cc 938B
mexColumnNormalize.cc 645B
simplest_demonstration.html 3KB
5.jpg 107KB
5.jpg 107KB
5.jpg 107KB
2.jpg 99KB
2.jpg 99KB
2.jpg 99KB
1.jpg 86KB
1.jpg 86KB
1.jpg 86KB
1.jpg 86KB
1.jpg 86KB
1adepth0.jpg 80KB
4.jpg 78KB
4.jpg 78KB
4.jpg 78KB
4adepth0.jpg 70KB
5adepth0.jpg 69KB
1adepth1.jpg 69KB
4adepth1.jpg 64KB
1adepth0.jpg 63KB
1adepth0.jpg 63KB
1depth0.jpg 61KB
5adepth1.jpg 61KB
5depth0.jpg 59KB
1depth1.jpg 53KB
3depth0.jpg 51KB
1adepth1.jpg 48KB
1adepth1.jpg 48KB
5depth1.jpg 48KB
4depth0.jpg 48KB
4depth1.jpg 45KB
3adepth0.jpg 43KB
085.jpg 34KB
3depth1.jpg 34KB
3.jpg 33KB
3.jpg 33KB
3.jpg 33KB
088.jpg 33KB
086.jpg 33KB
3adepth1.jpg 33KB
087.jpg 31KB
086adepth0.jpg 27KB
088adepth0.jpg 27KB
085adepth0.jpg 27KB
2adepth0.jpg 27KB
2depth0.jpg 27KB
087adepth0.jpg 26KB
88adepth1.jpg 25KB
86adepth1.jpg 25KB
85adepth1.jpg 25KB
87adepth1.jpg 24KB
2adepth1.jpg 24KB
2depth1.jpg 21KB
1saliency.jpg 13KB
1saliency.jpg 13KB
5saliency.jpg 13KB
5saliency.jpg 13KB
3saliency.jpg 10KB
3saliency.jpg 10KB
4saliency.jpg 10KB
4saliency.jpg 10KB
085result.jpg 8KB
087result.jpg 8KB
088result.jpg 8KB
086result.jpg 8KB
2saliency.jpg 5KB
2saliency.jpg 5KB
rgb2dkl.m 9KB
gbvs.m 9KB
makeGBVSParams.m 8KB
getFeatureMaps.m 4KB
connectMatrix.m 3KB
makeGaborFilterGBVS.m 2KB
distanceMatrix.m 2KB
graphsalapply.m 2KB
rocSal.m 2KB
demonstration.m 2KB
initGBVS.m 2KB
flicker_motion_demo.m 2KB
maxNormalizeStdGBVS.m 1KB
attenuateBordersGBVS.m 1KB
D_dklcolor.m 1KB
graphsalinit.m 1KB
simpledistance.m 1000B
makeLocationMap.m 945B
formMapPyramid.m 942B
共 206 条
- 1
- 2
- 3
edisonsina
- 粉丝: 1
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
前往页