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

Neural network 为什么数据增强不能提高CNN中的纹理分类精度?,neural-network,deep-learning,caffe,conv-neural-network,Neural Network,Deep Learning,Caffe,Conv Neural Network,目前,我正在使用Alexnet进行分类任务 每个输入样本的大小为480*680,如下所示: 使用一个正常的网络,由大小为256*256(在预处理步骤中生成)的裁剪输入(批量大小为8)馈送,给了我92%的准确率 但是,当我尝试使用以下裁剪层生成每个(480*680)样本的5个裁剪(角点加中心裁剪)时: # this is the reference blob of the cropping process which determines cropping size layer { name

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

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

使用一个正常的网络,由大小为256*256(在预处理步骤中生成)的裁剪输入(批量大小为8)馈送,给了我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%,这很奇怪


有什么想法吗?

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


由于纹理倾向于重复某些质量,因此裁剪照片没有这样的优势:您呈现的是纹理的5个较小实例,颗粒相对较大,而不是完整的图像。

您可以发布一个样本(480x640)图像(预处理前)吗?裁剪图像中的重叠最小,因此您确定它们都正确地表示所需的分类吗?通常,这种数据增强涉及生成多个裁剪图像,这些图像大部分重叠,因此您希望分类的实际对象仅在每个裁剪图像中进行少量平移。如果每个角点图像只是要分类的对象的一小部分,则可能会在不经意间使分类任务变得更加困难。@Aenimated1感谢您的重播。实际上,它们是纹理图像。我个人认为,在这种情况下,生成这样的裁剪版本并没有多大帮助,但我在某个地方读到,它可以提高准确性。听起来很合理,非常感谢您的明确解释。