deeplab hole algorithm
最近看了几篇文章,其中均用到了hole algorithm。
最早用的就是deeplab的文章了,Semantic Image Segmentation with Deep Convolutional Nets and Fully Connected CRFS 这篇文章和fcn不同的是,在最后产生score map时,不是进行upsampling,而是采用了hole algorithm,就是在pool4和pool5层,步长由2变成1,必然输出的score map变大了,但是receptive field也变小了,为了不降低receptive field,怎么做呢?利用hole algorithm,将卷积weights膨胀扩大,即原来卷积核是3x3,膨胀后,可能变成7x7了,这样receptive field变大了,而score map也很大,即输出变成dense的了。
这么做的好处是,输出的score map变大了,即是dense的输出了,而且receptive field不会变小,而且可以变大。这对做分割、检测等工作非常重要。
基于这个做检测的文章:SSD: Single Shot MultiBox Detector
接下来做分割的文章:Learning Dense Convolutional Embeddings for Semantic Segmentation Multi-Scale Context Aggregation by Dilated Convolutions
后来经同事提醒,回头看了看xiaogang wang的文章,Highly Efficient Forward and Backward Propagation ofConvolutional Neural Networks forPixelwiseClassification 确实是一样的,但是他们的这篇文章引用率却不咋地啊,可能也和他们的开源态度有关系吧,他们只放出来部分代码,没诚心啊。
和同事讨论这个算法,我同事觉得这个后面的卷积核的变化必须和前面的pooling协调使用。可我始终觉得没有这个限定啊,目前都是这样用,是因为基本上都是用pooling进行降维,而不是convlution,感觉从文章里看也是没这个限定啊。当然如果能协调使用,就最大限度保证了位置信息,但是pooling步长变化了,其实严格来讲,已经不完全和之前的模型完全一样了,已经有变化了,但是如果不协调使用的话,变化就会更大了。而且如果从receptive field的角度来讲,其实是可以变化的,也就是说可以把receptive field变大,而且可以变的很大,而不是仅仅保持不变小,感觉其实hole algorithm的存在,一方面原因也是不想让receptive field变小。
这两篇文章都是我讲的,估计过几天我又忘记了。
deeplab hole algorithm的更多相关文章
- 转 SSD论文解读
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/u010167269/article/det ...
- 关于SSD和YOLO对小目标的思考
所谓的小目标,要看是绝对小目标(像素),和相对小目标(相对原图的长宽来看的).大目标小目标只跟receptive field(感受野)有关,cnn本身可以检测任何尺度的物体.ssd对小目标检测不太适用 ...
- 论文阅读之:Is Faster R-CNN Doing Well for Pedestrian Detection?
Is Faster R-CNN Doing Well for Pedestrian Detection? ECCV 2016 Liliang Zhang & Kaiming He 原文链接 ...
- R-FCN论文翻译
R-FCN论文翻译 R-FCN: Object Detection viaRegion-based Fully Convolutional Networks 2018.2.6 论文地址:R-FCN ...
- 【Semantic Segmentation】 Instance-sensitive Fully Convolutional Networks论文解析(转)
这篇文章比较简单,但还是不想写overview,转自: https://blog.csdn.net/zimenglan_sysu/article/details/52451098 另外,读这篇pape ...
- 中文版 R-FCN: Object Detection via Region-based Fully Convolutional Networks
R-FCN: Object Detection via Region-based Fully Convolutional Networks 摘要 我们提出了基于区域的全卷积网络,以实现准确和高效的目标 ...
- Mesh Algorithm in OpenCascade
Mesh Algorithm in OpenCascade eryar@163.com Abstract. Rendering a generic surface is a two steps pro ...
- 《In Search of an Understandable Consensus Algorithm》翻译
Abstract Raft是一种用于管理replicated log的consensus algorithm.它能和Paxos产生同样的结果,有着和Paxos同样的性能,但是结构却不同于Paxos:它 ...
- POJ 1584 A Round Peg in a Ground Hole --判定点在形内形外形上
题意: 给一个圆和一个多边形,多边形点可能按顺时针给出,也可能按逆时针给出,先判断多边形是否为凸包,再判断圆是否在凸包内. 解法: 先判是否为凸包,沿着i=0~n,先得出初始方向dir,dir=1为逆 ...
随机推荐
- 查询sql2005&2008全部表信息
如果是查询sql server ,把sys.extended_properties修改为SysProperties SELECT 表名 THEN D.NAME ELSE '' END, 表说明 THE ...
- Linux学习笔记2_mysql安装
查看文件内容的命令有很多:cat, tac, more, less, head, tail, nl. cat由第一行开始显示档案内容:tac从最后一行开始显示,可以看出tac是cat的倒着写:more ...
- linux pam 控制模式
工作类别(type).流程栈(stack)和控制模式(control) Linux-PAM 工作的"类别"(type) PAM 的具体工作主要有以下四种类别(type):accou ...
- Linux内核分析总结
张潇月 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 学习目录: (1)计算机是如何工作的 h ...
- JS動態綁定下拉單內容
function req00_Line1_onChange(obj) { //if ($(obj).val() != "" && $(obj).val() ...
- iOS返回一个前面没有0,小数点后保留两位的数字字符串
/* * 处理一个数字加小数点的字符串,前面无0,保留两位.网上有循环截取的方法,如果数字过长,浪费内存,这个方法在优化内存的基础上设计的. */ -(NSString*)getTheCorrectN ...
- java中值传递和引用传递
最近工作中使用到了值传递和引用传递,但是有点懵,现在看了下面的文章后清晰多了.一下是文章(网摘) 1:按值传递是什么 指的是在方法调用时,传递的参数是按值的拷贝传递.示例如下: public clas ...
- 【java基础学习一】int[]、Integer[]、String[] 排序( 正序、倒叙)、去重
调用: //重复项有9.5.1.2 int[] ints = new int[]{9,4,7,8,2,5,1,6,2,5,9,1}; arrayIntTest(ints); ///////////// ...
- XidianOJ 1154 Nhywieza 的串
题目描述 输入 输出 对于每组数据输出 1 行,表示最少的操作次数. --正文 找到连续的0一起变就好 #include <iostream> #include <cstring&g ...
- Buffer Cache
Buffer Cache Buffer Cache是SGA区中专门用于存放从数据文件中读取的的数据块拷贝的区域.Oracle进程如果发现需要访问的数据块已经在buffer cache中,就直接读写内存 ...