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

我目前正在尝试开发一个程序,通过橙子的外观来区分腐烂的橙子和可食用的橙子。为此,我计划使用卷积神经网络来训练识别腐烂的橙子和正常的橙子。经过一番搜索,我只找到一个包含大约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

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

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