【问题标题】:caffe resize image make all values 0caffe 调整图像大小使所有值都为 0
【发布时间】:2016-04-09 06:31:26
【问题描述】:

我在使用 caffe 从图像生成 HDF5 数据文件时遇到了这个问题。

caffe.io.load_image 将图像加载到标准化范围 0-1 内的变量中。

调整大小,但 img 中的所有值都转换为零

    img = caffe.io.load_image( patht_to_file )
    print img.shape
    print img.dtype
    img = caffe.io.resize( img, (3,SIZE, SIZE) ) #resizes but all values in img converted to zero
    print img.shape
    print img.dtype

我得到的输出是

  (240, 320, 3) 
  float32
  (3, 58, 58) 
  float64

img 的值已将某些值更改为全 0 谁能帮我解决这个问题。

我想要相同的 float32 更改 resize 命令的顺序给出正确的输出 为 var img 提供实数非零值 但顺序和类型不是我需要的

img = caffe.io.resize( img, (SIZE, SIZE, 3) ) # Gives real non zero values to var img
print img.shape
print img.dtype

输出

(240, 320, 3) 
float32
(58, 58, 3) 
float64

我需要形状为 3,58,58,而不会将所有值都转换为零,即真实数据

【问题讨论】:

  • 您觉得与img = caffe.io.resize_image( img, (SIZE,SIZE), interp_order=3 ) 有很大不同吗?因为我正在做类似的实验并将图像大小调整为网络输入 (data) 大小不会改变我的结果!

标签: python image-processing neural-network deep-learning caffe


【解决方案1】:

出了什么问题?

您的img 是一个 3-D 数组,但不同的维度有不同的含义。前两个(240,320)空间 维度,而第三个(3) 是“通道”(或“特征”)维度。当resize-ing 图像时,您希望更改 空间 尺寸,甚至混合(插值)相邻值,但您始终希望保持通道完整:您不想混合“红色”值以决定相邻像素的“绿色”值。

在 caffe 中,为了获取形状为 (240,320,3) 的输入图像并将其转换为形状 (3,58,58),您需要做两件事
1. 使用caffe.io.resize_image空间 维度从(240,320) 更改为(58,58)。此阶段将导致img 形状为(58,58,3)
2.第二阶段是将img的维度移位/transpose,使通道维度成为第一:img.transpose((2,0,1))

解决办法:

# first, resize the spatial dimensions, do not touch the channels
img = caffe.io.resize_image( img, (SIZE,SIZE), interp_order=3 )
# transpose the dimensions from H-W-C to C-H-W
img = img.transpose( (2,0,1) )

更多详情请见resize_image

PS,
将 RGB 图像更改为 BGR 也很常见。你跳过了这个阶段。这是故意的吗?

【讨论】:

  • 我收到一个错误“resize() got an unexpected keyword argument 'interp_order'”
  • 是的,虽然它确实没有给分类带来任何好处,但我决定跳过它。在执行 HDF5 数据训练时,我还有一个问题是在哪些维度上执行卷积?例如,考虑这个数据文件有 200 个图像,HDF5 数据的格式为 200x58x58x3。二维卷积会在哪里发生?在空间 58*58 上?还是 caffe 认为这张图像有 58 个通道,每个通道的大小为 58*3,并在这个 58*3 维度上执行卷积??
  • @ArsenalFanatic 默认情况下,caffe 的卷积作用于最后两个维度,将第二个维度视为特征维度。如果您希望您的 caffe 正常运行,请使用形状 Batch-Channel-Height-Width 为其提供数据。
猜你喜欢
  • 2017-12-22
  • 1970-01-01
  • 2014-05-05
  • 2021-09-06
  • 1970-01-01
  • 1970-01-01
  • 2021-08-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多