修改训练图像以训练神经网络

我目前正在尝试开发一个程序,通过橙子的外观来区分腐烂的橙子和可食用的橙子。为此,我计划使用卷积神经网络来训练识别腐烂的橙子和正常的橙子。经过一番搜索,我只找到一个包含大约150个腐烂橙子和150个正常橙子的数据库,这些橙子是在黑色背景下拍摄的(http://www.cofilab.com/downloads/)。显然,机器学习模型需要至少几千个橙子才能达到90%以上的准确率。然而,我可以以某种方式修改这些150个橙子来生成更多的橙子照片吗?这里的“修改”是指在柑橘果实上添加不同深浅的橙色,以制造出“不同的橙子”。这种方法能有效地训练神经网络吗?


回答:

这是一个增加数据量的好方法。你具体要怎么做取决于你的数据。例如,如果你是在用传感器获取的数据进行训练,你可能需要在训练数据中加入一些噪声,这样可以扩充你的数据集。毕竟,你可以预期传感器在后续使用中会产生一些噪声。

假设你将使用图像进行训练,这里有一个非常好的GitHub仓库,提供了使用这些技术的方法。这个Python库可以帮助你在机器学习项目中增强图像。它将一组输入图像转换为一组新的、数量大得多的略有改动的图像。链接:https://github.com/aleju/imgaug

功能:

  • 提供大多数标准的增强技术。

  • 这些技术可以应用于图像以及图像上的关键点/地标。在实验开始时定义你的增强序列,然后可以多次应用它。

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

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

enter image description here

Related Posts

L1-L2正则化的不同系数

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

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

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

f1_score metric in lightgbm

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

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

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

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

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

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

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

发表回复

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