用于识别花朵的 CNN 输入的数据增强

数据挖掘 机器学习 神经网络 深度学习 美国有线电视新闻网 图像分类
2022-03-02 01:05:33

我想制作一个神经网络来从这样的图像中识别花朵:

在此处输入图像描述

或类似的图像,例如https://www.pexels.com/search/flowers/

我想为此使用 CNN,如https://stackoverflow.com/questions/52463538/reducing-memory-requirements-for-convolutional-neural-network

我的问题是:

  1. 哪个会更好:将整个图像放入训练集还是将每个图像分成 4 部分(水平和垂直切割中线)?

  2. 如果我旋转/倾斜这些图像并将它们也放入训练集中会有帮助吗?

  3. 如果我模糊这些图像并将它们也放入训练集中会有帮助吗?

网络的主要目的是识别它是哪种花。为此,它将使用大约 20 朵花的图像进行训练。因此,分类是目标。

编辑:我们可以假设一张图像中只有一种花。

1个回答

正如您所提到的,您的任务是分类,并且由于使用图像,最好使用卷积神经网络。首先我有一个建议,尝试为所有图像找到具有相同尺寸的合适尺寸并将它们提供给您的网络。您可以根据要测试模型的环境保持纵横比。您还可以查看为什么我们在将图像输入网络之前缩小图像

哪个会更好:将整个图像放入训练集还是将每个图像分成 4 部分(水平和垂直切割中线)?

我猜你试图做数据增强。如果是这样,这取决于。如果你这样做,你可能有不包含花朵的图像,或者它们可能包含不同类别中常见的花朵的一部分。因此,它可能会增加贝叶斯误差。如果你确定你没有这些问题,你可以使用它,尽管我不这么认为。

如果我旋转/倾斜这些图像并将它们也放入训练集中会有帮助吗?

是的,它比以前的技术更好。您必须意识到这在某些情况下是危险的。基本上,你应该使用训练集来训练你的网络,该训练集来自你的测试数据的真实分布。假设在测试您的模型时,您的测试数据全部来自垂直放置在场景中的花朵。在这种情况下,如果您只使用旋转版本来训练您的网络,您可能无法获得良好的测试结果。

如果我模糊这些图像并将它们也放入训练集中会有帮助吗?

再次像之前的答案一样,这取决于您的测试数据。如果这是在测试时发生的事情,那是合法的。


我没有注意到图像。根据我们朋友的评论,我更新了答案。您的课程可以是其中之一。它们可以是详尽的,也可以不是,它们可以是互斥的,也可以不是互斥的。如果满足前者,则意味着输入应该至少属于一个类。后者意味着如果您有互斥的类,则输入应该只包含一个类。如果它们不是互斥的,您可以在单个输入中包含多个类。

要为上述答案添加更新,您应该考虑到通过减少来增加数据可能很困难,因为它需要专家手动标记输入,这很耗时。