gbvs-(1)

所属分类:matlab编程
开发工具:matlab
文件大小:9743KB
下载次数:46
上传日期:2014-10-22 18:53:34
上 传 者liu0537
说明:  该代码是在MATLAB下运行的GBVS,用于图像特征点匹配,进一步用于图像处理,图像检索等多个领域。
(GBVS the code is run in MATLAB for image feature point matching, and further used in various fields of image processing, image retri .)

文件列表:
gbvs\algsrc\connectMatrix.m (2668, 2010-02-19)
gbvs\algsrc\distanceMatrix.m (2137, 2010-02-19)
gbvs\algsrc\formMapPyramid.m (942, 2010-02-19)
gbvs\algsrc\getDims.m (110, 2010-02-19)
gbvs\algsrc\graphsalapply.m (1997, 2010-02-19)
gbvs\algsrc\graphsalinit.m (1026, 2010-02-19)
gbvs\algsrc\indexmatrix.m (104, 2010-02-19)
gbvs\algsrc\initGBVS.m (1827, 2010-12-10)
gbvs\algsrc\makeLocationMap.m (945, 2010-02-19)
gbvs\algsrc\mexArrangeLinear.cc (1342, 2010-02-19)
gbvs\algsrc\mexArrangeLinear.mexa64 (6982, 2010-02-19)
gbvs\algsrc\mexArrangeLinear.mexglx (5265, 2010-02-19)
gbvs\algsrc\mexArrangeLinear.mexmaci (8816, 2010-03-02)
gbvs\algsrc\mexArrangeLinear.mexmaci64 (8736, 2010-03-02)
gbvs\algsrc\mexArrangeLinear.mexw32 (6144, 2010-02-19)
gbvs\algsrc\mexArrangeLinear.mexw64 (8192, 2010-02-19)
gbvs\algsrc\mexAssignWeights.cc (1836, 2010-02-19)
gbvs\algsrc\mexAssignWeights.mexa64 (7240, 2010-02-19)
gbvs\algsrc\mexAssignWeights.mexglx (5325, 2010-02-19)
gbvs\algsrc\mexAssignWeights.mexmaci (8796, 2010-03-02)
gbvs\algsrc\mexAssignWeights.mexmaci64 (8720, 2010-03-02)
gbvs\algsrc\mexAssignWeights.mexw32 (6144, 2010-02-19)
gbvs\algsrc\mexAssignWeights.mexw64 (7680, 2010-02-19)
gbvs\algsrc\mexColumnNormalize.cc (645, 2010-02-19)
gbvs\algsrc\mexColumnNormalize.mexa64 (6758, 2010-02-19)
gbvs\algsrc\mexColumnNormalize.mexglx (4945, 2010-02-19)
gbvs\algsrc\mexColumnNormalize.mexmaci (8780, 2010-03-02)
gbvs\algsrc\mexColumnNormalize.mexmaci64 (8704, 2010-03-02)
gbvs\algsrc\mexColumnNormalize.mexw32 (6144, 2010-02-19)
gbvs\algsrc\mexColumnNormalize.mexw64 (7680, 2010-02-19)
gbvs\algsrc\mexSumOverScales.cc (1358, 2010-02-19)
gbvs\algsrc\mexSumOverScales.mexa64 (6870, 2010-02-19)
gbvs\algsrc\mexSumOverScales.mexglx (5169, 2010-02-19)
gbvs\algsrc\mexSumOverScales.mexmaci (8816, 2010-03-02)
gbvs\algsrc\mexSumOverScales.mexmaci64 (8736, 2010-03-02)
gbvs\algsrc\mexSumOverScales.mexw32 (6144, 2010-02-19)
gbvs\algsrc\mexSumOverScales.mexw64 (8192, 2010-02-19)
gbvs\algsrc\mexVectorToMap.cc (938, 2010-02-19)
gbvs\algsrc\mexVectorToMap.mexa64 (6597, 2010-02-19)
gbvs\algsrc\mexVectorToMap.mexglx (4900, 2010-02-19)
... ...

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 19***) 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 *** bit Windows, or on Intel-based Mac, or 32 or *** 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

近期下载者

相关文件


收藏者