Deep learning 深度学习中哪种图像预处理更好

Deep learning 深度学习中哪种图像预处理更好,deep-learning,image-preprocessing,Deep Learning,Image Preprocessing,这里有三种从uint8转换到float32的预处理方法。建议在conv2d->batch norm->ReLU结构中使用哪一个(例如,健壮性和避免死掉的ReLU问题),或者有什么建议 如中所述,使用在训练集上计算的均值和标准差对零中心和标准化图像进行处理。我认为当训练集很大时,这种方法会花费很多 就像在 image/=255 图像-=0.5 图像*=2.0 只需将图像除以255即可 预处理有不同的风格,它通常取决于您使用的框架。例如,Pytorch规格化为[0,1],Tensorflow规格化为

这里有三种从uint8转换到float32的预处理方法。建议在conv2d->batch norm->ReLU结构中使用哪一个(例如,健壮性和避免死掉的ReLU问题),或者有什么建议

  • 如中所述,使用在训练集上计算的均值和标准差对零中心和标准化图像进行处理。我认为当训练集很大时,这种方法会花费很多

  • 就像在

    image/=255
    图像-=0.5
    图像*=2.0

  • 只需将图像除以255即可


  • 预处理有不同的风格,它通常取决于您使用的框架。例如,Pytorch规格化为[0,1],Tensorflow规格化为[-1,1],Keras将范围保留为[0255]。我引用了这篇文章。根据我的经验,规范化并不会对图像产生任何影响,所以请坚持使用框架中使用的规范化。但是,如果您有其他数据,如测量的时间序列等,则标准化可能会对成功的培训产生影响


    减去平均值并除以标准差是相当常见的,并且由于广播的原因,不需要计算昂贵。这已被证明在准确性方面有所不同。但是,我通常只将其用于图像大小较大的数据集,如ImageNet。

    谢谢您的回答。你能解释一下,对于较大的数据集,你只需减去平均值,然后除以标准差的原因吗?我没有看到分类准确度的显著变化。更准确地说,对于小数据集,我指的是MNIST或CIFAR中的小图像大小。所以我应该说图像尺寸小。我将编辑我的答案。