![TB1m.4sO9zqK1RjSZFpXXakSXXa.jpg](http://gw.alicdn.com/tfscom/tuitui/TB1m.4sO9zqK1RjSZFpXXakSXXa.jpg)
本文为 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.扩张卷积
![TB1iBO3PgHqK1RjSZFPXXcwapXa.png](http://gw.alicdn.com/tfscom/tuitui/TB1iBO3PgHqK1RjSZFPXXcwapXa.png)
标准卷积(左),扩张卷积(右)
左边是标准卷积。正确的是扩张卷积。我们可以看到,在求和时,s+lt=p 我们将在卷积期间跳过一些点。
当 l = 1时,它是标准卷积。
当 l > 1时,它是扩张的卷积。
![TB1Peq5PgHqK1RjSZFEXXcGMXXa.gif](http://gw.alicdn.com/tfscom/tuitui/TB1Peq5PgHqK1RjSZFEXXcGMXXa.gif)
标准卷积(l = 1)
![TB1DMSZPb2pK1RjSZFsXXaNlXXa.gif](http://gw.alicdn.com/tfscom/tuitui/TB1DMSZPb2pK1RjSZFsXXaNlXXa.gif)
扩张卷积(l = 2)
上面给出了当l = 2 时扩张卷积的一个例子 。我们可以看到,与标准卷积相比,感受野更大。
![TB1h6C5PbrpK1RjSZTEXXcWAVXa.png](http://gw.alicdn.com/tfscom/tuitui/TB1h6C5PbrpK1RjSZTEXXcWAVXa.png)
l = 1(左),l = 2(中),l = 4(右)
上图显示了有关感受野的三个示例。
2.多尺度的上下文聚合(上下文模块)
基于扩张卷积来构建的上下文模块Context Module,如下所示:
![TB1uc90PbvpK1RjSZPiXXbmwXXa.png](http://gw.alicdn.com/tfscom/tuitui/TB1uc90PbvpK1RjSZPiXXbmwXXa.png)
基础的上下文模块,和大的上下文模块
如图,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的数量的权重来初始化的方式代替标准随机初始化模型参数。
![TB1iufXPhjaK1RjSZFAXXbdLFXa.jpg](http://gw.alicdn.com/tfscom/tuitui/TB1iufXPhjaK1RjSZFAXXbdLFXa.jpg)
PASCAL VOC 2012 测试集
与原作者训练的公共模型相比,扩张卷积方法在测试集上的性能优于FCN-8s 模型 和 DeepLabv1 模型 约5个百分点。
获得了67.6%的mean IoU(平均交并比)
![TB10pKqPmzqK1RjSZPcXXbTepXa.jpg](http://gw.alicdn.com/tfscom/tuitui/TB10pKqPmzqK1RjSZPcXXbTepXa.jpg)
PASCAL VOC 2012 验证集
通过对来自 微软-COCO数据集 的图像进行训练,如上所示,对扩张卷积本身进行消融实验研究。
Front end:前端模块
Basic:基本上下文模块
Large:大型上下文模块
CRF:使用DeepLabv1和 DeepLabv2中 提到的条件随机场的对模型输做处理步骤
RNN:通过递归神经网络使用条件随机场的后处理步骤
我们可以看到采用扩张卷积(basic 或 large)总能改善结果,并且还可以继续使用其他后续处理步骤,如CRF。
获得了73.9%的mean IoU(平均交并比)
![TB1rJncPhYaK1RjSZFnXXa80pXa.jpg](http://gw.alicdn.com/tfscom/tuitui/TB1rJncPhYaK1RjSZFnXXa80pXa.jpg)
PASCAL VOC 2012 测试集
上表中的前端模块也是通过对来自Microsoft COCO数据集进行训练而获得的。使用CRF-RNN(即上表中的RNN),获得75.3%的平均IoU。雷锋网雷锋网(公众号:雷锋网)雷锋网
3.2. 定性结果
![TB1IrOVPmzqK1RjSZFLXXcn2XXa.jpg](http://gw.alicdn.com/tfscom/tuitui/TB1IrOVPmzqK1RjSZFLXXcn2XXa.jpg)
PASCAL VOC 2012
所有模型都使用 VGG-16 进行特征提取,使用扩张卷积在分割结果上具有更好的效果
![TB1Vvr0ce3tHKVjSZSgXXX4QFXa.jpg](http://gw.alicdn.com/tfscom/tuitui/TB1Vvr0ce3tHKVjSZSgXXX4QFXa.jpg)
PASCAL VOC 2012
使用CRF-RNN作为后面的处理步骤,以获得了更好的结果。但CRF-RNN使得该过程不是端到端的学习。
![TB13T_qPhnaK1RjSZFtXXbC2VXa.jpg](http://gw.alicdn.com/tfscom/tuitui/TB13T_qPhnaK1RjSZFtXXbC2VXa.jpg)
失败案例
如上所示的一些模型分割出错的情况,当对象被遮挡时,分割出错。
在附录中给出不同的数据集的测试结果,即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