APP下载

基于组注意力卷积和特征重建的轻量分割算法

2022-02-15胡国清谭海亮戈明亮

计算机工程与设计 2022年1期
关键词:语义分组卷积

胡国清,谭海亮,戈明亮

(华南理工大学 机械与汽车工程学院,广东 广州 510641)

0 引 言

由于图像分割[1]任务不仅仅需要进行像素分类,还需要对图像进行重建恢复,因此算法需要同时获得低层次和高层次的语义特征。导致网络模型需要更多的通道记忆图像中的各层次特征,网络模型愈发趋于复杂庞大,实现高效提取对于分割有效的语义特征成为一个研究热点。

全卷积神经网络(fully convolutional network,FCN)的提出实现了端到端的语义分割,成为后续语义分割工作的范本[2]。为了解决FCN中存在的全局上下文信息缺失的问题,Chen等[3]提出了空洞卷积并构建了Deeplab系列算法,通过扩大感受野提高算法能够获取特征信息能力,将空洞卷积与空间金字塔结合的模块(atrousspatial pyramid pooling,ASPP),从而实现了获取不同空间维度的特征信息,对不同尺度的类别对象均具有良好的分割能力。Badrinarayanan等[4]提出的SegNet采用编码器-解码器的结构形式,由编码器实现对图像语义特征的提取,解码器完成图像复原及分类。以此延伸的U-net、PSPNet等通过跳跃连接和金字塔等方式将多空间尺度的特征进行融合[5],从而对底层细节特征和高层抽象特征都具有感知能力,对于图像边缘信息分割效果有了较大提高。

目前的语义分割研究大多着眼于对准确性的提升,而图像分割的准精度提升接近瓶颈,些微精度的提升代价相当高昂,为此本文关注于图像分割的精度和算法复杂性的平衡性,提出冗余特征重建和组注意力卷积模块来实现特征高效提取,并构建了一种精简的语义分割网络。

1 相关工作

近年来针对模型精简的研究受到越来越多的关注,相关工作主要分为模型压缩、模型设计及知识精馏等技术。

1.1 模型压缩技术

模型压缩的目标是对于一个预训练的神经网络模型,通过修剪或量化等手段优化模型来降低其计算量和模型参数量,Wang等[6]通过将神经网络中神经元的权重值较小的连接视为冗余连接,将其修剪来减少网络中参数。He等[7]发现在实际模型推理中将对模型中贡献较小的通道进行修剪更有利于网络加速。Jacob等[8]提出将神经网络中的权重使用离散值进行量化,以此减少网络的浮点计算。此后网络量化被进一步推进,使用一个比特位来表达网络权重[9],这极大提高了网络的计算效率。知识蒸馏技术使用一种训练良好的复杂网络来指导一个小型网络的学习[10]。通过对模型压缩的方法虽然能够极大降低网络模型的参数量,进而加速网络推理,但是由于需要进行网路预训练,并通过网络修剪进行微调,网络学习能力通常会受到预训练模型的性能的限制。

1.2 紧凑模型设计

近年来紧凑的网络模型设计受到越来越多的学者重视,早期Inception[11]结构通过将传统稠密网络转变为稀疏网络,增加了网络深度和宽度的同时减少了网络参数的数量,性能远超经典网络AlexNet和VGGNet,由此发展而来的Xception[12]通过深度可分卷积替换普通卷积来提升网络参数的利用效率。MobileNet[13]研究了深度可分卷积操作中两个超参数对效率提升的影响,并提出了一种线性网络结构。MobileNetsV2[14]提出反向残差块结构改善网络效率。Forrest等[15]通过1*1卷积替换3*3卷积核延迟下采样等策略构建了SqueezeNet,并验证了策略和网络效率提升的有效性。Tan等[16]系统性研究了卷积核大小对网络准确性和效率的影响,创新性提出的混合卷积MixConv模块。AlexNet中最早由于模型训练中显卡内存限制,提出了组卷积概念,由于组卷积分隔了各通道分组之间的信息流通,为此Zhang等[17]提出分组混合方法来加强组卷积中分组中的信息交互,并提出了ShuffleNet。由此可以看出通过紧凑网络模型设计能够大幅节省计算和内存开销。

2 本文方法

由于模型压缩技术在准确性的限制和训练繁琐,越来越多的研究着眼于设计紧凑型网络模型,本小节将会深入描述本文提出的冗余特征重建模块和组注意力卷积模块的工作原理,并构建一种轻量化卷积神经网络。

2.1 冗余特征重建模块RFR

深度卷积神经网络由于含有大量参数,能够拟合各种模型并提供一定冗余性防止过拟合问题,但是网络结构中各个层的冗余特征并不同等重要,低层次的特征通常包含大量干扰信息,因此耗费大量参数生成低层冗余特征的回报并不总是收到合理的回报,为此本文提出对低层级网络结构中的冗余特征进行重建生成。MobileNet及Xception等虽然已经通过简化网络来降低冗余特征提取但却降低了网络中间层的泛化能力,本文并不寻求将冗余特征丢弃,而是通过较小的计算代价生成冗余特征来维持网络泛化能力和计算量的平衡。

对于给定输入X∈Rc×h×w, 其中c是特征通道数,h和w为输入数据的高和宽,二维卷积操作可表示为

Y=X*f+b

(1)

其中,*表示卷积运算符,b为偏置项,输出数据Y∈Rh′×w′×n, 卷积运算f∈Rc×k×k×n, 由于卷积神经网络中存在过参数化问题,卷积层中参数可通过网络中一部分参数子集来进行估计[18],对于卷积操作可通过奇异值分解方式进行近似。

给定二维权重W∈Rm×k, 其矩阵SVD分解W=USVT,U∈Rm×m,S∈Rm×k,V∈Rk×k,S为对角矩阵,V、U为正交矩阵,可以通过保留矩阵S中前t维度的分量来达到数据降维的目的,从而有W′=U′S′V′T,U′∈Rm×t,S′∈Rt×t,V′∈Rk×t, 则有

(2)

其中,I为单位矩阵,误差估计由对角矩阵的衰减限制,因此存在一种分解方式使得分解的误差估计足够小,通过SVD估计原算法计算复杂度可由O(nmk) 降至O(nmt+nt2+ntk), 对于张量WS∈Rm×n×k可通过逐维度进行近似,通过寻求分解来最小化误差估计

(3)

其中,α∈Rm,β∈Rn,γ∈Rk, ⊗表示外积运算。

误差估计δ可以通过优化方法来实现对原算法的逼近并降低计算量[19],本文通过使用计算成本较小的线性计算生成冗余数据来逼近误差δ,实际实现中的分解参数由深度卷积神经网络训练学习。

对于卷积操作,其分解模式中前t维特征是对模型推理影响较大的特征,称为固有特征,而其余特征为影响较小的冗余特征,由于输出特征图中存在许多冗余特征,冗余特征之间相似度较高,因此可借助现存的固有特征生成。其原理如图1所示。

图1 RFR模块

图1中符号*表示卷积操作,©表示concat操作,Lk表示第k个线性运算符,固有特征通过普通卷积提取,通常来说使用的参数量更少,而冗余特征则通过线性操作生成,这便是冗余特征重建模块RFR。对于固有特征

Y′=X*f′

(4)

f′∈Rc×k×k×m为固有特征提取的滤波器,其中m≤n, 关系式中偏置项为简单起见已经省略,对于冗余特征则通过线性运算生成

Yij=Li,j(Y′i),j=1,2,…s, ∀i=1,2,…m

(5)

Yij为固有特征Y′中第i通道特征分量Y′i生成的第j个特征,线性运算符Li,j表示第i个固有特征生成其第j个冗余特征的运算符。线性操作可使用卷积操作完成,其卷积核大小为k′×k′, 固有特征卷积核大小为k×k, 则通过RFR对算法的效率提升有

(6)

k和k′具有相同数量级,依据Tan等[16]的研究建议,本文采用大小为3*3的卷积核。

2.2 组注意力卷积模块GAC

神经网络训练中由于数据量过大,机器的显存不足以一次性加载大批次数据,为此AlexNet提出了组卷积的概念,SqueezeNet通过组卷积将现有网络从4.8 M压缩至0.47 M,而网络性能表现并没有降低,表明了深度卷积是极度稀疏的,而标准卷积是稠密卷积操作,因此本文通过组卷积来压缩模型参数。由于组卷积将各个分组之间的数据分隔,分组间的信息流通受到限制,ShuffleNet通过分组混合的方法来融合各个分组的信息。注意到ShuffleNet中各个分组之间通过均匀混合的方式融合各通道特征,然而卷积操作的感受野仅仅在这个局部,各个分组之间简单的混合也无法恰当共享多个通道之间的上下文信息,为此本文将注意力机制引入组卷积中。

注意力机制可以视为将计算资源分配给包含信息更丰富的部分的方法[20],这种机制已经在许多序列化学习和图像理解任务中得到应用。本文提出的GAC模块通过注意力机制将各个通道分组中更为重要部分赋予更大权重再混合,增强组卷积对重要特征的学习能力,弱化噪声的影响。

为了改善组卷积中各通道分组的独立性,强调特征映射中特定语义特征,通过全局平均池化提取全局上下文信息,通过Fs q压缩全局特征信息为一个单独通道来衡量各个通道之间的特征模式,对于输入数据X第c通道数据Xc,Fs q压缩操作中输出特征T第c通道数据Tc有

(7)

其中,h、w分别为特征图的高和宽。

Fs q压缩各通道特征之后,再通过Fex操作获取全局权重信息,其中全连接层捕获各通道之间的依赖关系,依据MobileNet的建议,避免在此处采用ReLU造成信息丢失,而直接在其后通过softmax层提供非线性特征联系

(8)

其中,C为特征的通道数,W为全连接操作,W∈RC×C,zc为输出特征图Y第c通道的激活值。最后一个操作是对数据进行逐通道数乘

Yc=zcXc

(9)

其中,Yc为输出特征Y的第c通道数据。

GAC模块的原理如图2所示,图中Fg表示组卷积,Fs表示Shuffle操作,⊙表示逐通道数乘。

图2 GAC模块

模块通过全局平均池化来获取通道的特征信息,并借由全连接操作关联各通道,转换为通道的权重,从而对特定通道施加更多的关注,而不再是独立平等地处理各个通道的局部信息。该模块也可以通过更为复杂的策略实现自注意力机制,本文为了限制该机制对模型计算带来的负担,采取了相对简单可行的注意力方案。

2.3 构建语义分割网络

为了验证RFR和GAC模块的有效性,基于轻量级分割网络ESPNet[21]进行对比实验,并借鉴经典网络ESPNet的思想,结合所提出的RFR模块和GAC模块构建一种精简语义分割网络,其结构如图3所示,其中β和γ为网络模型超参数。

图3 本文语义分割网络结构

网络主要分为编码器和解码器两部分,其中编码器通过卷积和下采样等操作提取图像在各个空间尺度的语义特征,解码器通过卷积和上采样将图像逐步恢复至原始图像大小,并进行像素级分类,解码器和编码器之间通过跳跃连接融合底层特征和高层语义特征,对于分割任务具有重要意义。在编码器部分通过RFR模块可以快捷地以较小代价提取所需要的底层语义特征,在底层特征中存在大量的噪声,对分割任务的贡献不尽相同,RFR模块保留了更为重要的固有特征并生成廉价的冗余特征,有助于后续模块的学习泛化。在解码器阶段,U型网络通过将跳跃连接将底层特征和高层特征拼接,这造成了特征通道大幅增加,对网络训练和推理造成很大的计算负担,GAC模块通过组卷积手段既保留了跳跃连接带来的上下文信息,又减少了模型的计算量,同时借助混合操作和自注意力机制加强各个独立通道之间的联系,将计算资源较好地关注于更为重要的特征上。

网络中由GAC模块完成下采样操作,通过反卷积DConv实现上采样,而普通卷积Conv和RFR模块不改变特征图分辨率,其中ESP模块为ESPNet中所提模块,如图4所示,图中虚线框部分为本文实验替换模式。

图4 ESPNet中ESP模块

3 实 验

为验证本文提出模块和算法的有效性,本文在Cityscapes[22]数据集上进行实际训练和测试,该数据集是目前流行的城市场景语义理解数据集,包括5000张高质量被精确标注的城市场景图像,其中训练集、验证集和测试集分别包括29 755 001 525张图像,并分为19类场景。

3.1 网络训练

实验采用平均交并比(mean intersection over union,mIOU)作为评价指标,计算的是数据中所有类别的交集和并集的平均值,其值越大表示分割效果越好

(10)

其中,j为预测值,i为真实值,即pij表示将标签为i的样本预测为j。

本文使用语义分割任务中常用的损失函数是SoftmaxCrossEntroy

(11)

3.2 实验结果与分析

为了验证本文所提出模块的有效性,以轻量化语义分割网络ESPNet为baseline,①以RFR模块替换ESPNet中空洞卷积部分,实验分组记为ESPNet+RFR,②在ESP模块中替换1×1卷积,实验分组记为ESPNet+GAC,其实验数据对比见表1。ESPNet网络中ESP模块如图4所示,表2对比了现有方法的参数量和网络大小及相应的在Cityscapes上的分割准确性信息,其中FCN分割准确率较高,但相应的计算代价也最高,而ENet[23]则在网络规模上更为精简,ESPNet融合RFR模块之后分割准确率提高了1.3%,而融合GAC模块之后准确率提升了0.6%。Ours网络参数量相较于FCN降低了80倍,而分割效果与FCN基本持平。对比于轻量级网络ENet和ESPNet,本文方法同样以较低的计算代价,而分割效果较ENet提升了5.4%,较ESPNet提高了3.4%,而参数量维持在同一数量级水平,表明了所提出网络在计算代价和分割性能上取得了良好的平衡。图5给出了算法性能的对比。

表1 模块分割实验数据对比

表2 算法在Cityscapes上分割效果mIOU效果对比

图5 算法分割性能对比

图6所示是网络在Cityscapes上测试集部分样本的分割示例,其中图6(a)为输入样本图像,图6(b)为分割图像的Ground Truth,图6(c)为本文方法(其中网络结构超参数β=3,γ=9)可以看出图像中对象边缘较为清晰,仅有部分细小的对象边缘分割效果欠佳。

表3详细给出了算法在Cityscapes测试集上的各类别的分割平均交并比的对比情况。

我们将RFR模块的输入输出特征图进行了可视化处理,如图7所示,其中图7(a)为模型输入样本图像,图7(b)为网络模型第一级RFR模块的输出特征图,其中上半部分为RFR提取的固有特征,而下半部分为RFR通过线性算子生成的冗余特征,可见生成的冗余特征相比原先的固有特征具有足够的区分度,说明提取的固有特征能较好完成高层次的语义信息提取,而通过廉价的线性算子生成的冗余特征也足够丰富以帮助后续环节的推理。

图6 网络在cityscapes上的分割示例

表3 算法在Cityscapes数据集per-class分割性能表现

图7 RFR模块输入输出特征

为了分析注意力机制对组卷积的贡献,我们从数据集中各城市数据中选取了若干个样本并统计GAC模块中各通道激活值的分布情况,各城市样本的平均激活值和通道的分布关系如图8所示。从图中可以看出对于不同城市街景,GAC模块的各通道激活值分布基本一致,而不同通道的激活值则表现出较大差异,这表明对于网络而言,GAC模块中组卷积各个通道所学习的通道重要性并不平等,而不同城市场景激活值分布相近是由于浅层的GAC模块提取高层次语义信息不足,浅层图像色彩、纹理等特征相近,因此提取的浅层特征对不同场景是共享的。GAC通过注意力机制实现了对组卷积的各个通道特征的调整,提高了网络的学习效率。

图8 GAC模块各通道激活值分布

4 结束语

为了减少语义分割任务中神经网络的计算量和推理耗时,本文提出了冗余特征重建模块和组注意力卷积模块,以此通过较少的参数量来更高效提取重要特征。RFR模块通过将一个卷积操作分解为提取固有特征和生成冗余特征两个步骤,减少了参数量并保留冗余特征来帮助后续操作的泛化学习,GAC通过组卷积来减少普通卷积操作的参数量,并引入混合和注意力机制来改善组卷积的分组间的信息流动性问题。基于所提出的模块构建了一种语义分割网络,实验结果表明所提出模块对改善网络学习能力和减轻计算负担具有积极作用,所提出的网络在分割准确性和计算代价方面取得了良好的平衡。

猜你喜欢

语义分组卷积
真实场景水下语义分割方法及数据集
基于3D-Winograd的快速卷积算法设计及FPGA实现
语言与语义
卷积神经网络的分析与设计
从滤波器理解卷积
分组搭配
怎么分组
基于傅里叶域卷积表示的目标跟踪算法
分组
“吃+NP”的语义生成机制研究