关于 Caffe 中 crop_size 的问题

Caffe项目里 models/finetune_flickr_style/train_val.prototxt
name: "FlickrStyleCaffeNet"
layer {
name: "data"
type: "ImageData"
top: "data"
top: "label"
include {
phase: TRAIN
}
transform_param {
mirror: true
crop_size: 227
mean_file: "data/ilsvrc12/imagenet_mean.binaryproto"
}
image_data_param {
source: "data/flickr_style/train.txt"
batch_size: 50
new_height: 256
new_width: 256
}
}
layer {
name: "data"
type: "ImageData"
top: "data"
top: "label"
include {
phase: TEST
}
transform_param {
mirror: false
crop_size: 227
mean_file: "data/ilsvrc12/imagenet_mean.binaryproto"
}
image_data_param {
source: "data/flickr_style/test.txt"
batch_size: 50
new_height: 256
new_width: 256
}
}
deploy.prototxt 
name: "FlickrStyleCaffeNet"
layer {
name: "data"
type: "Input"
top: "data"
input_param { shape: { dim: 10 dim: 3 dim: 227 dim: 227 } }
}
第一个问题:  在 train_val.prototxt 里new_width 和 new_height 是先将训练用的图片缩放成256*256, 再从里边随机取224*224 对吗?
第二个问题: 在训练好模型后, 我使用 python 接口作分类时(python/classify.py)时,需要设置 image_idms=256,256, center_only=true, 它会先把图像缩放至256*256, 再从中间取224*224对吗?
    parser.add_argument(
"--center_only",
action='store_true',
help="Switch for prediction from center crop alone instead of " +
"averaging predictions across crops (default)."
)
parser.add_argument(
"--images_dim",
default='256,256',
help="Canonical 'height,width' dimensions of input images."
)

# Make classifier.
classifier = caffe.Classifier(args.model_def, args.pretrained_model,
image_dims=image_dims, mean=mean,
input_scale=args.input_scale, raw_scale=args.raw_scale,
channel_swap=channel_swap)

第三个问题: 如果 本身图像长宽不一样,而把图像缩放至256*256,我觉得有图像中的物体会变形,比如人脸会拉长或者压扁很多. 为什么只把短边缩放至256甚至224, 这样图像没有变形,再从上边取224*224, 这样不更好吗?
已邀请:

爱在路上 - 想成为菜鸟中的战斗机

赞同来自:

不是在制作LMDB数据集时就裁剪成224*224吗

要回复问题请先登录注册