文献标识码:A
DOI:10.16157/j.issn.0258-7998.190010
中文引用格式:王宇,张焕君,黄海新. 基于深度学习的图像语义分割算法综述[J].电子技术应用,2019,45(6):23-27,36.
英文引用格式:Wang Yu,Zhang Huanjun,Huang Haixin. A survey of image semantic segmentation algorithms based on deep learning[J]. Application of Electronic Technique,2019,45(6):23-27,36.
0 引言
图像语义分割是计算机视觉领域中最具挑战性的问题之一。随着场景理解[1-2]、重构[3]和图像处理等计算机视觉领域最热门话题的兴起,图像语义分割作为上述热门话题的基础,也受到了越来越多该领域科研人员的重视。
在深度学习应用于语义分割之前,传统的机器学习算法如随机决策森林(Random Decision Forests)等方法被应用于语义分割领域。在PASCAL VOC 2007数据集上,SHOTTON J等人使用了基于纹理特征的随机决策森林算法[4]取得了42%的评价像素精确率。另一种用于解决语义分割问题的方法是使用概率图模型。首先利用参数统计方法[5-8]基于几个简单的特征对图像进行过度分割,然后利用马尔可夫随机场(MRF)方法,通过提取复杂的手工特征将这些超像素分类为不同的几何类。在PASCAL VOC 2010挑战赛上,Gonfaus等人使用基于概率图模型条件随机场构建的系统取得了第一名的好成绩。
随着深度学习的崛起,越来越多的学者将深度学习方法引入至计算机视觉领域中,如图像分类[9]等。2015年,LONG J等人提出了全卷积网络(Fully Convolutional Networks,FCN)[10],创造性地提出了一种全新的端到端的网络应用于语义分割中,并取得了远超于传统方法的像素准确率。作为将深度学习应用于语义分割的开山之作,之后大部分方法都是基于FCN网络的改进版。本文将对基于深度学习的图像语义分割算法进行综述。
1 常用术语及基本概念介绍
图像语义分割是像素级别的问题,因此在训练集中需要对图像的每个像素附加一个标签。用公式来表示即为:从标签空间L={l1,l2,…,lk}表示一组随机变量X={x1,x2,…,xN}。每个标签l表示不同的类或对象,例如,飞机、汽车、交通标志等。这个标记空间具有k个可能的状态,这些状态通常扩展到k+1个,并将l0作为背景或空类。x表示图像的像素,像素个数为N。
除了问题表述之外,重要的是要注释一些背景概念,如常见的深度学习网络常常被用作深度学习语义分割系统的基础。此外,了解常见的训练技术,如迁移学习,以及对数据进行的预处理等都有助于读者理解综述。
1.1 常见的深层网络架构
当前最常见的深度学习网络如GoogLeNet、VGG等网络为计算机视觉领域作出了巨大的贡献,在语义分割中也通常使用这些常见的深层次网络作为基本框架。
1.1.1 VGG
Visual Geometry Group(VGG)是由牛津大学视觉几何组引入的CNN模型。他们提出了各种深层CNN的模型和配置[11],其中之一被提交到ImageNet大型视觉识别挑战(ILSVRC)-2013,因为该模型是由13个卷积层和3个全连接层叠加而成的,所以也称其为VGG-16。由于其达到92.7%的TOP-5测试精度而成为流行的网络。图1显示了VGG-16的结构。VGG-16和它的前身之间的主要区别是在第一层使用一组具有小感受野的卷积层而不是使用一个大感受野的卷积核。这导致使用了更少的参数和更多的非线性层,从而使决策函数更具有鉴别力并使得模型更容易训练。
1.1.2 GoogLeNet
GoogLeNet是由SZEGEDY C等人[12]设计的一个网络。该网络以93.3%的TOP-5测试准确率赢得了ILSVRC-2014挑战赛。这种CNN体系结构的特点是它的复杂性,它由22层和一个新引入的模块(见图2)组成。这种新方法证明了CNN层可以用比典型的顺序堆叠方式更多的方式进行构建。实际上,这些模块包括网络中的网络层、池化层、大型卷积层和小型卷积层,它们都是并行计算的,最后进行1×1卷积运算,以减少维数。由于这些模块,该网络通过显著减少参数和操作的数量来节省内存和计算成本。
1.2 迁移学习与微调
在实际生产或实验中,从零开始训练深度神经网络常常是不可行的。首先需要足够大的数据集,这往往不容易实现;其次,从头训练的网络一般是不易收敛的,或需要的收敛时间过长。即使上述条件都满足,现有的研究结果[13-14]也表明了从预先训练的权重开始而不是从随机初始化的权重开始训练效果会更好。针对这个问题,迁移学习是一个很好的解决方法,所谓迁移学习就是将已经在其他数据集上训练好的模型参数迁移到我们的模型中代替随机初始的参数,并用新的样本学习训练对网络参数进行微调(Fine-tune),这样可以大大减少训练时间,也可以弥补数据量不足的缺陷。
1.3 数据预处理
数据增强是一种常见的数据预处理手段,WONG S C[15]等人已经证明数据增强技术有利于大多数的机器学习训练任务。常见的图像数据增强手段有:平移、旋转、翘曲、缩放、颜色空间移动、裁剪等。这些转换的目的是生成更多的样本以创建更大的数据集,防止过拟合,平衡数据库中的类等,提高了模型的鲁棒性。
2 基于深度学习的语义分割算法
在深度学习技术引入至计算机视觉领域后获得了巨大的成功,尤其是在基于Convolutional Neural Networks(CNNs)的图像分类、目标检测[16-18]等领域上效果极佳。这也激励了研究人员探索这类网络能否应用于像素级别的标记问题,比如图像语义分割。本文将介绍语义分割领域最具有代表性的3种深度学习网络结构。
2.1 全卷积网络FCN
全卷积网络是由LONG J等人于2014年提出的[19],是最常用的语义分割网络之一,其结构图如图3所示。
作为基于深度学习的图像语义分割的开山之作,目前所有最成功的语义分割网络都是基于FCN来进行改进的。FCN网络利用CNNs在图像上的强大学习能力提出了一个全卷积化概念,将现有的一些常用分类深度网络模型如VGG16、GoogLeNet等网络的全连接层全部用卷积层来替代,这样做的好处是因为没有了全连接层,最终输出的结果是一张图片而不是一维向量,实现了端对端的语义分割;其次,通过去除全连接层能实现任意大小图片的输入,从而保证输入与输出图片大小相等。具体过程如图4所示。由于卷积层后接有池化层,池化层又称下采样层,会对图片的分辨率大小产生影响。为了保证输入图片与输出图片的大小相等,FCN网络使用反卷积[20-21]的方式进行上采样以维持图片的分辨率。
FCN网络还创造性地提出了一种跳跃结构。它把全卷积化后的VGG16中pool5层的输出进行上采样作为模型FCN-32s的结果,这样得出的图片比较粗糙,效果较差。于是FCN将pool5的输出进行二倍上采样后与pool4的输出进行特征融合,将融合后的特征图上采样作为模型FCN-16s的结果,同理将pool3与pool4、pool5的特征进行融合得到的结果进行上采样,得到最终结果FCN-8s。具体操作如图5所示。
图6是未融合特征与融合了高低层次特征后的结果对比,可以看出融合了低层次空间信息的FCN-8s效果最好,其次是FCN-16s,FCN-32s由于特征图分辨率太小,在下采样过程中损失了很多信息导致其效果最差。
FCN有很多优点,如能接收任意大小图片输入、运算高效等,但其缺点也是很明显的。首先FCN-8s的结果与FCN-32s相比优化了很多,但与人工标注的图相比还是较为模糊,细节方面有待提高。其次FCN网络对像素分类时并未充分考虑图片的上下文关系,即像素与像素之间的关系,缺乏空间一致性。
2.2 Deeplab
Deeplab[22]是Google团队提出的一种用于图像语义分割的深度学习模型,是目前性能最好的语义分割模型之一。其模型结构图如图7所示。
Deeplab仍然采用了FCN的全卷积化结构,将VGG16网络的全连接层用卷积层替代。但与FCN不同的是,Deeplab未使用“跳跃结构”,为了防止下采样过程中损失太多信息,Deeplab将VGG16中第4、5两个池化层的stride由2改为1,这样最终产生的特征图由原图大小的1/32扩大至原图的1/8。为了维持改动后像素特征的感受野大小,deeplab提出一种“Hole算法”将空洞卷积[23]引入网络中,其具体操作示意图如图8所示。这样通过“Hole算法”提升特征的感受野解决了因改动池化步长造成的感受野变小问题,最终能得到较为稠密的高分辨率特征图。
在模型的最后,Deeplab采用全连接的条件随机场(CRF)[24]来对得到的特征图进行边缘优化。其效果图如图9所示。
与FCN相比,Deeplab通过引入空洞卷积解决了特征图分辨率太低的问题,并引入后端的全连接CRF来优化边缘,弥补了FCN网络图像细节较差的缺点。
2.3 PSPNet
场景解析一直是计算机视觉领域中一个充满挑战性的问题,传统的FCN网络在进行场景解析时因其上下文理解能力不足,对一些容易混淆的类别或一些不显眼的小尺寸物体经常造成误分的情况。PSPNet[25]通过引入Pyramid Pooling Module在场景分割问题上取得了很好的结果。其结构图如图10所示。
PSPNet的骨干网络是经过修改后的ResNet101网络[26]。与Deeplab一样,PSPNet也引入了空洞卷积来提取稠密的特征图。在Pyramid Pooling模块,PSPNet将空洞卷积得到的特征图进行了不同层级的池化,每个池化后的特征图经过一个卷积层来降低通道数,然后将每个特征图进行双线性插值的上采样方法恢复到池化前的大小,最后将全部特征图拼接在一起。这样做的好处是通过不同层级的池化再融合,让网络能对图像的上下文信息进行更好的整合,以得到含有整体信息的特征图。
与FCN网络相比,PSPNet能更好地学习到图像的上下文信息,初步解决了语义分割模型常见的类别错误、小目标不易识别等问题。图11为PSPNet与FCN网络的结果对比图。
3 结论
本文综述了图像语义分割深度学习算法的常用术语、基本概念以及几种有代表性的深度学习模型,并通过不同模型结构的对比将各个模型的优缺点进行了综合性评估。深度学习的引入使得图像语义分割算法再次成为当前计算机视觉领域的研究热点,加快了语义分割领域的发展。虽然现有的语义分割模型已经能到达较好的分割结果,但仍有很多问题未能得到解决。比如语义分割的样本标注要求极高,想要获得足够的样本数据需要高昂的成本费用;深度学习模型的理论解释性较差,且模型种类单一,想要创新出新的模型将会十分困难。尽管深度学习在学术领域内还是一个饱受争议的方法,但我们不能否认其功能的强大性,而且基于深度学习的图像语义分割算法仍属于起步阶段,可以预见未来几年内一定会有更加优秀的深度学习算法和研究路线的出现。
参考文献
[1] LIANG G Q,CA J N,LIU X F,et al.Smart world: a better world[J].Science China Information Science,2016,59(4):043401.
[2] WANG J L,LU Y H,LIU J B,et al.A robust three-stage approach to large-scale urban scene recognition[J].Science China.Information Science,2017,60(10):103101.
[3] WANG W,HU L H,HU Z Y.Energy-based multi-view piecewise planar stereo[J].Science China Information Science,2017,60:032101.
[4] SHOTTON J,JOHNSON M,CIPOLLA R.Semantic texton forests for image categorization and seg-mentation[C].IEEE Conference on Computer Vision and Pattern Recognition,2008:1-8.
[5] SAXENA A,SUN M,NG A Y.Make3d: learning 3d scene structure from a single still image[J].IEEE Transaction on Pattern Analysis and Machine Intelligence,2009,31(5):824-840.
[6] GOULD S,FULTON R,KOLLER D.Decomposing a scene into geometric and semantically consistent regions[C].Proceedings of the IEEE International Conference on Computer Vision,2009:1-8.
[7] GUPTA A,EFROS A A,HEBERT M.Blocks world revisited:image understanding using qualitative geometry and mechanics[C].Proceedings of European Conference on Computer Vision,2010:482-496.
[8] ZHAO Y B,ZHU S C.Image parsing via stochastic scene grammar[C].Proceedings of the Conference and Workshop on Neural Information Processing System,2011:73-81.
[9] 许少尉,陈思宇.基于深度学习的图像分类方法[J].电子技术应用,2018,44(6):116-119.
[10] LONG J,SHELHAMER E,DARRELL T. Fully convolutional networks for semantic segmentation[C].The IEEE Conference on Computer Vision and Pattern Recognition(CVPR),2015.
[11] SIMONYAN K,ZISSERMAN A.Very deep convolutional networks for large-scale image recognition[J].2014 arXiv:1409.1556.
[12] SZEGEDY C,LIU W,JIA Y,et al.Going deeper with convolutions[C].Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,2015:1-9.
[13] AHMED A,YU K,XU W,et al.Training hierarchical feed-forward visual recognition models using transfer learning from pseudo-tasks[C].European Conference on Computer Vision,Springer,2008:69-82.
[14] OQUAB M,BOTTOU L,LAPTEV I,et al.Learning and transferring mid-level image representations using convolutional neural networks[C].Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,2014:1717-1724.
[15] WONG S C,GATT A,STAMATESCU V,et al.Understanding data augmentation for classification:when to warp?[C].2016 International Conference on Digital Image Computing:Techniques and Applications(DICTA).IEEE,2016:1-6.
[16] KRIZHEVSKY A,SUTSKEVER I,HINTON G E.ImageNet classification with deep convolutional neural networks[C].Advances in Neural Information Processing Systems,2012:1097-1105.
[17] SIMONYAN K,ZISSERMAN A.Very deep convolutional networks for large-scale image recognition[J].2014 arXiv:1409.1556.
[18] SZEGEDY C,LIU W,JIA Y,et al.Going deeper with convolutions[C].Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,2015:1-9.
[19] SHELHAMER E,LONG J,DARRELL T.Fully convolutional networks for semantic segmentation[J].IEEE Transactions on Pattern Analysis & Machine Intelligence,2014,39(4):640-651.
[20] ZEILER M D,TAYLOR G W,FERGUS R.Adaptive deconvolutional networks for mid and high level feature learning[C].2011 IEEE International Conference on Computer Vision(ICCV).IEEE,2011:2018-2025.
[21] ZEILER M D,FERGUS R.Visualizing and understanding convolutional networks[C].European Conference on Computer Vision,Springer,2014:818-833.
[22] LIANG-CHIEH C,PAPANDREOU G,KOKKINOS I,et al.Semantic image segmentation with deep convolutional nets and fully connected CRFs[C].International Conference on Learning Representations,2015.
[23] YU F,KOLTUN V.Multi-scale context aggregation by dilated convolutions[J].arXiv:1511.07122vz.
[24] CHEN L C,PAPANDREOU G,KOKKINOS I,et al.DeepLab:semantic image segmentation with deep convolutional nets,atrous convolution,and fully connected CRFs[J].arXiv:1606.00915v2.
[25] ZHAO H,SHI J,QI X,et al.Pyramid scene parsing network[J].arXiv preprint arXiv,2016:1612.01105.
[26] HE K,ZHANG X,REN S,et al.Deep residual learning for image recognition[C].Proceedings of IEEE Conference on Computer Vision and Pattern Recognition,2016:770-778.
作者信息:
王 宇,张焕君,黄海新
(沈阳理工大学 自动化与电气工程学院,辽宁 沈阳110159)