资讯 人工智能
此为临时链接,仅用于文章预览,将在时失效

DilatedNet - 扩张卷积(语义分割)

作者:AI研习社-译站
2019/04/03 10:37

DilatedNet - 扩张卷积(语义分割)

本文为 AI 研习社编译的技术博客,原标题 :

Review: DilatedNet — Dilated Convolution (Semantic Segmentation)

作者 | Sik-Ho Tsang

翻译 | 斯蒂芬·二狗子         

校对 | 酱番梨        审核 | 约翰逊·李加薪       整理 | 立鱼王

原文链接:

https://towardsdatascience.com/review-dilated-convolution-semantic-segmentation-9d5a5bd768f5

注:本文的相关链接请访问文末【阅读原文】

这次,对来自普林斯顿大学和英特尔实验室的Dilated Convolution一文进行了简要回顾。扩张卷积的思想来自小波分解。它也被称为“atrous convolution”,“algorithmeàtrous”和“hole algorithm”。因此,如果我们能够将它们转变为深度学习框架,那么可以认为过去的任何想法仍然是有用的。

当我写这篇故事时,这个扩张卷积已经在2016年ICLR上发表,引用超过1000次。(SH Tsang @ Medium)

涉及的内容

  1. 扩张卷积

  2. 多尺度上下文聚合(上下文模块)

  3. 结果


   1.扩张卷积

DilatedNet - 扩张卷积(语义分割)

标准卷积(左),扩张卷积(右)

左边是标准卷积。正确的是扩张卷积。我们可以看到,在求和时,s+lt=p 我们将在卷积期间跳过一些点。

当  l = 1时,它是标准卷积。

当  l > 1时,它是扩张的卷积。

DilatedNet - 扩张卷积(语义分割)

标准卷积(l = 1)

DilatedNet - 扩张卷积(语义分割)

扩张卷积(l = 2)

上面给出了当l = 2 时扩张卷积的一个例子  。我们可以看到,与标准卷积相比,感受野更大。

DilatedNet - 扩张卷积(语义分割)

l = 1(左),l = 2(中),l = 4(右)

上图显示了有关感受野的三个示例。


   2.多尺度的上下文聚合(上下文模块)

基于扩张卷积来构建的上下文模块Context Module,如下所示:

DilatedNet - 扩张卷积(语义分割)

 基础的上下文模块,和大的上下文模块

如图,context module有7层,这些层采用不同扩张率的3×3 kernel size 的扩张卷积,扩张的率分别为1,1,2,4,8,16,1。

最后一层用了一个1×1的卷积,将通道数映射为与输入通道数相同大小。因此,输入和输出具有相同数量的通道。它可以插入到不同类型的卷积神经网络中。

基本上下文模块basic context module在整个模块中仅有1个通道(1C,1 channel),而大上下文模块large context module从1C 作为输入到第7层的32C的通道数。


   3.结果

3.1. PASCAL VOC 2012

VGG-16 作为一个前端模块(预训练)。删除了最后的两个池化层和striding 层,并将context上下文模块插入其中。中间的特征图的padding也被移除了。作者只是对输入的特征图加了一个宽度为33的padding。Zero Padding (填充0)和 reflection padding(使用输入边界的反射填充,一种padding方式)在我们的实验中得出了类似的结果。此外,使用输入和输出的通道channels的数量的权重来初始化的方式代替标准随机初始化模型参数。

DilatedNet - 扩张卷积(语义分割)

PASCAL VOC 2012 测试集

与原作者训练的公共模型相比,扩张卷积方法在测试集上的性能优于FCN-8s 模型 和 DeepLabv1 模型 约5个百分点。

获得了67.6%的mean IoU(平均交并比)

DilatedNet - 扩张卷积(语义分割)

PASCAL VOC 2012 验证集

通过对来自 微软-COCO数据集 的图像进行训练,如上所示,对扩张卷积本身进行消融实验研究。

  • Front end:前端模块

  • Basic:基本上下文模块

  • Large:大型上下文模块

  • CRF:使用DeepLabv1和  DeepLabv2中 提到的条件随机场的对模型输做处理步骤 

  • RNN:通过递归神经网络使用条件随机场的后处理步骤

我们可以看到采用扩张卷积(basic 或 large)总能改善结果,并且还可以继续使用其他后续处理步骤,如CRF。

获得了73.9%的mean IoU(平均交并比)  

DilatedNet - 扩张卷积(语义分割)

PASCAL VOC 2012  测试集

上表中的前端模块也是通过对来自Microsoft COCO数据集进行训练而获得的。使用CRF-RNN(即上表中的RNN),获得75.3%的平均IoU。雷锋网雷锋网雷锋网

3.2. 定性结果

DilatedNet - 扩张卷积(语义分割)

PASCAL VOC 2012

所有模型都使用  VGG-16  进行特征提取,使用扩张卷积在分割结果上具有更好的效果

DilatedNet - 扩张卷积(语义分割)

PASCAL VOC 2012

使用CRF-RNN作为后面的处理步骤,以获得了更好的结果。但CRF-RNN使得该过程不是端到端的学习。

DilatedNet - 扩张卷积(语义分割)

失败案例

如上所示的一些模型分割出错的情况,当对象被遮挡时,分割出错。

在附录中给出不同的数据集的测试结果,即CamVid,KITTI和Cityscapes,请随时阅读本文。他们还发布了应用扩张卷积的残差网络Dilated Residual Networks。希望我能在将来写到它。:)

参考

[2016 ICLR] [Dilated Convolutions]

Multi-Scale Context Aggregation by Dilated Convolutions

我的相关评论

[ VGGNet ] [ FCN ] [ DeconvNet ] [ DeepLabv1和DeepLabv2 ]

想要继续查看该篇文章相关链接和参考文献?

点击DilatedNet - 扩张卷积(语义分割)即可访问:

https://ai.yanxishe.com/page/TextTranslation/1538

机器学习大礼包

限时免费\18本经典书籍/Stanford经典教材+论文

点击链接即可获取:

https://ai.yanxishe.com/page/resourceDetail/574



长按图片保存图片,分享给好友或朋友圈

DilatedNet - 扩张卷积(语义分割)

扫码查看文章

正在生成分享图...

取消
相关文章