保留正文与补采附件。源页面当前未重新核验;具体限制见交付清单。
[](javascript:void(0))
关注推荐热榜专栏圈子AI WorksBeta 故事
直答
切换模式
登录/注册
【简评】Understanding Convolution for Semantic Segmentation
首发于Segmentation Paper Reading
切换模式
余昌黔
华中科技大学 控制科学与工程博士
收录于 · Segmentation Paper Reading
122 人赞同了该文章
本篇论文主要有两个创新点,DUC(dense upsampling convolution)和HDC(hybrid dilated convolution),分别针对上采样和dilated convolution问题进行改进。
我用pytorch实现了DUC功能,代码放在我的github上了,欢迎star,欢迎讨论。
DUC
语义分割任务下的网络基本都具有encoding和decoding的过程,而大多数网络在decoding时使用的是双线性插值。而双线性插值是不能学习的,且会丢失细节信息。所以,文章中提出了一种方法:dense updampling convolution——通过学习一些系列的放大的过滤器来放大降采样的feature map到最终想要的尺寸。具体结构如下:
整个想法很清晰,就是将长宽尺寸上的损失通过通道维度来弥补。假设原图大小为H×WH\times W,经过ResNet后维度变为h×w×ch\times w\times c(其中h=H/rh = H / r , w=W/r w = W/r),通过卷积后输出feature map维度为h×w×(r2×L)h\times w \times (r^2 \times L),其中LL是语义分割的类别数。最后通过reshape到H×W×LH\times W\times L尺寸就可以了。不难看出,DUC的主要思想就是将整个label map划分成与输入的feature map等尺寸的子部分。所有的子部分被叠加r2r^2次就可以产生整个label map了。这种变化允许我们直接作用在输出的feature map上而不用像deconvolution和unpooling那样还需要一些额外的信息。
实验对比如下:
其中,DS:Downsampling rate of the network. Cell:neighborhood region that one predicted pixel represents.
HDC
HDC主要是为了解决使用dilated convolution会产生的“gridding issue”。
当dilated convolution在高层使用的rate变大时,对输入的采样将变得很稀疏,将不利于学习——因为一些局部信息完全丢失了,而长距离上的一些信息可能并不相关;并且gridding效应可能会打断局部信息之间的连续性。
第一行是ground truth,第二行是gridding现象,第三行是使用HDC后的输出
所以,文章提出了HDC——使用一系列的dilation rates而不是只用相同的rate,并且使用ResNet-101中blocks的方式连接它们。具体展示如下:
a:所有的卷积层都使用dilation rate r = 2
b:连续的卷积层使用dilation rates r = 1, 2, 3
从这也可看出,HDC还有一个好处,可以增大网络的感受野。
实验对比如下:
RF是使用了HDC结构的,bigger是指HDC中使用的rates更大
论文地址:https://arxiv.org/pdf/1702.08502.pdf
编辑于 2017-06-22 13:30
semantic segmentation
深度学习(Deep Learning)
赞同 12231 条评论236 1
分享
申请转载
未登录用户
31 条评论
默认
最新
makiii
论文公式2好乱,没看懂
2019-07-02
回复喜欢
王泮渠
感谢作者。我们的MXNet代码也已开源:TuSimple/TuSimple-DUC 希望对大家有帮助。
2017-11-09
回复3
余昌黔
作者
点赞
2017-11-09
回复喜欢
展开其他 1 条回复
余昌黔
作者
对,这只是我做的一些实验。实验结果还是最后接DUC才有效,因为多层duc感觉会导致feature map的歧义性
2017-08-28
回复1
展开其他 2 条回复
御宅暴君
https://github.com/ycszen/pytorch-ss/blob/master/duc.py#L27 里的 FCN 用了 skip-connection 结构,论文的实现并没有这个结构而是一步 DUC 到位,对吗?
2017-08-28
回复喜欢
御宅暴君
感觉 Understanding Convolution for Semantic Segmentation 相对于 FCN 就如同 YOLO 相对于 RCNN 一样,前者直接省去了层层叠加的上采样、直接一口气上采样,后者省去了 Proposal 过程,直接在图像上开始回归和分类。
真没想到一口气上采样也能学习得更好,
@Zijun Deng
提出的第二问题我想了下,由于 DUC 之前的 feature map 是全卷积出来的,feature map 上每一个 pixel 对应于一个较大的感受野,于是只要这个 feature map 的 channel 足够长的话,对于 feature map 上的某 pixel, DUC 总能通过它的超长 channel 而学习出其感受野上每一个 pixel 所对应的新 channel.
2017-05-10
回复喜欢
余昌黔
作者
同意。相当于将学习到的同一个平面的特征放到通道上去了,通道足够长总能学习到更完善的特征。
2017-05-17
回复喜欢
展开其他 1 条回复
肉包
大大,这篇我也看了,当时有些疑问,希望讨论一下。(1)作者说了bilinear插值不好后,又提到transposed convolution因为需要pad一些零,所以仍然不够好,这是为什么呢?(2)DUC直接reshape成跟输入图像一样的size,感觉很奇怪,直接reshape后的feature map的像素空间位置对应得上输入图像吗?这个就算网络可以学习出来也感觉很奇怪。
2017-05-02
回复喜欢
余昌黔
作者
我的认为是 1)transposed convolution毕竟是补的0,并不是直接学出来的,所以感觉上不够好;2)这样的方式我也觉得很怪异,feature map上的像素直接对应到各个通道上去了,我也有点质疑这样到底学出来是什么,不过文章中的效果确实有提升,这个我们可以再讨论讨论。
2017-05-02
回复2
查看全部 19 条回复
未登录用户
关于作者
余昌黔
华中科技大学 人工智能博士
华中科技大学 控制科学与工程博士
回答 82 文章 20 关注者 27,689
关注他发私信
大家都在搜
换一换
江歌妈妈发长文尘埃终将落定704 万热
中国男足 0-5 巴勒斯坦562 万热
原央视主持人阿丘回应被通报419 万热
华为与赛力斯达成新五年合作409 万热
迪拜航空确认航班发生事故398 万热
东航回应网传空姐跪地道歉326 万
王楚钦:不知道为什么就是感觉累320 万热
江苏高考作文《衬衫的价格为 9 磅 15 便士》爆火268 万
女装网店开始用防拆带了265 万
孕妇骑车别车被司机踹翻257 万
Neural logic machine 笔记 Apple...发表于reaso... # Linear Physical Systems Analysis 在网络上查找学习资料的时候,看到了这个很有意思的网站,叫着Linear Physical Systems Analysis,翻译过来就是 线性物理系统分析。网站链接: https://lpsa.swarthmore.edu/这个网站主要是… 萧然 # 关于scaling law 的正确认识 最近scaling law 成了最大的热词。一般的理解就是,想干大模型,清洗干净数据,然后把数据tokens量堆上来,然后搭建一个海量H100的集群,干就完了。训练模型不需要啥技巧,模型结构也没啥好… 曾冠奇发表于樱园的玻尔... 想来知乎工作?请发送邮件到 jobs@zhihu.com
打开知乎App
在「我的页」右上角打开扫一扫
其他扫码方式:微信
下载知乎App
无障碍模式
验证码登录
密码登录
开通机构号
中国 +86
获取短信验证码
忘记密码
登录/注册
其他方式登录
未注册手机验证后自动登录,注册即代表同意《知乎协议》《隐私保护指引》
扫码下载知乎 App
关闭二维码