近年来,依托于强大的计算设备,深度神经网络也表现出越来越惊人的性能。全卷积网络(Fully convolutional networks, FCNs)[1]将传统CNN结构最后的全连接层替换为卷积层,从而构成了经典的编码器—解码器结构。另外,在编码器—解码器结构中还使用了跳跃连接策略,将浅层细节特征和深层抽象特征相融合,以提高分割性能。然而,受限于卷积层结构,FCNs所提供的空间特征信息不足,导致目标对象边缘细节特征丢失。Deeplab V2[2]针对深度卷积网络(DCNN)中重复使用最大池所造成分辨率下降问题,采用空洞卷积算法扩展感受野,获取更多上下文信息,通过密集连接的条件随机场提高模型捕获细节的能力。而条件随机场的加入使网络运算量变大,运算速度变慢。在Deeplab V3+[3]中通过大量的空洞卷积和空洞空间金字塔池增大空间感受野,可以获取更丰富的上下文信息,对大尺度目标的分割识别会更加精确,但是空洞卷积和空洞空间金字塔池会造成小目标丢失,影响小目标的分割精度。
伴随着语义分割的不断发展,实时语义分割网络也开始日益完善。实时语义分割方法可以应用在自动驾驶领域,如车辆检测、车道线检测、行人检测及识别等[4]。ENet[5]采用了非对称的编码器—解码器结构,整体网络层较浅,因此ENet的分割效率极高,但分割精度略低。
SQ[6]采用跳跃连接方法,将不同层次的特征信息融合在一起,使用扩张度不同的扩张卷积来获取不同大小的感受野,完善了网络对于图像空间特征信息的学习。深度神经网络在面对一些小目标时表现相对较差,比如街道场景下的路灯、电线杆或者外形相似的非同类别目标[7]。而MobileNet V2[8]中则采用了反向残差结构并在网络中加入注意力模块[9],更好地捕获各类别特征,针对小目标可以实现不错的准确率。ICNet[10]在输入图像的不同尺寸中分别捕获不同尺寸的目标特征,以此提升实时语义分割网络针对不同目标的准确率。BiSeNet[11]设计了一种新的特征融合模块和注意力精炼模块,用来融合小步长的空间路径和快速下采样的语义路径生成的两种不同特征,并提高分割精度。BiSeNet V2[12]提出了一个用来加强细节分支和语义分支之间信息交换的引导聚合层,将来自不同分支的特征融合,相对于之前的网络分割准确率更高而且速度更快。DFANet[13]设计了一种高效的实时语义分割框架,通过两个特征聚合模块(子网络聚合模块和子阶段聚合模块)提高网络对图像特征的捕获能力。
我们注意到,通过增大网络对图像信息的获取量,并且合理地对所输入信息进行处理,可以有效地提升网络性能。在本文中我们通过增加网络计算过程中图像信息的获取,帮助网络更准确地理解图像内容。此外,增加了网络获取的信息量会导致冗余信息增多,进而影响网络性能,因此,在增大信息量的同时还要对信息进行筛选,强化有效信息,弱化冗余信息。
在本文中,采用了改进的ENet作为基础网络。在下采样层采用反向残差结构,增加网络对图像信息的捕获能力。将ReLU函数作为激活函数,使用inplaceABN[14]将网络中的激活函数和批归一化层合并为一层,优化网络对内存的开销。在网络中应用空间注意力,强化网络对相关空间特征信息的关注能力。使用跳跃连接将不同层级的空间特征融合,使网络深层的特征图保有更多浅层细节。图1是所提出的网络架构。网络整体分为编码器和解码器两部分,其中编码器的主要作用是提取输入图片的语义信息,再由解码器将带有语义信息的特征图恢复到输入图片大小,同时输出语义分割图。
反向残差是MobileNet V2提出用来增加可分离卷积层输入信息的方法。我们将反向残差结构使用在下采样层中,主要是为了使卷积层可以在更高维空间中提取特征,获取更多图像信息,减少下采样过程造成的图像特征细节丢失。下采样由收缩层、卷积层及扩张层构成,反向残差结构将收缩层改为扩张层,特征图经过扩张层后,通道数变为原来的两倍,卷积层可以获取更多特征信息,有效减少下采样过程的特征丢失。采用这种反向残差结构,在增加信息量的同时也会使显存的消耗增加,从而增加了训练成本。语义分割任务对显存的需求极大,往往要在单个批次的数量和空间分辨率之间做权衡。为了解决这个问题,我们采用inplaceABN将批归一化层与激活函数组合为一个合并层,可以降低网络训练中对显存的要求,降低训练成本。
图1 网络结构图
Fig.1 The network structure
用U来表示语义分割网络输出的特征图。U=[u1,1,u1,2,…,ui, j,…,uH,W],其中ui, j∈R1×1×C对应空间位置(i, j),i∈{1,2,…,H}, j∈{1,2,…,W}。通过卷积操作q=Wsq*U实现空间注意力,其中权重Wsq∈R1×1×C×1,所生成的目标张量为q∈RH×W。每一个张量qi, j表示全部通道C在空间位置(i, j)上的线性组合。张量q通过sigmoid激活层σ(·)被重新缩放到区间[0,1]上。qi, j用于空间上重新校准特征图U:
σ(qi, j)ui, j,…,σ(qH,W)uH,W]
(1)
每一个σ(qi, j)的值都对应输入特征图的空间位置(i, j)。这种重新校准为空间位置提供了权重,突出相关的权重忽略不相关权重。
在本文中,利用空间注意力来重新校准每个空间特征的权重,将空间注意力应用在网络每次下采样后,主要目的是处理反向残差结构获取的大量空间特征信息,通过为每个特征加权,达到筛选有用信息的目的,降低无关信息对结果的负面影响。
在语义分割网络计算过程中,随着网络深度增加,网络提取的语义信息会越多,但图片的分辨率也会随之降低,造成目标对象局部细节消失,影响分割结果的准确性。通过浅层空间特征与深层语义特征融合,可以使深层特征具有更多细节,缓解这种由语义分割网络自身结构带来的问题。我们采用跳跃连接的方式将浅层特征引向网络深层,使不同层级空间特征融合,以补充深层特征图在目标对象局部细节的不足。同时,为了更有效地填补深层特征在细节方面的丢失,我们使用空间注意力对浅层特征进行筛选,确保参与特征融合的浅层信息对分割有益。
在本章中,我们先描述部分实验细节。 然后进行定量分析,通过实验证明所提出方法的有效性和适用性。并在嵌入式终端上做了相关测试。此外,为了便于对比所有定量实验,我们依据平均交并比(mIOU)来衡量分割性能。
实验所用数据集为街道场景的权威数据集Cityscapes[15]和CamVid[16]。
实验平台所采用处理器为i7- 6850K,内存为64GB,显卡使用NVIDIA Titan XP单卡,系统版本为Ubuntu 18.04 LST,实验所选用深度学习框架为Pytorch 1.4。
我们用于语义分割的网络架构基于ENet。通过使用Adam优化算法[17]来训练网络,可以使网络非常快速地收敛,所有训练采用单GPU,在Cityscapes上的训练时间大约15~20小时,在CamVid上的训练时间约为1~2小时。其中,所采用学习率为5e-4,L2权重衰减量为2e-4,在Cityscapes上batch-size为4时得到最佳实验结果;在CamVid上batch-size为10时获得最佳结果。为了保证实验结果具有参考价值,所有对比实验均出自同一实验平台。
在3.2节中介绍了网络下采样层通过反向残差结构捕获更多图像信息,以及使用inplaceABN优化网络训练中的内存开销。在3.3节,介绍了本文方法中对于空间注意力的使用。3.4节,描述了一种通过结合空间注意力和跳跃连接所实现的跨层空间特征融合方法。在本节中,我们将会通过实验对上述方法的有效性进行定量验证和分析。
表1中,分别列出不同数据集下,使用反向残差结构前后网络对内存的消耗情况,当仅在下采样层采用反向残差结构时,网络对内存的消耗会有些许上升。而在所有卷积层都使用这一结构时,网络的内存消耗明显上升,训练成本升高,网络训练速度变慢。
表1 使用反向残差结构前后内存消耗情况
Tab.1 Memory consumption before and after using inverted residual
位置CityscapesCam-Vid使用前无5096 MB4175 MB使用后仅下采样层5241 MB4327 MB所有卷积层6852 MB5654 MB
采用反向残差结构不仅会对训练成本产生影响,在其他方面,如模型参数增多,模型大小增大,测试速度变慢等,这些因素恰好会对模型部署在嵌入式终端造成障碍。综合表1的实验数据,我们决定仅在下采样层使用反向残差结构,在不影响网络效率的前提下,提升网络捕获图像信息的能力。
为了降低训练成本,优化内存使用,我们在网络中采用了inplaceABN算法,这一方法会将批归一化层与激活层合并为一个层,可以有效降低内存开销。表2中对比了使用inplaceABN前后的内存消耗情况,在不同数据集上采用inplaceABN算法后内存下降幅度大约17.5%。
表2 网络使用inplaceABN前后内存消耗情况
Tab.2 Memory consumption before and after using inplaceABN
位置CityscapesCam-Vid使用前无5241 MB4327 MB使用后所有卷积层5117 MB4213 MB
Cityscapes数据集是一个大型城市街道场景数据集,侧重于城市街景的语义理解,具有19种类别。其中,训练集包含2975张图片,验证集包含500张图片。在Cityscapes数据集的所有实验中,训练模型所采用的batch-size为4,总共进行300轮训练,受限于显存大小,所采用分辨率为1024×512。评估结果如表3所示。
表3中,Ⅰ是ENet,Ⅱ是SQ,Ⅲ文中所提出方法。通过对比结果,所提出方法在整体上要优于ENet 以及SQ,平均交并比(mIOU)相对于ENet提高了2.9%,相对于SQ提高了0.8%。
图2将我们所提方法在小目标细节方面的表现直观地展示了出来。我们选取了部分图片的远景目标,并将其在ENet中的分割表现与我们所提方法的表现作对比。其中,第一行选取了图像远景处建筑物与树木的分割细节,第二行选取了卡车的分割图,第三行选取了图中远处的卡车与路边的树木。通过图中红框区域可以明显地看出ENet对小目标以及空间位置较远目标的分割准确率较差。第一行所选取图像中错将树木识别为建筑物,在第二行中对远处卡车的识别不够准确,第三行中ENet网络错把卡车识别为树木,而我们的方法在小目标细节方面以及目标边界分割上的表现都要优于ENet。
表3 不同网络在Cityscapes中的IOU(%)
Tab.3 The IoU (%) of different networks in Cityscapes dataset
RoadSidewalkBuildingWallFencePoleTraffic_lighTraffic_signVegetationTerrainⅠ94.374.186.747.841.543.138.845.285.252.8Ⅱ95.975.485.832.635.748.452.061.787.965.8Ⅲ96.274.686.347.640.347.045.156.188.052.8SkyPersonRiderCarTruckBusTrainMotorcycleBicyclemeanⅠ91.362.542.286.948.862.737.425.448.658.7Ⅱ90.073.842.687.528.843.442.334.052.659.8Ⅲ90.462.146.988.553.861.745.431.356.361.6
图2 与ENet的细节对比
Fig.2 Detailed comparison with ENet
表4 不同网络在Camvid测试集中的IOU (%)
Tab.4 The IOU (%) of different networks in Camvid test set
SkyBuildingPoleRoadPavementTreeSymbolFenceCarPedestrainBicyclistmeanⅠ90.466.419.491.671.959.618.820.667.826.832.151.4Ⅱ92.168.925.491.772.359.915.220.172.339.431.253.5Ⅲ91.073.625.091.273.569.223.719.069.735.630.054.6
为了更全面地展示出所提出网络在街景语义分割中的表现,我们在图3中列出了部分图片的预测图,其中图(a)是输入图像,图(b)是真实标记图,图(c)是ENet的分割图,图(d)是我们方法的分割表现,将图(c)和图(d)分别与图(b)比较,可以发现图(d)的整体表现更好。
CamVid数据集包含367个训练图像和233个测试图像,具有11类语义标注。训练所采用图片分辨率为480×360,batch-size为10,总共进行300轮训练。评估结果在表4中列出,Ⅰ是ENet,Ⅱ是SQ,Ⅲ文中所提出方法。
表4中,我们与ENet及SQ对比了各类的IOU,其中在天空、建筑物、灯柱、人行道、树木、标志、汽车以及行人等八个目标类别的表现要优于ENet,平均交并比(mIOU)比ENet提高了3.2%,比SQ提高了1.1%。我们将ENet与我们方法在CamVid数据集中的部分预测图以对比的形式列举在图4中。(a)是输入图像,(b)是真实标记图,(c)是ENet的分割图,(d)是我们方法的分割。可以看出我们的方法整体上的表现要优于ENet。
在PC端完成模型的训练、测试后,将模型移植到嵌入终端进行测试,我们先将模型的参数与先前的方法进行对比,如表5所示。
表5 网络参数
Tab.5 Network parameter
NetworksModel sizeParametersSQ14.2 MB7.46 MBENet2.2 MB2.3 MBOurs2.2 MB4.1 MB
图3 Cityscapes 数据集预测结果
Fig.3 The prediction of Cityscapes dataset
图4 CamVid数据集预测结果
Fig.4 The prediction of CamVid dataset
通过表5,我们可以看出,所提方法的模型大小与ENet模型大小保持一致,参数量有所上升,较小的模型大小以及参数量可以保证所提方法在嵌入式终端上快速而稳定地运行。
为了让实验结果的对比更具有价值,我们分别将两个数据集上训练好的模型与ENet进行效率对比,如表6、表7所示。
表6 CamVid测试结果
Tab.6 Test results for CamVid
分辨率ENetmsfpsOursmsfpsTX2480×32047.021.146.521.5640×36069.014.669.114.5NX480×32038.525.939.025.6640×36057.217.457.117.5AGX480×32031.232.131.032.3640×36035.328.335.628.1Titan XP640×3607.4135.46.5153.81280×72021.346.821.247.21920×108046.321.646.321.5
使用CamVid数据集分别在嵌入式终端和GPU上验证我们所提出方法,当分辨率为480×320时,我们所提方法在NVIDIA Jetson Xavier NX上实现了25.9帧的处理速度,在NVIDIA Jetson Xavier AGX上实现了32.3帧的速度。
表7 Cityscapes 测试结果
Tab.7 Test results for Cityscapes
ResolutionENetmsfpsOursmsfpsTX2480×32048.120.748.220.7640×36070.014.369.614.4NX480×32040.624.640.424.7640×36061.516.261.316.3AGX480×32031.431.831.631.6640×36037.926.438.226.2Titan XP640×3607.5133.37.4135.11280×72021.646.321.746.11920×108046.621.546.821.4
我们的方法在Cityscapes上的测试数据如表7所示,通过对比表6、表7中的数据,可以看出,我们所提的方法在图片处理效率方面与ENet保持一致。
城市街道场景各类别呈长尾分布,所以文中所提方法在一定程度上会受到长尾分布的影响。具体表现在神经网络对头部类别具有更好的辨识能力,对尾部类别的辨识能力则会相对较差。其次,在我们所展示的预测结果中,所提方法在面对路灯、电线杆以及各种外形相似的不同类别时,存在分割精度明显下降的现象。网络在面临以上问题时会具有一定的局限性。
本文提出了一种可以用于嵌入式终端的语义分割方法。利用反向残差结构减少图像空间特征丢失,同时采用inplaceABN优化网络的内存需求。引入空间注意力,增加网络对相关空间特征的关注,减少无关特征对网络的影响。融合浅层特征与深层特征,丰富深层特征图的细节信息。所提方法在多种嵌入终端上分别以Cityscapes和CamVid作为数据集进行验证。实验表明该方法在处理效率上与ENet保持一致,并且具有比ENet更优秀的语义分割性能,所提方法在嵌入端的城市街景语义分割中具备良好的分割效率及分割精度。然而,该方法在面临外形相似的不同类别的分割任务时会有一定的局限性。同时,网络会受到数据集类别不平衡的影响。我们后续工作会围绕上述局限性而展开,在解决上述问题后并与之进行对比。
[1] LONG J, SHELHAMER E, DARRELL T. Fully convolutional networks for semantic segmentation[C]∥2015 IEEE Conference on Computer Vision and Pattern Recog-nition (CVPR).Boston,MA,USA.IEEE,2015:3431-3440.
[2] CHEN L C, PAPANDREOU G, KOKKINOS I, et al. DeepLab: semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected CRFs[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2018, 40(4): 834- 848.
[3] CHEN L C, ZHU Yukun, PAPANDREOU G, et al. Encoder-decoder with atrous separable convolution for semantic image segmentation[C]∥Computer Vision - ECCV 2018, 2018: 833- 851. DOI:10.1007/978-3-030-01234-2_49.
[4] 张学涛. 基于深度学习的道路图像语义分割算法研究[D]. 济南: 山东大学, 2019: 47-58.
ZHANG Xuetao. Research on semantic segmentation of road scene images based on deep learning[D]. Jinan: Shandong University, 2019: 47-58.(in Chinese)
[5] PASZKE A, CHAURASIA A, KIM S, et al. ENet: A deep neural network architecture for real-time semantic segmentation[EB/OL]. 2016.https:∥www.researchgate.net/publication/303840621_ENet_A_Deep_Neural_Network_Architecture_for_Real-Time_Semantic_Segmentation.
[6] TREML M, ARJONA-MEDINA J, UNTERTHINER T, et al. Speeding up semantic segmentation for autonomous driving[EB/OL]. 2016.https:∥www.researchgate.net/publication/309935608_Speeding_up_Semantic_Segmentation_for_Autonomous_Driving.
[7] 王嫣然, 陈清亮, 吴俊君. 面向复杂环境的图像语义分割方法综述[J]. 计算机科学, 2019, 46(9): 36- 46.
WANG Yanran, CHEN Qingliang, WU Junjun. Research on image semantic segmentation for complex environments[J]. Computer Science, 2019, 46(9): 36- 46.(in Chinese)
[8] HOWARD A G, ZHU Menglong, CHEN Bo, et al. MobileNets: efficient convolutional neural networks for mobile vision applications[EB/OL]. 2017.https:∥www.researchgate.net/publication/316184205_MobileNets_Efficient_Convolutional_Neural_Networks_for_Mobile_Vision_Applications.
[9] HU Jie, SHEN Li, SUN Gang. Squeeze-and-excitation networks[C]∥2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition.Salt Lake City,UT,USA.IEEE, 2018: 7132-7141.
[10] ZHAO Hengshuang, QI Xiaojuan, SHEN Xiaoyong, et al. ICNet for real-time semantic segmentation on high-resolution images[M]∥Computer Vision-ECCV 2018. Cham: Springer International Publishing, 2018: 418- 434.
[11] YU Changqian, WANG Jingbo, PENG Chao, et al. BiSeNet: bilateral segmentation network for real-time semantic segmentation[M]∥Computer Vision-ECCV 2018. Cham:Springer International Publishing,2018:334-349.
[12] YU Changqian, GAO Changxin, WANG Jingbo, et al. BiSeNet V2: Bilateral network with guided aggregation for real-time semantic segmentation[EB/OL]. 2020.https:∥www.researchgate.net/publication/340474958_BiSeNet_V2_Bilateral_Network_with_Guided_Aggregation_for_Real-time_Semantic_Segmentation.
[13] LI Hanchao, XIONG Pengfei, FAN Haoqiang, et al. DFANet: deep feature aggregation for real-time semantic segmentation[C]∥2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). Long Beach, CA, USA. IEEE, 2019: 9514-9523.
[14] BUL S R, PORZI L, KONTSCHIEDER P. In-place activated BatchNorm for memory-optimized training of DNNs[C]∥2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition.Salt Lake City,UT,USA. IEEE, 2018: 5639-5647.
[15] CORDTS M, OMRAN M, RAMOS S, et al. The cityscapes dataset for semantic urban scene understanding[C]∥2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Las Vegas, NV, USA. IEEE, 2016: 3213-3223.
[16] BROSTOW G J, SHOTTON J, FAUQUEUR J, et al. Segmentation and recognition using structure from motion point clouds[C]∥Computer Vision - ECCV 2008, 2008: 44-57. DOI:10.1007/978-3-540- 88682-2_5.
[17] KINGMA D P, BA J. Adam: A method for stochastic optimization[EB/OL]. 2014.https:∥www.researchgate.net/publication/269935079_Adam_A_Method_for_Stochastic_Optimization.
Reference format: ZENG Junying, ZHU Jingming, ZENG Junbo, et al. Improved ENet urban-scene semantic segmentation for embedded terminal[J]. Journal of Signal Processing, 2021, 37(11): 2148-2155. DOI: 10.16798/j.issn.1003- 0530.2021.11.015.
曾军英 男,1977年生,江西赣州人。五邑大学副教授,博士,硕士生导师,主要研究方向为图像处理、生物特征识别。
E-mail: zengjunying@126.com
朱京明 男,1995年生,山东泰安人。五邑大学硕士研究生,主要研究方向为计算机视觉、语义分割。
E-mail: zhujingming0225@163.com
曾俊博 男,1999年生,广东汕头人。五邑大学硕士研究生,主要研究方向为语义分割、生物特征识别。
E-mail: 1473306007@qq.com
秦传波 男,1982年生,安徽宿州人。五邑大学讲师,博士,硕士生导师,主要研究方向为医学影像处理、生物特征识别。
E-mail: tenround@163.com
王迎波 男,1997年生,河南新乡人。 五邑大学智能制造学部硕士研究生,研究方向为计算机视觉、语义分割。
E-mail: 1214216529@qq.com
翟懿奎 男,1982年生,广东河源人。五邑大学副教授、博士、研究生导师,主要研究方向为生物特征识别及SAR图像识别。
E-mail: yikuizhai@163.com
甘俊英 女,1964年生, 江西樟树人。五邑大学教授、博士、研究生导师,主要研究方向为生物特征识别。
E-mail: junyinggan@163.com