创建特征向量以对空中图像中的片段进行分类

Posted

技术标签:

【中文标题】创建特征向量以对空中图像中的片段进行分类【英文标题】:Create a feature vector to classify segments in air images 【发布时间】:2016-04-09 11:38:58 【问题描述】:

我正在做一个项目来分割空中图像并对每个片段进行分类。图像非常大并且具有巨大的同质区域,因此我决定使用拆分和合并算法进行分割。

(左侧为原始图像,右侧为分段图像,其中每个分段均以其 RGB 平均值 Thanks to this answer 表示)

对于分类,我想使用带有特征向量的 SVM 分类器(我之前在两个项目中经常使用它)。 一开始我只想使用五个类:水、植被、建筑面积、沙丘和异常 现在我正在考虑我可以在这个特征向量中放入什么:

段的平均 RGB 值 纹理特征(但我可以只用一个值表示片段的纹理吗?) 源图像中的位置(可能具有代表左、右或中间的值?) 路段大小(水路段应远大于建成区) 片段第四邻域的平均 RGB 值

那么有没有人做过这样的事情,可以给我一些建议,我可以在特征向量中放入什么有用的东西?有人可以给我一个建议,我如何才能正确地表示片段中的纹理?

感谢您的帮助。

【问题讨论】:

【参考方案1】:

您无需将自己限制为仅 1 个特征向量。您可以尝试多个特征向量(从您已有的列表中),并将它们提供给基于多核学习 (MKL) 的分类器。 MKL 已经证明可以提高单一特征方法的性能,我最喜欢的 MKL 技术之一是VBpMKL。

如果你有时间,我建议你尝试以下一个或多个特征,它们可以捕捉到感兴趣的特征:

Haralick 纹理特征 面向直方图的梯度特征 Gabor 过滤器 筛选 patch-wise RGB 表示

【讨论】:

【参考方案2】:

除了拆分和合并算法,您还可以使用超像素。有几种快速且易于使用的超像素算法可用(有些甚至在最近的 OpenCV 版本中实现)。仅命名一个视图:

紧凑流域(见此处:https://www.tu-chemnitz.de/etit/proaut/forschung/rsrc/cws_pSLIC_ICPR.pdf) preSLIC 和 SLIC(参见此处:https://www.tu-chemnitz.de/etit/proaut/forschung/rsrc/cws_pSLIC_ICPR.pdf 和此处:http://www.kev-smith.com/papers/SLIC_Superpixels.pdf) 种子(见此处:https://arxiv.org/abs/1309.3848) ERGC(见此处:https://sites.google.com/site/pierrebuyssens/code/ergc)

鉴于超像素分割,您可以计算大量特征来对它们进行分类:

在Automatic Photo Pop-Up 表 1 中,Hoiem 等人。除其他外,请考虑以下特征:平均 RGB 颜色、平均 HSV 颜色、颜色直方图、饱和度直方图、Textons、面向差异的高斯导数滤波器、平均 x 和 y 位置、面积...... 在Recovering Occlusion Boundaries from a Single Image,Hoiem 等人。考虑表 1 中上述列表的一些附加功能。 在SuperParsing: Scalable Nonparametric Image Parsing with Superpixels ,Tighe 等人。另外考虑 SIFT 直方图、在 8 x 8 图像上缩小的掩码、边界框形状和彩色缩略图。 在Class Segmentation and Object Localization with Superpixel Neighborhoods ,Fulkerson 等人。还要考虑来自相邻超像素的特征。

基于超像素,您仍然可以应用简单的合并方案来减少超像素的数量。通过颜色直方图进行简单合并可能已经对您的任务有用。否则,您还可以使用超像素之间的边缘信息进行合并。

【讨论】:

以上是关于创建特征向量以对空中图像中的片段进行分类的主要内容,如果未能解决你的问题,请参考以下文章

从 Gabor 滤波器制作特征向量进行分类

SVM:向从图像中提取的特征向量添加临床特征

计算机视觉-图像描述符(图片分类)

python中支持向量机分类器的替代方案?

图像分类基于matlab多种特征结合支持向量机脑MRI肿瘤分类含Matlab源码 2149期

如何使用热门词创建特征向量(scikit-learn 中的特征选择)