代码先锋网 代码片段及技术文章聚合

caffe crop层理解

转自:  http://www.cnblogs.com/kunyuanjushi/p/5937083.html


Fully Convolutional Networks(FCN)中,会用到Crop 层,他的主要作用是进行裁切。下面我们举一个例子来说明如何使用Crop 层。

 

  Caffe中的数据是以 blobs形式存在的,blob是四维数据,即 (Batch size, number of Chennels, Height, Width)=(N, C, H, W)。---(0,1,2,3)

 

Crop层的输入(bottom blobs)有两个,让我们假设为A和B,输出(top)为C。

  • A是要进行裁切的bottom,他的size是 (20,50,512,512)
  • B是裁切的参考输入,他的size是(20,10,256,256)
  • C是输出(top blob),由A裁切而来,那么他的size是(20,10,256,256)

  

  在这个例子中,轴0的维度不变,我们只需要裁切blob的轴1,2,3,所以我们设置axis=1,代表我们将会裁切轴1和它之后的所有轴。

  有两个裁切模式:

模式1---给出3个offsets,每个针对一个dimension,offset=(25,128,128)

  • axis=1,offset=(25,128,128)
  • crop operation: C = A[: , 25: 25+B.shape[1] , 128: 128+B.shape[2] , 128: 128+B.shape[3] ]
  • 也就是说,对于A的轴1,对称裁切了25-35
  • 对称裁切:offset = (Original_length - desired length ) / 2

 

模式2---给出1个offset,适用于三个dimension,offset=25

  • 那么就相当于模式1 的 offset=(25,25,25)

  

  模式1的prototxt写法如下:

layer {
  name: "crop_layer"
  type: "Crop"
  bottom: "A"
  bottom: "B"
  top: "C"
  crop_param {
    axis: 1
    offset: 25
    offset: 128
    offset: 128
  }
}


版权声明:本文为wangkun1340378原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wangkun1340378/article/details/76413028

智能推荐

caffe的正则项理解

caffe的正则项理解 在神经网络的cost function中,出了主目标函以外,往往伴有正则项。如下述公式, J(θ)=1N∑i=0N(hi(θ)−yi)2+λL2(θ)(1)J(θ)=1N∑i=0N(hi(θ)−yi)2+λL2(θ)(1) J(&the...

caffe 层参数理解

caffe.proto 源码在bvlc/caffe上,proto文件理解为传送门,proto注释为传送门。 层的类型有: 层的理解为: SolverParameter NetParameter LayerParameter TransformationParameter LossParameter FillerParameter AccuracyParameter ArgMaxParameter ...

MTCNN-Caffe(一)随机Crop图片分成3类

在做MTCNN时,首先训练12Net,目的是为了提高Face的召回率,即首先进行三分类:pos,neg,part genetate size为12的py文件:  ...

caffe中使用crop_size剪裁训练图片

转自:https://blog.csdn.net/u010417185/article/details/52651761 下面以一个简单的例子进行介绍。 [python] view plain copy print? layer {     name: ”data”     ...

将caffe变成crop长宽不同的大小

大家都知道,在使用imagedata层的时候,有一个特别好用的transform_param的一个参数:crop_size,它能够将image按照你想要的大小crop下来。如果你输入的是多scale的图片,这样无疑是省去了预处理的一大步骤,同时还能进行数据增强。但是,张小肚这次想实现的是crop一个长方形!(长宽不一致)怎么办呢?张小肚对C/C++几乎不熟悉,这可怎么办呢?—&mdas...

猜你喜欢

【Caffe】

cd $CAFFE_ROOT ./data/mnist/get_mnist.sh ./examples/mnist/create_mnist.sh ./examples/mnist/train_lenet.sh 制作测试图片: 测试图片:test.py predicted class: 4...

caffe

在/data/VOCdevkit目录下创建mydataset, 并放入自己的数据集:     其中Annotations中存放一些列XML文件,包含object的bbox,name等;  ImageSets中三个子目录下均存放train.txt, val.txt, trainval.txt, test.txt这几个文件,文件内容为图片的文件名(不带后缀); ...

Caffe

Caffe 安装Caffe 编译 安装Caffe 下载 Caffe: 编译 修改Makefile.config中,去掉CPU_ONLY := 1前面的#号, 去掉USE_OPENCV := 0前面的#号 实验版本,为了简化编译过程,只使用CPU,也不使用OpenCV。 编译过程中提示找不到protobuf的头文件,运行: 编译过程中如果提示 是因为boost的开发库没有安装: 执行: 提示: 这是...

Caffe

安装 veclib...

上拉加载

上拉加载 小程序有内置函数可以实现上拉加载...