【问题标题】:How to input an image and a mask simultaneously in caffe?如何在 caffe 中同时输入图像和蒙版?
【发布时间】:2018-04-10 20:23:17
【问题描述】:

在 caffe 中使用掩码预处理我的输入数据的最优雅的方法是什么? 目前我的输入只是一个根据 prototxt 文件转换的图像。有人可以提供一个代码 sn-p 如何修改 prototxt 文件,使其接受两个输入(图像和掩码)并将它们相乘吗?

这是我目前尝试过的:

layer {
  name: "data"
  type: "ImageSegData"
  top: "data"
  top: "label"
  top: "data_dim"
  include {
    phase: TRAIN
  }
  transform_param {
    mirror: true
    crop_size: 321
    mean_value: 104
    mean_value: 116
    mean_value: 122
  }
  image_data_param {
    root_folder: "/home/myUsername/datasets/myDataset"
    source: "myDataset/list/trainFiles.txt"
    batch_size: 10
    shuffle: true
    label_type: PIXEL
  }
}

layer {
  name: "mask"
  type: "ImageData"
  top: "mask"
  include {
    phase: TRAIN
  }
  image_data_param {
    root_folder: "/home/myUsername/datasets/myDataset"
    source: "myDataset/list/trainMaskFiles.txt"
    batch_size: 10
    shuffle: true
    label_type: PIXEL
  }
}


########## Product ############
layer {
  name: "product"
  type: "Eltwise"
  bottom: "data"
  bottom: "mask"
  top: "product"
  eltwise_param { operation: PROD }
}

问题是:

  1. 如何确保 caffe 保持图像和相应蒙版的顺序?由于两个输入层都有“洗牌”选项,我猜它们可能会被独立洗牌。
  2. 同样的问题也适用于选项“crop_size: 321”,我还需要在同一位置为每个图像及其蒙版执行该选项
  3. 我的原始图像大小为 513 x 513。不幸的是,当我增加图像的裁剪大小并遮罩约 160 像素时,caffe 因分割错误而崩溃。由于低于 160 像素一切正常,我认为 prototxt 文件没有问题。然而,从记忆的角度来看,这也不应该发生。我有一个 12 GB Titan GPU,没有掩码的模型在内存上大约 3GB。所以我不认为简单地添加掩码会大大增加内存。
  4. 现在我将掩码存储为 3 通道 png 文件,这将我限制为 0 到 255 之间的整数值。

【问题讨论】:

  • 您使用的是原始发行版 caffe 还是修改后的版本(例如 deeplab)?我之所以问,是因为截至目前,原始分布没有“ImageSegData”层。
  • 我使用的是 deeplab 版本,但是对于 caffe 和 "ImageData" 而不是 "ImageSegData" 的问题应该保持不变

标签: caffe


【解决方案1】:

在哪里,我还不确定,但我想你可以通过修改实现 ReadImageToCVMat 功能的 caffe 的源代码来尝试。在这个函数中,它调用了一个opencv函数cv::imread,让第二个参数为-1而不是其他标志。在你修改它并重建 caffe 之后,opencv 应该读取一个“png”文件,它的 alpha 通道是你放置掩码的地方。我认为这应该有效。试试看吧。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-10
    • 2011-05-10
    • 2015-11-04
    • 2020-10-04
    • 1970-01-01
    • 1970-01-01
    • 2021-08-24
    • 2014-05-14
    相关资源
    最近更新 更多