如何真正清理或预处理用于图像分类的图像?

我想向一些朋友提一个简单的问题。我做过一些图像分类教程,只是一些简单的,像是MNIST数据集。然后我注意到他们这样做

train_images = train_images / 255.0

现在我知道矩阵(即图像)中的每个值都被255.0除掉了。如果我没记错的话,这被称为归一化,对吗?(如果我错了,请纠正我,否则告诉我我是对的)。

我只是很好奇,是否有“更好的方法”、“另一种方法”或“最佳方法”来预处理或清理图像,然后将这些清理后的图像输入网络进行训练。

如果你愿意提供一些示例源代码,请随意。我很乐意查看代码示例。

谢谢!


回答:

在图像分类之前预处理图像可以包括以下内容:

  • 归一化:你已经提到过了
  • 重塑为统一分辨率(图像高度 x 图像宽度):更高的分辨率有助于更好的学习,而较小的分辨率可能丢失重要特征。有些模型有默认的输入尺寸可供参考。也可以使用所有图像的平均尺寸。
  • 颜色通道:1表示灰度,3表示RGB色度。根据你的应用,你可以设置这个参数。
  • 数据增强:如果你的模型过拟合或你的数据集很小,你可以通过改变原始图像(翻转、旋转、裁剪、缩放等)来复制数据集,从而增加数据集的大小
  • 图像分割:可以执行分割来突出显示可能有益于你的应用的区域或边界。例如,在医学图像分类中,身体的某些部分可能会被遮罩以增强分类性能。

例如,我最近处理了肺部CT扫描图像的分类。对于预处理,我调整了图像的尺寸并将其转换为灰度。然后,我执行了图像分割以在图像中突出显示肺部。最后,我对图像像素进行了归一化处理,以便输入我的分类模型。根据你的应用,可能还会有其他更多的预处理技术需要考虑。

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中创建了一个多类分类项目。该项目可以对…

发表回复

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