Matlab图像识别/检索系列(8)—开源工具介绍之vlfeat
作為方便、快捷、功能強(qiáng)大的開發(fā)工具,Matlab有大量的第三方資源。在圖像處理、計(jì)算機(jī)視覺方面,幾年前的Matlab功能不如現(xiàn)在強(qiáng)大,所以在matahworks網(wǎng)站的File exchange(File exchange )可以看到大量的個(gè)人上傳的代碼,但絕大多數(shù)綜合性和運(yùn)算性能不強(qiáng)。vlfeat的出現(xiàn)改變了這一現(xiàn)狀,可以移步官網(wǎng)下載vlfeat ,最好下載編譯過的bin文件,否則只下載源碼的話需要自己編譯。不過官方的編譯不太完整,某些函數(shù)如果要在64的Windows10或Windows7下使用,需要自己編譯,也可單獨(dú)對(duì)某個(gè)函數(shù)使用mex命令編譯,我使用Visual Studio 2010和Visual Studio 2015編譯過。
vlfeat的功能很多,包含了多種特征提取(SIFT、DSIFT、QuickSIFT、PHOW、HOG、MSER、SLIC、Fisher、LBP)、局部特征匹配(UBC match)、分類(SVM、GMM)、聚類(IKM、HKM、AIB,Agglomerative Information Bottleneck)、檢索(Random kd-tree)、分割、計(jì)算評(píng)價(jià)指標(biāo)(true positives and false positives)、作圖(Precision-recall curve、ROC curve)、生成分布函數(shù)(Second derivative of the Gaussian density function、Derivative of the Gaussian density function、Derivative of the sigmoid function、Standard Gaussian density function、Sigmoid function)、特征編碼(VLAD)等功能,可參看幫助文章或演示程序。
注意,在運(yùn)行演示程序前,要先運(yùn)行toolbox目錄下的vl_setup.m和vl_root.m,以添加必要的路徑。
這里介紹一下Caltech101的分類演示程序phow_caltech101.m。
Matlab版本的函數(shù)vlfeat可在該頁查看,API函數(shù) 。簡(jiǎn)單列舉如下:
-
vl_compile Compile VLFeat MEX files
vl_demo Run VLFeat demos
vl_harris Harris corner strength
vl_help VLFeat toolbox builtin help
vl_noprefix Create a prefix-less version of VLFeat commands
vl_root Obtain VLFeat root path
vl_setup Add VLFeat Toolbox to the path - AIB
vl_aib Agglomerative Information Bottleneck
vl_aibcut Cut VL_AIB tree
vl_aibcuthist Compute a histogram by using an AIB compressed alphabet
vl_aibcutpush Quantize based on VL_AIB cut
vl_aibhist Compute histogram over VL_AIB tree - FISHER
vl_fisher Fisher vector feature encoding - GEOMETRY
vl_hat Hat operator
vl_ihat Inverse vl_hat operator
vl_irodr Inverse Rodrigues' formula
vl_rodr Rodrigues' formula - GMM
vl_gmm Learn a Gaussian Mixture Model using EM - IMOP
vl_dwaffine Derivative of an affine warp
vl_imarray Flattens image array
vl_imarraysc Scale and flattens image array
vl_imdisttf Image distance transform
vl_imdown Downsample an image by two
vl_imgrad Image gradient
vl_imintegral Compute integral image
vl_impattern Generate an image from a stock pattern
vl_imreadbw Reads an image as gray-scale
vl_imreadgray Reads an image as gray-scale
vl_imsc Scale image
vl_imsmooth Smooth image
vl_imup Upsample an image by two
vl_imwbackward Image backward warping
vl_imwhiten Whiten an image
vl_rgb2xyz Convert RGB color space to XYZ
vl_tps Compute the thin-plate spline basis
vl_tpsu Compute the U matrix of a thin-plate spline transformation
vl_waffine Apply affine transformation to points
vl_witps Inverse thin-plate spline warping
vl_wtps Thin-plate spline warping
vl_xyz2lab Convert XYZ color space to LAB
vl_xyz2luv Convert XYZ color space to LUV
vl_xyz2rgb Convert XYZ to RGB - KMEANS
vl_hikmeans Hierachical integer K-means
vl_hikmeanshist Compute histogram of quantized data
vl_hikmeanspush Push data down an integer K-means tree
vl_ikmeans Integer K-means
vl_ikmeanshist Compute histogram of quantized data
vl_ikmeanspush Project data on integer K-means paritions
vl_kmeans Cluster data using k-means - MISC
vl_alldist2 Pairwise distances
vl_alphanum Sort strings using the Alphanum algorithm
vl_argparse Parse list of parameter-value pairs
vl_binsearch Maps data to bins
vl_binsum Binned summation
vl_colsubset Select a given number of columns
vl_cummax Cumulative maximum
vl_getpid Get MATLAB process ID
vl_grad Compute the gradient of an image
vl_histmarg Marginal of histogram
vl_hog Compute HOG features
vl_homkermap Homogeneous kernel map
vl_ihashfind Find labels in an integer hash table
vl_ihashsum Accumulate integer labels into a hash table
vl_inthist Calculate Integral Histogram
vl_isoctave Determines whether Octave is running
vl_kdtreebuild Build randomized kd-tree
vl_kdtreequery Query KD-tree
vl_lbp Local Binary Patterns
vl_lbpfliplr Flip LBP features left-right
vl_localmax Find local maximizers
vl_matlabversion Return MATLAB version as an integer
vl_numder Numerical derivative
vl_numder2 Numerical second derivative
vl_override Override structure subset
vl_pegasos [deprecated]
vl_sampleinthist Sample integral histogram
vl_simdctrl Toggle VLFeat SIMD optimizations
vl_svmdataset Construct advanced SVM dataset structure
vl_svmpegasos [deprecated]
vl_svmtrain Train a Support Vector Machine
vl_threads Control VLFeat computational threads
vl_twister Random number generator
vl_version Obtain VLFeat version information
vl_whistc Weighted histogram
vl_xmkdir Create a directory recursively. - MSER
vl_erfill Fill extremal region
vl_ertr Transpose exremal regions frames
vl_mser Maximally Stable Extremal Regions - PLOTOP
vl_cf Creates a copy of a figure
vl_click Click a point
vl_clickpoint Select a point by clicking
vl_clicksegment Select a segment by clicking
vl_det Compute DET curve
vl_figaspect Set figure aspect ratio
vl_linespec2prop Convert PLOT style line specs to line properties
vl_plotbox Plot boxes
vl_plotframe Plot a geometric frame
vl_plotgrid Plot a 2-D grid
vl_plotpoint Plot 2 or 3 dimensional points
vl_plotstyle Get a plot style
vl_pr Precision-recall curve.
vl_printsize Set the printing size of a figure
vl_roc ROC curve.
vl_tightsubplot Tiles axes without wasting space
vl_tpfp Compute true positives and false positives - QUICKSHIFT
vl_flatmap Flatten a tree, assigning the label of the root to each node
vl_imseg Color an image based on the segmentation
vl_quickseg Produce a quickshift segmentation of a grayscale or color image
vl_quickshift Quick shift image segmentation
vl_quickvis Create an edge image from a Quickshift segmentation. - SIFT
vl_covdet Covariant feature detectors and descriptors
vl_dsift Dense SIFT
vl_frame2oell Convert a geometric frame to an oriented ellipse
vl_liop Local Intensity Order Pattern descriptor
vl_phow Extract PHOW features
vl_plotsiftdescriptor Plot SIFT descriptor
vl_plotss Plot scale space
vl_sift Scale-Invariant Feature Transform
vl_siftdescriptor Raw SIFT descriptor
vl_ubcmatch Match SIFT features
vl_ubcread Read Lowe's SIFT implementation data files - SLIC
vl_slic SLIC superpixels - SPECIAL
vl_ddgaussian Second derivative of the Gaussian density function
vl_dgaussian Derivative of the Gaussian density function
vl_dsigmoid Derivative of the sigmoid function
vl_gaussian Standard Gaussian density function
vl_rcos RCOS function
vl_sigmoid Sigmoid function - VLAD
vl_vlad VLAD feature encoding
具體使用方法可運(yùn)行演示程序。
轉(zhuǎn)載于:https://blog.51cto.com/8764888/2053993
總結(jié)
以上是生活随笔為你收集整理的Matlab图像识别/检索系列(8)—开源工具介绍之vlfeat的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL优化总结
- 下一篇: jquery实现增删改(伪)-老男孩作业