Caffe中的crop_layer层
发布日期:2022-03-11 10:18:57
浏览次数:26
分类:技术文章
本文共 888 字,大约阅读时间需要 2 分钟。
Crop_layer是在Fully Convolutional Networks for Semantic Segmentation这篇论文中接触到的。我发现网络配置文件中使用到了Crop层。而Crop_layer层到底有什么作用呢?其实它主要是针对全卷积时,在原始图像上加了pad,致使图像比原始图像要大一些,最后我们利用这个crop层将pad裁剪掉。也就是说它的主要作用是进行裁切。
下面我们举一个例子来说明如何使用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)
转载地址:https://blog.csdn.net/weicao1990/article/details/110191701 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
表示我来过!
[***.240.166.169]2024年03月18日 02时54分10秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Laravel删除产品-CRUD之delete(destroy)
2019-04-21
appium的xpath定位问题及常用方法
2019-04-21
ibatis中#和$如何当作字符使用?
2019-04-21
数据库的导入导出
2019-04-21
采用最低松弛度优先调度的实时系统调度程序
2019-04-21
SCCM2012安装、配置
2019-04-21
更改SQL实例端口
2019-04-21
python开发_stat
2019-04-21
图像缩放的双线性内插值算法的原理解析
2019-04-21
QUrl不同版本之间的坑
2019-04-21
boost库(条件变量)
2019-04-21
future封装了callable,thread封装future。
2019-04-21
超酷的图像效果 (附demo; C#完成)
2019-04-21
1124 - Celebrity jeopardy
2019-04-21
知道什么时候该停下来!
2019-04-21
C# - 函数参数的传递
2019-04-21
经方的魅力之头痛案
2019-04-21
Hibernate框架
2019-04-21
【分享送书】NGUI全面实践教程V3.8.2 活动开始了!!
2019-04-21