基于卷积神经网络的低参数量实时图像分割算法 下载: 1195次
1 引言
随着卷积神经网络(CNN)的不断发展,出现了诸多高精度的网络模型。Simonyan等[1]提出的VGGnet是在Alexnet[2]8层卷积层的基础上提升到了19层;He等[3]提出的Resident Network(ResNet),解决了模型层数加深导致梯度消失的技术难题,其均为CNN的阶段性成果。CNN被广泛地运用在图像处理领域,如图像识别[4]、目标检测[5]和图像分割[6-7]。其中,图像语义分割解决的是语义和位置问题,分别用于预测类别信息和确定位置信息。Shelhamer等[8]根据全卷积神经网络(FCN)提出了一种端到端的技术从而实现语义图像分割,首次尝试将全卷积神经网络运用到图像语义分割中。FCN能将生成与输入图像成比例的分数映射,其中每个像素代表一个分类目标。Badrinarayanan等[9]提出了逐像素语义分割Segnet网络,Gamal 等[10]与宋青松等[11]沿用FCN的思路对图像进行分割。但上述模型的编译码器过于复杂,参数量多,存在较大冗余,难以被高效地部署。
近年来,对于深度学习的研究呈现良好的发展趋势,随着数据的增加,其能覆盖到的场景也越来越丰富,而学者们也在不断探索使用更精简的网络去消化庞大的数据,同时能够保障网络较高的精准度以便于实际部署[12]。尽管图像分割在诸多应用场景中都具有明显的优势,但目前对实时语义分割网络的研究仍较少。实现图像分割网络实际部署的基本要求包括:1) 速度。网络能实现实时或更高的推算速度,以分担硬件控制回路的延时压力。2) 准确度。准确度是判断网络优劣的核心要求,在理想情况下应该实现100%的预测准确度。3)模型规模。较小的网络模型规模能带来更高效的分布式训练,降低部署时的系统内存占用量。
综上所述,本文提出了一种基于低参数量的实时图像分割网络Atrous-squeezeseg,该网络不仅能满足分割精度的要求,而且还能降低模型参数量,且能部署在嵌入式设备NVIDIA TX2中,其帧率可达8.3 frame/s。还设计了一种参数量低、融合多尺度特征的网络模块Atrous-Fire,并在分割网络中使用该模块搭建了编码器,配合跳跃结构向译码器传递高分辨率特征图。本文模型与文献[ 8]中的分割模型相比,参数量下降了68.1%,帧率提高了53.0%,分割图像像素准确率与均交并比(MIU)分别可达59.5%与62.9%。
2 模型优化
Shi等[13]提出的N-cut算法是基于图论的分割标准来衡量图像分割质量,将图像分割问题转化为求特征向量的问题。CNN的运用使得基于深度学习的图像语义分割算法的表现效果得到了大幅度提升。如文献[ 8]中运用全卷积层对图像中每一个像素点进行分类,最终有效地对图像进行了分割,但模型参数量大、计算成本高、运算速度过慢、实际部署时开销过大等问题一直阻碍着网络模型的实时处理和有效部署。
为将模型轻松部署在嵌入式中,应设计一种稳定性能更强的网络模块来降低模型冗余、提高推算速度。本文模块通过多尺度卷积方式、网络增强优化搭建了一种基于CNN的低参数量实时图像分割算法。
2.1 低参数模型
深度学习模型在保证准确度的前提下实现在嵌入式设备中部署,已然成为当前热门的研究方向。而SqueezeNet[12]能够在保证精准度达到Alexnet的基础上将模型规模压缩为1/50。该网络采用模块化的设计,既保证了模型的精度,又压缩了模型的参数量,为模型部署在嵌入式设备中提供了可行性的研究思路。模块化同样也是CNN宏观架构中新兴的研究领域,有效的模块化设计能提升网络的结构性和稳定性。但SqueezeNet中的模块设计未全方位考虑模块的稳定性,导致网络易出现过拟合、网络准确度难以提升等问题。
因此,为了使模型具有低参数量,且能更好地运用在图像分割模型中,本文改进了SqueezeNet中的Fire模块,为所提图像分割模型设计了Atrous-Fire模块。使用1×1卷积核对图像进行特征提取,通过添加批量标准化层(BN)[14-15]来抑制网络过拟合,并采用感受野尺度可控的卷积方式,优化图像分割效果。
2.2 多尺度卷积与网络优化
在卷积神经网络中卷积层主要负责提取图像特征,池化层通过下采样简化网络计算的复杂度。随着网络层的加深,单位像素包含原始输入图像的信息比重加大,网络的感受野也将加大,但降低特征图的分辨率将会造成部分原始图像信息流失。故传统的卷积神经网络为了提高卷积的感受视野,采用较大的卷积核,导致模型参数量增加,易造成模型冗余,不利于部署。
本文为了在不增加模型参数量的基础上提高网络的感受视野,在网络模块中使用多尺度的空洞卷积[16]来改善上述问题。空洞卷积能改变卷积核的感受野,且能在不增加卷积核参数量的同时扩大卷积网络的感受野。
式中:
深度学习的主要研究热点是如何优化深度学习模型,提升模型性能,其中网络模型在模型训练中拟合了训练数据中的噪声和没有代表性的特征,使得验证和测试样本精度是否降低成为棘手的问题。为了抑制网络的过拟合,在网络中加入了批量标准化层。批量标准化层在训练过程中可使在同一个数据批次中的所有样本都被关联在一起,网络不会从单一训练样本中生成确定性结果。同时,样本在超平面上被变换重构,每次重构方向的大小均有不同,增强了样本的多样性。
图 1. 卷积核。(a)经典卷积核;(b)空洞卷积核Rrate=2;(c)空洞卷积核Rrate=3
Fig. 1. Convolution kernel. (a) Classical convolution kernel; (b) dilated convolution kernel Rrate=2; (c) dilated convolution kernel Rrate=3
3 Atrous-squeezeseg网络模块设计
3.1 Atrous-Fire模块结构
文献[ 12]设计的SqueezeNet网络中使用了Fire模块结构。该结构主要使用了3种策略来保证低参数量并维持模型的准确度:1) 在Squeeze层中使用1×1卷积核替换3×3卷积核,因为3×3卷积核的参数是1×1卷积核的9倍;2) 减少Expand层中3×3卷积核的输入通道数,模块输出通道由3×3卷积核通道与1×1卷积核通道叠加融合;3) 网络后期进行下采样,使卷积层有较大的特征图。
由于SqueezeNet网络设置的卷积核较小,因此卷积层感受野较小,对图像的全局和细节特征的敏感度不够,无法进行多尺度特征的提取,且模块的稳定性较差。在模型训练实验中发现,即使在该网络训练的中后期加入了Dropout机制来抑制网络过拟合,但还是易发生过拟合现象,最终导致网络的准确度无法进一步提高。
针对Fire模块存在的缺点,设计了稳定性更佳的Atrous-Fire模块,如
Atrous-Fire模块保持了模型的低参数量、扩大了模型卷积核的感受视野,同时批量标准化层能优化网络训练过程。实验证明,相比于Fire模块,使用本文模块的网络能加快模型的收敛速度,且能有效地抑制网络过拟合,提高网络精度。
3.2 空洞卷积感受野
尽管空洞卷积能扩大卷积感受野、降低网络参数量,但使用不合理的空洞卷积组将会导致模型输出分割图出现栅格现象,影响模型精度。为防止出现栅格现象,本文空洞卷积组采用
图 3. 空洞卷积核与初始特征图。(a)锯齿结构卷积核;(b)无栅格特征图;(c)栅格特征图
Fig. 3. Dilated convolution kernel and initial characteristic graphs. (a) Sawtooth structure convolution kernel; (b) no grid feature graph; (c) grid feature graph
4 Atrous-squeezeseg网络架构
用于图像语义分割的模型网络架构Arous-squeezeseg主要包括3部分:1) 编码器架构(EA)提取图像内部特征;2) 跳跃结构(SS)连接低级特征和高级特征的网络特征图从而提高模型的分割精度;3) 译码器架构(DA)对低分辨率特征图进行反卷积上采样运算并分类图像中每个像素点。
1) EA。本文编码器架构主要由Atrous-Fire模块构建,如
表 1. 编码器参数
Table 1. Encoder parameters
|
2) SS。网络中设计了Atrous-Fires-S跳跃结构,通过连接网络中的低级特征和高级特征,提高网络对低级的细节特征的灵敏性,以此提高分割精度。在跳跃结构中从Atrous-Fire1、Atrous-Fire2和Atrous-Fire4结构中各取出一层作为跳跃结构的输入层。使用Atrous-Fire模块作为跳跃连接层,并令Expand层输出通道数和模块输入通道数相同,叠加到deconv3、deconv2和deconv3反卷积特征图中,如
3) DA。图像分割网络的译码器的主要工作是对低分辨率特征图进行反卷积,通过上采样恢复分辨率获得语义分割图,如
为了提高分割类别的准确度,优化网络训练,本文模型对deconv3
式中:
5 实验结果与分析
本文实验模型的训练、验证和测试均由TensorFlow[18]框架搭建,并使用cuDNN[19]内核计算。硬件设备主要包括高性能的工作站主机和嵌入式设备NVIDIA TX2。其中工作站配置为Inter© CoreTM i7-6800K CPU @3.40 GHz, GTX 1080Ti 显卡,负责模型的训练、验证与测试。NVIDIA TX2为嵌入式级的硬件配置,主要负责部署和测试模型,其中图形处理器(GPU)采用基于Nvidia Pascal架构的GPU核,CPU为双64位Nvidia Denver2,四核ARM A57。
5.1 数据集与预处理
所提模型主要在ADE20K数据集[20]中训练、验证和测试,该数据集中包含多种分割场景,共40千张,其中包括室内、道路、建筑、车辆和行人等,共150类语义类别。数据集包含两类图像,一类为场景的彩色图像,另一类为对场景进行标注后的标签图。为了使模型能够得到充分学习,提高模型的稳健性,抑制过拟合,本文对训练数据样本进行了数据增强处理,包括翻转图像、改变亮度、添加噪声等。
5.2 评价指标
为了保证实验数据的严谨性,采用文献[ 21]中严格的评价指标对模型进行评估。本文评价指标主要包括像素准确率(PA)、MIU、模型规模大小,以及计算速度。具体计算公式为
式中:
5.3 对比实验结果与分析
为了验证本文模型的优越性,分别与不同的分割网络模型进行对比,实验数据输入大小和维度与
为了分析所提Atrous-Fire模块的优越性,单独设计了两组对比实验:1) Atrous-squeezeseg(without dilated)模型舍去Expand层中空洞卷积,但保留批量标准化层;2) Atrous-squeezeseg (without BN)模型在Expand层中保留空洞卷积,但不再对Squeeze(S1)层和Expand(E1/E3)层进行批量标准化处理。由该组对比实验可知,多尺度空洞卷积和批量标准化处理两种优化算法既可提升分割网络性能,又能保持模型的低参数量。因此,使用本文模块搭建的模型不仅能提升网络性能、优化分割效果,还能维持网络的低参数量。
表 2. 不同语义分割模型的参数量与MIU
Table 2. Number of parameters of different semantic segmentation models and MIU
|
所提模型不仅能在
表 3. PA与不同设备中模型的FPS值
Table 3. PA and FPS of model in different devices
|
图 7. ADE20K效果对比图。(a)原图像;(b)分割标注图;(c)所提算法;(d) Squeezeseg+FCN; (e) VGG16+FCN;(f) SqueezeNet+FCN;(g)无空洞;(h)无批量标准化处理
Fig. 7. Effect comparison of ADE20K. (a) Original images; (b) ground truth; (c) proposed algorithm; (d) Squeezeseg+FCN; (e) VGG16+FCN; (f) SqueezeNet+FCN; (g) without dilated; (h) without BN
为了验证本文模型在其他数据集合场景的泛化性,在PASCAL VOC数据集中进行了验证,该数据集包含20种分类目标和1个背景类。在PASCAL VOC数据集中,本文模型与文献[
8]模型的
图 8. PASCAL VOC效果对比图。(a)原图像;(b)分割标注图;(c)所提算法;(d) Squeezeseg+FCN; (e) VGG16+FCN;(f) SqueezeNet+FCN;(g)无空洞;(h)无批量标准化处理
Fig. 8. Effect comparison of PASCAL VOC. (a) Original images; (b) ground truth; (c) proposed algorithm; (d) Squeezeseg+FCN; (e) VGG16+FCN; (f) SqueezeNet+FCN; (g) without dilated; (h) without BN
6 结论
提出了基于卷积神经网络的低参数实时图像语义分割模型Atrous-squeezeseg。该模型以Atrous-Fire模块为核心,在模块中使用多尺度的空洞卷积方式,并添加了批量标准化层来优化网络。实验结果证明,本文模型不仅能在保障模型精度的前提下,降低模型的参数量,提高模型的输出帧率,而且还能在低参数量时达到较好的分割效果,分割后的图像准确度高,边缘清晰平滑,噪声点少,速度快,易部署在嵌入式设备NVIDIA TX2中。但该模型也存在着一些不足,如模型训练时损失曲线收敛速度较慢,在学习率较大时曲线振荡明显等。后续的研究工作将主要针对这些不足,继续优化模型网络,从而进一步提高模型对语义分割的精准度。
[1] SimonyanK, ZissermanA. Very deep convolutional networks for large-scale image recognition[C]∥IEEE Conference on Computer Vision and Pattern Recognition, 2014.
[2] KrizhevskyA, SutskeverI, Hinton GE. ImageNet classification with deep convolutional neural networks[C]∥Proceedings of the 25 th International Conference on Neural , 2012, 1: 1097- 1105.
[3] He KM, Zhang XY, Ren SQ, et al. Deep residual learning for image recognition[C]∥Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition, 2016: 770- 778.
[4] 张晓男, 钟兴, 朱瑞飞, 等. 基于集成卷积神经网络的遥感影像场景分类[J]. 光学学报, 2018, 38(11): 1128001.
[5] 叶国林, 孙韶媛, 高凯珺, 等. 基于加速区域卷积神经网络的夜间行人检测研究[J]. 激光与光电子学进展, 2017, 54(8): 081003.
[6] 吴晨玥, 易本顺, 章云港, 等. 基于改进卷积神经网络的视网膜血管图像分割[J]. 光学学报, 2018, 38(11): 1111004.
[7] 郭呈呈, 于凤芹, 陈莹. 基于卷积神经网络特征和改进超像素匹配的图像语义分割[J]. 激光与光电子学进展, 2018, 55(8): 081005.
[10] GamalM, SiamM, Abdel-RazekM. ShuffleSeg: real-time semantic segmentation network[C]∥IEEE Conference on Computer Vision and Pattern Recognition, 2018.
[11] 宋青松, 张超, 陈禹, 等. 组合全卷积神经网络和条件随机场的道路分割[J]. 清华大学学报(自然科学版), 2018, 58(8): 725-731.
[12] Iandola FN, HanS, Moskewicz MW, et al. SqueezeNet: Alexnet-level accuracy with 50× fewer parameters and <0.5 MB model size[C]∥IEEE Conference on Computer Vision and Pattern Recognition, 2016.
[14] 朱威, 屈景怡, 吴仁彪. 结合批归一化的直通卷积神经网络图像分类算法[J]. 计算机辅助设计与图形学学报, 2017, 29(9): 1650-1657.
[15] IoffeS, SzegedyC. Batch normalization: accelerating deep network training by reducing internal covariate shift[C]∥Proceedings of the 32nd International Conference on Machine Learning, 2015, 37: 448- 456.
[16] YuF, KoltunV. Multi-scale context aggregation by dilated convolutions[C]∥IEEE Conference on Computer Vision and Pattern Recognition, 2015.
[17] RonnebergerO, FischerP, BroxT. U-net: convolutional networks for biomedical image segmentation[C]∥IEEE Conference on Medical Image Computing and Computer-Assited Intervention, 2015: 234- 241.
[18] AbadiM, AgarwalA, BarhamP, et al. Tensorflow: large-scale machine learning on heterogeneous distributed systems[J]. arXiv preprint arXiv: 1603. 04467, 2016.
[19] ChetlurS, WoolleyC, VandermerschP, et al. cuDNN: efficient primitives for deep learning[J]. arXiv: 1410. 0759, 2014.
Article Outline
谭光鸿, 侯进, 韩雁鹏, 罗朔. 基于卷积神经网络的低参数量实时图像分割算法[J]. 激光与光电子学进展, 2019, 56(9): 091003. Guanghong Tan, Jin Hou, Yanpeng Han, Shuo Luo. Low-Parameter Real-Time Image Segmentation Algorithm Based on Convolutional Neural Network[J]. Laser & Optoelectronics Progress, 2019, 56(9): 091003.