Machine learning 改变训练图像训练神经网络

Machine learning 改变训练图像训练神经网络,machine-learning,computer-vision,neural-network,conv-neural-network,training-data,Machine Learning,Computer Vision,Neural Network,Conv Neural Network,Training Data,我目前正试图制作一个程序,仅仅根据腐烂的橙子和可食用的橙子的外观来区分它们。为此,我计划使用卷积神经网络对腐烂的橙子和正常的橙子进行训练。经过一些搜索,我只能在一个数据库中找到大约150个腐烂的橙子和150个黑色背景的正常橙子()。显然,机器学习模型至少需要几千个橙子才能达到90%以上的准确率。然而,我能以某种方式改变这150个橙子来制作更多的橙子照片吗?我所说的alter,是指在柑橘类水果上添加不同色调的橙色,制成“不同的橙色”。这是训练神经网络的有效方法吗 这确实是增加数据集的好方法。例如,

我目前正试图制作一个程序,仅仅根据腐烂的橙子和可食用的橙子的外观来区分它们。为此,我计划使用卷积神经网络对腐烂的橙子和正常的橙子进行训练。经过一些搜索,我只能在一个数据库中找到大约150个腐烂的橙子和150个黑色背景的正常橙子()。显然,机器学习模型至少需要几千个橙子才能达到90%以上的准确率。然而,我能以某种方式改变这150个橙子来制作更多的橙子照片吗?我所说的alter,是指在柑橘类水果上添加不同色调的橙色,制成“不同的橙色”。这是训练神经网络的有效方法吗

这确实是增加数据集的好方法。例如,可以对图像应用高斯模糊。它们将变得模糊,但与原始图像不同。你也可以反转图像。或者,在最后一种情况下,寻找新的图像并应用引用的技术。

数据增强是您所寻找的。在您的情况下,您可以做不同的事情:

  • 应用过滤器来获得稍有不同的图像,正如已经说过的,你可以使用高斯模糊

  • 把橘子切成不同的背景

  • 用不同的比例因子缩放橙子

  • 旋转图像

  • 制作合成腐烂的橙子

  • 混合前面提到的所有不同组合。有了这种增强,你可以很容易地创造出数千种不同的橙子


  • 我用12000张图像的数据集做了类似的事情,我可以创建630000个样本

    这是一个非常好的方法来增加你的日期。你将做什么取决于你的数据。例如,如果您正在对从传感器获得的数据进行训练,则可能需要向训练数据添加一些噪波,以便增加数据集。毕竟,你可以期待一些噪音来自传感器以后

    假设您将在图像上对其进行培训,下面是一个非常好的github存储库,它提供了使用这些技术的方法。这个python库帮助您为机器学习项目扩充图像。它将一组输入图像转换为一组新的、大得多的稍加修改的图像。 链接:

    特点:

    • 大多数标准的增强技术可用

    • 这些技术可以应用于计算机上的图像和关键点/地标 图像。在测试开始时定义一次增强序列 实验,然后多次应用

    • 为每个增强定义灵活的随机范围,例如“旋转” 每个图像按-45到45度之间的值“旋转”或“旋转” 从正态分布N(0,5.0)”中采样的值

    • 轻松地将所有随机范围转换为确定性值 以完全相同的方式增强不同批次的图像 (例如图像及其热图)


    数据增强确实是增强训练集的好方法,但考虑到可能会过度匹配,仍然不足以单独训练一个端到端的深度网络。您应该考虑域适配,在域适配中,您采用了一个预训练的模型,比如在imagenet数据集上训练的inception,并针对您的问题对其进行微调。因为您只需要学习分类用例所需的参数,所以可以使用相对较少的可用培训数据来实现良好的准确性。我主持了一个使用这种技术的分类演示。用你的数据集试试看是否有用。该演示将处理预训练模型以及您将上载的数据集的数据扩充