前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SFFAI分享 | 李祥泰:Context modeling in semantic segmentation【附PPT,视频】

SFFAI分享 | 李祥泰:Context modeling in semantic segmentation【附PPT,视频】

作者头像
马上科普尚尚
发布2020-05-11 17:23:40
9690
发布2020-05-11 17:23:40
举报

关注文章公众号 回复"SFFAI23"获取PPT资料 视频资料可点击下方阅读原文在线观看

图像语义分割是目前计算机视觉领域要解决的一个核心问题,属于视觉中场景理解的研究范畴之一,近期受到了越来越多的研究者的关注,现实中许多应用程序需要精确和高效的分割机制:自主驾驶,室内导航,甚至虚拟或增强现实系统等等。在深度学习技术的推动下,各种各样的深度图像分割模型被提出,一些公开的数据集不断地被刷新。本文将简单地回顾下最近几年顶会上的比较经典分割模型。

任务定义:图像语义分割的定义是对输入图像上面的每一个pixel都分配一个语义标签,属于dense-prediction(classification) task的中一种,类似的任务有深度估计,光流估计。目前主流的做法都是用FCN(Full Convolution network) + 自己的module(head)来搭建一个end2end的系统来学习这种从自然图像到密集语义标签的映射。

Note: 这篇博客主要讲述用深度学习方法来进行语义分割。

作者简介


李祥泰,17级北京大学直博生,导师是童云海和谭少华教授,研究兴趣包括语义分割和图卷积网络,目前在投文章3篇,其中gald-net在cityscape上top2。

两个基本构件:FCN和Atrous Convolution


1. FCN

首先考虑该领域的奠基之作,FCN(Fully Convolutional Networks)[6],之所以称它为奠基之作是因为,这篇文章开辟了充分利用卷积神经网络提取隐藏特征的优势,能够进行端到端的训练,并且相对于传统的图像分割方法在一些公开的数据集上了有了较大的提升。FCN的核心贡献有如下几点。1,第一次使用端到端的策略用卷积神经网络进行语义分割。2,可以利用在一些大的数据集上(ImageNet)训练好的模型进行fine tune。3,使用了上采样和反卷积的操作。4,它引入了跳跃连接的机制去改善上采样后特征图的细粒度。下面来详细看下FCN的操作。

不同于普通的卷积神经网络,FCN网络把VGG16,ResNet50/101等网络的全联接层去掉,换成卷积层。之后进行上采样操作,又可以称为反卷积,或者叫做转置卷积,因为在普通卷积运算时特征图的大小会被缩小,5次池化后会缩小了32倍,为了得到与原始图像相同的大小(因为相同大小才能进行监督学习和训练,计算误差,这是FCN的最大的贡献)。因此论文提出了反卷积的概念,与卷积类似,都是相乘相加的矩阵运算。只不过后者是多对一,前者是一对多。而反卷积的前向和后向传播,只用颠倒卷积的前后向传播即可,caffe均中采用image2col的矩阵运算的方式进行计算,卷积和反卷积有转置对称的性质。具体实现时是把全连接层去掉后加了一个1*1*class的卷积层,然后对channel维度的特征做soft max,取概率最大的作为最后分类的结果,之后的模型几乎都采用该种方式。下图对比了卷积和反卷积。

文章的最后,作者又提到了一种跳跃结构的模块,其目的在于优化结果,因为如果把全卷积之后的结果直接上采样得到的结果是很粗糙的,所以作者将不同池化层的结果进行上采样之后来优化输出。这里作者的想法是把底层的特征和高层的特征做了融合,用底层的细节信息来refine物体边缘。

此处是把pooling 层的第3,4,5层的feature map分别加到了上采样后的结果上。实验效果如下:

可以看出加的层数越多,效果越好,也可以将pool1, pool2的输出再上采样输出。但是,作者说这样得到的结果提升并不大,但是如果精心设计的话还是可以有提升的。

2. Dilated Convolution

带孔卷积(Dilated Convolution)增加每个中心位置的感受野,感受野范围内的任意元素变化都会影响到输出(相对于中心点的)。如下图所示。

(a) 原始的 3×3卷积,1倍的扩张,感受野为 3×3;

(b) 在(a)的基础上进行 3×3卷积,2倍的扩张,感受野为 7×7;

(c) 在(b)的基础上进行 3×3卷积,4倍的扩张,感受野为 15×15;

带孔卷积的优势在于在不增加参数量的条件下能够极大的提高网络的感受野,但是这种中间有间隔的卷积方式会导致格点效应(The Gridding Effect),相比于普通卷积,带孔卷积学习到的pattern具有全局的信息,但却丢失了局部结构信息,因为当多次叠加dilated convolution的时候,用于采样计算的pixel并不连续,并且如果间隔过大,会让一些引入一些不相关的信息(long range irrelevant noise).

Context modeling


有了上述两个基本的组件,我们就可以来看近些年顶会上面的文章是如何用这些组件来建模。目前state-of-the-art 的方法都是在考虑如何更好地建模Context 信息,这里Context信息是指对每个要分割的pixel都去考虑其临近的pixel的特征信息,甚至更远距离的pixel的特征信息,又称为long-range dependency。

PSPNet提出了用不同尺度的pooling操作来获取不同尺度的context信息,之后在把这些信息和输入的feature map一起concatenate起来做最终的分割输出结果。在复现PSPNet的结果时候,一个很重要的技巧就是sync-bn(跨卡BN),对于语义分割这个任务而言,每张GPU上放的图片的数量都很少(1或者是2),目前主流的DeepLearning FrameWork的BN的参数计算都是单张卡计算,所以这里batch size如果上不去,BN的参数估计就不准确。PSPNet中还提出一个用deeply supervised loss来加速模型的收敛,具体操作是把resnet中layer3的特征直接拿去做分割,然后把结果和ground truth计算loss并反传。

Deeplab系列是Google出品的工作,其核心贡献是提出了ASPP module,ASPP module包含了一些不同dilation rate的卷积用来获取不同尺度的特征,其中在DeepLabV3上作者还加一个Image Pooling操作,这个操作就是PSPNet的1*1的pooling,获取整张图像的一个均值。DeeplabV3+在deeplabv3的基础上增加一个decoder,这个decoder的主要作用是把low-level的特征显示地和高层的语义分割map相互融合,进而进一步地对物体的边缘进行refine.

Non local based methods


Non-local module最初提出来是用到video action recognition的任务来,通见面视频中帧与帧之间的像素的关系,如上图所示,如果我们把其中的T设置为1,把3D的1*1*1卷积换成2D的1*1卷积,这时候Non-local module就相当于作用到2D feature map上面,其核心操作就是通过矩阵乘法建立一个(h*w, h*w)的相似度矩阵,这样每个pixel就能感知到全图的任意一个像素。

OCnet是第一个把non local的操作用到分割上,其中OCP的模块就是non-local-2D模块,Base-OC就是把经过non-local-2D作用后的特征和原始的特征结合,Pyramid-OC是把特征划分成不同的区域然后对应区域做non-local-2D,而ASP-OC是把non-local-2D的操作替换掉DeeplabV3-ASPP中的image pooling的操作。

DAnet相比与OCnet多加一路channel-wise的attention map, 即用non-local模块去估计特征channel之间的相似度,把不同的channel 权重aggregate到同一个channel。

CCNet提出了一个新的aggregation information的方式, 相比于non-local去计算(h*w,h*w)的similarity map, CCNet只用计算一个(h*w,h+w-1)的一个map,即每个点只和它所在的行和列的像素去计算一个similarity,通过两次计算,可以把全图的信息汇集到一个点,以此来代替non-local的效果。上述的三个方法全部在cityscape上进行了实验并且他们的结果也比较接近,其本质思路就是用non-local得到一个更好的全局的特征。

总结


图像语义分割是计算机视觉经典的任务,目前仍然有可以继续提升其性能的空间,最近一段也出现了用GCN(图卷积神经网络)来做scene parsing,同时也有用Auto-ML来去搜索一个适用于语义分割的网络。同时一些的新的任务比如MIT自动驾驶组提出的video semantic segmentation,要求对每一帧的图像都要进行分割,这里需要考虑视频帧与帧之间的时序信息。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-04-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 人工智能前沿讲习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
图像处理
图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档