图像中自动检测植物

我的图像数据集来自http://www.image-net.org。数据集中包含了各种不同事物的集合,如植物、动物、人等。
我需要训练一个分类器,如果图像属于植物集合,则预测为1,否则为0。
属于植物集合的图像可以在http://www.image-net.org/explore查看,通过在左侧面板点击植物、植物群、植物生命选项来查看。

这些图像包括了多种植物 – 如树木、草本植物、灌木、花朵等。我无法确定使用哪些特征来训练分类器。这些图像中有很多绿色,但也有许多花朵图像,绿色成分不多。另一个特征是叶子和花瓣的形状。

如果有人能建议如何提取这种形状特征并用于训练分类器,将会很有帮助。还请建议可以用于训练分类器的其他特征。
在提取特征后,应使用哪种算法来训练分类器?


回答:

不确定形状信息是否适合您链接的数据集。

我快速浏览了一些图像后,有几点分类建议:

  1. 自然场景中很少有直线 – 线条检测
  2. 您可以排除那些包含大片“非自然”颜色的场景。
  3. 如果您想尝试更高级的,我建议使用熵/模式识别之间的混合方法作为分类器,因为自然场景中包含很多这两种元素。
  4. 尝试对叶子/花瓣进行模板匹配/形状匹配会让您失望 – 您需要使用更通用的方法。

至于使用哪种分类器…我通常建议先使用K-means,一旦您得到一些结果,再决定是否值得付出额外的努力来实现贝叶斯或神经网络。

希望这对您有帮助。

T.

扩展内容:

“非自然颜色”可能是高度饱和的颜色,超出了绿色和棕色的范围。它们适合检测自然场景,因为即使花朵位于中心,场景中也应该有大约50%的绿色/棕色光谱。

此外,直线检测在自然场景中应该很少有结果,因为自然界中直边很少。在基本层面上,生成边缘图像,对其进行阈值处理,然后搜索线段(近似直线的像素)。

熵需要一些机器视觉知识。您可以通过确定局部熵并对结果进行直方图处理来处理场景,这里是一个类似的方法,您需要使用它。

如果您要尝试模式识别,则需要在机器视觉方面有高级知识,因为这是一个困难的主题,不是您可以简单地在代码样本中实现的。我建议只有在颜色和边缘信息(线条)已经用尽后,才尝试实现这些作为分类器。

如果这是商业应用,则应咨询机器视觉专家。如果这是大学作业(除非是论文),颜色和边缘/线条信息应该足够了。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注