上一篇介绍了图像预处理中 resize 和 crop 的概念,在仓库的 python 预处理函数中,在 resize 和 crop之后,还有几个预处理的过程:一个是归一化,另外就是transpose 和reshape。
这一节就介绍一下,为什么在推理之前还需要对图像进行归一化。
归一化(Normalization)
在深度学习中,推理或训练之前对图像进行预处理,特别是归一化,是一种非常常见的做法。
那为什么要做归一化呢?
使用归一化的目的是将输入数据进行标准化,使输入的数据具有相似的分布。
什么意思呢?我们以图像举例子,不同的图片之间数据分布差异是很大的,有些图片的像素值普遍偏大,而有些图片的像素值偏小。
数据分布的不同,会导致神经网络在训练或者推理时出现较大的偏差,有时会导致训练收敛困难,推理误差较大。
这一点我们在介绍bn算法的时候曾经说到过,Bn 算法就是为了纠正在隐藏层与层之间,由于数据分布不一致而导致的模型难以收敛的问题,可以翻回到 bn 介绍的那一节再复习一下。
所以在将不同的图片送给神经网络进行推理之前,我们也需要对不同的图片中数据分布进行归一化,以纠正不同图片样本之间的数据偏差,从
图像预处理中的归一化是深度学习中必不可少的步骤,其目的是标准化输入数据,减少不同图像间数据分布的差异,避免训练或推理时的偏差。归一化通常涉及均值和标准差,例如在ResNet50中使用的ImageNet数据集统计得到的参数。归一化后,还需进行transpose和reshape操作以匹配算法逻辑。预处理完整流程完成后,图像即可送入神经网络进行推理。
订阅专栏 解锁全文
5万+

被折叠的 条评论
为什么被折叠?



