为什么 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。
这是:
- 将图像加载到类似结构的数组中时的常见做法?
- 与 caffe 网络层如何使用图像有关?
- 与 png 文件的存储方式有关?
谢谢
将像素值标准化到范围 [0..1]
(而不是 [0..255]
)不仅在深度学习中是常见的做法,在 image-processing/computer-vision 的其他领域也是如此。
这主要是因为原生 uint8
像素值不容易使用 - uint8
容易 over/underfloat。因此,在[0..1]
.
范围内将像素值转换为float
类型更方便
试图处理深度网络中的 vanishing/exploding 梯度,有许多分析激活值分布的理论论文(参见 this work)。这些作品通常假设值的正态分布——因此是缩放。您还会遇到许多网络,除了缩放网络之外,还从输入中减去 "image mean"。
caffe.io.load_image()
函数调用 png,returns numpy 3d 数组,rgb 值作为标准化浮点数在 0-1 范围内而不是 0-255。
这是:
- 将图像加载到类似结构的数组中时的常见做法?
- 与 caffe 网络层如何使用图像有关?
- 与 png 文件的存储方式有关?
谢谢
将像素值标准化到范围 [0..1]
(而不是 [0..255]
)不仅在深度学习中是常见的做法,在 image-processing/computer-vision 的其他领域也是如此。
这主要是因为原生 uint8
像素值不容易使用 - uint8
容易 over/underfloat。因此,在[0..1]
.
float
类型更方便
试图处理深度网络中的 vanishing/exploding 梯度,有许多分析激活值分布的理论论文(参见 this work)。这些作品通常假设值的正态分布——因此是缩放。您还会遇到许多网络,除了缩放网络之外,还从输入中减去 "image mean"。