完全卷积网络 - 训练数据中不同大小的图像

时间:2017-07-21 11:05:24

标签: python keras deep-learning computer-vision conv-neural-network

我正在尝试使用Keras库Tensorflow后端对完全卷积神经网络进行建模。

我面临的问题是将不同大小的图像分批投放到model.fit()功能。训练集包括不同大小的图像,从768x501到1024x760不等。

不超过5张图片具有相同的尺寸,因此将它们分组成批似乎没有任何帮助。

Numpy允许以列表形式将数据存储在单个变量中。但是keras model.fit()函数在接收列表类型训练数组时会抛出错误。

我不希望调整大小并丢失数据,因为我已经拥有一个非常小的数据集。

我如何开始培训这个网络?

1 个答案:

答案 0 :(得分:0)

我认为空间金字塔池(SPP)可能会有所帮助。检出此paper

  

我们注意到SPP对于深层CNN具有几个显着的特性:

     

1)SPP能够生成固定长度的输出,而不管输入大小如何,而以前的深层网络中使用的滑动窗口池则无法;

     

2)SPP使用多级空间仓,而滑动窗口池仅使用单个窗口大小。多层池已显示出对对象变形的鲁棒性;

     

3)由于输入比例尺的灵活性,SPP可以合并以可变比例尺提取的要素。通过实验表明,所有这些因素都可以提高深度网络的识别精度。


yhenon已实施SPP for Keras on Github

相关问题