首页 文章

ResNet中fintune的图像预处理

提问于
浏览
0

我想微调ResNet50 ImageNet预训练模型,我有一些关于微调图像预处理的问题 .

  • 在ImageNet预处理中,我们需要减去像素的平均值([103.939,116.779,123.68]) . 当我使用我的数据集进行微调时,我应该减去ImageNet的平均值还是减去我的数据的平均值 .

  • 我确实看到很多人将数据重新调整为[0,1],但是预训练模型(ImageNet)在[0,255]中使用了图像比例 . 人们为什么这样做?这合理吗?

2 回答

  • 0

    老实说,人们夸大了图像预处理的影响 . 唯一真正重要的是测试数据的 Value 尺度与训练数据相似 . 使用批量标准化具有预标准化数据集有一些理论上的好处,但在实践中它从未产生太大差异(2-4%准确度) .

    如果你有一个正在运行的模型,并且你试图获得那些最后几个%更好的准确性,而不必增加参数的数量,我建议将其调整到你的用例 .

    在我看来,没有一种方法适用于每个用例,但一个好的起点是使用与ImageNet相同的预处理,因为这些功能将类似于为imagenet分类生成的功能 .

  • 0
    • 我会尝试两者 . 减去你的平均值是有道理的,因为通常一个人试图得到平均值0.减去图像净平均值是有意义的,因为你想要网络作为特征提取器 . 如果你在特征提取器的早期改变某些东西,它可能根本不起作用 .

    • 就像平均值0一样,它通常被视为具有固定范围内的特征或具有固定标准偏差的特征 . 再次,我可以't really tell you what is better but you can easily try it. My guess is that there aren'吨太大的差异 .

    最重要的是:确保对培训/测试/评估数据应用相同的预处理步骤 .

相关问题