为什么 caffe io load_image 将 png 文件的 rgb 值从 0-1 归一化?

Why does caffe io load_image normalize rgb values of png files from 0-1?

caffe.io.load_image() 函数调用 png,returns numpy 3d 数组,rgb 值作为标准化浮点数在 0-1 范围内而不是 0-255。

这是:

  1. 将图像加载到类似结构的数组中时的常见做法?
  2. 与 caffe 网络层如何使用图像有关?
  3. 与 png 文件的存储方式有关?

谢谢

将像素值标准化到范围 [0..1](而不是 [0..255])不仅在深度学习中是常见的做法,在 image-processing/computer-vision 的其他领域也是如此。
这主要是因为原生 uint8 像素值不容易使用 - uint8 容易 over/underfloat。因此,在[0..1].

范围内将像素值转换为float类型更方便

试图处理深度网络中的 vanishing/exploding 梯度,有许多分析激活值分布的理论论文(参见 this work)。这些作品通常假设值的正态分布——因此是缩放。您还会遇到许多网络,除了缩放网络之外,还从输入中减去 "image mean"。