训练图像的质量会影响神经网络的准确性吗?

人工智能 神经网络 机器学习 数据集 表现
2021-11-01 07:10:10

几个月前我刚接触人工智能。我注意到训练数据集中的大多数图像通常质量很低(几乎像素化)。

训练图像的质量会影响神经网络的准确性吗?

我尝试谷歌搜索,但找不到答案。

2个回答

对于当前的大多数用例,在将 NN 与图像结合使用的情况下,图像质量(分辨率、颜色深度)可能很低。

例如,考虑图像分类。CNN 从图像中提取特征以区分不同类型的对象。这些特征完全独立于图像的质量(在合理的范围内)。将其与您自己的视觉体验进行比较。尝试逐步降低汽车图像的分辨率,以弄清楚您需要多少细节,直到您无法再将其与飞机区分开来。这类似于现代 CNN,在某些方面甚至可以超越人类视觉。

当小细节开始变得重要时,情况就会改变。也许您需要能够检测毛皮图案的微小差异,以区分不同的猫品种。一旦你丢失了这些细节,检测率就会显着下降。

所以你的问题的答案是,这取决于。只要您不丢失图像的重要特征,低分辨率就可以了。


如果您关心机器学习中使用的图像质量低下的原因 - 分辨率是您可以操纵以扩展 NN 速度的一个简单因素。降低分辨率将显着降低计算需求。

许多 CNN 甚至在其架构中包含池化层,这会在某些处理步骤后人为地进一步降低分辨率。只要您不介意丢失位置信息,这通常是一个好主意。在教 CNN 玩游戏时不应该这样做,因为位置非常重要,但对于图像分类,这已成为提高性能的既定方法。

让我分两部分回答你的问题。

  1. 如果要在具有高细节信息内容)的图像上训练网络;比如,如果你想训练一个能够挑选和分类图像中最小元素的网络。
    例如 - 家庭野餐中的图像,您想要对放在桌子上的篮子中的每个水果进行分类,这只会占用大约 5% 的总图像空间。
    如果您降低此类图像的像素分辨率(压缩像素信息),那么您最终会模糊篮子部分(由于信息重叠)并且会严重影响您的网络;导致训练有素的参数不好。
    注意 - 水果篮不仅是分类器关注的单个对象,还包括背景中的其他事物(树木、风景......),因此您需要整个图像进行训练。

    2.当要分类的对象包含多余的(或不太独特的信息时。
    例如-最简单的使用 NN 来训练一组字符([a-z0-9]);现在此类图像的高像素分辨率对网络没有任何好处。与存储和训练时间导致的开销相比,高密度图像分类的改进将是最小的高训练时间不会影响您的网络,也不是衡量网络准确性的标准,也就是说,高训练时间和低训练时间的网络是等价的)。
    我们可以轻松地将像素密度降低到我们仍然可以保留所需信息的程度。
    注意-在野餐图像中,我们的焦点仅在篮子上,因此我们可以从框架中剪下该部分并将其像素减少到每个水果仍然保留其信息的程度,不存在信息泄漏。