论文:ImageClassification with Fisher Vector: Theory and Practice
数据集:Calthch256
主要查看了VLFeat主页上关于SIFT和DENSESIFT的Tutorials。
运行了VLFeat中的demo,对于Calthch256中001.ak47类的第一张图片001_0001.jpg(图片大小499×278)使用vl_sift函数对整张图片提取特征,得到421个特征点,而对于vl_dsift函数,通过调整patch size和step size可以控制得到的特征点的坐标和个数。对同一张图片001_0001.jpg,当patch size是24×24,step size取为4时,结果得到了7865个特征点。对于其他图像,也是如此,得到的特征点数大大提高。
从vl_sift函数说明中,可以知道检测到的所有特征点以F表示(4×numkeypoints),每个特征点被分配了坐标位置x、y,尺度s和方向th。F中的每一列代表了一个特征点,而每一个descriptor都是128维的,因为:
在高斯尺度图像上,以特征点为中心,将附近邻域划分为 d×d 个子区域(Lowe取d = 4),每个子区域都是一个正方形;
用直方图统计邻域像素的梯度方向,每π/2设置为一个方向,共有8个方向;
在每个子区域上计算8个方向的梯度方向直方图,这样就可以对每个特征点形成一个4*4*8=128维的描述符。
所有特征点的描述符构成D(128×numkeypoints)。