结合上下文注意力的卷积自校正图像语义分割
2022-03-01陈孝如曾碧卿
陈孝如,曾碧卿
(1.广州软件学院 软件工程系,广东 广州 510990;2.华南师范大学 软件学院,广东 佛山 528225)
0 引 言
语义分割作为计算机视觉研究中的核心技术,其优势在于可以通过使用图像高级语义特征来对图像进行像素级的预测和分类[1,2],目前,已经被广泛应用于医疗卫生、仓储管理、交通安全等诸多领域,具有重要的研究价值和意义。
在图像语义分割时,通常会面临目标、类别以及背景这3方面的困难和挑战[3]。对于目标而言,即使是同一个目标,如果光照、视角和距离不同或是在静止和运动的状态下,所拍摄的图像也是不同的,甚至还会出现邻近目标之间互相遮挡的情况[4]。在类别上,同一类的目标之间仍有相异性,不同种类的目标间也会存在着相似性。对于背景来说,由于现实场景中的背景都是相对比较复杂的,给图像的语义分割带来了较大的困难[5]。对于灰度分割、条件随机场等传统的语义分割来说,通常都是使用图像的底层特征来划分图像的区域,其分割的精度有待进一步提高[6]。目前,随着卷积神经网络算法的发展及在语义分割中的应用,大量基于深度学习的语义分割模型被提出,能够解决传统语义分割中特征选择困难的问题[7]。
另外,在面对一些比较复杂的场景,如小目标、条状部位、模糊边缘轮廓以及不同目标相似部分的分割时,均有较大的难度[8]。为此,提出了一种结合上下文注意力的卷积自校正图像语义分割模型。其创新点在于:
(1)由于图像中的小目标对象不易被挖掘,所提方法通过注意力编码机制挖掘图像的局部区域内细粒度特征,并且采用上下文循环神经网络编码机制充分挖掘图像特征。
(2)为了提高所提方法的分割精度,所提方法构建辅助分割模型,并且采用卷积自校模型,动态调整分割模型,以能够满足复杂图像语义分割的应用需求。
1 相关研究
语义分割主要是先通过对图像进行分割,且所分割的像素区域都具有一定的特征语义,然后对所有的像素区域进行识别,并最终得到带有像素语义标注的图像。其主要的分割方法包括一般非深度学习方法和基于深度学习的方法两大类语义分割方法[9]。
传统的图像分割算法对图像进行区域分割依据的是图像的颜色、纹理信息和空间结构等特征,且同一个区域的语义信息是一致的,不同区域之间的属性也各不相同。分割的方法有很多主要有简单的阈值分割、区域生长、边缘特征检测和图划分等[10]。文献[11]提出了采用结构森林法生成边缘概率,运用分水岭算法将边缘概率转化成初始割块。为避免过分割,利用超度量轮廓图算法选取适当阈值生成分割块以获取更准确的轮廓信息,通过随机森林训练分割块,得到语义分割结果。文献[12]提出了一种可以根据其边界极性针对目标对象组进行定制的可扩展定向图像森林变换(oriented image foresting transform,OIFT)的分层图划分方法,该方法具有较少数量的图像分区,能够准确地进行用已知极性隔离所需的目标区域。并利用图像区域的局部对比度,使其相对于照明变化和不均匀性效果具有鲁棒性。因为不需要进行数据训练,所以计算相对比较简单。然而,若是困难较大的分割任务。还需进一步的提高分割的性能。文献[13]提出了一种联合全局图像特征与完全卷积网络的图像分割方法,该方法利用通过嵌入完全卷积网络部分的统一深度学习模型的参数学习过程进行编码,以集成整体图像内容使分割更加合理精确。这类方法得到底层特征的方式基本都是通过使用人工设计特征,其分割效率并不能很好满足实际的要求。
基于深度学习的语义分割方法自动学习数据特征,而非使用人工设定的数据特征,这是与传统图像分割方法的不同之处。通过采用深度神经网络便能完成从端到端的语义分割预测[14]。深度学习的过程中最重要的3个过程包括特征提取、语义分割以及后期处理。之后便产生了很多例如基于全卷积网络FCN、VGG16、Res Net或在其基础上进行改进的深度网络语义分割等模型。文献[15]提出了一种基于Res Net网络的方法,通过对并联支路进行定义,将浅层特征图像信息与深层特征图像进行融合,并使用并行的拥有不同采样率的空洞卷积来提取特征并进行融合,以实现对不同层的特征以及上下文信息进行有效提取,同时为了提高参数调优的稳定性,将批规范化计算引入到新模块中。该卷积网络的缺陷是由于其空间分辨率低而对图像细节不敏感,分割的边缘也相对比较粗糙;文献[16]提出了一种基于改进的深度卷积神经网络的具有大小约束的弱监督学习算法,对图像进行分割,与现有的完全监督方法相比,图像分割过程仅使用图像级标签和边界框标签来进行指导,更易于实现。其不足之处在于得到的目标信息并不充分,上下文信息会发生丢失的情况,以致不能对边界进行精准定位;文献[17]提出了一种新颖的Dense-Gram网络,以比传统策略更有效地减少间隙并分割退化图像。实验结果表明,提出的Dense-Gram网络在使用PASCAL VOC 2012、SUNRGBD、CamVid和CityScapes数据集合成的降级图像上产生了最新的语义分割性能。目前还没有能使当前网络对不同类别间差异进行刻意学习的机制或是结构,这也导致高层的语义特征有时会对目标与自身背景的信息进行共享,对目标的分割不精准。在文献[18]中,一种基于深度残差网络的多尺度语义分割模型被提了出来,其主要是增强小样本遥感影像数据集中不同尺度分割对象的遥感影像分割精度。虽然实现了端到端的语义分割模型结构构建,但由于重点关注特征理解和目标类别的预测,造成在目标与背景或不同目标的边界定位不准的问题。
2 提出的图像语义分割方法
结合上下文注意力的卷积自校正图像语义分割包括3个核心模块,即上下文注意力模型、辅助分割模型与卷积自校正模型,其整体架构如图1所示。
图1 所提方法的整体架构
所提方法通过初级分割模型获得图像局部特征,其中注意力机制能够捕捉多尺度局部区域之间的上下文特征,充分挖掘图像特征。而辅助分割模型通过给定图像和边界框生成每像素的标签分布。将辅助分割模型与初级分割模型的输出作为卷积自校正模型的输入,利用卷积网络实现分割模型的动态调整。
辅助分割模型输出给定图像和边界框的分割。该模型对弱集进行初始分割,有助于训练初始模型。自校正模块对辅助模型和当前弱集的主模型产生的分段进行细化。使用交叉熵损失训练主模型,该交叉熵损失将其输出与完全监督的正确标注分割标签或弱集的自校正模块生成的软精化标签相匹配。
2.1 上下文注意力模型
在图像语义分割的实际应用中,其数据量庞大,通过建立一个k近邻图G=(V,E) 代表局部区域,以缩减计算费用[19]。其中V={1,2,…,N} 为点集,E⊆V×φi为相邻点对的相邻边,φi为点xi邻域点的集合。为防止点集受到旋转等变换的影响,将局部区域点的坐标xij变换为中心点xi的相对坐标,获得的边特征表示如下
Fyij=(xi,xij-xi),xi∈F∀xij∈Neighbors(xi),xi∈V,xij∈φi
(1)
为使图像的细粒度细节和多尺度上下文信息能得到更加充分的挖掘,因此,基于Point Net建立了上下文注意力卷积层,所采取的编码方式主要包括两种分别为:注意力编码以及上下文循环神经网络编码,其中注意力编码主要是对局部区域内细粒度特征进行学习,上下文循环神经网络编码学习的则是局部区域之间的多尺度上下文几何特征。图2展示的是上下文注意力卷积层网络结构。其中,多层感知机操作由MLP{*} 来表示,卷积核的数目则是由“*”来进行表示。
注意力编码机制一般先选取MLP且所选取的MLP的输出通道为F1,再通过采用选取的MLP将原始点特征以及边特征都向有着较高维度的特征空间中映射,以下为具体的表示
u′i=σΘ(κ(fF×1(xi)))h′i=σΘ(κ(fF×1(yi)))
(2)
其中,非线性激活函数参数化后记为σ, 卷积核中可以进行学习的参数集合表示为Θ;κ代表的是进行批归一化处理;f代表卷积操作,下标的F×1则是代表卷积核的大小。在该实验中,F1取值为16也就是特征通道的数量是16。利用MLP处理u′i和h′i, 分别生成xi的自注意力系数和邻域注意力系数,将两者融合,可获得中心点xi到邻域内k个相邻点的注意力系数cij为
cij=Selu(σΘ(κ(f1×1(u′i))))+σΘ(κ(f1×1(h′ij)))
(3)
图2 CAC层的网络结构
式中:非线性激活函数是Selu()。 采用Softmax 函数对注意力系数进行归一化处理,从而使模型的收敛效率得到提升
(4)
为了挖掘细粒度局部特征,将注意力系数aij与局部图特征h′ij相乘。这时的注意力系数充当特征选择器,在描述点xi中,该注意力系数可以对其中有着鉴别能力的邻域特征进行自适应的强化能力,对例如噪声等无意义的邻域特征进行有效的抑制,从而能对图像局部区域内的细粒度细节信息进行充分有效的挖掘。
(5)
式中:ζ为非线性激活函数;sk-1为第t-1个邻域特征向量,dt-1为sk-1的隐藏层状态。则采样点中第t个邻域特征向量是sk, 当利用RNN对sk进行编码时,相应的输出ot为
ot=ωadt
(6)
其中,可以进行学习的权重矩阵表示为ωa。 所有的特征序列在完成学习后会得到隐藏层状态,将该隐藏层状态记为dT。 将dT和ωa相乘便可获得采样点的多尺度上下文几何特征oT。
将注意力编码进行引入,这固然在一定程度上有助于提升网络在捕获局部区域中细粒度细节的能力;但并没有重视局部区域之间的上下文几何信息,而这对于图像语义分割来说是极其重要的[20]。上下文RNN编码机制的优势在于它能对图像的多尺度上下文高级特征进行充分的挖掘。这使得级别相对较低的细粒度局部特征和级别相对较高的多尺度上下文几何特征可以进行相互的补偿。通过选用Selu函数将采样点中所有不同层次的细粒度局部特征都融合到上下文几何特征中,在两种特征进行融合之后便能得到上下文细粒度几何特征的采样点大小为N×F2[21]。在进行特征融合之前,先在R×128的图像上用插值操作对N×128的图像进行采样。进行融合之后的特征F∑i计算为
F∑i=Selu(oT+li)
(7)
式中:li为细粒度局部特征。
2.2 上下文注意力的CNN网络
为能更深入的对图像的深层隐含语义特征信息进行充分的挖掘,于是将残差学习引入到所建的上下文注意力卷积神经网络(contextual attention convolutional neural network,CACNN)中,得到的网络结构图,如图3所示。其中空间变换网络是一个3×3的矩阵。
图3 CACNN 网络结构
首先,输入的N×F图像矩阵利用空间转换网络作规范化处理,以保证图像的变换不变性。然后,通过CAC层提取输入图像的上下文细粒度几何特征和图特征,其中,几何特征的维度是N×176。最后,融合几何特征和区域中心点的三维特征,以获得维度是N×179的图像矩阵,再将其作为堆砌MLP层的输入,完成再一次的特征提取[22]。除此之外,通过将残差连接进行引入来进一步对深层隐含语义特征进行挖掘。这既能有效防止梯度消失问题的发生,还可以对网络的深度进行进一步的加深,表1是各层卷积层的具体参数。最终获得的1×4096的全局特征描述符,是由最后一层卷积层输出的N×4096特征矩阵在经过最大池化层的特征聚合后得到的。
表1 卷积层的具体参数设置
(8)
通过将插值后的特征与相应的点特征进行相连,以对插值的过程进行引导。为能更好促进点级别的特征提取,还在网络中引进了大量的MLP层和Selu层。每个语义的类别由最终输出的N×S图像矩阵来表示。
2.3 辅助分割
带边界盒标注的分割模型的半监督训练的关键是推断出盒内物体的分割。解决这一问题的现有方法主要是依赖手工编制的GrabCut、迭代标签优化等机制,通常在从图像中提取分割和使用边界框信息进行标签细化之间迭代[23]。此类方法的主要问题在于:①边界框信息没有直接用于提取分割的掩码;②该方法由于是手工设计的,因此可能不是最优的;③当多个框重叠时,分割会变得模糊。
针对上述存在的问题,设计了一个辅助的分割模型,在给定图像和边界框注释的情况下形成每像素的标签分布。该模型利用全监督集易于训练的特点,作为图像的训练信号,在推理时,将图像及其边界盒都反馈到网络中,得到分割标签分布panc(y|x,c)。
基于编码器-解码器的分割网络通常依赖于从图像分类模型初始化的编码器,为了从大型图像分类数据集中转移特征以提高分割性能,使用一个并行包围盒编码器网络来扩充基于编码器-解码器的分割模型,该网络以不同的比例嵌入包围盒信息[24,25]。该辅助网络的架构如图4所示。
图4 辅助分割模型的架构
边界框编码器的输入是表示边界框的二值化掩码的3D张量和表示编码器输出的目标尺寸的3D形状。将输入掩模张量调整到目标形状,然后通过一个带有sigmoid激活函数的3×3卷积层。由此产生的张量可以被解释为注意图,该注意图按元素乘以由分割编码器生成的特征图[26]。图4示出了在两个不同尺度下的这种特征映射的两个路径,对于每个尺度,生成一个注意图,使用元素乘法将其与相应的特征图融合,并馈送给解码器。对于大小为W×H×3的图像,使用大小为W×H×(C+1)的二值掩码表示其对象边界框,该二值掩码对C+1二值掩码进行编码。如果像素处的cth二进制掩码位于cth类的一个边界框内,则其值为1;如果背景遮罩中的像素未被任何边界框覆盖,则其值为0。
2.4 卷积自校正
为了提高图像语义分割的精度,通过使用主模型训练将信息融合,其中主模型训练的最简单方法是训练其使用完全监督集Ψ上的正确标注标签和弱集Ω上辅助模型生成的标签进行预测[27]。由于主模型无法在训练早期准确预测分割掩码,因此使用正比例因子β对辅助模型panc(y|x,c) 和主模型p(y|x) 重新加权
(9)
式中:KL是Kullback Leibler散度。
上述校正模型称为线性自校正模型,因为其使用Kullback Leibler散度线性组合的解来推断潜在分割标签上的分布。并且在训练过程中优化了主模型的参数,β使自校正机制偏向于主模型。
但是线性自校正也存在一定不足,训练过程中需要超参数搜索调整β, 所提方法利用学习自校正机制的卷积网络来代替线性函数。因此,当训练主要模型时,网络会自动动态地调整机制,如果主模型准确地预测标签,则该网络可以将其预测移向主模型。
卷积自校正网络接受panc(y|x,c) 和p(y|x) 模型生成的对数,并在分段标签上生成因子分布qconv(y|x,c;λ), 其中λ为子网络的参数。卷积自校正子网由两个卷积层组成,都使用3×3内核和ReLu激活函数。
卷积自校正的关键在于训练子网,使其比panc(y|x,b) 或p(y|x) 更准确地预测分段标签。为此,在目标函数中引入了一个附加项,使用F中的训练示例训练子网,同时在整个数据集上训练主模型
(10)
式中:第一项和第二项为训练F和Ω上的主模型,而最后一项训练卷积自校正网络。
由于子网是随机初始化的,因此在训练过程中不能准确预测Ω上的分割标签。为了解决这一问题,需要对辅助模型和自校正网络进行初始化训练,并且利用全部数据的目标函数对前一个模型进行微调。
3 实验结果与分析
为了验证所提模型在处理图像语义分割任务上的性能,使用格萨尔千幅唐卡数据集、PASCAL VOC数据集和城市景观数据集进行对比实验分析。
3.1 网络参数设置
训练和测试实验中采用的操作系统为Linux Ubuntu 16.04,CPU为Intel i7 8700k,内存为64 GB,GPU为 Ge Force RTX 2080,网络GPU 加速库为Cudnn 7.13,深度学习的框架是Tensorflow-GPU,版本号为1.9.0。在训练中使用的是基于动量的SGD优化算法,并将动量、权重衰减、初始的学习率、学习的率衰减系数、衰减的速度以及全连接层中Dropout的参数保留率分别设为0.9、0.0005、0.001、0.5、300 000和0.5。使用Adam优化器,并使用Xavier 优化器对网络参数进行初始化操作。
3.2 评价指标
对所提方法在数据集上分割效果的评价,采用的是平均交并比(mean intersection over union,MIoU)和平均像素精度(mean pixel accuracy,MPA)。若MIoU和MAP的值越高,则表示图像语义分割的效果越好。
若一共存在g+1个类。其中,实际类别为i类但预测结果为j类的像素数量表示为Pij, 则MIoU和MPA的计算过程为
(11)
3.3 格萨尔千幅唐卡数据集
将所提模型与文献[12]、文献[16]中模型基于格萨尔千幅唐卡数据集的分割精度进行对比,结果见表2。
表2 不同模型分割精度的对比
由表2可知,与文献[12]、文献[16]模型相比,所提模型的平均分割精度分别高了4.1%、1.8%;平均交并比指标值分别高了8.2%、3.9%。此外,各模型的分割效果如图5所示。
图5 格萨尔千幅唐卡数据集上分割效果的对比
由图5可知,所提出的模型对于条状目标例如马尾、马腿以及树干等较为敏感,并且与文献[12]、文献[16]的模型相比,所提模型在小目标上的分割精度更胜一筹。
3.4 PASCAL VOC数据集
PASCALVOC数据集由1464个训练、1449个验证和1456个测试图像组成,包括20个前景对象类和一个背景类用于分割,提供了9118幅训练图像的辅助数据集。实验中将原始PASCAL VOC训练集和辅助集的并集称为训练集。
将所提模型与文献[12]、文献[16]中模型基于PASCAL VOC数据集的分割精度进行对比,结果见表3。
表3 不同模型分割精度的对比
由表3可知,在PASCALVOC数据集上,与文献[12]、文献[16]的模型相比,所提模型的平均分割精度和平均交并比指标值都更高。此外,各模型的分割效果对比如图6所示。
图6 PASCAL VOC数据集上分割效果的对比
从图6可以看出,所提模型在物体边缘细长类小目标上的分割效果明显优于文献[12]、文献[16]模型。由于文献[12]中的OIFT模型利用经典的卷积网络实现下采样,造成大量浅层边缘轮廓信息的丢失,并且使用转置卷积还原特征图的尺寸,得到的图像细节较为粗糙。文献[16]中的DCNN模型通过在较高层特征图上采用金字塔池化的方式,对全局和局部特征进行融合。这对于解决在传统池化操作中只能对固定窗口的特征信息进行捕获的问题具有一定的帮助。然而,采用连续多次的下采样的方式会带来一些负面影响,会使得大量的浅层信息被丢失,目标分割的边缘较为粗略。相比之下,所提模型在编码和特征融合两阶段能让物体边缘细长类小目标的有效浅层信息得到更多的保留,因此,其分割精度能得到更有效的提升。
3.5 城市景观数据集
城市景观数据集包含不同季节汽车行驶图像,此数据集具有高质量的注释,但是有些实例被过度/欠分割。其中包括2975个训练、500个验证和1525个测试图像,覆盖19个前景对象类(内容和对象),用于分割。但是,这些类别中有8个是平面或构造标签(例如,道路、人行道、建筑物等),此类类别的边界框很少覆盖整个场景。要创建类似于PASCAL VOC数据集的对象分割任务,仅使用11个类(标杆、交通信号灯、交通标志、人、骑手、汽车、卡车、公共汽车、火车、摩托车和自行车)作为前景类,所有其它类都被指定为背景类。由于标签的这种修改,服务器上的测试集会对所有类进行评估,所提模型仅在验证集上进行实验评估。
实验中使用不同大小F, 训练集中的剩余图像用作W, 即W+F=2975, 将所提模型与文献[12]、文献[16]、文献[17]中模型基于城市景观数据集的分割精度进行对比,结果见表4。其中文献[17]提出一种Dense-Gram网络,比传统方法能够更有效地减少间隙并分割退化图像。
表4 城市景观数据集中分割精度的对比
由表4可知,所提模型在城市景观数据集中的平均分割精度和平均交并比指标值均高于文献[12]、文献[16]、文献[17]模型。并且F的值越大,其模型的性能越好。由此可论证所提模型在图像语义分割中的有效性。
4 结束语
本文提出了一种结合上下文注意力的卷积自校正图像语义分割方法。主要通过在CAC层中引入注意力机制,从而对图像的局部细粒度特征进行挖掘。并采用RNN对不同尺度邻域的特征进行编码,以对多尺度上下文特征进行捕获,并将残差学习引入到CACNN网络中,进一步对点云的深层隐含语义特征进行挖掘。在此基础上,结合主模型和辅助模型的标签分布,设计了卷积自校正机制,以进一步提高图像语义分割的精度。本次实验是在格萨尔千幅唐卡数据集、PASCAL VOC数据集和城市景观数据集上进行,利用MIoU和MPA两个指标进行对比分析。实验结果表明,相比于其它模型,所提模型的MIoU和MPA均是最高的。其中在格萨尔千幅唐卡数据集中,所提模型的MPA分别提高了4.1%、1.8%,MIoU分别提高了8.2%、3.9%,其它数据集中均有相应的提升,且分割效果良好。
但是所提模型网络结构复杂,训练参数较多,因此,未来,本文将重点构建一个可部署到嵌入式设备中的轻量级实时图像分割网络。此外,针对其中引入注意力机制存在的计量过大、训练时间延长等问题,考虑削减网络参数来进行解决。