基于深度学习的图像语义分割开源代码整理

Victory组近期整理了基于深度学习的图像语义分割开源代码,文章刊登于《中国计算机学会计算机视觉专委会简报》2018年第4期上。

图像语义分割(semantic segmentation),从字面意思上理解就是让计算机根据图像的语义来进行分割,如图1所示,使得计算机能够分析输入图像(左图),输出像素级语义标记(右图)。语义在语音识别中指的是语音的含义,在图像领域,语义指的是图像的内容,比如左图的语义就是三个人骑着三辆自行车;分割的意思是从像素的角度分割出图片中的不同对象,对原图中的每个像素都进行标记,比如右图中粉红色代表人,绿色代表自行车。

图1 图像语义分割示意图

本文着重介绍几个基于深度学习的图像语义分割技术开源代码,包括:图像语义分割数据集和网络结构,具体结构包括FCN、SegNet、U-Net、DeepLab v1&v2、RefineNet、PSPNet。

1.图像语义分割数据集

1.1.Pascal VOC系列

PASCAL VOC 2012系列数据集开始有1464张具有标注信息的训练图片,2014年增加到10582张训练图片。主要涉及了日常生活中常见的物体,包括汽车,狗,船等20个分类。其网址为:

http://host.robots.ox.ac.uk/pascal/VOC/voc2012/

1.2. Microsoft COCO

该数据集合共有80个类别。这个数据集主要用于实例级别的分割(Instance-levelSegmentation)以及图片描述ImageCaption)。其网址为:http://cocodataset.org/

1.3.Cityscapes

这是适用于汽车自动驾驶的训练数据集,包括19种都市街道场景:road、side-walk、building、wall、fence、pole、traffic light、traffic sign、vegetation、terrain、sky、person、rider、car、truck、bus、train、motorcycle和bicycle。该数据库中用于训练和校验的精细标注的图片数量为3475,同时也包含了2万张粗糙的标记图片。其网址为:

https://www.cityscapes-dataset.com/

2.图像语义分割网络

2.1. FCN

FCN网络发表于Long J, ShelhamerE, Darrell T. Fully convolutional networks for semantic segmentation[C]//Computer Vision and Pattern Recognition. IEEE, 2015:3431-3440。

起源于美国加州大学伯克利分校的这项工作为语义分割引入了端到端的全卷积网络,在网络结构中,重新利用ImageNet的预训练网络用于语义分割,使用了反卷积层进行上采样并且引入跳跃连接来改善上采样粗糙的像素定位。其网络结构如图2所示,代码的主页为:

https://github.com/MarvinTeichmann/tensorflow-fcn.

图2 FCN网络结构

2.2.SegNet

发表SegNet网络的论文为:Badrinarayanan V, Kendall A, Cipolla R.SegNet: A Deep Convolutional Encoder-Decoder Architecture for SceneSegmentation[J]. IEEE Transactions on Pattern Analysis & MachineIntelligence, 2017, PP(99):1-1。

来源于美国加州大学伯克利分校的这项工作为语义分割引入了端到端的全卷积网络,在构建的网络结构中,重新利用ImageNet的预训练网络用于语义分割,并使用了反卷积层进行上采样并且引入跳跃连接来改善上采样粗糙的像素定位。如图3所示为SegNet的网络结构,其代码的网址为:

https://github.com/ zhixuhao/unet

图3 SegNet网络结构

2.3.U-Net

U-Net网络的论文发表于Ronneberger O,Fischer P, Brox T. U-Net: Convolutional Networks for Biomedical ImageSegmentation[C]// International Conference on Medical Image Computing and Computer-AssistedIntervention. Springer, Cham, 2015:234-241。

这项来源于德国弗莱堡大学的工作为语义分割引入了更规整的网络结构,在结构上结合了不同尺度的跨层连接,通过将编码器的每层结果拼接到译码器中得到更好的结果。如图4所示为U-Net网络的结构图。其代码的网址为:

https://github.com/ zhixuhao/unet

图4 U-Net网络结构

2.4.DeepLab v1&v2

DeepLab v1&v2的2篇经典参考论文包括:(1)Chen L C,Papandreou G, Kokkinos I, et al. Semantic Image Segmentation with DeepConvolutional Nets and Fully Connected CRFs[J]. Computer Science,2014(4):357-361。

(2)Chen L C,Papandreou G, Kokkinos I, et al. DeepLab: Semantic Image Segmentation with DeepConvolutional Nets, Atrous Convolution, and Fully Connected CRFs[J]. IEEETransactions on Pattern Analysis & Machine Intelligence, 2018,40(4):834-848。

来源于Google的DeepLab的这项工作在语义分割上使用了膨胀卷积,提出了在暗黑空间金字塔池化(ASPP)的基础上来融合不同尺度的信息,并使用全连接的条件随机场来构建网络架构。如图5所示为DeepLab的原理分析说明。其代码网址为:

https://github.com/tensorflow/models/tree/master/research/deeplab

图5 DeepLab原理分析

2.5.RefineNet

RefineNet网络的推荐参考论文为:Lin G, Milan A,Shen C, et al. RefineNet: Multi-path Refinement Networks for High-ResolutionSemantic Segmentation[C]// IEEE Conference on Computer Vision and PatternRecognition. IEEE Computer Society, 2017:5168-5177。

图6 RefineNet网络结构

来源于澳大利亚阿德莱德大学的这项工作精心设计了译码模块,其所有模块遵循残余连接设计,使用残差链接显式将各个下采样层和后面的网络层结合在一起。这样,网络高层的语义特征可以直接从底层的卷积层中获得进一步的细化(refine)。如图6所示为RefineNet的网络结构。其代码的网址为:

https://github.com/ guosheng/refinenet

2.6.PSPNet

PSPNet网络的推荐参考论文为:Zhao H, Shi J, QiX, et al. Pyramid Scene Parsing Network[C]// IEEE Conference on Computer Visionand Pattern Recognition. IEEE Computer Society, 2017:6230-6239。来源于香港中文大学的这项工作为语义分割提出了金字塔池化模块来聚合图片信息。针对FCN全卷积网络分割面临的诸多问题,该工作从多尺度入手,提出了金字塔模型来提取多尺度的信息,达到了State-of-the-art的结果,此外网络使用附加的损失函数优化最后的效果。如图7所示为PSPNet网络的结构图。其代码的网址为:

https://github.com /hszhao/PSPNet

图7 PSPNet网络结构

(责任编辑:贾同)

吴乐:

现于北京电子科技学院攻读硕士学位,主要的研究方向包括计算美学、计算机图形图像处理。目前已发表学术论文8篇,包含CCF-A1篇,CCF-C2篇,获国家发明专利申请受理2项目。

---------------------------------------------------------------------------------------------------

欢迎关注北京电子科技学院

可视计算与安全组官方微信

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180803G1R4GB00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励