问题标签 [vlfeat]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2002 浏览

octave - 以八度编译 vlfeat mex:未定义符号

我希望这个问题不是很具体。我正在尝试为 octave 3.6.2 编译vlfeat库。

它编译 mex 文件而没有错误。但是如果我执行

我明白了

如果我改用 octave 3.4.3,则 mex 文件加载时不会出错。(但后来由于 matlab 函数在这个版本的 octave 中还没有实现,所以会出现其他错误。)

我不知道如何开始调查这个问题。出现此类错误消息的原因可能是什么?或者我能做些什么来进一步调查这个问题?

更新: 我做了更多的研究。但是我对链接和编译的过程不是很熟悉。

使用ldd我可以看到 vlfeat 共享库没有出现在列表中。使用nm符号显示为“U”表示未定义。但我认为图书馆应该链接。问题出在所有 mex 文件上。这是如何编译文件的一个示例。据我所见,该库已链接到 mex 文件。

0 投票
4 回答
1178 浏览

kdtree - 使用 vlfeat 的慢速 kd 树查询,更快的替代方案?

我正在使用 vlfeat 的 kdtree,它实现了 FLANN 的 kd-tree,据说它可以处理高维数据。但是,现在我有一个从 128x15000 数据集构建的 kdtree,并且对任何内容的 kd 树查询都已减慢到 8 秒。这是kd-trees的极限吗?FLANN 也应该是一个更快优化的 kdtree...

我现在还有什么其他选择?

0 投票
2 回答
3059 浏览

matlab - 卡在 Matlab 的子图机制上,用于匹配图像的 vlfeat 点

我在 Matlab 中做 vlfeat,我在这里关注这个问题。

以下是我的简单测试图像:

左图:

大号

右图:

R

我在这里用两张简单的图像做了一个简单的测试(右图只是左图的旋转版本),我得到了相应的结果:

测试

它有效,但我还有一个要求,即匹配两个图像的 SIFT 点并显示它们,如下所示:

像这样

我知道 vl_ubcmatch 返回 2 个匹配索引数组,并且将它们映射到两个图像上的哪个点到哪个点不是问题。但是,我目前被困在 matlab 的程序中。我找到了这个。但这只有在子情节保持这种状态时才有效。当您将图像添加到子图中时,大小会发生变化并且标准化失败。

这是我的代码:(im 和 im2 是图像。f、d 和 f2、d2 分别是来自 2 个图像的 vl_sift 函数的帧和描述符)

上面的代码产生了这个:

一个

我认为 subplot 不是解决此类问题的好方法。Matlab中是否有更好的方法?如果可能的话,我想要一个空面板之类的东西,我可以绘制我的图像、自由绘制线条和自由缩放,就像以 OpenGL 风格绘制 2D 游戏一样。

0 投票
1 回答
3323 浏览

matlab - 在特定像素筛选描述符

我想在图像中的坐标 ( x ,y ) 处找到 sift 描述符,其补丁大小为 5X5 邻居,坐标在中间。

它背后的目的是分析我在该坐标上获得的方向值以进行进一步处理。

matlab中有什么方法可以让我这样做吗?

我试图理解vl_dsift,它会在每个点上给我筛选描述符,也许只是将它用于我想要的坐标,但不明白如何使用它......

有人可以帮助我或建议任何更好的选择吗?

0 投票
1 回答
388 浏览

computer-vision - 关于 vlfeat sift 的标准牛津格式

我的一个高年级同学给了我一个数据集,用于试验 vlfeat 的 SIFT,然而,她为框架部分提取的 SIFT 数据包含 5 个维度。下面给出一个例子:

该文件只是图像的描述符数据。我需要知道几件事:

  • 前两个值“192”和“9494”是什么?
  • 关键点的第 5 个值是多少?vlfeat 的筛选通常会为关键点的框架给出 4 个值。

所以我问她这个第 5 维是什么,她让我搜索“标准牛津格式”以获得 sift 功能。

问题是我试图搜索有关此标准牛津格式和筛选功能的信息,但我完全没有找到它。如果有人对此有所了解,请他指出我正确的方向吗?

0 投票
1 回答
1074 浏览

matlab - 在matlab中有效地将图像分割成网格

目前,我正在使用下面的代码将图像分割成 cellSizeX 像素乘以 cellSizeY 像素的网格:

虽然这段代码运行良好且令人满意,但有些事情让我烦恼:

  1. 通过对 tic 和 toc 的一些测试,比较诸如 grid(:,:,:,icount,jcount) 和 grid(icount,jcount,:,:,:) 之类的切换索引位置,我看到了 grid(:,:,: ,icount,jcount) 是最快的。但是这里有什么可以改进的吗?

  2. 仅当请求的 cellSizeX 和 cellSizeY 与图像 img 成比例时,该代码才有效。因此,在尺寸为 40 x 40 的图像上请求 9 x 9 的 cellSizeX 和 cellSizeY 将导致 matlab 抱怨超出矩阵的尺寸。对此有何建议?我不想简单地为这些单元格填写空白区域。这些单元将在 Vlfeat SIFT 中进一步使用。

0 投票
1 回答
3212 浏览

c - vl_ubcmatch 在技术上是如何工作的?

我正在阅读此处提供的 vl_ubcmatch 的函数源代码,我试图了解它是如何计算分数的,以及它在内部技术上是如何工作的。

但是,这个 C 代码有这些宏、奇怪的 ## 变量之类的,以及我没有经验的东西。所以这里的主要问题是我在 C 语言方面的无能。如果可能的话,有人可以告诉我,究竟是如何vl_ubcmatch工作的?它如何比较两个描述符?

0 投票
0 回答
95 浏览

matlab - VL_feat 函数对 Matlab 中的并行工作人员不可见

所以我正在尝试使用 vl_feat 外部工具箱进行一些图像处理,并且我正在尝试并行运行它,因为有很多数据要处理。所以我有一个函数,其中包含一个 parfor 循环,它调用一个辅助函数,该函数调用 vl_ubcmatch。

现在,当我在没有先打开 matlabpool 的情况下运行我的代码时,它运行得很好。但是,如果我打开一个工人池然后运行代码,我会收到一条错误消息,提示“未定义函数 'vl_ubcmatch' 用于类型为 'uint8' 的输入参数”。因此,显然机器中设置并行作业的某些东西会导致它失去对 vl_ubcmatch 函数的跟踪。

我知道 vl_feat 工具箱中的函数代码不在 .m 文件中,而是使用 c 代码和 mex 文件,我不完全理解所有这些如何绑定到函数调用,但我假设该实现的某些内容使并行计算工具箱感到困惑。有没有其他人经历过这种情况,是否有任何解决方法?提前致谢。

0 投票
1 回答
1126 浏览

sift - vlfeat.org 的 VL_SIFT 是如何工作的?

我是 Matlab 中 SIFT 的 VLfeat 实现的新手

有人可以帮助/教我更多关于 vlfeat.org 的 VL_SIFT 是如何工作的吗?我已阅读以下链接http://www.vlfeat.org/mdoc/vl_sift.html和此文档http://www.cs.ubc.ca/~lowe/papers/ijcv04.pdf但我仍然不明白这个怎么运作。

谢谢马库斯

0 投票
1 回答
1875 浏览

matlab - matlab - vlfeat - vl_pegasos (svm) 分类

我正在使用 Matlab 中的VLFeat库进行一些图像分析工作。我想使用他们的 Pegasos SVM 实现,因为他们已经实现了一些内核,特别是 Chi2 内核。

但是,我发现文档让我感到困惑。按照本教程,我有一个模型w和一个偏差b,但是我如何使用它来对我的测试数据进行分类?

我的起始数据是这样的(尺寸)..

我可以用..构建数据集

给我..

然后我可以建立模型..

w200 x 1我的模型 ('w'eights?) 是一个大小为 0 到 1的向量大小。

我相信我需要将此向量乘以 mytest_data以获得某种分数,但我不确定这些分数的含义是什么。

任何方向都非常感谢。