语义分割是指将图像中的每个像素归于类标签的过程,这些类标签可以包括一个人、汽车、鲜花、一件家具等。
我们可以将语义分割认为是像素级别的图像分类。例如,在有许多汽车的图像中,分割会将所有对象标记为汽车对象。然后,一个称为实例分割的模型能够标记一个出现在图像中的物体的独立实例。这种分割在计算对象数量的应用程序中非常有用,例如计算商城的行人流量。
它的一些主要应用是在自动驾驶、人机交互、机器人和照片编辑/创意工具中。例如,语义分割在汽车自动驾驶和机器人技术中是至关重要的,因为对于一个模型来说,了解其所处环境中的语义信息是非常重要的。
图源:http://www.cs.toronto.edu/~tingwuwang/semantic_segmentation.pdf
我们来看看一些涵盖最先进的构建语义分割模型方法的研究论文,即:
Weakly- and Semi-Supervised Learning of a Deep Convolutional Network for Semantic Image Segmentation (用于语义分割的弱监督和半监督的深度神经网络)
Fully Convolutional Networks for Semantic Segmentation (用于语义分割的全卷积神经网络)
U-Net: Convolutional Networks for Biomedical Image Segmentation (用于生物医学图像的语义分割卷积神经网络)
The One Hundred Layers Tiramisu: Fully Convolutional DenseNets for Semantic Segmentation (用于语义分割的全卷积DenseNet)
Multi-Scale Context Aggregation by Dilated Convolutions (基于扩张卷积的多尺度上下文聚合)
DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs(DeepLab: 使用深度神经网络,空洞卷积,和全连接CRF做语义分割的网络)
Rethinking Atrous Convolution for Semantic Image Segmentation(语义分割中的空洞卷积的再思考)
Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation( 空间金字塔池化模块和编码-解码结构用于语义分割的深度网络结构.)
FastFCN: Rethinking Dilated Convolution in the Backbone for Semantic Segmentation(Fast FCN:对语义分割分割后端的空洞卷积的再思考)
Improving Semantic Segmentation via Video Propagation and Label Relaxation(通过视频传播和标签松弛改善语义分割)
Gated-SCNN: Gated Shape CNNs for Semantic Segmentation(门控-SCNN: 用于语义分割的门控形状卷积神经网络)
以上论文链接可点击此处访问。
01. 用于语义图像分割的深度神经网络弱和半监督学习(ICCV,2015)
这篇文章提出了一种解决方法,用于面对深度卷积网络中处理弱标记数据的难题、以及处理良好标记与未适当标记数据结合。
本文应用了一个深度CNNs与全连接条件随机场的组合。
用于语义分割的DCNN弱和半监督学习(https://arxiv.org/abs/1502.02734)
在PASCAL VOC分割基准中,这个模型给出了超过70%的平均IoU。这种模型的一个主要难题是它在训练时需要在像素层次标记的图像。
这篇文章的主要贡献在于:
引入弱监督和半监督设定都适用的期望最大化算法来用于边界框或图像层次的训练;
证明弱与强标记的组合能够改善性能,在合并MSCOCO数据集和PASCAL数据集的标记后,论文作者在PASCAL VOC2012上获得73.9%的IoU;
证明通过合并少量像素级标记图像和大量边框或图像级标注图像获得了更好的性能。
02. 用于语义分割的全卷积网络(PAMI,2016)
用于语义分割的全卷积网络(https://arxiv.org/abs/1605.06211)
这篇文章提出的模型在PASCAL VOC 2012上取得了67.2%的平均IU。
全连接网络输入任意大小的图像,生成一个对应空间维度的输出。在这个模型中,ILSVRC分类器被转换成一个全连接网络,并使用逐像素损失和网络内上采样强化来进行密集预测,之后对分割的训练就通过fine-tuning完成。Fine-tuning是在整个网络上进行反向传播完成的。
03. U-Net:用于生物医学图像分割的卷积网络
在生物医学图像处理中,获得图像中每个细胞的类别标签至关重要。而生物医学任务中最大的挑战就在于难以获得数以千计的图像来用于训练。
U-Net:用于医学图像分割的卷积网络(https://arxiv.org/abs/1505.04597)
这篇文章构建在全卷积层之上,并将其修改使其在一些训练图像上有效并产出更精确的分割。
因为只能获得很少的训练数据,这个模型在已有数据上应用弹性变形来对数据增强。就如上面图1中所示,网络架构由左侧的收缩路径和右侧的膨胀路径组成。
收缩路径由两个 3x3 卷积组成,每个卷积后面都跟一个修正线性单元和一个用于下采样的 2x2 最大池化。每个下采样阶段都多使特征通道数加倍。膨胀路径步骤中包含一个特征通道的上采样。这后面跟着将特征通道数减半的 2x2 上卷积。最后一层是一个将成分特征向量映射到要求类别数的 1x1 卷积。
在这个模型中,训练使用输入图像——它们的分割图,和一个Caffe实现的随机梯度下降完成。数据增强用于在使用很少的训练数据时教会网络达到所要求的鲁棒性和不变性。模型在一个实验中达到了0.92的平均IoU。
04. 100层Tiramisu:用于语义分割的全卷积DenseNets(2017)
DenseNets背后的思想是使每一层以前向传播的方式连接到所有层会使网络更易于训练并更精确。
100层Tiramisu:用于语义分割的全卷积DenseNets(https://arxiv.org/abs/1611.09326)
模型结构构建在dense块的下采样和上采样路径中,下采样路径有2个Transitions Down(TD)而上采样路径有两个Transitions Up(TU)。圆圈和箭头表示网络内的连接模式。
这篇文章的主要贡献在于:
扩展DenseNet结构到全卷积网络来用于语义分割;
提出dense网络中的上采样路径比其他上采样路径性能更好;
证明这个网络能够在标准基准上产生最优结果。
这个模型在CamVid数据集上达到了88%的全局准确率。
05. 扩张卷积的多尺度背景聚合(ICLR,2016)
在这篇论文中,开发了一种卷积网络模块,它可以在不损失分辨率的情况下融合多尺度的上下文信息。然后该模块可以以任何分辨率插入现有架构。该模块基于扩张卷积。
扩张卷积的多尺度上下文聚合(https://arxiv.org/abs/1511.07122)
该模块在Pascal VOC 2012数据集上进行了测试。它证明向现有语义分段体系结构添加上下文模块可提高其准确性。
经过实验训练的前端模块在VOC-2012验证集上实现了69.5%的平均IoU,在测试机上实现了71.3%的平均IoU。该模型对不同物体的训练精度如下所示。
06. DeepLab: 基于深度卷积网络,空洞卷积和全连接CRFs的图像语义分割(TPAMI, 2017)
这篇文章对基于深度学习的语义分割工作的贡献如下:
提出将上采样滤波器用于密集预测任务。
提出空间金字塔池化(ASPP),用于在多个尺度上的目标分割
通过使用DCNNs改进目标边界的定位。
DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully… (https://arxiv.org/abs/1606.00915)
这篇文章提出的DeepLab系统在PASCAL VOC-2012语义图像分割任务上实现了79.7%的mIOU。
本文针对深度CNNs在语义分割应用中面临的主要挑战,包括:
由Max-Pooling和下采样的组合导致的特征分辨率的降低。
目标的多尺度问题。
DCNN空间变换的不变性导致定位精度降低,而以对象为导向的分类器又需要具有空间变换不变性。
空洞卷积可以通过对滤波器插入零点进行上采样来实现,也可以对输入特征map进行稀疏采样来实现。第二种方法需要对输入特征图通过一个等于空洞卷积率r的因子进行下采样,并将其去除间隔行生成r^2的缩减分辨率map,每种可能的转换为r×r分辨率的缩减变换均对应一个分辨率map。然后,对得到的特征map应用标准卷积操作,将提取到的特征与图像的原始分辨率进行融合。
07. 重新思考用于语义图像分割的Atrous卷积(2017)
本文讨论了使用DCNNs进行语义分割的两个挑战(前面提及);应用连续池化操作出现的特征分辨率降低和对象在多尺度出现。
重新思考用于语义图像分割的Atrous卷积(https://arxiv.org/abs/1706.05587)
为了解决第一个问题,文章建议使用Atrous卷积,也成为扩张卷积。它提出通过使用Atrous卷积来扩大视野,因此包含了多尺度上下文,来解决第二个问题。
在没有DenseCRF后处理的情况下,本文的'DeepLabv3'在PASCAL VOC 2012测试集上达到了85.7%的准确率。
08. 基于空洞可分离卷积编解码器的图像语义分割(ECCV, 2018)
本文的方法“DeepLabv3+”,在无需对PASCAL VOC 2012和Cityscapes数据集进行任何后期处理的情况下,测试集性能分别达到89.0%和82.1%。该模型是DeepLabv3的扩展,通过添加一个简单的解码器模块来细化分割结果。
基于空洞可分离卷积编解码器的图像语义分割(https://paperswithcode.com/paper/encoder-decoder-with-atrous-separable)
图源:https://arxiv.org/pdf/1802.02611v3.pdf本文实现了两种使用空间金字塔池化模块进行语义分割的神经网络。一种方法通过融合在不同分辨率下的特征来捕获上下文信息,而另一种方法则着眼于获得清晰的目标边界。
图源:https://arxiv.org/pdf/1802.02611v3.pdf09. FastFCN:重新思考语义分割模型主干中的扩张卷积(2019)
文章提出了一个联合上采样模块,命名为联合金字塔上采样(JPU),以取代消耗大量时间和内存的扩张卷积。它的工作原理是将获取高分辨率图像的任务转化为联合上采样问题。
重新思考语义分割模型主干中的扩张卷积(https://paperswithcode.com/paper/fastfcn-rethinking-dilated-convolution-in-the)
该方法在Pascal Context数据集上实现53.13%的mIoU性能,运行速度提高了三倍。
图源:https://arxiv.org/pdf/1903.11816v1.pdf该方法实现了全连接网络(FCN)作为主干,同时应用JPU对低分辨率特征映射进行上采样,从而生成高分辨率的特征映射。用JPU代替扩张的卷积不会导致任何性能损失。
图源:https://arxiv.org/pdf/1903.11816v1.pdf10. 通过视频传播法和标签松弛法优化语义分割(CVPR, 2019)
本文提出了一种基于视频的方法,通过合成新的训练样本来扩展训练集。这是为了提高语义分割网络的准确性。这种方法探究了视频预测模型预测未来帧的能力,以便预测未来帧的标签。
通过视频传播法和标记松弛法优化语义分割(https://paperswithcode.com/paper/improving-semantic-segmentation-via-video)
来源:https://arxiv.org/pdf/1812.01593v3.pdf利用合成数据集对分割网络进行训练,提高了预测精度。本文所提出的方法在Cityscapes数据集上可以达到83.5%的mIoUs,在CamVid数据集上可以达到82.9%的mIoUs。
图源:https://arxiv.org/pdf/1812.01593v3.pdf本文提出了两种预测未来标签的方法:
标签传播法(LP)通过将传播的标签与真实的未来帧进行配对,以创建新的训练样本。
图像-标签混合传播法(JP)通过将传播标签与相应的传播图像进行配对,以创建新的训练样本。
本文主要有三个命题;利用视频预测模型将标签传播到相邻帧,引入图像-标签混合传播法来处理图像的不对齐问题,并通过最大化联合类概率似然函数来松弛one-hot标签的训练。
图源:https://arxiv.org/pdf/1812.01593v3.pdf11. 门控 SCNN:用于语义分段的门控形状CNNs(2019)
这篇文章是语义分割模块的最新进展。作者提出了一种双流CNN架构。在此体系结构中,形状信息作为单独的分支处理。该形状流仅处理边界相关信息。这由模型的门控卷积层(GCL)和本地监督强制执行。
门控SCNN:用于语义分段的门控形状CNNs(2019,https://arxiv.org/abs/1907.05740)
该模型在mloU上的表现优于DeepLab-v3+ 1.5%,在F界面得分上优于4%。该模型已使用Citycapes基准进行评估。在较小和较薄物体上,该模型在IoU上实现7%的改进。
下表显示了Gated-SCNN和其他模型的性能比较
总结
我们现在应该跟上一些最常见的,以及集中最近在各种环境中执行语义分割的技术。
上面的文章/摘要包含其代码实现的链接。我们很高兴看到您在测试后获得的结果。
Via:https://heartbeat.fritz.ai/a-2019-guide-to-semantic-segmentation-ca8242f5a7fc
想要继续查看该篇文章相关链接和参考文献?
点击【2019 语义分割指南即可访问~
福利大放送——满满的干货课程免费送!
「好玩的Python:从数据挖掘到深度学习」该课程涵盖了从Python入门到CV、NLP实践等内容,是非常不错的深度学习入门课程,共计9节32课时,总长度约为13个小时。。
课程页面:https://ai.yanxishe.com/page/domesticCourse/37
「计算机视觉基础入门课程」本课程主要介绍深度学习在计算机视觉方向的算法与应用,涵盖了计算机视觉的历史与整个课程规划、CNN的模型原理与训练技巧、计算机视觉的应用案例等,适合对计算机视觉感兴趣的新人。
课程页面:https://ai.yanxishe.com/page/domesticCourse/46
现AI研习社将两门课程免费开放给社区认证用户,只要您在认证时在备注框里填写「Python」,待认证通过后,即可获得该课程全部解锁权限。心动不如行动噢~
网友评论