【问题标题】:Image Mean Subtraction in Custom Caffe Dataset?自定义 Caffe 数据集中的图像均值减法?
【发布时间】:2017-11-25 23:10:06
【问题描述】:

我目前正在创建一个图像数据集,以使用 Caffe 训练、验证和测试一个基本的自定义 ConvNet。

具体来说,我已经收集了我的 JPG 图像 (RGB),现在正在决定如何为我的网络预处理这些图像。我希望对图像应用基本规范化,例如减去图像意味着“居中”图像。

ImageNet 教程http://caffe.berkeleyvision.org/gathered/examples/imagenet.html 提到了这个操作,描述了如何通过将LMDB 传递给$CAFFE_HOME/build/tools 中的compute_image_mean 可执行文件来为数据集生成平均.binaryproto 文件。

我已经这样做了,现在有一个.binaryproto 文件用于我的训练 LMDB。据我了解,该文件本质上包含传递的 LMDB 中所有图像的平均像素值的表示。因此,我认为它正在存储某种形式的数组,其中包含三个通道的像素值。


问题:

我如何使用这个.binaryproto 文件来执行平均减法?

我是否应该为我的每个 LMDB(训练、验证、测试)创建单独的 .binaryproto 文件?还是我应该首先创建一个包含数据集中所有图像的 LMDB,从中生成平均值,然后将减法应用于所有子集?

任何建议将不胜感激。

【问题讨论】:

    标签: neural-network computer-vision caffe conv-neural-network pycaffe


    【解决方案1】:

    您需要仅使用您的训练集获取.binaryproto 文件,并在训练、验证和测试时使用它。

    这是因为,如果您取所有图像的平均值,您会在训练时间接向网络提供有关验证和测试图像性质的信息,这可能有助于其表现得比其他情况下更好。

    您可能知道,您需要将其添加到您的数据层中 prototxt 文件中的 transform_param 下。

    layer {
        name: "data" #the name
        # other attributes
        transform_param {
            mean_file: "path/to/training/binaryproto"
        }
    }
    

    stats.stackexchange.com 上的This question 也指同一个查询,该查询也链接到this useful resource

    【讨论】:

      猜你喜欢
      • 2017-05-04
      • 1970-01-01
      • 2018-07-29
      • 1970-01-01
      • 2015-06-26
      • 2017-11-18
      • 2018-08-04
      • 2020-07-30
      • 2019-12-30
      相关资源
      最近更新 更多