为什么数据增强不能提高CNN中的纹理分类准确度?

时间:2016-05-31 14:53:38

标签: neural-network deep-learning caffe conv-neural-network

目前,我正在使用Alexnet进行分类任务。

每个输入样本的大小为480 * 680,如下所示:

enter image description here

使用普通网络,由批量大小为8的256 * 256(在预处理步骤中生成)的裁剪输入提供,使我的准确率达到92%。

但是,当我尝试使用以下裁剪层生成每种(480 * 680)样本(角落加中心裁剪)的5种作物时:

# this is the reference blob of the cropping process which determines cropping size
layer {
  name: "reference-blob"
  type: "Input"
  top: "reference"
  input_param { shape: { dim: 8 dim: 3 dim: 227 dim: 227 } }
}
# upper-left crop
layer{
  name: "crop-1"
  type: "Crop"
  bottom: "data"
  bottom: "reference"
  top: "crop-1"
  crop_param {
      axis: 2
      offset: 1
      offset: 1
    }
}
# upper-right crop
layer{
    name: "crop-2"
    type: "Crop"
    bottom: "data"
    bottom: "reference"
    top: "crop-2"
    crop_param {
        axis: 2
        offset: 1
        offset: 412
    }
}
# lower-left crop
layer{
    name: "crop-3"
    type: "Crop"
    bottom: "data"
    bottom: "reference"
    top: "crop-3"
    crop_param {
        axis: 2
        offset: 252
        offset: 1
    }
}
# lower-right crop
layer{
    name: "crop-4"
    type: "Crop"
    bottom: "data"
    bottom: "reference"
    top: "crop-4"
    crop_param {
        axis: 2
        offset: 252
        offset: 412
    }
}
# center crop
layer{
    name: "crop-5"
    type: "Crop"
    bottom: "data"
    bottom: "reference"
    top: "crop-5"
    crop_param {
        axis: 2
        offset: 127
        offset: 207
    }
}
# concat all the crop results to feed the next layer
layer{
    name: "crop_concat"
    type: "Concat"
    bottom: "crop-1"
    bottom: "crop-2"
    bottom: "crop-3"
    bottom: "crop-4"
    bottom: "crop-5"
    top: "all_crops"
    concat_param {
            axis: 0
    }
}
# generating enough labels for all the crop results
layer{
    name: "label_concat"
    type: "Concat"
    bottom: "label"
    bottom: "label"
    bottom: "label"
    bottom: "label"
    bottom: "label"
    top: "all-labels"
    concat_param {
            axis: 0
    }
}

这导致准确率达到90.6%,这很奇怪。

任何想法?

1 个答案:

答案 0 :(得分:1)

裁剪版本的典型用法是在识别过滤器的规范位置获得关键功能。例如,典型的5种方法经常发现“靠近图像中间的动物脸”经常足以使其从最后出现2-4层作为学习图标。

由于纹理往往会重复某些特性,因此在裁剪照片时没有这样的优势:你呈现5个较小的纹理实例,具有相对较大的纹理,而不是完整的图像。