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

雷锋网  •  扫码分享

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.扩张卷积


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

左边是标准卷积。正确的是扩张卷积。我们可以看到,在求和时,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



随意打赏

cnn卷积神经网络人脸识别算法卷积神经网络深度神经网络语义分割图像识别
提交建议
微信扫一扫,分享给好友吧。