使用 VLFeat 进行密集筛选
Posted
技术标签:
【中文标题】使用 VLFeat 进行密集筛选【英文标题】:Dense sift using VLFeat 【发布时间】:2014-01-16 13:08:57 【问题描述】:我无法理解 http://www.vlfeat.org/matlab/vl_dsift.html 中显示的 vlfeat 中的密集筛选文档。他们提到了bin size
参数用于像素处的网格宽度,并提到了step
参数用于垂直和水平位移。
我使用以下代码测试这些参数
[f, d] = vl_dsift(single(image), 'size', 16 , 'step' , 5 ) ;
我的图像是 50X50 矩阵。我希望关键帧从 (1,1) 开始移动到 (1,6) #displacement of 5 水平等等。
但我得到的结果在 (25,25)
点只有 1 个筛选描述符。
有谁知道这些参数的实际含义以及我是否正确应用它们?有没有办法在上述模式中应用它(从左上角开始,除了手动获取位置之外,步长的垂直和水平位移)
【问题讨论】:
【参考方案1】:他们写了
提取描述符的比例由选项控制 SIZE,即空间 bin 的像素宽度(回想一下 SIFT 描述符是具有 4 x 4 个 bin 的空间直方图)。
因此,它计算大小为 4*16 = 64 x 64 像素的图像正方形部分的 SIFT。您的整个图像小于计算所需的区域。我想知道,为什么你会得到那个。 此外,即使它足够大,也无法计算点 (1,1) 的 SIFT,因为只定义了补丁的东南部分,其他部分在图像之外。
【讨论】:
以上是关于使用 VLFeat 进行密集筛选的主要内容,如果未能解决你的问题,请参考以下文章
VLFeat:vl_kmeans 中某些簇的 ValueError
在 java 中使用 VLfeat 库编译 Matlab 代码