我听说过有关颜色(直方图),纹理(局部二进制图案)和形状(SIFT,BoW,HOG,HOF)的功能,但我不知道如何计算它们。
答案 0 :(得分:0)
首先,我不认为你的意思是超级体素,但我可能是错的。超像素似乎是您正在寻找的术语,它可以解释相对缺乏响应,超级体素指的是3D空间,但是下面描述的技术在N维空间中应该是等效的。
请参阅here:许多问题(尽管如此,关于特征提取的问题并不多,我觉得这个问题并不重复)
试图给你一些相似的答案,据说 Texture for Superpixels?,您可以通过查找每个超像素的中心位置并找到要计算的区域(即20 x 20像素)来找到这些问题的答案。我建议如果您要这样做,并且您有超高像素的宽度和高度信息,请根据这些尺寸缩放此20x20区域。用于特征提取的传统方法应该随后工作,并且取决于实现可以高度并行。
如果您不想沿着这条路走下去,可以使用以下方法
从color histogram开始,这应该与任何其他方形图像分割算法的工作方式相同,只需查看所有像素并将颜色值累积到直方图中,我不明白为什么会这样难。
对于纹理信息,根据您要提取的要素类型,它可能或多或少复杂,如果您的要素在空间上不变,则变得像颜色直方图一样简单。对于local binary pattern,您只需找到超级像素的中心点并采用相同的算法(如果您自己从未实现过,请单击链接以了解它的工作原理)。你可能会忽略超像素之外的区域。
如果我理解HOG它对你正在使用的形状也是不变的,这意味着假设你有子像素信息,你可以按超像素计算它。 HOF(我不得不通过wiki查看此信息)理论上光流直方图具有相同的属性(基于直方图的方法),因此应该可以通过相同的逻辑计算给定超像素。 (HOF and HOG lecture discussing algorithm)
据我所知,BOW不是特定的特征提取技术,而是一般模型,所以我将忽略这一点。
可以通过常规计算方法提取SIFT个特征,超级像素不是规则矩形的事实在SIFT特征的计算中似乎并不重要(SIFT链接中提供的算法大纲)