问题标签 [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 投票
1 回答
1833 浏览

c++ - OpenCV VLFeat Slic 函数调用

我正在尝试使用vl_slic_segment存储在 OpenCV Mat 中的输入图像来使用 VLFeat 库的功能。我的代码正在编译和运行,但输出的超像素值没有意义。到目前为止,这是我的代码:

我尝试不将其转换为 Lab 颜色空间并设置不同的 regionSize/regularization,但输出总是非常有问题。我能够正确检索标签值,问题是每个标签通常分散在一个不连续的小区域。

我认为问题是我输入数据的格式错误,但我不知道如何正确地将其发送到vl_slic_segment函数。

先感谢您!

编辑

谢谢大卫,正如你帮助我理解的那样,vl_slic_segment 想要将数据排序为 [LLLLLAAAAABBBBB] 而 OpenCV 正在为 LAB 颜色空间排序其数据 [LABLABLABLABLAB]。

0 投票
1 回答
743 浏览

matlab - Dsift (vl_feat) 和 Matlab

我有一个(可能是天真的)问题,我只是想澄清这部分。因此,当我拍摄dsift一张图像时,我通常会得到一个128xn matrix. 问题是,n 值在不同的图像中并不总是相同的。假设图像 1 得到一个128x10 matrix,而图像 2 得到一个128x18 matrix。我不太确定为什么会这样。

我认为 128 维的每一列代表一个图像特征或从图像中检测到的单个补丁。所以在 128x18 的情况下,我们提取了 18 个补丁并用每个 128 个值来描述它们。如果这是正确的,为什么我们不能每个图像有固定数量的补丁,比如 20 个补丁,所以每次我们的矩阵都是 128x20。

干杯!

0 投票
2 回答
1615 浏览

matlab - K-means Clustering, major understanding issue

Suppose that we have a 64dim matrix to cluster, let's say that the matrix dataset is dt=64x150.

Using from vl_feat's library its kmeans function, I will cluster my dataset to 20 centrers:

centers is a 64x20 matrix.

assignments is a 1x150 matrix with values inside it.

According to manual: The vector assignments contains the (hard) assignments of the input data to the clusters.

I still can not understand what those numbers in the matrix assignments mean. I dont get it at all. Anyone mind helping me a bit here? An example or something would be great. What do these values represent anyway?

0 投票
1 回答
3259 浏览

octave - Octave中的Vlfeat-'在索引表达式中无效使用脚本'

我无法让 Octave 中的 Vlfeat 计算机视觉库正常工作。我按照 vlfeat 网站http://www.vlfeat.org/install-octave.html上的说明编译它但是当我尝试运行 vl_version 时,octave 给了我这个错误:

当我尝试运行一个基本的演示程序时,也会发生同样的事情:

我正在研究mac os x mavericks。我对 octave 和 mac 很陌生,所以如果这是一个非常基本的问题,我深表歉意。预先感谢您的帮助!:)

更新:这是 vl_demo_sift_basic 代码的第 29 行:(我是图像)

我又看了一些,我不确定 MEX 文件是否编译成功——vlfeat 网站说,一旦成功编译 MEX 文件,我应该能够在 toolbox/mex/octave/ 中查找它们,但是我找不到这个目录。

0 投票
0 回答
356 浏览

vlfeat - 使用 OCTAVE 运行 VLFeat 设置(操作系统:Windows 7)

是否有关于在 windows (7) 机器上使用 Octave (3.8.2) 运行 VLFeat 设置的明确文档?

0 投票
1 回答
760 浏览

ubuntu - 如何在窗口 7 的 Octave 中使用 Vlfeat?

我使用 octave 并想使用 Vlfeat 在 Windows 7 中完成我的项目。该网站建议使用 Octave 如下:

在此处输入图像描述

我根据绿色(第一个)框中的代码完成安装包映像。但是,我坚持使用红色(第二个)框中的代码。红框内的代码是用在 Octave 还是 Windows 命令提示符下?如果否,我应该在哪里使用它?它在Ubuntu命令提示符下吗?我不习惯 Ubuntu。非常感谢在没有 Ubuntu 的情况下使用它(尽管我有某种感觉,它肯定与 Ubuntu 有关)但如果它对 Ubuntu 来说是不可避免的,谁能建议我怎么做。

昨天,我尝试在 Ubuntu、Windows、Octave 中使用红色代码,一整天都出现了某种错误。我以为代码是针对 Ubuntu 的,但代码以 '>' 而不是 '$' 开头,所以我不确定了。该网站没有提供足够的信息,也没有论坛。我现在迷路了。

任何人请帮助我:<


下图是根据 Unapiedra 建议的结果。有人可以告诉我这个错误吗? 在此处输入图像描述

0 投票
1 回答
1603 浏览

python - 为什么 Python 的 Hog 输出(scikit-image)与 MATLAB 的 Hog(vlfeat)不同?

我有一段 MATLAB 代码,它从图像中获取 91x91 的像素块,然后用苹果 HOG 提取其特征向量。我想用 Python 重写这个函数。我一直在努力寻找如何在 Python 中获得与在 MATLAB 中相同的 HOG 返回值,但未能做到。如果您能提供任何帮助,我将不胜感激。

VLFeat 库(http://www.vlfeat.org/overview/hog.html)用于 MATLAB 代码,我在 Python 中使用 scikit-image(http://scikit-image.org/docs/dev/ api/skimage.feature.html?highlight=peak_local_max#skimage.feature.hog)。

在 Matlab 中,输入 'im2single(patch)' 是一个 91*91 的数组,而 Hog 的返回数据类型是 4*4*16 single。HoG 使用的单元格大小为 23,方向数为 4。

返回数据为4*4*16单条,可以显示为:

然后手动将结果展平为 256*1 的特征向量。综上所述,在一个 91*91 的像素块中,提取了一个 256*1 的特征向量。现在我想在 Python 中得到相同的结果。

在我的 Python 代码中,我尝试应用具有相同单元大小和方向数的 HOG。块大小设置为 (1,1)

我将补丁的大小附加到 92*92,因此补丁大小是单元格大小的整数倍。输入数组现在称为“repatch”。但是,输出 'tc' 是一个 64*1 数组(梯度直方图被展平为特征向量)

然后我查看了 Skimage 源代码,

这里的 n_cellsx 是:x 中的细胞数,n_cellsy 是:y 中的细胞数。似乎 Hog 的输出与orientation_histogram 的维度高度相关。

HoG 返回值的实际维度取决于:

其中 n_blocksy、n_blocksy 的计算公式为:

n_cellsx为:x中的单元格数,这里取值为4,n_cellsy也是;bx,by为cells_per_block,即(1,1);在这种情况下,方向是 4。

返回值(normalised_blocks)的大小似乎是由 4*4*1*1*4 (n_blocksy * n_blocksx * by * bx *orientations) 计算的

我试图改变块大小,但仍然无法得到我所期望的......(当块大小为(2,2)时,返回值是一个 144*1 数组)

谁能帮忙...我怎样才能获得与 Matlab 中相同的 Hog 输出?非常感谢。

0 投票
1 回答
1208 浏览

c++ - 使用 vlfeat 进行密集 SIFT 关键点和描述符提取

我目前正在使用来自 vlfeat 的 Dense SIFT。但是我从代码中只得到了一个关键点和描述符。但返回的关键点数量更多。如何提取所有关键点和描述符。

描述符也是一个单一的值,它应该是 128 X N。

代码如下。

vlkeypoints 大小只有一个。如何提取所有关键点?

0 投票
1 回答
315 浏览

matlab - Libsvm 找到 vlfeat

对于我的计算机视觉课程,我使用 vlfeat 对图像执行 SIFT 和密集 SIFT。我执行了一些数据操作,然后我希望使用 libsvm 来训练一个 SVM,使用函数 svmtrain。我的问题是我收到一个错误,指出 libsvm 正在尝试访问 vl_svmtrain。链接器是否存在问题,或者 libsvm 是否确实在后台使用 vlfeat?还是 libsvm 的 svmtrain 的一个组件确实称为 vl_svmtrain?

0 投票
1 回答
688 浏览

sift - Vlfeat 中的筛选实现

我正在使用 Vlfeat.org 的 Sift 实现。它具有以下功能,可以将特征保存到文件中。

在这里,“os.system(cmmd)”行应该如何将结果写入文件?

我在 ubuntu 机器上,如果我在终端中执行“sift”作为命令,我得到的结果是“未找到”。在 linux 上,这个命令试图调用哪个进程?我需要将这些 Sift 特征保存到一个文件中,以便稍后我可以使用它来创建用于聚类的 Bag of Words 描述符。

https://github.com/jesolem/PCV/blob/master/PCV/localdescriptors/sift.py上的类似 sift 实现也使用同一行将结果保存到文件中。